版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
精品文档-下载后可编辑FPGA在直流电机位置控制中的应用-设计应用摘要:由于直流电机具有速度易控制,精度和效率高,能在宽范围内实现平滑调速等特点而在冶金、机械加工制造等行业中得到广泛应用。该设计采用FPGA作为直流电机的控制器件,负责信号处理,速度快、可靠性高。介绍直流电机进行位置控制的方法,给出位置控制模块的设计和实现,使用VHDL语言进行编程完成了FPGA对直流电机的各种控制。
在直流电机控制系统中,被控制量一般都是电机的转速,控制的目的是保持电机的转速在所需要的定值上。但在实际生产过程中,电机带动生产机械或者其他负载运动的表现不一定都是转速,也可能是使生产机械或其机构产生一定的位置变化,这时需要的控制量就不再是电机的转速,而是控制对象的直线位移,因此需将电机的转速输出转换为电机的位移输出。
1电机位置控制模块的设计
1.1直流电机位置控制的方法
在此,使用maxon直流电机,通过与其配套的行星齿轮箱和磁编码器,能够实现从转速到位移的转换。其工作原理如下:电机转动时,编码器开始输出反馈脉冲,反馈脉冲的频率与电机的转速成正比,可达20kHz。电机轴每旋转一圈,编码器就输出16个反馈脉冲,通过计算得出每个脉冲代表电机所带负载产生0.00614mm的位移。这样就可以把要控制的位移量用反馈脉冲的个数来表示,作为FPGA中位置控制模块给定值,当电机转动时,FPGA中的计数器会把反馈脉冲计数并保存,位置控制模块不断读取计数器里的计数值,并与位置控制模块中的给定值比较。当它们相等的时候,位置控制模块发出停止信号,从而控制电机刹车。电机停止运动后,再读取计数器中的计数值,与给定值做比较,计算出差值。如果差值在控制精度范围内,则此次控制结束;如果不在范围内,将差值作为下控制的给定值,继续控制电机运动,直至达到要求的精度范围为止。
1.2位置控制模块的组成
位置控制模块由3部分组成:比较模块、驱动模块和延时模块。比较模块的作用是将编码器反馈的脉冲个数与给定的脉冲个数做比较,当它们相等时,给出电机停止信号。驱动模块的作用是根据输入的控制信号控制电机的运动。延时模块的作用是防止丢失反馈脉冲,确保准确读回编码器反馈的脉冲个数。接下来将重点介绍各个模块的具体实现。
1.2.1比较模块
图1中,data_in[15..O]为给定的反馈脉冲个数;EN为电机工作使能信号;inclk为工作时钟;feedback[15..0]为电机运行时计数器的计数值;stopinter为电机停止时的模块内部传递信号;“O”表示无效,“1”表示有效。比较模块的工作原理如下:比较模块在接收到给定值后,也就是根据要控制的位移量所计算出的反馈脉冲的个数,将其锁存。在工作时钟的作用下,模块会不断地检测EN信号是否有效,如果EN信号有效,模块将开始读取反馈计数值,并与给定值做比较;如果相等,模块认为电机所带负载的运动到达指定位置,这时输出的stopinter信号有效,控制电机刹车;否则stopinter信号无效,电机继续运动。
如图2所示,假设给定的计数值为7。当使能信号EN有效时,模块开始读端口feedback[15..O]中的值(电机运行时通过磁编码器反馈回来的脉冲个数),与data_in[15..0]中给定的脉冲个数做比较。当它们相等的时候,表示电机所带的负载运动到了指定位置,此时stopinter信号有效,开始控制电机刹车并停止。
1.2.2驱动模块
图3中,derect[1..O]为电机的控制输入信号;EN为电机工作使能信号,“0”表示无效,“1”表示有效;inclk为工作时钟;stopinter为电机停止信号的模块内部传递信号;control_outA,control_outB为控制电机的输出信号,这两个控制信号直接连接电机的驱动芯片。驱动模块的工作原理如下:
在工作时钟的作用下,驱动模块会不断地检测EN信号和stopinter信号是否有效,如果:EN有效,并且stopinter无效的时候,模块的输出controi_outA,cont-orl_outB取决于电机控制输入信号derect[1..0]的状态,当derect[1..0]为“01”时,control_outA输出为“0”;control_outB输出为“1”,表示控制电机反转。当derect[1..0]为“10”时,control_outA输出为“1”;con-trol_outB输出为“O”,表示控制电机正转。驱动控制模块一旦检测到stop信号有效,control_outA和control_outB的输出都为“O”,表示控制电机刹车并停止。在EN和stop信号都无效的时候,control_outA和con-trol_outB的输出都为“1”,表示对电机不做任何控制。
如图4所示,当EN和stopinter信号都为“0”时,模块的输出control_outA,contorl_outB都为“1”,对电机不做任何控制。当EN信号变为“1”时,表示电机开始运动,模块的输出control_outA为“O”,Contorl_outB为“1”,与direction[1..0]中的值“01”相同,此时电机反转。当stopinter信号变为“1”时,模块的输出control_outA为“O”;contorl_outB也为“O”,此时电机刹车并停止。当EN信号为“1”,stopinter信号再次为“0”时,电机再次开始运动,模块的输出control_outA为“1”;con-torl_outB为“0”,与direction[1..O]中的值“10”相同,此时电机反转。
1.2.3延时模块
图4中,EN为延时的使能信号,也就是计数比较模块的输出信号stopinter;inclk为工作时钟;stop为电机停止信号对外部的输出信号。延时模块(如图5所示)的工作原理如下:当延时模块检测到stopinter信号为“1”时,模块内的计数器开始工作,计数器时钟即模块的工作时钟10kHz,当记满300后,模块输出信号为“1”。延时模块检测到stopinter信号为“0”时,模块内计数器不工作,模块输出信号为“0”。
当电机刹车时,由于存在惯性,电机不会立即停止,会有一段滑行的过程,在这个过程中,电机仍然会通过磁编码器返回反馈脉冲,只是因为电机的转速下降,反馈脉冲的频率大大降低。当stopinter信号变为“1”时,电机开始刹车,如果此时立刻读取feedback[15..0]端口上的反馈脉冲数值,计算出电机所带负载的位置,那么必然会丢失掉滑行过程中的反馈脉冲。这样就会导致读回的反馈脉冲数与实际电机返回的反馈脉冲数不相等,从而严重地影响控制精度,所以必须在stopinter信号变为“1”后,延长一段时间,确保电机停止不动后,再给出STOPTEST信号,作为读取反馈脉冲数值的有效信号,这时用读回的反馈脉冲数值计算出负载的实际位置是准确的。
通过实验,在电机以转速运行时,让电机刹车,用逻辑分析仪抓出反馈脉冲的波形,找出反馈脉冲频率开始突然下降直到反馈脉冲消失的那段时间,就是所需要的延时。通过反复进行实验,测试出这段时间为30ms,其间的反馈脉冲个数为20个。因此把要控制的位移量换算成反馈脉冲的个数后,用这个值减去20作为比较模块给定值,就可以抵消滑行过程中增加的20个脉冲。这样
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二四年度互联网金融服务股份转转让合同模板下载5篇
- 二零二四年度专业展览馆展陈设备租赁服务合同3篇
- 2025年度钢材购销合同协议书回款期标准范本
- 2025年风电场管件采购合同范本
- 2025年股权担保与私募股权投资服务合同
- 2025年度人工智能辅助医疗诊断合同补充协议范本
- 2025年森林防火员劳动合同标准范本
- 2025年度挂车运输安全责任保险合同
- 2025年度城市轨道交通光缆终端盒采购项目合同
- 2025年度国际贸易信用证服务进出口合同
- 励志课件-如何做好本职工作
- 2024年山东省济南市中考英语试题卷(含答案解析)
- 2025中考英语作文预测:19个热点话题及范文
- 静脉治疗护理技术操作标准(2023版)解读 2
- 2024年全国各地中考试题分类汇编(一):现代文阅读含答案
- GB/T 30306-2024家用和类似用途饮用水处理滤芯
- 武强县华浩数控设备科技有限公司年产9000把(只)提琴、吉他、萨克斯等乐器及80台(套)数控雕刻设备项目环评报告
- 安全生产法律法规汇编(2024年4月)
- DB11∕T 882-2023 房屋建筑安全评估技术规程
- 华为员工股权激励方案
- 卫生院安全生产知识培训课件
评论
0/150
提交评论