VirKing 发表于 2025-9-10 12:05:38

梁工 发表于 2025-9-10 11:26
你这种应用最好使用带传感器的电机,否则难以做到同步。

你说的带有传感器的是指电机内部的hal还是说外部要加个旋转编码器来监测速度呀

梁工 发表于 2025-9-10 20:52:45

VirKing 发表于 2025-9-10 12:05
你说的带有传感器的是指电机内部的hal还是说外部要加个旋转编码器来监测速度呀 ...

带HALL、磁编码器、光电编码器、旋转变压器,都属于。

spritels 发表于 2025-9-29 11:25:37

梁工 发表于 2025-8-27 16:30
可以的。一些变频器就是这样做的。

用IPM要不要修改PWM的相位?

梁工 发表于 2025-9-29 12:14:52

spritels 发表于 2025-9-29 11:25
用IPM要不要修改PWM的相位?

不需要修改相位

impulse 发表于 2025-9-29 16:03:04

你好楼主,我是个新手。
二周前看了贵帖,再次萌生折腾无感无刷电机做小四轴的心思。看完原理图、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是可以带起来的。

附图:
板子和电机:


店家小电调实物图和原理图(网上找的)


梁工 发表于 2025-9-29 22:53:04

impulse 发表于 2025-9-29 16:03
你好楼主,我是个新手。
二周前看了贵帖,再次萌生折腾无感无刷电机做小四轴的心思。看完原理图、V3版代码 ...

请帖出你的硬件原理图,你的电机KV值多少?

impulse 发表于 2025-9-30 13:33:50

梁工 发表于 2025-9-29 22:53
请帖出你的硬件原理图,你的电机KV值多少?
原理图见下。电机KV值这个看店铺广告图文显示是2500KV




梁工 发表于 2025-9-30 14:55:32

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

上好桨,如果没有桨,则转动惯量太小,有可能启动不顺利。

impulse 发表于 2025-9-30 15:13:45

好的,感谢。国庆后我试一下这套参数,国庆期间不叨扰了,祝假期愉快。

SanShark 发表于 2025-10-11 09:31:43

梁工,你好
我没有搞清楚 Q8 Q9 的导通和截止的工作流程
可不可以请你再教学一下
谢谢
页: 61 62 63 64 65 66 67 68 69 70 [71] 72 73 74
查看完整版本: BLDC三相无刷直流电机驱动-8H系列/32G系列-无HALL, 12万转, 视频讲解,改进启动算法