基于单片机的快速位置伺服系统的设计
O 引言
本设计要求对某火炮的水平和高低角进行控制,达到快速位置伺服系统的要求。而这个火炮角度控制系统首先要求有快速性,它的反应时间大于或等于12°/s;角度转动控制精度小于或等于1’,水平角转动范围从一120°~+120°,高低角转动范围从0°~+85°;最后系统要有很好的稳定性和动态性能。
由于位置伺服系统一般是以足够的位置控制精度、位置跟踪精度和足够快的跟踪速度作为它的主要控制目标,系统运行时要求能以一定的精度随时跟踪指令的变化。所以对于这种快速位置伺服系统,要求整个系统各部分配合良好,其中的关键是控制器的选择,综合考虑高精度、抗干扰能力、灵活性、可靠性、实时性、性价比等各因素的情况下。选择了Frees—cale公司的MC9Sl2DGl28B作为控制器。MC9Sl2DGl28B芯片是一款16位的单片机,功能强大,性能优越。本文采用该型号的单片机保证了所设计系统的稳定可靠。
1 系统控制方案
由于设计的角度伺服系统的负载比较大,而且相对于工业控制要求而言系统精度和快速性要求高,所以整个系统采用混合闭环的控制结构,所谓混合闭环的控制结构,就是系统内同时存在半闭环和闭环。半闭环起到控制作用,而全闭环只用于稳态误差补偿,两者相结合可获得较高的位置控制精度和跟踪速度。包括:MJX40—14型光电编码器、90LCX一3直流伺服电机、12A8型PWM直流伺服电机驱动器、单片机控制系统。单片机控制系统由MC9Sl2DGl28B单片机实现,使用Code Warrior for HCl2 V4.6编译器,采用C语言编程。由于水平角和高低角的控制是一样的,而且共用一个单片机,以角度控制方框图(图1)来说明。
如图1所示,系统的任务是使光电编码器测得的炮架转动角度θ2与给出的指令θ1相等。当θ1≠θ2时,θ1一θ2的偏差信号在单片机里进行处理,放大后输入到PWM直流伺服电机驱动器,由PWM驱动器驱动直流伺服电机,伺服电机带动减速器,驱动炮架向着减少偏差的方向移动,直到θ1=θ2,电机停止转动,达到目标。同时,炮架要准确的跟踪目标,必须减少在跟踪过程中可能出现的速度变化(如风速等原因),因为直流伺服电机本身带有测速机端,可以把速度反馈信号进行负反馈输入到PWM伺服电机驱动器,这样使转动机械的转速度变化很小,起着稳速的作用。
2 硬件系统设计
2.1 总体设计
整个硬件系统采用模块化思想设计,硬件系统框图如图2所示,分为单片机CPU最小系统、键盘/显示控制模块、直流伺服电机驱动电路、系统输入模块、光电编码器等。设计时,各个模块可相对独立设计调试,最后集成为整个系统。
2.2 模块结构和功能简要说明
CPU最小系统:系统的主控模块,用以控制和协调其它模块工作。
键盘/显示控制:由键盘及LED管理芯片CH451控制。系统输入模块:用通用8155芯片做数据采集,获取光电编码器所测得的火炮当前角度(位置)值,并传给主控芯片。伺服电机驱动电路:用带有缓冲基准输入的双路12位电压输出数字一模拟转换器(TLC5618)作为单片机的一个外围的D/A接口;当系统把偏差值算好后,利用PID算法得出的数据量输出到两路TLC5618,再通过驱动器去驱动水平和高低角的伺服电机,精确控制火炮的高低角和水平角位置和速度。
SCI通信:通过串行通信模块。系统可以与上位机连接,方便对系统软件的更新和升级,且可通过上位机进行控制角度控制,监视单片机的输入与输出。光电编码器:用于得到炮架的转动角度。
2.3 主要模块设计
伺服电机相关文章:伺服电机工作原理
评论