单片机原理与应用系统设计 第09章 单片机应用系统设计实例

上传人:飞*** 文档编号:48598599 上传时间:2018-07-17 格式:PPT 页数:142 大小:856KB
返回 下载 相关 举报
单片机原理与应用系统设计 第09章 单片机应用系统设计实例_第1页
第1页 / 共142页
单片机原理与应用系统设计 第09章 单片机应用系统设计实例_第2页
第2页 / 共142页
单片机原理与应用系统设计 第09章 单片机应用系统设计实例_第3页
第3页 / 共142页
单片机原理与应用系统设计 第09章 单片机应用系统设计实例_第4页
第4页 / 共142页
单片机原理与应用系统设计 第09章 单片机应用系统设计实例_第5页
第5页 / 共142页
点击查看更多>>
资源描述

《单片机原理与应用系统设计 第09章 单片机应用系统设计实例》由会员分享,可在线阅读,更多相关《单片机原理与应用系统设计 第09章 单片机应用系统设计实例(142页珍藏版)》请在金锄头文库上搜索。

1、9.1 基于AT89C52控制的磁悬浮球演示系统9.2 基于PIC16C54的光栅式定位系统9.3 基于LPC2212的三关节机器人控制系统 第9章 单片机应用系统设计实例9.1.1 组成及工作原理9.1.2 电路设计9.1.3 程序设计9.1 基于AT89C52控制的磁悬浮球演示系统9.1 基于AT89C52控制的磁悬浮球演示系统磁悬浮球演示系统是一个典型的嵌入式数字控制系统,由电磁铁、铁磁性小球及控制部分组成,其电磁铁通电后产生磁场,吸引铁磁性小球,动态调节电磁铁中的电流,可使其产生的电磁吸力等于小球的重量,从而使小球悬浮在空中保持不动。这个动态调节的过程称为磁悬浮控制。本例进行磁悬浮球演

2、示系统的设计,首先介绍系统组成以及磁悬浮控制的基本原理,然后详细介绍以AT89C52单片机为核心的电路设计和程序设计,最后给出完整的汇编语言程序清单供读者参考。该磁悬浮球演示系统的结构见下图。9.1 基于AT89C52控制的磁悬浮球演示系统磁悬浮球演示系统的照片9.1.1 磁悬浮球演示系统的组成与工作原理 磁悬浮球演示系统主要由电磁铁、铁磁性小球、间隙传感器、单片机控制器及功率放大器组成。电磁铁安装在悬浮支架顶部,通电后对小球产生竖直向上的电磁吸力。间隙传感器安装在悬浮支架底部,它是一种基于涡流检测原理的非接触测量器件,能将小球与传感器探头表面之间的距离转换为电压信号,再经过A/D转换成数字信

3、号。单片机控制器根据输入的间隙传感器信号,按照特定的控制算法,比如PID算法,计算出维持小球稳定悬浮所需的控制电流。该控制电流以PWM信号的形式传递给功率放大器。功率放大器对控制电流进行功率放大,给电磁铁提供对应大小的电流。这是一个闭环控制的过程,如果控制适当,就可使小球稳定地悬浮在期望位置。 9.1.1 组成及工作原理:系统组成磁悬浮球演示系统的组成9.1.1 组成及工作原理:悬浮控制原理根据牛顿第二定律,在竖直方向上,小球的动力学方程为:根据电磁学理论可知,系统的电力学方程近似为:其中 为小球质量, 为悬浮间隙, 为重力加速度, 为电磁吸力, 电磁铁的平均电流, 是与系统结构有关的参数。

4、9.1.1 组成及工作原理:悬浮控制原理设额定悬浮间隙为 ,额定电磁铁平均电流为 ,将上述模型在线性化后,可得到系统的传递函数为:其中, , , , , 为拉普拉斯算子。根据控制理论的稳定性条件进行分析,该系统不稳定,必须通过适当的闭环控制才能使之达到稳定。9.1.1 组成及工作原理:悬浮控制原理常用的控制方法是比例-积分-微分控制,简称PID控制,其表达式为:其中 为控制电压, 为电磁铁线圈的电阻,简单起见,忽略线圈电感。其中 、 和 分别是比例、微分和积分系数,又称为控制器参数,选取得当即可实现小球的稳定悬浮。通常,这些参数应在编程之前计算出来,而在编写程序时,它们都是常数。 9.1.2

5、磁悬浮球演示系统的电路设计磁悬浮球演示系统的电路由单片机控制电路、A/D转换器及功率放大电路等三部分组成。其单片机控制电路和A/D转换器电路如下图所示。9.1.2 磁悬浮球演示系统的电路设计AT89C52与ADC0809的接口电路设计 控制电路基于AT89C52单片机设计,包括单片机基本电路和控制器参数在线选择电路两个部分。(1) 单片机基本电路单片机基本电路包括AT89C52单片机、时钟电路、复位电路以及单片机电源等。时钟电路由16MHz晶体振荡器和20pF电容组成,复位电路采用集成看门狗芯片MA813L实现,单片机的工作电源由LM7805产生。9.1.2 电路设计:控制电路(2) 控制器参

6、数在线选择电路为便于在线调试,可将事先设计好的多组PID控制参数存储在单片机的片上程序存储器中,通过拨动拨码开关来选择不同的参数。为此,在单片机的P1口上,扩展了8位拨码开关。工作时,单片机不断读取P1口的状态数据,并据此查表以获得对应的控制器参数。9.1.2 电路设计:控制电路接口电路实现AT89C52和ADC0809之间的连接。(1) A/D转换器 A/D转换器的功能是将模拟的电压信号转换成数字量。控制系统对A/D转换器的转换速度和转换精度有要求。在转换速度方面,一般要求在1个控制周期内至少完成一轮采样,本系统的控制周期为1ms,考虑到控制算法的时间开销,要求ADC的转换速度不小于10kS

7、PS;在转换精度方面,虽然高精度对控制有利,但是这会增加成本和算法复杂性,因此应本着够用原则进行选型。本系统采用最常用的ADC0809,它是8通道8位逐次逼近型ADC,最大转换速率为10kSPS,输入电压范围0+5V。9.1.2 电路设计:接口电路(2) A/D转换器与单片机的接口关系 AT89C52通过与ADC0809的接口电路来控制A/D转换器的启动并读取转换结果。该接口电路主要包括数据总线和控制总线接口,其中数据总线有8位,将ADC0809的D0D7管脚与AT89C52的P0.0P0.7口对应相接即可;控制总线包括A/D转换器的片选线、数据输出使能线、启动信号及转换结束信号。此外,ADC

8、0809的工作时钟由单片机的ALE脚提供。9.1.2 电路设计:接口电路(3) 启动A/D转换及读取转换结果 由电路连接图可知,单片机的#CS(P2.7口)、#WR、#RD与A/D转换器的控制总线START、ENABLE的逻辑关系为:START = /(#CS + #WR)ENABLE = /(#CS + #RD)不妨取ADC0809的片选地址为0x7FFF,这样,当单片机向0x7FFF地址进行一次写操作时(写的内容不限),即启动一次A/D转换。当单片机向0x7FFF地址进行一次读操作时,就可以从数据总线读取8位A/D转换结果。 9.1.2 电路设计:接口电路PWM功放电路通过控制电磁铁线圈的

9、电流来调整电磁铁对小球的吸力。本系统采用单管PWM功放电路,并选用MOSFET作为主功率管,它具有电路简单、效率高等优点。PWM型功率放大器的关键是驱动与吸收保护电路设计,其中驱动电路要确保主功率管能够快速而可靠地导通或关断,吸收保护电路的功能是吸收功率管开关瞬时的能量。驱动与吸收保护电路的电路见下图所示。9.1.2 电路设计:驱动与吸收保护电路9.1.2 电路设计:驱动与吸收保护电路PWM驱动与保护电路 (1) 驱动电路驱动电路中,驱动电压过小,功率管无法导通或导通不充分;驱动电压过大,功率管的GS极容易被击穿。栅极电阻过小,栅极的冲击电流大,容易损坏功率管;栅极电阻过大,功率管的开关速度慢

10、且开关损耗大。因此,功率管的驱动电压和栅极电阻的选择至关重要。本设计采用基于TLP250的集成驱动电路。TLP250的内置光耦的隔离电压达2500V,上升和下降时间均小于0.5us,输出电流为0.5A,可直接驱动1200V/50A以内的IGBT或MOSFET。上图中R11和D2组成电压偏置电路,使得MOSFET的源极电位约等于0.7V。注意到,TLP250采用单+15V供电,因此功率管GS极上导通电压14.3V,关断电压为-0.7V。关断负压的设计可以使得功率管可靠地截止。此外,栅极驱动电阻取为20。9.1.2 电路设计:驱动与吸收保护电路(1) 续流和吸收保护电路 电磁铁是感性元件,为此应使

11、用快恢型二极管D1为电感L提供续流回路,以防止MOSFET关断时漏极电位急剧上升而损坏功率管。图中,R、C、D组成的吸收网络能够吸收MOSFET在开关时刻的电压和电流尖峰。其中,C用于限制MOSFET的漏极-源极间电压突变,R用于限制MOSFET开通时C的放电电流,D则便于在MOSFET关断时,C能迅速吸收MOSFET上的关断尖峰。 9.1.2 电路设计:驱动与吸收保护电路1. 控制程序总体设计(1)程序总体结构单片机上电后,首先执行初始化程序,然后启动定时器并进入主循环,等待定时中断。在主循环内,单片机反复从P1口读取用户指令,修改控制器参数Ka、Kv、Kp和Ki。本系统使用AT89C52的

12、所有3个定时中断。其中,T0和T1中断配合产生一路PWM信号;而T2则用于产生控制中断,并在T2中断服务程序中执行悬浮控制算法,主程序和T2中断服务程序的流程见下图所示。9.1.3 磁悬浮球演示系统的控制程序设计 9.1.3 控制程序:总体设计主程序流程 T2中断服务程序流程(2)程序用变量说明9.1.3 控制程序:总体设计 参数名称含 义 OLD_P上次采样的间隙信号 OLD_V 上次速度信号的绝对值 OLD_A上次加速度信号的绝对值 OLD_I上次积分信号的绝对值 NEW_P本次采样的间隙信号 NEW_V本次速度信号的绝对值 NEW_A本次加速度信号的绝对值 NEW_I本次积分信号的绝对值

13、 GAIN_P间隙误差增益的小数部分,记为Kp(2)程序用变量说明(续)9.1.3 控制程序:总体设计 参数名称含 义 OLD_P上次采样的间隙信号 OLD_V 上次速度信号的绝对值 OLD_A上次加速度信号的绝对值 OLD_I上次积分信号的绝对值 NEW_P本次采样的间隙信号 NEW_V本次速度信号的绝对值 NEW_A本次加速度信号的绝对值 NEW_I本次积分信号的绝对值 GAIN_P间隙误差增益的小数部分,记为Kp9.1.3 控制程序:功能模块设计磁悬浮球演示系统的控制程序采用模块化设计,包括:初始化模块、A/D采样模块、PID参数选择模块、PID算法模块,以及PWM信号产生模块。其中,初

14、始化模块和PID参数选择模块在主程序中执行,A/D采样模块和PID算法模块在T2定时中断服务程序中执行,PWM信号产生模块在T0和T1中断服务程序中执行。这些模块的逻辑关系见下图所示。 9.1.3 控制程序:功能模块设计悬浮控制程序功能模块的逻辑关系图 9.1.3 控制程序:功能模块设计(1)初始化模块初始化模块包括堆栈及中断初始化、定时器初始化以及变量初始化。在堆栈及中断初始化中,关键是对中断控制字的配置,包括:MOV SP, #7FHMOV IE, #00101010BMOV IP, #00001010B 本例将单片机内部数据存储器的80H0FFH单元作为堆栈,因此,堆栈指针被初始化为7F

15、H。对IE的配置表示允许T0、T1、T2中断。对IP的配置表示定义T0、T1为高优先级中断,T2为低优先级中断。 9.1.3 控制程序:功能模块设计程序共使用三个定时器。其中,T0和T1配合产生一路PWM波,T0决定PWM波的频率,设计值为20KHz,T1决定PWM波的占空比;T2用于产生定时中断,并决定控制周期,设计值为1ms。已知单片机外部晶振频率为16MHz,根据第4章介绍的定时器配置方法可得:T0工作在8位自动重装方式,定时周期寄存器初值为0C0H,对应的定时周期为48s,因此实际产生的PWM波频率为20.833KHz;T1也工作在8位自动重装方式,其定时周期寄存器值在每个控制周期被更

16、新为控制输出量,初始值为0FFH;T2工作在16位自动重装方式,定时周期寄存器初值为0FACBH,对应定时周期为999.75s,因此实际采样频率约为1KHz。9.1.3 控制程序:功能模块设计(2)PID参数选择模块 本例事先准备了多组PID参数,存储在单片机的片上程序存储器中,通过拨动扩展在P1口上的拨码开关,可以选择不同的参数。其中,P1.1和P1.0对应比例增益参数;P1.3和P1.2选择速度增益参数;P1.5和P1.4选择加速度增益参数;P1.7和P1.6选择积分增益参数;每种参数根据不同组合,分别有4个选择。9.1.3 控制程序:功能模块设计PID参数选择模块的具体实现方法是,在程序中通过读取P1口状态,得到用户指令码,并以此为偏移地址到相应的控制参数表中查找,就能得到用户期望的参数。例如,选取比例增益系数的程序为:MOV A,P1 ; 根据P1最

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号