BASCOM-AVRの部屋
ATTiny2313-20Pというチップで学習用マザーボードもどきを作りました。まだ、若干アプリケーションスペースがあるので、ここに入力周りを作りこむつもりです。
150円のチップにしては面白そうなので、これをベースに基板を起こしてみようと考えています。
4月に手作りアンプの会で、EAGLEの講習会があるので、それで使い方を覚えようと考えています。
さしあたり、サンハヤトの感光基板セットを買ってあるのでこちらで2枚ほど作りたいなー。
さて、これがAVRの最高級、高機能ライターです。
回路図は、Webで漁ってください。プリンタポート(Dsub25)の2,4,5,11ピンに220オームの抵抗をつけるだけ+グランド信号で5ピンです。後ひとつはVccですが、ここは配線しません。
コネクタは秋月で50円、コネクタケースも50円、220オームは100本で100円で買いました。配線は6本(以上を裂いてもいい)で黒色が混ざっている並行ケーブルがいいでしょう。10Pで1mで270円で買いました。秋月通りの手前のGateWay屋さんの前の工具屋の地下です。(かなりローカルな話題)
こちらは、プロトタイプの基板です。奥に6ピンの書き込みケーブル用のコネクタ、中ほどに、ATTiny2313のソケット、その右は抵抗とLEDです。まあ、最低このくらいは奮発しないと書き込み動作と、プログラム実行のテストはできませんね。LEDをチカチカつけるだけでいいです。
11ピン(PORT D の6ビット)に300オーム+LEDです。
For I = 1 To 1000
Set Portd.6
Waitms 50
Reset Portd.6
Waitms 50
Next
End
こんな感じです。
さて書き込みですが、ATTiny2312は工場出荷では、内部クロック、8分周となっています。内部クロックの時には、AVRには電源なしで書き込めます。最初はこの状態でチカチカの間隔を変えるだけで、すぐに飽きます。で次はLCDということです。
秋月では、コンパクトなLCD(バックライト付)900円也が出ていますのでためしに買ってみました。上が新品、したがブチ壊れたLCDです。
この糞LCDのピン番号は、必ず説明書を呼んでください。世の中正面左から1,2,3ピンなどという甘いものではありません。
正面左から14,1,2,3...12,13,16,15です。なんじゃこりゃ!当然最初は左からきれいに1,2,3とつなぎましたが、何にも表示されません。何が悪いかさっぱり??日を改めて冷静に何気に説明書を見て愕然です。900円が飛びました。LCDってすごい熱ちちになるんですね〜これが。まったく、デカイ注意書きを入れろっつーの。
これが、プロトタイプのボードです。恥ずかしながら裏も見せます。
回路図は特に描いてありません。9Vの電池駆動のため、3端子レギュレータを積んでます。もともとDC入力なので電解コンデンサは要らないかと、発信防止かよく分かりませんが、0.1マイクロを前後に付けました。あと、11ピンからLEDをつないでます。(動作確認用)
右に見えるソケットは、MAX220(RS-232ドライバ/レシーバ)用です。5V単一動作で安いので買ってきました。まだつないでません。周りに見えるコンデンサは、チャージポンプ用らしいです。説明書どおりにつないであります。232Cのコネクタへの配線は、ピンコネクタを使う予定です。ケースに外側から付けるので、取り外せないとこまります。
奥に見えるショートピンは、バックライトのON/OFFです。電池駆動で生意気にバックライトなど、とんでもありません。省エネピンであります。クロックは、12.8MHzのクリスタルが欲しかったのですが、秋月で探していて、店員さんに聞いたらうちはこれしかないよ〜って、かごの中に入れてくれました。値段くらい言えよ!!
周波数カウンタを作るつもりなので、2の倍数がいいかと思いましたが、プログラムでインターバルが作れるのですから全く無意味です。まあ、安定度はいいかもしれませんね。20MHzのクリスタルは確か50円なのにこれは500円位します。スペースもとられますし。
ほぼ、アセンブルが終わった状態で、LCDにも文字を書いて見ました。AVRって書き込んだ後、書き込みコネクタをはずして電源を入れますが、数秒無応答で、その後動き出します。かなり心臓に悪いです。
タカチのYM-100に組み込む予定です。電池も収まり、232Cコネクタもバックパネルに付きそうです。でも、スイッチ類が収まりそうにありません。少なくともプリスケーラのON/OFFの選択ができるようにしたいところですが、小さな軽いプッシュスイッチが欲しいところです。一工夫しないと。

今日のところは、ここまでです。ここにたどり着くまでには、試行錯誤が一杯でした。でもAVRマイコン入門という
HPがあり、大変役に立ちます。リンクを張りたいところですが、まだ了解を得ていませんので、タイトルの記述だけにします。
でも、AVRライタの記事はいろいろありますが、特に疑問だったのは、プリンタポートの、2,4,5ピンの回路があれば、2,3,4ピンを使う回路もあり、戸惑います。最終的にはBASCOMの書き込み画面のファイルー>testで必要なピンが表示され、かつ5V出力をしてくれる機能があります。これをチェックしながら確認するといいでしょう。
BASCOM-AVRを使う場合、2,4,5,11ピンとGNDです。このうちMOSI(?)は入力ピンなのでいつも5Vなので少し戸惑いました。また、購入直後のATTinyは内部クロック設定なので、AVRの電源を切り、書き込みコネクタを挿すだけで書き込めます。このことがどこにも書いてない。
また、外部クロックへの変更はヒューズビットの書き換えが必要です。書き換えた瞬間から、今度はAVRに通電しないと書き込みできなくなります。書き込み画面を出しても、チップが認識されなくなり冷や汗をかきました。(150円で冷やさせかくな!)

このダイアログが出た場合、チップの認識ができていません。IDは0000..だったりもします。
AVRの電源を入れて画面を出すと。
このように、ヒューズビットの内容や、チップ名が表示されます。
見にくくて申し訳ありませんが、ヒューズビットのところに
"0000:External clock”の設定が見えます。
今日のところはここまで。
最新版のBASCOMとATTiny2313はTimer関係で相性が悪いらしいです。
古いバージョンなら大丈夫とのこと。
左のダイアログは、1.11.8.1となっており現行の1.11.8.3の前のバージョンです。
どこで手に入れるか、ということで、ここから入手できます。または、こちらから。
ケースの加工もおおよそ終わりです。すべてのパーツの写真です。ケースはタカチのYM-100なので、幅10cmです。かなりちっちゃめに出来上がりそうです。
ATTiny2313を2個買ってきて都合3個あります。10MHz版も2個あるので、この基板を何枚か作ってみようとEAGLEを動かしましたが、いまいち何をしたらいいの?って感じです。
AVRのチップとかLEDとか電源端子などの部品を追加できたのですが、ボード画面には現れてこないのです。はて?Webのサイトを見つけたのでトライしましたが、挫折m(_ _)m
さしあたって、このカウンタS/Wが先か、DDSのオッシレータが先か。オッシレータのヒューマンインタフェースを考えているところでとまっています。カウンターが先に完成しても、信号ネタはあるんですけどね。
また、基板は、EAGLEでなくても。パワーポイントでも充分できそうですが、EAGLEは4月の講習会ということで、今回はパワーポイントで作りそうな勢いです。
ケースに組み込みました。不得意なレタリングもチャレンジしてみました。
一番悩んだスイッチですが、千石にタクトスイッチの真ん中の棒の部分が長いのがあり、これだと秋月の900円のLCDとマッチして、同じボードに取り付けてもタクトスイッチの頭が、ケース前面に出てきます。
スイッチの使い道はこれからなので、さしあたりA,B,Cとつけておきました。