光强的检测与控制系统设计

news2024/12/25 0:30:36

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、实习内容
  • 二、实习方法
    • 2.1 proteus仿真部分
    • 2.2 使用Altium designer软件绘制原理图
      • 2.2.1 工程创建
      • 2.2.2 绘制封装以及链接封装与原件原理图
      • 2.2.3检查原件原理图对应的封装
      • 2.2.4原理图设计
      • 2.2.5原理图ERC检查
      • 2.2.6 更新原理图“光强检测与控制电路.PcbLib”中所有元器件的封装
      • 2.2.7 生成PCB板
      • 2.2.8 设计安装孔
      • 2.2.9 元件布局
      • 2.2.10布线
      • 2.2.11 敷铜
      • 2.2.12补泪滴
      • 2.2.13 DRC 检查
      • 2.2.14焊接电路板
      • 2.2.15 Labview程序设计与前面板设计
      • 2.2.15 测试步骤
  • 总结


前言

完成光强检测与控制系统的硬件原理图设计,仿真、pcb设计以及电路的焊接、调试、完成光强检测与控制系统软件的编程与数据处理,实现光强信号实时测量以及报警。利用labview软件编程数据采集知识编写数据采集程序,实现光强信号实习测量以及控制


提示:以下是本篇文章正文内容,下面案例可供参考

一、实习内容

1.1 光强检测与控制电路设计与仿真,要求设计一个电路,能利用光敏电阻将光强信号转化为电压信号通过采集卡采集并输入计算机进行显示,同时利用采集卡的数字输出功能输出信号,驱动发光二极管发光,控制光强,并完成proteus仿真。
1.2 完成光强检测与控制电路板设计。利用Altium designer软件,完成原理图绘制、ERC检查,进行电路板布局布线,并DRC检查。
1.3 完成电路板的制作与焊接。
1.4 编写myDAQ光强检测与控制系统的labview程序,采集光强信号,并调节控制光强。
1.5 连接电路板和Mydaq采集卡测试程序的运行状况。

二、实习方法

2.1 proteus仿真部分

        首先我们对绘制的仿真电路图进行仿真,仿真电路包括两个部分,分别是光强检测电路与光强控制电路,光强检测电路主要包括光敏电阻和LM358放大器,光强控制电路主要为数字采集部分和发光二极管。
光强控制电路主要是利用Mydaq采集卡的数字输出功能输出信号,驱动发光二极管发光,通过控制Mydaq采集卡输出的信号,从而控制发光二级管的亮度,从而达到控制光强的目的。
        光强检测电路主要是利用光敏电阻,随着光强的增加,光敏电阻阻值越小,而光敏电阻阻值越小,从而是对外输出的电压值减少。这样,我们就可以利用这一点,通过使用万用表检测电压的变化,从而得到当前环境光强情况。仿真电路图如图1-1所示。
在这里插入图片描述

2.2 使用Altium designer软件绘制原理图

2.2.1 工程创建

第一步:桌面上新建一个文件夹
第二步:在上述文件夹下,创建一个名为“光强检测与控制电路”的文件夹
第三步:在上述文件夹下,创建一个名为 “光强检测与控制电路.PRJPCB”的设
计工程文件。
第四步:在上述建好的工程文件中,分别创建
        原理图文件(光强检测与控制电路.SchDoc)
        原理图库文件(光强检测与控制电路.SchLib)
        PCB 库文件(光强检测与控制电路.PcbLib)
第五步:工程界面如下图2-2-1
在这里插入图片描述

2.2.2 绘制封装以及链接封装与原件原理图

        打开原理图库文件(光强检测与控制电路.SchLib)和封装库文件(光强检测与控制电路.PcbLib),完成 LDR(光敏电阻)的原理图设计,及 LED(发光二极管)、LDR 和 LM358(放大器)的封装设计,其他器件均可在 AD 默认器件集成库和连接件集成库中找到,LM358 元件原理图可在“IC 芯片.SchLib”文件中 找到,具体如下图2-2-2、2-2-3、2-2-4、2-2-5所示:
在这里插入图片描述

2.2.3检查原件原理图对应的封装

执行 Reports→ Component Rule Check 命令
检查项设置如图2-2-6所示,检测结果如图2-2-7所示。
在这里插入图片描述

2.2.4原理图设计

(一)图纸大小为A4,水平放置
(二)按照图 1 和图 3 绘制光强检测与控制电路原理图,具体步骤如下:
从库中选择并放置图中的所有元器件(电源插件除外),可以放置过程中修改属性(方向,流水号,参数值)。
修改元器件的流水号。
a. 在元器件上双击鼠标左键;
b. 或在放置元器件的过程中,单击Tab键;
c. 或通过自动编号【Tools】/ 【Annotate】。
(三)按照电路图,对元器件进行位置的调整和方向的旋转方向的旋转,可以通过属性设置对话框中的“Orientation”实现,也可按空格键进行 0、90、180 和 360 四种角度的旋转。
此外,通过【X】键:使元件左右对调, 【Y】键:使元件上下对调。
(四)绘制元器件的电器连接。
(五)放置网络标号
  最后原理图图纸如图2-2-8所示:
在这里插入图片描述

2.2.5原理图ERC检查

(一)执行菜单命令[Project]/[Project Option],浏览原理图编译报告信息情况,根据电路需要设置ERC规则,其中三项改为严重错误级别,如图2-2-9、2-2-10所示。
在这里插入图片描述
(二)编译后差错

执行菜单命令[Project]/[Validate PCB Project],对原理图进行编译。
要求对Messages 面板中出现的错误、致命错误信息进行改正,警告信息可以忽略。编译后Massages如图2-2-11所示:
在这里插入图片描述
        Details内容原因是由于元器件的管脚带有输入、输出、电源等属性,不能直接相连,不然在编译时会报出net has no driving source的警告,此警告可以忽略。

2.2.6 更新原理图“光强检测与控制电路.PcbLib”中所有元器件的封装

        在原理图编辑环境中,执行菜单命令[Tools]/[Footprint Manager],按照对原理图所有元件逐一进行封装设置,检查元器件封装是否丢失和遗漏。若元器件封装需要修改,可通过右侧View and Edit Footprints 区域,选中所需的封装,右键–Set As Current,即可修改封装,如图2-2-12所示。
在这里插入图片描述

2.2.7 生成PCB板

使用AD软件创建 PCB,命名光强检测与控制电路.PcbDoc。完成后生成的 PCB 板如图2-2-13所示。
在这里插入图片描述
绘制机械边框。在新建的PCB编辑区中,选中Mechanical层。用实用绘图工具中的 Line,画一个 4000*2000mil 的矩形框(边框尺寸为可选项,可以不加),如图 2-2-14 所示。
在这里插入图片描述

2.2.8 设计安装孔

        安装孔位置位于 PCB 板四个角,安装孔切线距离电气边界 50mil(距离 PCB板框 100mil),其它参数设置如图 2-2-15所示。设置好安装孔的 PCB 如图 2-2-16 所示。注意单位切换:Ctrl+Q。
在这里插入图片描述

2.2.9 元件布局

1.  按照布局原则,完成手动布局,本例主要考虑的原则如下:
(1) 首先放置与结构紧密配合的固定位置元件,如接插件,并考虑放在电路板上容易操作的地方。
(2) 按照信号流向进行布局,集中就近原则。
(3) 以核心元器件为中心,其它均匀、整齐、紧凑排列,按照就近原则,同时尽量减少引线,进行布局。
2. 布局原则
① PCB 尺寸形状
PCB 尺寸过大,因制线路较长,阻抗相应增加,抗噪声能力减弱,成本高。
PCB 尺寸过小,元器件排列紧密,散热不好,易产生干扰。 电路板的最佳形状是矩形,长宽比为 3:2 或 4:3。
② 按照电路模块进行布局
元器件采用集中就近原则,同时数字电路和模拟电路分开。
③ 元件放置顺序
首先放置与结构紧密配合的固定位置元件,如电源插座、指示灯、开关和连接插件等。再放置特殊元件,例如发热元件、变压器、集成电路等。最后放置小元件,例如电阻、电容、二极管等。
④ 按照电路功能布局
如果没有特殊要求,尽可能按照原理图的元件安排对元件进行布局,信号从左边进入、从右边输出,从上边输入、从下边输出。
⑤ 按照电路流程安排各个功能电路单元的位置,使信号流通更加顺畅。
⑥ 具体放置原则
功能电路,以核心元器件为中心,其它均匀、整齐、紧凑排列,尽量减少引线和连接。元器件平行排列,美观和容易焊接,元器件距边缘距离不小于 2mm。贴片器件一般单边对齐,封装方向与字符方向一致。IC 芯片单边对齐,同一PCB 板标志不得多于两个方向,出现两个方向时,两个方向互相垂直。

2.2.10布线

参照布线原则进行布线
推荐手动布线,也可以自动布线+手工调整,具体步骤为:
① 执行命令 Design/Rules
② 电气规则:安全间距等电气规则采用默认值。
③ 布线规则中:导线宽度要求:地线宽度(GND)20mil,电源线(+15V, -15V、 +5V) 20mil,其它 10mil。
④导线宽度优先级:点击 Priorities 按钮进入导线宽度优先级设置对话框,利用 Decrease Priority 进行优先级的设置。
⑤设置生产规则
打孔尺寸:最大孔径 200mil。
⑥其它规则都采用默认值。
最后采用的方案是自动布线后手动调整不合理布线。

2.2.11 敷铜

1.  顶层敷铜
(1)选中顶层 Top Layer,点击敷铜多边形工具,选择所在层设为 Top Layer,网络 Net 设为 GND,点击 OK。
(2)依次点击电气边框四个顶点,绘制一个与其大小一致的矩形框,右键 结束绘制。
(3)右键单击绘制的矩形框,执行 Polygon Actions / Rebuild Select(快捷方式:Y-R)进行敷铜。顶层覆铜结果如图2-2-17。
在这里插入图片描述

  1.   底层敷铜
    参考顶层敷铜方法,注意敷铜对话框中所在层设为 Bottom Layer。底层覆铜结果如图2-2-18所示。
    在这里插入图片描述

2.2.12补泪滴

放置泪滴的步骤:
(1) 执行 Tools / Teardrops 命令,弹出泪滴设置对话框。
(2) Working Mode 设置栏,选择 Add 为添加泪滴。
(3) Objects 设置栏,选择 All,将对所有的焊盘 、导线及过孔放置泪滴。
(4) SCOPE 设置栏,设置泪滴的范围及尺寸,默认即可。
(5) 单击 OK 按钮,系统将自动按所设置的方式放置泪滴。 具体泪滴设置如下图,图2-2-19所示。
在这里插入图片描述

2.2.13 DRC 检查

  1. 执行菜单命令 Tools / Design Rule Check,弹出 Design Rule Checker 对话框,将“Silk To Silk Clearance”,“Silk To Solder Mask”,“Minimum Solder Mask Sliver”的 Online 复选框去掉,如图2-2-20所示。
    在这里插入图片描述
  2. 单击 Run Design Rule Check…按钮,启动设计规则测试。对出现的错误信息进行改正。DRC检查结果如图2-2-21所示。
    在这里插入图片描述

2.2.14焊接电路板

在这里插入图片描述

2.2.15 Labview程序设计与前面板设计

(1)Labview程序编写
Labview前面板参考,如下图2-2-23所示。Labview程序框图参考,如下图2-2-24所示。

在这里插入图片描述

2.2.15 测试步骤

1.将 NImyDAQ 采集卡通过 USB 线连接计算机。
2.用杜邦线将“光强测控电路模块”的 JP1、JP2、J1、J2 连接至 NImyDAQ 采集卡
的对应端子。
3.打开“myDAQ 光强检测与控制系统.vi”程序。
模拟输出通道设置:
软件界面中模拟输出通道选择 AO0,“光强测控电路模块”中 J1 连接至NImyDAQ 采集卡的 AO0 位置;
模拟输入通道设置:
软件界面中模拟输入通道选择 AI0,“光强测控电路模块”J2 中的 AI+连接至NImyDAQ 采集卡的 AI0+位置,AI-连接至 NImyDAQ 采集卡的 AI0-位置;
4.打开电源,运行程序,调节“光强控制”控件值,观察“光强测控电路模块”上发。
光二极管 D1 的亮度变化,同时观察软件界面光强曲线的变化。
5.仿照实验程序自行编写程序,并连接仪器测试程序的运行状况。

总结

本次虚拟仪器系统综合实践是一次非常有意义和充实的实习经历。通过实习项目的设计和完成,使我们在虚拟仪器技术系统方面的知识和技能得到了全面提升。这次实习任务包括两部分,分别是光强采集与控制系统设计以及多功能计算器设计。通过完成这两个任务,我们掌握了虚拟仪器系统的基本组成和设计思想。
在光强采集与控制系统设计实习过程中,我们通过绘制Proteus电路仿真图和对仿真图进行仿真,为我们接下来使用Altium Designer22进行绘制原理图打下坚实的理论基础。
在使用Altium Designer22绘制电路板的过程中,通过新建原理图、图纸设置、加载元件库、画元器件封装、编译查错、布线等一系列操作,使我复习了之前学过的电训4的内容的同时,也弥补了我在硬件方面的不足。
随着电路板的绘制完成,我们就开始焊接实物,焊接完成之后,再使用万用表测试之后,我们成功的完成了硬件实物的设计。最后,我们通过编写LabVIEW软件程序,实现了光强信号的实时测量和报警功能。在测试过程中,我们连接了焊接的实物和myDAQ数据采集平台,并对环境当中光强进行了评估。实验结果表明,系统运行正常,能够准确地检测当前环境当中光的强弱。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1148852.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python不同版本的下载安装和配置

python下载和安装 1 基础软件安装 sudo apt update sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev wget2 python压缩文件下载 我这里下载的是3.9.9,各位也可以根据自己需要下…

精品Python的定制化图书借阅推荐引擎设计与实现

《[含文档PPT源码等]精品基于Python的定制化图书推荐引擎设计与实现》该项目含有源码、文档、PPT、配套开发软件、软件安装教程、项目发布教程、包运行成功! 软件开发环境及开发工具: 开发语言:python 使用框架:Django 前端技…

【机器学习】loss损失讨论

大纲 验证集loss上升,准确率也上升(即将overfitting?)训练集loss一定为要为0吗 Q1. 验证集loss上升,准确率也上升 随着置信度的增加,一小部分点的预测结果是错误的(log lik 给出了指数级的惩…

VSCode编写Unity代码自动补全配置

1.下载并安装.NET 7.0(C#插件需要)和.NET Framework 4.7.1(Unity需要) .NET 7.0下载链接:https://dotnet.microsoft.com/en-us/download .NET Framework 4.7.1下载链接:https://dotnet.microsoft.com/en-…

Python 日期和时间处理教程:datetime 模块的使用

Python 中的日期不是独立的数据类型,但我们可以导入一个名为 datetime 的模块来使用日期作为日期对象。 示例:导入 datetime 模块并显示当前日期: import datetimex datetime.datetime.now() print(x)日期输出 当我们执行上面示例中的代码…

Java利用Scanner类,从键盘接受一个字符串输入,该字符串包含小写字母,大写字母和数字。分别输出该字符串所包含的大写字母、小写字母和数字的个数。

题目要求:利用Scanner类,从键盘接受一个字符串输入,该字符串包含小写字母,大写字母和数字。分别输出该字符串所包含的大写字母、小写字母和数字的个数。 import java.util.Scanner;public class Demo1 {public static void main(…

算法篇 : 并查集

介绍 英文名:union find set 作用:合并集合,查询集合 合并:将有直接关系的顶点放在一个集合里面 查找:查询某个顶点所属的集合 集合的标志:用祖先点的标号作为每个集合的标识 案例 如果说将下图的集合2合并…

H5游戏源码分享-接苹果游戏拼手速

H5游戏源码分享-接苹果游戏拼手速 看看在20秒内能接多少个苹果 <html> <head><title>我是你的小苹果</title><meta charset"utf-8"/><meta name"viewport" content"initial-scale1, user-scalableno, minimum-scale…

【DevChat】智能编程助手 - 使用评测

写在前面&#xff1a;博主是一只经过实战开发历练后投身培训事业的“小山猪”&#xff0c;昵称取自动画片《狮子王》中的“彭彭”&#xff0c;总是以乐观、积极的心态对待周边的事物。本人的技术路线从Java全栈工程师一路奔向大数据开发、数据挖掘领域&#xff0c;如今终有小成…

【unity小技巧】unity排序问题的探究

文章目录 前言一、排序图层二、sorting Group的使用三、树木排序设计方法一 代码控制方法二 拆分图片方法三 透视排序1. 普通物品排序2. TileMap瓦片排序设计 完结 前言 unity的排序问题其实之前分享的项目多多少少都有提到一点&#xff0c;但是没有单独拿出来说&#xff0c;所…

常用第三方库

Moment GTC(Greenwish Mean Time)&#xff1a;格林威治时间&#xff0c;太阳时&#xff0c;精确到毫秒UTC(Universal Time Coodinated)&#xff1a;世界协调时间&#xff0c;原子种计时&#xff0c;精确到纳秒 GTC和UTC都是以0时区作为标准时间戳&#xff1a;以UTC的1970-1-1 …

天气数据可视化平台-计算机毕业设计vue

天气变幻无常&#xff0c;影响着我们生活的方方面面&#xff0c;应用天气预报信息可以及时了解天气的趋势&#xff0c;给人们的工作、生活等带来便利&#xff0c;也可以为我们为未来的事情做安排和打算&#xff0c;所以一个精准的、易读 通过利用 程序对气象网站大量的气象信息…

H5游戏源码分享-命悬一线

H5游戏源码分享-命悬一线 在合适的时机跳下绳子&#xff0c;能安全站到木桩上&#xff0c;就通过。 游戏源码 <!DOCTYPE html> <html> <head><meta http-equiv"Content-Type" content"text/html; charsetutf-8" /><meta name&…

Mybatis延迟加载(缓存)

延迟加载 分步查询的优点&#xff1a;可以实现延迟加载&#xff0c;但是必须在核心配置文件中设置全局配置信息&#xff1a;lazyLoadingEnabled&#xff1a;延迟加载的全局开关。当开启时&#xff0c;所有关联对象都会延迟加载 aggressiveLazyLoading&#xff1a;当开启时&…

Openssl数据安全传输平台017:Linux客户端代码的编译与调试-Bug记录

文章目录 1 在windows上先预编译2 Centos上进入项目文件夹进行编译2.0 最终的编译指令2.1 找不到lprotobuf&#xff0c;找不到protobuf的google文件夹2.1.1 编译指令及提示2.1.2 问题分析2.1.3 解决办法 2.2 json类中方法unreference2.2.1 编译指令及提示2.2.2 问题分析 *** 最…

hadoop权威指南第四版

第一部分 HaDOOP基础知识 1.1 面临的问题 存储越来越大&#xff0c;读写跟不上。 并行读多个磁盘。 问题1 磁盘损坏 – 备份数据HDFS 问题2 读取多个磁盘用于分析&#xff0c;数据容易出错 --MR 编程模型 1.2 衍生品 1 在线访问的组件是hbase 。一种使用hdfs底层存储的模型。…

Spring中Bean的完整生命周期!(Bean实例化的流程,Spring后处理器,循环依赖解释及解决方法)附案例演示

Bean实例化的基本流程 加载xml配置文件&#xff0c;解析获取配置中的每个的信息&#xff0c;封装成一个个的BeanDefinition对象将BeanDefinition存储在一个名为beanDefinitionMap的Map<String,BeanDefinition>中ApplicationContext底层遍历beanDefinitionMap&#xff0c…

寻找倒数第K个节点

这篇文章也是凑数的 ... 寻找倒数第K个节点 描述 : 找出单向链表中倒数第 k 个节点。返回该节点的值。 题目 : LeetCode 返回倒数第K个节点 : 面试题 02.02. 返回倒数第 k 个节点 说明 : 给定的 k 保证是有效的。 分析 : 我们给出个例子 : 首先&#xff0c;我们创建两个…

Java-API简析_java.io.FilterOutputStream类(基于 Latest JDK)(浅析源码)

【版权声明】未经博主同意&#xff0c;谢绝转载&#xff01;&#xff08;请尊重原创&#xff0c;博主保留追究权&#xff09; https://blog.csdn.net/m0_69908381/article/details/134106510 出自【进步*于辰的博客】 因为我发现目前&#xff0c;我对Java-API的学习意识比较薄弱…

ubuntu安装tinycudann

tinycudann几乎是nerf开发环境必备的条件之一。在测试sdfstudio和nerfstudio都需要安装tinycudann。按照官方的操作步骤&#xff0c;最简单的安装步骤为&#xff1a; pip install githttps://github.com/NVlabs/tiny-cuda-nn/#subdirectorybindings/torch常见会出现如下两个问…