此项目是基于飞特舵机ST3032制作的二维云台的驱动程序。
该项目包含了Linux主机(如Jetson nano)以及Tiva、STM32的驱动程序。
克隆本项目
git clone https://github.com/Pansamic/FeeTech_2D_Gimbal
需要注意,初次使用该电机时,所有的电机的ID都是1,因此对总线发串口信息的时候,两个电机均会对ID为1的指令进行响应,而不会响应其他ID的指令。这并不是我们期望的情况。因此,需要将驱动板连接上位机来更改电机ID。
将二位云台末端的电机(控制上下的电机)插入驱动板并将驱动板上的microUSB插口连接windows电脑,如下图所示。
打开本项目根目录下的FD.exe
,如下图。选择波特率为1000000,打开串口。
点击搜索,程序开始搜索驱动板上连接的电机。
首先在左下角框中选择这个电机,然后点击顶上的编程
栏,选择电机ID,右下角修改ID为2并保存。
打开本项目根目录的FD.exe,按照上述步骤搜索舵机,点击软件顶部导航栏的编程
栏,找到第6项“波特率”,将值修改为4,4对应115200。这是因为有些单片机波特率到不了1000000。
将两个舵机组装成云台,注意ID为1的舵机在底部,ID为2的舵机在上面。
在调试
界面,拖动滑块,将底部的1号舵机调到正对左边,记录下此时的位置值。打开编程
界面,将第31项修改为这个位置值。
同样地,将底部2号舵机向前调,记录位置值并写入舵机。
将两个电机都插到驱动板上,如果是linux主机,可以用USB线连接,如果是单片机,可以通过驱动板的排针连接单片机的UART,切记:单片机的Tx接驱动板的Tx,单片机的Rx接驱动板的Rx。
在示例程序中,二维云台会摆头,如果在云台上加上激光笔,可以看到激光笔画圆。
git clone https://github.com/Pansamic/FeeTech_2D_Gimbal
cd FeeTech_2D_Gimbal/linux
mkdir build && cd build
cmake ..
make
#'/dev/ttyUSB0'替换成实际连接电机驱动板的串口设备
sudo ./gimbal_demo