找回密码
 立即注册

QQ登录

只需一步,快速开始

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

查看数: 36515 | 评论数: 31 | 收藏 1
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2014-8-13 18:58

正文摘要:

本帖最后由 Angus 于 2015-2-3 19:23 编辑 本代码配置好了时钟,GPIO,Timer1,UART,PWM 芯唐 M4 芯片 PWM 特点: 1> 六路 PWM 同步起动,也可各自不同频率工作。 2> 中心对齐,分开控制上计数 PWM 跳变时刻, ...

回复

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

本版积分规则

回复 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计数器的值比最大值小一点。
回复 Angus 发表于 2015-2-9 15:38:09
nt52241930 发表于 2015-2-3 10:13
您好,
基礎性的大概了解,只是想清楚,此程式真正動作原理
網上資料,基本上也都大同小異~~~

做电机控制入门并不难,但要做好做精,还是要经过一段时间的测试研究的,用我们芯片的客户,我们都会一一回答客户的疑問。
回复 nt52241930 发表于 2015-2-3 10:13:37
本帖最后由 nt52241930 于 2015-2-3 10:17 编辑
xiaoxiao2013 发表于 2015-2-3 09:15
基础性的东西要自己找资料,不能总是免费问别人啊

您好,
基礎性的大概了解,只是想清楚,此程式真正動作原理
網上資料,基本上也都大同小異~~~

若您覺得,"免費"回答,不妥,您可以選擇不回答~~~
不勉強的!!!~~~
只是想來互相學習,了解
感謝~~~

我們也在尋找,這塊能支援我們開發的
若有必要,上課收費..等等,是可以接受的
回复 xiaoxiao2013 发表于 2015-2-3 09:15:11
nt52241930 发表于 2015-2-3 08:20
是阿,
還需多請教您們

基础性的东西要自己找资料,不能总是免费问别人啊
回复 nt52241930 发表于 2015-2-3 08:20:55

是阿,
還需多請教您們
回复 xiaoxiao2013 发表于 2015-2-2 17:48:20
nt52241930 发表于 2015-2-2 17:22
ok,了解~~

那在請問您

你太新手了
回复 nt52241930 发表于 2015-2-2 17:22:06
ok,了解~~

那在請問您
AngleStep = ((10<<8)*2000/6)/temp32u ;

(10<<8)*2000/6)
您這部分,指的是??
2000為pwm period
6為1/6圈???

還需麻煩您,感謝

回复 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) 。如果两个计数频率不一样,要先换算成相同的计数频率。
回复 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
回复 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转过的角度。
回复 nt52241930 发表于 2015-2-2 12:06:57
Angus 发表于 2015-1-30 13:11
SIN表不用改。
每个PWM周期算一下电机转过多少角度,根据角度查SIN表,速度不一样,每个PWM转过的角度也 ...

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

以上再麻煩,不吝嗇指教

感謝
新唐MCU