ラベル AVR の投稿を表示しています。 すべての投稿を表示
ラベル AVR の投稿を表示しています。 すべての投稿を表示

2009年11月30日

AVR備忘録 -入出力レジスタ設定-

ちょっと意識しないとあっという間に忘れてしまいそうな事をAVR備忘録として記す。

1.各ピンの入出力はDDRxの方向レジスタで設定する。

 例1:DDRD |= ( 1 << PD1 ); // PD1ピンを出力とする。
    PORTD = ( 1 << PD1 ); // 初期値(Hi)設定。

 例2:RRDB &= ~( 1 << PB4 ); // PB4ピンを入力とする。
    PORTB = ( 1 << PB4 ); // プルアップに設定。

2.プルアップされたスイッチの押下を判定する場合。
 プルアップされたスイッチは、未押下でHi、押下でLowになる。
 
 入力の判定はPINxレジスタの各ビットを判定する。

 例1:( PIND & ( 1 << PD1 ) ) == 0 // 左記の式が真の場合は押下状態。

2009年3月29日

Tiny2313書き込み用アダプタ 作成

ずいぶん間が開いてしまったが、
秋月で部品を補充して、
前回の設計した2313用アダプタを実装した。

コネクタ側

Tiny2313ソケット側


なかなか密な実装になったが、
ヒューズ情報、signatureも読み込めた。


Tiny26用実験ボードに乗せてみた感じ。

横から見ると、ICソケットがTiny26用ソケットの1~10ピンを
跨ぐように設置されているのがよくわかる



作成中に、気になった事が数点、

ピンソケットの切り分けタイプは、
手持ちのニッパーが安物のせいか、
高確率で樹脂部分が破損し使えなくなった。


写真中で、割れてピンの内部が確認できる。

アダプタの固定用に、動作確認用のピンに繋げようと思っていたが、
あまりの歩留まりの悪さに、今回は使用は見送った。


もう一つ、
緑のユニバーサル基板(紙フェノール基板と言う素材らしい)を
任意のサイズに切断したかったのだが、
金鋏で切断を試みるも、半ば以降で基板が割れてしまった。
幸い、10ピン分のランドは無事だったので、そのまま使用した。


Webで調べてみると、金鋸かプラカッター辺りが妥当らしい、
金鋸ならあったのに…切りクズの発生を嫌って、横着したのが仇になった。

そして、今回使用した。
秋月のICソケットだが、はんだ付けしないソケットにICを深くまで指すと、
ソケット側の金具が抜ける事があった。

ICソケットの足は全てはんだ付けした方が無難なのだろうか?
しかし今回は、使わない足は結線の関係上、切り落としてある。
いっそ、ソケットから金具を取り除くのも有りかもしれない。

そもそも、そこまで深くICを挿す必要がないか。

さてさて、高電圧書き込みのためのソフトをなんとかしなきゃ~

2009年3月11日

Tiny2313書き込み用アダプタ 設計

ATiny26用のマイコンボードにATiny2313を
無理矢理載せるためのアダプタだが、
どうも設計がうまくいかない。

ATiny26とATiny2313では、決定的にピン配列が異なるのだ。
ピンヘッダーとICソケット間で、素直にピン配置を変換しようとすると、
結線が交差しまくって、如何ともし難い状態になる。

むぅ、困ったもんだ。

だが、そこは考えて作られているモノだけのことはある。
ちょっと視点を変えれば、こんがらがった結線も、
ちゃんとシンプルに解決する方法があった。

ATiny2313を180度回転させればいいのだ!
これでピン変換が格段にシンプルになった。



そのピン変換と接続が上記図。

これなら、剥き身の銅線を使っても、結線が交差しないので、
問題なさそうだ。

と、ここで問題発生!

なんてことだ。
ピンヘッダのピンが、ICソケットに刺さらない!
たしかに太さが全く違う。

ど、どぎゃんしよう……

2009年3月10日

Tiny2313書き込み用アダプタ 準備

やってしまった。

不手際で、残りのTiny26を全て動作不能にしてしまった。
何とかして、Tiny26を復旧したい。

幸い、fouseを書き直せば復旧できそう、
RSTDISBLをやってしまった場合、
高電圧プログラミングが出来れば、復旧できる…らしい。

RESETピンに12Vを加えながら、何かをするらしいが、
何かの部分はTiny2313辺りで制御しながら何とかするそうな。

幸い手元にはTiny2313が数個あるので、
これを使って、高電圧プログラマ…というか、
高電圧フューズイニシャライザを作成したい。

そのためには、Tiny26用に作成されているマイコンボードで
Tiny2313を書き込める用にしなければならない。

幸い、20ピンのICソケットはまだ数個残っているので、
Tiny2313用にピン配置を変更するアダプタ様のモノを
でっち上げるだけで何とかなるだろう。

ただLEDを光らせるだけで、エライ遠回りだ…

2009年3月4日

ナイトライダー風LED作成 その2

マイコンボードの不良、ありました。
プログラムモードスイッチの、プログラム側と、実行側が逆でした。
と、いうわけで、基板上のマークを書き直して、
修正完了。

LED点滅テストプログラムを実行するも、やはり、PB7はHIになりっぱなし。

むー

そうすると、PB7のRESETの機能自体が悪さをしているのかしらん?
データシートをひっくり返すと、
ありました。

FOUSEのRSTDISBL。
これにフラグがたっていないと、入力も出力も無効にされるらしい。
おまけに、RESETはLOW活性、つまり、何もしない状態では、
常にHIを出力しているらしい。

なるほど、それで辻褄が合った。

では早速、FOUSEのRSTDISBLをチェックし、
書き込み!

そして実行。

テスタで電圧を測ると・・・
おぉ~、揺れている、PB7の出力電圧が揺れているではないか。
おっけー!

んじゃ、気を取り直して、ナイトライダー風LEDのプログラムを書き込んでみよう。

ん?


書き込めない。
というか、読み込めない。
なによりも、AVRISP mkIIのstate LEDがオレンジに点滅してる…
明らかに、やばそうな雰囲気…(汗
オレンジのてんめつは「コネクタの極性が間違ってるよ」らしいが、
ピンの位置は合っている。

と、いうことは…
RESETを無効化したのが、効いているのか!


やってしまった。
はい、破損マイコン一号の完成。   orz

数少ないTiny26チップを…
ということで、FOUSEをいじる場合は、十分気をつけよう。

残弾:2

2009年3月3日

ナイトライダー風LED作成 その1

ナイトライダー風LED点灯プログラムの作成だ。

使うマイコンボードは、先日作成した
簡易実験用マイコンボード。

今回は、PORTBのPB0~PB7までの8ピン使って
点滅表示させる。

欲を言えば、点灯後の残像もほしいところだが、
それはまた今度、とりあえず光点が8つのLEDの間を、
往復する事を確認する。

まっさらから、プログラムを組むのは、ちょっと面倒なので、
LED点灯テストに用いたプログラムを改造する。

ただし、projectは新規に起こす。

// ナイトライダー風LED点滅プログラム

#include <avr\io.h>

#define PB0_OUT 0x01 // ポートPB0を出力設定
#define PB1_OUT 0x02 // ポートPB1を出力設定
#define PB2_OUT 0x04 // ポートPB2を出力設定
#define PB3_OUT 0x08 // ポートPB3を出力設定
#define PB4_OUT 0x10 // ポートPB4を出力設定
#define PB5_OUT 0x20 // ポートPB5を出力設定
#define PB6_OUT 0x40 // ポートPB6を出力設定
#define PB7_OUT 0x80 // ポートPB7を出力設定

#define HI 0x01          // Hiにする。

void wait();

int main() 
{
    int pos = PB0;
    int l2r = 1;    // PB0→PB7:1 PB7→PB0:0
//    DDRB = PB0_OUT | PB1_OUT | PB2_OUT | PB3_OUT 
//         | PB4_OUT | PB5_OUT | PB6_OUT | PB7_OUT; 
    DDRB = 0xFF;
    
    while(1){
        
        if ( l2r == 1 ) {
            for ( ; pos <= PB7; pos++ ){
                // ポートPBposを点灯
                PORTB = HI << pos;
                wait();
            }
            l2r = 0;
            pos = PB7;
        } else {
            for ( ; pos >= PB0; pos-- ){
                // ポートPBposを点灯
                PORTB = HI << pos;
                wait();
            }
            l2r = 1;
            pos = PB0;
        }
    }

    return 0;
}

void wait()
{
    int i;
    for ( i = 0; i <= 20000; i++ ) {
        // nothing to do. 
        // wait loop
    }
}



このコードで動くかと思ったが、どうも上手くいかない。
PB7が常にHIになったまま、
その他のピンがHIにならない。

こういう時は初心に返るに限る。
LED点滅プログラムを改造して、全ピンを点滅するようにする。

// LED点滅テスト

#include <avr\io.h>

//#define PB0_OUT 0x01 // ポートPB0を出力設定
#define PB0_OUT 0xFF // ポートPB0~7を出力設定

//#define PB0_HI 0x01 // ポートPB0をHiにする。
#define PB0_HI 0xFF // ポートPB0をHiにする。

int main() 
{
    long i;

    DDRB = PB0_OUT; 

    while(1){
        for ( i = 0; i <= 20000; i++ ) {
            // nothing to do. 
            // wait loop
        }
        // ポートPB0を反転
        PORTB ^= PB0_HI;
    }

    return 0;
}


これも、PB0~PB6はピコピコと点滅信号を出しているが、
PB7だけが常にHI
PB7はRESETポートと兼用なので、ひょっとすると、マイコンボード側にミスがあるのかもしれない。
ちょうど、プログラムモード切替スイッチを付けたりして、複雑な形状をしているから、あり得ない話じゃない。

というわけで、ちょっとマイコンボードを再点検する必要がある。


2009年2月27日

ATiny26専用簡易実験マイコンボード 作成

ATiny26専用簡易実験マイコンボードの作成だ。


いきなり回路図。



仕様的には何らおもしろい部分はないが、
ICソケットの横に、ピンの状態をモニタするためのピンヘッダを
植えてある。

ユニバーサル基板への実装は下記。

上から、


下から、


足付きなのは、よくできた印。


ICソケットの両脇に生えるピンヘッダの列。
これで、このマイコンボードとブレッドボードの接続も容易になる…はず

回路図と違う点は1点。
0.1μFのパスコンは、
回路図上は、ピンヘッダの外側に配置されているが、
パスコンは、ICの電源の可能な限り近くに設置した方がよい。
らしいので、ICソケットの5番、6番ピンのすぐ隣に設置した。

Atiny26を載せるとこんな感じ。



右のスイッチがPOWER、
左はモードスイッチ、Programモードと実行モードの切り替え用。

ユニバーサル基板上をのたくっているのは、エナメル線。
ICソケットとピンヘッダ間は、裸銅線を使用した。
エナメル線の皮膜は、ライターで焼いてみたりもしたが、
いまいちなので、最終的には皮膜はカッターで削り取った。
サンドペーパーよりも確実に皮膜を剥けるし、
剥く位置も確実に調整できるので、ストリッパー購入まで、
しばらくこの方法でエナメル線と付き合っていくことにする。

エナメル線の皮膜剥きが確実になると、
なるほど、この細さで絶縁された銅線は使いやすい。

エナメル線、万歳! だ。

ちなみに、ちゃんとAVRISP mkII経由で、
読み込み、書き込み、実行が出来ていることは確認できた。

さて、ついにナイトライダー風LEDを作ろう。

2009年2月23日

プログラムの書き込み・動作試験

AVR Studioで「AVRマイコン活用ブック」に入っている
LED点滅テストプログラムを入力する。



とても短いプログラムなので、
特に難しい点も無く入力完了。

唯一のインクルードファイルである”avr/io.h”は、
WInAVRをインストールしたフォルダ下に展開されているモノだ。
だが、このファイル自体に定数の定義はない。

 io.h と同じフォルダに、各チップ毎に ***io.h がある。
この***の部分がチップの型番にあたる。

今回はターゲットがATiny26なので、
ti26io.hが実際に展開されるファイルになるだろう。
中身を確認するよ、確かにプログラム中で使っている定数が定義してある。
今後、使える定数という事で、一通り目を通しておくと良さそうだ。

で、ビルド。
なんも考えずに成功。


赤線の部分に build scceeded with in 0 werning…が出力されている。

次は書き込み、
AVRISP mkIIとConnect、Programタブの下での作業となる。

まずは、マイコンの初期化。
「Erase Device」ボタンをクリック。

OK。
設定しておけば、書き込み前に自動でしてくれるらしいが、
今回は手動で行ってみる。

次に、Hexファイルの書き込み。
Buildで作成したHexファイルを指定して、
「Program」ボタンをクリック。


書き込まれたHexファイルを検証。
「Verify」ボタンをクリック。


どちらもOK。

続いてつづいて、動作確認。
マイコンボード上、RESETピンに繋がるのジャンパーを解放して、実行モード。


黒いテスタ棒の先で、横を向いているのは、片側を浮かせたジャンパー。
完全に取り外してもいいのだが、紛失防止のために片側は刺したままにしてある。


電源を投入すれば、PB0、1番ピンが周期的に、
HI と LOW を繰り返しているはず。

実測!
はい。めでたく動作しておりました。
1番ピンとGND間の電圧が、ピコピコと上下しているのが、
アナログテスタで確認出来ました。

針がぶれて見えるのは、周期的に振れているため。

うんうん。
ここまで来ると、ちゃんとLEDを繋いでみたい。
で、LEDを周期点灯させるのなら、是非やっておきたい事がある。

ナイトライダー風LED!
横に並んだLEDを光点が往復するアレ。
アレを作りたい!

というわけで、次なる目標は、ナイトライダーLED!
…ではなく、その前に、この微妙に使いにくいマイコンボードを
もう少し小規模実験に使いやすい形に作り直したいと思う。

2009年2月20日

自作マイコンボード 動作確認 その4

やはり頼りになるのはデータシートだ。

日本語版データシートの「直列プログラミング」の項目に、
ISPでの書き込みの際の結線方法を詳しく書いてある。

それと見比べると、「AVRマイコン活用ブック」の回路図は、何か足りない。

RESET と AVCCピンへの接続がない。
これAVRISP mkIIで読み込みのできない原因はこれじゃないのか? 
と疑問に思い、よ~く見ると、
なんと「AVRマイコン活用ブック」で使っているマイコンは、ATiny26だ。

ナンテコッタ。

ATiny26Lは手元にある無印”ATiny26”の低電圧版だ。
道理で本では単3電池2本で駆動しているはずだ。
”L”は駆動電圧が低い代わりに、動作速度が無印比べて遅い。
だがピン配列やその他のスペックは同様。
AVRの勉強で使う分には、どちらでも構わないと言えば、構わない。
その差異には十分な注意が必要だが…

気を取り直して、データシートを元に足りない結線を追加する。

RESETピンはそのまま短絡するのも怖いので、
ジャンパーでON/OFFできるようにしておく。

改修版のマイコンボードボードがコレ。




で、動作確認。
RESETをジャンパーでGNDに短絡させて、
いざ、AVR Studioを起動!

見事、signeture byteとfuses bitの読み込みに成功!




とりあえず、最初の山は越えた感があるが、どうなんだろぅ。

明日以降は、動作確認のためのLED点灯のためのプログラムの作成を開始する。

2009年2月19日

自作マイコンボード 動作確認 その3

Atiny26のデータシートをダウンロードして中身を確認すると、
怪しい箇所を発見。

ATiny26の動作電圧は4.7~5.5V!
いつぞや、動作電圧は3.3~5.5Vだから、DC電源を3Vモードで動かせば、OK
とか書いたが、どうやらアレは、低電圧番のATiny26Lの何かを勘違いした?
(それでも動作電圧の範囲が間違っているが…)

という事で、この前作ったDC電源の実出力電圧3.6V、6V、15.2Vでは、
動作電圧を供給できない!!

ガーン…

むむむ、DC電源を作り直すか…
それにはちょっと手持ちの部品が足りない。

ジャンクヤードをあさっていると、出所不明のACアダプターを発見。

出力5V 1.2A

これでイイやん。
という事で、5V電源確保。

コネクタ部分を工作して5Vの出力を確認。

多少電圧が高いが、まあ許容範囲内
嗚呼、この前の苦労が…

それでもこれで動いてくれるのなら
 :
 :
ハイ、動きませんでした。

相変わらずのエラーメッセージ。
やっぱりマイコンボードに致命的な何かがあるのかしらん?

2009年2月18日

自作マイコンボード 動作確認 その2

自作マイコンボードの回路確認。



やっぱりありました、未結線箇所。
だめじゃん。

確実に、結線忘れを防ぐ方法は知っている。
1.組もうする回路図を紙に書くする。(印刷も可)
2.ユニバーサル基板上に部品を配置、結線をする。
3.結線箇所に相当する部分を回路図上でマークする。
こうすれば、未結線が一目瞭然、安全だ。

ただ面倒なのでやっていなかったが、そうも言っていられない。

と言うわけで修正。


基盤上部の16番ピンへGNDが接続されていなかった。

再び電源とAVRISP mkIIと接続しテスト。
しかし、結果変わらず…

むぅ、どこがどう悪いのか見当が付かない。

データシートと首っ引きで、調べる必要がありそうだ。

こりゃ時間がかかるぞ…と

2009年2月17日

自作マイコンボード 動作確認 その1

昨日から、DC電源とマイコンボード、AVRISP mkIIを接続し
AVR Studioでfouse bitの読み込みでも出来ないモノかと試行錯誤を続けている。

だがしかし、AVR Studioの
メニュー→Tools→AVR Program→Connect
プログラマの選択画面で、AVRISP mkIIを選択し、Connectボタンおクリック

Device and Signature Byte で 
「ATiny26」を選択。

Proframming Mode and Target SettingのSettingsボタンから、
ISP Clickを設定。
設定値は、「125kHz」
ATiny26の工場出荷時の内部クロックは1MHzらしいので、
250kHz以下なら問題ない様な気がする。

だがしかし、Fouseビットを読み込もうとすると、エラー。
sigunatureを読み込もうとするとエラー。
エラー、えらー、鰓ー。

…くっ。

エラーメッセージ(超適当意訳)によると、

ターゲットがみつかんねーよ、結線見直すか、
ISP Clickをチップの周波数の1/4以下にして出直せ。

らしい。

ISPクロックは、最小値から最大値まで、試したが結果変わらず…
というわけで、マイコンボードの回路を見直す必要がありそうだ。


2009年2月15日

PC側 開発環境 インストール その2

何事も思い込みを持つのはよろしくない。
USBの位置はどうやら関係なかったらしい。

AVRISP mkIIは無事ファームウェアのアップグレードに成功した。

その手順は、
メニュー → Tools → AVRISP mkII upgrade
を直接実行するのではなく。

メニュー → Tools → Program AVR → Connect
を叩く。

そうすると、「ファームウェアのバージョンが最新版じゃないよ」的なメッセージが表示され、
「ついでにアップグレードしようや」と言われるので、迷わずOK。
昨日はエラーメッセージを表示していただけのダイアログで、
「Start Upgrade」ボタンが触れるようになっている。
こいつをクリックすると、プログレスバーが、グイグイ伸びてファームウェアのアップグレードが完了。

めでたしめでたし…ではない。

これは、正規の手順じゃない。
チップへの書き込み機能のオマケみたいなモノなので、
今後もこれでは困るかもしれない。

だが、相変わらず
メニュー → Tools → AVRISP mkII upgrade
を叩いても、「Error:No AVRISP mkII in boot mode found...」と出て、先に進まない。
そもそも、boot modeにならない。

英語のユーザーズガイドを何とか読み解くと、
ユーザーズガイドはhttp://www.atmel.com/
 products->AVR 8bit RISC->Tools And SoftWare ->
 In System Programming-> AVRISP mkII In-System Programmerからダウンロード

boot mode(ユーザーズガイドではUpgrade mode)にするためには、
1)AVRISP mkIIとマイコンボードとの接続を外し、
2)USBを外し、
3)青い半透明のケースをこじ開け、
4)基板上の1-3ピンをショートさせてから、
5)USBを繋ぎ直す
らしい。

早速実践!

が、status LEDは赤いまま…
何度やっても、赤いまま…

ユーザーズガイドをスクロールさせると、1-3ピンをショートさせている絵がある。
ん?
これ1-2ピンじゃないかい?
ユーザーズガイドは落とし穴がいっぱいだ。

と言うことで、さっきの手順を修正
4)基板上の1-2ピンをショートさせ

写真では、LEDが赤なのかオレンジなのか判然としませんが、
赤/オレンジで点滅してます。

はい、これでようやく通常の手順で、ファームウェアのアップグレードが出来ました。

明日以降は、DC電源とマイコンボードを使ってTiny26を弄り始める予定っと。

2009年2月14日

PC側 開発環境 インストール その1

AVRへの書き込みに必要なハードが(一応)そろったので、
PC側のソフトウェア環境を構築する。

我が家の母艦となるPCは古いノートPCなので、もちろんシリアルポートはない。
おまけに、ICU入りした重篤患者並みに各種ケーブルが繋がっているため、
本体のUSBポートにも空きはない、必然的にAVRISP mkIIの接続先はUSBハブとなる。
モノによっては、ハブ経由だと書き込み速度が遅くなるとか、早くなるとかあるらしいが、
今はあまり気にしない方向で…。

で、事前に、
 WinAVR-20081205-install.exe(WinAVR)
 astudio4b623.exe(AVR Studio 4)
をダウンロードしてきたので、
これを順次、PCにインストールする。

順序は WinAVR -> AVR Studio 4。
WinAVRにはGNU gccも含まれているとかいないとか…
ちょっと、びびりながら、インストール開始。
 :
 :
 :
はい、あっけなくインストール完了。

次いでAVR Studio 4のインストール。
こちらは、USBドライバーをUpgradeするよとか、
ちょっと構えてしまうような内容が表示される。

が、対応USB機器の中に、AVRISP mk2の文字を発見。

NEXTをクリックして、後はインストーラの指示通り。

無事、インストール完了。


調子に乗って、AVR Studioを起動してみた。

AVRISP mkIIをUSBに挿す。
ドライバは、AVR Studio 4のインストールフォルダに
"usb"フォルダがあるので、そこを指定して探させる。



でドライバが当たると、右上に緑のLEDが点灯する。

で、ついでにAVRISP mkIIのアップグレードもやっておく。
AVR Studioのメニュー→Tools→AVRISP mkII upgradeを選択。
英文メッセージで警告が出る。
AVRISP mkIIの左下のstatus LEDが赤かオレンジであることを確認しろと言うことらしい。

おっけーオッケー!

アップグレード開始…が、エラー
AVRISP mkIIが見つからないらしい。
む~、ハブ経由がいけないのか…

ちょっと、PC周りを整理せにゃ。






2009年2月13日

マイコンボード作成 その2

いきなりマイコンボード完成。


ピンヘッダの1番ピン部分には、一応サインペンでマーキングをしてある。


裏、相変わらず半田山盛りだが、DC電源の時よりは
なんぼかマシ。

というわけで、
特に難しいところもなく、「AVRマイコン活用ブック」中の回路図通りに無難に完成。
DC電源作成時にユニバーサル基板上の結線のコツが少しは掴めたか?

強いて難しい点を上げるなら、ICソケットとピンヘッダの半田付け時に、
傾いてしまわないようにするくらいか。

今回は少々強引に半田付けしたが、
次回以降、もう少しやり方を考えたい。

ICソケットは、輪ゴムで基板上に固定しておく、とか。
ピンヘッダも同様。

これで、先日のDC電源と併せて、ハード側の書き込み環境は構築できた(はず)。
明日以降は、ソフトウェア環境の構築を行う。

まだまだ、マイコンチップへの書き込み至るまでは遠そうだ…。



2009年2月3日

マイコンボード作成 その1

さっそくマイコンボードの作成に取りかかる。

作成と言っても本に載っている回路をユニバーサル基板上に再現して半田付けするだけ。
必要な部材は一通り揃えてある。

ユニバーサル基板(小さいもの) × 1
ICソケット20ピン × 1
抵抗(4.7kΩ) × 1
セラミックコンデンサ(0.1μF) × 1
2.1mm標準DCジャック × 1
ピンヘッダ2×3 × 1
リード線 × 適量

主立った部品を基板上に配置してみる。



思った以上に小さくまとまった。
これでも本の作例より随分と部品間のクリアランスを取ってある。
あとは配線+半田付けの力作業。
忘れちゃいけない電源の取り付け………っ!

が、ここで問題発生、昔何かの拍子に購入し、今回あてにしていた定圧電源が、
5Vではなく、15Vである事が判明。

AVRISP mkII ユーザーガイドによると、
書き込み時にVCC掛ける電圧は1.8V~5.5Vなので、
5V定圧電源を期待していた身としては寝耳に水。

5V定圧電源自体は秋月電気辺りでお安く手に入るが、いかんせん送料が高い。
件のAVRISP mkIIも秋月通販に依るものだし、そう何度も送料を払うのはもったいない。

というわけで、AVRISP mkIIと共に購入した部品の中から
三端子レギュレータを使って5V電源を作る。


噂の三端子レギュレータ「LM317T」 1.2V~37Vまでの直流電圧が作れる。
で、ネットで調べるとあっさりコレを使った電源回路発見。

だいたいこんな感じ、

ちなみに、回路図作成には、フリーソフトのEScadを使用。
R1にかかる電圧をVref
R1+R2にかかる電圧をVoutとし、
R1に流れる電流をIAdjとすると、
以下の式でVoutを調節するR1,R2を決定する。

Vout = Vref( 1 + R2 / R1 ) + IAdj・R2

今回は出力電圧Voutは5V
R1は手持ちの抵抗器から、100Ωとする。
Vrefはだいたい1.25V掛かるらしいので、計算すると…

R2は150Ωとなる。<-IAdjの計算をミスっています。正しくは2009/2/4の記事で)

だが、LM317Tのメーカ推奨ではR1は120Ωらしいが、手持ちの部品にちょうどのモノはない
この20Ωの差がどれだけ響くのか。
ブレッドボード上に回路を作ってみて様子を見る事にする。

ちなみに、出力側の電解コンデンサも手持ちの部品で何とかするための苦肉の策。

おまけ、2.1mm標準DCジャックのピン配置





2009年2月2日

AVRISP mkII 入手!

思い立ったが吉日。
備忘録と結果メモを兼ねたブログを開設してみる。

先週末、AVRIPS MkIIを入手した。

当面の目標は、AVRを使った電圧ロガーの作成。
ただし、最後に電子回路系の勉強をしてから10年以上の時間が経っているため、単語単語は脳みそに残っているが、その意味はかなりあやふやになっている。
いろいろ遠回りをしながら、作成をしてゆく。

今後の予定
・AVRマイコン活用ブックに掲載されていた簡易マイコンボードを作成
 AVRへのプログラムの書き込みにも使用する。
    噂ではAVRIPS MkIIを使う場合、マイコンボードからチップへの給電が必要だとか…
・PC上開発環境を整備
・AVR Studio 4
・WinAVR
・書き込み/動作テスト用プログラムの作成
・とりあえずLEDでも点灯させてみるか。
 :
 手持ちの電子部品の動作確認をチマチマと…
 :
・USB ISP 書き込み機器の作成
 これがないとAVRからのデータの取得ができないような気がする。
・電圧ロガー作成

以上。