ATmega328PBへの載せ替え

 使う機会の多いATmega328Pが新規設計非推奨品なので、そろそろ新品番へ載せ替えることを検討しようと過去に製作した半導体リレーのプリント板を設計しなおしました。

Mcb107(ATmega328PB)

 従来品と比べて発振器回路に変更があるとのことだったので少しそのあたりのことを書いておきます。今回は水晶にABRACONのABM3-16MHzを採用。組立後、先ずは内蔵オシレータで起動するのでここは問題ありません。ヒューズビットの変更で外部のクリスタルにしたところ起動しない・・・。オシロで見たところ、全く波形無し。どうやら設定を間違えたらしいということで、外部からオシレータでクロックを供給して再起動。その後、いろいろといじっていたら再び反応しなくなり壊したか?とあきらめて、プリント板から外して新しいものを実装。データシートを何度か読み直してヒューズビットを設定したところ無事に起動しました。水晶は上記の通りABM3-16MHz、コンデンサは水晶のデータシートから18pF、ヒューズビットの設定はSUT1,0が01(クリスタル、BOD許可)、CKSEL3-1が111(クリスタル発振子),CKSEL0は1としました。

 このATmega328PBは328Pにはあった「フルスイングの発振回路」が内蔵されていないことから発振レベルがかなり小さいんですね。次の画像は328Pでのもの。

 

 328Pでは2.5Vp-pくらいありますが、328PBでは0.75Vp-pくらい。ここでデータシートを再び読み返してコンデンサの値が18pFではおかしいことに気がつきました。

 外付けのコンデンサ、マイコンの内部のパッド容量、配線容量の合計が22pFを超えたらいけないと書いてある。計算すると8pF位が適当な値ということになりましたが、残念なことに8pFのコンデンサは手元に無い。ABM3の指定容量は18pFだけど、そんなに小さくして発振するのだろうかと思いつつ、手元にあった10pFのコンデンサにとりあえず交換してみました。問題無く起動しましたが、発振レベルは18pFのときと変わらず。

 ただ、いずれにしてもフルスイングの発振回路ではないことでノイズの多い環境で問題がないかということは検証する必要がありそうです。(趣味で使うのであれば問題ありませんが、産業用とするとここは手を抜けません。)

 あまり環境の良くないところで使うときは水晶ではなく、少しコストは上がってもクリスタルオシレータを使った方が良いのかなとも思えるので、折を見てこらちの仕様も試作してみましょう。ただ、オシレータでは5V電源のものがほぼ無いので電源を3.3Vにする必要がありますから回路によっては今までのものと共通化できないところも出てきそうです。 ということで、to be continued.

コメントを残す

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

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