ATOMS3 Lite(ESP32S3)でSG90-HVという360°連続回転サーボを動かしてみました。言語はMicropythonを使用しています。
360°連続回転サーボの解説に入る前に、ESP32S3のMicroPythonでのファームウェアをセットアップを行います。設定方法は下記の通りです。
①下記よりファームウェアをダウンロードします。
② ATOMS3 LiteをUSBでPCに接続した後にRESETボタンを緑色に点灯するまで長押しします。
③Terminal・Windowsの場合はコマンドプロントを起動します。
④esptoolのインストール
esptoolをPCへインストールしていない場合は下記のコマンドで インストールします。
pip install esptool
※PCにインストール済みの為、キャプチャーは割愛させていただきます。m(_ _)m
⑤次のコマンドでフラッシュを消去します。
esptool --chip esp32s3 --port 【port番号】 erase_flash
⑥次の方法で新しいファームウェアを導入します。
esptool --chip esp32s3 --port【port番号】write_flash -z 0 ”【binファイルの保存場所+binファイル名】
以上の設定で完了です。
開発環境は今回Thonnyを使用します。当ブログでは下記の記事に記載しています。
ファームウェアの設定が終わったら一度USBを差しなおしてThonny を立ち上げます。
インストールがうまくいってポートの選択がされれば、下記のような表示になります。
ファームウェアと開発環境の設定が終わったら、SG90-HV(360°連続回転サーボ)の解説をします。
360°連続回転サーボは基本的には通常の180°動くサーボモータのプログラムと一緒のプログラムで動かすことができます。
ただし、180°動くサーボモータでは回転角を指定していた項目が回転角になり、±90°のときに速度最大、0の時に停止、0を境に逆回転します。
SG90-HVは180°動くサーボモータSG-90を動かすときの下記の式に当てはめて動かしています。
cycle_duty = ((2.4-0.5)*(角度+90)/180+0.5)/20*65536
参考 (当ブログ)
接続
下記の通りに接続しています。
SG90-HV ⇔ ATOMS3 Lite
GND(Brown) ⇔ GND
PWM(Red) ⇔ GP5
Vcc(Orange) ⇔ 5V
プログラム
SG90-HV(360°連続回転サーボ)を動すのに使用したプログラムは下記になります。
deg_valueの値を変えることで動く速度が変わります。
下記のように動きます。
おまけ
Mini Dual Button Unitと動かしてみる。
接続
下記の通りに接続しています。
SG90-HV ⇔ ATOMS3 Lite
GND(Brown) ⇔ GND
PWM(Red) ⇔ GP5
Vcc(Orange) ⇔ 5V
Mini Dual Button Unit ⇔ ATOMS3 Lite (Grove)
Bule Button ⇔ GP1
Red Button ⇔ GP2
GND ⇔ GND
Vcc ⇔ 5V
プログラム
青いボタンを押したときに時計回り、赤いボタンを押したときに反時計回りをします。
また、ボタンを動かしている間だけサーボが回転します。
下記のように動きます。
参考にした記事
ESP32S3の設定について(当ブログ)
360°連続回転サーボについて
・360°連続回転のサーボモータ「SG90-HV」を使ってみる 旅乙女と発明娘の子供部屋
・Arduinoでサーボモータ(SG90、SG90-HV)を操作しました Arduino 簡単電子工作の世界
Comentarios