2012-01-01から1年間の記事一覧

AVR入門 - 交流電圧をAD変換してPCに転送

AD変換とシリアル送信ができるようになったので、試しに電源トランスで降圧した交流電圧の測定をやってみた。 AD変換入力の最大値をAVRの電源電圧5Vを超えないように、2.5Vがセンターになるように、プルアップして、AVR の PC1 に接続。さらにセンターの2.…

シリアル通信の送信・受信プログラム

シリアルのスピードの問題はさておき、受信側のプログラムも必要になってきます。テストでは TeraTerm を使ってきましたが、ターミナルプログラムで受信できるのは「文字」だけです。電力量のデータは「数値」です。数値を文字として送出することもできます…

AVR でRS-232C通信 その2

前回 ATTINY2313 でシリアル通信しましたが、今後 AD変換値をシリアルで他デバイスに送信するため、AD変換付のATMega88p 用にプログラムを移行します。 2313 そのままのプログラムでは、88p では動作しません。レジスタが複数あるようで、識別子を UBRRH ->U…

AVR で A/D 変換その2

「AVR で A/D 変換その1」では、リファレンス電圧として Vcc そのまま Aref に入力して基準電圧としていました。そのため、出力値のふらつきが大きいです。今度は基準電圧を「シャント・レギュレータ」で作り(2.5V)、それを Aref に入力します。なお測定対…

AVR で A/D 変換その1

手始めに「試しながら学ぶAVR入門」の [5-3 A-Dコンバータを動かすサンプル・プログラム]を試しました。ATTINY2313には AD変換がついていないので、初めて ATmega88 を使ってみました。秋月で売っている長~い 23Pinの IC です。 (基準電圧/Vcc) x 1024 …

AVR でRS-232C通信

AVRとPCでシリアル通信できるかを確認します。 1. 用意するもの ATtiny2313 MAX232N MAX232N (秋月) は TTL レベルの信号を RS-232C レベルに変換してPCと通信するために必要。変換ICとしては秋月で一番安いので購入。ただし、電源電圧は5Vのみとのこと。…

AVR基礎(タイマー)

単純なタイマーは TCCRxA と TCCRxB レジスタに値を設定するだけで開始される。TCNTx を参照するとカウント中の値が得られる。 下記プログラムは PB0 - PB7 に LED を接続して実行。ビット出力の様子が見られる。 最上位ビット (PB7) が 1KHz をさらに256(2^…

AVR基礎(I/Oポート|スイッチのチャタリング対策)

スイッチの値を読み込む際にチャタリング対策を追加する。 _ms_delay(10)の待ち時間後、状態が変化していれば、変化があったとみなす。 //sw_test1.c にチャタリング対策を追加したコード #include #include uint8_t switch_a, switch_ax; int main(void) { …

AVR基礎(I/Oポート)

I/O ポートを使うには下記レジスタを使う。 1. DDRx (方向レジスタ)で入力するのか、出力するのかを設定。1を立てたら出力。 2. PINx (入力レジスタ)で入力の取得 3. PORTx (出力レジスタ)で出力 出力する場合は、BV() を使うとそのビットのみを設定できるの…

AVR で アセンブラ/C のプログラムを動かすまで

1. 必要なもの - AVRISP MkII - PC 側ソフト - AVR 2. 手順 1) AVR Studio をインストール(ここでは Version 4.19) 2) WinAVR をインストール 3) AVR Toolchain をインストール(ATMEL のサイトにあり) 4) AVRISP で AVR と PC を接続 5) AVR Studio で接続確…

商用電源の周波数変位計

概要 ACの周波数を周波数カウンタで見ていると、ごくわずかですが、東電の管内では50Hzから上下していることがわかります。時計が狂うと困るので1時間の単位ではほぼ50Hzになるように調整されている、と本で読んだことがあります。が、実際にはどのくらいの…

コイル・コンデンサで本当に90度、位相がずれるのか観測を試みる

コンデンサとコイルの勉強をすると必ず出てくる「位相」の進み・遅れ。コンデンサでは電圧が90°遅れ、コイルでは電流が90度遅れる、となっています。以前からこれを実際に観測したいと思っていました。 こ~んな波形を観測したい ↓ 下記に試した結果を記…

CRはしご型移相回路の実験

概要 CR発振回路での移相の様子を「CR発振回路の実験」で観測したが、生成された波形があまりキレイではなく、移相の確認という意味ではいまひとつだった。CRによって位相がずれる様子を見たいというのが元の要求だった。何のことはない、単に他の発信器から…

CR発振回路の実験

概要 CR発振回路の移相回路で位相が180度ずれていく様子をオシロで確認する。 背景 元々は単にCR回路での位相のずれが発生する様子をみたいだけだったのですが、グランドが共通になっていない特殊なプローブを使わないと、簡単に観測することは難しいこと…