Makerbase SimpleFOC ESP32例程4 双电机闭环速度测试

Makerbase SimpleFOC ESP32例程4 双电机闭环速度测试

第一部分 硬件介绍

1.1 硬件清单

序号品名数量
1ESP32 FOC V1.0 主板1
2YT2804电机2
312V电源适配器1
4USB 线1
56pin杜邦线2

注意:YT2804是改装的云台无刷电机,带有AS5600编码器,可实现360°连续运转。
主要参数如下:

序号品名数量
1输入电压12V
2极对数7
3工作电流180mA
4最大转速3840RPM
5编码器分辨率(I2C)接口12bit
6编码器分辨率(Analog)接口1024

硬件清单如下图所示:
在这里插入图片描述

ESP32 FOC V1.0主板说明书等更多资料请加入企鹅群(732557609)下载
在这里插入图片描述

1.2 硬件连接

1.电机的三根相线连接至ESP32 FOC主板
2.连接电机的AS5600编码器至ESP32 FOC主板,端口对应关系如下表
(编码器端口对应关系如下方实物图所示,注意不要接反)
在这里插入图片描述

3.用USB线连接ESP32 FOC主板与PC
4.12V电源适配器连接主板
注意:请不要在上电的情况下进行硬件连接!
在这里插入图片描述

上电后绿色指示灯亮

第二部分 软件配置

2.1 PC系统

Windows 10家庭中文版

2.2软件准备

Arduino 1.8.13
可从官方网站下载
也可从企鹅群(732557609)下载
在这里插入图片描述

2.3 安装Arduino

2.4 安装SimpleFOC library

详情请查看《Makerbase SimpleFOC 第一课 入门配置》
文章链接:https://blog.csdn.net/gjy_skyblue/article/details/115353908
注意:本例程使用的库版本为2.1.1,如果已经下载过其他版本,则需要更换版本。
更换版本的方法请参照往期示例。
文章链接:https://blog.csdn.net/gjy_skyblue/article/details/131019261?spm=1001.2014.3001.5502

第三部分 双电机闭环速度测试

3.1 修改代码

1.检查硬件连接,之后给主板上电。
2.用Arduino打开测试例程代码 4_close_loop_velocity_example。
(例程代码请加入QQ群下载)
在这里插入图片描述

3.点击工具=>开发板=>ESP32 Arduino=>ESP32 Dev Module。
在这里插入图片描述

4.点击工具=>端口=>COM▢,选择对应的USB端口号。
在这里插入图片描述

5.17行和20行,根据选用电机的极对数,修改BLCDMotor()中的值。
在这里插入图片描述

6.38行和41行,在使用其他供电电压时,修改voltage_power_supply的值。
在这里插入图片描述

7.63行和64行,根据选用的供电电压,修改voltage_limit的值。
在这里插入图片描述

3.2 编译上传与测试

1.点击左上角的的上传按钮
在这里插入图片描述

等待编译上传
在这里插入图片描述

等待显示上传成功
在这里插入图片描述

代码上传成功后电机会进行自动校准,之后会进入闭环模式。
此时手动扭动电机,能感受到阻力的存在。
若强行转动电机,电机也会旋转回原来的位置。
2.点击工具=>串口监视器,打开串口窗口
在这里插入图片描述

  1. 在串口窗口输入框指令并点击发送,可以进行控制
    在这里插入图片描述

输入“T+数字”的指令,可以控制电机转动的速度。
例如输入T10,电机会以10rad/s的速度转动。
输入T20,电机会以20rad/s的速度转动。
输入T40,电机会以40rad/s的速度转动。

Makerbase SimpleFOC ESP32 例程4 双电机闭环速度测试 到此结束。
请继续关注后续课程。


欢迎加入 创客基地 电机控制企鹅群 讨论电机控制相关问题:732557609
欢迎光临 创客基地 B站 了解技术资料
欢迎光临 创客基地 taobao店 采购产品

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: ST32编程可以实现直流有刷电机PID速度闭环控制,实现精准变速控制。下面是一个关于电机控制的例程分享。 首先,我们需要定义一些变量。例如,电机转速、目标转速、PID控制参数等。然后,我们需要初始化串口、定时器、GPIO等相关部件。 接下来,我们可以编写一个函数来计算PID控制器的输出值。该函数根据实际转速和目标转速来计算当前转速误差,并根据PID参数计算出控制器的输出值。PID控制器的功能是根据误差的大小来调整电机的输入电压,使实际转速逐渐逼近目标转速。 在主函数中,我们可以设置目标转速,并进入一个循环。在每次循环中,我们先读取电机的实际转速,然后调用PID控制器函数来计算控制器的输出值。最后,将控制器的输出值作为PWM信号输送给电机控制引脚,从而实现对电机转速的控制。 在程序的末尾,我们可以添加一些保护措施,例如防止电机超速或超载等情况的处理。 以上就是一个关于STM32编程直流有刷电机PID速度闭环控制的简单例程分享。通过这个例程,我们可以学习如何使用STM32控制直流有刷电机的转速,并实现精准的变速控制。当然,具体的实现可能会根据电机的型号和使用的STM32系列进行微调和修改。 ### 回答2: STM32是一款功能强大的嵌入式微控制器,可以用于控制直流有刷电机的PID速度闭环精准变速控制。下面我将与大家分享一个电机控制的例程。 首先,我们需要定义一些常量和变量来控制电机的运行。常量包括电机的最大转速、最小转速、加速度和减速度等;变量包括当前转速、目标转速、加速度、减速度等。我们还需要定义PID控制器的参数,包括比例系数、积分系数和微分系数。 然后,我们需要编写一个初始化函数,将所有的变量初始化为初始状态。这个函数包括对GPIO引脚的设置、定时器的配置以及ADC模块的初始化。 接下来,我们需要编写一个速度计算函数,该函数用来根据编码器的信号来计算电机的实际转速。在这个函数中,我们需要测量编码器的脉冲数,然后根据一定的公式将脉冲数转换为转速值。 然后,我们需要编写一个PID控制器函数,该函数用来根据当前转速和目标转速来计算电机的输出控制信号。在这个函数中,我们需要根据PID控制算法计算出输出信号,然后将其转换为驱动电机的PWM信号。 最后,我们需要编写一个主循环函数,该函数用来调用速度计算函数和PID控制器函数,并根据控制信号来驱动电机。在这个函数中,我们需要不断地读取目标转速,然后根据当前转速和目标转速来执行PID控制。 通过以上步骤,我们就可以实现对直流有刷电机的PID速度闭环精准变速控制。当然,在实际的应用中,我们可能还需要考虑其他因素,比如电调的设置、电机的负载等。因此,在编写实际的应用程序时,需要综合考虑所有的因素,并根据实际情况做出相应的调整。 这就是我对STM32编程直流有刷电机PID速度闭环精准变速控制的简要介绍和例程分享。希望能对大家有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值