水温控制系统设计(AVRmega16单片机)代码编写(包含显示器、单片机、温度传感器)
2014-10-30 17:28
246 查看
今天校研会内部联谊,我们实践部在舞台上尽情的舞了一曲咋啦粑粑,虽然效果没有那么唯美,但是真的很开心,开心的是发现越来越多的人开始喜欢
和我玩,我开始越来越受大家的欢迎,这种感觉是任何事情无法取代的,或许对于我来说,人生的意义就是成为一个可以为周围的人、周围的事带来无穷无尽正
能量和榜样力量吧。
好了,开始进入正题吧,今天要开始接手计算机控制课程的作业,水温控制系统设计,已经买好了大部分的硬件,接下来就是分析电路,编写程序。
这个系统的设计其实可以很简单,一个本科生就可以完成的比较好,但是呢,这个作业的目的远不止于此,更多的是锻炼对一个控制系统的系统、
细微的理解。此外,谈到控制嘛,不得不说PID,甚至于这里可以用上更加高端的模糊控制。
此系统的目的:
1.温度设定范围是30-50○C,最小区分度为0.5○C,标定温度小于等于1○C;
2.环境温度降低温度控制系统的静态误差小于或等于1○C;
3.能够使用上位机设定水温,并用LCD显示水温值
水温控制的前提当然是知道当前的水温啦,那水温传感器的选择就不多做分析了,如果是超级精确的,可以用电桥法什么的,但这里用目前比较
流行的DS18B20。
DS18B20的特点:1、一个I/O口即可实现单片机与DS18B20之间的双向通信。
2、可用数据线供电,电压范围3-5.5v,测温范围-55-125度。
3、可编程实现9-12位的数字读数方式。
4、用户可设定的非易失性(掉电不丢失)的温度上下线报警值。
5、支持多点组网功能,多个DS18B20可并联在唯一的三总线上,实现多点温度测量。
6、负压特性:电源极性接反时不会烧坏DS18B20,但是也不能正常工作
第5特点里面提到并联在唯一的三总线上,那么就来仔细研究一下单片机的三总线:
三总线和扩展IC的三总线基本结构,是单片机中十分重要的一个点。
通过总线扩展的IC可以分为两大类:存储器扩展和I/O扩展。存储器扩展的特点是它们仅与CPU联系,不与外部信息直接联系,因此接口方式可以简化,不必带有应答方式;
I/O扩展涉及的IC不仅要与CPU联系,还要与外部信息联系,因此往往需要具有选通和应答机制。
在总线扩展中,常要了解IC的端口引脚是否具有三态(three-state 或Tri-State)功能。三态就是低电平(Low Level)、高电平(High Level)和高阻态(High Impedance
或Hi-Z)。
低电平和高电平具有较大的电流驱动能力,用于输出控制,这两种状态出现在允许输出的输出端口中。
高阻态是电阻极大,或电流极小的状态,出现在输入端口或关断的输出端口中。输入端口中的高阻态可以在尽可能小地改变被输入对象的状态下获取信息。输出端口
在关断时处于高阻态,可以在IC不从电路板上取下的情况下,起到让IC脱离电路的作用,这就为CPU选择IC参与或脱离总线提供了方便。只有能用控制信号将输出端关断,
使之处于高阻态的IC,才能将该IC的输出端接入系统的数据总线。
接下来,就要了解嵌入式里最为重要的知识点之一:时序图
了解一点:高组态在时序图中用画在中部的虚线或实线表示。
为了让CPU选择IC,有必要在参与总线工作的IC上安排一条特殊的信号控制线,通过该线的电平来控制IC的“清醒”或“睡眠”状态。这条控制线通常称为IC的“片选”,
名称为CE(Chip Enable)或CS(Chip Select)。IC中片选的有效信号较多使用低电平控制,此时CE或CS为“负逻辑”,用带上划线或(-)的CE或CS表示。
在IC片选“选中”时,IC处于“清醒”状态,IC能响应总线中控制信号,能从输出端口输出,IC的电源功耗与电流也相应加大;在IC片选“不选中”时,
IC处于“睡眠”状态,此时,输出端口处于关断状态,IC的电源消耗也降低,IC除了片选信号之外不理睬任何其他控制信号。
有的IC没有片选线,但只要该IC有能控制输出端口的控制线,就可以用门电路构成具有类似片选功能的电路。
为了防止IC独占数据总线,确保CPU能控制IC分时使用数据总线,凡输出端口不能控制,无法使之关断处于高阻态的IC,均不能将其输出端口接到数据总线
做了这些铺垫,终于要来介绍三总线:
总线,是信息传输的公用路线,所有IC都通过IC并联在一起。
总线中并连在一起的IC地位并不是平等的,有一个IC,通常是CPU,负责管理和控制总线,为总线的主控者。
并行总线由数据总线,控制总线和地址总线构成,亦称为三总线结构。采用三总线的各IC的地线端必须与CPU的地线相连,以便解释相互传递的电平所表达的信息。
数据总线(Data Bus,简称DB)在控制总线的配合下传递CPU的输入/输出数据。数据总线由具有“位-权”关系的多条线构成的并行线路组成,并行线路的位数一般与
累加器的位数相同,通常称为“计算机的位数”。数据总线是双向的,它的传输方向与传输的有效时刻都由控制总线的信号指出。数据总线具有三态,在CPU等待IC
输入数据而IC尚未输出数据时,或没有IC(含CPU)输出时,数据总线处于高阻态。
控制总线(Control Bus,简称CB)的主要作用是配合数据总线与地址总线起作用,负责传递数据总线或地址总线的有效时刻和数据总线的传输方向等信息。控制总线由
单独起作用的多条线路组成,相互间没有“位-权”关系。控制总线一般为单向的,仅有高、低两态,总线的主控者负责向控制总线输出信息。
地址总线(Address Bus,简称AB)的作用是用来选择芯片或选择芯片中的单元,以便CPU通过控制总线让数据总线与该单元之间单独传输信息。地址总线由具有“位-权”
关系的多条线构成的并行线路组成,并行线路的位数构成了地址空间,确定了所能单独访问的单元数目。地址总线一般为单向的,仅有高、低两态,总线的主控者负责向地址
总线输出信息。地址总线通过IC的片选来选择IC,通过IC提供的地址线来选择IC中的单元。
DS18B20的外形级封装引脚说明:
VDD 电源引脚,电压范围3.0-5.5V。
GND 接地引脚。
DQ 数据引脚,传递数据的输入和输出。该引脚常态下为开漏输出,输出高电平
选好温度传感器后,自然要选择加热执行机构,这里粗略的使用加热棒和继电器,这里,好好聊聊继电器:
继电器选择使用继电器T73(12V),它的正常工作电流值为37.5mA,而单片机的IO口输出驱动电流一般较小(AVR单片机IO口输出驱动电流小于20mA),所以需要加入
前级放大电路,以提高输出电流,使继电器能够正常工作。
很好,那么问题又来了,在模电当中,什么是前级放大?接下来就好好聊聊模电的二极管、三极管、放大电路
和我玩,我开始越来越受大家的欢迎,这种感觉是任何事情无法取代的,或许对于我来说,人生的意义就是成为一个可以为周围的人、周围的事带来无穷无尽正
能量和榜样力量吧。
好了,开始进入正题吧,今天要开始接手计算机控制课程的作业,水温控制系统设计,已经买好了大部分的硬件,接下来就是分析电路,编写程序。
这个系统的设计其实可以很简单,一个本科生就可以完成的比较好,但是呢,这个作业的目的远不止于此,更多的是锻炼对一个控制系统的系统、
细微的理解。此外,谈到控制嘛,不得不说PID,甚至于这里可以用上更加高端的模糊控制。
此系统的目的:
1.温度设定范围是30-50○C,最小区分度为0.5○C,标定温度小于等于1○C;
2.环境温度降低温度控制系统的静态误差小于或等于1○C;
3.能够使用上位机设定水温,并用LCD显示水温值
水温控制的前提当然是知道当前的水温啦,那水温传感器的选择就不多做分析了,如果是超级精确的,可以用电桥法什么的,但这里用目前比较
流行的DS18B20。
DS18B20的特点:1、一个I/O口即可实现单片机与DS18B20之间的双向通信。
2、可用数据线供电,电压范围3-5.5v,测温范围-55-125度。
3、可编程实现9-12位的数字读数方式。
4、用户可设定的非易失性(掉电不丢失)的温度上下线报警值。
5、支持多点组网功能,多个DS18B20可并联在唯一的三总线上,实现多点温度测量。
6、负压特性:电源极性接反时不会烧坏DS18B20,但是也不能正常工作
第5特点里面提到并联在唯一的三总线上,那么就来仔细研究一下单片机的三总线:
三总线和扩展IC的三总线基本结构,是单片机中十分重要的一个点。
通过总线扩展的IC可以分为两大类:存储器扩展和I/O扩展。存储器扩展的特点是它们仅与CPU联系,不与外部信息直接联系,因此接口方式可以简化,不必带有应答方式;
I/O扩展涉及的IC不仅要与CPU联系,还要与外部信息联系,因此往往需要具有选通和应答机制。
在总线扩展中,常要了解IC的端口引脚是否具有三态(three-state 或Tri-State)功能。三态就是低电平(Low Level)、高电平(High Level)和高阻态(High Impedance
或Hi-Z)。
低电平和高电平具有较大的电流驱动能力,用于输出控制,这两种状态出现在允许输出的输出端口中。
高阻态是电阻极大,或电流极小的状态,出现在输入端口或关断的输出端口中。输入端口中的高阻态可以在尽可能小地改变被输入对象的状态下获取信息。输出端口
在关断时处于高阻态,可以在IC不从电路板上取下的情况下,起到让IC脱离电路的作用,这就为CPU选择IC参与或脱离总线提供了方便。只有能用控制信号将输出端关断,
使之处于高阻态的IC,才能将该IC的输出端接入系统的数据总线。
接下来,就要了解嵌入式里最为重要的知识点之一:时序图
了解一点:高组态在时序图中用画在中部的虚线或实线表示。
为了让CPU选择IC,有必要在参与总线工作的IC上安排一条特殊的信号控制线,通过该线的电平来控制IC的“清醒”或“睡眠”状态。这条控制线通常称为IC的“片选”,
名称为CE(Chip Enable)或CS(Chip Select)。IC中片选的有效信号较多使用低电平控制,此时CE或CS为“负逻辑”,用带上划线或(-)的CE或CS表示。
在IC片选“选中”时,IC处于“清醒”状态,IC能响应总线中控制信号,能从输出端口输出,IC的电源功耗与电流也相应加大;在IC片选“不选中”时,
IC处于“睡眠”状态,此时,输出端口处于关断状态,IC的电源消耗也降低,IC除了片选信号之外不理睬任何其他控制信号。
有的IC没有片选线,但只要该IC有能控制输出端口的控制线,就可以用门电路构成具有类似片选功能的电路。
为了防止IC独占数据总线,确保CPU能控制IC分时使用数据总线,凡输出端口不能控制,无法使之关断处于高阻态的IC,均不能将其输出端口接到数据总线
做了这些铺垫,终于要来介绍三总线:
总线,是信息传输的公用路线,所有IC都通过IC并联在一起。
总线中并连在一起的IC地位并不是平等的,有一个IC,通常是CPU,负责管理和控制总线,为总线的主控者。
并行总线由数据总线,控制总线和地址总线构成,亦称为三总线结构。采用三总线的各IC的地线端必须与CPU的地线相连,以便解释相互传递的电平所表达的信息。
数据总线(Data Bus,简称DB)在控制总线的配合下传递CPU的输入/输出数据。数据总线由具有“位-权”关系的多条线构成的并行线路组成,并行线路的位数一般与
累加器的位数相同,通常称为“计算机的位数”。数据总线是双向的,它的传输方向与传输的有效时刻都由控制总线的信号指出。数据总线具有三态,在CPU等待IC
输入数据而IC尚未输出数据时,或没有IC(含CPU)输出时,数据总线处于高阻态。
控制总线(Control Bus,简称CB)的主要作用是配合数据总线与地址总线起作用,负责传递数据总线或地址总线的有效时刻和数据总线的传输方向等信息。控制总线由
单独起作用的多条线路组成,相互间没有“位-权”关系。控制总线一般为单向的,仅有高、低两态,总线的主控者负责向控制总线输出信息。
地址总线(Address Bus,简称AB)的作用是用来选择芯片或选择芯片中的单元,以便CPU通过控制总线让数据总线与该单元之间单独传输信息。地址总线由具有“位-权”
关系的多条线构成的并行线路组成,并行线路的位数构成了地址空间,确定了所能单独访问的单元数目。地址总线一般为单向的,仅有高、低两态,总线的主控者负责向地址
总线输出信息。地址总线通过IC的片选来选择IC,通过IC提供的地址线来选择IC中的单元。
DS18B20的外形级封装引脚说明:
VDD 电源引脚,电压范围3.0-5.5V。
GND 接地引脚。
DQ 数据引脚,传递数据的输入和输出。该引脚常态下为开漏输出,输出高电平
选好温度传感器后,自然要选择加热执行机构,这里粗略的使用加热棒和继电器,这里,好好聊聊继电器:
继电器选择使用继电器T73(12V),它的正常工作电流值为37.5mA,而单片机的IO口输出驱动电流一般较小(AVR单片机IO口输出驱动电流小于20mA),所以需要加入
前级放大电路,以提高输出电流,使继电器能够正常工作。
很好,那么问题又来了,在模电当中,什么是前级放大?接下来就好好聊聊模电的二极管、三极管、放大电路
相关文章推荐
- 应用设计模式编写易于单元测试的代码
- 网络化的智能温度传感器设计
- 基于单片机的温度传感器18b20的C语言程序
- 如何编写优雅的代码:03. 设计模式(上)
- 关于控制系统设计的小感悟-单片机抗干扰
- 单片机设计-带时间显示的十字路口交通灯控制系统
- 重构-改善既有代码的设计:编写代码22宗罪(三)
- 重构-改善既有代码的设计:编写代码22宗罪(三)
- 项目管理实施流程(五)详细设计与代码编写
- 基于ARM控制器的渗炭炉温度控制系统的设计
- 基于VB的单片机温度数据采集与传输系统设计 下位机程序
- 基于VB的单片机温度数据采集与传输系统设计
- arm力天电子 lpc2148基于DS18B20的温度控制系统程序代码之dat=(j<<7)|(dat>>1)详解
- SAP屏幕设计器专题:编写控件代码(三)
- avr单片机的进入各种睡眠模式,并使用INT2唤醒代码
- 用设计版面的思想编写漂亮的代码
- SAP屏幕设计器专题:编写控件代码(三)
- 如何编写高质量的代码一 - 设计
- 如何编写优雅的代码:02. 设计原则
- IIS7 支持html页面包含(include)html页面 IIS设置与代码编写