迷走の果て・Tiny Objects

迷走する日々の覚え書きです。自分で分かってることは省略してますので、念のため。

ユーザーモジュールOneShotを使ったチャタリング除去の実験

先の実験で使ったOneShotでチャタリング除去を試してみました。
まずは小道具。
chat1.jpg
手持ちのオシロはストレージタイプじゃないのでチャタリングみたいな単発現象はうまく観測できません。
そこで74HC393を使ったカウンタにLEDをつないだものを用意しました。

HC393を使ったカウンタ

こんな回路です。

chat2.jpg

試したスイッチです、左側のマイクロスイッチはかなり以前に手に入れたものです(10年以上前かと・・・)
右のタクトスイッチは比較的最近です(のはずです^^;;)

まずは右のタクトスイッチで実験、カウンタに直接つないでオンオフするとカウンタは1~4程度カウントアップします。
左のマイクロスイッチでは数十もカウントアップしてしまいます。古くて接点が劣化しているからでしょうか。

次にユーザーモジュールOneShot8を設定したPSoCにスイッチをつなぎ、出力をカウンタにつないでみると、タクトスイッチでは1ずつカウントアップします、チャタリングはうまく除去できているようです。
マイクロスイッチでは減ったもののそれでも3~4程度カウントアップします、チャタリングは取り切れてません。試しにスイッチに並列に0.1μFのコンデンサを入れると1カウントずつアップするようになりました。

今回のOneShot8の設定はクロック0.25mSですのでデータシートのReluxTime(どう訳せばいいんでしょうか?)は2mSです。マイクロスイッチでチャタリングが取り切れていないのでもう少し長くする必要があるのかもしれません。

スポンサーサイト

不格好ですが・・・LCD延長ケーブル

秋月でLCD延長基板キットが発売されているを知りました。
600円かぁ、だったらというわけでユニバーサル基板の切れ端を利用して作ってみました。
延長1
ろくに考えず勢いだけで作ったので不格好です。
延長2
こんな感じです。

LTC1799とPSoCを使った広帯域パルスジェネレータの試作

LTC1799とPSoCを使ったオシレ
秋月で発売しているLTC1799モジュールPSoCを組あわせて約30MHz~0.01Hzまで可変出来るパルスジェネレータを試作してみました。
LTC1799とPSoCを使ったオシレータの概略
ブロック図です。LTC1799の出力をPSoCのデジタルブロックを使って10^N分周します。(Nの最大値は7です、もっと増やせますがあまり意味がないかと・・・)
ただしN=0には出来ないので、この場合のみ外部回路にて切り替えています。
また周波数カウンタも内蔵しています。
スイッチにてレンジを切り替えます。10^NのNをアップダウンさせます。
液晶ディスプレイの下段の数字はこのNです。

PSoCでデュアル周波数カウンタ・これで何度目か・・・



dualfcounter090611.jpg
コンデンサがイナバウワ-してますが(汗)適当なのがなくってとりあえず付けたので足を切るのがもったいなくてこうなってます、近日中に買いにいきます。

当初VR1およびVR2は200Ωだったんだけど2SK241をとくに選別しなかったせいか、IDSSがばらついてしまい、結局大きめの可変抵抗器に付け替えました。ここら辺がシロートなんだよなぁ。

データシートを読んでみる。

CY8C29466のデータシートのTable 11-22. AC Digital Block Specificationsから引用すると
CounterのMaximum Frequency(No Enable Input) は最大で 49.2 MHz (4.75V < Vdd < 5.25V)とある。
実際のところ49.2MHzを少しでも超えたら動作停止するわけではない(そんなことが出来たらそれはそれですごいことだと思うが)、私の使ったチップは公称値の140%でも動作している。
でもチップによってばらつきがあるだろうから60MHzで動作しなくなるのもあるかもしれない。
アマチュアとしては「70MHzでも動作してるからラッキー」なのだろうが、そんなことを期待して設計するわけにもいかない・・・・かな。

確認作業・ホントに70MHzも測れてるのか?

HC14を使ったオシレータに手持ちのTC74HC4020をつなぎ、64分周させて周波数を測定してみた。64分周に深い意味ありません、テキトーにつないだだけです(汗
dfcountertest1.jpg
64分周した出力を左の秋月の周波数カウンタキットに入れてみました。計算してみるとほぼ1/64になってます。
ぴったりとは一致しません、ゲートタイムは共に1秒なんですが、ゲートが開くタイミングが一致してませんからね、今回のような安定していないオシレータでは無理ないでしょう。とはいえ約70MHzをカウントしているのは間違いなさそうです。

dfcountertest2.jpg
デュアル周波数カウンタなんだから他の入力に64分周した出力を入れてみました。
70252918/64=1097701.84375ですから、どんぴしゃです。

67MHz?!ホントかよ。

74hc14.jpg先の周波数カウンタの測定上限を調べるために、74HC14を使ったオシレータを作ってみました。
dualfc.jpg
測定結果はなんと67MHz、ちょっとびっくりです。PSoCのカウンタモジュールはここまで応答するのか??
これが正しいかどうか確かめるすべがありませんが、ここまで行くとは思わなかった。

デュアル周波数カウンタ

以前作ったのですが、回路とPSoCの設定を変えました。
以前より簡単な回路で動くようになりました。
カウントの上限はわかりませんが、写真のように32MHzが測定できています。
上のは24MHzの水晶発振器の出力を測定しています。
下のはLTC1799の出力です。


デュアル周波数カウンタ

ユーザーモジュールCounter32を2つ使っています。
sysclockに非同期に設定します。
Counter32のデータシートによると

Maximum input frequency -- 48MHz Vdd=5.0V

とあります、ただし条件があります。

Provided enable signal is always high; otherwise, the limit is 24 MHz.

以前はEnableに別のカウンタで作ったゲートパルスを入れていたんですが、それによって入力上限が抑えられていました。
今回EnableはHigh固定としたので上限がのびましたが外部にゲートが必要となります。
async_20090603081506.jpg
unsync.jpg

プロフィール若干変更

いつまでも53歳というわけにはいかないですからね。
あと、念のための一文を入れておきました、まぁ大丈夫だとは思いますが、あくまで念のためです。
でもホントこういうことは書きたくないです。

PSoC分周器にLTC1799を使ったオシレータをつないでみる

先に作ったPSoC分周器をこれまた以前作ったLTC1799を使ったオシレータにつないでみました。
LTC1799+PSoC.jpg
14pinのICソケットに刺さってるのがPSoCです。(手持ちの8pinICソケットがなくなったのでやむなく・・・)
このオシレータは32MHzぐらいまで発振します。

LTC1799+PSoC2.jpg
上が入力波形、約32MHzの方形波のはずなんですが、ウチのオシロは帯域が40MHzなのでこんな風にしか見えません。もっと広帯域のが欲しい。ちなみに横軸は0.2μS/divです。
下が10分周出力、ちゃんと1/10になってます、動くかどうか心配でしたが。
PSoCにはカウンタモジュールなどの入力をSysclockの倍にシンクロさせることができる設定があります。
ということは通常Sysclockは24MHzですから、倍の48MHzでも動くってことでしょう。

LTC1799はスイッチで出力の周波数を1/10、1/100に切り替えられますが、もっと低い周波数にするには不足です。
74HC390を並べてもいいんですが、8pinPSoCを使えばコンパクトにできます。

 | HOME | 

文字サイズの変更

プロフィール

edy

最新記事一覧(サムネイル画像付き)

店の電飾(3)無限鏡(infinity mirror) Jun 25, 2017
店の電飾(2)回路の変更とスケッチ Jun 25, 2017
店の電飾 Jun 18, 2017
Arduino Pro Microを試す。(3)HIDとして使う(2) Jun 15, 2017
Arduino Pro Microを試す。(2)HIDとして使う Jun 04, 2017
Arduino Pro Microを試す。(1) Jun 03, 2017
脈拍センサー MAX30102を試す(2)MAX30100と比較 May 29, 2017
脈拍センサーMAX30102を試す(1) May 25, 2017
脈拍センサーMAX30100を試す(5) May 20, 2017
MT3608モジュールを使ったDSO Shell用電源 May 16, 2017

全記事表示リンク

全ての記事を表示する

ブログリンク

リンク

このブログをリンクに追加する

月別アーカイブ

06  05  04  03  02  01  12  11  10  09  08  07  06  05  04  03  02  01  12  11  10  09  08  07  06  05  04  03  02  01  12  11  10  09  08  07  06  05  04  03  02  12  11  10  09  07  05  04  03  04  03  01  12  11  10  08  07  06  05  03  02  01  12  11  10  09  08  07  06  05  04  03  02  01  12  11  10  09  08  07  06  05  04  02  01  12  10  09  08  07  06  05  04  03  02  01  12  11  10  09  08  07  06  05  03  02  01  12  11  10  09  08  07  06  05  04  03  02  01  12  10  09  08  07  06  05  04  03  02  01 

カテゴリ

プログラミング (0)
freescale (1)
AVR (3)
テルミン (16)
緊急警報放送 (3)
78K (1)
PSoC (295)
地上デジタル放送 (2)
電子工作 (404)
HX711 (2)
ACS712 (6)
数学 (6)
パソコン (12)
PLC (14)
未分類 (39)
ブログ関係 (20)
スカイプ (37)
ロボット (1)
LTSpice (8)
OCXO (0)
arduino (31)
maxima (1)
フランクリン発振回路 (3)
GPS (3)
DTMF (1)
Linux (1)
KOMAINO (7)

タグリスト

最近のコメント

最近のトラックバック

メールフォーム

名前:
メール:
件名:
本文:

検索フォーム

アクセス

RSSリンクの表示

フリーエリア

FC2Ad

まとめ

Template by たけやん