网站大量收购独家精品文档,联系QQ:2885784924

【电气工程自动化】直流无刷电机-运动控制实验报告精要.docx

【电气工程自动化】直流无刷电机-运动控制实验报告精要.docx

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
【电气工程自动化】直流无刷电机-运动控制实验报告精要

《运动控制系统综合实验》实验报告小组成员:直流无刷电机实验报告实验目的通过对8257的编程控制,发出可以驱动直流无刷电机的六路PWM波,实现对电机的控制。实验原理直流无刷电机驱动原理这部分在PPT里有详细介绍,简单来说就是要根据转子上的三个霍尔传感器的状态发出下一步所需的三相电流。刚开始时我对这部分原理迟迟不能搞透彻,对着向量图思考了好久,就是不能把霍尔传感器的状态和所需电流方向对应起来。主要问题是那个PPT上的向量图没有清楚的思考步骤,导致我把定子的磁场一直当成转子的看,当然搞不清楚。后来在和身边同学交流后才明白。然后我按照六步驱动法得到了逆时针转动所需的霍尔状态表,如图1左,经验证此状态表是可以成功驱动电机的。搞定逆时针转动后我趁热打铁,把顺时针转动的霍尔状态表也写了出来。但是最开始我想当然的以为把逆时针的状态倒过来对应霍尔传感器的值电机就会反转,经过试验后证明这种思路是错误的,电机还是逆时针转动。我想了好久没想明白,只好又从头推了一遍顺时针转动所需的状态表,如图一右。前后对比我们发现相同霍尔状态时,正反所需的电流恰好相反,也即相差180°。再回想推导过程中实际是用下一个状态的电流对应本状态的霍尔值,我一下豁然开朗。我判断电机在某一位置时允许有60°的误差,逆时针转动时上一个状态加上60°,顺时针转动时则减去60°,所以顺时针逆时针转动正好差了180°。霍尔传感器的状态和所需电流如下表:逆时针转动顺时针转动HaHbHcABCABC001-0++0-1010-+0+-100+-0-+0110+0--0+0100+-0-+011-+0+-0相序确定上述表格中A,B,C其实是我们假定的,与霍尔元件HaHbHc对应的ABC并不对应,所以我们还要确定一下三相相序。考虑到我们只给三相电机提供A正B负的电流时,电机转子应该停在一个确定的位置,而这个位置对应的霍尔状态值为010。那么当我们任意通入一正一负的电流时,若霍尔状态值为010,此时正电流即A相,负电流即B相。按此方法即可确定相序,所用的A正B负程序如下:写在main里面是为了一直发出A正B负的电流。8257的编程原理一直以来涉及到程序的地方都让我很头痛,不过这次还好,codewarrior采用C语言,还是可以熟练应用的。概括说来,我们所编写的程序应能按照上述表格发射正确的PWM波,为此需添加PWM模块,并应用里面的Submodule子模块。每个模块可以产生两路PWM,所以我们需要三个子模块。通过对module里的value赋值可以控制该路波的发出与占空比,从而发出所有的PWM。实验中遇到的问题与解决显然在实验过程中大家都碰到了许多问题,困扰我们的问题比较多,其中比较大比较重要的有以下几个:PWM模块的配置虽然关于PWM模块的设置助教老师讲过一遍,但怎奈需要配置的参数太多,前几周我都没能把PWM波完整的发出去,更别提受控制的波形。好在通过查找相关资料我终于搞明白如何调整占空比,如下所示:通过给VAL2、VAL3赋值即可控制PWM23开通的时间。这是一个Sub里的一个频道A,对频道B和其他Sub方法是一样的。这样我们终于可以发出6路PWM,但此时这些PWM还不受控制,是一起输出的,下一个问题是怎么控制PWM的输出。PWM输出的控制开始时我想反正占空比是可以固定不变的,那就控制频道的输出与否就可以控制PWM的输出了。刚好我在PWM自带的函数库里看到了控制某路输出enable/diaable的函数,如下:因此就采取这种方法进行编程。但是不知为何,采用enable/disable的方法编写的程序就是不能正确工作,而且逻辑上程序也没有错误,在多次讨论找不到错误后我就向身边的同学请教,又学会了另一种方法,即通过对三个模块的VAL2、VAL3、VAL4、VAL5的不断赋值来控制,相关函数如下:采用这种方式要注意每次对某个模块复制后要加上一行LDOK,即将寄存器里的值赋给VAL,否则VAL的值不会改变。采用这种方式还有一个好处就是可以改变占空比,而且非常简单。电机连线经过好久的调试后PWM波终于可以按规定变化,接上电机后电机也可以转起来,但我们发现转不一会儿电机就发出大量热,手摸上去都受不了。而且电机转的不太均匀,有不太强的震动。开始时以为是电机的问题,但换了一个后还是发热,后来经询问老师后我们想到虽然电机能转,但可能电机的频率和PWM的变化频率并不一样,电机可能没有跟上PWM的变化频率。正常运行时电机的ABC三相应该正好与PWM的三相对应,但如果A相接正确而BC相接反时电机也会转,只不过效率不高而且转的不稳。经过确定相序后发热的问题也随之消失。实验感想(???)这次实验主要是靠自己动手,从刚开始时什么也不会到最后成功驱动电机,中间我们付出了很多时间和精力,但也学到了很多。按常老师的话说这次课程主

文档评论(0)

586334000 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档