基于单片机控制的新型智能控制系统设计

分享到:

         1 引言

  多媒体教室是现代化教学环境和设施的重要组成部分,目前我国各类学校都建设了一批多媒体教学课室,勇于开展多媒体教学,有力地推动了教学手段的现代化。

        正在逐步改变教师的教授和学生的学习模式,加大了教学信息量,提高了教学效率和教学质量,加快了教学改革步伐。而基于单片机控制的智能教室控制系统主控制器沟通了控制计算机与教室控制器之间的联系,起到桥梁的作用。作为分布式控制的系统的核心,主控制器的性能的优劣直接影响到整个系统功能的实现。因此主控制器的设计至关重要,本文将对主控制器的硬件和软件进行设计研究。

  2 主控制器硬件总体设计

  主控制器通过RS-232总线与控制计算机相连,接收控制计算机发出的命令,经过单片机的处理,通过RS-485总线发送操作命令到教室控制器,完成控制计算机的操作动作。系统主要功能电路有:主控制电路、与控制计算机接口电路、与教室控制器通讯接口电路、实时时钟电路、红外信号发射电路、存储器扩展电路及控制器供电电路等。其系统组成如图1。

  3 硬件电路详细设计

  3.1 主控芯片选择与供电电源设计

  主控制器的核心控制芯片采用深圳宏晶电子公司STC89C52RC单片机。该单片机以8051为核心电路,拥有三个定时器/计数器、两个外部中断、32个通用I/O接口并拥有高速的数据处理能力,同时内部扩展了256字节的RAM并带有内部看门狗,非常适合于工业级别的、对实时性要求不是非常高的场合。扩展的RAM可以通过单片机外部数据读写的方式进行操作,用来存放红外自学习时大量的零时数据。

  对于一个电气系统,电源是不可缺少的部分。STC89C52RC单片机为+5V供电,而外围触发电路需要+12V的电源。在这种情况下,所需电压的得到一般可通过外部开关电源或交流220V单相电经变压器、经过桥式整流后再经过电容、电感滤波直接得到。一般来讲,这样得到的+12V和+5V电源负载能力较强但波纹较大,很难直接应用到系统中。因此,一般要经过DC/DC变换将该电压进行隔离稳压处理。

主控制器硬件组成框图


  图1 主控制器硬件组成框图

  3.2 复位电路与看门狗电路设计

  本次设计采用的复位芯片为C7705,它是电压监视器件,具有电源投入时的复位功能,并能够监测出电源瞬时短路和瞬间降压而产生的复位信号。该芯片内部具有电源上升时的复位信号解除功能,能正确地监测降低的电压(Vs=4.5-4.6V),其内部附有温度补偿的基准电压,正负两种逻辑输出(集电极开路30mA ),原理图如图2所示。

 

系统复位电路


  图2 系统复位电路

  电路除了具有上电自动复位功能外,还可以通过复位按键迫使RESET为低电平。当系统掉电时,复位电容里存储的能量可以以二极管为通路迅速放电,这为单片机在复位上电的情况下可靠复位提供了保证。

  看门狗的作用就是防止程序发生死循环,或者说程序跑飞。硬件看门狗是利用了一个定时器,来控制主程序的运行,也就是说在主程序的运行过程中,我们要在定时时间到之前对定时器进行复位如果出现死循环,或者说PC指针不能回来。那么定时时间到后就会使单片机复位。本次设计中,采用MAX813L芯片作为硬件看门狗,其RESET端与单片机复位端相连提供复位信号,由单片机的P1.0提供喂狗信号。看门狗硬件电路如图3所示。

硬件看门狗电路


  图3 硬件看门狗电路

  3.3 系统通讯接口设计

  8051单片机带有一个异步通信串行接口,并具有一个通信可编程位,使用它可以很方便地完成单片机之间的多机通信。本系统的设计中,主控制器的主要任务是把控制计算机中的控制指令进行处理,并通过异步通信串行接口把控制命令发送到下位机。但是,由于8051单片机本身只提供了一个串行口,因此为了实现上述目标,就必须再扩展一个通信接口,本系统就使用8251扩展8051串行通信接口。

  由于主控制器安装在主控室内,与安装在教室内的教室控制器之间距离较远,且工作环境复杂,两者的通信存在很大的环境干扰。本系统的设计从经济条件、施工难度、传输距离等方面考虑,选择了工业控制系统中常用的RS-485总线。使用RS-485总线,一对双绞线就能实现多节点联网,构成分布式系统。但是如果在工程中需要更长的通信距离,超出RS-485接口能够提供的可靠传送数据范围时,单一的RS-485通信控制芯片对就无法完成了。这时,必须在传输线路中增加中继器。利用RS-485中继器,可以将一个大型RS-485网络分隔成若干个网段。RS-485中继器就如同RS-485网段之间连接的“桥梁”。当然每个网段还是遵循上面的485规范,即 1.2公里长度,32个节点数。

         4 主控制器软件设计

  系统的软件设计是整个系统功能实现的关键所在,软件设计的优劣直接影响系统的性能,在相同硬件基础上设计的软件功能差异可以很大。由于本次设计要频繁的对数据进行读写和处理大量的数据,占用了CPU的大量资源,因此在优化软件设计的同时,还要注重核心芯片的选择。

        系统软件设计根据功能要求软件控制模块可分为。上电后系统开始运行,系统先调用初始化,对各个接口状态进行自检,对各个控制寄存器赋初值,然后进入循环等待操作命令的到来并执行命令。系统处于循环状态运行时则调用通讯子程序工作,接收控制计算机发送的控制命令,同时向教室控制器进行转发;系统中断时调用定时中断服务子程序。主控制器程序运行框图如图4所示。

  4.1 通讯子程序设计

  系统采用RS-485总线式网络结构,主从式通信方式,即主控制器以查询的方式与各子控制器通信,子控制器相互间不直接通信,而是通过主控制器,间接的相互通信。同时,数据的交换过程(包括建立连接和交换数据)采用一问一答的方式,主控制器询问了子控制器,子控制器才给予应答,收到应答后,数据交换才继续进行下去。这样的方式可以避免多个子控制器间没有次序的数据通信,扰乱整个网络上数据的传输。系统多机通信按以下协议进行:

 

主控制器程序运行框图


  图4 主控制器程序运行框图

  (1) 首先初始化,使所有从机处于接收地址帧状态,即使SM2=1。

  (2) 主机先置TB8=1,发一帧地址信息,主机发出信息后马上启动一个等待状态定时器(定时几十ms)。

  (3) 从机接收到地址帧后,各自产生串口接收中断将接收到的地址与本机地址比较,地址相符的从机使SM2=0,处于接收数据状态,并屏蔽串口中断,然后发回本机地址作为确认信号,其余从机不进行任何动作,继续监听地址。

  (4) 主机收到对应从机地址后,令TB8=0,开始发送数据信号,主机与对应从机通信建立。此时其他从机均无中断响应,若主机长时间未能接收到数据,而导致等待状态定时器中断,此时主机应强制退出与该从机的通信,并使从机复位。

  (5) 通信建立后,主机连续发送数据帧和校验帧,从机接收后进行数据校验,数据错误接受错误则返回错误码,主机重新发送数据,重复三次,若三次均出错则报上位机系统出错;若数据发送正确,则返回地址继续进行通信。

  (6) 通信结束后,主从机复位。主机使TB8=1,回到发送地址状态;从机使SM2=1,并打开串口中断,回到接收地址状态。

  4.2 实时时钟子程序设计

  实时时钟子程序设计能向控制计算机提供系统运行时间。同时提供定时功能,当定时时间达到时,实时时钟芯片DS 12887产生一个低电平触发单片机中断程序,完成定时操作功能。DS 12887状态寄存器的参数设置如下:状态寄存器A置为20H,表示开启时钟并禁止SQW管脚输出方波。状态寄存器B置为26H, 表示允许闹钟中断,禁止其他中断;二进制数据表示;采取24小时格式;禁止方波输出和夏令时服务。

  本文作者创新点

  本文设计了基于单片机控制的智能教室控制系统的主控制的外围电路。采用了DS12887芯片,对系统时间模块进行了设计。重点讨论了主控制器的通讯模块设计,对RS-485总线在通信节点扩展方面进行了全新的设计。同时对主控制器进行了软件设计。

  参考文献:

  [1] 郝铭,刘景泰,卢桂章.基于RS485总线分布式智能控制系统的设计与实现[J].自动化与仪表,2005,(2): pp. 23-25

  [2] 刘富强.单片机在多媒体系统中多功能控制卡的应用研究[[J].东南大学学报,1998年第三期,p66-70

  [3] 张小梅,陆俊,彭冰沁,刘宏. 嵌入式智能家居控制系统的设计与实现[J]. 微计算机信息, 2007, 1-2: pp.55-56.

  [4] 姜地..RS-485多机通讯技术[J].中国科技信息,2006,(17):126-129

继续阅读
基于TB6612FNG和单片机的直流电机控制系统设计

本设计中使用的TB6612FNG是一款新型驱动器件,能独立双向控制2个直流电机,它具有很高的集成度,同时能提供足够的输出能力,运行性能和能耗方面也具有优势,因此在集成化、小型化的电机控制系统中,它可以

一种太阳能报警器系统设计

引言   我国是世界上受自然灾害影响最为严重的国家之一,近年来由于滥砍滥伐严重,自然资源过度开采,造成地质灾害和自然灾害发生的频率增多,破坏程度也越来越严重,2008年的四川汶川大地

基于单片机的多功能供电控制系统

引言在工业控制中经常需要对某些温度进行巡检和控制,需要定时控制电机的起动和停止,需要根据料位计开关的状态控制多台卸料、输料电机按照设定顺序运转。在对温度巡检和控制时,要求当温度低于设定的温度下限时,加

基于ATmega16的电动车锂电池组设计

随着电动自行车的逐渐普及,电动自行车的主要能源---锂电池也成为众人关心的焦点。锂电池与镍镉、镍氢电池不太一样,因其能量密度高,对充放电要求很高。当过充、过放、过流及短路保护等情况发生时,锂电池内的压

单片机到嵌入式之路1:简单的讨论一下C语言知识

在单片机中C语言的位操作用的比较多,而且用的好对代码的执行效率都是很有帮助的,下面简单介绍一下在单片机中的应用,就算是抛砖引玉吧。