机器人关节国产MCU AT32F403+DRV8313+磁编码器的直流无刷电机BLDC的FOC控制
最新呈现
机器人关节电机FOC开发板软硬件都有啥:
51集电机FOC开发板软硬件都有啥?#电机 #开发板 #开源 #嵌入式 #新手教程
【套餐1】:电机FOC开发板、伺服电机开发板,带磁编码器,Jlink、串口,12V电源,嵌入式电机FOC源代码、原理图、PCB加6次嵌入式基础课程全套都给你!
【套餐2】:电机FOC开发板、伺服电机开发板,带磁编码器,Jlink、串口,12V电源,嵌入式电机FOC源代码、原理图、PCB加6次嵌入式基础课程全套的基础上加上调参软件C#的工程源代码,实现调参、校准、升级下载等产品必备的功能框架,其中升级下载功能通过调参软件和嵌入式IAP软件和嵌入式APP软件验证,实现3级安全检验,防抄袭防剽窃!给你节省至少2个人月产品开发的时间成本(三哥保守估算)。
里面资料包括如下图:
VIP下载链接:
开源分享电机FOC AT32F403 DRV8313 AS5600硬件原理图PCB设计文件、笔记、元器件库、工具安装包
https://download.csdn.net/download/phlr5/88727925
B站65集视频教程合集链接:
电机FOC开发板配套嵌入式基础课程雅特力AT32F403A国产MCU磁编码C#调参软件
https://space.bilibili.com/635929440/channel/collectiondetail?sid=2096395
视频内容怎么样?你可以参考如下其中一个:
《48集 一步一步拆解电机FOC控制 嵌入式高手教程 开发板》:
48集 一步一步拆解电机FOC控制 嵌入式高手教程 开发板
B站课程介绍视频链接:
https://space.bilibili.com/635929440/channel/collectiondetail?sid=1954696&ctype=0
课程视频:
电机FOC控制板原理图PCB实操小白教程 或者搜索柔贝特三哥或则三哥说技术都能搜到。
硬件原理图PCB合集2
合集·硬件高手课程-电机控制板原理图PCB实操 设计文件和笔记等都开源分享啦
https://space.bilibili.com/635929440/channel/collectiondetail?sid=1954696
宝贝在哪里
B站工房和某宝里面有配套的开发板。可搜索** 机器人关节电机FOC开发板雅特力AT32F403嵌入式课程调参软件源码**配套嵌入式基础课程(6次课,每次2个小时,视频精简后100分钟左右)
有问题可联系3哥v==x:robot3g
引子
最近调试一款机器人关节产品,因为我这边努力实现国产芯片全覆盖(很难,但需要各位同仁一起努力实现),所以就把原来STM32上跑的程序全部移植在国产的MCU AT32F403当中,一看这个名称大家也都明白,这个芯片跟STM32也是有渊源的。
网上电机FOC控制有很多文章视频,包括一些开发板。但是讲解的也都不太好理解,程序分支也是比较多,最不能容忍的是动不动烧板子。所以我就来个简洁明了,直接就是这款AT32F403+DRV8313实现直流无刷电机BLDC的FOC控制。调参软件用C#编写的工程,实现了调参、校准、升级下载等功能,能为你至少节省2个人月的开发成本。
公告
单轴机器人关节、电机控制板、电机、IMU套装已经上线,欢迎交流探讨!
硬件
硬件主控芯片AT32F403A,240MHz主频,但是因为功耗问题,我把主频控制在140MHz,要跑IMU6050姿态解算的算法,和电机控制。
电机驱动还是用的DRV8313,磁编码用的是AS5600,说实话没找到比较满意的替代芯片。
电源输入采用的宽电压输入,9~24V,但是根据负载电流情况,确定输入电压范围。我这里用了18V,能够得到比较理想的电机驱动效果。好多市面上的FOC板子动不动就烧了,还是电源以及管子的导通开关没有做好,我这个板子可以支持3A的电流,我用了这么多,调试了这么长时间还没有烧板子烧电机的。当然,这个调试和使用习惯也有关系。
AT32F403A主控芯片,
功能还是很丰富,运算速度也是够用的,排除编译有些坑,还是可以用的一款国产MCU控制芯片,主要功能如下:
内核:带有FPU的ARM® 32位的Cortex® -M4CPU
− 最高240 MHz工作频率,带存储器保护单元(MPU),内建单周期乘法和硬件除法
− 内建浮点运算(FPU)
− 具有DSP指令集
多达17个定时器(TMR)
− 多达2个16位带死区控制和紧急刹车,用于电机控制的PWM高级定时器
− 多达8个16位定时器+2个32位定时器,每个定时器有多达4个用于输入捕获/输出比较/PWM或脉冲计数的通道和增量编码器输入
− 2个16位基本定时器用于驱动DAC
− 2个看门狗定时器(一般型WDT和窗口型WWDT)
− 系统滴答定时器:24位递减计数器
多达20个通信接口
− 多达3个I2C接口,支持SMBus/PMBus
− 多达8个USART接口(支持ISO7816,LIN,IrDA接口和调制解调控制)
− 多达4个SPI接口(50 M位/秒),4个均可复
用为I2S接口,其中I2S2/I2S3支持全双工
− 多达2个CAN接口(2.0B主动)
− USB2.0全速设备接口,支持无晶振(crystalless)
− 多达2个SDIO接口
软件
软件我用了AT的最新的程序库,这样代码就比较容易写,兼容性也比较好,最重要的是官网上有例程,直接可以用。
主要的功能
磁编码器位置解算
磁编码12位的,精度要求不高的话,市面上要求的足够了。我之前做的高精度的确实要下点功夫专研才行。
FOC控制
FOC控制在云台这种慢速的情况,不太适合电流反馈的FOC,所以我就用电压FOC,利用磁编码来反馈位置信息。
SPWM控制
当然,正弦PWM控制也是支持的,Clark Park逆变换的电压开环FOC控制也是支持的,直接用宏开关控制,比较明了。
PID
电机实现角度环和速度环的PID控制。PID支持上位机调参软件控制,比较方便调试。
调参软件
调参软件我是用的C#编写的,实现PID调节、角度控制、校准等功能。实现升级下载功能,升级下载功能通过调参软件和嵌入式IAP软件和嵌入式APP软件验证,实现3级安全检验,防抄袭防剽窃!
涉及的知识
涉及的知识点,电机控制、FOC算法实现、PID算法实现,里面还是有很多坑在里面,除了软硬件基础,还需要些数学基础。板子拿回去直接可以用,代码还是全开放,包括嵌入式软件、硬件原理图和调参软件源码。
这个项目我调试了好几个月,包括嵌入软件、硬件、以及调参软件,希望和大家交流。
技术讨论v=x:robot3g
有些技术涉及开源云台以及SPWM电机控制等可以参考我之前的博文:
开源俄版三轴云台软硬件、调参软件调试可用,代码开源,入门说明
https://blog.csdn.net/phlr5/article/details/83409707
视频演示
这个视频是用IMU6050进行电机控制的,用调参软件输入角度命令也能达到同样的效果。
MPU6050 直流无刷电机FOC控制