完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
一、硬件介绍
本节实验适合运行在SimpleMotor和SimpleFOCShield V2.0.3上。 1.1、硬件准备 1.1.1、SimpleMotor方案 [tr]序号名称数量[/tr]
带编码器云台电机可以是AS5600,也可以是TLE5012B。 1.1.2、SimpleFOCShield V2.0.3方案 [tr]序号名称数量[/tr]
带编码器云台电机可以是AS5600,也可以是TLE5012B。 1.2、硬件连接 1.2.1、原理图 1.2.2、SimpleMotor接线 1.2.3、STM32接线 对于SimpleFOCShield V2.0.3,需要杜邦线连接主板和驱动板,记得共地。 对照 Shield V2.0.3 的原理图: [tr]STM32核心板V2.0.3[/tr]
注意事项: ①、无刷电机的三根相线不用区分顺序,任意接在端子上即可,调整其中任意两根电机反转。 ②、12V先不要上电,开环控制电机会发热,上电时间过久容易烧坏。最好等到程序编译上传后再上电,上电尽快操作。 ③、最好使用大电阻的云台电机(比如10Ω),如果使用mΩ级的航模电机,操作不当,容易烧毁驱动器MOS和电机。 二、控制原理 2.1、SVPWM Uq为交轴,Ud为直轴,角度angle_e1是电机的电角度。 一般应用直接设置Ud=0,通过控制Uq来控制磁场大小,控制angle来控制磁场方向; 开环控制中,直接设置Uq = voltage_limit,按照固定的速度递增angle就是速度模式;递增angle到设定值就是角度模式。 闭环控制中,angle来自编码器,根据编码器计算实际速度和位置,如果速度大于设定值,PID调小Uq降低速度,如果速度小于设定值,程序调大Uq增加速度。 2.2、极对数 无刷电机转子中磁铁的对数就是极对数。 电机转子转一圈,称为360°(或者叫2Pi)机械角度,转子转过一对磁极,称为360°电角度。 如上图的7对极,电机需要转7X360电角度=360机械角度。SVPWM控制的angle为电角度,而编码器读到的是机械角度,所以需要把机械角度转为SVPWM可用的电角度。 2.3、开环控制 SVPWM+设定的角度angle = 开环控制, 三、软件操作和程序下载 3.1、Keil编译生成hex文件 选择生成hex文件,如果是SWD下载可忽略此步。 3.2、FlyMcu下载 3.3、SimpleMotor准备 ①、USB转串口的TXD接主板的RX1,USB转串口的RXD接主板的TX1,GND接GND, ②、电源电压小于15V,跳线帽短接, ③、Boot接跳线帽,上电进入下载模式,拿掉跳线帽,按复位键程序运行, ④、使用SWD接口下载不用操作Boot。 四、程序演示 开环控制尽快操作,注意电机发热情况,发热严重要立即断电 4.1、开环速度控制 4.1.1、打开工程 4.1.2、修改参数 选择controller=Type_velocity_openloop; 电源电压和极对数根据实际情况设置。 voltage_limit在不了解电机性能的情况下从小逐渐增加,每次修改后注意工作电流和电机发热。如果电机功率较大而voltage_limit偏小,电机会转不动;如果voltage_limit偏大,电机会发热严重。 4.1.3、编译下载 FlyMcu通过串口下载或者STlink通过SWD下载。串口下载需要Boot加跳线帽,下载完以后拿掉跳线帽按复位键运行。 4.1.4、串口发送指令 常用的串口调试软件,在发送区敲回车,对应的16进制数据为0D 0A,也就是回车换行;Arduino IDE自带的串口监视器,输入指令点发送,只有16进制的0A。所以不能用Arduino IDE的软件给当前代码发送指令。 发送指令,从低速开始逐渐增加,速度设置过快电机容易失步变成振动。速度单位为rad/s,6.28表示一圈每秒。 4.2、开环位置控制 4.2.1、打开工程 和开环速度为同一个工程 4.1.2、修改参数 选择controller=Type_angle_openloop; 4.1.3、编译下载 4.1.4、串口发送指令 设定目标值,单位为rad,一圈=6.28rad。 |
||
|
||
只有小组成员才能发言,加入小组>>
3278 浏览 9 评论
2956 浏览 16 评论
3456 浏览 1 评论
8988 浏览 16 评论
4050 浏览 18 评论
1102浏览 3评论
570浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
568浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2301浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1857浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 11:59 , Processed in 1.170005 second(s), Total 81, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号