您好,欢迎来电子发烧友网! ,新用户?[免费注册]

您的位置:电子发烧友网 > 电子技术应用 > 嵌入式技术 > 单片机类 >

基于MC9S12DGl28单片机的位置伺服系统的设计(2)

2011年03月22日 18:11 山西电子技术 作者: 王伟 程耀瑜 刘亚 用户评论(0
2.3.2 键盘/显示控制电路

  键盘控制模块采用键盘及LED管理芯片CH451。CH45l是一个整合了数码管显示驱动和键盘扫描控制以μP监控的多功能外围芯片。CH451内置RC振荡电路,可以动态驱动8位数码管或者64位LED,具有BCD译码、闪烁、移位等功能;同时还可以进行64键的键盘扫描;CH451通过可以级联的串行接口与单片机等交换数据;并且提供上电复位和看门狗等监控功能。该芯片支持SPI同步串行通讯方式,可以与MC9S12DGl28B单片机的SPI通讯口进行告诉数据通讯,控制方便。键盘采用4×4矩阵式键盘,系统共使用16个按键。显示数据用数码管,由键盘输入火炮要旋转的水平和高低角度值,并显示出来,系统第一次采集来的角度值也是通过它显示的。

  2.3.3 系统输入模块

  从光电码盘中输出的数据有15位,要是单一的用单片机去读取光电码盘的数据,一个光电码盘就会用到15个数据线,占用了单片机的大量资源。利用8155的丰富的I/O口资源,可以减少对单片机资源的占用。单片机给光电编码器一个读取信号脉冲,8155的PA和PB口立即得到光电编码器的数据,并存到了PA和PB寄存器中,此时单片机只要读取8155的PA和PB寄存器就能得到光电码盘的数据,通过计算就能获得此时炮架的方位角和高低角。

  2.3.4 伺服电机驱动电路

  对于一般的D/A转换器的输入端都用并行输入,但是前面的芯片已经占用了单片机大量的接口,为了系统的输入输出能同步进行,本设计选用了串行输入的TLC5618,它是一种快速带缓冲基准输入(高阻抗)的双路12位电压输出数字一模拟转换器(DAC),弥补了串行输出的速度慢的不足,TLC5618具有1.21 MHz的输入数据更新速率,DACA和DACB两路同时更新,O.5LSB的建立时间为2.5 ms,它的最大串行时钟速率为20 MHz,转换速度达到要求;且它有两路12位CMOS电压输出,精度符合设计要求;高阻抗基准输入使输出有很强抗干扰能力。TLC5618在+5V单电源工作,其输出电压范围为基准电压的两倍,因此,电路设计采用2.5V基准电压。通过CMOS兼容的3线串行总线,可对TLC5618实现数字控制,单片机串行数据通过PTl输入TLC5618,串行时钟通过PT2输入,PTO接片选端,TLC5618接收到数据后,经过数模转换,产生O~5V的模拟信号,经过减法器,得到一2.5~2.5的模拟信号,只有达到一1OV~10V的模拟信号才能更精确的控制电机,所以用高速放大器LM318进行两级两倍放大,就可以达到设计的要求。

  3 软件系统设计

  系统软件采用模块化设计思想,主要模块有:主程序模块、数据采集模块、键盘与显示模块、IRQ定时中断处理程序、D/A数据输出模块、串行通信模块。开发调试平台是CodeWarrior软件。CodeWarrior系列集成开发环境(IDE,Integrated Development Environment)是Metrowerks公司为开发嵌入式微处理器而设计的一套强大易用的开发工具,使用它可以有效地提高软件开发效率。系统的总的流程如图4所示。

  

系统的总的流程

 

  4 结束语

  基于Freescale公司的MC9S12DGl28B单片机,设计了火炮的快速位置伺服系统。对硬件系统的键盘/显示控制模块、系统输入模块、直流伺服电机驱动电路等各个功能模块进行了详细的电路设计,在CodeWarrior系列集成开发环境开发了软件系统,最后对软硬件进行了综合调试。目前,设计的系统功能完善、运行可靠。结果表明:该系统方案设计合理,对角度控制精确度高,系统平稳,可靠性高,操作简单,达到要求的指标,稍加改造,还可应用到其它位置伺服系统中。

非常好我支持^.^

(0) 0%

不好我反对

(0) 0%

( 发表人:简单幸福 )

      发表评论

      用户评论
      评价:好评中评差评

      发表评论,获取积分! 请遵守相关规定!