摘 要
为提高畜牧业养殖智能化管理,设计了智能化人机交互畜牧养殖控制系统。本系统包括刮板控制系统、智能控制平台和labview上位机界面。刮板控制系统由刮板、限位开关、霍尔元件、三相电机等组成。其工作是通过上位机发送数据对刮板控制器进行操作,简单可靠,人机交互界面操作简单,数据接收可靠,实时监控刮板的控制。通过电机控制刮板的运行方向,改变刮板转动模式,可以使固液直接分离,可以减少污水处理的成本并且减少污水处理量。根据传送的数据观察刮板的运行,防止机器出现故障。除此之外,该系统还配有dht11,MQ-3等传感器,通过数据采集模块检测环境气体的浓度和环境的温度,若超出范围则警报,并且设备进行一定的操作,做到防范于未然。该智能控制平台还配有智能给水给料,通过使用water传感器检测水位,给予适量的水。检测食物的高度,给予适当的料。对于该系统的安全性我们使用转角轮结合霍尔元件,通过磁效应,检测电机转动的速度,根据速度的变化霍尔元件会输出不同的TTL电平。如若电机转速不同,则智能化畜牧养殖系统会停止工作。上位机界面通过串口通信显示系统当前的状态参数,该界面的设计更加人性化,用户使用更简单[1]。该系统还配有断电保护措施,可以实现生活环境24小时自动控制。智能化的排粪,可以提高工作效率,减少人工工作量,减少污染,防止瘟疫等疾病的发生。智能化养殖控制系统在我国畜牧业规模化养殖的作用不可估量。
关键词:刮板 三相电机 上位机界面 霍尔元件
1绪论
1.1选题研究意义
四十年来,畜牧业与我国经济的发展紧密相连,中国已发展到现在形成了以小规模散养户为个体,养殖户养殖为主体的养殖模式,但中国畜牧养殖业主要以个体养殖户养殖为主体,畜牧养殖散养户普遍处于劣势地位。一方面由于散养户的养殖设备落后,粗放管理,所导致畜牧生产的质量问题时有发生,严重制约着畜牧业的发展,造成畜牧养殖市场的价格不正常波动[2]。另一方面是由于现在的畜牧养殖设备没有办法满足当今中国的畜牧养殖模式,无法满足实际生产的要求,相比起大规模养殖户,个体养殖户资金匮乏无法承担高昂的养殖成本。因此我们要采用现代科学技术进行智能化养殖代替传统的粗放型养殖,畜牧养殖人员必需从观念上充分的认识,从技术上不断地加强研究[3]。
智能化畜牧养殖控制系统正是基于当下畜牧业发展的实情所研发的一款系统,它是畜牧业自动化的重要发展方向[4]。而要想使智能化畜牧养殖控制系统应用于实际生产过程中,就必须需要方便快捷的控制系统,而相比于传统的畜牧控制系统,智能化畜牧养殖控制系统具有很大的优势。使用远程上位机系统来控制刮板进行除粪和环境监测[5],在保护养殖人员的健康,降低成本,增加养殖人员的收入有巨大的成果。传统的养殖方式需要养殖人员人工除粪,粪便会产生大量有害气体,在一定程度上会损害畜牧养殖人员的身体健康,更会造成极为严重的环境污染[6]。
1.2国内外研究现状
1.2.1国内发展情况
相比于国外对于畜牧养殖控制系统的研究,我国对畜牧养殖控制系统的研究起步较晚,主要在20世纪60才正式开始发展,“十五”时期我国畜牧养殖业开始走向产业化道路,向现代化智能养殖转变[7]。当前国内也存在许多的科研团队和企业对智能化畜牧养殖进行了深入的研究,但受到我国科技实力的影响,畜牧养殖控制系统发展缓慢[8]。国内的一些大型畜牧养殖企业仍采用人工操作机械进行除粪,工作效率低下,与国外大型畜牧养殖企业相比具有很大的差距[9]。智能化养殖控制系统在我国畜牧业规模化养殖的作用不可估量。
1.2.2国外发展情况
世界著名的畜牧机械的生产厂商主要是X的凯斯公司(CASE)、以及北欧的Valtra[10]。在畜牧业发达的欧X家,由于许多大型畜牧养殖企业的存在,促使畜牧养殖控制系统得到全面、快速的发展。由于欧美等发达国家的经济实力强,在畜牧养殖自动化方面投入了大量的资金和科研力量[11],所以智能化畜牧养殖控制系统在国外发展迅速,具有操作灵活、作业效率高等一系列优点。
1.3研究内容及技术指标
1.3.1研究内容
设计以STC15W4K58S4为主控芯片的智能化畜牧养殖控制系统,该系统可以通过上位机终端发送数据对刮板控制器操作,简单可靠,人机交互界面操作简单,通过独特的数据校检机制,大大降低了数据丢失或采集错误对系统运行的影响,能够实现上位机远程遥控设备的运行[12],实时监控刮板的控制,对其发送相应的指令。通过电机控制刮板的运行方向,改变刮板转动模式,可以使固液直接分离,可以减少污水处理的成本,减少污水处理量。根据传送的数据观察刮板的运行,防止机器出现故障。通过数传模块将设备运行的数据发送到上位机并显示出来,实时监测设备的运行,安全可靠,通过数据采集模块检测环境气体的浓度和环境的温度,若超出范围将会发出警报,并且设备进行一定的操作,做到防范于未然[13]。
1.3.2技术指标
以STC15W4K58S4为主控芯片设计智能化畜牧养殖控制系统,主要是由无线数传模块、刮板控制器、环境监控系统、人机交互界面四部分组成。用户可以对畜牧养殖环境进行实时监控。
该系统对畜牧养殖进行智能化管理。其技术指标主要有五点。
1. 实现该系统给料、给水、排粪等环节的全自动化。
2. 使用大功率数传,通过数据采集和传输来准确分析当前系统所处环境的各个参数。
3. 通过对氨气、氧气及有害气体的检测,以及对空气湿度等方面的综合分析准确得到当前系统的所处环境状态,与系统所处理的环境状态相对比,快速准确的进行调整。
4. 通过无线数传模块传到PC终端上,用上位机分析数据并显示。
5. 制作出更加简单方便的上位机控制界面。
2系统设计方案
2.1系统设计原则
⑴在设计系统时,软硬件的设计应该符合时代的潮流[14];
⑵在设计系统时,应当全面的考虑安全系统,对于小故障可以系统自我修复,对于大型故障系统要及时发出警报,留有警报系统。
⑶在设计系统时,应该全面的考虑成本问题,在保证系统开发质量的同时尽可能的从各个方面节约成本[15];
⑷在设计系统时,应当设计系统的自修复能力,在系统发生错误时能够准确快速的找出所发生的错误,并且进行自我修复;
⑸在设计系统时,软件和硬件应支持二次开发,硬件系统预留出与外设通信接口,软件系统应具有较强的兼容性和可移植性。
2.2总体系统设计方案
系统以STC15W4K58S4为主控芯片,通过气体传感器,湿度传感器,温度传感器等对养殖环境进行监控,并将养殖环境各个参数通过无线数传模块传输至PC终端显示,通过上位机终端监控现场设备运行状态并判断系统所处状态是否正常,若正常,则继续监测系统所处环境状态,并实时传输数据。若不正常,则由上位机直接发出操纵命令,通过下位机做出相关机械动作,使之达到系统正常状态。例如,当计量装置所反馈的数值低于正常值时,电机将带动刮板链条,自动输料。总体的系统结构如图2-1所示。
图2-1系统结构图
2.3软件架构设计
系统根据实际应用所需要的各个功能来设计软件,将实际问题模块化并赋予给每个变量。系统设计时应先将串口的I/O口初始化,再根据实际需要设计畜牧环境监控函数,接收数据函数,发送数据函数,刮粪板控制函数,应急控制函数,最后在编写主函数。
程序架构设计如图2-2所示。
图2-2程序架构图
2.4硬件架构设计
380V三相交流电控制三相交流电机带动整个刮粪板运动,380V交流电经过光耦隔离与降压模块后给CPU供电,CPU根据畜牧环境监控系统和232转TTL模块所接收的数据和命令来控制对应的动作,控制整个畜牧养殖控制系统做出相应的反应,使硬件模块完成功能。使用DS1302进行时间的显示,以及通过按键更改时间,并且设备上有指定模式显示的指示灯。使用EEPROM对数据进行保存,防止丢失上一次设置的运行状态。通过继电器和MOS管控制电机,通过实现常闭常开的动作,实现电机的正反转功能。通过霍尔元件检测设备是否正常运行,更改引脚的高低电平,实现检测限位开关是否正常运行的状态。
硬件结构设计如图2-3所示。
图2-3 硬件结构设计图
2.5 系统特点
此系统是在猪舍基础土建中做出V型地沟和预埋O型管,通过与V型地沟相配合的刮板,将粪池内的粪便挂出猪舍,再通过集粪刮板,将粪便输送到接粪车或接粪池中。尿液则通过O型管流出猪舍,收集后进入下一级污水处理系统[16]。智能化畜牧养殖控制系统具有以下特点:
1. 采用了独特的数据校验方式,大大减少了数据采集错误对系统的影响。
2.采用上位机显示操作界面窗口,更加直观、方便。
3.通过远距离无线数传模块到PC终端上,通过上位机显示,做到实时监控刮板的工作状态,使人们更加方便的对养猪系统做出评估。
4. 利用转角轮和限位开关控制刮板的正转和反转。
5. 根据霍尔元件判断刮板是否正常工作。
3硬件设计
3.1硬件结构框图
380V电压经过连续降压模块将电压降为5V,给CPU供电;CPU通过气体传感器,DHT11模块,DS18B20模块等数据采集模块对养殖环境进行监测。并将养殖环境各个参数通过无线数传模块传输至PC终端,显示到上位机;养殖人员通过上位机监控现场设备运行状态并判断系统所处状态是否正常,若正常,则继续监测系统所处环境状态,并实时传输数据;若不正常,则由上位机直接发出操纵命令,通过下位机做出相关机械动作,使之达到系统正常状态;刮板控制器由单独的CPU控制,通过计时模块控制刮粪板的运行时间级警报发出时间;刮板的运行状态可由限位开关控制,当运行至限位开关时,电机由正转变为反转,刮板向反方向运行。
智能化畜牧养殖控制系统硬件结构框图如图3-1所示。
图3-1 硬件结构框图
3.2硬件电路设计
3.2.1STC15W4K58S4单片机主控模块
智能化畜牧养殖控制系统主控模本设计采用的是STC15W4K48S4系列芯片,为宏晶公司生产的高性能单片机,封装格式为SOP28[17]。 单片机最小系统包括复位电路系统和时钟电路系统,复位系统是为了防止系统运行过程中出现死循环且无法自动恢复,设置复位按钮来手动重启系统。时钟系统分为系统内部时钟和系统外部时钟,时钟信号越高系统运行速度越快, STC15W4K58S4提供了可达1T的主频速内部时钟,因此本款单片机的控制精度可以达到预期目标。
⑴利用STC15W4K58S4单片机系统板可以实现以下五点功能。
①串口向上位机发送实时监控数据并接收控制终端的控制指令;
②控制畜牧环境检测模块的运行;
③控制刮粪板的自动运行;
④控制限位开关及霍尔模块以获取刮粪板运行状态;
⑤控制故障报警系统提高畜牧养殖安全系数。
⑵STC15W4K58S4单片机系统板主要有以下特点。
①相比于其他的单片机体积较小,在各种项目里面都能够方便的使用[18];
②与其他型号单片机相比,运行速度更快,控制精度更高;
③与其他单片机相比操控简单,开发难度低,便于二次开发。
3.2.2232转TTL模块
SP3232E芯片引脚功能如表3-1所示。
表3-1 SP3232E芯片引脚功能表
管脚序号 | 管脚名 | 用途 |
1 | C1+ | 倍压电荷泵电容的正极 |
2 | V+ | 电荷泵产生的+5.5V电压 |
3 | C1- | 倍压电荷泵电容的负极 |
4 | C2+ | 反相电荷泵电容的正极 |
5 | C2- | 反相电荷泵电容的负极 |
6 | V- | 电荷泵产生的-5.5V电压 |
7 | DOUT2 | RS-232驱动器输出 |
8 | RIN2 | RS-232接收器输入 |
9 | ROUT2 | TTL/CMOS接收器输出 |
10 | DIN2 | TTL/CMOS驱动器输入 |
11 | DIN1 | TTL/CMOS驱动器输入 |
12 | ROUT1 | TTL/CMOS接收器输出 |
13 | RIN1 | RS-232接收器输入 |
14 | DOUT1 | RS-232驱动器输出 |
15 | GND | 地 |
16 | VCC | +3.3V电源电压 |
STC15W4K58S4引脚分配参照附录的电路原理图图,通过芯片上的RIN1、DOUT1两个引脚引接入单片机外设,接收上位机的数据,SP3232芯片DIN1、DOUT1两个引脚就将标准232信号转换成TTL电平的信号,通过P1.6、P1.7两个引脚接进STC15W4K58S4进行处理。
STC15W4K58S4通过P0.6、P0.7两个引脚将TTL电平输入到RIN2、DOUT2,从而SP3232芯片RIN2、DOUT2两个引脚输出就是232电平的信号。
3.2.3数传模块
上位机终端与单片机进行数据交换的装置是无线数传模块,相当于在上位机终端和单片机之间设立一座桥梁,实现两者的数据交换[13]。
无线数据传输如图3-2所示。
图3-2无线数据传输示意图
STC15W4K56S4通过USART2发送TTL电平,单片机发出的TTL电平经过SP232芯片转化为标准232电平,发送给发送器;然后发送器将232信号传送给接收器,接收器经过标准232接口接收232电平信号,232电平信号经过SP232芯片转化为TTL电平,传送给STC15单片机,由单片机执行下一步操作。
3.2.4485通信电路
智能化畜牧养殖控制系统为了适应更多的通信方式,除了设计了232通信方式还设计了485通信方式。232通信方式和485通信方式在硬件设计和软件实现上有巨大的不同。 其中RS232通信方式可实现全双工工作方式,而RS485通信方式无法实行全双工工作方式,在数据发送时无法进行数据接收。为了保证本系统能够更好的应用这两种通信方式,保证数据正常的发送和接收,本系统在硬件上预留链接引脚,方便快速的切换两种通信方式,同时在软件上将两种通信过程进行明确的区分。485通信电路图如图3-3。
3-3 485通信电路
STC15W4K58S4通过USART4发送TTL电平,单片机的P0.2,P0.3分别与SP3485芯片的RO,DI引脚相连,单片机数据由P0.3发送到SP3485的DI端;外部数据由RO接入SP3485再由P0.2发送给单片机。P0.4与RE引脚相连控制SP3485的收发模式的开启。
3.2.5时钟电路模块
本系统采用的时钟芯片是X生产的DS1302芯片,内部配备了一个小型的存储器,用来存储时间数据;DS1302电路设计简单,双电源的设计极大地降低了芯片的功耗,同时也大大的提高了芯片的性能;内部含有一个31字节的静态存储区可以对时间信息进行单独记录。芯片封装图如图3-4所示。
图3-4 DS1302芯片封装图
时钟电路如图3-5所示。
3-5 时钟电路
DS1302时钟电路是一个比较常用的时钟电路,它使用一个32.768k的外部晶振,晶振外部也不需要额外添加其他的电容或者电阻电路了。时钟的精度取决于晶振的精度,如果所选取的晶振不准,就会导致时钟误差过大。DS1302在VCC引脚外接一个3V的电池,防止突然断电导致数据丢失。
3.2.6数据存储模块
本系统将设置数据保存在AT24C02模块中以减少不必要的数据丢失。AT24C02是基于I2C-BUS协议的芯片,通过数据总线和时钟总线与微处理器相连。当单片机发出地址信息和开始信号后,数据总线进行接收或发送数据,当单片机发送结束信号时,数据总线结束数据传输。只有当地址码和开始信号出现后,AT24C02芯片才能和单片机进行数据交换,大大减少了不必要的数据丢失,提高了数据的准确性。AT24C02芯片如图3-6所示。
图3-6AT24C02芯片图
独特的接口方式以及较少的引脚数大大降低了芯片所占电路板的空间,有效的降低硬件成本。同时利用I2C总线技术可以将更多的存储芯片连接在一起,可将设置数据分部保存,以便保存更多的数据。A0,A1,A2为地址位,最多可将8个芯片相互连接,WP位拉低可进行读写操作。存储电路如图3-7所示。
图3-7存储电路图
3.2.7行程开关控制模块
本系统采用行程开关来控制刮板的运行状态,当刮板运行至行程开关处,单片机会收到信号以确定刮板运行位置,及时调整运行方向,防止刮板超出界限。
行程开关电路如图3-8所示。
图3-8行程开关模块电路图
P10处连接外部的行程开关12V供电,与单片机之间设有光耦隔离模块。若刮板运行至行程开关处,P10的1、2导通,PC817的1、2存在电压差,3、4端导通,单片机收到低电平信号,及时调整运行状态。
当刮板反方向运行时,行程开关缓慢打开,P10的1、2关断,PC817的1、2不存在电压差,3、4端关断,单片机收到高电平信号,刮板进行反方向运行。
3.2.8光耦隔离模块
STC15W4K48S4单片机IO口驱动能力太弱,通常只有几毫安到几十毫安,而负载可达到几百毫安到几安,其中所控制的380V交流电机所需要的电流极大,为防止电流过大而烧损CPU,故而设计了光耦隔离电路。光耦隔离模块电路如图3-9所示。
图3-9光耦隔离模块电路图
若在P7的1、2两端导通,则PC817的1、2之间存在电压差,3、4两端导通,则P4.4处输出0V电压。
若在P7的1、2两端关断,则PC817的1、2之间不存在电压差,3、4两端不导通,则P4.4处输出5V电压。
3.2.9 电机驱动模块
电机驱动模块电路如图3-10所示。
图3-10电机驱动模块电路图
电磁继电器是电子电路中常见的元器件,其功能是用较小的电流来控制较大的电流,而且还会防止大电流的倒灌从而烧毁电子器件。本系统采用电磁继电器来辅助控制电机的运行。
当到达刮粪板运行时间时,单片机会产生一个高电平,9013三极管导通会产生一个较大的电流,强大电流促使继电器导通。在电气主接线电路中,两个继电器分别控制电机的两个运行方向。继电器与交流接触器相连,当继电器1得电时,交流接触器1导通,电机正转;当继电器2得电时,交流接触器2导通,电机反转。电磁继电器电路配有保险丝,防止因电流过大烧毁器件,并且交流接触器与电机之间配有热继电器以保护电机。
3.2.10霍尔传感器模块
为了达到实时检测刮板的运行状态,同时还可以准确的判断故障原因的目的。本系统采用霍尔传感器来实时监控运行状态,管板缆线带动码盘旋转,霍尔传感器检测码盘的变换可以直观的反映出刮板的运行状态。
霍尔控制模块电路如图3-11所示。
图3-11霍尔传感器电路图
当刮粪板运行时,电机拖动缆线运动,同时缆线会带动码盘运行。码盘上带有等距离的小洞,小洞的正上方配有光电发射器;下方配有霍尔传感器。
当刮板正常运行时,霍尔集成电路的输出电压会出现频率相同的PWM波,利用这一工作原理,可判断电机是否工作。若霍尔电压存在,单片机的P4.6端口会一直接收霍尔信号,表示电机正常运行;若霍尔电压不存在,单片机的P4.6端口不会接收霍尔信号,表示电机运行发生故障。
3.2.11AD转换模块
使用AD转换模块是为了将采集的环境数据转换成数字量信息以便于养殖人员记录和监控。本系统所采用的的AD转换芯片为PCF8591,一个8-bit CMOS数模转换芯片。
PCF8591数模转换模块电路如图3-12所示。
图3-12PCF8591数模转换模块电路图
PCF8591芯片具有3个地址引脚A0、A1、A2,可供硬件地址编程,具有4个模拟量输入引脚AIN0、AIN1、AIN2、AIN3,可将外部输入的模拟量转换成数字量输出到单片机。具有1个模拟量输出引脚AOUT,可将外部的数字量转换成模拟量输出。PCF8591与单片机之间通过I2C协议进行通信,最多可以与8个PCF8591进行双向通信。
光敏传感器连接在AIN0引脚,根据光照的强弱改变光敏电阻自身的阻值继而在AIN0的引脚上获得不同的数字量数据,通过一系列的转换得到光照强度值以供养殖人员了解畜牧养殖环境数据。
热敏传感器连接在AIN1引脚,根据靠近热敏电阻的热量改变热敏电阻自身的阻值继而在AIN1的引脚上获得不同的数字量数据,通过一系列的转换得到热量值。畜牧养殖人员可设置一个热量阈值,当采集到的热量值超过这一阈值即是畜牧养殖环境发生火灾,系统会立即发出警报以供畜牧养殖人员查看。
3.2.12有害气体检测模块
动物粪便经过分解后释放二氧化碳和含氨无机盐,含氨无机盐进一步分解会产生氨气。氨气可以灼伤动物皮肤、眼睛、呼吸器官的粘膜,如果畜牧养殖人员吸入过多,能引起肺肿胀,以至死亡。故而本系统设计了有害气体检测模块用于实时检测氨气等有害气体的浓度,如果发现有害气体浓度过高,系统会发出警报并且及时通风降低畜牧养殖环境中的有害气体浓度。
有害气体检测模块如图3-13所示。
图3-13有害气体检测模块实物图
有害气体检测模块电路图如图3-14所示。
图3-14有害气体检测模块原理图
若选择使用DOUT端输出TTL电平,MQ-135输出信号可以直接接单片机IO口,电位器RP在这里用于调节输出电平跳变的阀值,根据原理图可以分析,当传感器检测到被测气体时,比较器LM393管脚2点的电压值,跟传感器检测到气体的浓度成正比,当浓度值超过电位器RP设定的阀值时,比较器2脚的点位高于3脚的点位,这个时候,比较器1脚输出低电平,LED灯亮,R3为LED灯限流电阻,C1为滤波电容。
若选择AOUT端输出模拟量,可直接将AOUT脚接AD转换芯片的输入端或者带有AD功能的单片机。当传感器检测到被测气体时,电压每升高0.1v,实际被测气体的浓度增加20ppm,根据这个参数就可以在单片机里面将测得的模拟量电压值转换为浓度值。
3.2.13温湿度检测模块
室内畜牧养殖环境会产生较高的温度和湿度,会对本系统中的部分器件造成损伤。为了实时检测环境中的温湿度,本系统采用DHT11模块进行数据采集,以确保其他器件能够更好的运行。
DHT11温湿度传感器实物图如图3-15所示。
图3-15温湿度传感器实物图
DHT11模块采用单总线通信模式,即与单片机之间通过一根数据总线进行数据交流。为了防止温度数据和湿度数据传输混乱,采用独特的8+8的传输模式 ,先传输8位温度数据再传输8位湿度数据,大大减小了数据的错误率没降低了意外发生的可能。
3.2.13液晶显示模块
设计了智能化的上位机控制系统,主要有主界面,设置界面,控制界面。
主界面中有通过DS1302实时显示当前运行时间,显示当前运行模式,运行状态分为自动运行模式和手动运行模式,运行状态有正转,反转和停止,并配有异常报警以及下次运行时间。主界面如图3-16所示。
图3-16主页面图
设置界面包含时间日期设置,自动运行时间设置,循环次数设置,后退时间设置,异常情况处理,以及测试专用。时间日期设置通过更改界面参数,将修改数据通过串口屏发送给单片机,单片机对DS1302进行写入。设置界面如图3-17所示。
图3-17设置界面图
基于15单片机的系统使用串口通信将刮板进行状态显示到串口屏中。在运行模式中可以设置自动模式或者是手动模式。运行状态为正转、反转和停止。并且可以实时显示当前运行时间。在自动模式下,我们先定时相应的时间,然后当到达相应的时间时,刮板将会直接运行,我们设置了5个时间段,程序的设计通过中间值进行判断是否达到相应时间。
控制界面可以控制刮板的运行状态,通过按键控制运行模式,有停止、正转、反转和启用按键。控制界面如图3-18所示。
图3-18控制界面图
4软件设计
4.1整体程序设计
程序开始运行,各硬件模块进行初始化,CPU检测运行状态,自动调整运行中的各个参数。初始化数传模块,将环境数据上传到上位机,判断是否需要切换运行模式,如果上位机切换运行模式,系统重新初始化;若上位机不切换运行模式,系统自动运行。
整体程序设计如图4-1所示。
图4-1整体程序设计图
4.2分散模块程序设计
4.2.1串口程序设计
打开串口后首先进行串口初始化,打开串口中断,然后将所要发送的数据保存在数据存储区内。然后将数据存储器内的数据整体写入到USART,串口将数据发出,单片机判断数据是否发送完成。若单片机判断数据发送没有完成,则继续将数据存储器内的数据整体写入到USART,串口继续发送数据;若单片机判断数据发送完成,则结束本次发送,串口程序设计如图4-2所示。
图4-2串口程序设计图
4.2.2环境控制模块程序设计
首先进行串口初始化,当初始化完成后,上位机发送指令后判断串口是否接收到指令,如果串口没有接收到上位机发送的指令,则串口继续检测,如果串口接收到了上位机发送的指令,则CPU对指令进行判断,并控制运行状态做出相应的改变。
动作控制模块程序设计如图4-3所示。
图4-3环境控制模块程序设计图
4.2.3运行状态控制程序设计
当串口初始完成后,检测上位机是否下发改变工作模式的指令,如果下发了,则系统切换成手动模式;如果没有下发,则继续执行自动模式。当刮粪板到达预定时间时,系统会自动运行刮粪板,直到运行结束。运行状态控制程序设计如图4-4所示。
图4-4运动状态控制程序设计图
4.2.4ADC程序设计
首先,初始化ADC,完成后配置数据总线模式,等待接收数据。若接收到ADC数据反复取值得到平均值,将所得到的数据按照效应的公式进行转化,将最后的数据存入到单片机中。 ADC程序设计如图4-5所示。
图4-5 ADC程序设计图
4.2.5I2C总线程序设计
首先,设置总线的硬件连线,配置好所需要的两个引脚,然后配置设计I2C总线的协议,测试协议是否接收到数据,若可以通信则将所需要的硬件连接在I2C总线上,分配好各个硬件的地址,单片机与硬件进行双向通信。
I2C总线程序设计如图4-6所示。
图4-6I2C总线程序设计图
ADC转换模块,AT24C02模块与单片机通信是通过此程序完成的,其中一条I2C总线可以携带8个硬件模块,每个硬件的地址不同。单片机与硬件模块通信时,首先要发送硬件模块的地址,硬件模块应答后单片机再发送数据。I2C通信方式与串口通信方式是本系统所应用的两大通信方式。
5系统调试
5.1硬件调试
5.1.1TTL转232模块调试
我们在进行硬件调试时发现,主控板的信号通过SP3232模块后无法实现与上位机通信,我将此模块放下继续调试其他模块,在保证其他模块都没有问题的时候,我怀疑是这个SP3232芯片已经被我烧毁,在更换了一枚新的芯片之后,主控板的信号通过SP3232模块后实现与上位机通信,至此可以确定是芯片出了毛病。
在我解决了主控板与上位机无法通信的毛病后又发现通过SP3232芯片所发送的数据出现乱码的情况,而我是官方的开发板发现程序没有出现乱码的情况。我可以确认是我的硬件部分出现了问题,但我又没有找到问题所在。在查阅资料后发现,TTL转232模块有很多种型号,我仔细的对比了我的硬件和官方开发板的硬件后发现我是用的SP232芯片而不是SP3232芯片。在我重新更换芯片后,发送的数据就完全没有问题了。
SP232芯片与SP3232芯片的主要区别如表5-1所示
表5-1SP232与SP3232主要区别
MODEL | Power | Drivers | Receivers | External
Components | Pins |
SP232 | 5V | 2 | 2 | 4 | 16 |
SP3232 | 3.3V | 2 | 2 | 4 | 16 |
5.1.2霍尔电路调试
在调试霍尔电路时,发现了一个致命的问题,霍尔传感器上的电压没有出现一个峰值。期初我们以为是霍尔传感器受到了现场磁场的影响,当我们在一个没有任何磁场影响的地方测试发现问题并没有解决。随后我们想到可能是因为霍尔传感器已损坏,在我们更换新的霍尔传感器之后发现CPU可以接受到电压峰值但所接受的信号不是连续的电压峰值。
对于单片机接受的信号不是连续的电压峰值这个问题,我怀疑是霍尔传感器没有安装到位,霍尔传感器的光电探头没有正对轨道的转盘。当我重新安装霍尔传感器之后,单片机接收到了连续的电压峰值,当出现高电平时表示轨道的转盘向前旋转了一个单位,我们通过计算高电平的个数就可以算出刮板向前运动的距离,通过检测霍尔信号就可以判断刮板的运行状态。
霍尔信号示意图如图5-1所示
图5-1霍尔信号示意图
5.1.3电源模块调试
在调试电源模块时,在12V降5V降压电路发现了巨大的问题。在接通电源时由经降压模块的电压被迅速降低,与此同时电源的电流迅速上升。出现这个问题后迅速切断电源防止电流过大烧毁其他器件,出现这个问题有两个可能,一个是电源的正负极接反了,另一个可能是有其他器件的VCC与GND短接。由于我用的是直流稳压电源对系统的电源模块供电,若出现电源的正负极接反了,直流稳压电源会立即断电,但并没有出现这样的现象,故而排除了第一种可能。在经过我仔细检查电路发现,其他模块中出现了正负极短接的情况,经过重现焊接后此故障排除。
在调试12V降3.3V电路时,也发现了和之前一样的毛病,原因是降压模块的正负极反接。在经过重新焊接之后,电源模块可以正常工作。
5V降压电路的输入电压与输出电压的数值如表5-2所示。
表5-212V降5V测试表
第一次测试 | 第二次测试 | 第三次测试 | 第四次测试 | 第五次测试 | |
输入电压(V) | 12 | 12 | 12 | 12 | 12 |
输出电压(V) | 5.01 | 5.0 | 5.01 | 4.99 | 5.01 |
5V降压电路得到的输入信号和输出信号如图5-2所示。
图5-212V降5V示意图
3.3V降压电路的输入信号和输出信号如图5-3所示。
图5-312V降3.3V示意图
3.3V降压电路的输入电压与输出电压的数值如表5-3所示。
表5-312V降3.3V测试表
第一次测试 | 第二次测试 | 第三次测试 | 第四次测试 | 第五次测试 | |
输入电压(V) | 12 | 12 | 12 | 12 | 12 |
输出电压(V) | 3.28 | 3.29 | 3.29 | 3.30 | 3.28 |
5.1.4液晶显示调试
液晶显示模块采用淘晶驰电子科技有限公司生产的TJC8048K070_011X型的串口屏,在调试电路时发现CPU的数据无法写入串口屏。期初以为是串口屏的设置出现问题,在经过重新设计串口屏的界面时发现问题没有解决。此时的界面如图5-4所示。
图5-4 主界面无法通信示意图
经过几次设计发现没有任何问题, 我怀疑是程序出了问题,无法将数据发送出来。随后使用串口助手单独检测发送函数。发现发送函数没有任何问题,通信成功示意图如图5-5所示。
图5-5通信成功示意图
经过了反复阅读串口屏使用手册发现串口屏的默认波特率为9600,而本系统所采用的波特率为115200,单片机的波特率与串口屏的波特率不一致导致无法通信。在更改串口屏的波特率之后,串口屏可以显示数据。串口屏显示数据如图5-6所示。
图5-6通信成功示意图
5.2软件调试
5.1.4串口程序调试
在调试串口2程序时遇到了一点小问题,参考串口1的程序写出了串口2的程序,发现串口2的程序无法执行。以为串口2的状态寄存器是SCON2,串口2的发送/接收缓存寄存器是BUSF2,始终无法通过编译。后来查看了STC15的参考手册发现串口2的状态寄存器是S2CON,串口2的发送/接收缓存寄存器是B2USF。将串口程序修改之后实现了单片机串口2的通信。串口2与串口助手通信成功如图5-7所示
图5-7串口2与串口助手成功通讯示意图
5.1.4I2C程序调试
在调试I2C协议时发现单片机无法与I2C总线上的元器件进行双向通信。在确保I2C协议的硬件连线没有任何问题,其问题出现在I2C协议的时序图上。
I2C协议信号产生的时序图如图5-8所示。
图5-8I2C协议的起始信号和停止信号产生的时序图
在更改了I2C协议的起始程序和终止程序后,对应答程序和发送程序进行更改。I2C协议先传输数据的最高位(MSB),等待从机的应答或继续发送下一个所需要发送的数据,当从机接受完数据后释放时钟线SCL,数据传输继续。I2C总线的响应如图5-9所示。
图5-9I2C总线的响应示意图
6 总结与展望
从本项目的创立,从第一次设计硬件电路到第一次PCB制版,从一次次的修改硬件到最终完成好全部的硬件电路。完成这一切一共花费了两个多月的时间,两个月相比于我的大学四年生涯并不算长,但是却是我大学四年里收获最多的一段时光,两个多月的时间让我复习了大学四年里所学过的知识,特别是硬件调试部分,不仅复习了以前的知识,还学会了更多的知识。这款单片机对于我来说是一款新的型号、新的挑战,在不断地学习中掌握了单片机的基本用法,为我以后学习其他型号的单片机打下了坚实的基础。
本设计是以STC15W4K58S4为主控芯片,可以通过无线终端来控制畜牧养殖的环境,同时可根据不同的环境通过人工设置环境运行参数来调整刮板的运行时间和运行状态,还可及时的进行事故预警,提高畜牧养殖的智能化程度。
本设计积极响应国家有关号召,专注于解决畜牧养殖人员在日常养殖过程中所面临的诸多问题(特别是在于提高畜牧养殖效率,保护养殖人员身体健康方面),相比于传统的畜牧养殖方式主要具以下四点优势。
⑴不需要畜牧养殖人员在养殖环境中,养殖人员通过上位机终端控制养殖环境,操作简单方便,大大提高了畜牧养殖效率;
⑵传统养殖方式需要养殖人员长期呆在养殖环境中,无法避免人和有害气体长时间接触,具有很大的危险性。本系统通过上位机终端控制避免了畜牧养殖人员与有害气体的直接接触,保护了养殖人员的身体健康[19];
⑶本系统采用单片机开发,支持二次开发,相比于传统的畜牧养殖方式智能化程度更高;
⑷本系统相比于传统的畜牧养殖方式,本系统的成本低,出售价格便宜,能够让更多人的养殖人员使用。
本系统对于智能化畜牧养殖而言只是一个开始,未来对于智能化畜牧养殖的研究方向主要有以下五个方面。
⑴开发出更多类型的APP,实现手机对于畜牧养殖远程无线控制;
⑵寻找更加经济实惠的硬件,降低成本,让更多的畜牧养殖人员使用;
⑶增加物联网功能,将数据存放在云数据库;
⑷研究不同畜牧养殖的生活特性,使系统应对不同用户的需求;
⑸向着更加智能化方向发展,将养殖、监测、除粪、供给等功能融合到一个系统中。
随着国家对于科技的不断重视,科技水平不断进步,产品更加智能化,本系统的功能会更加全面,相信在不久的将来,本设计会给畜牧养殖行业带来一次飞跃性的发展。
由于本人能力有限,又加上时间过于紧迫,本设计还存在一些不足之处,有待完善,希望各位能积极给与建议。
1、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“文章版权申述”(推荐),也可以打举报电话:18735597641(电话支持时间:9:00-18:30)。
2、网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
3、本站所有内容均由合作方或网友投稿,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务。
原创文章,作者:1158,如若转载,请注明出处:https://www.447766.cn/chachong/132659.html,