ct1000 发表于 2025-12-4 15:33
是在开环强拖过程烧的,每次烧都是上下管一起的,都找不到原因,
首先考虑是否是PWM给定太大了
开环状态下电流和给的开环PWM占空比有关,大了就是会过流烧毁MOS
其次是检查驱动电平给对应是否正确?默认是N+N,0关闭MOS,1打开MOS这个逻辑,看看使用官方的DMEO板子是否会出现这个问题?
王昱顺 发表于 2025-12-4 16:37
我测试是有效果的,如果你的电机相电阻比较大可能自然停转快速刹车就是没什么区别?
这个快速刹车的原理 ...
王工我用原先的程序,可以使用按键快速开关电机;但是使用最新的程序后,发现只有等待电机停转以后,才能再次按下按键使电机重新转动。请问这个应该怎么改善?
王昱顺 发表于 2025-12-4 16:38
首先考虑是否是PWM给定太大了
开环状态下电流和给的开环PWM占空比有关,大了就是会过流烧毁MOS
其次是检 ...
开环PWM占空比给小了转不动,给400-500能拖动,电流大,在不串灯炮的情况下能达到3-4安,我板子是和官方的DMEO板子一样,半桥驱动我用EG2106,功率管用XNM6N60T,
//电机参数相关:开环强拖参数、退磁等待时间,参考参数
#define Ref_MIN_PWM 400UL //开始强拖PWM值
#define Ref_MAX_PWM 500UL //结束强拖PWM值
#define Ref_MAX_FREQ 500UL //单位:us,每次切换角度间隔时间起始
#define Ref_MIN_FREQ 1UL //单位:us,每次切换角度间隔时间结束(从150us到1us)
#define Ref_DTIME 10000UL //细分步进,整个开环需要细分成多少个片进行变化
#define Ref_MOTO_DE_TIME_uS 200 //电机退磁时间(32位无符号),如果出现换向异常可以调整这个数据,避开退磁脉冲
#define Ref_OVER_TIME 5 //超时时间(单位:65.536ms),用于判断B_Timer3_OverFlow的值是否超过此阈值,超过后即认为堵转,水泵类可调大此阈值
HUHUhuhu 发表于 2025-12-4 17:02
王工我用原先的程序,可以使用按键快速开关电机;但是使用最新的程序后,发现只有等待电机停转以后,才能 ...
程序的事情,你可以修改按键的功能,我是为了防止启动失败后,再摁一下是关闭,会让用户误以为没有反应,所以将启动和关闭对应到电机运行状态上了
ct1000 发表于 2025-12-4 17:46
开环PWM占空比给小了转不动,给400-500能拖动,电流大,在不串灯炮的情况下能达到3-4安,我板子是和官方 ...
电机参数?一般来讲启动1~2A就能顺利启动了
你可以增加DTIME的时间,使其慢慢加速,就不需要那么大的电流了
太牛了,居然能做这么多产品
王昱顺 发表于 2025-12-4 17:54
程序的事情,你可以修改按键的功能,我是为了防止启动失败后,再摁一下是关闭,会让用户误以为没有反应, ...
不是的王工,我的意思是电机没有完全停下来之前可以再次启动吗?我现在测试时发现电机没有完全停下来之前无法再次启动。我现在希望实现电机就算没有完全停下来,也可以再次启动。和按键没有关系,我用外部PWM控制电机也是这样的。
王昱顺 发表于 2025-12-4 17:55
电机参数?一般来讲启动1~2A就能顺利启动了
你可以增加DTIME的时间,使其慢慢加速,就不需要那么大的电流 ...
按照我以下的设置开环启动电流在1A左右,可以正常启动,但是进入闭环后,油门在500时转速能到800,很安静,
如果在500左右就有顿挫,噪音很大
现在重新调了死区参数,进入闭环就很安静了,
死区时间调大了,也要适当调大 MAX_FREQ
HUHUhuhu 发表于 2025-12-5 09:16
不是的王工,我的意思是电机没有完全停下来之前可以再次启动吗?我现在测试时发现电机没有完全停下来之前 ...
可以的,里面写了如果检测到当前正在运行,可以跳过开环启动直接进入闭环启动的代码的
王昱顺 发表于 2025-12-4 16:38
首先考虑是否是PWM给定太大了
开环状态下电流和给的开环PWM占空比有关,大了就是会过流烧毁MOS
其次是检 ...
王工,你在IO初始化时 打开 P3PU |= 0xc0;会造成进入闭环后产生顿挫现象,
我查了下 P3PU |= 0xc0是打开P36,P37上拉电阻,P36,P37用做为CMP+,CMP-高阻输入,
你打开上拉是有什么用途吗
我把 P3PU |= 0xc0注息后进入闭环就很安静了,