带485接口伺服电机使用MODBUS协议控制

硬件准备

最近要用STM32控制一个三轴伺服系统,在网上找了半天资料,最终基于安富莱的一个MODBUS例程写好了程序。

  1. 伺服系统: TSDA-C12B伺服驱动器+SDGA-01C31AB伺服电机
    这款驱动器上带一个RS485通信接口,并且多个驱动器可以使用串接式总线串在一起,只要设置好对应ID就行。
  2. 开发板: 用的是正点原子探索者,板载STM32F407,通过一个串口2引到板载的SP3485转接芯片,用跳线帽接上就行。芯片同时需要一个接收使能信号来控制接收或发送,放在了PG8脚上。

工程文档在这。实际应用中因为是一个色度标定机器的机器控制部分,所以需要有上位机的参与,通过上位机发送控制信号给STM32,STM32解析并控制机器运动。

下面我就直接贴设计文档了,希望各位耗子尾汁。

文档里把串口2和串口3搞反了,应该是串口2与电机通讯,串口3与上位机通迅,我大意了啊。

基于STM32的伺服电机控制程序

软件架构

主控芯片采用STM32F407ZGT6,该伺服电机控制程序基于TODA电机经销商华创商城提供的模板程序进行编写,开发环境采用Keil v5,采用的MODBUS通讯协议参照“GB/Z 19582.1-2004 基于Modbus协议的工业自动化网络规范-第一部分”与“TSDA-C12B低压伺服用户手册”进行编写实现,程序包括主程序与中断共两部分,软件架构如图1所示:
三轴伺服电机控制程序软件架构
该程序整体实现的功能包含以下几点:

  1. MODBUS-RTU协议通信:根据“TSDA-C12B低压伺服用户手册”的寄存器功能定义表与通信帧使用示例进行相应的配置和操

评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值