Servo Driver with ESP32

来自Waveshare Wiki
跳转至: 导航搜索
Servo-Driver-with-ESP32
Servo Driver with ESP32
{{{name2}}}
{{{name3}}}
板载接口
UART TTL

说明

前言

本产品是基于ESP32的总线舵机控制板,提供了可通过WEB端控制总线舵机的例程,并且支持对舵机进行编程改变舵机的ID和工作模式(舵机模式/电机模式)等,理论上可以控制253个总线舵机并且读取每个舵机的当前角度、负载、电压、模式等信息,可以使用串口与上位机进行通信,用于搭建机器人项目的下位机,板载OLED屏幕可以用来显示关键信息,适用于机械手臂,六足机器人,人形机器人,轮式机器人等需要反馈舵机角度和负载的机器人项目。

产品规格

  • 输入电压VIN:6V~12V(输入电压需要与舵机电压匹配)
  • 主控芯片:ESP32
  • 控制方式:UART
  • 下载接口:Type-C
  • 供电接口:5.5*2.1mm DC
  • 产品尺寸:65mm x 30mm
  • 固定孔通径:3.0mm

产品特性

  • 可同时控制多达 253 个 SC、ST 系列总线舵机(前提是供电充分)
  • 宽电压输入 6-12V(输入电压需与舵机电压匹配)
  • 内置 WIFI 和蓝牙,同时支持 ESP-NOW,可远程遥控和调试舵机
  • 自动下载电路方便上传程序
  • 开源了 web 应用和多款机器人结构
  • 迷你小巧,节省空间,适合嵌入到各种对空间要求较高的项目当中

开源项目

你可以在产品资料中下载相关的开源机器人模型,用于搭建你自己的项目。

Servo-Driver-with-ESP32-details-3.jpg

产品使用

ST系列舵机

一般来说,我们是通过Arduino IDE编译上传程序后才能控制ST系列舵机,但是通过Arduino编译需要给Arduino安装各种依赖库后才能使用。因此,我们提供一款ESP32下载工具,使用这个工具,用户不需要下载其它依赖库以及Arduino IDE软件即可将程序下载至驱动板里。

  • 点击ST系列ESP32下载工具链接进行下载,下载后解压缩,双击打开“flash_download_tool_3.9.5.exe”程序。打开后,会弹出两个窗口,我们需要操作的是下载工具的UI界面,而另一个窗口作为终端来显示下载工具的工作状态。
  • 在“DOWNLOAD TOOL MODE”这个界面,Chip Type选择为ESP32,WorkMode选择为Factory,使用Factory调用二进制文件时才会使用相对路径,就不需要用户手动输入二进制文件路径,选择好后点击OK。

STServo1.png

  • 在这个软件界面中,保持“LockSettings”的勾选,右边代表的是可以同时给8个驱动板上传程序。接着用USB线将舵机驱动板和计算机连接起来,点击“COM”,选择新出现的COM(我这里新出现的COM为COM3);BAUD是用于设置下载速度,越高速度越快,ESP32最高可以使用921600。

STServo2.png

  • 选择好后,点击START开始上传程序,上传完成后,“IDLE等待”会变成“FINISH完成”,完成后可以断开舵机驱动板与电脑的USB连接,将舵机与舵机驱动板连接后,给舵机驱动板接上电源后来控制ST系列舵机。

STServo3.pngSTServo4.png

SC舵机

  • 点击SC舵机ESP32下载工具链接下载,下载后的步骤与ST系列舵机一样。上传好程序后,将舵机与舵机驱动板连接后,给舵机驱动板接上电源后即可控制SC系列舵机。

web端使用教程

  • 以下教程默认以使用总线舵机驱动板的情况来解释舵机的使用方法,如果你需要在自己的项目中使用总线舵机,可以参考示例程序和总线舵机驱动电路原理图来进行二次开发。
  • 舵机的出厂默认ID为1,与同一块舵机驱动板连接的舵机中,同一个ID只能对应一个舵机,不可以有一个以上ID相同的舵机在同一控制链路中。当你为舵机设置ID时,尽量保证只有一个要更改ID的舵机与驱动板连接,ID更改后会被永久保存在舵机中即使断电也不会丢失。
  • 首先你需要为每个舵机设置一个独立的ID,当为一个舵机设置ID时,驱动板不要连接其它舵机。
  • 如果你使用ST3215舵机,当舵机与舵机驱动板连接后,你需要通过舵机驱动板的5.5*2.1mmDC接口为其供电6-12.6V(推荐使用12V供电),该供电接口会直接为舵机供电,如果你使用的舵机数量较多,需要保证这个接口有足够大的电流为其供电。
  • 驱动板上电后,默认会建立一个WiFi热点,默认热点名称为ESP32_DEV,默认热点密码为12345678。用手机连接这一热点。
  • 连接舵机驱动板发出的热点后,建议使用谷歌浏览器,访问地址192.168.4.1,需要注意的事,由于连接该WiFi后手机不能Ping通用来验证网络连接的服务器,所以可能会自动切换到其它已知WiFi,如果发生这种情况只要再重新连接ESP32_DEV即可,第二次连接成功后手机就不会自动切换了。
  • 驱动板在开机时会自动扫描ID:0-20的舵机(为了缩短开机时间),如果你使用了超过这一ID的舵机,需要更改ServoDriverST.ino内的MAX_ID数值再重新上传程序到舵机驱动板。

ST3215-Servo-details-23.jpg

  • 如果舵机是在驱动板上电后才连接的,需要按一下手机浏览器页面上的Start Searching来重新扫描。
  • Active ID为现在所选择的舵机ID号,ID to Set为要设置的新ID号,通过ID to Set+ID to Set-来调整ID to Set的数值,调整后按Set New ID键来将当前ID为的Active ID的舵机的ID设置为ID to Set
  • 当全部舵机的ID都设置完成后,就可以将它们全部连接起来了。如果不重启设备,则需要按一下Start Searching来扫描所有舵机。
  • ID:后面显示的是当前所有与舵机驱动板相连接的舵机ID号。
  • Active ID当前所选择的舵机ID号,后续的操作都是在控制这个Active ID舵机。
  • 你可以通过ID Select+ID Select-这两个按键来选择Active ID舵机。
  • Middle键,可以让舵机转动到中间位置,舵机的位置范围为0-4095,中间位置为2047。
  • Stop键,默认程序中不会让舵机一直动作下去,如果对程序进行了二次开发导致舵机转动停不下来,可以通过按Stop键停下舵机运动。
  • Release键,按下后舵机会关闭扭矩锁(Torque Off),此时可以用手转动舵机。
  • Torque键,按下后舵机会开启扭矩锁(Torque On),此时舵机会用力保持在指定位置。
  • Position+键,按下后舵机会开始顺时针转动,当舵机处于舵机模式时,转动到4095的位置后就不会继续转动。
  • Position-键,按下后舵机会开始逆时针转动,当舵机处于舵机模式时,转动到0的位置后就不会继续转动。
  • Speed+Speed-用来设置舵机转速,ST系列舵机最高可设置为3073左右,速度为每秒钟转动转动的步数,50步/秒≈0.732RPM。
  • Set Middle Position键,无论当前舵机处于什么位置,当按下该按键后,舵机会将当前的位置设置为中间位置(2047)。
  • Set Servo Mode键,将舵机设置为舵机模式,舵机模式下可进行360°的绝对角度控制,该设置会永久保存即使掉电也不会丢失。
  • Set Motor Mode键,将舵机设置为步进电机模式,舵机可连续转动30000步,连续按下即可一直转动下去,该模式可进行±7圈内的相对角度控制,圈数掉电不保存,步进电机模式设置会永久保存即使掉电也不会丢失。
  • Start Serial Forwarding键,将舵机驱动板设置为串口转发模式,你可以用舵机驱动板上面的typeC接口直接控制舵机和获得舵机反馈,该功能用于调试舵机。
  • Normal键,将舵机驱动板设置为普通模式,该模式下,既不会通过ESP-NOW发送信息也不会接收信息。
  • Leader键,将舵机驱动板设置为主机端,该模式下,驱动板通过ESP-NOW协议连续发送当前Active ID舵机的ID,位置和速度发送给被控制从动端的驱动板中。舵机驱动板开机后,屏幕上第一行的MAC:是此开发板的MAC地址,该地址是独一无二的,例如MAC:08 3A F2 93 5F A8。ESP-NOW通信的前提是要知道从动端的MAC地址,记下那个地址,填写到ServoDriverST.ino的broadcastAddress[] = {0x08, 0x3A, 0xF2, 0x93, 0x5F, 0xA8};再上传到主机端的驱动板后就可以使用这个功能了。
  • Follower键,将舵机驱动板设置为从动端,当主机端的程序中改好从动端的MAC地址后就可以在主机端的遥控下进行动作。
  • RainbowONRainbowOFF键用于开机和关闭RGB灯的彩虹变换效果。

资料

原理图

总线舵机驱动电路

文档

程序

软件

串口驱动

开源结构

客户案例

Rebelia 机器人手

使用产品:

项目简介: Rebelia Robotic Hand 是由来自 Hackday 社区的创客开发的开源仿生机械手项目。使用我们提供的伺服驱动系统与总线舵机,实现了灵活的手指弯曲动作。

项目地址:Hackaday 地址


技术支持

联系人:叶工
EMAIL:2355861363@qq.com
QQ:2355861363
微信:扫下方二维码添加
XueTingYe.png

说明:进行售后服务前,请准备好客户信息(定货单位、定货人等),以供验证