とりあえず、今まで作ってきた物を少しご紹介します。

キッチンタイマー(数が多いので、別ページにしました)  クリックすると飛びます
ATMEL AVRマイコン用パラレルライター
para-prog 初めてAVR マイコンを買ったときに、一緒に秋月電子通商のAVRライターを買ったのですが、こいつがシリアルプログラマーだったんです。
普通にプログラムを書き込む分には問題は無かったのですが、AT90S1200を内部発振モードに変更したりする事はパラレルライターでないとできません。
そこで、AVR AT90S4414を使用してパラレルライターを作成しました。
para_soft 制御用ソフト はこれです。

BorlandのDelphi4を使用して自作しました。
RS −232C<->MIDI 通信速度変換器?
マイコンを 使った初めての作品?です。作った経緯はこちらで...

MIDIの31.25KbpsとIBM互換機の38400bpsとを相互に変換する為のMIDI I/Fです。
YAMAHA等から出しているRS232C-MIDI I/F用のドライバを使えば、WindowsでもMIDI I/Fとして使用できます。
7セグLEDが4個付いていて、それぞれ送信、受信のデータを16進数で表示します。

MIDI楽器によっては38400bpsを受け付けるモードを持つ物も有るみたいです。
自分はハードウェアで対応しましたが、通信ドライバの方でタイミングを調整してソフト的に対応されている方もいらっしゃいますね。
でもどうして31.25Kbpsなんだろうか...

LM317使用の実験用可変電源
可変電圧の3端子レギュレータの定番LM317を使用した実験用電源です。
今日出来たてほやほやです。

写真では白色LEDを点灯させています。

ケースはトタン板で作ってあります。0.3mm無いぺらぺらの板で、加工は簡単ですが、何十年ぶりかのトタン加工です。いろいろと失敗してます。側面は穴があわず、アルミテープを貼ってごまかしています。

なお、各種工作時には 林ホビー工作研究室 さんを参考にさせてもらっています。
太洋電機産業(goot) の板金用フラックス BS-35です。これと、以前まで使用していたφ1mmのすず60%の鉛入り半田(脂入り)を使用してケースを作成しました。
板厚が薄いので普通の3mmナットを板の裏側から半田付けしてあるのですが、嘘みたいにしっかり半田付けできました。このフラックスのおかげです。
なお、強酸性の液体で腐食性が強く、半田付け中に発生する蒸気も有害です。手袋をしてなるべく息を止めて屋外で半田付けしないとだめです。だいぶ吸ってしまいましたが...

実際の半田付け時には半田コテではなく、ガス式のトーチランプ(コールマンのソードガス206) を使用しました。27年前くらいに購入した奴で、錆びまくってます。久しぶりで少しやけどをしてしまいました。このトーチランプ、まだ売ってるんだな...
内部はこんな感じです。昔、秋月電子で購入したCOSELの5Vと24V出力の電源を使用して24VをLM317、5Vをマイコン側で使っています。

マイコンはATMELのTiny26Lを使っています。何をやらせているのかというと、電圧と電流のモニターです。液晶に値を表示させています。
秋月電子の紙エポキシのユニバーサル基板Bタイプ(95x72mm)で 適当に作っています。

電圧は出力の電圧を抵抗で1:10に分圧してAD変換しています。
電流は出力のGND側に直列に入っている40mΩの抵抗に発生する電圧をOPアンプで約43倍に増幅してAD変換しています。 

入れ物の割に中身がすかすかなので、5V、3.3V専用電源とかもつけた方が良かったかもしれません。また作ることがあれば取り込もうと思います。
液晶の表示です。電圧はだいたい合ってますが、電流はそれほど正確ではありません。
OPアンプ周りの抵抗器もカーボン抵抗を使ったり、OPアンプも普通の単電源用のLM358を使用してますので。
電圧のフルスケールは24V、電流は1.5Aで設計してあるのですが、実験用なので、電流は1mAまで見られた方が良かったかもしれない。
今度作るときはそうします。

なお、この電源、作ろうと思ったのは25年前です。遅すぎ...




2009年3月29日
早速、3桁表示にしましたが、精度的に全然だめです。10ビットADではこんなものかもしれません。よく知らないけど。

実は作った直後、電圧がどんどん上がったり、ボリュームを最小にしても12V位出力されたりと、ものすごく不安定でコンデンサを追加したり色々やりましたが全然よくならず、
LM317も交換しましたが症状が変わらずで、まさかと思いボリュームの抵抗を測定するとなんかあり得ない値で、ボリュームの端子のかしめの所をラジオペンチでかしめ直したりしたら正常になりました。
6時間かかった...激安ボリュームには注意が必要ですね。買ってから6年くらい経ってるのも原因なのかも。

→後からまた再発したので、金床の上でセンターポンチでたたいてかしめ直しました。今度再発したら交換かな。
2009年3月30日
H8−3048F使用の大型時計
9年前に作成したH8−3048Fを使用した大きめの時計です。
7セグLEDの縦が5cmあります。今は販売されていません。
時計のクロック源は京セラのTCXO KTXO-18S を使用しています。12.8MHz±1ppmという高精度な水晶発振器ですが、秋月で安く買えます。1個 ¥200ですね。
H8自体のクロックが16MHzです。12.8MHzのクロックを74HC163で1/?にプリスケールしてカウントしています。
なお、フラッシュROMの書き込み回数が100回しか保証されていない時代でしたので、開発はS−RAMにRS−232Cからプログラムを転送して
それを実行させるというソフトをEP−ROMに焼いてやってました。フラッシュにも焼けたのですが、それさえも嫌がっています。完成後はプログラムをROMに焼いています。
その関係で内蔵フラッシュを使用したポートが多いモードが使用できず、わざわざZ80用のPIOを増設しています。
とりあえず、温度計センサーも取り付けてあり、温度表示も可能です。
機能的には閏年判定付きの年月日表示、時、分、秒、10ms、アラーム、12/24時間制表示切り替え、温度表示と一般的な時計の機能が入ってます。
電源は9V程度が必要です。ここではLM317の可変電源(上で紹介している奴)を早速使ってみました。
参考までに裏側の配線です。うーん、食欲をそそられないスパゲッティですか...

この時計のインジケーターのLEDは2色LEDを使用していて、午前中は緑、午後は赤色になるようになってます。

AMからPMになる動作の様子。(インジケーターの色に注目...)


機能を切り替える動作の様子


しかし、この時計は実際には使われることはなかった...
Atmel AVR AT90S1200使用の時計1
これも9年くらい前に作成した時計です。
Atmel社のRISCマイクロコントローラーの初代AVRであるAT90S1200を使用した時計です。初代なのでRAMをもってません。32個のレジスタをRAM代わりに使用してアセンブリ言語でプログラムします。
こ れもH8の大型時計と同じく京セラの12.8MHzのTCXOを使用しています。このマイコンは12MHzが規格の上限ですが、12.8MHzでオーバークロックさせてTCXOのクロックを直接クロック源にしています。
まあ、0.8MHz早いだけなんで、大丈夫です。きっと。
裏側です。


が、電池BOXを入れて電池で動かそうと思って上の方に詰めてレイアウトしたのですが、電池で動かすのは無理とわかり、こいつは部品取りされて無くなりました。
Atmel AVR AT90S1200使用の時計2
これが作り直した奴です。大して違ってませんね...
電源は昔秋月電子で特売していた9VのAVアダプターで、無負荷だと13V位出る奴です。

一応閏年判定をさせるために50年後までの閏年をテーブルに持っていて、月が変わるときに判定させています。が、アセンブリ言語なので、まともに動作するようになったのはつい最近です。

この時計はアラーム機能や温度計は付いていません。ただし、毎正時にアラームが必ず鳴ります。初代チップなのでプログラムエリアも512ワードしかなく、ほとんど空きがありません。
時刻を合わせる機能とか、その辺が意外とステップを食います。
裏 側です。φ0.2mmのUEWを使ってます。このUEW、10年前に購入したのですが、熱に強くてなかなか半田が乗りません。1Kg巻きを買ってしまい、かなり使ったみたいですが
今でも見た感じ全く減っているように見えません。あと数百年かかっても使い切れないと思う今日この頃。

なお、AC電源ですので1.5V乾電池X4本の6Vでバックアップしています。停電中は乾電池で表示部以外が駆動します。ただし、落雷時にはたまにリセットされてしまう事があります。
マイクロギャップ式のサージアブソーバを入れたりしてますが、100%ではありません。チップが壊れたことはありませんが雷は怖いです。

この時計をPCのそばに置いてずっと使ってきています。



   2009年4月3日
秋月AVRライター
以前、秋月電子通商で購入したAVRライターです。ただ組み立てただけですけど...現在は販売されていません。代わりにPICライターで書き込めるみたいです。
純正のISPプログラマも販売されています。

低電圧のシリアルライターです。最近のAVRはシリアルライターでもほとんどの設定が可能ですが、昔のAT90Sシリーズ等のデバイスでは高電圧のパラレルライターでないと動作設定等の書き込みができません。
初代のAT90S1200はパラレルライターで内部発振モードに切り替えると外付けの発振子無しで動かせますが、内部発振設定済みのAT90S1200Aというのが高い価格で売られてました。
買うのもしゃくだったので、最初に紹介してあるパラレルライターを作った訳です。まあ、滅多に使いませんが、無いと困ることが有りますので...

このソケットに直接マイコンを差して書き込むことは滅多になく、ほとんど基板に実装したまま書き込みを行うように、6ピンのコネクタを作って線を引き出して使っています。(ISP)

最近この秋月ライターを使用したら実行時エラーが出て、使えませんでした。ソフトを書いてもいいけれど...

自作AVRライター
昨日作成したAVRライター(シリアルライター)です。初の両面基板です。穴はずれてますが何とかごまかしています。

両面基板を使うとあまり配線の引き回しを心配しなくても配線を引けてしまうところがいいですね。最悪、UEWとかで引き回してもいいかなと思いましたが、ジャンパーを使うこともなく作ることが出来ました。

ちなみに自分のISPソケットは最初に作った時、ATMELのライターの資料(英語)を参考にして間違えてしまって左右が反対です。英語力が無さ過ぎ。それから全て左右が反対です。今更戻せません...
少しピンボケですが、裏です。電圧レベル変換用のバッファICと3.3V生成用のレギュレーターが乗ってます。
パターンを引き間違えて修正しているところも有ります。やっぱりプリント基板は楽ですね。















2009年4月28日