n_shinichi’s blog

日々の備忘録、 趣味のあれこれなど紹介 (すみません、メニュー、リンク、カテゴリー分けがうまくできてません、★記事一覧★で見てください...) NHK魔改造の夜ではDンソーのベテランアドバイザーってことで出ました♪

MENU

スタックチャン 機動力をさずける~♪ 続き(同様なことされる方は注意事項あります)

先日紹介したスタックチャン走行用のHat

 Hat って M5StickCでしか言わないのかも だけど。

 

注)そもそも、こちらのスタックチャンって言うけど

 手抜きの...”なんちゃってスタックチャン"です。

 本物のスタックチャンはサーボでカッコよく顔が動きます。

 こちらのは M5avatarベースの

   顔だけスタックチャン... です。

 

動作確認してみた。。。  のだけど

 

最初、???なことが発生。

 モータはちゃんと思い通りに動いてた。

 

でも、スタックチャンの顔が動かなくなった・・・

 まただ・・・ です。

 最初にポートの仕様をちゃんと調べずにやってるもんだから

 こんなことが起こる。

 

 昔はマイコン触る時にはポートに限らず仕様をデータシートで

 それなりに調べてから使うのが当たり前だった。

 というか、、、調べないと使えなかった。

 

それがArduinoが出始めて、互換モノがあふれてきてからは

 状況がだいぶ変わった。

  データシートを見なくても、サンプルスケッチで

  そこそこの機能がいきなり動く。

 

  M5・・・ESP32使ってるけどデータシートまともにみたことない。

  それ以前にM5Stackのデータシート...見たことないし、

  どんなんがあるのかも知らない。 回路図はたまに見るようになった。

  適当にネット検索でやりたいことやってる人の情報と

  サンプルスケッチ見るとたいがい使えるもんだから。

 

昔のマイコン使いでは実際にやりたいことの前に

 おまじないの設定がけっこう重要でそれがちゃんとできてないと

 うんともすんとも言わない。。。だった。

 ネットの情報・・・なんてなかったし。

 

Arduinoの類はほんと、その辺よくできてる。

 そう言っておきながら

 本家のArduinoはちょっとしか触ったことない。

 マイコンの仕様が使いたいものじゃなかった。

 マイコンの勉強。。。には全く問題ないけど。

 

自分の場合は

ESP32が出て、、、M5Stackが出てから状況が一変した。

 ESP32,あの価格でうそでしょってな高性能。

 どっかにも以前いっぱい書いたけど

 倒立振子、30年前より100倍簡単にできるって感じ。

 昔はPIDの制御以前にマイコンをいかにうまく速く精度を確保した

 演算を回すか・・・が手間の大半だった気がする。

 浮動小数点、三角関数、割り算等々・・が普通に使えるって

 ありがたさ、今時のマイコンから使い始めた人には

 何言ってるの? だろうなぁ。。。

 

それまではサイプレスのPSoCを工作ごとや、

 仕事でちょいとツールものでよく使てった。

 今も、仕事での組込み電子制御回路はやっぱりPSoC

 一番には違いないけれど。  

ESP32、すごいけど

 1MHzオーダーの数十の並列同期処理はできない。

 FPGAが一緒になったやつでないとつらい。

 

でも音声帯域くらいまでならESP32、もう出てから

 だいぶ経つけどまだコスパが最強な感じがする。

あーなんの話だったっけ。。。

 また思うがままにつらつら書いてると脱線。。。

 

ポートの使い方の話だった。

 M5Stackの下側・・・のコネクタ、ポートが18,19, ,21,22,23 5つある。

 I2Cの21,22でモータ回すとAXP192と通信ができなくなってたので

 薄々わかってたけど SPI通信に使ってる18,19もやっぱりそうだった。

 18,19にもモータ繋いで回すと・・・ピンモードをOUTPUTにした時点で

モータは回せるけど、

スタックチャンの顔固まる・・・ SPIが切れる。。。

あー やっぱりかぁ。。。 だった。

 ちゃんとピンの仕様調べないもんだから。。。

 

なので、★同様なことされる方は注意★

 (先日のHat作ったってとこでのモータHatだけではちゃんと動かないです)

ピン機能が干渉するので18,19のピン端子をケースの

コネクタぶでカットした。

 写真2列ピン、手前列の右から5,6ピンをカットして

 内部回路に繋がらないようにした。

 

でもって、適当に他の機能で併用されてないタダのIOポートっぽい、

 ポートGPIO2,5の2ピンをそのケース外の18,19に繋がるところに

 付け替えた。

 それがこちら。

 これでケース外ではSPIのポート18,19に見えるコネクタ位置は

  内部では・・・実はポート2,5に繋がってるって格好になる。

 

 まずは簡単なパターン走行をするスケッチを作ってみた。

 でもってモータ電流は25mA程度に収まるくらいまでにした。

  実際にはここでのモータでは

  analogWrite()でのHブリッジ回路でモータのみ繋いでも45mAくらいなので

  ギリESP32のポートmax電流くらいなんで試しても壊れなかったけど。

  ただこのギヤモータ、個体差がでかい。

   中華モノではよくあることだけど。

   電流値が小さいモノ大きいモノで倍くらいは違う。

   電流の小さい個体を選別して使ってる。

 

でもって、簡単な動作デモをやってみたのがこちら。