patch1582 发表于 2025-12-21 11:31
过零检测的意义是什么?为什么要郭玲检测
不检测的话,就不知道什么时候换相,就有可能转不起来。
mot_speed上限是多少,如果超过255,岂不是要跳相运行了
QQ624353765 发表于 2025-12-22 15:07
mot_speed上限是多少,如果超过255,岂不是要跳相运行了
mot_vp+=mot_speed;
p=mot_vp>>8;//0~255
v1=(U16)SINTAB*set_duty/256+20;
上限建议不超过5000,不过我的代码里没有去作限制,这代码只为方便让大家了解其原理。
假于mot_speed=1,那么pwma_sr要有65536次中断才能形成一个周期的正弦波;
假于mot_speed=256,那么pwma_sr要有256次中断才能形成一个周期的正弦波。
lcwswust 发表于 2025-12-22 16:37
上限建议不超过5000,不过我的代码里没有去作限制,这代码只为方便让大家了解其原理。
假于mot_speed=1 ...
mot_speed=5000,那张表格不就跳来跳去了,波形全乱了
QQ624353765 发表于 2025-12-22 17:36
mot_speed=5000,那张表格不就跳来跳去了,波形全乱了
你把v1打印出来看看
lcwswust 发表于 2025-12-21 20:50
不检测的话,就不知道什么时候换相,就有可能转不起来。
为了换向,那么过零检测时间误差控制在多少算是合适?
patch1582 发表于 2025-12-23 21:27
为了换向,那么过零检测时间误差控制在多少算是合适?
得试试,能正常运转就行。
QQ624353765 发表于 2025-12-8 18:09
按照这样的想法只要给一个正弦波,也不要去测过零什么的,它能转多快就多快
反正电机和正弦波也不同步, ...
你的想法是错误的,你的想法适用于异步电机,而不适用于同步电机。
三相无刷电机属于同步电机,存在换相时刻,所以要知道转子位置,还要比较精确,才能正确换相驱动。
你说的是三相异步电机,就是普通用于50Hz、380V那种鼠笼式三相异步电机,使用变频器驱动,不需要过0检测,那是另外一个技术了。
lcwswust 发表于 2025-12-24 09:09
得试试,能正常运转就行。
要求不是很高