goo blog サービス終了のお知らせ 
「PIC AVR 工作室」サイトの日記的なブログです。
サイトに挙げなかった他愛ないことを日記的に書き残してます。
PIC AVR 工作室 ブログ



youtubeのオイラへのお勧めからたどって、arduinoの
キャラクターLCD関係のモノを眺めてみる…

http://www.youtube.com/watch?v=n3BUdqwbH6I&feature=feedf
このHUGE DIGITSを眺めてビビっと来た。で、
http://www.youtube.com/watch?v=qIBtUGEr5R8&feature=feedf
これ。なるほど。

うーん。キャラクタLCDだからって言って、
1マス1マスにこだわる必要なんて無いんだなぁ。
ユーザー定義文字を駆使してLCD全体でイメージ
を自由自在に表示できるかもしれん。

とすると…
http://www.youtube.com/watch?v=8w8x0UnFdzY
こういうゲームのさらに発展系を考えると、もしか
したら…スクランブルくらいいけないかな。

横1ドットスクロールで、UFOとか飛んできて…。
さすがに小さすぎて遊べないかな…


脱線。

http://www.youtube.com/watch?v=hEQ5c__83d4
なんだこりゃ?

http://www.youtube.com/watch?v=-KO9E9-X6LQ
コーヒー。

http://www.youtube.com/watch?v=1BpV8cw2DC0
やっぱこれはすごいよな…カピとかテラジとか
ちゃんとわかる…


(追記)
http://headlines.yahoo.co.jp/hl?a=20110506-00000131-mai-soci
浜岡原発の停止要請。賛否両論あるとは思うけど、
オイラ的には、単に止めるだけじゃなくてちゃんと
冷却設備を確保できる状態を確保できるなら大英断
じゃないかなぁ…って気がするな。

http://kaibun21.jp/works/5590/
こんなんばかりでも無いんだな。ちびっと見直した。



コメント ( 2 )




この間のarduinoのAref。わかった様なわかんない様な。
http://brown.ap.teacup.com/nekosan0/1291.html

この間メールいただいた方から再度ご連絡いただき、
AT-MEGAデータシートに載っているArefの流入電流
がポイントなのでは?とのこと。

なるほど。確かに5V付近で固定的に140uA程度の流入
電流が発生するということだから、Arefに外付け
抵抗を噛ますと、”電流×抵抗”分の電圧降下が
生じるはず。
外付けで5kほどの抵抗をつければ1V弱の電圧降下が
生じ、見た目的には内部に32k前後の抵抗でGNDに
落としてあるのと近い感じに見える…

ただし、内部の回路構成などはデータシートに書かれて
いないのと、そもそもこの電流って本当に動作クロック
とかに影響されないのか…とかモロモロ考えると
なんか腑に落ちないところもあるんだけど、それ以上
の情報はデータシートでは取れないので、調べようが
ないですね…ということでとりあえずストップしています。

まぁ、目下のところデータシートを当てにするのが
一番安全というところなのかなぁ…と。

ちなみに参照電圧を厳密に管理するとしたら、一番
いいのは基準電圧ICを噛ますことでしょうか。
http://brown.ap.teacup.com/nekosan0/524.html
この時みたいに。


make:ブログにナイスアイデア。
http://blog.makezine.com/archive/2011/05/analog_projection_clock.html
そうか!この手があったのか!

前から、天井に時間を投影するプロジェクター時計
作りたいなぁと思ってたんだけど、このアイデアは
無かったな。
見ると単純なのに…っていうモノほどアイデア
の賜物だからな。アイデアに敬意。

ちなみに、逆回転時計じゃないと駄目なのかな?





コメント ( 0 )




arduinoのADC参照電圧についてメールいただきました。
(ご指摘ありがとうございました)


http://nekosan0.bake-neko.net/structure_analog_in.html
このページに記載してあったArefピンの処理のことに
ついて。Arefピンは内部が普通の入力ピンになってて、
電流の流出入は無いものと思っていたんだけど、
情報によるとそうではなさそうな感じ。

http://www.arduino.cc/en/Reference/AnalogReference
arduino公式ページのここの最新情報では、Arefピンは
内部で32k程度の抵抗を通してgndに落ちているみたい。

とすると、参照電圧元から5kの抵抗を通してArefピン
に繋ぐと、5kと32kで分圧した電圧が参照されることに
なるような…と。

図にするとこんな。(上側の図)


探してみると…
http://www.instructables.com/id/Servo-Feedback-Hack-free/step6/Analog-Reference-Adjust/
http://sites.google.com/site/measuringstuff/arduino-notes
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1280424364/all
いくつか情報が。大体去年あたりに会話されてた
みたい。


以前、MEGA48とAD595繋いで実験したときに、参照電圧
として出来るだけ正確なのが欲しかったので、LM4040の
4.096V版を使ったんだけど、その時の回路がさっきの図
の下側。(r1は1kΩ)

実際に32kの抵抗が入っているのかどうかは実機での
確認をしてないんだけど、入っているとしてもLM4040
を使った場合はこの参照ICが電圧を調整してくれてる
はずなので、少なくともともあの実験ではほぼ正確な
ADC結果が得られてたはず。(テスター当てた電圧も)


多分、正確な参照電圧が必要な場合は下側のような
回路構成になる気がするし、AVCCとArefを共用する
場合は電源電圧の変動に影響受けたり、内部の32k
抵抗値のばらつきでも大きく影響受ける気がする
だろうから、参照する電圧にあまりこだわりが無い
場合は内部参照と比較してあまりメリットなさそうな
気がするな。5Vと3.3Vを混在させるようなケースかな?


外部参照電圧ICを使うにしても、内部でショートしない
ために5kって書いてあるんだとすると、あの時の実験
では1kだったから、これだと小さいかも知れない…
まぁ多分1kでも電圧降下のほとんどはこの1kが
負担するから、大抵の電圧では壊れること無いと
思うんだけど、なんとなくモヤモヤが残っている
ので、あとでちゃんと実験などやっておきたいところ。

この32kの抵抗っていうのは、一体ナニモノだろう?
参照電圧に使うだけならいらないんじゃないかと
思うんだけど…



コメント ( 0 )




昨日の実験、出力値はやっぱ計算どおりだったみたい。
表計算ソフトで同じようにハミング窓掛けた場合と掛けない
場合で処理してみると再現された。

考えてみるとアタリマエで…

ハミング窓のグラフ。
この色が付いてるところが元の波形に相当。それを水色
の部分だけに圧縮しているし、さらに周波数分解能が
矩形窓(窓関数掛けない状態)よりも悪化して広がる
わけだからその分…およそ半分のエネルギーが削られて
いるって訳。
窓を掛ける/掛けないそれぞれの出力値(絶対値)も
表計算の結果と符合するのも見れた。

というわけで、シリアル出力に出てくる値が想像してた
よりも小さかった理由はわかったものの、オイラ的には
もう少し絶対値が大きく出力されるといいんだけどな…。
ノイズと信号の比率(s/n比)がねぇ…


実際にシリアル経由で吐き出されたダンプを表計算
ソフト使ってビジュアル化してみた。

ADCのサンプリング周波数2000sps(眺められる周波数は
直流~1000hz)で100Hzの正弦波を入力してみたのがこれ。
(複数波形の重ね合わせの図)

分解能が31.25Hzで一番左が直流だから、左から4番目に
ピークが来ているってことは31.25×3=93.75hz付近。
入力は100Hzだからバッチリってこと。ちなみにサイド
ローブが広いのはハミング窓掛けてるからで、仕方ない。

こんな風に、ノイズ成分は1~2程度のっちゃうんだな。
計算誤差なのか、はたまたアナログノイズなのか…

ちなみに矩形波を入力するとこんな感じ。

ちゃんと奇数倍音が拾えてて教科書どおり。


64点FFTはそれなりの結果になったので、今度は128点
も試してみることに。正弦波。


こんな風に周波数分解能が15.625Hzと2倍細かく分解
できるわけだけど、これを8chのADC掛けながら同時に
8ch並列でガンガンFFT掛けたらレスポンス速度が気に
なるところ。128点は64点の2倍以上の時間を要する
からなぁ…


まずは64点でもそれなりにピーク周波数が取り出せる
ことはわかったから、64点で実機を作り上げてみて、
安定性とかモロモロ弄りながら評価するかな。駄目なら
128点にするってことで進めてみよう。



コメント ( 0 )




相変わらずAVRのDDS。ブレッドボードはいくらなんでも
使いにくいので、単機能のシールドにしてみる。

折角arduino互換のMEGA328ボードも作ったことだし、
arduinoのシールド互換にしてみる。(といっても
DDSのプログラム自体はアセンブラで組んでるから
arduinoにこだわる必要は無いんだけど)


まずはこれ。

ピンヘッダを加工して、半キャラずらし。

コイツを使って万能基板でシールドを作る。こんな。


DAC-ICのMCP4922から出力した波形をRCA端子や2ピン
のピンヘッダから取り出せるようになっているん
だけど、ブレッドボードの時には無かった簡易の
アッテネータとして10kΩ可変抵抗で分圧してから
の出力としてみた。(出力インピーダンスがコロコロ
変わるから正確にはボリウムだな)


イザ!

動かしてみると、全然波形が出てこない…

うーーーん。繋ぎ間違えたか?配線が足りてないか?
もしやICが加熱してたりしない?と思ってICに
触ってみたら…

まだIC填めて無いじゃん!お間抜け。(上記写真の
とおり)

IC填めて再度!

出た出た。可変抵抗もぐるぐる回してみる。まぁ、
想定どおり。ヨシヨシ。

これでちょっとした実験用に使えるレベルにはなった
かな。冶具が出来たところで、ようやくFFTのテストに
戻れる。ここからだ。



コメント ( 0 )



« 前ページ 次ページ »