机器人关节国产MCU AT32F403+DRV8313+磁编码器的直流无刷电机BLDC的FOC控制

最新呈现包含文件申请步骤VIP下载链接:

引子公告硬件AT32F403A主控芯片,

软件调参软件涉及的知识视频演示

最新呈现

经过45集的【三哥说计算】视频课程,机器人关节国产MCU AT32F403+DRV8313+磁编码器的直流无刷电机BLDC的FOC控制板的原理图和PCB都画完了,经过和项目方协商,我们把原理图和PCB的源设计文件开放给大家。

包含文件

1、Cadence CIS原理图设计源文件 2、Ellegro PCB设计源文件 3、器件封装库 4、三哥的笔记 5、Cadence安装文件及安装教程 6、在线答疑

申请步骤

1、关注三哥 2、给三哥充电,多少不限,充电只是一种手段,把真心要学习的哥们过滤出来,三哥更好的为大家提供服务。不指望这个挣钱。 3、三哥分享网盘链接 4、提供技术支持保证搭建好环境上手实操

VIP下载链接:

开源分享电机FOC AT32F403 DRV8313 AS5600硬件原理图PCB设计文件、笔记、元器件库、工具安装包 https://download.csdn.net/download/phlr5/88727925 B站课程视频链接: https://space.bilibili.com/635929440/channel/collectiondetail?sid=1954696&ctype=0 抖音课程视频: 电机FOC控制板原理图PCB实操小白教程 或者搜索柔贝特三哥或则三哥说技术都能搜到。

引子

最近调试一款机器人关节产品,因为我这边努力实现国产芯片全覆盖(很难,但需要各位同仁一起努力实现),所以就把原来STM32上跑的程序全部移植在国产的MCU AT32F403当中,一看这个名称大家也都明白,这个芯片跟STM32也是有渊源的。 网上电机FOC控制有很多文章视频,包括一些开发板。但是讲解的也都不太好理解,程序分支也是比较多,最不能容忍的是动不动烧板子。所以我就来个简洁明了,直接就是这款AT32F403+DRV8313实现直流无刷电机BLDC的FOC控制。

公告

单轴机器人关节、电机控制板、电机、IMU套装已经在淘宝店铺上线,欢迎交流探讨! https://item.taobao.com/item.htm?spm=a21dvs.23580594.0.0.4fee645eo8XT20&ft=t&id=747231186092

硬件

硬件主控芯片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调节、角度控制、校准等功能。

涉及的知识

涉及的知识点,电机控制、FOC算法实现、PID算法实现,里面还是有很多坑在里面,除了软硬件基础,还需要些数学基础。板子拿回去直接可以用,代码还是全开放,包括嵌入式软件、硬件原理图和调参软件源码。 这个项目我调试了好几个月,包括嵌入软件、硬件、以及调参软件,希望和大家交流。 淘宝讨论:https://3-iot.taobao.com/ 技术讨论微信:28775855 有些技术涉及开源云台以及SPWM电机控制等可以参考我之前的博文: 开源俄版三轴云台软硬件、调参软件调试可用,代码开源,入门说明 https://blog.csdn.net/phlr5/article/details/83409707

视频演示

这个视频是用IMU6050进行电机控制的,用调参软件输入角度命令也能达到同样的效果。

MPU6050 直流无刷电机FOC控制

好文推荐

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: