labview中视觉光源控制器器软件怎么控制器

数字化LED光源控制器设计
> 数字化LED光源控制器设计
数字化LED光源控制器设计
  在现代自动化生产过程中,机器视觉系统广泛应用于工况监视、成品检验和质量控制等领域。机器视觉系统主要由照明系统、镜头、摄像机、图像采集卡和图像处理系统组成,通过、镜头及CCD等成像器件匹配图像采集及处理系统来进行产品的检查、识别等,此技术可大大减轻人工目检产品质量的负担,有效地提高检测效率,并有利于生产管理。照明系统是机器视觉系统的重要组成部分,是保证采集图像质量和应用效果的关键,而控制器是照明系统的核心,其主要作用就是针对具体应用场合提供不同的照明亮度和照明方式,从而提高照明的品质,获得高质量的图像。当前国内多数厂商生产的光源控制器是手动调节或通过RS232与Pc机通信进行调节,使用较为不方便,效率低,且成本较高。本文设计了一种新型光源控制器,该控制器以ST公司基于ARM Codex—M3内核的STM32微控制器STM32F107VCT6 为核心,通过即插即用,传输速度高 的USB接口与Pc机进行通信,实现Pc端应用软件对光源控制器参数的实时设定。利用STM32片内定时器实现PWM数字调光,以及脉冲频率,占空比的大范围调节,并通过定时器之间的协同工作保证精确定时。此外,该控制器实现了三种照明模式,分别是普通模式、频闪模式和外部触发模式。这种设计能够灵活适应机器视觉检测系统在不同场合应用中的需要。  1 总体方案设计  简单地说,光源控制器的主要功能是接收PC主机发来的预先定义好的各种命令和设置参数,经过主控制器处理,然后通过驱动电路控制光源按照设定实现数字PWM调光。  光源控制器按照体系架构可以划分为软件部分和硬件部分,其中软件部分又可以分为Pc端用户界面应用程序,USB驱动程序,控制器硬件固件。硬件部分可以分为主控模块和驱动模块。主控模块主要负责完成与Pc机的通信,命令响应,以及事物管理,它是整个控制器的核心部分。驱动模块主要为LED光源提供合适的驱动方式。LED光源常用的驱动方式有电感式驱动和电荷泵式驱动,其中电感式驱动电路适合驱动若干个相串联的LED。LED亮度控制方法可分为模拟调光和数字PWM调光两种。模拟调光通过改变LED电流来调整亮度。其缺点在于LED会随着正向电流改变而产生色偏现象,无法满足精度的要求。PWM调光通过开启和关闭LED来改变正向电流导通时间以达到亮度调整效果。由于LED都是以恒定的电流导通,因此不会出现模拟调光技术的色偏移问题。故本设计采用电感式驱动、PWM恒流调光。
光控开关相关文章:
声光控开关相关文章:
分享给小伙伴们:
我来说两句……
最新技术贴
微信公众号二
微信公众号一基于LabVIEW的步进电机控制器的设计_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
基于LabVIEW的步进电机控制器的设计
上传于||暂无简介
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩1页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢查看: 2029|回复: 7
简单状态机-NI LabVIEW官方教程
TA的每日心情怒昨天&15:45签到天数: 706 天[LV.9]90FPS
“简单状态机”模板便于定义各段的执行序列。这种特定的实现通常称为摩尔机-下一个状态取决于当前状态的决定。代码段可以随意增减,执行顺序可以随意更改,不必对应用程序的结构作大改动。
3 _, C' O/ o5 W&&M' e% |- I; W3 k
目录; b3 r5 q# k" }) ?4 x3 ]; t9 G
范例开发者走查要求使用条件概述运行本模板修改本模板重要信息
1. 范例; E) N6 S4 |9 a) |8 N( Q* z
关于修改本模板以用于测量应用程序的范例,见创建项目对话框中的“有限次测量”范例项目。9 D8 @% Y8 |, i
2. 开发者走查关于本模板开发者走查的详细信息见ni.com。
3. 系统要求基础版、完整版或专业版开发系统+ F* G- R/ I" m6 L( y! p5 a( k8 n
4. 使用条件本模板适用于符合以下所有情况的应用程序:状态决策逻辑:确定何时转移至特定的状态
例如,对下列应用程序采用状态机模式非常有效:单个页面或包含多个选项卡的对话框。对话框的每个选项卡对应用于一种状态。用户单击特定的选项卡时,启动状态转移。对于每个选项卡,用户可执行的操作都包含在相应的状态中。自动取款机(ATM)。该应用程序可能涉及以下几种状态:等待用户输入、检查请求的金额是否超过账户余额、吐钞、打印收据等。执行一次测量,将结果记录至磁盘,然后等待其他用户操作的应用程序。该应用程序可能涉及以下几种状态:等待用户输入、执行测量、记录数据、显示数据等。( r/ [! M) @) D
5. 概述注:上图中的每一种状态对应于Main.vi中条件结构的一个分支。同时,每种状态:7 n' t. E+ E+ \) y
执行某项操作通过向While循环的移位寄存器传递指令,指定状态机的下一个状态。
初始化完成后,状态机转移至&Wait for Event&状态。该状态通过事件结构等待前面板发生改动。用户单击按钮时,由LabVIEW识别该事件,然后切换至事件结构的相应分支。接着由该分支发起状态转移,转移至相应的状态。每种状态可以访问一个数据簇。簇中包含的数据类型通过Data.ctl定义。State.ctl是一个自定义类型,罗列了有效的状态。用自定义类型实现状态转移的方法限制了可能的转移操作数量,减小了状态机陷入不可识别状态的可能性。只有Stop状态可以使应用程序停止运行。这种设计可以避免应用程序意外关闭或不完全关闭,原因是:
仅当用户需要停止应用程序时,才会运行关闭代码。关闭代码总是运行直到彻底完成。
同一时间只运行一种状态,由于采用了单个While循环,所有任务按相同速度执行。如需实现按多种速度执行或并行执行的任务,可考虑采用“队列消息处理器”或“操作者框架”模板,上述模板均可在创建项目对话框中找到。&Wait for Event&状态是唯一能识别用户输入的状态。程序接收用户输入时,状态机必须处于该状态下。
/ W- x+ J5 j# o4 J, \
6. 运行本模板在项目浏览器窗口,打开并运行Main.vi。单击各前面板控件,显示不同的弹出对话框。
- h% F8 T&&W. P4 Q) \/ D; h4 W
7. 修改本模板确定需求对本模板进行自定义之前,应确定以下问题:应用程序包含哪些状态?该问题的答案决定了需要添加的状态。对于每一种状态,下一个状态是什么?该问题的答案决定了发送至While循环移位寄存器的枚举型Next State的值。/ B0 z0 q+ \& m% U
) j5 T& Y. G) [' o4 [2 l! G) @
单个状态在一定条件下可转移至多个状态。例如,模板的&Wait for Event&状态可根据用户输入转移至另一状态。每一种状态需要访问何种类型的数据?该问题的答案决定了需要添加至Data.ctl的数据类型。可能出现哪些错误,应用程序应该如何响应这些错误?该问题的答案确定了错误处理的工作量。1 ]& r' q5 r/ q& s# v4 b$ P
添加初始化代码按照下列步骤为应用程序初始化添加代码:选择条件结构的Initialize条件分支。为应用程序初始化添加代码。例如,可能需要打开一个磁盘文件用于记录,可能需要对Data.ctl中的数据设定初始值。确定待转移的下一个状态。默认情况下,&Initialize&状态转移至&Wait for Event&状态:% P2 \&&k' T/ a0 a) H
* N6 ~7 s+ k4 q2 T$ [
根据应用程序的需求,用户可修改该代码,转移至其他状态。
添加启动状态转移的控件在前面板上添加一个控件。选择条件结构的&Wait for Event&分支。在事件结构中添加事件分支。配置事件结构:当新控件的值发生变化时,触发事件。例如:' S$ I&&S5 m5 h4 r/ y9 E
1 t- U5 X* [" ]8 t$ F
单击确定。LabVIEW会在事件结构中创建一个分支。在分支中,为新控件拖曳程序框图接线端。确定用户与该控件交互后待转移的状态,将枚举型的值设为这个状态,然后连线至Next State输出隧道:
3 P4 ^. V7 K2 O* l: E; t
待转移的状态不存在的情况下,需要添加状态。2 Y0 @5 [2 H% a
7 \, R8 u0 l1 f" M
添加状态按照下列步骤,添加状态:更新State.ctl自定义控件,其中包含有效状态:0 ~1 u. ?5 e* p8 y6 G3 ]
选定一个State.ctl枚举型,然后打开自定义类型:
3 U) V, I8 P; z
LabVIEW会显示控件编辑器窗口。在状态枚举型中为新状态添加项。输入新状态的名称。例如:+ P. b' A9 @& M4 M! l
单击控件外的区域,保存名称。选择文件鐀用改动。( P: k, w: M$ f6 O. {7 h6 X( a
将状态添加至状态机:' y+ q2 R: x" t4 b2 Y" t
在Main.vi的条件结构中添加一个分支。为该状态添加执行代码。完成该步骤时,需注意下列事项:
通过“按名称解除捆绑”和“按名称捆绑”函数访问和修改状态数据:
; }; b1 z: O( l+ x: o
将函数的错误接线端与错误移位寄存器相连。连线“假”常量至布尔输出隧道。只有&Stop&状态可以使循环停止运行。必须为每种状态设定待转移的下一个状态。将下一个状态的值连接至&Next State&输出隧道。连入该接线端之前,还可以按条件实现一定的逻辑。下图显示了这种逻辑的范例:
) ?: t( X" O/ ]8 {&&N; ]
9 A% d9 N/ E; W+ P! Q
上述代码中,如数据大于0,则下一个状态为User State 1。否则,下一个状态为User State 2。如需实现更高级的条件逻辑,可采用条件结构。确保应用程序在一定条件下可转移至这种新的状态。( E6 X: W2 E6 ~
! b- K$ q# G6 \. z5 ~7 Z4 @" J5 v1 e
修改状态可访问的数据类型按照下列步骤修改状态可访问的数据类型:选定一个Data.ctl枚举型,然后打开自定义类型:
" I7 f/ H* W% l&&@
LabVIEW会显示控件编辑器窗口。按需求定制控件。选择文件鐀用改动。
添加关闭代码将关闭代码添加至条件结构的&Stop&分支。该分支是唯一能使应用程序停止执行的分支,因此必须确保添加至该分支的代码在应用程序停止之前执行。这样做可以防止意外关闭和不完全关闭。关闭代码通常实现下列任务:关闭全部打开的引用,释放内存。刷新使用中的缓冲区。向输入通道写入安全值。. [0 l1 z7 K5 k& @% d- @
* q8 r0 r! z5 T6 U" X&&n5 J9 l
添加错误处理默认情况下,任意函数的错误输出接线端返回错误时,本模板将停止执行。根据应用程序的需求,可能要忽略特定的错误,或实现更高级的错误处理。按照下列步骤,添加错误处理:添加一个错误状态。在错误状态中,按照需求创建处理错误的代码。对于其他状态,确保出错时转移至错误状态。例如:( R( |; V8 T/ i) A% E4 Z6 Z' i
( d4 s$ R. K5 Z6 R! G&&U. f3 f
删除用户界面如应用程序不需要用户界面,可按照下列步骤删除用户界面:删除全部前面板输入和显示控件。删除Main.vi中条件结构的&Wait for Event&分支。上一步操作会删除默认分支,默认分支会在条件选择器跳转至未知分支时执行。为便于错误处理,必须将另一个分支设为默认。修复断线。
也可从State.ctl中删除Wait for Event。这一操作可确保状态机永远不会试图转移至这个已被删除的状态。不过在删除操作之前,应该为应用程序中所有设为该种状态的枚举型添加一项注释。保存更改后的State.ctl,枚举型的值会更新。如有需要,可输入新的状态,或对原有状态进行更改。
+ `6 v, M2 z5 N+ a
上一篇:下一篇:
本帖子中包含更多资源
才可以下载或查看,没有帐号?
TA的每日心情奋斗 13:11签到天数: 3 天[LV.2]20FPS
石鑫华视觉网,中国第一机器视觉门户!
该用户从未签到
真是不错,版主本人年龄大吗?
TA的每日心情怒昨天&15:45签到天数: 706 天[LV.9]90FPS
風雨涵 发表于
真是不错,版主本人年龄大吗?( X! @# r( ?" T1 i3 A$ a
你要给我介绍对象吗?
TA的每日心情开心 16:19签到天数: 126 天[LV.7]70FPS
看帖看完了至少要顶一下,向楼主无私奉献致敬!感谢石鑫华视觉网的培训资料!
TA的每日心情开心 11:39签到天数: 1 天[LV.1]10FPS
labview中提供很多结构模板
TA的每日心情慵懒 13:45签到天数: 13 天[LV.3]30FPS
机器视觉论坛,支持机器视觉商城
TA的每日心情慵懒 13:45签到天数: 13 天[LV.3]30FPS
做机器视觉光学实验,就到华视自动化,石鑫华视觉网免费提供实验及解决方案
Powered by
浏览量:
<!-- //璁℃暟浠g爜--您现在的位置:&
一款声控式卡拉OK灯光控制器电路
一款声控式卡拉OK灯光控制器电路
& & &&本文介绍一款声控卡拉OK灯光控制器电路,该控制器由声波接收放大器、环形脉冲分配驱动器、可控硅电子开关及电源等几部分组成。 & & & 电路工作原理:由图可知,MIC为驻极体电容话筒,它接收到歌声信号后即输出相应电信号经三极管VT放大后由W1、C2送人IC的⑤脚。IC为环形脉冲分配器/驱动器,型号为LC182.它采用双列直插式八脚塑料封装。内含整流放大、压控振荡、脉冲分配及四个开漏输出级,各脚功能如下:①、②、⑥、⑦脚分别为输出端C、D、B、A;③脚为压控振荡器外接阻容元件端R/C;④脚为电源负端Uss;⑤脚为整流放大器输人端Ui;⑧脚为电源正端Ucc。LC182电源电压范围:9-18V;输出电流不小于60mA;振荡频率调制率为l-15倍。 & & & 接通电源后,压控振荡器起振,其振荡器信号通过脉冲分配器使四个开漏输出端即⑦、⑥、①、②脚依次出现高电平,通过R6-R9加到VTH1-VTH4的门极,使它们轮流开通,从而使A、B、C、D四组彩灯依次点亮。调节电位器W2,即改变压控振荡器的起始频率,从而能随意地调节彩灯循环点亮的速率。 & & &&声控信号经C2送人整流放大器输入端⑤脚,经整流和直流放大去控制压控振荡器的频率,当MIC接收到声波信号愈强,控制电平愈高,压控振荡器振荡频率愈高,循环速率就愈快,因而能使彩灯循环速率跟随演唱者歌声而变化。调节电位器Wl,即改变了输人⑤脚的音频信号的强度,从而改变音频信号对压控振荡频率的调制深度,即可改变声控灵敏度。
更多猛料!欢迎扫描下方二维码关注土猫网官方微信( tumaowang )
&#165&132元
&#165&249元
&#165&171元
&#165&219元
&#165&8.6元
节省21.4元
&#165&49元
&#165&26.8元
节省10.2元
&#165&245元
节省249.2元
&#165&298元
&#165&35.3元
节省15.7元
&#165&2.1元}

我要回帖

更多关于 光源控制器 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信