嵌入式实训9.docx
《嵌入式实训9.docx》由会员分享,可在线阅读,更多相关《嵌入式实训9.docx(16页珍藏版)》请在冰豆网上搜索。
嵌入式实训9
嵌入式实训9——维信科技
一、实训目的
1.熟悉ARM本身自带的六路即三对PWM,掌握相应寄存器的配置。
2.编程实现ARM系统的PWM输出和I/O输出,前者用于控制直流电机,后者用于控制步进电机。
3.了解直流电机和步进电机的工作原理,学会用软件的方法实现步进电机的脉冲分配,即用软件的方法代替硬件的脉冲分配器。
4.掌握带有PWM和I/O的CPU编程实现其相应功能的主要方法。
二、实训内容(维信科技,太原最好的IT培训)
学习步进电机和直流电机的工作原理,了解实现两个电机转动对于系统的软件和硬件要求。
学习ARM知识,掌握PWM的生成方法,同时也要掌握I/O的控制方法。
1.编程实现ARM芯片的一对PWM输出用于控制直流电机的转动,通过A/D旋钮控制其正反转及转速。
2.编程实现ARM的四路I/O通道实现环形脉冲分配用于控制步进电机的转动,通过A/D旋钮转角控制步进电机的转角。
3.通过超级终端来控制直流电机与步进电机的切换。
三、预备知识
1、用ARMSDT2.5或ADS1.2集成开发环境,编写和调试程序的基本过程。
2、ARM应用程序的框架结构。
3、会使用SourceInsight3编辑C语言源程序。
4、掌握通过ARM自带的A/D转换器的使用。
5、了解直流电机的基本原理(维信科技,太原最好的IT培训)。
6、了解步进电机的基本原理,掌握环形脉冲分配的方法。
四、设备及工具
硬件:
ARM嵌入式开发平台、用于ARM7TDMI的JTAG仿真器、PC机Pentium100以上(维信科技,太原最好的IT培训)。
软件:
PC机操作系统win98、Win2000或WinXP、ARMSDT2.51或ADS1.2集成开发环境、仿真器驱动程序、超级终端通讯程序。
五、实验原理及说明
1.直流电机
1)直流电动机的PWM电路原理
晶体管的导通时间也被称为导通角а,若改变调制晶体管的开与关的时间,也就是说通过改变导通角а的大小,如图2-22所示,来改变加在负载上的平均电压的大小,以实现对电动机的变速控制,称为脉宽调制(PWM)变速控制。
在PWM变速控制中,系统采用直流电源,放大器的频率是固定,变速控制通过调节脉宽来实现(维信科技,太原最好的IT培训)。
构成PWM的功率转换电路或者采用"H"桥式驱动,或者采用"T"式驱动。
由于"T"式电路要求双电源供电,而且功率晶体管承受的反向电压为电源电压的两倍。
因此只适用于小功率低电压的电动机系统。
而"H"桥式驱动电路只需一个电源,功率晶体管的耐压相对要求也低些,所以应用得较广泛,尤其用在耐高压的电动机系统中。
图2-22脉宽调制(PWM)变速原理
2)直流电动机的PWM等效电路
如图2-23所示,是一个直流电动机的PWM控制电路的等效电路。
在这个等效电路中,传送到负载(电动机)上的功率值决定于开关频率、导通角度及负载电感的大小(维信科技,太原最好的IT培训)。
开关频率的大小主要和所用功率器件的种类有关,对于双极结型晶体管(GTR),一般为lkHz至5kHz,小功率时(100W,5A以下)可以取高些,这决定于晶体管的特性。
对于绝缘栅双极晶体管(IGBT),一般为5kHz至l2kHz;对于场效应晶体管(MOSFET),频率可高达2OkHz。
另外,开关频率还和电动机电感有关,电感小的应该取得高些。
a)等效电路b)PWM电路中电流和电压波讨论
图2-23直流电机PWM控制
当接通电源时,电动机两端加上电压UP,电动机储能,电流增加,当电源中断时,电枢电感所储的能量通过续流二极管VD继续流动(维信科技,太原最好的IT培训),而储藏的能量呈下降的趋势。
除功率值以外,电枢电流的脉动量也与电动机的转速无关,仅与开关周期、正向导通时间及电机的电磁时间常数有关。
3)直流电动机PWM电路举例
图2-24为直流电动机PWM电路的一个例子。
它属于"H"桥式双极模式PWM电路。
图2-24直流电动机PWM电路举例
电路主要由四部分组成,即三角波形成电路、脉宽调制电路、信号延迟及信号分配电路和功率电路。
电路中各点波形如图2-25所示。
其中信号延迟电路是为了防止"共态直通"而设置的(维信科技,太原最好的IT培训)。
一般延迟时间调整在(10~30)ps之内,根据晶体管特性而定。
其原理简单叙述如下:
功率电路主要由四个功率晶体管和四个续流二极管组成。
四个功率晶体管分为两组,V1与V4、V2与V3分别为一组,同一组的晶体管同时导通,同时关断。
基极的驱动信号Ub1=Ub2,Ub3=Ub4。
其工作过程为:
在t1’—t2期间,Ub1>0与Ub4>0,V1与V4导通,V2与V3截止,电枢电流沿回路l流通。
在t2—T+t1’期间,Ub1<0与Ub4<0,V1与V4截止,Ub2>0与Ub3>0但此时由于电枢电感储藏着能量,将维持电流在原来的方向上流动,此时电流沿回路2流通(维信科技,太原最好的IT培训);经过跨接于V2与V3上的续流二极管VD4、VD5。
受二极管正向压降的限制,V2与V3不能导通。
T+t1’之后,重复前面的过程。
反向运转时,具有相似的过程。
图2-25PWM电路中各点波形
4)开发平台中直流电机驱动的实现
开发板中的直流电机的驱动部分如图2-24所示;由于S3C44B0X芯片自带六路3对PWM定时器,所以控制部分省去了三角波产生电路、脉冲调制电路和PWM信号延迟及信号分配电路,取而代之的是S3C44B0X芯片的定时器0、1组成的双极性PWM发生器(维信科技,太原最好的IT培训)。
PWM发生器用到的寄存器主要有以下几个:
TCFG0寄存器,其地址和位描述如表2-29和2-30所示。
表2-29TCFG0寄存器的地址
寄存器
地址
R/W
描述
复位值
TCFG0
0x01D50000
R/W
配置3个8位分频系数
0x00000000
表2-30TCFG0寄存器的位描述
TCFG0
位
描述
初始化状态
死区长度
[31:
24]
这8位决定了死区的长度。
死区长度的一个单位时间和定时器0的一个单位时间相等。
0x00
分频系数2
[23:
16]
这8位决定了定时器4和5的分频值。
0x00
分频系数1
[15:
8]
这8位决定了定时器2和3的分频值。
0x00
分频系数0
[7:
0]
这8位决定了定时器0和1的分频值。
0x00
参考:
死区长度=0;比率值=2。
(2)TCFG1寄存器,其地址及位描述如表2-31和2-32所示。
表2-31TCFG1寄存器的地址
寄存器
地址
R/W
描述
复位值
TCFG1
0x01D50004
R/W
6-MUX&DMA模式选择寄存器
0x00000000
表2-32TCFG1寄存器的位描述
TCFG1
位
描述
初始化状态
DMA模式
[27:
24]
选择DMA请求通道0000=无选择(全中断)
0000=无选择(都中断)0001=定时器0
0010=定时器10011=定时器2
0100=定时器30101=定时器4
0110=定时器50111=保留
000
MUX5
[23:
20]
为PWM定时器5选择MUX输入
0000=1/20001=1/40010=1/8
0011=1/1601xx=EXTCLK
000
MUX4
[19:
16]
为PWM定时器4选择MUX输入
0000=1/20001=1/40010=1/8
0011=1/1601xx=TCLK
000
MUX3
[15:
12]
为PWM定时器3选择MUX输入
0000=1/20001=1/40010=1/8
0011=1/1601xx=1/32
000
MUX2
[11:
8]
为PWM定时器2选择MUX输入
0000=1/20001=1/40010=1/8
0011=1/1601xx=1/32
000
MUX1
[7:
4]
为PWM定时器1选择MUX输入
0000=1/20001=1/40010=1/8
0011=1/1601xx=1/32
000
MUX0
[3:
0]
为PWM定时器0选择MUX输入
0000=1/20001=1/40010=1/8
0011=1/1601xx=1/32
000
时钟输入频率=MCLK/(预分频值)/(除数值)。
预分频值有TCFG0决定;除数值由TCFG1决定(维信科技,太原最好的IT培训)。
参考:
无DMA模式,除数值=2。
本系统中MCLK=60MHz。
(3)TCON寄存器,其地址和位描述如表2-33和2-34所示。
表2-33TCON寄存器的地址
寄存器
地址
R/W
描述
复位值
TCON
0x01D50008
R/W
定时器控制寄存器
0x00000000
表2-34TCON寄存器的位描述
TCON
位
描述
初始化状态
定时器5自动重载开/关
[26]
这个位决定了定时器5自动重载的开/关
0=一次启动1=间隔模式(自动重载)
0
定时器5人工刷新
[25]
该位决定了定时器5的人工刷新
0=无操作1=更新TCNTB5
0
定时器5启动/停止
[24]
该位决定了定时器5的启动/停止
0=停止1=定时器5启动
0
定时器4自动重载开/关
[23]
这个位决定了定时器4自动重载的开/关
0=一次启动1=间隔模式(自动重载)
0
定时器4输出反相器开/关
[22]
该位决定了定时器4的输出反相器开/关
0=反相关闭1=TOUT4反相开
0
定时器4人工刷新
[21]
该位决定了定时器4的人工刷新
0=无操作1=更新TCNTB4,TCMPB4
0
定时器4启动/停止
[20]
该位决定了定时器4的启动/停止
0=停止1=定时器4启动
0
定时器3自动重载开/关
[19]
这个位决定了定时器3自动重载的开/关
0=一次启动1=间隔模式(自动重载)
0
定时器3输出反相器开/关
[18]
该位决定了定时器3的输出反相器开/关
0=反相关闭1=TOUT3反相开
0
定时器3人工刷新
[17]
该位决定了定时器3的人工刷新
0=无操作1=更新TCNTB3,TCMPB3
0
定时器3启动/停止
[16]
该位决定了定时器3的启动/停止
0=停止1=定时器3启动
0
定时器2自动重载开/关
[15]
这个位决定了定时器2自动重载的开/关
0=一次启动1=间隔模式(自动重载)
0
定时器2输出反相器开/关
[14]
该位决定了定时器2的输出反相器开/关
0=反相关闭1=TOUT2反相开
0
定时器2人工刷新
[13]
该位决定了定时器2的人工刷新
0=无操作1=更新TCNTB2,TCMPB2
0
定时器2启动/停止
[12]
该位决定了定时器2的启动/停止