28ピンAVR用書き込み台とLMC555利用1MHz発振器
2011年4月 AVRの工作でI/Oピンをフルに使っていたりするとISPで読み書きできません。そんなときのために書き込み用の基板を用意しておくと便利です。 ターゲット(書き込み対象のAVR)が外部発振器で動作する設定だった場合を考慮し、クロックを供給できるようにしておく必要があります。 28ピンAVR用の書き込み台を作ったので紹介します。 クロックの供給源としてタイマーIC 555を利用した1MHzの発振器も作りました。 |
発振器/発振回路 | |
AVRを読み書きするのに外部クロックが必要なとき、クロックは1MHzあれば十分です。 ただしヒューズビットの設定で8分周が有効になっていると、AVRは 1MHz / 8 = 125kHz で動作することになります。 ライター(書き込み器)にウェイト時間の設定があれば低速書き込みの設定にしましょう。 これを忘れるとライターがAVRを認識できなかったり、書き込みエラーが発生します。 ※上記動作条件のとき、avrsp.exeのオプション設定は「-d50」で書き込めました。「-d40」ではデバイスを認識できませんでした。 さて、クロック供給源として最低1MHzの発振器が欲しいわけですが、どんな部品/回路を用意すればよいでしょうか。 素直に1MHzないし8MHz程度の発振器を用意すれば済みます。1個150〜300円くらいです。 74HCU04とセラロックで定番の発振回路を組む方法は、実装面積が結構取られます。総額100円くらいです。 8ピンのマイコン(AVRやPIC)を発振器の代わりにすることもできますが、価格と機能面でもったいない使い方です。 ※PICは60円やら80円で購入できますが(秋月電子)、当然PICの開発・書き込み環境が必要になります。 他に思い付くのがタイマーIC 555の無安定動作を使った発振回路です。 555は8ピンで小さく、安価です。少量の外付け部品で発振器が作れます。もったいない使い方でもありません。 ですが注意することがあります。LM555やNE555の最大発振周波数は500kHz程度のようなのです。つまり555ならどれでもよいわけではなく、数ある品種の中から1MHz以上で発振できるものを選ぶ必要があります。 555の品種と発振周波数について検索したところ、こちらが参考になりました。
LMC555が手持ちにありました。データシートの特長欄には「3MHzまでの無安定周波数」と書いてあります。 これで1MHzの発振器を作ることにします。※2MHzでもよいし、1.7MHzのように半端な周波数でも構わない。 |
LMC555を使った1MHzの発振器 | |||||||||||||||||||
タイマーIC 555で発振器を作る場合、デューティ比(出力のHi時間とLo時間の比率)50%が実現できるかどうかが設計のポイントになります。都合のいいことに、LMC555のデータシートにそのものズバリの回路が載っています。 その通りに組んでAVRの動作クロックに使えることを確認しました。
f = 1MHzとなるRとCを決める際、1Ω未満の抵抗では作りにくいのでコンデンサの方を極力小さな値にします。 手持ちに0.01uFのセラミックコンデンサがあったのでこれに合わせて抵抗を決めました。 f = 1/(1.4 * R * C) → 1MHz = 1/(1.4 * R * 0.01uF) → R = 71.4Ω R = 75Ωとすると、f = 1/(1.4 * 75Ω * 0.01uF) = 0.95MHz (950kHz) ということで図において、Rc = 75Ω,C = 0.01uF としました。 電源電圧Vs = 5V として、Raは数k〜10数kΩで適当に決めます。※ I_disch = Vs / Ra < 100mA(絶対最大定格) デューティ比はオシロスコープで確認できます。が、自分は持っていません。 OUTPUTの電圧をテスターで測定し、Vsの1/2ならデューティ比50%だろうと予想することにします。 Vs = 4.79V のとき、OUTPUT = 2.36V (Rc=75Ω,C=0.01uF) → デューティ比 49.2% 良好ではないでしょうか。※オシロで波形を見たら予想外の形かもしれません。でもAVRは動いたから結果オーライってことで! ALTERNATE OUTPUTにもまたクロックが出力されます。 Ra = 13kΩ のとき、A点 = 2.40V → デューティ比 50.0% A点に出力されるクロックのデューティ比はRaの値で調整できるようです。これを狙うならRaは20kΩの半固定抵抗にするとよいでしょう。ただ、正確にデューティ比50%でなくともAVRは動作します。 【参考】LMC555を使った発振器のパラメータと周波数
|
部品について |
28ピンAVR用書き込み台 AVRの形に合わせ、ZIFソケットは300mil対応(幅が狭いIC用)のものにします。 aitendoで購入したもの(写真の緑色の)は足が太くてICソケットに刺せず、複数の基板で使い回すことはできません。 秋月で販売しているものはICソケットに抜き差しできるようです。 セラロックは1MHz以上、できれば8MHz程度がよいです。 自分は4MHzを使いましたが、ライターで低速書き込みの設定をすることなく正常に動作しています。 ピンヘッダ、ピンソケットは長いものを目的のピン幅で切って使います。 LEDはパイロットランプです。無駄に明るくする必要はありません。 タイマーIC 555で作る発振器 記事に書いた通り、1MHz以上で発振できる品種を選びます。LMC555が安価で入手しやすいのでお勧めです。 抵抗とコンデンサの値は発振させる周波数によって決めます。計算式と具体例は記事中に書きました。 部品一覧に挙げた75Ωと0.01uFは1MHzで発振させる例です。 555のDischピンからのクロック出力を利用しないなら、そこにつなぐ抵抗(図中のRa)は10kΩ固定でよいです。 |
部品名 | 部品番号 | 値 | 個数 | 参考価格/備考 |
ZIFソケット (ゼロプレッシャーソケット) |
-- | 28ピン 300mil対応 |
1 | 幅狭IC対応であること 250円(aitendo) |
セラロック | -- | 1MHz/4MHz/8MHzなど | 1 | 20〜40円(秋月電子) |
積層セラミックコンデンサ | -- | 0.1uF [104] | 2 | 10個100円 |
ピンヘッダ | -- | 2列x3ピン幅 | 1 | ISP用のコネクタとして |
必要に応じて用意するもの | ||||
電源コネクタ | -- | -- | 1 | ピンソケットなどで代用も可 |
LEDと電流制限抵抗 | -- | 抵抗は470Ω〜1kΩ程度 | 各1 | 色と明るさはお好みで |
部品名 | 部品番号 | 値 | 個数 | 参考価格/備考 |
タイマーIC 555 | -- | LMC555 1MHz以上で発振できる品種 |
1 | 5個100円(秋月電子) |
抵抗 | -- | 75Ω [紫緑黒金] 値は発振周波数による |
1 | 1個5円/100個100円 |
抵抗 | -- | 固定抵抗10kΩ または半固定抵抗20kΩ |
1 | 固定:1個5円/100個100円 半固定:50円 |
(積層)セラミックコンデンサ | -- | 0.01uF [103] | 1 | 10個100円 |
◆ ◆ ◆ |
AVRを大量生産する用事がないにしても、書き込み台はあると便利です。 今回の記事はどちらかというとタイマーIC 555を利用した発振器作りの方がメインです。 実は、手持ちで余っていた555を何とか利用できないかと調べた結果、できた記事です。 でも結局、11.776MHzの発振器がいくつか余っているのでそれを使うことにします。 |
(C) 『昼夜逆転』工作室 | [トップページへ戻る] |