●DMD( VS−RCV3用 ) 実験 超信地旋回版
はじめに・・・ 「 TBV型メーサー 66式殺獣光線砲タンク 」での試行が、いい感じでしたが、 別の筐体へ向けて、試行プログラムでの基板を組み込んで実験する事にしました。 【 学研 大人の科学シリーズ メカモ・センチピード 】本体のみ

→ 古いものですので……… 動くかしら (^^?
・ ・ ・ ・ ・
●使用PIC(16F819)のSPI通信ピン配置です。 【 PIC16F819 】(マスタモード)  ●:SPI通信ピン ___________________ _____________________ | V | | | 【左】MP4212G<-+ 1 RA2 PORTA(BIT2) | PORTA(BIT1) RA1 18 +->【右】MP4212A 【左】MP4212E<-+ 2 RA3 PORTA(BIT3) | PORTA(BIT0) RA0 17 +->【右】MP4212C 【左】MP4212C<-+ 3 RA4 PORTA(BIT4) | PORTA(BIT7) RA7 16 +->【右】MP4212E -+ 4 RA5 PORTA(BIT5) | PORTA(BIT6) RA6 15 +->【右】MP4212G 0V -+ 5 Vss (-) | (+) Vdd 14 +- 3〜5V+ 【左】MP4212A<-+ 6 RB0 PORTB(BIT0) | PORTB(BIT7) RB7 13 +- DAT->シリアルデータ・イン >-+ 7 SDI●PORTB(BIT1) | PORTB(BIT6) RB6 12 +- CMD<-シリアルデータ・アウト<-+ 8 SDO●PORTB(BIT2) | PORTB(BIT5)●RB5 11 +->スレーブセレクト-SS -+ 9 RB3 PORTB(BIT3) | PORTB(BIT4)●SCK 10 +->シリアルクロック-CLK | | +------------------------------------------+
・ ・ ・ ・ ・
●配線図です。……… クリックすれば、拡大します。
・ ・ ・ ・ ・
●DMD(VS−RCV3レシーバ用)実験版 試行プログラムです。 多足型駆動は、超信地旋回が似合いそうです。 -------------------------------------------------------------------------------- ・VSC3DMD03( VER 0300 )  ( ●超信地旋回あり X信地旋回なし ●旋回あり )   → VSC3DMD02を流用して機能変更しました。 -------------------------------------------------------------------------------- ・VSC3DMD04( VER 0400 )  ( ●超信地旋回あり ●信地旋回あり X旋回なし ) --------------------------------------------------------------------------------
・ ・ ・ ・ ・
●この試行プログラムで、様子をみます。 -------------------------------------------------------------------------------- ・VSC3DMD05( VER 0500 )   ( ●超信地旋回あり ●信地旋回あり ●旋回あり )  何故か、この段階で、プログラム内でのテーブルサーチが不安定になった感じで、  フリーズ事象が発生しましたので、該当のプログラム内テーブルを取り除いて、  この処理機能部分を通常のプログラム文法記述に切り替えました。   → プログラムステップ数は増えましたが… 仕方ないですね (^^; --------------------------------------------------------------------------------
●DMD操作指示エリアです。… クリックすれば、拡大します。
・ ・ ・ ロボット専用コントローラ [VS-C3]からの操作方法です。 ・ ・
●ステイックとボタンの使い方です。 ------------------------------------------------------------------------------  ・アクセル・ギヤ ………………【左側】ステイック    ・前 進    : 上方向    ・停 止    : 中央 【 ニュートラル 】    ・後 進    : 下方向 ------------------------------------------------------------------------------  ・ステアリング …………………【右側】ステイック    ・(右)超信地旋回 : 右方向 (最右端)    ・(右)信地旋回  : 右方向    ・(右)旋回    : 右方向    ・直 進      : 中央 【 ニュートラル 】    ・(左)旋回    : 左方向    ・(左)信地旋回  : 左方向    ・(左)超信地旋回 : 左方向 (最左端) ------------------------------------------------------------------------------  ・自動走行 ………………………【前側】ボタン    ・前進【自動】(ON) : L1 ボタン……(左)    ・後進【自動】(ON) : L2 ボタン……(左)    ・走行【自動】(OFF): R1 ボタン……(右) OR R2 ボタン……(右) ------------------------------------------------------------------------------  *プログラムからの設定により、強制的にアナログモードで固定します。
●ステイック操作


・ ・ ・ 使用する ボタン情報(2バイト)、 ステイック情報(4バイト)です。 ・ ・
●ボタン情報(2バイト) ------------------------------------------------------------------------------  ・バイト4: 未使用 ………【左側】エリア・【中央】エリア ------------------------------------------------------------------------------  ・バイト5 DAT応答電文 ボタン区分  ボタン    'FF' →  50  : 押下なし ………【右側】エリア・【前側】エリア    'EF' →  55  : R1 ……………【前側】エリア 上段(右)    'DF' →  56  : L1 ……………【前側】エリア 上段(左)    'BF' →  57  : R2 ……………【前側】エリア 下段(右)    '7F' →  58  : L2 ……………【前側】エリア 下段(左) ------------------------------------------------------------------------------
●ステイック情報(4バイト)  現状のLSBでは設定が難しいので、MSBへ変換(上下位ビットの入替)してから処理する。           DAT応答電文(MSBへ変換後)   ステイック情報 ------------------------------------------------------------------------------  ・バイト6 : 最左端(0)〜中央〜最右端(255) @【右側】水平(左右)軸  ・バイト7 : 未使用  ・バイト8 : 未使用  ・バイト9 : 最上端(0)〜中央〜最下端(255) C【左側】垂直(上下)軸 ------------------------------------------------------------------------------
・ ・ ・ ・ ・
●自動(前進・後進)走行機能を組み込みました。  この機能により、長い直進走行などで、手放し操作ができますので便利になります。 ------------------------------------------------------------------------------  ●自動走行 ……………【前側】ボタン   ・前進【自動】(ON) : L1 ボタン……(左)   ・後進【自動】(ON) : L2 ボタン……(左)   ・走行【自動】(OFF): R1 ボタン……(右) OR R2 ボタン……(右) ------------------------------------------------------------------------------  ●自動走行モードの基本的な考え方  ・自動走行モードの実行(ON)は………   ・疑似的に、前進または後進のステイック操作の状態にする。   ・解除(OFF)されるまで適用される。   ・停止ギヤ(ステイック位置)の状態下のみ、    自動走行モードの実行(ON)ボタン操作で適用される。  (留意点)   ・自動走行モードの実行(ON)が適用されている状態でも………     → ステイック操作(前進・後進)が最優先され動作する。 ------------------------------------------------------------------------------  ・自動走行モードの解除(OFF)は………   ・自動走行モード(ON)を、解除(OFF)した状態にする。   ・実行(ON)されるまで適用される。   ・停止ギヤ(ステイック位置)の状態下のみ、    自動走行モードの解除(OFF)ボタン操作で適用される。 ------------------------------------------------------------------------------ ギヤ    疑似的なステイック位置   自動走行モード    区分      (アクセル・ギヤ)    1 …………………… 前進 ……………… 1:実行(ON)    0 …………………… 停止 ……………… 0:解除(OFF)    2 …………………… 後進 ……………… 1:実行(ON) ------------------------------------------------------------------------------
・ ・ ・ ・ ・
【感想】 生き物のような複雑な動きで、32本の足を駆動させて動作しました。(^^)
・ ・ ・ ・ ・