### プロジェクト 8: モーター駆動と速度制御 #### **(1)説明:** モーターを駆動する方法は多数あります。このスマートカーでは、L298Pと呼ばれる最も一般的なソリューションを使用しています。STマイクロエレクトロニクス社製のL298Pは、高出力モーターを駆動するために特別に設計された優れた駆動チップです。DCモーター、2相および4相モーターを直接駆動でき、駆動電流は2Aに達します。また、モーターの出力端子には保護用として8個の高速ショットキーダイオードが採用されています。L298P回路をベースにした拡張ボードを設計しており、積層設計によりUNO R3ボードに直接差し込んで使用できるため、ユーザーがモーターを使用・駆動する際の技術的な難しさを軽減しています。 拡張ボードをボードに重ね、BATに電源を供給し、DIPスイッチをON端に切り替えると、外部電源から拡張ボードとUNO R3ボードに同時に電力が供給されます。配線を容易にするため、拡張ボードには逆接続防止インターフェース(PH2.0 -2P -3P -4P -5P)が装備されており、モーター、電源、センサー/モジュールを直接接続できます。ドライブ拡張ボードのBluetoothインターフェースは、Keyestudio HM-10 Bluetoothモジュールと完全に互換性があります。したがって、接続時にHM-10 Bluetoothモジュールを対応するインターフェースに挿入するだけで済みます。同時に、ドライブ拡張ボードは2.54ピンヘッダーを使用して、使用可能なデジタルポートとアナログポートを一部拡張しており、他のセンサーを追加して拡張実験を続けることができます。 拡張ボードには4つのDCモーターを接続できます。デフォルトのジャンパーキャップ接続モードでは、AとA1、BとB1インターフェースのモーターが並列接続され、動作パターンは同じになります。8個のジャンパーキャップを使用して、4つのモーターインターフェースの回転方向を制御できます。例えば、モーターAインターフェース前の2つのジャンパーキャップを水平接続から垂直接続に変更すると、モーターAの回転方向は元の方向と反対になります。 ![](media/6c3731f639e113c8f32fe1829f239898.png) ![](media/62ee9578858ecc8e27b824af65fb22bb.png) #### **(2)パラメーター:** - ロジック部入力電圧: DC 5V - 駆動部入力電圧: DC 7-12V - ロジック部動作電流: ≤36mA - 駆動部動作電流: ≤ 2A - 最大消費電力: 25W (T=75℃) - 制御信号入力レベル: ハイレベル: 2.3V ≤ Vin ≤ 5V ローレベル: 0V ≤ Vin ≤ 1.5V - 動作温度: -25℃~+130℃ #### **(3)ロボットを動かす:** Aモーターの方向ピンはD2、速度制御ピンはD5です。Bモーターの方向ピンはD4、速度制御ピンはD6です。 以下の表から、デジタルポートとPWMポートを通じて2つのモーターの回転を制御することで、ロボットの動きを制御する方法がわかります。PWM値の範囲は0〜255で、値が大きいほどモーターの回転が速くなります。 | 機能 | D4 | D6(PWM) | モーター(左)B | D2 | D5(PWM) | モーター(右)A | | :------: | :--: | :-------: | :-------------: | :--: | :-------: | :-------------: | | 前進 | HIGH | 0 | 左回転 | HIGH | 0 | 左回転 | | 後退 | LOW | 255 | 右回転 | LOW | 255 | 右回転 | | 左折 | LOW | 255 | 右回転 | HIGH | 100 | 左回転 | | 右折 | HIGH | 100 | 左回転 | LOW | 255 | 右回転 | | 停止 | LOW | 0 | 停止 | LOW | 0 | 停止 | #### **(4)接続図:** ![](./media/image-20250709134029403.png) 注意: 4ピンコネクターにはA、A1、B1、Bの表記があります。右後方のモーターは8833ボードのBに接続し、左前方のモーターはAポートに接続します。 #### **(5)テストコード:** 以下のようにブロックをドラッグしてコードを編集することもできます。 (1)![](media/7cbc4d14c2e2dac956f2e9f145f01f31.png) (2)![](media/0067d367772d4e3005bfc097ba3b59b0.png) (3)![](media/f0c505e8268454c7996b755f97c6322b.png) (4)![](media/b7215c8a4997a188947e80fdee1a8cd9.png) **完全なテストコード** (**注意:** コードをアップロードする前にBluetoothモジュールを接続しないでください。コードのアップロードにもシリアル通信を使用するため、Bluetoothシリアル通信と競合が発生し、アップロードが失敗する可能性があります。) ![](media/332229f3dc01a38de898367f52531b28.png) #### **(6)テスト結果:** 図に従って配線し、テストコードをアップロードして電源を入れます。 ![](./media/img-20240117092625.png) スマートカーは前進2秒、後退2秒、左折2秒、右折2秒、停止2秒の動作を行います。