[参考]左右・速度調整の制御プログラム

2019年10月24日

sLab-Car左右ホイールバランスや進行速度(タイヤ回転速度)の調整可能な制御プログラム(Arduinoスケッチ)を参考に紹介します。

こちらは左右のタイヤ回転速度をPWM(Pulse Width Modulation)で0〜255で制御します。また、調整値をEEPROMに書き込みますので毎回設定する必要が有りません。

高度な制御ができますのでより深く学習したい方などにはお勧めです。ただし、以下の内容から参考としています。
(1)左右バランスが悪い原因はホイールがシャーシに接触している事によるため。
(2)プログラムが複雑になるため、プログラム学習としては左右バランスなしで行うことが望ましい。
(3)PWMを最大出力でも回転出力が少し(数%程度)低下するため。

プログラムはsLabCar_balanceからダウンロード可能です。

ただし、ESP32ボードをPWM端子として動作させるには配線の変更が必要になりますので、以下の配線に修正して制御プログラムを利用してください。

組み立てマニュアルからの配線変更

組み立ては基本的に「2-1-1.(標準:カメラ有)組み立て」と同じですが、以下の配線を変更する必要があります。
ESP32ボードとカメラ、LED、超音波センサー取り付け板、左赤外線センサ、モーター制御IC間の配線の変更となります。

【カメラ】(左:カメラ端子、右:ESP32開発ボード端子)
3.3V => 3.3V
GND => GND
SCL(SSCB_SDA) => IO22 (3KΩ Pull Up)
SDA(SSCB_SCL) => IO21 (3kΩ Pull Up)
VS(VSYNK) => IO16
HS => 接続なし
PLK(PCLK) => IO14
XLK(XCLK) => IO15
D7 => IO26
D6 => IO25
D5 => IO33
D4 => IO32
D3 => IO35
D2 => IO34
D1 => VN(IO39)
D0 => VP(IO36)
RET => 3.3V
PWDN => GND


《変更はオレンジ配線》

【LED抵抗200Ω】 ①ESP32開発ボードのD17ピン ②ボード左から1番端穴
【LED3mm】 ①長い配線(+アノード)にボード1番端穴 ②LED短い配線(-カソード)をESP32開発ボードのGNDピン

【超音波センサー取り付け板①】 取り付け板GndピンにESP32開発ボードのGNDピン
【超音波センサー取り付け板②】 取り付け板TrigピンにESP32開発ボードのD18ピン
【超音波センサー取り付け板③】 取り付け板EchoピンにESP32開発ボードのD5ピン
【超音波センサー取り付け板④】 取り付け板P2.7ピンにESP32開発ボードのD12ピン

【左赤外線センサーOUT】 ①ESP32開発ボードのD19ピン
【右赤外線センサーOUT】 ①ESP32開発ボードのD23ピン

【モーター制御IC①】 モーター制御IC-IN1ピンにESP32開発ボードのD13(RX2)ピン
【モーター制御IC②】 モーター制御IC-IN2ピンにESP32開発ボードのD12(TX2)ピン
【モーター制御IC③】 モーター制御IC-IN3ピンにESP32開発ボードのD2ピン
【モーター制御IC④】 モーター制御IC-IN4ピンにESP32開発ボードのD4ピン


《変更は基本的にオレンジ、パープル配線。ただし、サービモータは黄配線も変更要、LED抵抗200Ω配線も変更要。》