舵机通讯检测

舵机通讯检测 1. 舵机通讯检测指令 检查舵机是否在线,就需要用到PING指令。PING数据包的内容部分是舵机的ID。如果ID号的舵机存在且在线,总线伺服舵机在接收到PING指令时,会发送一个响应包。如果ID号的舵机不存在或者掉线,就不会有舵机发送响应数据包。 2. 操作流程 1 . 物理接线 ①STM32与STLinkV2相连接 ②STM32的UART1接总线伺服舵机转接板 ③总线伺服舵机转接板上接一个舵机ID为0的总线伺服舵机 ④STM32的UART2接USB转TTL模块 注: 接线部分请参考1.4接线说明 2 . 打开STM32例程的工程文件 3 . 代码编译 日志输出:编译成功 4 . 将STLinkV2与电脑的USB相连接 5 . 将固件下载到STM32 固件载入到STM32 Flash成功的日志输出 6 . 给舵机供电 电池接在UART舵机转接板上。 7 . 将USB转TTL与电脑USB口相连接 8 . 打开串口调试助手软件 选择对应的设备号,配置波特率为115200,打开串口。 注: 这里以友善串口调试助手为例 9 . 重置STM32 按下STM32开发板上的RESET 重置按钮。STM32执行新写入的固件。 注:只有按下重置按键,STM32才会执行新烧录的固件。 10 . 查看串口调试助手上的日志信息 3. 硬件资源初始化 首先是引入四个依赖的库文件。 […]

物料清单

物料清单 1. 概要 列举了舵机云台主题课程(STM32版)所需的物料清单。 2. 舵机以及相关配件 例程里面使用的舵机型号为RP8-U45,但是不局限于这一舵机型号,因为协议都是相同的。 RP8-U45总线伺服舵机-购买链接 串口舵机转接板也在上面的那个购买链接里。 也可以直接采购整套二自由度舵机云台。 3. STM32F103开发板与配件 STM32F103小蓝板 Blue Pill 是单片机STM32F103C8T6的最小系统板,大部分管脚都引出了,方便结合各种传感器与串口舵机做各种应用案例。另外小蓝板的优势就是成本比较低,十几块就可以搞定,有非常好的用户基础。 芯片资料请查阅:附录A.STM32F103数据手册 ST-LINK/V2是一款可以在线仿真以及下载STM8以及STM32的开发工具。 USB转TTL模块用于连接电脑的USB口和STM32的TTL串口。 STM32输出的日志信息通过串口,经由USB转TTL模块发送到PC的串口上,这样通过PC上的 串口调试助手 显示出来。常用的USB转TTL的芯片有CH340和CP2102。如果你购买了两个串口舵机转接板的话,其中一个也可以当做USB转TTL模块来使用。

接线说明

接线说明 1. 概要 课程提供的案例,接线图以及硬件资源配置都是保持一致的,因此把所有的接线部分的描述放在这一篇文章里。 注:不需要把所有的线同时接好,根据运行的例程的需要,有选择的进行接线。 2. 固件下载 2.1. STM32与STLinkV2的接线 通过STLinkV2给STM32下载固件。 STM32与STLinkV2的接线图 STM32 STLinkV2 SWIO / IO SWDIO SWCLK / CLK SWCLK GND GND 3V3 3.3v 3. 串口UART 3.1. 串口资源 STM32F103一共有三个串口资源,分别为UART1、UART2、UART3。在舵机云台主题课程(STM32版)里,约定三个串口的用途分别为如下所示: UART1 接总线伺服舵机转接板,控制总线伺服舵机 UART2 接USB转TTL模块,用于日志输出 UART3 接OpenMV,用于接收图像处理得到的信息 3.2. STM32与总线伺服舵机的接线 串口1和总线伺服舵机转接板的TTL接口相连,用于控制总线伺服舵机。 STM32与总线伺服舵机转接板接线图 STM32F103 GPIO 总线伺服舵机转接板 PA_9 (UART1 Tx) Rx PA_10 (UART1 Rx) Tx 5v 5v GND GND […]

开发环境配置

开发环境配置 1. 概要 列举了舵机云台主题课程所需安装的驱动以及软件。 2. 串口舵机调试工具 在FashionStar的官网,可以下载UART总线伺服舵机的调试软件。 FashionStar 舵机配套软件下载地址 软件包是一个rar后缀的压缩包,直接解压就可以,无需安装。 详情请参阅教程 串口舵机使用入门 / 1.5舵机调试软件的使用。  参阅教程给舵机分配ID 3. Keil5安装 Keil5是STM32的IDE,需要去Keil5的官方网站下载最新的IDE。 MDK-Arm官方下载地址 安装好IDE之后,还需要安装STM32 F1系列的芯片包。 请自行搜索相关的视频/文本教程。 4. STLinkV2驱动安装 STLink的驱动安装资料以及如何在Keil5中设置下载器选项,可以向销售STLinkV2的店家索要,并获取相关技术支持。 注:如果使用其他下载器也是可以的,并不局限于STLinkV2,只是因为这种下载器比较便宜,占用的管脚也比较少。 5. USB转TTL驱动下载与安装 舵机转接板使用的USB转TTL串口芯片是CH340,需要在Windows上安装CH340的驱动。 CH340驱动下载地址 驱动安装完成之后,检查驱动是否安装成功。 检查CH340驱动是否安装成功 另外, 你需要安装你所使用的USB转TTL的驱动(例如CP2102)。 6. 串口调试助手 串口调试助手,推荐使用正点原子开发的XCOM V2.2。 XCOM V2.2下载地址(直接下载,无需注册) XCOM V2.2功能介绍 7. OpenMV 驱动与IDE安装 因为使用到了OpenMV视觉模块,所以需要安装OpenMV IDE用于开发测试视觉模块相关的功能。 OpenMV IDE下载地址 安装IDE的同时也会安装OpenMV 所需的驱动。 参考视频教程: OpenMV视频教程03-驱动、IDE的安装与使用 OpenMV IDE安装与OpenMV校准 […]

工程结构

工程结构 1. 概要 讲解了舵机演示例程的工程结构规范,以及库文件的作用。 2. 工程结构 以例程舵机通讯检测为例,讲解STM32的工程结构。 打开文件夹 舵机通讯检测/源代码/FashionStarUartServo 目录结构如下: Project Keil5的工程文件,点击 FashionStarUartServo.uvprojx 即可通过Keil5打开此工程。 User 主程序以及用户自定义库 main.c 用户主程序 用户自定义的库文件,例如串口舵机驱动库等 Libraries CMSIS:存放ARM公司为cm3内核专一定制的内核文件接口 FWLIB:存放STM32的外设库 Listings :该目录是MDK生成信息输出目录,存放代码分布(.map和.lst) Output 该目录是MDK生成信息输出目录,存放目标文件(.o)、调试文件(.axf)、下载文件(.hex)、依赖文件(.d)等。 3. 用户自定义库文件 User文件夹 工程结构介绍 sys_tick 管理系统时间。通过配置系统定时器中断,实现了延时以及倒计时的逻辑。 ring_buffer 用C语言实现了环形缓冲队列。用于存放管理串口通信的字节流。同时还具备向缓冲队列读取/写入特定数据类型的数值的功能。 usart 串口通信的库。通过配置宏,可以方便的打开关闭STM32F103C8开发板上三个USART资源。 fashion_star_uart_servo 封装了舵机的通信协议,是舵机STM32F103版本的SDK。 main.c 主程序。程序入口。 User 文件目录树 ├── fashion_star_uart_servo 舵机驱动库 │ ├── fashion_star_uart_servo.c │ └── fashion_star_uart_servo.h ├── main.c 主程序 ├── […]