搜索
bottom↓
回复: 40

基于STM32的电调!

[复制链接]

出0入0汤圆

发表于 2009-4-4 13:05:28 | 显示全部楼层 |阅读模式
电机是运行起来了!发现一个奇怪的问题,新西达这个电机的在超前30度换相时工作会很正常,而不超前时在高转速时会出现换相失败!
之前没用过航模电机!一用才发现和工业用的电机还是有相当多的差别的, 做工,磁场精度,磁隙都是不一般的差啊!
STM32没有内部比较器, 只能用三个外部比较器做了一个反电势检测,用Atmel官网的电路,理论上可行,但很可惜实际是一塌糊涂!还是改为原来用的电路后好使了!
功率电路是全NMOS结构!

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

 楼主| 发表于 2009-4-4 19:31:27 | 显示全部楼层

实验用的功率板 (原文件名:未命名.JPG)


实验用CPU板 (原文件名:未命名1.JPG)

出0入663汤圆

发表于 2009-4-5 17:59:16 | 显示全部楼层
STM32做航模电调,奢侈啊……
STM32处理能力强大,可以直接用ADC采样BEMF做软件滤波,不一定要比较器的,还可以做正弦FOC,这些用在航模电调上太浪费了。
5块钱的M8能搞定的事情,用Cortex-M3来做,效果也不一定好。

出0入0汤圆

 楼主| 发表于 2009-4-5 18:49:50 | 显示全部楼层
用ADC还是不可行的, 原因是航模电机的速度过快,而且极数又多,用ADC太慢了!
为啥选STM32是因为我要做成CAN接口的!

出0入663汤圆

发表于 2009-4-7 03:25:50 | 显示全部楼层
电子转速18K rpm的电机换相频率才300Hz,STM32的ADC采样率是1MSPS……
航模电机一般也就是2p或者4p,多极电机都是为求大扭矩,实际上电子转速都差不多,一般不会超过30K。
再说航模电机的BEMF波形还不至于那么差吧,看坛里的截图都很标准的。

出0入0汤圆

发表于 2009-4-7 10:11:30 | 显示全部楼层
我也在用Cortex-M3做电调,希望有机会和搂主交流

出0入0汤圆

 楼主| 发表于 2009-4-7 16:15:36 | 显示全部楼层
回 gzhuli 咕唧霖
它要是2P或者4P就好了!但很变态的是我这个是6P, 内转子的可能会少很多,但外转子的估计都多, 波形是不错,但切换太快的话,用ADC是不合适的,STM32的ADC是有1M,但不能拿这ADC光做这事儿吧,另外,以1M的速率中断是一件恐怖的事情!

出0入663汤圆

发表于 2009-4-7 17:45:16 | 显示全部楼层
外转子极数是多,但Kv就低了,实际上电转速是差不多的。最高电转速跟磁场强度有关系,航模电机的磁钢都差不多,所以极限的电转速都不会差太远。

而且我说STM32的ADC最高能到1M,不是说就要用1M来采,一般是用PWM触发模式采,ADC采样和PWM开关同步,而PWM实际开关频率只有20KHz左右。采样后的信号要做数字滤波,对于有乘法指令的STM32来说也是小菜一碟。

出0入0汤圆

 楼主| 发表于 2009-4-7 21:40:25 | 显示全部楼层
先不论PWM频率,当6对极的电机,2W的转速时,换向速率为12000/S就算1W转的转速也有6000/s的换向速率, 20K的PWM,每次换向中只有不到4个完整的PWM周期, 这样你的换向点最小误差15度! 所以算算够不够吧!

出0入663汤圆

发表于 2009-4-8 02:55:22 | 显示全部楼层
狂汗……
转速是RPM,不是RPS,以分钟为单位的,2W RPM每秒钟只有333转……

出0入0汤圆

 楼主| 发表于 2009-4-10 14:33:52 | 显示全部楼层
好象不知道是RPM一样!
换向率 = (Speed/60) * P(磁极对数) * 6  = 2W/60 * 6 * 6  = 1.2W/S = 12K/S

出0入663汤圆

发表于 2009-4-17 02:55:36 | 显示全部楼层
哦,知道就行。
12极能跑2W RPM的航模电机很少,12极电机一般是300-500Kv左右。
航模电机的极限电子转速通常就在2W左右,极数多扭矩大转速低,一般用来直驱,速度不会很高的。

出0入0汤圆

发表于 2009-4-24 13:12:35 | 显示全部楼层
原来在这里有牛人藏着哦

出0入0汤圆

发表于 2009-4-24 13:28:19 | 显示全部楼层
能否share 一个pcb?

出0入0汤圆

发表于 2009-8-10 12:04:03 | 显示全部楼层
用AD,做估计比较危险,一般的航模电机 ,KV3500 可以到3万转
500HZ,换6次项,大概是333us换次相,应该至少每隔30 us STM32就要完成一次AD采集数据,处理,AD采集还有时间呢
STM32 估计就忙着换向了~

出0入0汤圆

发表于 2009-8-10 12:08:39 | 显示全部楼层
STM32有没有带3个比较器的,48PIN的 ,DSP只有代2比较器,48PIN的,郁闷哈

出0入0汤圆

发表于 2009-8-12 09:17:44 | 显示全部楼层
老兄,也不上点图!!我也用STM32!

出0入0汤圆

发表于 2009-8-18 17:01:26 | 显示全部楼层
可以上原理图吗?

出0入0汤圆

发表于 2009-8-20 00:04:55 | 显示全部楼层
我也期待。。。

出0入25汤圆

发表于 2009-8-20 08:48:44 | 显示全部楼层
用AD,做估计比较危险,一般的航模电机 ,KV3500 可以到3万转
500HZ,换6次项,大概是333us换次相,应该至少每隔30 us STM32就要完成一次AD采集数据,处理,AD采集还有时间呢
STM32 估计就忙着换向了~

-----------------------------------
计算有错误的地方。

500HZ,要换6×N次项。N为电机级数。所以用AD测量来做换向,方案不可行。除非是用DSP来做,可以办到。stm32 不可能了

出0入0汤圆

发表于 2009-11-15 23:46:53 | 显示全部楼层
期待……
一直想做
用AD到底可不可行啊

出0入0汤圆

发表于 2009-11-16 00:19:27 | 显示全部楼层
STM32的ADC配狗的,让ADC连续采样,狗叫换相就可以了。

出0入8汤圆

发表于 2009-11-16 07:47:50 | 显示全部楼层
要CAN用STM8S208系列,比103便宜。


也在用STM32F100、STM8S903评估做电调,全N管,Vishay Si4166DY。

AD采用用PWM同步触发工作,电机转速没楼上的那么高。

出0入0汤圆

发表于 2009-11-16 14:18:00 | 显示全部楼层
我觉得20K的PWM还是低了一点,比如说一个1400KV值14极外转子,那么在12V时候,空载有16800转,也就是(16800/60)*(14/2)*6=11.76KHZ的电换相速度,那么一次通电只有不到2个PWM.........
不知道算的对不对,望指正

出0入25汤圆

发表于 2009-11-16 14:31:32 | 显示全部楼层
23楼,多担心了,20k够了。一般四轴上8k就够了。

计算如下

280转/s

3.6ms = 1转



14 * 6 * X = 3.6ms
X=43us


1s/20000Hz = 50us

你就是PWM = 254的时候理论上少了7us,但是一般在桨负载转速没那么高的情况下就够用了,而且1400kv的电机空转速度也没那么高哦。。

出0入0汤圆

发表于 2011-7-1 17:37:30 | 显示全部楼层
???怎么算的

出0入0汤圆

发表于 2011-7-2 01:15:27 | 显示全部楼层
我现在就是,12极外转子,12槽。 需要运行到30000RPM。  相当于两极马达180000RPM。  这个AD采样不知道会怎么?
一圈需要换相六次,所以我这个电机,每分钟需要换相:1080000 次。  再变成每秒换相次数就是:18000次。才18K。

不知道18K能否用STM32采样得来?  现在用mega88pa做的控制器,这个芯片驱动无刷马达很好,就是做起PID来太累了,想换成STM32来做。

出0入0汤圆

发表于 2011-12-9 09:36:32 | 显示全部楼层
powerint:
      你好,不知你是否遇到直流无刷电机转子堵转,但是反电势依然存在的现象?这个星期在这个问题上纠结了很久,没办法进行转速PI调节。

出0入0汤圆

发表于 2011-12-30 16:20:11 | 显示全部楼层
同用STM32做电调中,觉得用AD采样还是有点不靠谱,我现在在考虑要不要再在外围加一个模拟比较器,或者其他什么方法改进了。

出0入0汤圆

发表于 2012-2-10 09:55:40 | 显示全部楼层
STM32做电调,学习中

出0入0汤圆

发表于 2012-2-10 10:12:03 | 显示全部楼层
回复【28楼】talangxue  
-----------------------------------------------------------------------
你的担心是多余的,一般航模电机带桨时换相周期不会低于100微秒,我用一片STM32F103R8控制4个电机,每25微秒检测一次4个电机的换相都木有压力

出0入0汤圆

发表于 2012-2-11 16:14:47 | 显示全部楼层
STM32做电调是有点浪费O

出0入0汤圆

发表于 2012-2-14 13:28:11 | 显示全部楼层
回复【2楼】gzhuli  咕唧霖
-----------------------------------------------------------------------

我觉得用STM32做电调的话,最大的实际意义是同时控制四路电机,即把四个电调集成在同一个板子上。

出0入0汤圆

发表于 2012-2-24 00:38:32 | 显示全部楼层
回复【32楼】chenhuizai210
回复【2楼】gzhuli  咕唧霖
-----------------------------------------------------------------------
我觉得用stm32做电调的话,最大的实际意义是同时控制四路电机,即把四个电调集成在同一个板子上。
-----------------------------------------------------------------------

同意,我觉得做单个太浪费了

出0入0汤圆

发表于 2012-6-9 14:41:51 | 显示全部楼层
adc用在过零点检测上是各说纷纭啊,已然已经糊涂了。。。也在做stm32的电调,求高手指点一下零点检测的具体方法啊?谢谢了

出0入0汤圆

发表于 2012-7-15 16:59:49 | 显示全部楼层
1。楼主有试过用ADC检测过零点吗?
2。楼主启动时时间的衰减规律是怎么的,可以提供以下吗?

出0入0汤圆

发表于 2012-7-15 21:55:24 | 显示全部楼层
新手用stm32做电调。不知道各位大神能不能提供些帮助啊。现在连卡在电路这里了。不知道原理有没问题了。能不鞥帮忙分析滴啊。感激啊

出0入0汤圆

发表于 2012-7-16 01:18:02 | 显示全部楼层
powerint 发表于 2009-4-4 19:31
实验用的功率板 (原文件名:未命名.JPG)

望楼主不吝赐教分享一下pcb原理图啊。。。鄙人也在玩这个,可是木有搞成,想向您取得真经啊。。。邮箱:285609735@qq.com.....小生先谢过了啊。。。

出0入54汤圆

发表于 2012-7-17 07:59:44 | 显示全部楼层
学习下 谢谢

出0入0汤圆

发表于 2012-7-24 14:54:33 | 显示全部楼层
正要整stm32电机控制,一起啊!

出0入0汤圆

发表于 2012-11-5 00:18:16 | 显示全部楼层
我今天弄了一晚上,闭环不起来,明日研究研究前辈们的笔记再做改进~~~
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-24 04:24

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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