2.5电机驱动芯片选择
在直流电机驱动电路的设计中,主要考虑到其性能、功能、效率、可靠性、输出电流和电压范围等等。综合以上参数决定使用L298来驱动。
L298是15个管角的单块集成电路,是SGS公司的产品。它的优点是:输出电流比较大,输出电压也很大以及全驱动的特点,设计用L298来接收逻辑电平,驱动直流电机。对于4个通道全驱动的特点,L298可以通过这个来驱动电路。其额定工作电流为 1 A,最大可达 1.5 A,Vss 电压最小 4.5 V,最大可达 36 V;Vs 电压最大值也是 36 V。L298可直接对电机进行控制,无须隔离电路,可以驱动双电机。本设计采用的是直流电机,所以L298芯片很合适。
4
第三章 系统硬件电路的设计
系统分为处理中心、数据采集、终端驱动和数据显示四大部分。这四个模块组合在一起就可以实现温度实时控制的智能化风扇。其中处理中心是AT89S52、数据采集中心是温测器件DS18B20、终端驱动中心是L298以及数据显示中心则是LCD1602。LS1是报警喇叭,在该设计硬件框图中没有用到,属于外加功能。晶振电路跟复位电路也是独立的。
3.1系统整体硬件框图
图2系统整体硬件框图
如图2所示:系统整体框图有LCD1602液晶屏、电机驱动L298、DS18B20温度传感模块、单片机AT89S52以及晶振、和复位电路组成。为了美观一目了然,晶振与复位电路没有连接上单片机而
5
是单独列出的小模块。
3.2 处理中心(AT89S52)
AT89S52是一个高集成化的处理器,它是由ATMEL公司所生产的具有普遍推广的最基础的芯片,具有高性能和高性价比。
(一)、AT89S52主要功能列举如下: 1、拥有灵巧的8位CPU和在系统可编程Flash 2、内部程序存储器(ROM)为 8KB 3、内部数据存储器(RAM)为 256B 4、32个可编程I/O 口 5、8个中断源
6、三个16位定时器/计数器
7、晶片内部具时钟振荡器(传统最高工作频率可至 12MHz) 8、全双工UART串行通道
(二)、AT89S52各引脚功能介绍: VCC:电源正端一般接+5V。 GND:电源接地端。
/EA/VPP:EA:程序存储器 ,当选择EA=1时,CPU执行内部程序存储器的程序,当超出或者溢出的部分再转移到外部程序存储器中。当EA=0时,直接执行外部程序存储器的程序。VPP:简单的说就是控制内部程序存储器的擦除和写入时提供编程的脉冲。
PSEN:此脚的输出是外部程序存储器的读选通信号。即外部存储器的片选信号,低电平有效,以实现对ROM的操作。
XTAL1:接外部晶体和微调电容的一端,在片内它是振荡器反相放大器的输入;若使用外部时钟时,该引脚为外部时钟的输入端。
XTAL2:接外部晶振和微电容体的另一端,在片内它是振荡器反相放大器的输出;若使用外部时钟时,该引脚必须接地。
端口引脚复用功能 P1口复用:
P1口的复用如:1.0、2.0是两个定时器/计算器,1.6、1.5、1.7用于在线程序的编程。 P3口复用:
P3的复用如:3.0、3.1是输出输入口,3.2、3.3运用于外部中断;3.5是定时器的外部输入口;3.6是属于外部存储器的写写选通口;3.7是属于外部数据寄存器的读选通口。
6
3.3数据采集中心(DS18B20)
3.3.1 DS18B20简介
DS18B20温度传感器,它是拥有成本低、体积小、单一总线的突出特点,DALLAS公司所生产的器件,即单总线器件。所以用它来充当温测系统,实现简单便捷的数字化检测。
DS18B20有以下多个特点:
1、DS18B20的唯一性:即有且只有一个序列号。 2、单总线模式:只需要一个端口就可以实现通信。
3、独立性高:在运行测量中只需要依靠自己独立完成不需要接外部其他任何设备。 4、测温范围广:一般范围在-55度到125度左右。
5、高分辨率:由于传输的数字信号,所以很稳定,分辨率极高。
3.3.2 DS18B20内部结构
DS18B20是64位的内部存储器。存储器有“0”和“1”两个字节,该芯片的输出也是如此:高电平和低电平。DS18B20中有个暂存器,该暂存器可以设置温度上下限,就是一字节的上线和下和一字节的下线,上线负责警报触发、下线负责配置寄存器。那么当需要温度转换时可以通过下线来配置寄存器。暂存器其他字节内部保留用于其他需求。而最后个字节是放程序的冗余。值得一提的是,DS18B20独立性极高,运行时不需额外电源给其供电,单总线的传输就能满足;当总线当DQ管脚提供上拉电阻时,表示该总线此时为高电平。当总线为低电平时,管脚CPP为DS18B20提供所需电源
3.3.3 DS18B20信号方式
DS18B20是“一线器件”,所以采用严格的单总线通信协议,体积小,适用电压更宽,更经济提高了抗干扰性来确保数据的完整性。通信协议规定了总线上的多种信号的时序。如复位脉冲,响应脉冲信号、写0、写1、读0和读1等信号的时序。因此要正确使用DS18B20,就必须要掌握其初始化序列、写时序、读时序。
(1)初始化序列:初始化序列中包含两个脉冲,一个是复位脉冲,一个是应答脉冲。复位脉冲的产生是当处理器拉低总线时,可以产生复位脉冲,该时间需要至少480μs。复位脉冲得到后,处理器需要总线被释放就要发出脉冲信号。对于应答脉冲,它的产生比较复杂,不但要把总线拉低还需外接上拉电阻,一般在5k左右。应答脉冲的产生需要上升沿,而拉低总线再外接上拉电阻就形成了上升沿。
(2)写时序:写时序有两种状态,一个是写“1”,另一个是写“0”。不管是写“1”或者是写“0”时序都是主机向DS18B20写入。当处理器向DS18B20写“1”时,需要产生一个上升沿,则必须拉低总线后再外接上拉电阻。而在写“0”时,处理器只需要拉低单总线,并保持在60μs即可。要注意的是不管是写哪种状态都有一个恢复时间,大概在1μs左右。写时序开始后,DS18B20必须对其进行采样,而采样的来源就是逻辑“1”或者逻辑“0”.
(3)读时序:同样的读时序也有两种状态,一个是读“1”,另一个是读“0”。不管是读“1”
7
或者是读“0”,都是DS18B20写入数据给处理器。读时序比较简单,当你需要的是读“1”时序时,只需要保持总线是高电平,如果是要读“0”则要先拉低总线,然后释放,再接外部上拉电阻拉高总线,读时序的特点是下降沿有效与写时序相反,时间大概在15μs。所以主机在总线释放后的这段时间内需要对总线进行采样。

