电机控制
文章平均质量分 94
朴人
alias cd='rm -rf'
展开
-
【从零开始实现stm32无刷电机FOC】【实践】【7.1/7 硬件设计】
为了承载和验证本文的FOC代码工程,本节设计了一个简易的三相无刷电机,主控采用非常常用的stm32f103c8t6单片机,电机编码器采用MT6701,电机采用22xx系列云台电机,驱动电路采用集成驱动芯片DRV8313,电流传感器采用INA199A1在线采样。该使用无工具快拆装设计,到手即可直接快速手拧安装拆卸。原创 2024-09-29 17:30:28 · 2259 阅读 · 2 评论 -
【从零开始实现stm32无刷电机FOC】【实践】【7.2/7 完整代码编写】
本节使用stm32cubemx配置外设,生成keil工程,代码适配本文的硬件电路板。原创 2024-09-29 17:32:32 · 3868 阅读 · 7 评论 -
【从零开始实现stm32无刷电机FOC】【实践】【6/7 CMSIS-DSP】
CMSIS-DSP库是ARM开源的、对ARM处理器优化的数学库,本文使用了其提供的三角函数、反park变换函数、park变换函数、clarke变换函数、PID控制器。CMSIS-DSP原始代码仓库是,官方对其的介绍是一个针对Cortex-M和Cortex-A内核优化的嵌入式系统计算库,此处的DSP不是指的硬件,而是数字处理的意思。原创 2024-07-18 22:59:24 · 2209 阅读 · 3 评论 -
【从零开始实现stm32无刷电机FOC】【实践】【5/7 stm32 adc外设的高级用法】
本节介绍的adc外设高级用法用于电机电流控制。从前面几节可知,电机力矩来自于转子的q轴受磁力,而磁场强度与电流成正比,也就是说电机力矩与q轴电流成正相关,控制了q轴电流就是控制了电机力矩。从前文电流控制内容可知,q轴电流从三个相线电流计算得到,三个相线电流通过电流采样单元连接到stm32的adc接口得到。这里要注意,本文全文没有提到过dq轴电压或相线的电压,因为相线电阻会随着温度而改变,而电流才是决定磁场强度。原创 2024-07-16 22:06:45 · 2388 阅读 · 2 评论 -
【从零开始实现stm32无刷电机FOC】【实践】【4/7 stm32高级定时器】
本节对stm32高级定时器中可用于FOC控制的配置项进行了介绍,并尽量开启了TIM1的完整功能,请根据自己的电路环境以及配置项说明图进行配置项的删减,比如是否开启互补和死区功能、是否开启刹车功能、死区时间的修改等等。从上图看到,半桥的上功率管和下功率管不能同时导通,否则功率管会由于短路流经大量电流被烧毁(电机绕组有电阻在,不算短路),因此上下两个的功率管的pwm要求互补导通。下图是定时器配置为上下计数模式的pwm产生示意图,定时器当前计数值与设定的比较线(值)的比较关系控制定时器通道的输出。原创 2024-07-11 23:14:01 · 3842 阅读 · 0 评论 -
【从零开始实现stm32无刷电机FOC】【理论】【3/7 位置、速度、电流控制】
上一节,通过对SVPWM的推导,我们获得了控制电机转子任意受力的能力。本节,我们选用上节得到的转子dq轴解耦的SVPWM形式,对转子受力进行合理控制,实现FOC电机控制的最终目标:位置、速度、电流控制。原创 2024-07-09 21:43:23 · 3060 阅读 · 4 评论 -
【从零开始实现stm32无刷电机FOC】【理论】【2/7 SVPWM数学模型】
本节推导了svpwm数学模型,得到了目标磁矢量的生成函数。原创 2024-05-22 22:46:36 · 2974 阅读 · 17 评论 -
【从零开始实现stm32无刷电机FOC】【理论】【1/7 电机旋转本质】
从电机旋转本质出发,推导得到需要控制线圈合成磁矢量。原创 2024-05-14 21:57:34 · 1406 阅读 · 0 评论
分享