動作確認していきます。
みなさんこんにちは、YUUKIです。
前回、北陸信越地区オンライン大会出場後の、大反省会の記事でした。
過程はともあれ、ポイント獲得です。全国大会へ向け、改めて自作マウス開発に注力していきます。
予告した通り、ここからはYMmouseの各機能の動作確認をしていきます。
過去記事で散々申しておりますが、いろんなところでエラーやミスが発覚します。
「えっ、そこで?」みたいなところもやらかしていますが、どうか温かい目で見守ってください。
確認個所
さて、本記事からしばし動作確認の内容をお届けします。主に以下の内容になります。
・基板の通電
火入れといわれるやつです。ショートして狙い通りの電圧が出なかったり、酷いと素子が燃えたり、音や臭いもなくご臨終される可能性のある最初の壁です。
・マイコン書き込み
通電の次に大事な作業、これができなきゃ何もできません・・・(ハロワやLチカです。)
・ユーザーインターフェースの確認
LEDとスイッチ、ブザーの動作確認です。
スイッチ押した際に指定したLEDが光るか、ブザーがちゃんと鳴るかを確認していきます。(これができないと何の機能を使っているかがわからなくなります…)
・センサーの確認
YMmouse前方に配置される赤外LEDとフォトトランジスタの動作確認です。(バッテリー電圧もフォトトランジスタと一緒にAD値を拾っていますので一緒に確認します。)
・IMUの動作確認
そもそもSPI通信できるか(Who_Am I)やジャイロの値が取得できるかを確認します。
・モータードライバーの動作確認
これがちゃんと動かないとモーター回りません。前後に回ること、PWM制御できるかを確認します。
・エンコーダーの確認
任意の距離を走らせるためには、モーターの回転数知る必要があるのでエンコーダーは欠かせない機能です。ここもきちんと確認します。
・割り込み処理
主軸で動かすプログラムとは別で一定周期で処理させる(センサー値の更新)ために必要な機能です。
各項目を確認する際、いきなりリポバッテリーを繋ぐのはミスが発覚した際の被害を最小限にするため、安定化電源を使用します。
自分の環境で使いやすいようにケースを自作したコンパクトな電源です。
確認の流れ
上記の項目を以下の要領で確認していきました。
・諸先輩方のブログ見つつコードを書く。
ただ意図した動作ができることが確認できたら良いので、難しくない単純なもので済ませます。
・実際に書き込んで動作確認
これで自分が意図した動作をしてくれるとクリアで、次のステップへ進めます。
(まぁ…結構詰まりました。)
・動作しない原因を調査
なぜ動いてくれないのか問題を切り分けながら特定していきます。自分の書いたコードが悪いのか、回路が間違えているのか、素子の取り付け向きが違うのかなどを見ていきます。
・修正-再確認
問題箇所が特定できたら修正して再度動作確認します。
確認項目と流れは以上でしょうか。
諸先輩方のブログを参考に確認していきます。あ、後々何回もお伝えすると思うのですが、これだけ先に書いておきます…
「各機能を事前に開発ボード使って動作確認しておくこと」
私のブログの序盤でいくつか紹介していますが、途中から無理矢理大会に間に合わせるためにいろいろなところを省きました。YMmouse-TypeBは板Pi:Coの回路や部材をリファレンスしているため、初心者YUUKIでも機体開発の時間をかなり短縮できています。大きく違うのはRX631マイコンからSTM32マイコンに変更されているところです。
当然ピン配等は異なるわけなので変更点はしっかり確認しますが、そもそもSTM32マイコンの使い方を把握することを疎かにしてしまったが故に発生したエラーも目立ちました。
「先に言ってよー…」とかぼやきながら涙のリワークをしたので、マイコンを初めて使う際の開発ボードの重要性を痛感しました。(汗)
次回
今回は概要のみの記事でした。(中身薄くてすみません…)
次回から基板火入れとインターフェースの確認を見ていきたいと思います。
それではっ・・・
YUUKI