找回密码
 立即注册

QQ登录

只需一步,快速开始

打印 上一主题 下一主题
开启左侧

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

  [复制链接]
26#
 楼主| 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) 。如果两个计数频率不一样,要先换算成相同的计数频率。
回复 支持 反对

使用道具 举报

25#
nt52241930 发表于 2015-2-2 15:19:32 | 只看该作者
本帖最后由 nt52241930 于 2015-2-2 15:31 编辑
Angus 发表于 2015-2-2 14:54
用Timer1来测量Hall,可以测得每次Hall变化时,上次转过1/6圈所用的时间——T,PWM每过一个周期,也可以 ...

您好,
意思是,使用上一次的hall來做為此次hall的依據
假設,上一個hall,跑了50個pwm pulse(pwm頻率為20khz,20khz*50=hall時間)
此次hall,以計數到25個,則表示此次hall改變後已跑了30度的意思麻!!??

您的(60*t/T),此60是代表角度??

以上再麻煩,thanks
回复 支持 反对

使用道具 举报

24#
 楼主| 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转过的角度。
回复 支持 反对

使用道具 举报

23#
nt52241930 发表于 2015-2-2 12:06:57 | 只看该作者
Angus 发表于 2015-1-30 13:11
SIN表不用改。
每个PWM周期算一下电机转过多少角度,根据角度查SIN表,速度不一样,每个PWM转过的角度也 ...

您好,
我可以將sin表,視為轉子轉180度的間格
計算每個hall時間(1/6),從換相開始去計算pwm次數(此次數可決定轉速)
角度部分,該如何使用pwm週期來計算 目前轉子角度呢????

以上再麻煩,不吝嗇指教

感謝
回复 支持 反对

使用道具 举报

22#
 楼主| Angus 发表于 2015-1-30 13:11:48 | 只看该作者
nt52241930 发表于 2015-1-29 14:08
您好,

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

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

使用道具 举报

21#
nt52241930 发表于 2015-1-29 14:08:06 | 只看该作者
本帖最后由 nt52241930 于 2015-1-29 14:29 编辑
Angus 发表于 2015-1-29 12:46
Hall 信号有两种,一种是60度Hall,有全0全1;另一种是120度Hall,无全0全1

您好,

跟您請教,您使用SIN表方式,輸入給PWM
那調速部分??若改變速度,是否意味著SIN表需更改??

以上在麻煩您~~~
回复 支持 反对

使用道具 举报

20#
 楼主| Angus 发表于 2015-1-29 12:46:42 | 只看该作者
nt52241930 发表于 2015-1-23 16:34
您好,目前了解您TABLE表為180度,
您HALL訊號部分,3與4 皆為0,
但HALL異常時,應是000 OR 111

Hall 信号有两种,一种是60度Hall,有全0全1;另一种是120度Hall,无全0全1
回复 支持 反对

使用道具 举报

19#
nt52241930 发表于 2015-1-23 16:34:02 | 只看该作者
您好,目前了解您TABLE表為180度,
您HALL訊號部分,3與4 皆為0,
但HALL異常時,應是000 OR 111
此時您陣列0跟7 卻是正常輸出???

此部分還需跟您請教一下
回复 支持 反对

使用道具 举报

18#
nt52241930 发表于 2015-1-22 11:15:43 | 只看该作者
Angus 发表于 2015-1-7 09:58
PWM最大值发生中断, 但PWM计数器没停止计数,  硬件入栈8个寄存器, 执行到中断里, 遇到断点,这时防真器再 ...

您好,
目前我司,欲用此m451開發sin波bldc
看了您的程式,
可以跟您請教一下,您裡面的table裱,建立的用意,及原理嗎!!???
回复 支持 反对

使用道具 举报

17#
 楼主| Angus 发表于 2015-1-7 09:58:55 | 只看该作者
本帖最后由 Angus 于 2015-1-18 13:23 编辑
nt52241930 发表于 2015-1-6 15:38
您好,
請教一下,
目前已將PWM設定為 上下計數互補模式,PWM頻率為8K,PWM中斷亦設定完畢(中心中斷),輸出波形 ...


PWM最大值发生中断, 但PWM计数器没停止计数,  硬件入栈8个寄存器, 执行到中断里, 遇到断点,这时防真器再去读PWM计数器, PWM计数器应已减计数多个PWM时钟了, 所以这时读到的PWM计数器的值比最大值小一点。
回复 支持 1 反对 0

使用道具 举报

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

本版积分规则

新唐MCU