梁工 发表于 2025-9-10 11:26
你这种应用最好使用带传感器的电机,否则难以做到同步。
你说的带有传感器的是指电机内部的hal还是说外部要加个旋转编码器来监测速度呀
VirKing 发表于 2025-9-10 12:05
你说的带有传感器的是指电机内部的hal还是说外部要加个旋转编码器来监测速度呀 ...
带HALL、磁编码器、光电编码器、旋转变压器,都属于。
梁工 发表于 2025-8-27 16:30
可以的。一些变频器就是这样做的。
用IPM要不要修改PWM的相位?
spritels 发表于 2025-9-29 11:25
用IPM要不要修改PWM的相位?
不需要修改相位
你好楼主,我是个新手。
二周前看了贵帖,再次萌生折腾无感无刷电机做小四轴的心思。看完原理图、V3版代码后,了解了个基本情况。遂立创EDA设计打板,做出来第一版,毫无悬念的被打击了,出现的问题及环境介绍详细如下,还请指教。
问题:
上电后,主观感受到电机在由低到高频的抖动 -> 停止 -> 抖动 -> 停止。居V3版代码推测,上电进入转动检测模式超时后依次进入预定位和强拉模式,S曲线强拉阶段抖动,强拉结束后进入转动检测模式,无法正常检测到过零后超时ROLL_MaxTime,又进入预定位模式->强拉模式,如此循环。
尝试对相应参数进行过调整,一直是相同的问题,没有头绪:比如调整S曲线时间D_StartTime、起始终了转速BeginSpeed和FinishSpeed、修改固定的TIMER4中的30us退磁时间等。
环境:
电机:淘宝买的1503电机(6元/个),12槽14极,5英寸桨,见附件图。
板子:原始版中功率硬件方案,STC8H1K28 + AO4616 + 2S 8V+(3S 12V也试过),见附件图。虽然代码使用的V3版与所附硬件方案不匹配,但我理解逻辑上应该都是相同的。
另外:
随买的电机也买了一块小电调板,见附件图,测试电机用2S是可以带起来的。
附图:
板子和电机:
店家小电调实物图和原理图(网上找的)
impulse 发表于 2025-9-29 16:03
你好楼主,我是个新手。
二周前看了贵帖,再次萌生折腾无感无刷电机做小四轴的心思。看完原理图、V3版代码 ...
请帖出你的硬件原理图,你的电机KV值多少?
梁工 发表于 2025-9-29 22:53
请帖出你的硬件原理图,你的电机KV值多少?
原理图见下。电机KV值这个看店铺广告图文显示是2500KV
impulse 发表于 2025-9-30 13:33
原理图见下。电机KV值这个看店铺广告图文显示是2500KV
使用2212电机的启动参数。
#define MOTOR_TYPE 0 //0:2212电机,1:8元风扇单机,2:12万转涵道风扇电机,3:28元全金属涵道风扇
#if (MOTOR_TYPE == 0) // 由于退磁时间很短(远小于PWM周期),则PWM互补输出噪声更低,效率更高。12V供电带大疆9450桨,PWM=312,单端输出0.622A、2846rpm,互补输出0.579A、2902rpm。
// 2212电机
#define MPP 7 // 电机磁极对, Magnetic Pole Pair,8元风扇电机为5对磁极
#define ROLL_MinSpeed 80 // 启动时检测到低于这个转速则认为电机停止,从静止开始启动,否则直接进入闭环
#define PRE_PWM_DUTY 60 // 预定位占空比, 一般为START_PWM_DUTY的0.5~1,较小的占空比冲击小,但启动力矩小。
#define START_PWM_DUTY 100 // 启动时的占空比
#define STOP_PWM_DUTY 50 // 停止PWM,小于此PWM就停机, 根据电机特性适当改变
#define BeginSpeed 60 // 启动起始转速,转/分
#define FinishSpeed 900 // 启动终了转速,转/分
#define D_StartTime 1000 // 加速时间,单位ms,不能小于500, 500~10922
#define PRE_STATE_TIME1 50 // 预定位时间1,ms, 最大值为2849ms
#define PRE_STATE_TIME2 35 // 预定位时间2,ms, 最大值为2849ms
#define PRE_STATE_TIME3 20 // 预定位时间3,ms, 最大值为2849ms
上好桨,如果没有桨,则转动惯量太小,有可能启动不顺利。
好的,感谢。国庆后我试一下这套参数,国庆期间不叨扰了,祝假期愉快。
梁工,你好
我没有搞清楚 Q8 Q9 的导通和截止的工作流程
可不可以请你再教学一下
谢谢