ATmega328PBへの載せ替え(続編)

 続編です。前回は電源を3.3Vに変更するか・・・というところで終わりました。3.3Vへ変更した回路図に書き直したところで、3.3Vではマイコンの動作速度が最大10MHzだということに気がつきました。今まで全て16MHzで動かしているので、3.3VではNG。5Vで動くクロックオシレータを探したところ、米国の通販サイトでCTSの製品を見つけました。水晶での評価もしたいので負荷容量が8pFの小さなものを見つけ、あわせて注文。プリント板もオシレータ仕様に書き替えて手配しました。

 部品とプリント板が届き、早速部品を実装。

 半導体リレー4chとオープンコレクタ4ch、デジタル入力4chのRS-232C I/Oボードです。手前左側にある四角いものがクロックオシレータ。大きさは7ミリx5ミリです。はじめは内蔵オシレータで起動しヒューズビットを初期設定、プログラムの書き込みと発振回路を外部からの入力に変更。

 ヒューズビットの設定はSUT1,0が00、CKSEL3-1が000、CKSEL0が0です。

 クロックオシレータに設定後は問題無く16MHzで動き、再度のプログラム書き込みもOK。クロックオシレータは水晶に比べると割高ですが、ここでの価格差は部品の原価で100円程度なので特に高価格ということでもありません。

 次は今回一緒につくったDCモータ用のドライバ基板。少し前の記事で書いたフラップ式表示器(パタパタ)用としても、またDCモータの制御用としても使えるように設計したものです。モータドライバはTB6643KQで、制御はマイコンのカウンタ出力2本を割り当ててあります。パタパタを動かす場合はPWMの必要は無くポートのHigh、Low制御で動きます。

 制御はプリント板上のタクトスイッチ(手前に見える4つ)か外部の接点、さらにUSBからも行えるようにしました。左に見えるUSBコネクタ(USB-B)とマイコンの間にあるのが水晶発振子です。こちらもクロックオシレータと同じCTS製で負荷容量8pFの製品。計算上は4.7pFから8pFの間くらいが適切だろうということで今回は8pFを使いました。ATmega328PBのデータシートには総負荷が22pFを超えてはいけないとの記述がありますが、マイコン自体の内部容量がXTAL1で18pF、XTAL2で8pFあるので、厳密に考えれば「コンデンサ+内部容量+浮遊容量」で22pFに納めるのは難しく、データシートの記述に矛盾があるようにも思えるので追々メーカーに確認してみた方が良いかもしれません。この水晶の発振波形をオシロスコープで見たものがこちら。

 波形の大きさは前回測定したものと大差は無いように見えます。パタパタを動かしてみただけですが、今のところは誤動作はありません。しかし発振レベルが低いことはノイズの多い環境ではリスクがあるので、生産設備等に使う業務用として考えるとクロックオシレータを選択した方が良いであろうというのが今の時点での結論です。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)