どうも、Nekosanです。
前回の記事、AVRマイコンを使った簡単な音信号処理の続きです。
PCのフォルダをまさぐっていたら、回路図を発見したので載せます。
実際に作った回路とは少し違います(シリアル通信の端子が無かったり、LEDが無かったり)が、マイクアンプ周りは大体同じ、はずです。
グーグル先生で調べたサイトに載っていた回路図をパク...参考にして作りました。
単純な反転増幅回路ですね。
倍率は、OUT1と-1端子につながっている抵抗と-1端子からマイク側のコンデンサにつながっている抵抗との比率で求められたはずです。
反転増幅回路とググればきっと出ます。
たぶんここを参考にして作ったはずです。
https://www.marutsu.co.jp/user/mame/187.htm
よく分からず作りましたが、ちゃんと動いたので問題なしです。
使ったオペアンプはNJM2732Dです。
単電源でフルスイング入出力だったので採用しました。
秋月で売ってます。→http://akizukidenshi.com/catalog/g/gI-04723/
回路はこんなものですかね。
問題はプログラムですが、眠いので寝ます。
では。
2013/10/10
2013/10/07
AVRマイコンを使った簡単な音信号処理
どうも、Nekosanです。
昨日、高専ロボコン九州大会がありました。
その大会に出場したロボットに積んでいた回路について、自分メモを兼ねて記事を書きます。
今年のロボコンは、コントローラー無しで、ロボットに触って操作してもいけないというルールです。
なので、笛を吹いて、その音を聞き分けることでロボットを操作しようと考えました。
そのためには音、今回は笛を使っているので、笛の音を聞き分けることができる回路が必要です。
で、作ったのがコレ
\デーン/
コンデンサマイクの信号をオペアンプで増幅して、マイコンのA/D変換ピンに接続してるだけ。
素晴らしく単純!!!
ただし、ただ音の大きさを調べるだけでは、歓声やロボットの動作音で誤動作する可能性が大きいです。
そこで、フーリエ変換という信号処理を行い、検出の精度を上げています。
フーリエ変換→http://d.hatena.ne.jp/Zellij/20120612/p1
マイコンはATMega328Pを使い、外部クロック16MHzで動作させてます。
信号をA/D変換した後、フーリエ変換で信号を周波数成分に分けます。
波形の中に、どの周波数がどれくらい在るかが分かるので、これを利用して笛を聞き分けてます。
笛の音の判別は、「どの周波数成分が強いか?」を調べて行っています。
フーリエ変換のアルゴリズムはここを参考にしました。
http://www.kurims.kyoto-u.ac.jp/~ooura/fftman/
http://www.kurims.kyoto-u.ac.jp/~ooura/fftman/ftmn1_2.html#sec1_2
実際にこの回路を使って出場しましたが、よく反応してくれて、歓声などの外乱もあまり影響を受けていないようでした。
詳しいことはまた別の記事に書こうかと思っているので、これぐらいで。
では。
2013/03/16
Mikromediaに書き込めたらしい
どうも、Nekosanです。
昨日Mikromediaが動かないという記事を書きましたが、「JTAGICE3」を使ってみたところ、書き込むことができました。
以前までは「AVRISPMk.II」を使っていましたがどうしても書き込めませんでした。(正確に言うと途中までしか書き込めてない。)
まだ原因が分かっていません。
ファームウェアも最新のはずですし。
ファームウェアも最新のはずですし。
すっきりしませんが、とりあえず開発は進められそうなので良かったです。
一通りの機能を使ってみて、そのあとはMP3プレーヤーのようにしたりゲーム機のように使ったりできればなーと。
まあそこまでやる気が持てばの話ですが...w
ではこれぐらいで。
しーゆーあげいんっ!
しーゆーあげいんっ!
mikromediaに書き込めぬえぇぇん
どうも、Nekosanです。
AVRのXmegaを搭載して、液晶タッチパネルやmp3デコーダが載っているmikromediaというマイコンボードに興味を持って、使ってみました。
http://www.mikroe.com/mikromedia/xmega/
http://www.mikroe.com/mikromedia/xmega/
元々、このマイコンにはブートローダーが書き込まれており、USBケーブルを繋ぐことでプログラムが書き込めます。
ちなみにブートローダーに書き込むためのソフトウェアはHPにてダウンロードできました。
また、製品に付属しているCDからもインストールできるはずです。
また、製品に付属しているCDからもインストールできるはずです。
ブートローダーを使って、サンプルプログラムをいくつか書き込んだあと、AVRISP(AVRマイコンの書き込み器)でも書き込めるということらしい(付属資料に記述されていた)ので、それを使ってみようと思いました。
ブートローダーでは書き込み速度が遅いので書き込みに時間がかかってしまうのですが、AVRISPなら早く終わります。(たぶん)
ブートローダーでは書き込み速度が遅いので書き込みに時間がかかってしまうのですが、AVRISPなら早く終わります。(たぶん)
...が、ここからが泥沼の始まり。
なんとプログラムを書き込んでみたところ、verifyでエラーが...。
マイコンに書き込まれているhexファイルを読み出してみたところ、途中までしか書き込まれてねーじゃん!? という事態に。
マイコンに書き込まれているhexファイルを読み出してみたところ、途中までしか書き込まれてねーじゃん!? という事態に。
しかも途中まで書き込んだということはブートローダーを消してしまったということなので、ブートローダーを使っては書き込めない...
\(^o^)/
というわけでマイコンに書き込む手段がなくなってしまったのです。
mikromediaの値段もバカにならん...
mikromediaの値段もバカにならん...
いまだ解決できてないので結構ピンチです。
大人しくブートローダー使っとけばよかったかもです...
大人しくブートローダー使っとけばよかったかもです...
後悔先に立たず、ですけど。
マイコンから読み出したhexファイルは、毎回同じところで書き込みがストップしているようなので、マイコンが壊れている可能性は薄いと思うのですが...
AVRISPの書き込み範囲がおかしいのでしょうか。
持っているAVRISPはatmegaでは正常に書き込めます。
AVRISPの書き込み範囲がおかしいのでしょうか。
持っているAVRISPはatmegaでは正常に書き込めます。
Xmegaを使うときに必要な設定とかがあるんですかね...
謎です。
謎です。
とりあえず今日はこの辺で。
もし情報提供して頂ける方がいらっしゃれば、是非お願いします。
もし情報提供して頂ける方がいらっしゃれば、是非お願いします。
では、しーゆーあげいん!
登録:
投稿 (Atom)
人気の投稿
-
秋月に売ってるIR2302ゲートドライバを使ったNchFETフルブリッジモータドライバです。 FETは、IR社の IRFB4410PBF (100V 96A 250W)を使っています。 IR2302 は、ハーフブリッジ用のゲートドライバです。 Nchの...
-
【2014/10/12 記事更新】 前回の記事( http://nekolab.blogspot.jp/2013/05/arduino.html )で、加速度センサ(ADXL345)を動かしてみました。 今回は、センサから得た値の計算をして、センサの傾きを検出してみよ...
-
エアシリンダーなどを駆動するとき、欠かせないのが電磁弁。 ロボコンでも使っているのをよく見かけます。 僕もロボコンでエアシリンダを使うことになったので回路を設計したのですが、それについて書きます。自分用メモの意味合いが強いので、あしからず。 電磁弁は ...
-
どうも、Nekosanです。 モタドラ回路製作記事2回目です。 前記事ではドライバ回路の概要を記載したので、回路設計に入っていきます。 たくさんの数式が出てくるので、注意です。 言っても、四則演算ですが。 ドライバ回路の、ハーフブリッジを抜...
-
忘れそうなので自分用メモ。 ラジコン飛行機などに使われる小型のブラシレスモータを動かす、ESC(アンプ)をマイコンで制御したかったので、やってみました。 用意したもの ・ブラシレスモータ A2208-KV1400 ブラシレスモーター http://www.rc-e...
-
部の顧問の先生から、こんなモジュールを頂きました。 加速度センサ(ADXL345)と方位センサ( HMC5883L )とジャイロセンサ( ITG-3200 )が一つの基板にまとめられたモジュールです。 ストロベリーリナックスで売られてました。 一個で一万円ぐらいし...
-
どーも、Nekosanです。 今年の高専ロボコンのルール発表されましたね。結構前ですが。 今年はなかなか難しい課題な気がします、例年に比べて、ですが。 まあそれはいいのです。あんまりそのことをブログに書いちゃうとメンバーに怒られそうなのでこれぐらいで。 ロボ...
-
どうも、Nekosanです。 今まで何回かモータドライバについての記事を書いてましたが、回路設計メモを兼ねて、ブログ記事にしながら、設計をしようかと思います。 という訳で、第一号記事です。 まずは作ろうとしているモタドラの概要から。 概要 ブートスト...
-
Raspberry PiでI2Cを使って9軸センサー(MPU9150)を動かしてみました。 今後も使う可能性あるので自分メモです。 RasPiでI2Cを使うのに参考にした (丸パクリしたともいう) サイトは次のサイトです。 http://www.instructables...
-
どーも、Nekosanです。 またもや学校が忙しかったり、部活が忙しかったり、資格の勉強が忙しかったり、眠かったり、鬱になってたりで間が空いてました。 まあ今後もこんな感じが続くかもです。 できるだけ続けて書くようにがんばります。 ここ最近、ロボコンで使うドライ...