昨日はLCDライブラリ用のスケッチを書き込んでみて、
arduinoとして動作できることが確認できたので、
引き続き細部の動作確認をしてみることに。
テスト対象は、「デジタル入力」「ブザー出力」「LED」
「LCD」「ステッピングモーター動作」「電源電圧監視」と
大きく分けて6点。
(1)デジタル入力
このデジタル入力とLEDは、とにかくあまったピンを
適当に繋いだので、ピン配置がイマイチ。arduinoの
標準的なピン配置で言うと、デジタルI/Oは13番まで
で、いわゆるポートCはアナログ入力用(ADC)になって
いるんだけど、今回ADCは電源電圧監視以外には使って
いないので、デジタルI/Oモードで使用。
で、デジタルポートに設定してタクトスイッチからの
入力内容をシリアルモニタで観察。ばっちり。
ただ、回路上ではチャタリング対応をして無いので、
ソフト側でゴニョゴニョする必要アリ。まぁこのボード
はタイマー割り込み使う前提のモノだから、その中で
処理すればいいでしょう。
(2)ブザー出力
6ピンISP用のSCKと10kΩ抵抗で重畳させているので、
それが動くかどうかの確認。ブレッドボードでは
動いているので安心しきっていると…音が出ん!
(耳をすますと微妙なノイズが聴こえるような…)
もしかしてブレッドボードでは1kΩ使ってたとか?
と思って、その前にスケッチをよーーーく見直して
みると、ピンモードを出力に設定してなかった…
修正してみるとちゃんと音出た。よし、よし。
(3)LED
大した話じゃぁ無いのでサックリ確認。LED点滅
させてみて、よし、よし。
気になるのは、片方のLEDの取り付け場所が
確保に困り、LCDとMP4401の隙間になっちゃったこと。
で、実際にLCD取り付けた状態でやってみると…
見づらい…
まぁ見えないわけじゃないし、LCD付いた状態なら
そっちを優先的に表示させればいいだろうから、
これはこれで大人しくあきらめる…
(4)LCD
オプションとしてキャラクターLCDモジュールを
ワンタッチ取り付けできるようにしてあるので、
表示させてみる。
表示自体やいくつかの動作モードについては疎通確認
で見れてるので、その他の観点について。
あまりその他の観点は無いんだけど、周期的にカーソル
位置を指定しながら浮動小数点数値でも表示させて
見よう…。
出た。とりあえず問題なし。
(5)ステッピングモーター動作
MP4401経由でSPG20-332に接続してみる…
問題なく動く。そこそこのトルク。よし、よし。
マイクロステップで動かしているんだけど、およそ
カクカク感は無いみたい。
1周480ステップをフルパワーの約2ワット(9Vの
1-2相励磁)で動かしてみると…
徐々にモーターが熱を持ってくるんだけど、定格内
なので手で持てなくなるほどでは無いので一安心。
1ステップを10段階に分け、1/10毎にステップさせて
いるので、1ステップ分はちょうど1秒。1周480ステップ
はちょうど480秒 →想定どおりに動作。ok。ok。
(6)電源電圧監視
ある意味、最大の課題。
ニッ水電池を使う予定なので、電圧監視を行って
終端電圧で動作を停止させないといけないので、
今回は電池電圧を1/3に分圧してアナログ0(PC0)
から入力する回路を用意。
モーターへの電力を供給していない状態と、供給中
の状態で見比べたかったので、ちょっと時間を掛けて
色々眺めてみる…
まず、電源電圧自体をADCから読み出すのは問題なし。
あとは実際にニッ水電池を繋いで、モーターを駆動
させたらどうなるのかって話。きっとモーターの動作
に伴って電圧が上下するはずなので、そこをどう拾って
終端電圧と判断させるのか…。
一瞬の電圧低下だけを拾って終端電圧と判断させては
だめなので、移動平均を取ってみる作戦。
やってみた。シリアルモニターから電圧を拾ってから
表計算でグラフ化するとこう↓。
青い点線が個々の電圧入力値。橙色が10サンプルの
移動平均。(ちなみに、橙色が6V付近から急落している
のは、サンプルデータ10個分の初期値として仮の数値
「6V」を設定してあるため→動作開始時にいきなり電源
電圧低下と判断しないための方便)
その後は、5V弱のところで周期的に脈動している様子が
見て取れます。脈動の周期は1秒。1-2相励磁での
1ステップ分に相当。1相分だけに給電している状態と
2相分に給電している状態が0.5秒毎に切り替わっていく
のに相当するので、この周期的な波模様の波形は予想
通りのモノ。
ただ、この波の谷間のときに終端電圧と判断しちゃうと
よろしくないので、1ステップ分かそれ以上の周期で
移動平均を取らないとだめだよな…。
まぁ、テスターで計った電圧とほぼ同じ結果が得られて
一安心。
それにしても、無負荷に比べてモーター負荷を掛けた状態
ではおよそ0.2~0.3V程度は低めに出るんだなぁ。
ニッ水電池の内部抵抗に因るもの。
というわけで、移動平均の周期の問題と、高負荷時の
電圧低下問題を加味してどんなスケッチにすればいいか
考えれば良さそう。
とりあえず、ボード関係については取り立ててバグは無かった
見たいで一安心。
あとは、実用に最低限必要なスケッチに組み合わせるのと、
筐体の組み立てだな。果たして21日に間に合うのか!?
|