搜索
查看: 5844|回复: 4

[求助] 我使用的SPWM驱动三相无刷电机的思路,希望帮忙想下速度...

[复制链接]

该用户从未签到

8

主题

23

帖子

0

蝴蝶豆

初级会员

最后登录
2016-10-28
发表于 2015-7-21 10:12:41 | 显示全部楼层 |阅读模式
关于正弦曲线的的sin值我用了公式法和采样点的方式,还没弄懂这两种的优劣,希望求解
首先我用一个时钟输出三路PWM
然后在时钟中断中改变占空比,因为需要相差120,所以就将三路PWM的起始占空比改变位正选线上相差为120的点,然后通过累加的方式,逐步改变占空比
     TIM4->CCR1=((sin(2*3.1415926/NUM*PWMch1)+1)*times);
      TIM4->CCR2=((sin(2*3.1415926/NUM*PWMch2)+1)*times);
      TIM4->CCR3=((sin(2*3.1415926/NUM*PWMch3)+1)*times);
这是用公式改变的方式,其中NUM为采样点个数,PWMch1表示累加数(需要循环),times是倍数


我改变速度的方式
  if(count%T==0&&flag==0)   //每T次中断改变一次占空比
count是每次中断+1   在0和采样点数之间循环,T表示T次中断后改变一次占空比,我用这种方式条件速度,自己想的,不知道大家是怎么调节的,因为后面涉及到PID条件,我这种方式总决定有些问题,忘指教

回复

使用道具 举报

该用户从未签到

315

主题

568

帖子

0

蝴蝶豆

论坛元老

最后登录
2017-12-7
发表于 2015-7-21 10:48:49 | 显示全部楼层
帮顶。。。
回复

使用道具 举报

该用户从未签到

52

主题

1122

帖子

67

蝴蝶豆

论坛元老

最后登录
2021-4-24
发表于 2015-7-21 21:04:30 | 显示全部楼层
之前运算不快的机器是通过算法事先建立一张控制表,将参数算好之后写入表中。控制的时候通过偏移量查表即可。不过F4支持DSP,直接运算更灵活吧。
兴许还有电机控制库,会支持更复杂的算法。
回复 支持 反对

使用道具 举报

该用户从未签到

8

主题

980

帖子

45

蝴蝶豆

金牌会员

最后登录
2021-11-5
发表于 2015-7-21 21:15:18 | 显示全部楼层
顶一下            
回复 支持 反对

使用道具 举报

该用户从未签到

0

主题

93

帖子

0

蝴蝶豆

高级会员

最后登录
2021-6-5
发表于 2021-1-18 11:32:07 | 显示全部楼层
sin的pdm编码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|论坛-意法半导体STM32/STM8技术社区

GMT+8, 2024-4-29 09:47 , Processed in 1.173060 second(s), 37 queries .

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表