找回密码
 立即注册

QQ登录

只需一步,快速开始

12
返回列表 发新帖回复
打印 上一主题 下一主题
开启左侧

简单的M451工程模板_ 电机弦波控制源码

  [复制链接]
11#
 楼主| Angus 发表于 2015-1-30 13:11:48 | 显示全部楼层
nt52241930 发表于 2015-1-29 14:08
您好,

跟您請教,您使用SIN表方式,輸入給PWM

SIN表不用改。
每个PWM周期算一下电机转过多少角度,根据角度查SIN表,速度不一样,每个PWM转过的角度也就不一样。
回复 支持 反对

使用道具 举报

12#
 楼主| Angus 发表于 2015-2-2 14:54:07 | 显示全部楼层
nt52241930 发表于 2015-2-2 12:06
您好,
我可以將sin表,視為轉子轉180度的間格
計算每個hall時間(1/6),從換相開始去計算pwm次數(此次數可決 ...

用Timer1来测量Hall,可以测得每次Hall变化时,上次转过1/6圈所用的时间——T,PWM每过一个周期,也可以换算成Timer1标定的时间——t, (60*t/T)就是每次PWM转过的角度。
回复 支持 反对

使用道具 举报

13#
 楼主| Angus 发表于 2015-2-2 15:46:46 | 显示全部楼层
本帖最后由 Angus 于 2015-2-2 17:36 编辑
nt52241930 发表于 2015-2-2 15:19
您好,
意思是,使用上一次的hall來做為此次hall的依據
假設,上一個hall,跑了50個pwm pulse(pwm頻率為20khz, ...


假定上一次Hall边沿中断时刻为 Timwr1_0, 本次Hall边沿中断时刻为 Timer1_1, 则电机转过 60度的时间就是 Timer1_1 - Timer1_0。
如果PWM的频率与Timer1的计数频率一样, 过一个PWM周期以后, 转过的角度就是 (60度 X PWM周期)/(Timer1_1 - Timer1_0) 。如果两个计数频率不一样,要先换算成相同的计数频率。
回复 支持 反对

使用道具 举报

14#
 楼主| Angus 发表于 2015-2-9 15:38:09 | 显示全部楼层
nt52241930 发表于 2015-2-3 10:13
您好,
基礎性的大概了解,只是想清楚,此程式真正動作原理
網上資料,基本上也都大同小異~~~

做电机控制入门并不难,但要做好做精,还是要经过一段时间的测试研究的,用我们芯片的客户,我们都会一一回答客户的疑問。
回复 支持 反对

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

新唐MCU