基于89C51单片机和CAN总线的供热温度控制器的设计研究
引脚相连。系统通信模块电路如图4所示。
2.5 电源电路及温度显示、按键电路
当稳压器LM7805对单片机进行供电时,220 V交流市电通过电源变压器变换为交流低压,再经桥式整流电路和滤波电容C1的整流和滤波,在固定式三端稳压器LM7805的Vin和GND两端形成一个并不稳定的直流电压。此直流电压经LM7805的稳压和C3的滤波便在稳压电源的输出端产生了精度高、稳定度好的直流输出电压。单片机AT89C51的P1.6作串行数据输出,连接到PS7219的DIN脚,P1.7和P1.5通过程序分别模拟PS7219的时钟脉冲CLK及数据加载LOAD信号。PS7219的SA~SG,SDP端连接到各LED数码管对应的a~f及dp端,DIG1~DIG3分别接3位LED数码管的共阴极,从而实现位选。PS7219应紧靠LED显示器放置,且连线尽可能短,两个GND引脚均必须连接到地线上。系统只设4个按键,分别是功能键、增加键、减小键和确定键。在按键的线路连接中,每个按键并联一个0.1μF电容,目的是实现消抖。
3 程序设计
3.1 系统主程序设计
主程序模块的主要工作是上电后对系统初始化和构建系统整体软件框架,其中初始化包括对单片机的初始化、D/A芯片初始化和温度传感器初始化等。随后等待温度设定,若温度设定后,判断系统运行键是否按下,若系统运行,则依次调用各相关模块,循环控制直到系统停止运行。图5所示为主程序流程图。
由于常规PID控制器控制效果不佳,温度测量控制中存在非线性、时变、干扰和纯滞后问题,而增量式PID算法具有计算误差小、切换无冲击和可靠性高的特点,所以本系统采用该算法。数字增量式PID的输出为:
△u(k)=a0e(k)-a1e(k-1)+a2e(k-2) (1)
其中,Kp为比例系数;TI为积分时间常数;TD为微分时间常数
3.2 温度传感器测温子程序
温度传感器DS18B20的操作协议:初始化DS1820(发复位脉冲)→发ROM功能命令→发存储器操作命令→处理数据。其操作程序流程如图6所示。其中任何一步失败时自动重新初始化。
3.3 CAN通信模块子程序
CAN通信的软件设计主要包括3部分:CAN节点初始化、报文发送和报文接收。AT89C51通电或复位后,调用复位程序给SJA1000的复位端RST提供复位信号,使SJA1000进入复位模式,SJA1000的初始化只有在复位模式下才可进行。初始化程序主要包括以下寄存器的设计:(1)通过时钟分频寄存器定义:是使用BasIC CAN模式或Peli CAN模式;是否能使CLKOUT输出时钟频率;是否旁路CAN输入比较器;TX1输出是否用专门的接收中断输出。(2)通过验收码寄存器和屏蔽寄存器定义接收报文的验收码与对报文之间进行比较的相关位定义验收屏蔽码。(3)通过总线定时寄存器定义总线的位速率、位周期内的采样点和一个位周期内的采样数量。(4)通过输出寄存器定义CAN总线输出管脚TX0、TX1的输出模式、配置。最后,要清除SJA1000的复位请求标志进入工作模式,方可进行报文的发送和接收。
单片机将要发送的报文送到SAJ1000发送缓冲区,然后将SJA1000命令寄存器的发送请求标志位(TR)置位,发送过程南其独立完成。在新报文写入发送缓冲区前,必须先检查状态寄存器的发送缓冲器状态标志(TBS),若为“1”,发送缓冲器被释放,可将新的报文写入发送缓冲器。否则,发送缓冲器被锁定,新报文不能被写入。
报文接收也由SJA1000独立完成。收到的报文通过接收滤波器放在FIFO队列中,第1条报文进入接收缓冲器,由状态寄存器的接收缓冲器状态标志位(RBS)和接收中断标志位(RI)标出。单片机从接收缓冲器取走1条报文后,通过置位SAJ1000的命令寄存器来释放接收缓冲器。
4 软件调试
在硬件设计和软件的编程后,将针对要实现的功能编写程序在Keil C51中将编译无误的程序运行,对整个系统而言,首先要对键盘输入和数码显示进行调试,就是整个硬件电路对照电路图进行检查,查找错焊、虚焊、漏焊等错误。检查无误后,便开始运行电路,为保证稳定的电源供给,给PC机的USB接口提供5 V直流电源。将结果与要实现的理想状态对照,再通过结果对硬件电路进行检验和修改,并将所编程序进行适当优化,如图7所示。运行结果证明整个系统稳定、可靠,满足了设计要求。
5 结束语
本方案采用了基于89C51单片机和CAN总线的设计方法,给出了供热温度控制器的总体设计方案,以及主要电路原理图的引脚连接,并根据功能要求和实际电路设计了系统软件,给出了主要程序的流程图。最终对单片杌进行了软硬件联调,实现了相应功能。
89C51单片 相关文章:
- stc89c51单片机和数控音频放大器设计(01-16)
- 电源设计小贴士 1:为您的电源选择正确的工作频率(12-25)
- 用于电压或电流调节的新调节器架构(07-19)
- 超低静态电流电源管理IC延长便携应用工作时间(04-14)
- 电源设计小贴士 2:驾驭噪声电源(01-01)
- 负载点降压稳压器及其稳定性检查方法(07-19)