嵌入式实验4 直流电机_第1页
嵌入式实验4 直流电机_第2页
嵌入式实验4 直流电机_第3页
嵌入式实验4 直流电机_第4页
嵌入式实验4 直流电机_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验4直流电机控制目录9业<1^:••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••32.3实验原理32.3.1嵌入式系统开发的特点错误!未定义书签。2.3.2嵌入式系统开发的流程错误!未定义书签。2.3.3ADS调试嵌入式系统错误!未定义书签。2.3.3.1嵌入式系统调试的方式错误!未定义书签。ADS调试环境的组成错误!未定义书签。2.3.33ADS命令行开发工具错误!未定义书签。2.3.4利用ADS建立工程错误!未定义书签。2.3.4.1硕件连接错误!未定义书签。安装调试工具(ADS1.2、H-JTAG、dnw)错误!未定义书签。2.3.43编译和链接工程错误!未定义书签。23.4.4AXD调试下载错误!未定义书签。2.4.5驱动程序开发34.1实验目的:了解掌握使用PWM方式控制直流电机的转动速度。4.2实验要求:使用S3C2410A的TOUT2II输出PWM信号控制直流电机,实现二级调速控制。通过从串口接收字符来改变当前电机的速度级别。4.3实验原理脉冲宽度调制(PulseWidthModulation,PWM)脉冲宽度调制,简称脉宽调制。它是利用微处理器的数字输岀来对模拟电路进行控制的一种非常有效的技术,广泛应用于测量,通信,功率控制与变换等许多领域。PWM是一种模拟控制方式,它根据相应载荷的变化来调制晶体管栅极或基极的偏置,来实现开关稳压电源输出晶体管或晶体管导通时间的改变,这种方式能使电源的输出电压在工作条件变化时保持恒定。PWM是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。PWM信号仍然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全有(ON),要么完全无(OFF)。电压或电流源是以一种通(ON)或断(OFF)的重复脉冲序列被加到模拟负载上去的。通的时候即是直流供电被加到负载上的时候,断的时候即是供电被断开的时候。只要带宽足够,任何模拟值都可以使用PWM进行编码。PWM晶体管的导通时间也被称为导通角a,若改变调制晶体管的开与关的时间,也就是说通过改变导通角a的人小,如图所示,来改变加在负载上的平均电压的大小,以实现对电动机的变速控制,称为脉宽调制(PWM)变速控制。PWM定时器(PWMTimer)S3C2410有5个16位定时器,其中定时器0,1,2,3具有脉冲宽度调制((PWM)功能,定时器4具有内部定时作用,但是没有输出引脚。定时器0具有死区生成器,可以控制大电流设备。定时器T0和T1共用一个8位预分频器,定时器T2,T3和T4共用另一个8位预分频器,每个定时器都有一个时钟分频器,信号分频输出有5种模式(1/2、1/4、1/8、1/16和外部时钟TCLK)0定时器结构框图请参看下图。

信号来自于8位预分频器。可编程8位预分频器根据存储在TCFGO和TCFG1中的数据对PCLK进行预分频。分频器功能见下表。4-bltdividersettingsMinimumresolution(prescaler=0)Maximumresolution(prescaler=255)MaximumInterval(TCNTBn=65535)1/2(PCLK=50MHz)0.0400US(25.0000MHz)10.2400US(97.6562KHz)0.6710sec1/4(PCLK=50MHz)0.0800US(12.5000MHz)20.4800US(48.8281KHz)1.3421sec1/8(PCLK=50MHz)0.1600us(6.2500MHz)409601us(244140KHz)26843sec1/16(PCLK二50MHz)0.3200us(3.1250MHz)819188us(122070KHz)53686sec分频器功能当时钟彼允许后,定时器计数缓冲寄存器(CTNTBn)把计数初值卜•载到减法计数器中。定时器比较缓冲寄存器(CNIPBn)把初始值下载到比较寄存器中,来和减法计数器的值比较。这种CTNTBn和CMPEn双缓冲寄存器特性能使定时器产生稳定的输出,且占空比可变。每一个定时器都有一个自己的用定时器时钟驱动的16位减法计数器。当减法计数器减到0时,就会产生一个定时器中断来通知CPU,定时器操作完成。当定时器减法计数器减到0时,相应的TCNTBn的值被自动重载到减法计数器中继续下次操作。然而,如果定时器停止了,比如在运行时通过清除TCON中定时器使能位来中止定时器的运行,则TCNTBn的值不会被重载到减法计数器中。TCMPBn的值用于脉冲宽度调制(PWM)。当定时器的减法计数器的值和TCMPBn的值相匹配时,定时器输出改变输出电平。因此,比较寄存器决定了PWM输出的开关时间。定时器具体操作时序下图所示。定时器操作时序图PWMTimer特性5个16位定时器;2个8位预分频器和2个4位分频器:■可编程PWM输出占空比;■自动重载模式或者单个脉冲输出模式;■具有死区生成器:■自动重载与双缓冲。S3C2410定时器具有双缓冲功能,能在不中止当前定时器运行的情况下,重载下次定时器运行参数,所以尽管新的定时器的值被设置好了。当前操作仍能成功完成。定时器值可以被写入定时器计数缓冲寄存器(TCNTBn),当前计数器的值可以从定时器计数观察寄存器(TCNTOn)读出。读出的TCNTBn值并不是当前计数器的值,而是下次重载的计数器值。TCNTn的值等于0时,自动重载操作,把TCNTBn的值装人TCNTn,只有当自动重载允许并且TCNTn的值等于1时才会自动重载。如果TCNTn=0,自动重载禁止,则定时器停止运行,具体如下图所示。

WnteWnteTCNTBn=100TCNTBn=200StartTCNTBn=150口口'Auto-reload||N►1150100100200Interrupt双缓冲功能示例(1)使用手动更新完成定时器的初始化和倒相位:当计数器的值减到0时会发生自动重载操作,所以TCNT11的初始值必须由用户提前定义好,在这种情况卜•就需要手动更新启动值。以下几个步骤给出了更新过程:■向TCNTBn和TCMPBn写入初始值。■置位相应定时器的于•动更新位,不管是否使用倒相功能,推荐设置倒相位■启动定时器,清除手动更新位。注意:如果定时器被强制停止,TCNTn保持原来的值;如果要设置一个新的值,必须使用手动更新位。另外,手动更新位要在定时器启动后清除,否则不能正常运行。只要TOUT的倒相位改变,不管定时器是否处于运行状态,TOUT#会倒相,因此在手动更新时需要设置倒相位。PWMTimer操作示例;40;40[2060•144TOC\o"1-5"\h\z1;40;40[2060•144▼:50::50:1105811定时器操作示例图Step1:允许自动重载功能,设置TCNTBn=160(50十110),TCMPEn=110。设置手动更新位和配置倒相位(开/关),手动更新位被设置后,TCNTBn和TCMP'Bn的值被自动装人了TCNTn和TCNIPno然后,设置TCNTBn和TCMPBn分别等于80(40+40)和40。Step2:设置开始位将定时器清零并且手动更新位,取消倒相功能,允许自动重载,定时器开始启动减法计数。Step3:当TCNTn和TCMPn的值相等时,TOUT输出电平由低变高。Step4:当TCNTn的值等于0时产生中断,并在下一个时钟到来时把TCNTBn的值装人暂存器中。Step5:在中断服务子程序中,把80(20+60)和60分别装入TCNTBn和TCMPE11。Step6:当TCNTn和TC'IPn的值相等时,TOUTn输出电平由低变高。Step7:当TCNTn=0时,扌巴TCNTBn和TCMPBn的值分别自动装入TCNTn和TCMPm并触发中断。Step&在中断服务子程序中,禁止使用自动重载和中断请求来中止定时器运行。Step9:当TCNTn和TCMPn的值相等时,TOUTn输出电平由低变高。Step10:尽管TCNTn=0,但是定时器停止运行,也不再发生自动重载操作,这是因为定时器自动重载功能被禁止。Step11:不再产生新的中断。4.3.5死区生成器当PWM控制用于电源设备时需要用到死区功能。这个功能允许在一个没备关闭和另一个设备开启之间插入一个时间间隔。这个时间间隔可以防止两个设备同时被启动。TOUT0是定时器0的PWM输出,11TOUTO是TOUT0的倒相信号。如果死区功能被允许,TOUTO和nTOUTO的输出波形就变成了TOUT0.DZ和NtoutO_D乙如图11-5所示。nTOUT0_DZ在TOUT]脚上产生。在死区间隔内,TOUT0.DZ和nTOUT0_DZ就不会同时是高电平了。TOUTOnTOUTODeadzoneintervalDeadzoneintervalTOUTO_DZnTOUTODZ死区功能允许时功能图4.4PWMTimer控制寄存器PCLK是Tuner的信号源,通过设置每个Timer相应的Prescaler和ClockDivider把PCLK转换成输入时钟信号传送给各个Timer的逻辑控制单元(ControlLogic),事实上每个Timer都有一个称为输入时钟频率(TimerinputclockFrequency)的参数,这个频率就是通过PCLK,Prescaler和ClockDivider确定下来的,每个Timer的逻辑控制单元就是以这个频率在工作。下面给出输入时钟频率的公式:TimerinputclockFrequency=PCLKf{prescalervalue+1}1{dividervalue}{prescalervalue}=0-255{dividervalue}=2,4,8,16

即:fTCLK二[fPCLK/(Prescaler+1)]/分配器分频值其中,Prescaler为预分频值(0、255);■分配器的分频值为2、4、8和16。Timer配置寄存器0(TCFGO)■定时器配置寄存器0(TCFGO),地址:0x51000000,如下表所列。TCFGOBitDescriptionInitialStateReserved[3124]0x00Deadzonelength[23:16]These8bitsdeterminethedeadzonelengthThe1unittimeofthedeadzonelengthisequaltothatoftimer00x00Prescaler1[15.8]These8bitsdetermineprescalervalueforTimer2,3and4.0x00Prescaler0[7:0]These8bitsdetennineprescalervalueforTimer0and1.0x00Timer配置寄存器1(TCFG1)■Timer配置寄存器1(TCFG1)地址:0x51000004,如下表所列。TCFG1BitDescriptionInitialStateReserved[31:24]00000000DMAmode[23:20]SelectDMArequestchannel0000=Noselect(allinterrupt)0001=TimerO0010=Timerl0011=Timer20100=Timer30101=Timer40110=Reserved0000MUX4[19:16]SelectMUXinputforPWMTimer4.0000=1/20001=1/40010=1/80011=1/1601xx=ExternalTCLK10000MUX3115:12]SelectMUXinputforPWMTimer3.0000=1/20001=1/40010=1/80011=1/1601xx=ExternalTCLK10000MUX2[11:8]SelectMUXinputforPWMTimer2.0000=1/20001=1/40010=1/80011=1/1601xx=ExternalTCLK10000MUX1[7:4]SelectMUXinputforPWMTimerl.0000=1/20001=1/40010=1/80011=1/1601xx=ExternalTCLK00000MUX0[3:0]SelectMUXinputforPWMTimerO.0000-1/20001二1/40010二1/80011二1/1601xx二ExternalTCLK00000■其中MUX为多路开关。Timer减法缓冲寄存器(TCNTBn)与Timer比较缓冲寄存器(TCMPBn)定义如卜•表:寄存器读写状态描述初始化状态TCNTBnR/WTCNTBn[15:0]设置减法缓冲寄存器的值0X00000000TCMPBnR/WTCMPBn[15:0]设置比较缓冲寄存器的值0X00000000Timer控制寄存器(TCON)■定时器控制寄存器(TCON)地址:0x51000008,如下表所列。

TCONBitDescriptionInitialstateTimer4autoreloadon/off[22]Determineautoreloadon/offforTimer4.0二One-shot1二Intervalmode(autoreload)0Timer4manualupdate(咲)[21]DeterminethemanualupdateforTimer40=Nooperation1=UpdateTCNTB40Timer4start/stop[20]Determinestart/stopforTimer4.0=Stop1=StartforTimer40Timer3autoreloadon/off[19]Determineautoreloadon/offforTimer3.0=Ono-shot1=Intorvalmode(autoreload)0Timer3outputinverteron/off[18]Determineoutputinverteron/offforTimer3.0=Inverteroff1=InverteronforTOUT30Timor3manualupdateDeterminemanualupdateforTimer3.0=Nooperation1=UpdateTCNTB3&TCMPB30Timer3start/stop[16]Determinestart/stopforTimer30二Stop1=StartforTimer30Timer2autoreloadon/off[15]Determineautoreloadon/offforTimer20=One-shot1=Intervalmode(autoreload)0Timer2outputinverteron/off[14]Determineoutputinverteron/offforTimer2.0=Invertoroff1=InverteronforTOUT20Timer2manualupdate(哄)[13]DGterminethemanualupdateforTimor2.0=Nooperation1=UpdateTCNTB2&TCMPB20Timor2start/stop[12]Determinestart/stopforTimer20二Stop1二StartforTimer20Timer1autoreloadon/off[11]Determinetheautoreloadon/offforTimer1.0二One-shot1二Intervalmode(autoreload)0Timer1outputinverteron/off[10]Determinetheoutputinverteron/offforTimer10=Inverteroff1=InverteronforTOUT10Timer1manualupdate(心°)⑼DeterminethemanualupdateforTimer1.0=Nooperation1二UpdateTCNTB1&TCMPB10Timer1start/stop18]Determinestart/stopforTimer1.0=Stop1二StartforTimer10TCONBitDescriptionInitialstateReserved[7:5]ReservedDeadzoneenable[4]Determinethedeadzoneoperation.0=Disable1=Enable0Timer0autoreloadon/off⑶Determineautoreloadon/offforTimer00=One-shot1=Intervalmode(autoreload)0Timer0outputjnverieron/off⑵Determinetheoutputinverteron/'offforTimer00=Inverteroff1=InverteronforTOUTO0Timer0manualupdate(曲)[1]DeterminethemanualupdateforTimer0.0=Nooperation1=UpdateTCNTBO&TCMPBO0Timor0start/stop|0]DGterminestart/stopforTimer0.0=Stop1二StartforTimer00Timer观察寄存器(TCNTOn)■Timer观察寄存器(TCNTOn)地址:0x5100000C'0x5100003C,其具体描述如下表所列。寄存器读写状态描述初始化状态TCNTOnRTunern观察寄存器0X00000000

4.5等效电4.5等效电*图(1)如卞图所示,左图是一个直流电动机的PWM控制电路的等效电路。在这个等效电路中,传送到负载(电动机)上的功率值决定于开关频率、导通角度及负载电感的人小。(2)加上电压UP,电动机储能,电流增加,当电源中断时,电枢电感所储的能量通过续流二极管VD继续流动,而储藏的能量呈下降的趋势。除功率值以外,电枢电流的脉动量与电动机的转速无关,仅与开关周期、正向导通时间及电机的电磁时河常数有关。续流二极管续流二极管(3)下图为直流电动机PWM电路的一个例子。它属于桥式双极模式PWM电路。电路主要由四部分组成,即三角波形成电路、脉宽调制电路、信号延迟及信号分配电路和功率电路。(4)其原理简单叙述如下:功率电路主要由四个功率晶体管和四个续流二极管组成。四个功率晶体管分为两组,VI与V4、V2与V3分别为一组,同一组的晶体管同时导通,同时关断。基极的驱动信号Ubl=Ub2,Ub3=Ub4oPWM信号延迟及信号分配电路功率电路10

PWM信号延迟及信号分配电路功率电路10在tl5—12期间,Ubl>0与Ub4>0,VI与V4导通,V2与V3截止,电枢电流沿回路1流通。在t2—T+tr期间,UbKO与Ub4<0,VI与V4截止,Ub2>0与Ub3>0。但此时由于电枢电感储藏着能量,将维持电流在原来的方向上流动,此时电流沿回路2流通;经过跨接于V2与V3上的续流二极管VD4、VD5o受二极管正向压降的限制,V2与V3不能导通。・T+tl,之后,重复前面的过程。・反向运转时,具有相似的过程。4.5实验电路图

・S3C2410A具有4路PWM输出,输出丨1分别为TOUT0〜TOUT3,其中两路带有死区控制功能。为了能够正确输出PWM信号,需要正确设置GPBCON寄存器选择相应LO的为TOUTx功能。然后,通过TCFG0寄存器为PWM定时器时钟源设置预分频值,通过TCFG1寄存器选择PWM定时器时钟源。接着,通过TCNTBx寄存器设置PWM周期,通过TCNIPBx设置PWM占空比。最后,通过TCON寄存器启动PWM定时器,即町输出PWM信号。与PWM相关寄存器:TCNTB0决定了PWM的周期。TCNIPB0决定了PWM的占空比。4.7实验内容使用S3C2410A的TOUT2II输出PWM信号控制直流电机,实现二级调速控制。通过从串「I接收字符来改变当前电机的速度级

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论