ラベル マイコン の投稿を表示しています。 すべての投稿を表示
ラベル マイコン の投稿を表示しています。 すべての投稿を表示

2013年11月30日土曜日

電子工作メモ

メモ代わりに電子工作する際の(一部の)注意事項を書いておく。

はんだ付け

・はんだにも良い悪いがある。詳しいことは知らんけど。
・基盤に合った太さのはんだを選ぶべき。細かい基盤なら細いはんだ、というように。
・横着しない。
・基盤は板に銅メッキをしてるだけなので、無茶な力を加えたりしたらすぐはがれる。失敗したりしたときに無理やり力で引き抜くと、まず確実にはがれる。はんだ吸い取り機も使いすぎるとよくない。
・掘った基盤にはんだ付けするときは、スチールウールなどで表面を磨いておく。銅が酸化してると失敗するから。
・はんだの蒸気は鉛が入ってて危険。
・やけどに注意。金属部品を触りながらだと熱伝導でやけどする恐れがある。

コードに圧着端子を付ける

・圧着端子はピンを差し込むためのものなので、先端に少しスペースを空けておくべき。ピンの入るところも、圧着しすぎるとピンが入らなくなるので注意。だいたい5mmくらいコードをはがす。
・ コードの長さが完全に統一されるように気を使いながら圧着端子のつける位置を決める。テキトーにやるとコードの長さが不揃いになってコネクタに入らなくなる。

回路設計

・部品を先に全て集める場合、袋に分けたりしたほうがいい。個人で電子工作するならとくに問題はないと思うが。
・電気を流す前にショートしてないが調べる。まぁ基本中の基本だけどやっぱり注意しすぎることはないから。
・大体の部品はデータシート通りの動きをするけど、CDSみたいな変動領域の大きいものとか、長時間経過したあとのものとかは欲しい反応をしてくれないことがあるので、そのことも少しは考えに置いて作業するべき。実際、自分がCDSを使った時、抵抗の幅が本来は10kΩ~1MΩのはずなのに10kΩ~80kΩの動きしかしなかった。

2013年11月25日月曜日

エレコンまとめ

大学で参加したエレクトロニクスコンテストが昨日終わったので、その成果をUPします。
ただし、半年も無い期間で忙しい大学1年の間に「AVR?なにそれ」な4人(実質2人)が作ったものなので、はっきりいってしょぼいですだいたい、エレコン当日までにちゃんとした基盤に着けることもできなかったし。
https://drive.google.com/file/d/0B7BxQHowc4HsTU8tV0c0RnFha1k/edit?usp=sharing

プログラムも、プロジェクトファイルごとUPしときます。Atmel Studio 6で製作しました。
 →elecon_2013 
ダウンロードは、リンク先の「ファイル」から行ってください。
(zipを解凍すると「elecon6」というフォルダ名ですが、気にしないでください。)
  

機能は、マイコンから、PWMを使って曲を流し、その音量をさらに細かいPWMで調整します。周りの音が大きくなるとスピーカーから出る音量が上がって、逆に小さくなるとスピーカーの音も小さくなる(上限下限あり)。それと周りの光が強くなるとテンポが速くなって逆に暗くなると遅くなり、さらに一定以下の暗さになると別の曲が流れる。

A/D変換の回路も単純そのものだし、プログラムも特にひねってるわけでもない。作ってる最中は一つできることが増えるたびに大喜びしてたけど、終わってみるとしょぼすぎて泣けてくる。

2013年10月6日日曜日

マイコンでA/D変換

マイコンでA/D変換(アナログ情報をセンサーで読み取ったものをデジタルの情報に変換すること。)を最近やることになったので、その情報をまとめとく。
A/D変換が標準で搭載されてるマイコンもあれば搭載されてないのもあるので、そこは事前に調査してください。ちなみに自分はATmega328を使いました。
●回路のつなぎ方について
AVCCに基準電圧を送って、入力モードになってるPC0~PC5に、センサーの方をつなぐ。データシートをみると、例えばPC0はADC0とも書かれています。データシートに書かれてる「AD~」は、A/D変換関連だと思っていいです。基準電圧というのは、これとセンサーから流れてきた電圧と比較して、データを読み取るためのもので、まぁ複雑なものを作るとき以外はVCCと同じ電圧でいいんじゃないでしょうか?VCCは電源のことです。
具体的な回路については省略します。ググれば出てくると思うので。
補足メモ:コンデンサーはノイズ除去装置
●プログラミングについて
データシートの24項あたりを見れば大体わかるのですが、自分はまずデータシートの読み方をよくわかってなかったので読んでもわかりませんでした。
レジスタ変数の表の見方ですが、レジスタ変数は大体8bitでできていて、2進数で扱うことが多く、データシートの表もビット単位で描かれています(←自分はここがわかってなかった。)
A/D変換でよく使うレジスタ変数を簡単にまとめてみた。
ADMUX        :A/D多重器選択レジスタ:チャンネルを選択する(24.8項)
ADCSRA      :A/D変換制御/状態      :状態を表すハード側が決定
ADCH/ADCL:A/Dデータレジスタ        :デジタルのデータが入ってる)


追記

サンプルプログラムをUPしました。文字コードはShift-JISです。Google上で閲覧すると文字化けするかも。ソースファイルの上半分のコメントアウトしてる部分は練習用に書いたやつを残してるだけなので、無視していいです。
ADC_sample.c

追記2
ADC_sample.cのアクセスをちゃんと設定してなくて閲覧できないようだったので修正しました。すいません。あと、文字化けしまくってるのでダウンロードして使ってください。