AVRプログラマあれこれ
AtmelのワンチップマイコンAVR用のプログラマとしては、純正のAVRISPが有名ですが、どうやらこちらはディスコンとなっており、ARMベースのマイコンにも対応したAtmel-ICEが後継品となっているようです。ちなみに私は現在2種類のプログラマを所有していますが、いずれも上記の純正品ではなくサードパーティー製の製品で、純正品に比べると制限事項などもあったりしますが、安価であるうえに純正品にはない機能を備えていたりもします。今日はそんなサードパーティー製のプログラマを紹介したいと思います。
私がAVRマイコンを始めるにあたって最初に購入したのがこちら、共立電子産業(デジット)のAVRWRT3というモデルです。これを選んだのは安価だったというのが一番の理由ですが、純正品にはない外部クロック供給機能を備えているのが特徴です。外部クロックは、ヒューズビットを書き換えてシステムクロックを外部クロックに切り替えてしまったマイコンを、外部クロックの供給されていない状態でプログラム(ヒューズビットの書き換えも含めて)するのに必要な機能で、いざというときには役に立つと思います。また、ジャンパピンを差し替えることで、ISPコネクタから5Vの電源を供給することもできるようになっています。USBシリアル変換チップには定番のFT232RL、コントローラとしてはATtiny2313が載っています。

欠点は、AtmelStudioから直接書き込むことができず、専用のツールを使用する必要があるところと、ドライバのインストールの際に、ドライバ署名の強制を切る必要があるところでしょうか(マニュアルにWin 8でのインストール方法が記載されていますが、Win 10でも同じ方法でインストールできました)。専用のツールについては特に使いにくいというわけではなく、起動しっぱなしにしておくとコンパイル済みのバイナリをワンクリックで書き込めるので場合によってはむしろ便利かもしれません(画像が書き込みツールの操作画面)。

ただ、ほかのFT232RLのドライバを別途インストールしていると、デバイスの認識がうまくいかず、書き込めなくなることがあります。

その場合には、ほかのFT232RL搭載デバイスを先に接続して認識させておくとうまく行きました。

私の場合、このドライバ認識の問題がすこし面倒くさく感じるようになってきたのでAVRISPへの買い替えを考えたのですが、上記のごとくディスコンとなっており、Atmel-ICEも比較的高価(秋月で7000円)なのでほかのプログラマを探していたところ、Pololuというメーカーのプログラマを見つけたので買ってみました。私が買ったのはPololu USB AVR Programmerというもので、こちらはAtmel Studioから直接書き込みが可能、ユーザーが自由に使えるUSBシリアル変換機能、電源供給機能、20kHzまで対応の簡易PCオシロスコープ機能を搭載しているのが特徴です。コントローラチップにはPICが搭載されており、画像の上側にある1列のピンソケット(これは別売りなので、自分で用意してはんだ付けします)に、電源供給端子、シリアル通信端子、オシロでも使用するI/Oポートが出ています。私はスイッチサイエンスで2600円程度で購入しましたが、現在では品切れとなっており、ロボショップなどで購入できるようです。

実際にシリアルポートを接続して実験しているところ。これまでは別途USBシリアルアダプタ(以前ポケコン用に製作したもの)を使用していたので、接続ケーブルが減ってすっきりしました。ちなみにこのシリアルポートですが、パリティなどの設定を変更しても反映されず、常にパリティなし、ストップビット1ビットの設定での通信となるようなので注意が必要です。

ちなみにこちらの商品も今後はPololu USB AVR Programmer v2に切り替わっていくのかもしれません。v2のほうは簡易オシロの機能が省略されている代わりに、3.3V動作の回路に直接接続することができるようです。3.3V動作をとるか、簡易オシロをとるか、どちらを必要としているかによって選べばよいと思います。
PCに接続すると、このようにプログラミング用のシリアルポートと、ユーザー用のシリアルポートの2つが認識されます。

AtmelStudioからこのプログラマを使用するには、「ツール」メニューの ”Add Target” から、”STK500” を選んで接続ポートを選択すればOKです。

簡易オシロ機能を試してみたところ。LCDの駆動波形を見ています。

このようなツールを使用してAVRマイコンでいろいろ実験中です。今は表示デバイスの駆動がマイブームとなっており、7セグメントLEDや、コントローラなしの7セグメントLCDを駆動するプログラムを作って遊んでいます。もうちょっと完成度が上がれば当ブログで公開したいと思っていますので、もうしばらくお待ちくださいませ。
左側が後継機のv2です。右側のは安すぎですね…。
私がAVRマイコンを始めるにあたって最初に購入したのがこちら、共立電子産業(デジット)のAVRWRT3というモデルです。これを選んだのは安価だったというのが一番の理由ですが、純正品にはない外部クロック供給機能を備えているのが特徴です。外部クロックは、ヒューズビットを書き換えてシステムクロックを外部クロックに切り替えてしまったマイコンを、外部クロックの供給されていない状態でプログラム(ヒューズビットの書き換えも含めて)するのに必要な機能で、いざというときには役に立つと思います。また、ジャンパピンを差し替えることで、ISPコネクタから5Vの電源を供給することもできるようになっています。USBシリアル変換チップには定番のFT232RL、コントローラとしてはATtiny2313が載っています。

欠点は、AtmelStudioから直接書き込むことができず、専用のツールを使用する必要があるところと、ドライバのインストールの際に、ドライバ署名の強制を切る必要があるところでしょうか(マニュアルにWin 8でのインストール方法が記載されていますが、Win 10でも同じ方法でインストールできました)。専用のツールについては特に使いにくいというわけではなく、起動しっぱなしにしておくとコンパイル済みのバイナリをワンクリックで書き込めるので場合によってはむしろ便利かもしれません(画像が書き込みツールの操作画面)。

ただ、ほかのFT232RLのドライバを別途インストールしていると、デバイスの認識がうまくいかず、書き込めなくなることがあります。

その場合には、ほかのFT232RL搭載デバイスを先に接続して認識させておくとうまく行きました。

私の場合、このドライバ認識の問題がすこし面倒くさく感じるようになってきたのでAVRISPへの買い替えを考えたのですが、上記のごとくディスコンとなっており、Atmel-ICEも比較的高価(秋月で7000円)なのでほかのプログラマを探していたところ、Pololuというメーカーのプログラマを見つけたので買ってみました。私が買ったのはPololu USB AVR Programmerというもので、こちらはAtmel Studioから直接書き込みが可能、ユーザーが自由に使えるUSBシリアル変換機能、電源供給機能、20kHzまで対応の簡易PCオシロスコープ機能を搭載しているのが特徴です。コントローラチップにはPICが搭載されており、画像の上側にある1列のピンソケット(これは別売りなので、自分で用意してはんだ付けします)に、電源供給端子、シリアル通信端子、オシロでも使用するI/Oポートが出ています。私はスイッチサイエンスで2600円程度で購入しましたが、現在では品切れとなっており、ロボショップなどで購入できるようです。

実際にシリアルポートを接続して実験しているところ。これまでは別途USBシリアルアダプタ(以前ポケコン用に製作したもの)を使用していたので、接続ケーブルが減ってすっきりしました。ちなみにこのシリアルポートですが、パリティなどの設定を変更しても反映されず、常にパリティなし、ストップビット1ビットの設定での通信となるようなので注意が必要です。

ちなみにこちらの商品も今後はPololu USB AVR Programmer v2に切り替わっていくのかもしれません。v2のほうは簡易オシロの機能が省略されている代わりに、3.3V動作の回路に直接接続することができるようです。3.3V動作をとるか、簡易オシロをとるか、どちらを必要としているかによって選べばよいと思います。
PCに接続すると、このようにプログラミング用のシリアルポートと、ユーザー用のシリアルポートの2つが認識されます。

AtmelStudioからこのプログラマを使用するには、「ツール」メニューの ”Add Target” から、”STK500” を選んで接続ポートを選択すればOKです。

簡易オシロ機能を試してみたところ。LCDの駆動波形を見ています。

このようなツールを使用してAVRマイコンでいろいろ実験中です。今は表示デバイスの駆動がマイブームとなっており、7セグメントLEDや、コントローラなしの7セグメントLCDを駆動するプログラムを作って遊んでいます。もうちょっと完成度が上がれば当ブログで公開したいと思っていますので、もうしばらくお待ちくださいませ。
左側が後継機のv2です。右側のは安すぎですね…。
- 関連記事
-
- 安価なユニバーサルプログラマMiniPro TL866CS (2016/11/15)
- AVRプログラマあれこれ (2016/11/12)
- 400円のArduino互換機を買ってみました (2016/11/09)
スポンサーサイト