elder60 发表于 2009-6-26 20:15:24

还有那位打算用STM32来实验磁悬浮的?一起商量一下。

我打算用STM32F101C6T6(目前的零售价仅13.5元)来做实验,同时兼顾以后的BLDC和步进电机的实验。
我发现STM32F101的TIM2和TIM3对应的引脚,都不是FT(5V兼容)的,又没有TIM1。只有TIM4有FT功能。

另外,在H桥输出时,PWM输出驱动MOSFET,用“漏开”模式。上电到初始化这段时间如何防止H桥短路和有不当输出?

ywl0409 发表于 2009-6-26 21:44:54

老头打算做上推的?

elder60 发表于 2009-6-26 22:01:56

我的看法是:
下推的MCU方案的难度不见得是很高的。
反而是上拉的5V100MA的难度要大得多。

xingcn 发表于 2009-6-26 23:13:22

其实上拉式在平衡时电流并不大,看负载的重量了(惯性)。

gzhuli 发表于 2009-6-27 02:46:52

老头,建议不要差那几块钱,用STM32F103C6T6吧,有几个特性玩电机很有用的:

1.TIM1有6路带死区控制的互补输出PWM
2.TIM2-TIM5可以接霍尔产生换向脉冲,驱动TIM1的6步PWM模式,简化有感BLDC的驱动
3.ADC有2路同步采样保持功能,玩正弦波驱动的无感PMSM必须的
4.TIM1/TIM8有同步编码器解码功能,如果选同时带TIM1和TIM8的型号,可以很方便地控制无刷伺服电机(这个C6不行)

缺少了这些特性的F101做电机驱动其实和ATmega48没太大区别。


F103的TIM1输出都是FT的,可以OD驱动MOSFET。
IO复位状态是高阻输入,加上拉下拉电阻就行了。
如果想更稳妥,用带关断和死区控制的IR2104来推MOSFET好了,保证不会上下管同时导通。

我现在正在写基于STM8S207SBT6的下推式代码。第一次用STM8,每个寄存器文档都要细读,加上最近被河蟹搞得很忙,所以还没有什么显著进展。不过STM8和STM32的外设看来很接近,估计交流起来不会有太大问题。

elder60 发表于 2009-6-27 07:14:29

10片STM32F101C6T6已经买了1年多了,总要用掉它。同时也是锻炼自己。

F103的TIM1输出都是FT的,可以OD驱动MOSFET。
--------------------------------------------------------
你试过没有?一年前就讨论过这个问题了。见:
http://bbs.21ic.com/club/bbs/list.asp?boardid=49&t=2832973&tp=%u5982%u679C%u4EC5%u662F%u8F93%u51FA%u4E00%u822C%u65E0%u987B%u62C9%u9AD8%u7535%u5E73%u3002
17楼: 本来打算OD输出5V呢
最后发现上不去,内部的ESD二极管强制拉下来了。

用带关断和死区控制的IR2104来推MOSFET
-------------------------------------
IR2104什么价格?你用过么?我现在用4片IR2110S+8片APM3305作为第2方案。

【3楼】 xingcn 星尘
其实上拉式在平衡时电流并不大,看负载的重量了(惯性)。
------------------------------------------------------
那是因为你用的电磁铁比较大的原因。
目前,大家手上的电磁线圈比较小,又没有配好合适的铁芯。

gzhuli 发表于 2009-6-27 19:56:02

这个问题香水城在26楼不是有答案了吗?
我没亲自试过,也不会直接用MCU去推MOS,输出电流太小,至少加一级三极管吧。

IR2104用过一次,用来推同步整流开关电源,就是看中它不需要互补PWM驱动,自带死区控制,保证不会shoot-through。当时买的是原装进口的,11块。

ywl0409 发表于 2009-6-27 21:56:16

IR2104要11块,差不多$1.6了?

gzhuli 发表于 2009-6-28 01:33:56

差不多了吧,5块的感觉是山寨货,当时想只要一块,买好点的吧。

elder60 发表于 2009-7-2 19:23:15

我知道老黄牛最近工作比较忙。

gzhuli 咕唧霖,xingcn 星尘,还有其他准备搞MCU控制的朋友,请教一下:
你们的方案中,最终控制的是电流,还是PWM的占空比?即要不要加电流环?

gzhuli 发表于 2009-7-2 19:30:12

PWM占空比,不做电流反馈。

霍尔 -> 运放 -> AD -> PID -> PWM -> 线圈
|                                 |
+-------------- 悬浮物 -------------+

elder60 发表于 2009-7-2 19:56:40

你的STM8消化得怎么样了?

gzhuli 发表于 2009-7-2 20:09:08

剩TIM1的初始化,周末有时间才能继续。
还要先写个小程序,读AD输出到串口,把采集到的霍尔输出送到电脑上分析一下,才能最终确定运放的放大倍数和大概的PID参数。
现在初步估算,HW101D要近1000倍,3503也要300倍。

看ST的文档实在累人,同时开着datasheet和reference manual翻来翻去的,有点后悔选STM8了,用AVR估计程序已经写完了。
不过多学点也不是坏事,总不能半途而废,坚持。

elder60 发表于 2009-7-2 20:26:01

就“半途而废”吧。干脆和我一起STM32吧!
不过我的运气也不好,开发板上的STM32F103和我自己买的101都是A版的。简直晕头转向。

“现在初步估算,HW101D要近1000倍,3503也要300倍。”是什么意思?运放的放大倍数吗?不会那么大啊。
你是考虑AD后的位数不够吧?

flyingfish 发表于 2009-7-2 21:57:28

各位,STM32F103C6T6什么价格啊,想做电机控制用,谢谢!

elder60 发表于 2009-7-2 22:52:20

16.00元,不过是STM32F103C6T6A。
http://item.taobao.com/auction/item_detail-0db1-c174ef5918e70691cffcaf647f150944.htm

gzhuli 发表于 2009-7-3 00:05:15

其实我现在转STM32,也不算半途而废的,STM8的外设设计理念和STM32基本一致,寄存器稍有点出入而已,转起来也不太难。
之前不想用STM32主要是3.3V的关系,驱动MOSFET不方便。先玩起一个再算吧。

运放的放大倍数我是用样品的参数来估算的,满幅输出时霍尔检得磁通量变化约2Gs,以此为基础,AD满幅采样范围定在4Gs左右,就得出这2个数字了。或许可以减小模拟电路的放大倍数以求稳定,增加PID算法的放大倍数,所以我准备先写一个串口采集程序来获得一些数据,考察精度、稳定度够不够。

xxmmtt 发表于 2009-7-5 10:53:09

elder60老师,我也打算学习STM32,之前接触过STM8.不知道学习STM32是否需要懂得ARM Cortex™-M3内核。

elder60 发表于 2009-7-5 11:46:37

我也是在学学生,我学习STM32的原因有三:
1. 首先是因为有Cortex™-M3内核,特别是有部分DSP指令。中断响应特别快...
2. 12bitADC。目前感觉性能不太好。可能是由于小封装的芯片的原因。在实验中。
3. 低的功耗,方便做成便携的。
4. 价钱不算高。

如果不追求运算速度,那么,我想,内核中的嵌套向量中断控制器(NVIC)部分还是要看的。

xxmmtt 发表于 2009-7-5 14:36:20

谢谢老师的回答。
STM8资料我看起来都觉得非常复杂。而你老这么大年纪了还能孜孜不倦的学习,真令人佩服啊。
页: [1]
查看完整版本: 还有那位打算用STM32来实验磁悬浮的?一起商量一下。