基于my-DAQ的温室迷你温室设计
这是一个小项目,采用NI的my-DAQ做数据采集,需要采集的数据有温度(LM35),气体(MQ2),需要控制的设备有风扇、加热棒,另外还有光照亮度调节。
一、数据采集
1.LM35
LM35是模拟输出的温度监控芯片,其输出电压和摄氏温度成线性比列关系,本项目采用的是TO92封装的LM35D,温度监测范围为0~100℃,工作电压在-0.2~+36V,其封装和引脚对应的关系如图1,需要注意的是,该图是底部视角。

图1.LM35D引脚对应关系
如果要简单使用,则GND接地,VSS接+5V,VOUT接my-DAQ的模拟输入端口即可。在这里我做了一个放大,用LM358,非轨对轨的运放,因此后面在调试的时候因为用错了反馈电阻,发现电压到不了+5V。附上运放电路,简单的同相比例放大。

图2 LM35+LM358电路图
可以算出,电压放大4倍,剩下的直接在LabVIEW中用公式即可计算出对应的温度,附上LM35D温度计算公式,注意在LabVIEW中还要除以4。

2.MQ2
这个没啥好说的,买的模块,有两种输出方式,一种是数字,一种是模拟,并且可通过电位器调整输出高电平的阈值。这里采用数字输出,直接在my-DAQ中检测数字量。
二、控制设备
需要从my-DAQ的数字输出端口输出信号控制这两个设备,这里用MOSFET作开关控制。采用的是IR7843 N沟道的MOSFET,在栅极串接一个20Ω的电阻,在栅源之间并联一个10k的下拉电阻,确保没有信号输入的时候是低电平,注意这个下拉电阻不能少,否则可能MOSFET不受控制。

图3 风扇、加热棒控制电路
三、亮度调节
这里采用光敏电阻+LM317自动控制的方式。电路图如下。

图4 光照亮度调节电路
四、总结
在做的过程中,有些小错误,在此记录一下。
1.栅源之间没有下拉电阻,导致MOSFET不受控;
2.LM35D和LM317的引脚对应错误,后来割线才解决;
3.输入输出接口准备采用接线端子,却画的2.54mm间距的孔,而现在主流都是间距5mm的接线端子,下次要注意。
附上电路图,PCB,实物照片

图5 总电路图

图6 PCB

图7 实物
如有需要,请加微信:SkyLine5277
基于my-DAQ的温室迷你温室设计的更多相关文章
- 基于 Angularjs&Node.js 云编辑器架构设计及开发实践
基于 Angularjs&Node.js 云编辑器架构设计及开发实践 一.产品背景 二.总体架构 1. 前端架构 a.前端层次 b.核心基础模块设计 c.业务模块设计 2. Node.js端设 ...
- 基于特定领域国土GIS应用框架设计及应用
基于特定领域国土GIS应用框架 设计及应用 何仕国 2012年8月16日 摘要: 本文首先讲述了什么是框架和特定领域框架,以及与国土GIS 这个特定领 ...
- 【科研论文】基于文件解析的飞行器模拟系统软件设计(应用W5300)
摘要: 飞行器模拟系统是复杂飞行器研制和使用过程中的重要设备,它可以用来模拟真实飞行器的输入输出接口,产生与真实系统一致的模拟数据,从而有效避免因使用真实飞行器带来的高风险,极大提高地面测发控系统的研 ...
- 基于UML的高校教务管理系统的设计与实现
一.基本信息 标题:基于UML的高校教务管理系统的设计与实现 时间:2018 出版源:南昌航空大学 领域分类:教育信息化:教务管理系统:UML:SSH:Oracle 二.研究背景 问题定义:高校教务管 ...
- Python 基于python+mysql浅谈redis缓存设计与数据库关联数据处理
基于python+mysql浅谈redis缓存设计与数据库关联数据处理 by:授客 QQ:1033553122 测试环境 redis-3.0.7 CentOS 6.5-x86_64 python 3 ...
- 基于SSH框架的考勤管理系统的设计与实现
基于SSH框架的考勤管理系统的设计与实现
- 基于Redis的限流系统的设计
本文讲述基于Redis的限流系统的设计,主要会谈及限流系统中限流策略这个功能的设计:在实现方面,算法使用的是令牌桶算法来,访问Redis使用lua脚本. 1.概念 In computer netw ...
- 文献综述十七:基于 sql环境下超市管理系统的设计与实现
一.基本信息 标题:基于 sql环境下超市管理系统的设计与实现 时间:2018 出版源:智能计算机与应用 文件分类:uml技术的研究 二.研究背景 从超市管理系统的实际应用出发,在系统分析过程中,从功 ...
- 基于React的贪吃蛇游戏的设计与实现
代码地址如下:http://www.demodashi.com/demo/11818.html 贪吃蛇小游戏(第二版) 一年半前层用react写过贪吃蛇小游戏https://github.com/ca ...
随机推荐
- Partition Array into Disjoint Intervals
2020-02-10 22:16:50 问题描述: 问题求解: 解法一:MultiSet O(nlog) 看了下数据规模,第一个想到的是multiset,肯定可以ac的,就直接敲了出来. public ...
- 学习mybatis框架时配置xml文件解决select莫名其妙报错问题
遇到这种情况,如果语法没有错误,那就可能是你的eclipse在耍你!!! 怎么弄呢,重新建立一个文件,把原来的代码复制到新的文件中就ok啦!不用谢我,我叫雷锋
- Go语言micro之快速搭建微服务
背景 go-micro给我们提供了一个非常便捷的方式来快速搭建微服务,而且并不需要提前系统了解micro,下面用一个简单的示例来快速实现一个服务. 创建Proto文件 因为我们要做微服务,那么就一定有 ...
- 常见Web安全漏洞--------sql注入
SQL注入:利用现有应用程序,将(恶意)的SQL命令注入到后台数据库执行一些恶意的操作.在mybatis 中比较容易出现:${} 会发生sql 注入问题 #{}: 解析为一个 JDBC 预编译语句(p ...
- ubuntu 如何在命令行打开当前目录
nautilus /var 打开var文件夹
- HBase 监控 | HBase Metrics 初探(一)
前言:对于任意一个系统而言,做好监控都是非常重要的,HBase也不例外.经常,我们会从JMX中获取相关指标来做展示.对HBase进行监控,那这些指标是怎么生成的呢?如果你想自定义自己的监控指标又该怎么 ...
- A 皮呵德
时间限制 : 5000 MS 空间限制 : 262144 KB 问题描述 Eyiz正在与邪恶的Dgdon战斗. 为了打败Dgdon,Eyiz决定召唤PhantasmDragon来帮助他. 但是,召 ...
- 面试必备:详解Java I/O流,掌握这些就可以说精通了?
@TOC Java IO概述 IO就是输入/输出.Java IO类库基于抽象基础类InputStream和OutputStream构建了一套I/O体系,主要解决从数据源读入数据和将数据写入到目的地问题 ...
- SpringAOP入门
Spring的AOP aop概述 Aspect Oriented Programing 面向切面(方面)编程, aop:扩展功能不修改源代码实现 aop采取横向抽取机制,取代了传统纵向继承体系重复性代 ...
- Spring MVC 笔记--配置基于JavaConfig
主要使用基于 JavaConfig 方式配置 配置 DispatcherServlet 通过继承抽象类AbstractAnnotationConfigDispatcherServletInitiali ...