ダイセンμCOREで、αエクスプローラー用4輪制御アイコンを使う
センサモニタが面白くて、ピンすべてが表示できます。センサのデバッグはかなりやりやすいでしょう。この見やすさだけでもμCOREを使う意味はありそうです。
また、TJ3BのオプションのI2C機器、コンパスやモータードライバーも使うことができます。
ただし、コネクタなどは何もついていないため、自分で配線をしていく必要があります。これが新しい点です。
自分でコネクタを配置できるということはサイズも大きさも自分で決められるということです。設計の自由度が大きく上がりますし、センサーを同一の基板に収めてしまうこともできます。
難しそうですが、電源さえつなげばとりあえず動きます。あとは必要な端子と端子をつないでいきましょう。
今回はこのμCOREを使って、4輪制御をしてみます。
【方法1 一番簡単な方法】
6chモータードライバ、または4chモータードライバを使ってI2Cでつなげば、TJ3Bでも使えるアイコンを使って数字で指定できるので、簡単です。
【方法2 通常の方法】
モータードライバを自前で用意し、これをArduinoのようにデジタル出力を使ってモーター制御をすることができます。モータードライバの入力に使うPinを決めて、デジタル出力に設定し、H/Lの出力をすれば、モーターを回せると思います。スピード制御なども関数を作ればできると思います。【方法3 今回紹介する方法】
モータードライバを自前で用意し、ほぼ6chモータードライバーのような見た目で、モーターを制御します。このアイコンは数年前からずっとあるんですが、ダイセンさんに問い合わせたところ、同じマイコンを使用しているαエクスプローラーの拡張機能だそうです。
μCOREのために用意してくれている機能ではないので、ちょっと裏技的な使い方です。これが動かないからと言って、DAISENさんに問い合わせはしないでください。
- 使うための手順
- セットアップのAdvanced ModeからEXT-Motor Boardに☑をいれると「4ch M」のアイコンが現れる
- ただし、このままではプログラムしてもビルドエラーになるので、C-STYLEのプログラムを書き換える。
- PIN配置通りにモータードライバーと配線する。(最初はブレッドボードがおすすめ)
- プログラムをテストしてみる。
#ifdef uCORE #define PRODUCT "uCORE" #define MODELNO "DSR1702" #define USE_STDM // 4ch motorの有効化 miyazaki GPIO.h, GPIO.cも書き換え必要 // #define MODELNO "DSR1606" #endif
//miyazaki //add start #define PA12_PORT GPIOA #define PA12_CLK RCC_APB2Periph_GPIOA #define PA12_PIN GPIO_Pin_12 #define MTR1_PORT GPIOB #define MTR1_CLK RCC_APB2Periph_GPIOB #define MTR1_FWD_PIN GPIO_Pin_3 #define MTR1_BWD_PIN GPIO_Pin_2 #define MTR2_PORT GPIOB #define MTR2_CLK RCC_APB2Periph_GPIOB #define MTR2_FWD_PIN GPIO_Pin_5 #define MTR2_BWD_PIN GPIO_Pin_4 #define MTR3_PORT GPIOB #define MTR3_CLK RCC_APB2Periph_GPIOB #define MTR3_FWD_PIN GPIO_Pin_13 #define MTR3_BWD_PIN GPIO_Pin_14 #define MTR4_PORT GPIOA #define MTR4_CLK RCC_APB2Periph_GPIOA #define MTR4_FWD_PIN GPIO_Pin_11 #define MTR4_BWD_PIN GPIO_Pin_15 //add end
//#ifdef AlphaX miyazaki comment out GPIO_TypeDef* GPIO_MTR_PORT[MAX_MTR] = { MTR1_PORT, MTR2_PORT, MTR3_PORT, MTR4_PORT, }; const uint32_t GPIO_MTR_CLK[MAX_MTR] = { MTR1_CLK, MTR2_CLK, MTR3_CLK, MTR4_CLK, }; const uint16_t GPIO_MTR_PIN[MAX_MTR][2] = { { MTR1_FWD_PIN, MTR1_BWD_PIN }, { MTR2_FWD_PIN, MTR2_BWD_PIN }, { MTR3_FWD_PIN, MTR3_BWD_PIN }, { MTR4_FWD_PIN, MTR4_BWD_PIN }, }; //#endif
この3つのファイルを修正したら、手順2は完了です。
成功すれば、上記のモーター制御アイコンを入れてビルドが完了するようになれば成功です。
PIN配置はこうなります。
こちらの配線については、αエクスプローラーの回路図も参考にしてください。
αエクスプローラーの回路図は、αエクスプローラー用C-STYLEをインストールするとフォルダに入っています。(ここでの再配布は控えます)
とりあえず、この記事はビルドが完了するところまで行けるようにするための記事で、配線や回路設計などは別の話になります。
まだ動かすまでの説明としては不足しているかもしれませんが、これで最低限必要な情報は解説しているはずです。
もしうまくいかないということがあれば、問い合わせいただけたら答えられる範囲で回答します。これができればモーター制御の選択肢が増えると思うので、頑張ってみてください。
-----------------------------------
その他技術情報はメニューの「技術情報」をクリック
コメント
コメントを投稿