使用驱动器控制直流无刷伺服电机

Posted 想文艺一点的程序员

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用驱动器控制直流无刷伺服电机相关的知识,希望对你有一定的参考价值。

一、使用器件

1、直流无刷电机

2、直流伺服驱动器 (TSDA-C21B)


二、自带的上位机软件使用:

使用 232 连接电脑主机,打开上位机软件

需要注意的点

  • 控制切换部分,一定要选择 PC控制,要不然无法停机

2、

  • 必须要 点击读入参数 的选项,才能读取到当前的 驱动器的配置模式
  • 更换控制模式的时候,要点击 右下角的下载设置,才能将配置好的模式下载进去。

三、单片机作为主控,通过 RS485 来控制电机的运动

1、485 芯片的使用方法

  • 单片机上面的 485 芯片接口 如下图所示
  • PD2 :RE、DE、是使能引脚
  • PA2 (DI) TX 、PA3 (RO) RX

重要!!!!

  • PD2 为高电平的时候,该 485 为发送模式
  • PD2 为低电平的时候,该 485 为 接受模式


2、在 485 接收数据之前,必须延迟一段时间

分析原因:

  • 有传输的波特率太慢(115200,每秒传输 115200 个bit),我们单片机执行指令的速度很快(72 000 000 ,每秒执行 72000 000 条指令),所以有可能还没有传输完成,数据就被我们读走了
  • 在数据没有传输完成的情况下,我们读走的数据是不全的

3、modbus 从机地址的指定:

  • 通过所给的上位机软件来进行指定。
  • 使用modbus 发送数据的时候,需要指定 从机的地址

四、额外学习

1、modbus 协议

  • modbus 是一个应用层的协议,底层可以使用 485、232、等方式来进行通讯。

Modbus 协议包括 RTU、ASCII、TCP,其中 Modbus-RTU 最常用,比较简单,在单片机上很容易实现。Modbus RTU 协议定义了一个与下层通信层无关的简单协议数据单元(PDU),串行链路上的 Modbus RTU 帧格式如下图所示。

  • 地址字段只含有 从机地址
  • 功能码指示指令要执行何种操作;
  • 功能码的后续数据是请求或响应数据字段;
  • 差错检验字段是“报文内容”数据进行“循环冗余校验”计算所得结果,采用 CRC16 循环冗余校验算法

以上是关于使用驱动器控制直流无刷伺服电机的主要内容,如果未能解决你的问题,请参考以下文章

无刷无感直流电机驱动硬件分析

《Arduino直流电机控制教程》

测试三相无刷电机驱动器 XXD2212 电调

arduino的L298N电机驱动模块如何和直流电机接线?

直流电机+L298N电机驱动模块

Arduino PID直流电机位置控制