ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:333.13KB ,
资源ID:20096418      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/20096418.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(智能灌溉系统研究报告与设计方案Word格式.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

智能灌溉系统研究报告与设计方案Word格式.docx

1、在实际设计计算中,需进行软管的拉压的疲劳强度的校核,及齿轮传动的校核计算。通过查机械设计的手册可以计算出所需的材料及其他要求。在进行设计的过程中,我们查阅了上市的喷头的基本的工作原理,对其有了初步的了解。在进行结构设计得过程中,我们查阅了相关的机械原理、机械设计方面的书籍,增长了我们的机械方面的知识及解决机械设计问题的能力。 具体构件可参见所附的proe零件图及整体装配图。硬件电路部分设计A.湿度传感器方案我们采用通DX-S2型土壤湿度传感器,通过测出被测土壤的介电常数,并根据土壤容积含水率与土壤介电常数之间的非线性关系推导出土壤的容积含水率和重量含水率。本传感器对土壤水分变化有很高的灵敏度,

2、因此温度、盐分、土壤性质变化因素的影响相对比较小,如果要求测量结果准确度高,应酌情对这些因素的影响进行修正。或采取其它措施减少这些因素的干扰。湿度传感器各项参数如下:测量参数 土壤容积/重量含水率 量 程 450%(绝对重量含水率) 精 度 误差不超过2% 响应时间 响应在1秒内进入稳定 工作环境 -30+55 工作电压 4.55.5VDC,典型值5.0VDC 工作电流 50mA 输出信号 02.5VB.运算放大器方案传感器输出的电压信号为毫伏级,需要通过运放将信号放大,对运算放大器要求很高。 基于此,我们考虑了可以采用以下几种方案:方案 一 、利用普通低温漂运算放大器构成多级放大器。普通低温

3、漂运算放大器构成多级放大器会引入大量噪声。由于 A/D 转换器需要很高的精度,所以几毫伏的干扰信号就会直接影响最后的测量精度。在调试中误差较大,所以,此种方案不宜采用。方案二、由高精度低漂移运算放大器构成差动放大器。差动放大器具有高输入阻抗,增益高的特点,可以利用普通运放 ( 如LM324) 做成一个差动放大器。U1-U3组成仪表放大器,U4构成电压跟随器,用于调零电路. 基于以上分析,我们采用此种放大方式,(四集成度,芯片型号LM324)C.电机方案 由于对浇灌机械臂的转速要求不高,且要实现精确定位,而且步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、

4、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点,使得在速度、位置等控制领域用步进电机来控制变的非常的简单。由此,电机采用四相六线混合式步进电机,以实现对喷灌机械臂的转动控制。 在最初的电机驱动方案中,采用L298芯片+二极管吸收电路,用设计好的开关电源给L298以及步进电机供电。电路经keil+proteus仿真后可以实现对电机的控制,仿真阶段未出现任何问题。电路图如下:但此电路在实际调试中,由于从l298的2、3、13、14脚输出信号变化较快,二极管导通出现问题;

5、电机正转调试c语言子程序如下:#includevoid delay1s(void) unsigned char j,k; for(j=50;j0;j-) for(k=100;kk-); main() unsigned char a8=0x24,0x35,0x11,0x39,0x28,0x3a,0x12,0x36 ; unsigned char b; unsigned char i=0;while(i=50) for(b=0;b8;b+) P1=ab; delay1s(); i+; 1、电机的转速控制:上程序中,通过j、k的取值,可以控制延时程序延时的时间,进而控制步进电机的转动频率,进而实现对

6、电机速度的控制。实际应用中,可将其设置为函数间接口的变量,以实现调速。2、电机的转动位置控制:在while循环中,没执行一次,电机转动一个齿距角。由于所用电机为50齿,所以每完成一次上述程序,电机转动一周。转动角度与i的取值关系为:可以将i设置成函数间接口的变量,通过对其赋值实现精确定位。3、实现正反转反转程序只需将0x24,0x35,0x11,0x39,0x28,0x3a,0x12,0x36的顺序倒过来,即依次为0x36,0x12,0x3a,0x28,0x39,0x11,0x35,0x24,依次循环。在运行时,电机的各项性能已经满足使用需要,但仍有需改进的地方:此电机在高频状态,转速较高时,

7、易出现丢步、振动现象,需用细分方案来解决;另外,电机驱动电路的散热方法亦非尽善尽美,需要更好的解决方案。D显示部分设计:在每次湿度传感器采集到数据时,由单片机驱动液晶显示器显示土壤湿度。我们选用了成都市飞宇达实业有限公司出品的FYD12864-0402B型的液晶显示模块。此模块提供硬体光标及闪烁控制电路,由地址计数器的值来指定DDRAM中的光标或闪烁位置。该模块具有2.75.5V的宽工作电压范围,且具有睡眠、正常及低功耗工作模式,可满足系统各种工作电压及便携式仪器低功耗的要求。液晶模块显示负电压,也由模块提供,从而简化了系统电源设计。模块同时还提供LED背光显示功能。除此之外,模块还提供了画面

8、清除、游标显示/隐藏、游标归位、显示打开/关闭、显示字符闪烁、游标移位、显示移位、垂直画面旋转、反白显示、液晶睡眠/唤醒、关闭显示等操作指令。下图为液晶显示程序流程图: 下图为proteus仿真图: E 、舵机控制方案 舵机是一种位置伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统。其工作原理是:控制信号由接收机的通道进入信号调制芯片,获得直流偏置电压。它内部有一个基准电路,产生周期为20ms,宽度为1.5ms的基准信号,将获得的直流偏置电压与电位器的电压比较,获得电压差输出。最后,电压差的正负输出到电机驱动芯片决定电机的正反转。当电机转速一定时,通过级联减速齿轮带动电位器旋转,使

9、得电压差为0,电机停止转动。单片机系统实现对舵机输出转角的控制,必须首先完成两个任务:首先是产生基本的PWM周期信号,本设计是产生20ms的周期信号;其次是脉宽的调整,即单片机模拟PWM信号的输出,并且调整占空比。当系统中只需要实现一个舵机的控制,采用的控制方式是改变单片机的一个定时器中断的初值,将20ms分为两次中断执行,一次短定时中断和一次长定时中断。这样既节省了硬件电路,也减少了软件开销,控制系统工作效率和控制精度都很高。 具体的设计过程:例如想让舵机转向左极限的角度,它的正脉冲为2ms,则负脉冲为20ms-2ms=18ms,所以开始时在控制口发送高电平,然后设置定时器在2ms后发生中断

10、,中断发生后,在中断程序里将控制口改为低电平,并将中断时间改为18ms,再过18ms进入下一次定时中断,再将控制口改为高电平,并将定时器初值改为2ms,等待下次中断到来,如此往复实现PWM信号输出到舵机。用修改定时器中断初值的方法形成了脉冲信号,调整时间段的宽度便可使伺服机灵活运动。F.电源部分设计对于此系统的供电问题,由于需要对电机供电,因此需要大电流,传统的线性电源,体积笨重,内阻大,效率低,大电流时驱动负载能力差,因此我们采用了开关电源,内阻小,适合强电流供电。其电路图如上,通过电路的连接,我们得到了12V (2A)5V(1A)3.5V(1A)三路电源,而且调试成功。对于此电路有一个亮点

11、就是,电源系统中有两个开关控制电路,一个是对强电的开关控制,另外一个是对变压器副边整流后电压的开关控制以达到稳压目的,普通的稳压管,如果整流后的电压为16V而稳压管是12V则在负载电流为1A时,稳压管的功率是4W,此时稳压管发烫,而且电能浪费,而对于由UA741控制的初步稳压电路可以实现在负载电流为1A使稳压功耗不足1W. 电路原理图如下: G、对单片机的改进设计 在进行实验过程中,由于处理中断较多,我们感觉到51单片机的片内资源不够,增加芯片势必增加电路板的体积。所以我们最后学习并采用了MSP430的单片机来改进我们的系统。 MSP430F247单片机具有超低功耗、集成高性能的模拟器件、16

12、位RISC结构的CPU、在线编程、多时钟、集成开发环境简单等特点。片内资源丰富,有ADC,PWM,若干TIME,串行口,WATCHDOG,FLASH,比较器,模拟信号等。另外在本系统中我们需要应用多路A/D转换功能,本单片机刚好为我们提供了8路A/D转换接口。同时本单片机具有强大的处理功能,采用了精简指令集( RISC )结构,具有丰富的寻址方式( 7 种源操作数寻址、 4 种目的操作数寻址)、简洁的 27 条内核指令以及大量的模拟指令;大量的寄存器以及片内数据存储器都可参加多种运算;还有高效的查表处理指令;有较高的处理速度,在 8MHz 晶体驱动下指令周期为 125 ns 。这些特点保证了可

13、编制出高效率的源程序。低功耗是目前一项很令人关注的性能指标,MSP430 系列单片机的电源电压采用的是 1.83.6V 电压。因而可使其在 1MHz 的时钟条件下运行时, 芯片的电流会在 200400uA 左右,时钟关断模式的最低功耗只有 0.1uA 。其次是独特的时钟系统设计。基本时钟系统和锁频环( FLL 和 FLL+ )时钟系统或 DCO 数字振荡器时钟系统。由系统时钟系统产生 CPU 和各功能所需的时钟。并且这些时钟可以在指令的控制下,打开和关闭,从而实现对总体功耗的控制。当系统处于省电的备用状态时,用中断请求将它唤醒只用 6us 。并且该单片机内的片内可擦写FLASH为我们提供了一个

14、很方便的存储器,即使在掉电的情况下也不会改变内部的数据。Msp430F247单片机的种种功能刚好满足了我们的需求,正是它的存在,是我们的系统更加完善。 程序清单A、程序流程B、部分模块驱动程序: 1、液晶驱动: /*初始化液晶*/void initLCD(void) Delayms(50); WR_COM(0x30); Delay10us(20); Delay10us(5); WR_COM(0x0c); WR_COM(0x01); Delayms(20); WR_COM(0x06); CLR(); /*清屏*/void CLR(void)Busy(); RS_0; RW_0; E_1; _NO

15、P(); P4OUT=0x01; E_0;/*写控制字函数*/void WR_COM(unsigned char ins)Busy();RS_0;RW_0;E_1;P4OUT=ins;E_0;/*写数据函数*void WR_DAT(unsigned char dat)RS_1;P4OUT=dat;/*初始化I/O*void LCD_port_init(void) P5SEL =0X00; P4SEL =0X00; P5DIR|=BIT0; P5DIR|=BIT1; P5DIR|=BIT2; P4DIR =0XFF; P4OUT=0X00; initLCD();2、步进电机驱动:void pow

16、er(float t/*速度值,保留一位小数*/,unsigned char m) unsigned char gaodu=0; uchar b,c,d,e,f,g; f=m; while(f) for(c=0;cb-) g=b-1; P3OUT=ag; power_delay(t); f-; gaodu=m-f; d=gaodu/10; e=gaodu%10; now_hight9=d+0x30; now_hight10=e+0x30; write_char(now_hight,0,1);void anti_power(float t/*速度值,保留一位小数*/,unsigned char

17、m) uchar b,c,d,e,f; f=0; while(m) P3OUT=ab; f+; m-; gaodu=70-f;void anti_power_d(float t/*速度值,保留一位小数*/,unsigned char m) gaodu=ii-f;3、舵机驱动: BCSCTL1=0x0; BCSCTL2=0x88; do IFG1&=OFIFG; for(i=0xff;ii-); while (IFG1&OFIFG)!=0); P1DIR=0XFF; P1SEL=0XFF; TACTL=0x2d2; CCTL1=OUTMOD_7; CCR0=20000; while(1) CCR

18、1=2000; delay(); CCR1=1000;4、键盘驱动:/初始化P1中断void KEY_1_init(void) P1DIR=0; P1SEL=0; P1DIR|=BIT3; P1DIR|=BIT5; P1DIR|=BIT6; P1DIR|=BIT7; P1OUT=0X00; P1IE=0; P1IES=0; P1IFG=0; P1IE|=BIT0; P1IES|=BIT0; P1IE|=BIT1; P1IES|=BIT1; P1IE|=BIT2; P1IES|=BIT2; P1IE|=BIT4; P1IES|=BIT4;/初始化P2中断+P3void KEY_2_init(vo

19、id) P2DIR=0; P2SEL=0; P2IE=0; /禁止P2口中断 P2IES=0XFF; /现在是下降沿触发 P2IFG=0; /标志寄存器清零,无中断请求。 P2IE|=BIT0; P2IES&=BIT0; P2IE|=BIT1;=BIT1; P2IE|=BIT2;=BIT2; P2IE|=BIT3;=BIT3; P2IE|=BIT4; P2IES|=BIT4; P2DIR|=BIT5; P2DIR|=BIT6; P2DIR|=BIT7; P2_7_H;/高阻 P3SEL=0; P3DIR=0XFF; P6SEL=0; P6DIR|=BIT3; /_EINT();int keyp

20、rocess(void) int np10,np11,np12,np13; int nres=0; /P1.5输出低电平 P1OUT=0xd0; np10=P1IN&BIT0; if(np10=0) nres=7; np11=(P1IN&BIT1)1; if(np11=0) nres=1; np12=(P1IN&BIT2)2; if(np12=0) nres=4; np13=(P1IN&BIT4)4; if(np13=0) nres=11;/取消键 /P1.6输出低电平 P1OUT=0xb0; if(np10=0) nres=8; if(np11=0) nres=2; if(np12=0) n

21、res=5; if(np13=0) nres=0; /P1.7输出低电平 P1OUT=0x70; if(np10=0) nres=9; if(np11=0) nres=3; if(np12=0) nres=6; if(np13=0) nres=12;/确定键 P1OUT=0x00; /恢复以前值 for(;) /读各个管脚的状态 if(np10=1&np11=1&np12=1&np13=1) /等待松开按键 break; return nres;int keyscan(void) /读取各个管脚的状态 /是否有键被按下 if(np10=0|np11=0|np12=0|np13=0) /有键被按下 Delay(50); if(np10=0|n

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1