goo

ICテストクリップの利用

AVRマイコンへのプログラム書込み方法で楽なやり方を覚えましたのでその報告レポートです


画像説明
1小型ブレッドボードに配置されたAVRマイコンのATMEGA88とテスト用のLEDと330Ωのカーボン抵抗器です。
このマイコンに"LED点灯"のプログラムを書く方法は?
2AVRの開発ツールを統合したソフト "AVR Studio4"
このソフトでプログラム作成から機械語の.hexファイル作成まで実行します
LED点灯のC言語プログラムをここに書きます
3AVR純正品書込みライタ "AVRISP mkⅡ"
"AVR Studio4"がインストールされているPCとUSBで接続します
4ライターと書込み対象のAVRマイコンとを結ぶ6本のリード線
5ブレッドボード上のマイコンにプログラムを書き込むためにその都度6本のリード線を対象マイコンのピン配置に併せてボードの穴に差し込みます。
これが今までのプログラム書き込みのやり方ですが、手間がかかります。何とかならないものか、いろいろWebでの検索も参考にして手間が少しは楽になる工作をしました
6新兵器の "ICテストクリップ(20P)"、秋月で買いました
画像は秋月のHPより転載です
正にクリップでチップマイコンを上からバネの力で強く挟んで導通させる仕掛けです
72x20P(40P)連結ピンソケットです
2x3(6P)にカットしてAVRISPmkⅡの6Pソケットに接続します
画像のピンソケットは既に2x6P(12P)分をカットした残りです。
足が長い連結ピンソケットを使うのは、AVRISPmkⅡの6Pソケットにピンが深く差し込まれるようにするためです。
8両端がオス・メスのジャンパ線を使います
オス側は上記足長のピンソケットの端子穴に差し込みます。反対のメス側はICテストクリップのリード端子に接続します。従って今回の工作ではハンダ付けの作業はありません


AVRISPmkⅡの6Pソケットです。上記の足長連結ピンソケットの足を差し込みます



連結ピンソケットに6本のジャンパ線を差し込んで黒色の粘着ビニールテープで固定しました



この後、AVRISPmkⅡの6Pソケットに手前の加工済みの6Pピンを差し込みます



ジャンパ線の反対側(メス端子)をICテストクリップのリード端子と接続します
ここの部分もハンダ付けはしていません。



20PのICテストクリップをセットしたのでマイコンも20Pの "ATtiny2313"をブレッドボードに配置しました



ブレッドボードに挿してあるマイコン "ATtiny2313" の真上から20Pの "ICテストクリップ"が洗濯ばさみのように挟んでいる感じで接続されました。



純正書込み器"AVRISP mkⅡ" の6Pソケットにも連結ピンソケットの足が差し込まれています



28Pの "ATMEGA88"用にもう一式製作しました。
ジャンパ線を接続する"ICテストクリップ"のリード端子の位置が 20Pの "ATtiny2313"の場合とは違っています
この画像のセットで保管するので次回の回路組み立て、プログラム作成時の手間は大幅に減ります



28Pの "ATMEGA88"には 20Pの "ICテストクリップ" は長さが足りません。幸い接続するピンは1本を除いて右側に寄っているのでクリップをマイコンの右端に合わせて、はみ出る "RESET" ピン用のジャンパ線のみ直接ブレッドボードの1番ピンラインに挿し込みました
これで "ICテストクリップ" をAVRマイコンの書き込み部品の一部として利用するための工作は完了です



自作の9V→5V変換電源ボードをブレッドボードの電源ラインに接続、 "AVRISPmkⅡ" の緑色ランプが点灯して配線、導通がO.Kとなってプログラムの書き込み成功、テスト用の緑色LEDも点灯しました



28P用の "ICテストクリップ"でのLED点灯テストも無事成功!
画像の左側の縦に伸びている黒い線が "RESET" 端子用のジャンパ線でマイコン "ATMEGA88" の1番ピンのラインに挿されています








コメント ( 0 ) | Trackback ( 0 )

3Vボタン電池でATtiny2313を動かす

AVRマイコンは電圧が3Vでも動作するので電源電圧を3Vの「ボタン電池CR2023」として、プログラムの書込みも出来るLED点滅のテストボードを製作した


部品配線図は回路作成ソフト「BSCH3v」で作成



使用したユニバーサル基板(片面)
サイズ73x48
AVRマイコン
ATtiny2313
ピン配置ラベルを貼って使用
ATtiny2313用20P ICソケット
AVR書き込み器「AVRISPmk2」接続リボンケーブル挿入用のピンソケット(2x3= 6P)
画像は2x4の8Pになっているがカットして6Pで使用
LED電流制御用カーボン抵抗 
330Ω
使用LED
5φ、赤色
拡散キャップ(白色)をつけた
基板用スライドスイッチ
基板取付け用ボタン電池ホルダーと
使用電池 CR2032


基板に部品を取付け、配線をハンダ付けしてテスト基板が完成



完成したテスト基板にパソコンとUSBポートで接続しているAVR書込み器「AVRISPmk2」との接続はリボンケーブルを6Pヘッダピンを接続すると2つの緑色ランプが点灯して結線はOKのサイン



使用したプログラム
1秒間隔でLEDが点滅するプログラムです。
このプログラムをマイコンATtiny2313へ書込む工程も無事に完了し、書込み器「AVRISP mk2」の接続ケーブルをはずしてもLEDが点滅するのを確認しました。
このLEDライトは自室で就寝時にスイッチONして、翌朝起床時にスイッチOFFする長時間の使用で3Vボタン電池がどのくらい持続できるのか、をテストします。
LED点滅の様子はYou Tubeへのアップ動画をご覧ください


ATtiny2313 led
コメント ( 0 ) | Trackback ( 0 )

ATMEGA88のブレッドボード用シールドを作る

AVRマイコンにプログラムを書き込むには純正書き込み器「AVRISP mk2」を使うのだがマイコン側は6ピンリボンケーブルになっているので6本のジャンパ線を用意してターゲットマイコンの端子に接続する形になっている。
このジャンパ線をいちいち1本ずつ接続していくのも手間がかかる作業なのでWebで情報を集めていたらブレッドボードに搭載するシールド基板の製作法が出ていたので自分も作ってみた


Photo Shop Elementsを使って配線図を作成。



使用した部品

  • ユニバーサル基板=端材
  • 2x3の6Pinピンヘッダ(長いのをカットして使用)
  • 28Pin ICソケット
  • 14Pinピンヘッダx2(画像では普通の長さのピンヘッダになっていますがあとで足の長いピンヘッダに変えました)
  • マイコンATMEGA88-20PU (わかりやすいようにピン配置のシールを作って貼りました)


配線図の通りに基板に部品を載せてハンダ付けしました。



基板のハンダ面です。ハンダ付けの稚拙さは置いといて、7列分の中にリード線が重なりながら接続されています。そのうち電気的にショートしないか心配です。



ICソケットにピンラベルを貼っているマイコン「ATMEGA88-20PU」をはめ込みます。



Cタイプのブレッドボードに完成したシールドをはめ込みます。
電源取得用のDCジャック(変換アダプター)も載せました。
このタイプのブレッドボードでは作業スペースが狭いので簡単な回路しか組めません。大きなブレッドボードが必要になってきました。



AVRライターと5VのACアダプターを接続して通電テスト。グリーンランプが点灯して通電を確認しました。



コメント ( 0 ) | Trackback ( 0 )

AVRマイコン電子工作(3) 8led count

AVRマイコン " ATMEGA88-20PU " を使った電子工作の3回目です。
今回も前回使った8個のLED回路はそのまま利用して、プログラムだけ変更します
8個のLEDが2進数でカウントアップするプログラムです。



#include<avr/io.h>
#include<util/delay.h>

int main(void){

char count = 0; // 変数の型char 変数の名count

DDRD = 0b11111111; // ポートDを出力
PORTD = 0b00000000; // ポートD初期化

while(1){ // 無限ループ
PORTD = count;
_delay_ms(500); // 0.5秒待機
count++; // 1増加

}
return 0;
}
8個のLEDが2進数でカウントアップする様子は動画でご覧ください。



AVRマイコン電子工作(3) 8led count
コメント ( 0 ) | Trackback ( 0 )

AVRマイコン電子工作(2) 8led pass it on

AVR マイコン " ATMEGA88-20PU " を使った電子工作の2回目です。
前回作った8個の LED の回路はそのまま使ってプログラムだけを変更します。
今回は8個の LED が順送りで点灯する回路です。



// ATMEGA88-20PU 使用
// 8個のLEDを順送りで点灯させるプログラム
#include<avr/io.h>
#include<util/delay.h>

int main(void){

DDRD = 0b11111111; // ポートDを出力
PORTD = 0b00000000; // ポートD初期化

while(1){ // 無限ループ
PORTD = 0b00000001; //PD0点灯
_delay_ms(200); //200ms待機
PORTD = 0b00000010; //PD1点灯
_delay_ms(200); //200ms待機
PORTD = 0b00000100; //PD2点灯
_delay_ms(200); //200ms待機
PORTD = 0b00001000; //PD3点灯
_delay_ms(200); //200ms待機
PORTD = 0b00010000; //PD4点灯
_delay_ms(200); //200ms待機
PORTD = 0b00100000; //PD5点灯
_delay_ms(200); //200ms待機
PORTD = 0b01000000; //PD6点灯
_delay_ms(200); //200ms待機
PORTD = 0b10000000; //PD7点灯
_delay_ms(200); //200ms待機
PORTD = 0b01000000; //PD6点灯
_delay_ms(200); //200ms待機
PORTD = 0b00100000; //PD5点灯
_delay_ms(200); //200ms待機
PORTD = 0b00010000; //PD4点灯
_delay_ms(200); //200ms待機
PORTD = 0b00001000; //PD3点灯
_delay_ms(200); //200ms待機
PORTD = 0b00000100; //PD2点灯
_delay_ms(200); //200ms待機
PORTD = 0b00000010; //PD1点灯
_delay_ms(200); //200ms待機

}
return 0;
}

8個の LED が順送りで点灯する様子は動画でご覧ください
いわゆるナイトライダーという点灯スタイルですかね。




AVRマイコン電子工作(2) 8led pass it on

コメント ( 0 ) | Trackback ( 0 )

AVRマイコン電子工作(1) change 8led

Arduino,PIC,Mbed,に続きまたまた新しいマイコンに手を付けてしまった。
その名は「AVRマイコン」。メーカーは「ATMEL社」だが、どうも初心者向けのネットじょうほうや、書籍が「Arduino」や「PIC」に比べると少ないらしい。
Webで「零からの電子工作」という動画での講座の中で「AVRマイコン」が取り上げられているのを知り、これを視聴しながら勉強することにした。


プログラム作成やbuldする開発環境はメーカーのホームページから無償でダウンロード、インストールできるがマイコンチップにプログラムを書き込むライターは純正製品「AVRISPmk2」を秋月電商で購入、3,200円也。(左画像)
使用したマイコンは ATMEGA88-20PU(右画像)



以前の通り回路図はソフト " BSch3v " を使って作成、画像右の6Pinのコネクターは AVRマイコンライター "AVRISPmk2"から出ています。



// 8個のLEDが交互に点灯するプログラム
#include<avr/io.h>
#include<util/delay.h>

int main(void){

DDRD = 0b11111111; // ポートDを出力
PORTD = 0b00000000; // ポートD初期化

while(1){ // 無限ループ
PORTD = 0b01010101; //PD0,2,4,6のLEDを点灯
_delay_ms(500); //500ms待機
PORTD = 0b10101010; // PD1,3,5,7のLEDを点灯
_delay_ms(500); //500ms待機

}
return 0;
}


小さいブレッドボードに電源用のDCジャック、マイコン "ATMEGA88-20PU" 、そして8個のカーボン抵抗とLEDを配置し、ジャンパ線で結線するこの作業が一番手がかかった。
LED点灯の様子は動画でご覧ください


AVRマイコン電子工作(1) change 8led
コメント ( 0 ) | Trackback ( 0 )