3月27日の関西支部勉強会での要望および衝撃的発言を受けてSTM32に関する情報を機械研究会のページで公開しました.私のサークル内でSTM32を広めるために作成したページですが,ほとんど使おうとする人がいないまま放置されていますので内容は粗く,決してわかりやすくはありません.
おそらく,今後はマイクロマウスで必要になるSTM32まわりの回路,プログラムを追加していくと思います.ただし,私の時間,体力,周囲のモチベーション次第.
不明な点などあればコメントで.
2010年3月28日日曜日
2010年3月10日水曜日
続々・AD変換精度
前回の投稿に関していろいろコメントいただいたので,さらに状況を整理してみる.
まず,確認として,
・部品点数を可能な限り少なくしつつ性能を確保する
のが目標である.
それで,試作回路の補足として,
・アナログ電源,デジタル電源,モータ電源は全て分離している.しかもバッテリコネクタの根元から.
・アナログとデジタル電源にはリニアレギュレータを使用.
本当は回路図を示せるといいのだが,それはそのうち.
ノイズ発生のタイミングは,
・PWM制御しているモータのon-offの切り替えのときである.
考えていくなかでわかってきた原因は,
・モータは電流連続に近い状態で回っているが,バッテリに流れる電流は連続ではない.
・ゆえに,流れる電流に応じてバッテリ電圧が変動する(内部抵抗など)ならばレギュレータ入力は不連続な電位となる.
・レギュレータはステップ入力に対して数十usのオーダで遅れがあるため,遅れ期間中は安定点とは異なる電位を示す.
これが本当であれば,解決策は,
・レギュレータ入り口の電圧変動を抑えるためにコンデンサを入れる(それなりの効果はあった)
・精度を確保すべきAVCCにLCフィルタをいれる(Nakashimaさんご提案)
など.
もう少し詳細に探らないとなんとも言えないこともあるが,実はAD変換器だけ精度を確保すればいいかというとそうでもなく,フォトセンサのLED発光強度が変動するのもまた問題となっていて,この場合それなりに電流を消費する.まあ,ジャイロほど精度にはこだわらないのであきらめてもいいが.
L,Cなどをうまく配置することを考えてもう少し試してみよう.
まず,確認として,
・部品点数を可能な限り少なくしつつ性能を確保する
のが目標である.
それで,試作回路の補足として,
・アナログ電源,デジタル電源,モータ電源は全て分離している.しかもバッテリコネクタの根元から.
・アナログとデジタル電源にはリニアレギュレータを使用.
本当は回路図を示せるといいのだが,それはそのうち.
ノイズ発生のタイミングは,
・PWM制御しているモータのon-offの切り替えのときである.
考えていくなかでわかってきた原因は,
・モータは電流連続に近い状態で回っているが,バッテリに流れる電流は連続ではない.
・ゆえに,流れる電流に応じてバッテリ電圧が変動する(内部抵抗など)ならばレギュレータ入力は不連続な電位となる.
・レギュレータはステップ入力に対して数十usのオーダで遅れがあるため,遅れ期間中は安定点とは異なる電位を示す.
これが本当であれば,解決策は,
・レギュレータ入り口の電圧変動を抑えるためにコンデンサを入れる(それなりの効果はあった)
・精度を確保すべきAVCCにLCフィルタをいれる(Nakashimaさんご提案)
など.
もう少し詳細に探らないとなんとも言えないこともあるが,実はAD変換器だけ精度を確保すればいいかというとそうでもなく,フォトセンサのLED発光強度が変動するのもまた問題となっていて,この場合それなりに電流を消費する.まあ,ジャイロほど精度にはこだわらないのであきらめてもいいが.
L,Cなどをうまく配置することを考えてもう少し試してみよう.
2010年3月7日日曜日
続・AD変換精度
少し前にAD変換の精度について考えることになって,その続きでもう少し探ってみた.やはり,特定のduty比でモータをPWM駆動するとAD変換結果がシフトする.AD変換のタイミングとモータのon-offのタイミングを考えてみると,ちょうどonからoff(brake)に変わるときにサンプリングしているようである.
そのノイズ源であるが,おそらくスイッチングの瞬間に電源(バッテリ)の電圧がステップ上に変化し,それがレギュレータを通してロジック電源(AD変換器電源)に伝わっているものと思う.レギュレータは極めて安定した電源を供給するが,データシートを見ていると,ステップ応答に対しては数十usのオーダで遅れが出るらしい.なので,スイッチングの瞬間にはAD変換したくない.
しかしながら,DCモータの制御をする上であらゆるタイミングでスイッチングが起こる可能性があり,duty制限によりスイッチングの起こらない安定した期間を作るなどが必要に思われる.
少しでも緩和するには大容量のコンデンサで変化を吸収することであるが,コンデンサはかなり場所をとるのでなるべく減らしたい.
そのノイズ源であるが,おそらくスイッチングの瞬間に電源(バッテリ)の電圧がステップ上に変化し,それがレギュレータを通してロジック電源(AD変換器電源)に伝わっているものと思う.レギュレータは極めて安定した電源を供給するが,データシートを見ていると,ステップ応答に対しては数十usのオーダで遅れが出るらしい.なので,スイッチングの瞬間にはAD変換したくない.
しかしながら,DCモータの制御をする上であらゆるタイミングでスイッチングが起こる可能性があり,duty制限によりスイッチングの起こらない安定した期間を作るなどが必要に思われる.
少しでも緩和するには大容量のコンデンサで変化を吸収することであるが,コンデンサはかなり場所をとるのでなるべく減らしたい.
2010年3月6日土曜日
ハーフ試走迷路の製作
ハーフマウスの迷路を準備しようと計画しており,壁は既に入手済であるが,加工の手段の問題で台の方はとりあえず保留していた.今日思い立ってホームセンターで4.5mmのドリル刃(差込角六角6.35mm)と同じ差込角のドライバー(もちろんグリップ目当て)を購入し,数年前から試走台として使っていた板(600mm×900mm)にひたすら穴あけ.騒音公害とならないよう,人力でひたすら穴をあけること30分,70箇所.思ったより短時間で完了した.

そしてつや消しブラックで塗装して完成.こうして見るともっと壁がほしい気もするが,特定のパターンについて調整を繰り返すのがメインで,迷路を作ることは目的ではないのでこれでいいだろう.
特に工具を持っていなくても比較的短時間で迷路ベースを作成できることがわかった.
ただ,柱を立てたまま収納するスペースなどないので使うたびに着脱を繰り返すという面倒さはある.しかし,ハーフマウスのコンセプトのとおり自宅に迷路を置けるのは大きいはず.

しかし,まだマウスがない.
そしてつや消しブラックで塗装して完成.こうして見るともっと壁がほしい気もするが,特定のパターンについて調整を繰り返すのがメインで,迷路を作ることは目的ではないのでこれでいいだろう.
特に工具を持っていなくても比較的短時間で迷路ベースを作成できることがわかった.
ただ,柱を立てたまま収納するスペースなどないので使うたびに着脱を繰り返すという面倒さはある.しかし,ハーフマウスのコンセプトのとおり自宅に迷路を置けるのは大きいはず.

しかし,まだマウスがない.
2010年2月28日日曜日
AD変換精度
AD変換の精度を確保するのは容易ではないが,マウスではジャイロセンサだけは特に高精度でデータを得たい.こじまうす5ではモータを回すとかなり不安定になり,ほとんど積分なんてできないレベルであった.
原因としては,DC-DCコンバータによって必要な電圧を作っていたこと,モータからのノイズ,などと漠然と考えていた.
試作基板にてフォトセンサのテストをしようとしていたところ,同様の現象に直面.目的を変更してその原因を調査することにした.
AD変換は10kHz,モータ駆動のPWMは20kHz.どうも特定のduty比のときに値がシフトする.これはすなわち,モータのon-offもしくはoff-onのときのノイズがちょうどAD変換のタイミングと一致しているときにAD変換値が正しくなくなる,というよりもADCの端子電圧がノイズでずれるということであろう.
どうしたものか.とりあえずコンデンサか?しかし具体的にどこからのノイズかわからないことには...オシロスコープか.
27日の関西支部の集まりには参加できませんでした.土曜日に行事があることはあまりないのですが,今回は偶然重なってしまいました.いずれにしても丸一日使う余裕がないという話もあるが.
原因としては,DC-DCコンバータによって必要な電圧を作っていたこと,モータからのノイズ,などと漠然と考えていた.
試作基板にてフォトセンサのテストをしようとしていたところ,同様の現象に直面.目的を変更してその原因を調査することにした.
AD変換は10kHz,モータ駆動のPWMは20kHz.どうも特定のduty比のときに値がシフトする.これはすなわち,モータのon-offもしくはoff-onのときのノイズがちょうどAD変換のタイミングと一致しているときにAD変換値が正しくなくなる,というよりもADCの端子電圧がノイズでずれるということであろう.
どうしたものか.とりあえずコンデンサか?しかし具体的にどこからのノイズかわからないことには...オシロスコープか.
27日の関西支部の集まりには参加できませんでした.土曜日に行事があることはあまりないのですが,今回は偶然重なってしまいました.いずれにしても丸一日使う余裕がないという話もあるが.
2010年2月20日土曜日
2010年2月13日土曜日
LY530ALH
さらに続いてSTマイクロのジャイロセンサLY530ALH.これはかなりいろんなところで話題になっている.

まずハンダ付けに関しては,こいつは横に金属がでてないのでちょっとやっかいそう.ただまあ,近くを熱してハンダを流せば染み込んでいくかんじでつけられる.ちゃんとついたか目視で確認はできないが.

次に性能.ジャイロセンサはその出力を積分して角度を知るのが最大の目的なので,ゼロ点がドリフトしては困る.とりあえず静止状態で50ms間隔で10000点サンプリング.標準偏差は1.5~2くらいだが,それには興味がない.平均値の時間変化率は,
OUTZ・・・-0.00082 /s
vref・・・-0.00065 /s
とほとんど無視できるような.

あと評価すべきは応答速度と線形性.どちらもロボットに搭載して調べるのがいいように思うがそれはもうちょっと先になってしまう.データシート上は140Hzと遅いように思うがどうだろうか.
まずハンダ付けに関しては,こいつは横に金属がでてないのでちょっとやっかいそう.ただまあ,近くを熱してハンダを流せば染み込んでいくかんじでつけられる.ちゃんとついたか目視で確認はできないが.
次に性能.ジャイロセンサはその出力を積分して角度を知るのが最大の目的なので,ゼロ点がドリフトしては困る.とりあえず静止状態で50ms間隔で10000点サンプリング.標準偏差は1.5~2くらいだが,それには興味がない.平均値の時間変化率は,
OUTZ・・・-0.00082 /s
vref・・・-0.00065 /s
とほとんど無視できるような.

あと評価すべきは応答速度と線形性.どちらもロボットに搭載して調べるのがいいように思うがそれはもうちょっと先になってしまう.データシート上は140Hzと遅いように思うがどうだろうか.