« Arduino-UNOでパルスジェネレータを作ってみた | トップページ | 黒澤はゆま著『戦国ラン』 »

2022年8月 7日 (日)

パルスジェネレータを作ってみた:16MHzクロックを追加

2022年8月 5日:Arduino-UNOでパルスジェネレータを作ってみた
この続きです。
クロック源、もう一つ「速いの」を追加しました。
これまでは、
 1us  1MHz
 10us 100kHz
 0.1ms 10kHz
 1ms  1kHz
の4種類でしたが、ハード的に得られる最高クロック
16MHzを追加しました。

クロック周期が「1/16us」で、「0.0625us」が最小単位と
なります。
小数以下の表示桁が4桁に増えちゃうわけです。
1クリックで1つ増減するのではなく「0.0625」増減します。
  ※同じ4桁でも、「0/16」「1/16」・・「15/16」と
   1/16で示す方が増減が分かりやすいかと思ったん
   ですが、どうでしょう?

整数部の最大が「4095」になるので、小数点を入れても
「9桁」になり、なんとか表示できました。

こんな具合。
Ta2

タイマー1のカウント値16bitの最大65535で、
「4095.9375us」となります。
  ※1MHzクロックだと1usピッチで最大が「65.535ms」
   でした。単純に周波数16倍。

クロックを変えるとこんな感じで表示が変わります。
Ta1

16MHzでの最下位カーソル位置が0.1桁のところになり
ここに合わせたときだけ0.0625ピッチで変化します。
しかし、10^0桁~10^3桁に持ってくると、ちゃんと
10進で変化するようになっていて、操作上の違和感は
ありません。

※その後:
2022年8月24日:パルスジェネレータを作ってみた:箱に入れた
をどうぞ。

|

« Arduino-UNOでパルスジェネレータを作ってみた | トップページ | 黒澤はゆま著『戦国ラン』 »

ツール」カテゴリの記事

Arduino」カテゴリの記事

AVRマイコン」カテゴリの記事

コメント

「duty比hold」モードを付けてみました。
周期設定モードでダイヤルを回した時、デューティーが一定となるようにパルス幅の値を制御します。
例えば、デューティを33%にセットしたら、周期を変えてもデューティはそのまま変わらないというしかけです。

※スケッチのアップはちょい待って。

投稿: 居酒屋ガレージ店主(JH3DBO) | 2022年8月10日 (水) 11時15分

電池電圧低下警報も必要か。
AIN1/PD7のコンパレータ入力(Vref 1.1Vと比較)を使って、LED(PB5)を制御。
電圧OKなら点灯。 低下検出なら点滅。
てな具合。

投稿: 居酒屋ガレージ店主(JH3DBO) | 2022年8月10日 (水) 15時53分

とりあえず動くように
http://igarage.cocolog-nifty.com/blog/2022/08/post-c07c42.html
パルスジェネレータを作ってみた:箱に入れた

スイッチがつながるポートが変わっています。

投稿: 居酒屋ガレージ店主(JH3DBO) | 2022年8月25日 (木) 09時27分

コメントを書く



(ウェブ上には掲載しません)




« Arduino-UNOでパルスジェネレータを作ってみた | トップページ | 黒澤はゆま著『戦国ラン』 »