新規記事の投稿を行うことで、非表示にすることが可能です。
2016年05月04日
マイコンのライタを作りました!
センサーの信号を扱ったりモーターの制御をしたりするのに、マイクロコンピュータ(マイコン)が必要であると感じました。これは、人間がプログラムを入れてやることで、ある端子に何か入力があったらこういう動作をする、とか、こういうタイミングでこういう動作をする、という命令を実行してくれます。というわけで、マイコンがあったらすごく色々なことができそうなので、マイコンを扱う環境を整えたいと思いました。マイコンについてちょっと調べてみたら、PICかAVRというマイコンが手に入りやすいマイコンで、価格もそんなに違わないみたいです。先日作ったオシロスコープのキットには、PICが入っていました。開発の仕方の違いとかよくわからないのですが、どうやらPIC派とAVR派で大きな対立があるみたいで(?)、どっちを使うかというのは性能差というより好みの問題なのでしょうね。
たまたま、AVRマイコンにプログラムを書き込むデバイス(ライタ)を使える機会があったので、これを使って自分用のAVRマイコンのライタを作ってみました。ライタとパソコンとプログラムを作るためのソフト(AVRの場合はAtmel Studio)があれば、マイコンに好きな動作をさせることができます!千秋ゼミさんのページを参考に、HIDaspxというAVRマイコン用プログラマを作りました。
こんな感じの回路を描いてみて頑張って作りました。USBケーブル(オス)は、4色の4本線が通ってますが、赤(5V)、黒(GND)、緑(D+)、白(D-)で繋ぎました。上の左図の@の部品は、TA48033Sという三端子レギュレータを使いました。USBで供給される5Vを3.3Vにしています(何で3.3Vにしてるのかはわかりません(^_^;)もし5Vのまま使うなら、USBのD+とD-のところにツェナーダイオードが必要になるみたいです)。またAの部品は、AVRマイコンのATTINY2313です。後述しますが、別のAVRライタを使ってあらかじめライタとして動作させるのに必要なソフト(ファームウェア)を書き込んでおきます。MISOとかMOSIとか書いてあるところのピンソケットは、プログラムを書き込みたいマイコン側にリード線で(マイコンのデータシートで確認できるMISOとかMOSIに対応しているピンに)繋ぐためのものです。ちなみに、33μFの電界コンデンサは買い忘れてしまったので、手元にあった47μFのものを使いました。これらの部品は全部秋月電子通商で揃えました。秋月は安くて便利ですね。家の近くに電子部品屋さんがあればいいのになー。
手のひらサイズのAVRライタが作れました!箱は、壊れたSDカードリーダーの箱を再利用しました。USBケーブルもついていたので、丁度良かったです。LEDは手元にアノードコモンの赤・青のものがあってそれを使ったので、回路図の緑色LEDは青色LEDにしてます。
AVRライタのファームウェアの書き込みですが、たまたま借りて使えたライタもHIDaspxで、hidspxというソフトを使って書き込みました。千秋ゼミさんのダウンロード用ページでhidspx-2012-0326.zipをダウンロード(2016/5/4時点)しました。この中のbinフォルダの中のhidspx-GUI.exeを起動して、AVRライタをATTINY2313と繋ぎ、パソコンにライタのUSBケーブルを挿して、bin>firmwareのフォルダにあるmain-12.hexというファイルのファームウェアをATTINY2313に書き込みました。マイコンのヒューズビットも、デフォルトのLo:64、Hi:DFから、Lo:FF、Hi:DBに書き換えました。一回書き換えると、12MHzの発振器を繋げないと読み込めなくなってしまうので注意です。
AVRライタが無い場合、RC232Cコネクタを使ったファームウェアの書き込み方法があるらしいです。
一応ちゃんと動いていますが、市販品のライタを買った方が安心感はあるかもしれません。
たまたま、AVRマイコンにプログラムを書き込むデバイス(ライタ)を使える機会があったので、これを使って自分用のAVRマイコンのライタを作ってみました。ライタとパソコンとプログラムを作るためのソフト(AVRの場合はAtmel Studio)があれば、マイコンに好きな動作をさせることができます!千秋ゼミさんのページを参考に、HIDaspxというAVRマイコン用プログラマを作りました。
こんな感じの回路を描いてみて頑張って作りました。USBケーブル(オス)は、4色の4本線が通ってますが、赤(5V)、黒(GND)、緑(D+)、白(D-)で繋ぎました。上の左図の@の部品は、TA48033Sという三端子レギュレータを使いました。USBで供給される5Vを3.3Vにしています(何で3.3Vにしてるのかはわかりません(^_^;)もし5Vのまま使うなら、USBのD+とD-のところにツェナーダイオードが必要になるみたいです)。またAの部品は、AVRマイコンのATTINY2313です。後述しますが、別のAVRライタを使ってあらかじめライタとして動作させるのに必要なソフト(ファームウェア)を書き込んでおきます。MISOとかMOSIとか書いてあるところのピンソケットは、プログラムを書き込みたいマイコン側にリード線で(マイコンのデータシートで確認できるMISOとかMOSIに対応しているピンに)繋ぐためのものです。ちなみに、33μFの電界コンデンサは買い忘れてしまったので、手元にあった47μFのものを使いました。これらの部品は全部秋月電子通商で揃えました。秋月は安くて便利ですね。家の近くに電子部品屋さんがあればいいのになー。
手のひらサイズのAVRライタが作れました!箱は、壊れたSDカードリーダーの箱を再利用しました。USBケーブルもついていたので、丁度良かったです。LEDは手元にアノードコモンの赤・青のものがあってそれを使ったので、回路図の緑色LEDは青色LEDにしてます。
AVRライタのファームウェアの書き込みですが、たまたま借りて使えたライタもHIDaspxで、hidspxというソフトを使って書き込みました。千秋ゼミさんのダウンロード用ページでhidspx-2012-0326.zipをダウンロード(2016/5/4時点)しました。この中のbinフォルダの中のhidspx-GUI.exeを起動して、AVRライタをATTINY2313と繋ぎ、パソコンにライタのUSBケーブルを挿して、bin>firmwareのフォルダにあるmain-12.hexというファイルのファームウェアをATTINY2313に書き込みました。マイコンのヒューズビットも、デフォルトのLo:64、Hi:DFから、Lo:FF、Hi:DBに書き換えました。一回書き換えると、12MHzの発振器を繋げないと読み込めなくなってしまうので注意です。
AVRライタが無い場合、RC232Cコネクタを使ったファームウェアの書き込み方法があるらしいです。
一応ちゃんと動いていますが、市販品のライタを買った方が安心感はあるかもしれません。