迷走の果て・Tiny Objects

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

リンクの追加

PSOCの勉強さん
 これからが楽しみなサイトです。トップページのLED温度計が印象的です。

http://www.interq.or.jp/www-user/ecw/" target="_blank" title="エレ工房さくらい">エレ工房さくらいさん
 楽しいキットがたくさんあります。
スポンサーサイト

発振周波数とデューティ比を独立して変えられるパルスジェネレータの試作

発振周波数とデューティ比を独立して変えられるオシレータタイトルは大げさなんだけど、要はシュミットトリガインバータ74HC14を使った発振回路とコンパレータを組み合わせただけである。
ちなみに定数は手持ちの部品を使ったので最適ではない。R2やR3はもう少し大きくしたいところだ。

発振回路のC1には三角波状の波形が出ているのでそれをコンパレータでパルスに変換している。
簡単な回路のはずなんだけど、ちょっとトラぶったので記録しておく。
当初はC2を付けていなかった、それでも問題なく動作していると思ったのだが、発振周波数を低くしてLM2903の7番ピンをオシロで観測していると妙な波形に出くわした。
osc090529.jpg
どうもよけいな発振をしているようだ。
5番ピンの電圧が6番ピンの電圧に近くなってくるとLM2903の出力部のトランジスタは
カットオフ→能動→飽和
となるのだが、HC14の発振周波数が低いと能動状態が長くなる、この間コンパレータはアンプとして動作する。
LM2903の出力すなわち7番ピンと6番ピンは隣り合っておりストレーキャパシティにより帰還がかかって発振するのだろう。
コンパレータにヒステリシス特性を持たせることも考えたが、別の問題が発生しそうなのでやめ、C2を付けることによって対処した。

LM2903はデュアルコンパレータなのでこのままでは一つ余っているので同じ回路を組んだら面白いかもしれない。

こんな回路になるかな。
発振周波数とデューティ比を独立して変えられるオシレータ3

PSoCのユーザーモジュール One-Shot

PSoC Designer 5.0になって新しいユーザーモジュールがいくつか追加されています。
その中でOne-Shotを試してみました。
これは74HC123やMC14528/14538等のRetiggerable Monostable Multivibratorとほぼ同等の働きをするモジュールです。
「ほぼ」と書いたのは上記のICの動作がアナログなのに対してOne-Shotユーザーモジュールは動作がデジタルであるという違いからです。
入力があったときに一定幅のパルスを出すというわけではありません。
詳しいことはデータシートを参照するとして、ここでは16bit One-Shotユーザーモジュールを配置し、そのクロックを10KHzとしてみました、すなわちクロック周期は0.1mSです。
oneshot1.jpg
入力のネガティブエッジで出力はLレベルになりますが、クロックの関係ですぐには反応していません。
そして入力のポジティブエッジから一定の時間の後、出力がHレベルに戻ります。
この一定時間というのが16bit One-Shotの場合は
16×クロック周期となります、今回の場合は1.6mSです。

oneshot2.jpg
入力のパルス幅がOne-Shotクロックの周期以下になると正常に反応しないことがあります。
写真ではちょっとわかりづらいのですが、入力に対し正常に出力が出ない場合があるのがわかります。このときの入力パルスの幅は約0.1mSです。

このモジュール、何に使えばいいんでしょうか?
データシートではdebouncing(チャッタリング除去)につかえるみたいな図が載ってますが、そのためにデジタルモジュールを使っちゃうのはなんかもったいないようで・・・。

PSoCで1/10~1/100000分周器

8pinPSoC CY8C-27143を使って入力信号の周波数を
1/10、1/100、1/1000、1/10000、1/100000に分周する回路を試してみました。
回路図は簡単です、中身はブロック図のように10分周に設定したカウンタモジュールを並べただけです。
プログラムは各カウンタをスタートさせたらおしまい(無限ループに入ります)
従ってCPUクロックは最低スピードにしてあります。
要点は各カウンタモジュールを非同期に設定することです。
どれぐらいの周波数まで応答するか試していませんが、PSoCが24MHzで動くのでそれぐらいまでは多分OKでしょう。

XR-2206の実験(3)

xr2206osc7.jpg
OPampとトランジスタによる定電流回路を使って発振周波数を制御してみました。
VR2で分圧された電圧と周波数が比例するはずです。

XR2206_C_33000pF.jpg
C1=33000pFの場合。リニアリティはいい、ただ入力電圧が数ミリボルトぐらいだと発信周波数がふらつく、周りの影響か?ケースに収めてシールドすれば収まるかも?

xr2206_c_1000pF.jpg
C1=1000pFの場合。対数目盛にしたのでいささかわかりにくいが、高域でリニアリティが悪化している。

 | HOME | 

文字サイズの変更

プロフィール

edy

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

脈拍センサーMAX30100を試す(5) May 20, 2017
MT3608モジュールを使ったDSO Shell用電源 May 16, 2017
脈拍センサー MAX30100を試す(4)MAX30100_Registers.h を調べる。 May 13, 2017
脈拍センサー MAX30100を試す(3)正常動作?? May 12, 2017
脈拍センサー MAX30100を試す(2)スケッチとライブラリー May 10, 2017
脈拍センサー MAX30100を試す(1) May 08, 2017
Studuino用電池ボックスを作る(2) May 06, 2017
Studuino用電池ボックスを作る May 05, 2017
MT3608モジュールのテスト Apr 30, 2017
BME280モジュールを使った温度・湿度・気圧計(2)DSO Shellを使って動作電流を測る Apr 23, 2017

全記事表示リンク

全ての記事を表示する

ブログリンク

リンク

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

月別アーカイブ

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)
電子工作 (399)
HX711 (2)
ACS712 (6)
数学 (6)
パソコン (12)
PLC (14)
未分類 (39)
ブログ関係 (20)
スカイプ (37)
ロボット (1)
LTSpice (8)
OCXO (0)
arduino (28)
maxima (1)
フランクリン発振回路 (3)
GPS (3)
DTMF (1)
Linux (1)
KOMAINO (7)

タグリスト

最近のコメント

最近のトラックバック

メールフォーム

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

検索フォーム

アクセス

RSSリンクの表示

フリーエリア

FC2Ad

まとめ

Template by たけやん