搜索
bottom↓
回复: 20

AVR-有感无刷电机控制问题

[复制链接]

出0入0汤圆

发表于 2011-3-31 10:05:53 | 显示全部楼层 |阅读模式
小弟目前有个项目:涉及到无刷电机调速问题
第一个大问题:
1,客户上位机给定的模拟调速电压范围为0.3V~4V要求对应电机的转速范围为0~3700r/min
2,模拟给定每增加0.1v速度要增加100r/min。
目前我遇到的问题是:在给定值较小的时候如小于1V的时候,给定值太小,感觉电机启动不了或者是电机没有动作,PI调节的作用电流一直增大。直到托起电机
,然后因为这样超调又太大,电机又因为pi调节又停止一直反复。要么就是给定值太小直接不能启动,电流一直增大我设定的占空比。
我现在的解决办法shi:
我用的MEGA88利用内部10位AD来采样模拟电压
0.3v到4V对应的数字量为60到818(基准电压为5V)
在低给定值的时候:我将给定值直接作为占空比给定即低速开环启动。如   refduty=adsample;
在给定值大于1V的时候,我把他切换到PI调节。将给定值作为速度的参考值 如refspeed=adsample
这样做了。还是不能解决问题、

第二个大问题:

由于转速要和模拟给定的电压对应。ad是10位的,数字量变化为0到1024,总共要为1024个值,但是要对应电机的转速0到3700转。如果直接对应上去
一个AD的数字量就差不多对应4转的转速。感觉转速波动太厉害饿。
这里对于速度的要求就是0。3V对应00     0.4V 对应100   0.5V 对应200  每增加、0.1V速度增加100
中间部分要尽量平滑。
我现在的解决办法 为分段将0.3V0.4V0.5V到4V 将这些断点做成一个表格
AD采样值来判断在哪一段  如果刚好等于某个断点(断点有回差判断)就等于100诚意转速如  refspeed=Index*100;
如果位于某段之间 就是在该段的基础上加上0到100的变化。如refspeed=Index*100+(adsample-refad)*5;refad为某段的基准值
这样做的话,感觉还是有点问题,AD变化1个两个我的转速就波动10转。如果有没有更好的方法?
我也用过直接线性的一次函数。也不好使了。

第三个大问题:

如果采样值很低的时候,比如目前我低于0.3V的时候,就认为速度为0,这样如果高于0.3V我就开环启动给定占空比了。这样如果AD波动一下
我的电机就会起停。我想问这种分界点应该怎么转换?

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

你熬了10碗粥,别人一桶水倒进去,淘走90碗,剩下10碗给你,你看似没亏,其实你那10碗已经没有之前的裹腹了,人家的一桶水换90碗,继续卖。说白了,通货膨胀就是,你的钱是挣来的,他的钱是印来的,掺和在一起,你的钱就贬值了。

出0入0汤圆

发表于 2011-3-31 21:55:53 | 显示全部楼层
不好意思~~小弟我这方面也不是很懂~~我最近也在弄无刷电机的驱动,我想请教大哥一下,如果我想同时驱动两个无刷电机的话选取什么芯片会好一些啊?给你添点麻烦了~~不过小弟我帮你顶起~~一定会有大虾来给你解决这个问题的~~

出0入0汤圆

 楼主| 发表于 2011-3-31 23:15:40 | 显示全部楼层
飞思卡尔的单片机吧。
我现在一般都是用MICROCHIP和ATMEL的单片机。目前来说MICROCHIP的单片机驱动一个电机还是很好的。也很方便就是较ATEML而言会相对贵点了。
还有一点,MICROCHIP的网站中有很多的中文的文档,手把手教你。所以,我个人比较喜欢MICROCHIP的。
但是MICROCHIP,我只用过2010和4011这两个没有外加其他电路只能驱动一个电机的。
飞思卡尔的可以驱动两个。
其实如果你没有用过这些单片机的话,我建议你加一些其他的硬件最简单就是与门了。所有的单片机都可以做到驱动两个电机了。
也没有必要非要用这些了。

出0入0汤圆

发表于 2011-4-1 23:00:03 | 显示全部楼层
回复【2楼】xkdwangcs
-----------------------------------------------------------------------

恩,您说得很对~~我现在就想着用与门来弄,这样子会简单很多~~~还有就是想请教您一下,三相桥驱动无刷电机的时候,除了对它过流检测以外还有必要对它进行过压检测吗?我用的驱动芯片是IR2130来驱动

出0入0汤圆

 楼主| 发表于 2011-4-2 21:54:35 | 显示全部楼层
这个就要根据你自己来做决定了。我经常遇到过这样的电机。比如我现在这台无刷电机的反电势常熟很大。如果我电机从额定转速突然降为0速的时候,给定值为0相当于占空比为0,也就是说,加在电机绕组两端的电压为0的时候,但是因为电机的转速不能突变,这样的电机的反电势=电机转速X电机的反电势常数=比较大的值。这种情况电机相当于发电了。这样有可能将母线电压冲的很高的。这时候如果你外接电源如果保护的很快。就会在这种情况下,把电源切断。如果你电源不能保护,就会造成目前电压暂时过高的情况了。所以,就要根据你实际的电机来做了。一般情况下,如果要做的话,最好做成的硬件的。保护,比较器+MOSFET+泄放电阻来做。软件做,有一个不好的地方就是,如果你电源地和单片机的地没有在一起,你必须经过一个转换,比如用到线性光耦或是运放来做了。然后就是AD的采样要准确了。所以,一般情况下我都喜欢用硬件做目前电压泄放。我感觉这个跟驱动芯片没有很大的关系。你的驱动芯片的最高的电压也是600V把。

出0入0汤圆

发表于 2011-4-3 09:46:48 | 显示全部楼层
回复【4楼】xkdwangcs
-----------------------------------------------------------------------

恩,是的~~~驱动芯片的最高电压大概就是500~600V左右~我看了别人的论文用来驱动无刷电机的,貌似都没有给电机两端的电压给保护,只有一个过流保护,好像IR2130貌似有高压保护,我再仔细看看datasheet,还有三相桥的话MOSFET需要给它加保护电路吗?H桥的MOSFET都需要加保护,但是三相桥的我不知道有没有必要加进去?请大侠详细指点~~感激不尽!

出0入0汤圆

发表于 2011-4-3 09:51:42 | 显示全部楼层
回复【5楼】lansefeiyang
-----------------------------------------------------------------------

对了,还有就是直接用PWM输出来驱动三相桥和我用I/O口输出高低电平来驱动有什么主要的差别吗?现在要驱动左右电机,所以的话在考虑是用两个独立的单片机来驱动还是直接用一个单片机来驱动?我现在在弄毕设,是弄一个电动轮椅的项目,所以 想请大侠好好的指点迷津

出0入0汤圆

发表于 2011-4-3 10:30:01 | 显示全部楼层
我来回答你H桥保护方面的问题
这方面的硬件我已经做了好几年了,最开始也觉得没什么要注意的,但是实际上,欠压和过压的处理非常重要,这正是决定电路稳定性的问题所在。
电机驱动方面,由于负载电流不确定,所以其实H桥的母线上电源电压波动很大的,你都可以实际测试得到
1.先说欠压。
在电机突然大占空比启动时,电流非常大,如果电源输出能力不强的话,会导致电压剧烈下降,24V的有可能拉低到10V以下,这种电压跌落足以导致弱电部分,如15V和5V的电压也剧烈降低,最终导致逻辑混乱,电路无法正常工作。所以最好加个防反向的电路,让电机把电源拉低时,短时间内弱电部分还能够保持足够的电压以维持正确的逻辑
2.再说过压
因为电机是感性负载,电流不允许突变,这样会导致电压会很容易突变,就算在正常平稳运转过程中,都可以测试到电机的相电压会经常冲的很高或者拉的很低,甚至比0V还低。这在每个PWM开关周期都会发生,加上续流管后会好很多。然后就是当电机转速较高,然后给的占空比很小时,电机会减速,伴随再生制动,产生泵生电压,将电机的动能转化为电能,会给电网充电,如果电源放电能力不强的话将直接导致电源电压上升,而且时间比较长,有可能是秒级的,如果电压继续升高,将导致一系列问题。
处理办法就是做好过压保护,并增加保护器件,如压敏电阻和TVS管等

出0入0汤圆

发表于 2011-4-3 11:13:57 | 显示全部楼层
回复【7楼】solyp 李
-----------------------------------------------------------------------

哦,好的~~谢谢你哈~~~

出0入0汤圆

 楼主| 发表于 2011-4-3 22:10:20 | 显示全部楼层
回复【5楼】lansefeiyang
-----------------------------------------------------------------------

其实这个我感觉是要看你程序怎么做了。
一般情况下,我做无刷电机的控制的时候,如果是一些低性能的我一般选用一般的单片机如MEGA88这些。
这个情况下,我一般是采用H的一桥恒通,一桥PWM斩波。没有外加其他硬件的话就不能完成互补对称了,这个时候要考虑好电容充电的问题了。
但是你如果觉得可以的话,可以可以利用MEGA88的三个定时器以前产生6路PWM波形也可以做到互补对称。

你如果直接用IO口来做PWM波形的话,我相信你应该要用定时器来产生吧。如果判断要换相了。然后利用定时器比如产生20KPWM波形的话,你的定时器就要在25us(占空比为0.5,其他占空比时间还不同)取反一下IO口了。你不觉的这样做,和不合理吗?
如果你用本身的产生PWM波形这个模块,只要将定时器的控制位配置一下,然后将给定比较寄存器的值不是很方便吗?

出0入0汤圆

发表于 2011-4-4 23:11:53 | 显示全部楼层
我用的是TMC603来驱动的有感无感都可以的,怕Hall坏掉所以选了这颗芯片  原来低速的时候有点抖动,经过一个月的调试,换了检测电阻现在 运行非常不错,LZ可以尝试下603
点击此处下载 ourdev_628410LAJ7ZS.pdf(文件大小:772K) (原文件名:tmc603_datasheet.pdf)

出0入0汤圆

 楼主| 发表于 2011-4-5 22:59:08 | 显示全部楼层
看来我提出的问题,没有人帮我解决了。只好,我自己只能按照我自己的方法来了
根据我了解的情况,这个无刷电机是用在液体控制的。那么相对而言电机通过控制液体的流量这个负载是基本不会波动的。
我选择做成开环了。这样是通过给定占空比的,如果只要我把AD处理好的话,那么我的电机的电流基本不是波动的。低速启动
也解决了。不要在去考虑PI调节的情况了。本来在PI调节这边我还使用了很多方法,比如根据误差的范围分段调节,但是效果还是不行
现在只能根据实际的负载做成开环的调节。

出0入0汤圆

发表于 2011-6-27 06:26:59 | 显示全部楼层
LZ能给我留个Email吗,因为您也是做无刷直流的,而我对这方面的知识太过欠缺,希望您能百忙之中抽空解答我的一些疑问,谢谢!

出0入0汤圆

发表于 2011-6-27 09:04:03 | 显示全部楼层
回复【13楼】hjw421704201
lz能给我留个email吗,因为您也是做无刷直流的,而我对这方面的知识太过欠缺,希望您能百忙之中抽空解答我的一些疑问,谢谢!
-----------------------------------------------------------------------

自私的家伙!建议封ID!

出0入0汤圆

发表于 2011-6-27 14:21:58 | 显示全部楼层
回复【14楼】Cliff  
-----------------------------------------------------------------------

呵呵,楼上想多了,我刚刚学,问题比较幼稚,估计大家都会,所以还是请教个人比较好。

出0入0汤圆

发表于 2011-6-27 14:24:36 | 显示全部楼层
回复【14楼】Cliff  
-----------------------------------------------------------------------
如果Cliff您愿意帮我解答疑惑的话,我可以开个贴子,把我的问题都集中起来。

出0入0汤圆

 楼主| 发表于 2011-6-27 21:28:53 | 显示全部楼层
我的email-----xkdwangcs@live.cn
我呢,水平一般
希望可以一起进步

不管怎样?
可以帮你解答 我会的。
不会的,我也无能为力

出0入0汤圆

 楼主| 发表于 2011-6-28 18:38:58 | 显示全部楼层
你的邮件我已经恢复。

出0入0汤圆

发表于 2011-8-5 20:19:14 | 显示全部楼层
LZ你好,我有些问题想向你请教,非常感谢百忙之中抽空帮忙看一下,

我的毕业设计做直流无刷电机的控制,选用LPC1768芯片作为主控芯片,mosfet管驱动芯片选用是IR2130,mosfet选用IRF540N,我需要驱动的电机是48V,9.6A,硬件已经制板在调试,我采用开环调速(不知道开环调速这样做行不行,刚开始做电机控制之块,好多知识不甚了解,还望大虾赐教),采用单极性pwm控制,
                   问题描述:一启动电机时,电机只是顿一下,不能运转起来,IR2130的FAULT一直显示错误,我也不知道原因所在后面的工作也不能继续下去了
                   附件中sj.JPG和Backup of Sheet1.Sch是我的原理图,图中稍有修改是自举电容采用是10uf电解电容和0.1uf瓷片电容并联,mosfet栅极驱动电阻调试选用51Ω电阻(第一次做没有经验,好多元件是后来重新换的);PWM_B是我的软件工程(在keil 4环境中,主函数都已经注释)
                    望大虾指教,非常感谢!期待你的回复,O(∩_∩)O~

点击此处下载 ourdev_664748G4RR70.rar(文件大小:231K) (原文件名:PWM_B.rar)
图片形式原理图

(原文件名:sj.JPG)
实际原理图
点击此处下载 ourdev_664750C1ZR3W.rar(文件大小:6K) (原文件名:Backup of Sheet1.rar)

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-10-3 00:22

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

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