何でも実習生の実習日誌

電子工作、模型スチームエンジン工作など、何でも工作が大好きです。
手持ちの工作機械は卓上ボール盤だけ、全て手作りです。

カウンタープログラムに誤りがありました

2020-08-14 18:39:27 | 電子工作
2020/08/13(木曜日) 晴れ

マイコン(ESP-32)にプログラムで計数するカウンタを作り、
その出力を抵抗ラダー回路(R-2Rというらしい)加えて鋸歯状波を
取り出す実験をしているのだがどうもうまくいかない。
R-2Rには約9Vの電圧を加えて、ピークが9V近い鋸歯状波が得ら
れるはずなのだが約半分ぐらいの電圧しか得られない。
それに鋸歯状波のスロープには針状のノイズが沢山出ている。



波形をコピーしてみた。
8bitの出力は針のような尖った波形でおかしい。


R-2Rに加える8bitのバイナリカウンタ出力はマイコン(ESP-32)で
プログラム処理で作り出している。
プログラム内に2バイトのカウンタ用変数を用意してプログラムによって1つずつ
カウントアップしていき、256をカウントしたら(0~255まで)また0に戻って
カウントを繰り返すというものだ。
以前、12bitのカウンタを作ったときのプログラムを流用した。
だけどちょっと気になることがある。
カウンタ用変数がカウントした値の各ビット情報はビット読み出し(関数)で
取り出してくる。
このとき最下位ビットを‟bit1(1bit目)”とし、最上位ビットを‟bit8
(8bit目)としてプログラムを組んである。
もしかすると最下位ビットは‟bit0”、最上位ビットは‟bit7”かもしれない。
その辺を確認してプログラムを修正してみた。

おーっ、鋸歯状波の出力が大きくなった。
最上位ビットの出力も正常に見える。
なんてーこった・・・・・・
バイトデータのビットは1ビット目、2ビット目・・・・ではなくて0ビット目、1ビット目
・・・・・と指定するんだ! (当たり前かもしれないけど知らなかったです。)

修正後はこんな感じです。
(実際にはプログラム修正だけです。 配線は元のままです。)


鋸歯状波の出力が大きくなった。


バイナリカウンタの各ビットの出力も正常になった。


スロープに発生するスパイクはカウンタ変数内のビット状態を読み出すのに
ごくわずかだが時間がかかるのだろう。
その間、出力端子がHIGHになるものがあるのだろう。
その結果鋸歯状波も鋭く立ち上がってスパイク状になるのかもしれない。
まぁ、前回作った全ハード構成のカウンタによる鋸歯状波作成回路でも
同じような現象が見られたのだから仕方がないか・・・・・・
出力に並列にコンデンサを抱かせて吸収してみるかな。





コメント (2)    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 局発をスイープ発振させて電... | トップ | スパイク状ノイズが消えました »
最新の画像もっと見る

2 コメント

コメント日が  古い順  |   新しい順
やってますね (JANJANJAN)
2020-08-14 23:27:10
久しぶりのコメント投稿です。
ブログははずっと拝見していました。
またまた、高周波プロジェクト再開ですね、楽しみです。
返信する
波形を見るのが面白いです (実習生)
2020-08-15 08:26:00
JANJANJANさん、おはようございます。
コメントありがとう!!! 超嬉しいです。
私もJANJANJANさんのブログ更新をいつも楽しみにしています。
私はやっぱり波形を見るのが好きなんですよ。
NWTとかオシロの波形とか・・・・ただそれだけ(笑い)。
前回作成の10.7MHz IFアンプもホッタラかしなので
VHFエアーバンドを受信するラジオを作ろうと思って
高周波工作を始めました。
今まで実習してきた「マイコン」も組み込んでみようかな?なんて思ってます。

しばらくボートの話題がありませんが、その後の「お池」の様子はいかがですか?
私のボートは錆びついてしまいました。(笑い) 

返信する

コメントを投稿

電子工作」カテゴリの最新記事