011109030116基于单片机的向日葵生长测量仪设计论文.docx
《011109030116基于单片机的向日葵生长测量仪设计论文.docx》由会员分享,可在线阅读,更多相关《011109030116基于单片机的向日葵生长测量仪设计论文.docx(21页珍藏版)》请在冰豆网上搜索。
011109030116基于单片机的向日葵生长测量仪设计论文
摘要
控制环境植物生产系统中,营养液栽培系统由于具有多变量、非线性、大滞后、不确定性等问题,难以建立精确的数学模型,因而使得传统控制策略难以获得满意的控制效果,从而导致其控制自动化水平相对落后。
根据模糊控制理论及其在复杂的非线性控制系统具有良好应用效果的事实。
今天,那些不会打理花园的人再也不用为自己花园中的植物枯萎而担忧了。
一种新型的植物生长传感器已在美国面世。
这种传感器体积小巧,把它插在花盆里或花园中24小时,它便可以全面地收集与植物生长有关的数据,包括光照、温度、湿度、土壤的排水性等。
这种传感器顶端带有USB接口,可直接将收集到的数据传输至计算机。
用户可通过Easybloom的专用网站对该数据进行分析,数据库中包含了5000多种植物的相关信息,可以准确地告诉用户植物目前的生长状况,所处的生长环境是否适宜以及所在的区域适合种植何种植物等信息,甚至还能准确地告诉种植者花园中哪株植物需要浇水了,哪株植物生病了以及如何解决等信息。
在下位机系统中设计由各传感器及其信号调理电路、采样保持及模/数转换电路、MCS-51系列单片机和串行通信接口电..
关键字:
生长仪,ATmega8,传感器
目录
摘要1
目录2
一设计要求3
1.基本要求3
2.创新部分3
二系统分析4
1.系统设计方向4
2.系统构成4
3.可选传感器4
三所用器件简介5
1.主控芯片ATmega8简介5
(1)产品特性5
(2)外设特点6
(3)特殊的处理器特点6
(4)I/O和封装6
(5)工作电压7
(6)速度等级7
(7)引脚说明8
(8)ATmega8状态寄存器9
(9)通用寄存器10
(10)堆栈指针11
(11)复位与中断12
2.生长速率传感器FI-SM13
(1)速率传感器简介13
(2)接触式速率传感器13
(3)非接触式速率传感器14
(4)速度传感器的性能14
(5)FI-SM速率传感器指标14
3.位移传感器DE-1M15
(1)位移传感器简介15
(2)位移传感器原理15
(3)位移传感器信号处理16
(4)位移传感器位移传感器的分类17
(5)位移传感器主要特性参数18
(6)位移传感器SD-5M各项指标19
(7)数码管显示器19
四系统设计21
1.系统硬件设计21
(1)AVR单片机最小系统21
(2)传感器输入接口21
(3)放大处理器22
(4)信号处理整形电路23
(5)报警电路23
(6)电源电路24
2.系统软件设计24
(1)软件流程图24
(2)程序清单25
五参考文献:
25
附录一:
程序清单26
一设计要求
1.基本要求
(1)能实时监测向日葵的生长情况。
(2)能实时显示及统计向日葵生长高度等各项指标。
2.创新部分
(1)能存储一周的生长指标值,便于查看与对比。
(2)能设定各项指标,并进行报警。
二系统分析
1.系统设计方向
本系统主要依靠各种专业传感器,来将植物的当前生长情况的各项指标转换成微电压信号,在经过精密放大整理后送到AVR单片机ATmega8,利用单片机来比较转换各项指标,并存储,最后处理成较人性化的指标。
系统可预置各项指标,并能定向报警。
2.系统构成
●电源系统
●样品收集系统
●样品检测系统
●数据采集系统
3.可选传感器
●PIR-1光合作用辐射传感器
●TIR-4总辐射传感器
●ATH-2空气温湿度传感器
●SMS-2土壤湿度传感器
●LT-2M叶片温度传感器
●SF-4M,SF-5M茎流速率传感器
●SD-5M或SD-6M茎杆微变化传感器
●DE-1M电子点位测树器
●FI-LM,FI-MM,FI-SM和FI-XSM果实生长传感器
●SA-20茎杆生长计
三所用器件简介
1.主控芯片ATmega8简介
(1)产品特性
●高性能、低功耗的8位AVR®微处理器
●先进的RISC结构
●130条指令–大多数指令执行时间为单个时钟周期
●32个8位通用工作寄存器
●全静态工作
●工作于16MHz时性能高达16MIPS
●只需两个时钟周期的硬件乘法器
●非易失性程序和数据存储器
●8K字节的系统内可编程Flash
●擦写寿命:
10,000次
●具有独立锁定位的可选Boot代码区
●通过片上Boot程序实现系统内编程
●真正的同时读写操作
●512字节的EEPROM
●擦写寿命:
100,000次
●1K字节的片内SRAM
●可以对锁定位进行编程以实现用户程序的加密
(2)外设特点
●两个具有独立预分频器8位定时器/计数器,其中之一有比较功能
●一个具有预分频器、比较功能和捕捉功能的16位定时器/计数器
●具有独立振荡器的实时计数器RTC
●三通道PWM
●TQFP与MLF封装的8路ADC
●路10位ADC
●8路10位ADC
●面向字节的两线接口
●两个可编程的串行USART
●可工作于主机/从机模式的SPI串行接口
●具有独立片内振荡器的可编程看门狗定时器
●片内模拟比较器
(3)特殊的处理器特点
●上电复位以及可编程的掉电检测
●片内经过标定的RC振荡器
●片内/片外中断源
●5种睡眠模式:
空闲模式、ADC噪声抑制模式、省电模式、掉电模式及Standby模式。
(4)I/O和封装
●23个可编程的I/O口
●28引脚PDIP封装,32引脚TQFP封装,32引脚MLF封装
(5)工作电压
●2.7-5.5V(ATmega8L)
●4.5-5.5V(ATmega8)
(6)速度等级
●0-8MHz(ATmega8L)
●0-16MHz(ATmega8)
●4Mhz时功耗,3V,25°C
●工作模式:
3.6mA
●空闲模式:
1.0mA
●掉电模式:
0.5μA
●具有8KB系统内可编程Flash的
●8位微控制器
ATmega8引脚图
ATmega8内部结构简图
(7)引脚说明
VCC数字电路的电源。
GND地。
端口B(PB7..PB0)XTAL1/XTAL2/TOSC1/TOSC2
端口B为8位双向I/O口,具有可编程的内部上拉电阻。
其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。
作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。
在复位过程中,即使系统时钟还未起振,端口B处于高阻状态。
通过时钟选择熔丝位的设置,PB6可作为反向振荡放大器或时钟操作电路的输入端。
通过时钟选择熔丝位的设置PB7可作为反向振荡放大器的输出端。
若将片内标定RC振荡器作为芯片时钟源,且ASSR寄存器的AS2位设置,PB7..6作为异步T/C2的TOSC2..1输入端。
端口B的其他功能见P55“端口B的第二功能”及P22“系统时钟及时钟选项”。
端口C(PC5..PC0)端口C为7位双向I/O口,具有可编程的内部上拉电阻。
其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。
作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。
在复位过程中,即使系统时钟还未起振,端口C处于高阻状态。
PC6/RESET若RSTDISBL熔丝位编程,PC6作为I/O引脚使用。
注意PC6的电气特性与端口C的其他引脚不同若RSTDISBL熔丝位未编程,PC6作为复位输入引脚。
持续时间超过最小门限时间的低电平将引起系统复位。
门限时间见P35Table15。
持续时间小于门限时间的脉冲不能保证可靠复位。
端口C的其他功能见后。
端口D(PD7..PD0)端口D为8位双向I/O口,具有可编程的内部上拉电阻。
其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。
作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。
在复位过程中,即使系统时钟还未起振,端口D处于高阻状态。
端口D的其他功能见后。
RESET复位输入引脚。
持续时间超过最小门限时间的低电平将引起系统复位。
门限时间见P35Table15。
持续时间小于门限时间的脉冲不能保证可靠复位。
AVCCAVCC是A/D转换器、端口C(3..0)及ADC(7..6)的电源。
不使用ADC时,该引脚应直接与VCC连接。
使用ADC时应通过一个低通滤波器与VCC连接。
注意,端口C(5..4)为数字电源,VCC。
AREFA/D的模拟基准输入引脚。
ADC7..6(TQFP与MLF封装)TQFP与MLF封装的ADC7..6作为A/D转换器的模拟输入。
为模拟电源且作为10位ADC通
道。
(8)ATmega8状态寄存器
状态寄存器包含了最近执行的算术指令的结果信息。
这些信息可以用来改变程序流程以实现条件操作。
如指令集所述,所有ALU运算都将影响状态寄存器的内容。
这样,在许多情况下就不需要专门的比较指令了,从而使系统运行更快速,代码效率更高。
在进入中断服务程序时状态寄存器不会自动保存,中断返回时也不会自动恢复。
这些工作需要软件来处理。
AVR中断寄存器SREG定义如下:
•Bit7–I:
全局中断使能I置位时使能全局中断。
单独的中断使能由其他独立的控制寄存器控制。
如果I清零,则不论单独中断标志置位与否,都不会产生中断。
任意一个中断发生后I清零,而执行RETI指令后I恢复置位以使能中断。
I也可以通过SEI和CLI指令来置位和清零。
•Bit6–T:
位拷贝存储位拷贝指令BLD和BST利用T作为目的或源地址。
BST把寄存器的某一位拷贝到T,而BLD把T拷贝到寄存器的某一位。
•Bit5–H:
半进位标志半进位标志H表示算术操作发生了半进位。
此标志对于BCD运算非常有用。
详见指令集的说明。
•Bit4–S:
符号位,S=N⊕VS为负数标志N与2的补码溢出标志V的异或。
详见指令集的说明。
•Bit3–V:
2的补码溢出标志支持2的补码运算。
详见指令集的说明。
•Bit2–N:
负数标志表明算术或逻辑操作结果为负。
详见指令集的说明。
•Bit1–Z:
零标志表明算术或逻辑操作结果为零。
详见指令集的说明。
•Bit0–C:
进位标志
(9)通用寄存器
文件寄存器文件针对AVR增强型RISC指令集做了优化。
为了获得需要的性能和灵活性,寄存器文件支持以下的输入/输出方案:
•输出一个8位操作数,输入一个8位结果。
•输出两个8位位操作数,输入一个8位结果。
•输出两个8位位操作数,输入一个16位结果。
•输出一个16位位操作数,输入一个16位结果。
CPU32个通用工作寄存器的结构
(10)堆栈指针
堆栈指针主要用来保存临时数据、局部变量和中断/子程序的返回地址。
堆栈指针总是指向堆栈的顶部。
要注意AVR的堆栈是向下生长的,即新数据推入堆栈时,堆栈指针的数值将减小。
堆栈指针指向数据SRAM堆栈区。
在此聚集了子程序堆栈和中断堆栈。
调用子序和使能中断之前必须定义堆栈空间,且堆栈指针必须指向高于0x60的地址空间。
使用PUSH指令将数据推入堆栈时指针减一;而子程序或中断返回地址推入堆栈时指针将减二。
使用POP指令将数据弹出堆栈时,堆栈指针加一;而用RET或RETI指令从子程序或中断返回时堆栈指针加二。
AVR的堆栈指针由I/O空间中的两个8位寄存器实现。
实际使用的位数与具体器件有关。
请注意某些AVR器件的数据区太小,用SPL就足够了。
此时将不给出SPH寄存器。
指令执行时序这一节介绍指令执行过程中的访问时序。
AVRCPU由系统时钟clkCPU驱动。
此时钟直接来自选定的时钟源。
芯片内部不对此时钟进行分频。
Figure5说明了由Harvard结构决定的并行取指和指令执行,以及可以进行快速访问的寄存器文件的概念。
这是一个基本的流水线概念,性能高达1MIPS/MHz,具有优良的性价比、功能/时钟比、功能/功耗比。
(11)复位与中断
处理AVR有不同的中断源。
每个中断和复位在程序空间都有独立的中断向量。
所有的中断事件都有自己的使能位。
当使能位置位,且状态寄存器的全局中断使能位I也置位时,中断可以发生。
根据程序计数器PC的不同,在引导锁定位BLB02或BLB12被编程的情况下,中断可能被自动禁止。
这个特性提高了软件的安全性。
详见P209“存储器编程”的描述。
程序存储区的最低地址缺省为复位向量和中断向量。
完整的向量列表请参见P43“中断”列表也决定了不同中断的优先级。
向量所在的地址越低,优先级越高。
RESET具有最高的优先级,第二个为INT0–外部中断请求0。
通过置位通用中断控制寄存器(GICR)的IVSEL,中断向量可以移至引导Flash的起始处,参见P43“中断”。
编程熔丝位BOOTRST也可以将复位向量移至引导Flash的起始处。
具体参见P196“支持引导装入程序-在写的同时可以读(RWW,Read-While-Write)的自我编程能力”。
任一中断发生时全局中断使能位I被清零,从而禁止了所有其他的中断。
用户软件可以在中断程序里置位I来实现中断嵌套。
此时所有的中断都可以中断当前的中断服务程序。
执行RETI指令后I自动置位。
从根本上说有两种类型的中断。
第一种由事件触发并置位中断标志。
对于这些中断,程序计数器跳转到实际的中断向量以执行中断处理程序,同时硬件将清除相应的中断标志。
中断标志也可以通过对其写”1”的方式来清除。
当中断发生后,如果相应的中断使能位为"0",则中断标志位置位,并一直保持到中断执行,或者被软件清除。
类似的,如果全局中断标志被清零,则所有已发生的中断都不会被执行,直到I置位。
然后挂起的各个中断按中断优先级依次执行。
2.生长速率传感器FI-SM
(1)速率传感器简介
单位时间内位移的增量就是速度。
速度包括线速度和角速度,与之相对应的就有线速度传感器和角速度传感器,我们都统称为速率传感器
在机器人自动化技术中,旋转运动速度测量较多,而且直线运动速度也经常通过旋转速度间接测量。
目前广泛使用的速率传感器是直流测速发电机,可以将旋转速度转变成电信号。
测速机要求输出电压与转速间保持线性关系,并要求输出电压陡度大,时间及温度稳定性好。
测速机一般可分为直流式和交流式两种。
直流式测速机的励磁方式可分为他励式和永磁式两种,电枢结构有带槽的、空心的、盘式印刷电路等形式,其中带槽式最为常用。
(2)接触式速率传感器
旋转式速率传感器与运动物体直接接触。
当运动物体与旋转式速率传感器接触时,摩擦力带动传感器的滚轮转动。
装在滚轮上的转动脉冲传感器,发送出一连串的脉冲。
每个脉冲代表着一定的距离值,从而就能测出其速率。
接触式旋转速率传感器结构简单,使用方便。
但是接触滚轮的直径是与运动物体始终接触着,滚轮的外周将磨损,从而影响滚轮的周长。
而脉冲数对每个传感器又是固定的。
影响传感器的测量精度。
要提高测量精度必须在二次仪表中增加补偿电路。
另外接触式难免产生滑差,滑差的存在也将影响测量的正确性。
因此传感器使用中必须施加一定的正压力或着滚轮表面采用摩擦力系数大的材料,尽可能减小滑差。
(3)非接触式速率传感器
旋转式速率传感器与运动物体无直接接触,非接触式测量原理很多,以下仅介绍两点,供参考。
A.光电流速传感器
叶轮的叶片边缘贴有反射膜,流体流动时带动叶论旋转,页轮每转动一周光纤传输反光一次,产生一个电脉冲信号。
可由检测到的脉冲数,计算出流速。
B.光电风速传感器
风带动风速计旋转,经齿轮传动后带动凸轮成比例旋转。
光纤被徒轮轮番遮断形成一串光脉冲,经光电管转换成定信号,经计算可检测出风速。
非接触式旋转速度传感器寿命长,无需增加补偿电路。
但脉冲当量不是距离整数倍,因此速度运算相对比较复杂。
(4)速度传感器的性能
A.传感器的输出信号为脉冲信号,其稳定性比较好,不易受外部噪声干扰,对测量电路无特殊要求。
B.结构比较简单,成本低,性能稳定可靠。
功能齐全的微机芯片,使运算变换系数易于获得,故目前速率传感器应用极为普遍。
(5)FI-SM速率传感器指标
●测量范围:
7-45mm
●分辩率:
±0.001mm
●温度稳定性:
最大0.005mm/℃
●适用的果实直径:
7到45mm
●工作电压:
10-30VDC
●输出信号:
4-20mA
●尺寸大小:
60×40×15mm
3.位移传感器DE-1M
(1)位移传感器简介
位移传感器又称为线性传感器,它分为电感式位移传感器,电容式位移传感器,光电式位移传感器,超声波式位移传感器,霍尔式位移传感器。
电感式位移传感器是一种属于金属感应的线性器件,接通电源后,在开关的感应面将产生一个交变磁场,当金属物体接近此感应面时,金属中则产生涡流而吸取了振荡器的能量,使振荡器输出幅度线性衰减,然后根据衰减量的变化来完成无接触检测物体的目的。
电感式位移传感器具有无滑动触点,工作时不受灰尘等非金属因素的影响,并且低功耗,长寿命,可使用在各种恶劣条件下。
位移传感器主要应用在自动化装备生产线对模拟量的智能控制。
位移是和物体的位置在运动过程中的移动有关的量,位移的测量方式所涉及的范围是相当广泛的。
小位移通常用应变式、电感式、差动变压器式、涡流式、霍尔传感器来检测,大的位移常用感应同步器、光栅、容栅、磁栅等传感技术来测量。
其中光栅传感器因具有易实现数字化、精度高(目前分辨率最高的可达到纳米级)、抗干扰能力强、没有人为读数误差、安装方便、使用可靠等优点,在机床加工、检测仪表等行业中得到日益广泛的应用。
(2)位移传感器原理
计量光栅是利用光栅的莫尔条纹现象来测量位移的。
“莫尔”原出于法文Moire,意思是水波纹。
几百年前法国丝绸工人发现,当两层薄丝绸叠在一起时,将产生水波纹状花样;如果薄绸子相对运动,则花样也跟着移动,这种奇怪的花纹就是莫尔条纹。
一般来说,只要是有一定周期的曲线簇重叠起来,便会产生莫尔条纹。
计量光栅在实际应用上有透射光栅和反射光栅两种;按其作用原理又可分为辐射光栅和相位光栅;按其用途可分为直线光栅和圆光栅。
下面以透射光栅为例加以讨论。
透射光栅尺上均匀地刻有平行的刻线即栅线,a为刻线宽,b为两刻线之间缝宽,W=a+b称为光栅栅距。
目前国内常用的光栅每毫米刻成10、25、50、100、250条等线条。
光栅的横向莫尔条纹测位移,需要两块光栅。
一块光栅称为主光栅,它的大小与测量范围相一致;另一块是很小的一块,称为指示光栅。
为了测量位移,必须在主光栅侧加光源,在指示光栅侧加光电接收元件。
当主光栅和指示光栅相对移动时,由于光栅的遮光作用而使莫尔条纹移动,固定在指示光栅侧的光电元件,将光强变化转换成电信号。
由于光源的大小有限及光栅的衍射作用,使得信号为脉动信号。
如图1,此信号是一直流信号和近视正弦的周期信号的叠加,周期信号是位移x的函数。
每当x变化一个光栅栅距W,信号就变化一个周期,信号由b点变化到b’点。
由于bb’=W,故b’点的状态与b点状态完全一样,只是在相位上增加了2π。
(3)位移传感器信号处理
A.辨向原理在实际应用中,位移具有两个方向,即选定一个方向后,位移有正负之分,因此用一个光电元件测定莫尔条纹信号确定不了位移方向。
为了辨向,需要有π/2相位差的两个莫尔条纹信号。
如图2,在相距1/4条纹间距的位置上安放两个光电元件,得到两个相位差π/2的电信号u01和u02,经过整形后得到两个方波信号u01’和u02’。
光栅正向移动时u01超前u0290度,反向移动时u02超前u0190度,故通过电路辨相可确定光栅运动方向。
B.细分技术随着对测量精度要求的提高,以栅距为单位已不能满足要求,需要采取适当的措施对莫尔条纹进行细分。
所谓细分就是在莫尔条纹信号变化一个周期内,发出若干个脉冲,以减少脉冲当量。
如一个周期内发出n个脉冲,则可使测量精度提高n备,而每个脉冲相当于原来栅距的1/n。
由于细分后计数脉冲频率提高了n倍,因此也称n倍频。
通常用的有两种细分方法:
其一、直接细分。
在相差1/4莫尔条纹间距的位置上安放两个光电元件,可得到两个相位差90o的电信号,用反相器反相后就得到四个依次相差90o的交流信号。
同样,在两莫尔条纹间放置四个依次相距1/4条纹间距的光电元件,也可获得四个相位差90o的交流信号,实现四倍频细分。
其二、电路细分。
(4)位移传感器位移传感器的分类
A.根据运动方式分类:
直线位移传感器
原理:
直线位移传感器的功能在于把直线机械位移量转换成电信号。
为了达到这一效果,通常将可变电阻滑轨定置在传感器的固定部位,通过滑片在滑轨上的位移来测量不同的阻值。
传感器滑轨连接稳态直流电压,允许流过微安培的小电流,滑片和始端之间的电压,与滑片移动的长度成正比。
将传感器用作分压器可最大限度降低对滑轨总阻值精确性的要求,因为由温度变化引起的阻值变化不会影响到测量结果。
LT直线位移传感器:
⊙广泛应用于注塑、机床及机械加工等行业
⊙无限分辨率
⊙行程:
50至900mm
⊙独立线性度:
±0.05%
⊙位移速度达到:
5m/s、10m/s可选
⊙工作温度:
-30至+100℃
⊙多种电气连接方式
⊙保护等级:
IP60(IP65可选)
B.根据材质分类:
金属膜传感器、导电塑料传感器、光电式传感器、磁敏式传感器、金属玻璃铀传感器、绕线传感器
电位器式位移传感器它通过电位器元件将机械位移转换成与之成线性或任意函数关系的电阻或电压输出。
普通直线电位器和圆形电位器都可分别用作直线位移和角位移传感器。
但是,为实现测量位移目的而设计的电位器,要求在位移变化和电阻变化之间有一个确定关系。
图1中的电位器式位移传感器的可动电刷与被测物体相连。
物体的位移引起电位器移动端的电阻变化。
阻值的变化量反映了位移的量值,阻值的增加还是减小则表明了位移的方向。
通常在电位器上通以电源电压,以把电阻变化转换为电压输出。
线绕式电位器由于其电刷移动时电阻以匝电阻为阶梯而变化,其输出特性亦呈阶梯形。
如果这种位移传感器在伺服系统中用作位移反馈元件,则过大的阶跃电压会引起系统振荡。
因此在电位器的制作中应尽量减小每匝的电阻值。
电位器式传感器的另一个主要缺点是易磨损。
它的优点是:
结构简单,输出信号大,使用方便,价格低廉。
霍耳式位移传感器它的测量原理是保持霍耳元件(见半导体磁敏元件)的激励电流不变,并使其在一个梯度均匀的磁场中移动,则所移动的位移正比于输出的霍耳电势。
磁场梯度越大,灵敏度越高;梯度变化越均匀,霍耳电势与位移的关系越接近于线性。
图2中是三种产生梯度磁场的磁系统:
a系统的线性范围窄,位移Z=0时,霍耳电势≠0;b系统当Z<2毫米时具有良好的线性,Z=0时,霍耳电势=0;c系统的灵敏度高,测量范围小于1毫米。
图中N、S分别表示正、负磁极。
霍耳式位移传感器的惯性小、频响高、工