基于ARM的直流电机调速系统的设计与实现.docx
-
资源ID:17749682
资源大小:20KB
全文页数:9页
- 资源格式: DOCX
下载积分:15.18金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
基于ARM的直流电机调速系统的设计与实现.docx
基于ARM的直流电机调速系统的设计与实现ronggang导语:阐述了基于ARM的嵌入式智能小车系统中的直流电机调速子系统,此调速系统主要由S3C44B0X处理器和L298N电机驱动芯片构成,主要功能是驱动小车的两个车轮,调节小车的行驶速度和方向摘要:阐述了基于ARM的嵌入式智能小车系统中的直流电机调速子系统,此调速系统主要由S3C44B0X处理器和L298N电机驱动芯片构成,主要功能是驱动小车的两个车轮,调节小车的行驶速度和方向。文中具体介绍了S3C44B0X处理器中的相关存放器设置及工作方式,给出了系统硬件设计原理图和软件程序代码。关键词:S3C44B0X;L298N;嵌入式;直流电机在智能小车的研制开发中,很重要的一局部就是智能小车要能根据四周障碍物的情况自主的调节行驶速度和行驶方向。本文中所设计的直流电机调速系统是智能小车的一个重要组成局部,直流电机调速系统主要由S3C44B0X处理器和电机驱动芯片L298N构成,主要功能是驱动小车的两个车轮,调节小车的行驶速,通过改变两个车轮的转速差调节行驶方向。1硬件设计由ARM公司设计的采用RISC架构的ARM处理器性能强,功耗低,体积小,支持Thumb16位/ARM32位双指令集,指令执行速度快。目前ARM系列微处理器在32位RISC嵌入式产品中已经占据75%以上的市场份额。尤以ARM7TDMI系列应用最广,其性价比也是最高。1.1S3C44B0X简介S3C44B0X是由Samsung公司推出的基于ARM7TDMI核的16/32位RISC处理器。此款处理器提供了丰富的通用的片上外设,大大减少了系统电路中除处理器以外的元器件配置。S3C44B0X具有6个16位定时器,每个定时器可以按照中断形式或者DMA形式运行。定时器0,1,2,3,4具有PWM功能,定时器5是一个内部定时器。定时器0和1,2和3,4和5分别分享一个8位的预分频器Prescaler,预分频值的范围为0255,通过存放器TCFG0设定这三个预分频器的值;定时器0,1,2,3还各拥有一个具有5个不同分频信号1/2,1/4,1/8,1/16,1/32的时钟分割器Divider,定时器4和5那么各具有一个包含4个分频信号1/2,1/4,1/8,1/16的时钟分割器。这6个定时器的分割值通过存放器TCFG1设定。定时器输入时钟频率=MCLK/Prescaler/Divider。其中MCLK=60MHz是系统的主频。1.2硬件实现为进步系统效率、降低功耗,功放驱动电路采用基于双极型H桥型脉宽调制方式PWM的集成电路L298N。L298N是SGS公司的产品,内部包含二个H桥的高电压大电流桥式驱动器,接收标准TTL逻辑电平信号,可驱动46伏、2安培以下的电机,工作温度范围从-25度到130度。其内部的一个H桥原理图如图1所示。EnA是控制使能端,控制OUTl和OUT2之间电机的停转,IN1、IN2脚接入控制电平,控制OUTl和OUT2之间电机的转向。当使能端EnA有效,IN1为低电平IN2为高电平时,三极管2,3导通,1,4截止,电机反转。当IN1和IN2电平一样时,电机停转。表1是其使能引脚,输入引脚和输出引脚之间的逻辑关系。图1.H桥原理图表1.电机运行逻辑关系另一个H桥的工作原理同上。由EnB控制OUT3和OUT4之间电机的停转,根据IN3、IN4脚的输入电平情况控制OUT3和OUT4之间电机的转向。由于S3C44B0X本身就带有5个PWM输出口,直接输出控制信号到L298N即可,无须另加电路。系统原理框图如图2所示。系统中选用了工作在中断形式下的定时器1和2作为产生PWM的定时器。通过编程设定I/O口PE4和PE5作为定时器1,2输出PWM的端口,接入L298N的EnA和EnB端口,根据定时器1,2输出的PWM频率分别控制两个直流电机的转速。PE6设定为输出端口连接IN1并通过一反向器连接IN2;同样,PE7也设为输出端口,接入IN3并经一个反向器接入IN4。通过接入反向器,IN1和IN2,IN3和IN4就不会同时处于高电平或者低电平,即不会由于IN1和IN2,IN3和IN4电平一样而使电机停顿转动。电机的停顿操纵可以通过调制脉冲宽度为0即占空比为0或关闭定时器的使能位实现。这样只需一路信号PE6就可控制IN1和IN2的状态,PE7控制IN3和IN4的状态,进而使得系统的控制信号得到减少,在一定程度上简化了系统。为保证L298N驱动芯片正常工作,还要在其与直流电机之间参加四对续流二极管用以将电机中反向电动势产生的电流分流到地或者电源正极,以免反向电动势对L298N产生损害。图2.系统原理图2系统的软件设计2.1定时器工作方式在S3C44B0X中,每个定时用具有一个倒计时器,通过定时器时钟源驱动16位倒计时存放器TCNTn。定时器启动前,要向定时计数缓冲区存放器TCNTBn写入一个初始值,这个值在定时器启动时载入到倒计时器TCNTn中。在定时器的比拟缓冲器存放器TCMPBn中同样也要写入一初始值,运行时用来载入到比拟存放器TCMPn中与倒计时器TCNTn的值相比拟。系统启动时,需要通过置手动刷新位的方式,将TCMPBn和TCNTBn这两个缓冲区的值载入到TCMPn和TCNTn中。TCMPBn和TCNTBn这两个缓冲区的应用即双缓冲器使定时器可以在频率和占空比同时变化时,仍然产生一个稳定的输出。一般启动定时器的步骤如下:1,将初始值写入到TCNTBn和TCMPBn中。2,设置对应定时器的自动重载位3,设置对应定时器的手动更新位,反向器置为off状态.3,设置对应定时器的启动位来启动定时器,同时去除手动更新位。此时定时器TCNTn开场倒计数,当TCNTn具有与TCMPn一样的值时,TOUTn的逻辑电平由低变高。当计数器TCNTn到达0时将产生定时器中断恳求,通知CPU定时器操纵已经完成。此时,假如自动重载控制位使能,TCNTBn的值会自动载入到TCNTn存放器中,并开场下一操纵周期。假如通过去除定时器使能位等方法使定时器停顿,计数值将不会自动重载。2.2调制PWM脉冲宽度调制PulseWidthModulationPWM是指将输出信号的根本周期固定,通过调整根本周期内工作周期的大小来控制输出功率。对于一个定时器来讲,其时钟源输入频率一般不变,即TCFG0定时器预分频值和TCFG1定时器分割值的值设定后就不需改变。这样对于PWM提供了一个稳定的时钟源。电机的转速与电机两端的电压成比例,而电机两端的电压与控制波形的占空比成正比,因此电机的速度与占空比成比例,占空比越大,电机转得越快。系统中PWM脉冲频率就由TCNTBn决定,PWM脉冲宽度值那么由TCMPBn的值来决定,而占空比即为TCMPn/TCNTn。假如要使电机转速下降,即得到一个比拟低的PWM脉宽输出值,可以减少TCMPBn的值;要使电机转速增加,即得到一个更高的PWM的输出值,可以增加TCMPBn的值。由于双缓冲器的特性,下一个PWM周期的TCMPBn值可以通过ISR中断效劳程序或者其他手段在当前PWM周期中低电平时的任何一点写入,即在程序中可以通过中断重新设定TCMPBn的值来改变电机的转速。缓冲区TCMPBn,TCNTBn的值不一定即是这个周期的TCMPn,TCNTn的值,但一定是TCMPn,TCNTn的下一个周期的值。2.3程序代码本文中的应用程序是在ADS1.2的开发环境下穿插编译后下载到Flash中运行的。程序代码以定时器1为例:/初始化端口voidInit_PortErPCONE=0x5a00;/定义I/O口/PE4,PE5,PE6,PE7的/功能rPUPE=0xf8;/制止相应位的电阻上拉使能/启动A号电机,此电机由定时器1控制voidStart_MotorArTCNTB1=Motor_CONT;/给两个缓冲器/赋值rTCMPB1=Motor_cont;rTCON|=0x01图3占空比为30%,电机反转图4是由示波器产生的PWM频率为1KHz,占空比80%,电机正转时的调制波形。align=center图4占空比为30%,电机反转/align3完毕语本文中所设PWM的输出频率为1KHZ,所用直流电机是120转/分钟,额定电压为12V电机外不加其他感性负载。本课题最终实现的是基于ARM的嵌入式智能小车系统,而直流电机的PWM调速控制是其中一个重要的子系统。实验证实,Samsung公司的16/32位RISC处理器S3C44B0X对调制PWM实现方便,可编程,电机转速、转向的改变迅速,无停顿,可以很好的为智能小车效劳。参考文献:1杜春雷ARM体系构造与编程M北京:清华大学出版社20032S3C44B0XUSERMANUAL.SAMSUNGELECTRONICS3田泽嵌入式系统与应用M北京:北京航空航天大学出版社20054李洪科吴汉松等基于RTW的无刷直流电机控制系统仿真的新方法微计算机信息2005,06006,P12-14