Basler和Matrox的配置及调试
说明:
本系列博文是我自己研究生课题,采用做一步记录一步,在论文答辩结束或者机器设计结束之后才会附上源代码!
自从装好相机和设计好机械结构之后就没有继续进行下一步,这段时间花了三四天继续上次任务进行,建议使用线阵相机做项目的人一口气做完,不然断断续续又忘记了。
上篇博文说到了Basler和Matrox的安装,以及如何查看matrox的源码,这篇博文接着往下说--->>>
1.相机和采集卡的简述
1.1.相机简述
本相机采用的是Basler公司的线阵相机,型号是raL8192-80km,下面说几个我现在说知道的几个重要参数:
其中80KHZ代表采集一行最快可以达到1/80000s
分辨率是8K,代表8000W像素,是不是跟手机什么几百万相比是太牛逼了
由于是黑白相机,其灰度参数有8位、10位、12位,当然这个自己选就可以了,如果用opencv去做的话,8位足够了。
相机时钟有32.5/48/65/83.5 MHz,这里和单片机的频率一样,心脏调动越快,那么你检测越快,上面说的80KHZ就是基于83.5MHZ去采集的
最大采集行像素是8192Pix,就是每次采集的一行是8192 X 1 ,当然这个像素太高了,处理应该非常慢,建议调节小点不然CPU吃不消,我是小白还没用到GPU~~
1.2采集卡简述
本相机采用Matrox公司的采集卡,型号是SOL2MEVCLFL,具体的参数我都没有查到,导师买的我也没联系到代理,网上也查不到资料,以下是我所了解的采集卡选型。
接口:我的是HO两个接口,购买的时候看清楚几个接口。
编码器:貌似所有的采集卡都支持外部触发了,不然没办法控制精度,我现在正在做这块,后面会介绍。
采集频率:采集卡的频率最好要大于相机的频率,假如你相机80K,采集卡50K,那里相机最大只能采集50K了,你买80K相机没意义了。
采集宽度:同频率差不多,最好大于相机的采集宽度。
分辨率:和相机匹配,我的相机是8/10/12都可以,那么采集卡肯定最大要支持12位的,不然相机采集需要12位就没办法去采集了。
传输速率:按照自己的需要去选择,这个和相机关系不大,和你程序图像处理关系很大,不然采集一幅图像几秒钟怎么行?
以上是我个人粗略的理解,由于图像硬件入门有点难,所以写的尽量详细,大神请绕路。
2.Pylon和Matrox的配置
2.1Pylon的驱动的连接
Pylon的作用是配置相机,如果你是面阵相机那就直接配置这个就行了,然后写程序调用SDK。
相机的连接

如果检测不到:
1.看一下采集卡接线的问题。
2.看一下采集卡驱动的问题。
3.上面都完成之后,可能是下面的Pylon打开的原因,关闭之后就可以检测到了,以下一个动态图显示效果.

2.2Pylon参数配置
以下说一下几个常用且基本的参数设置,关于深入的知识请参照中文版本Pylon手册。








2.3Matrox设置
采集卡的设置要和相机的设置配合起来才可以,因为相机是通过采集卡才能传输到电脑上的。




2.4采集效果
图像还没有调节,效果有点不好,不过算是可以拍摄出来东西,也很清晰。

3.编码器的使用
3.1编码器概述
编码器有三根、四根、五根线的类型,其中两根是VCC和GND,其它都是信号线。
三根的话只有一根信号线,用A表示,只能当做计数用,不能去判断正反转。
四根的话有两根信号线,用A、B表示,这个两根可以判断是正转还是反转,当然这都是相对的,具体得看电机相位差原理了,这里不做详细描述。
五根的话有三根信号线,用A、B、Z表示,这个没使用过。。。一般用不到。
线数代表编码器精度,比如500线、1000线。。。
输出类型有差分输出或者电压输出,差分输出代表有反向信号,当然差分抗干扰能力强。一般我们使用的都是TTL电压输出就可以了,0-5V
我用的是双向编码器+电压输出+1000线,直接和电机嵌套的,还不错的效果。
3.2采集卡和编码器接口
每个人的采集卡不一样,有的直接引出来了,我的采集卡有专门做IO功能的副卡,用自带的接线把端口引出来就可以了。





以下是个人的分析,如有错误的地方请不吝指教!
1Pin:三线编码器的单根线A接口
4Pin+5Pin、7Pin+2Pin、8Pin+3Pin:四线编码器AB接口
6Pin、9Pin:不接
我接的是8Pin+3Pin,亲测可用!
3.3外触发的配置
3.3.1Matrox配置
这里得看编码器的连接+编码器的输出+编码器的类型,这里上面编码器的章节已经介绍,这里不再赘述!
主要是调节脉冲信号,这里和下面Pylon的曝光时间和编码器的编码精度有关,暂时没找到什么规律,都是慢慢调节一个大概数字即可。

3.3.2Pylon配置


3.3.3问题解决
基本遇到的问题很少,一半都是配置问题,按照描述就可以解决。跟随我的博客进行搭建一个系统应该不会出现什么大问题。
问题一:编码器在相机之后启动

解决方法:选择非安全启动、或者在相机启动之前打开编码器

问题二:Pylon无法找到Device

解决方法:打开Device菜单

问题三:编码器关闭之后采集卡仍然在工作
无法演示。。。
解决方法:编码器加滤波电容
Basler和Matrox的配置及调试的更多相关文章
- 使用zend studio配置Xdebug调试PHP教程
这里看过上面的文章后写一下自己的想法. 最近安装了zend studio 10.5,下载了破解文件.开始是下载了10.0的版本,但是注册码不正确.所以只能安装最新的10.5了. 接下来进行PHP代码调 ...
- 配置PhpStorm调试PHP
配置PhpStorm调试PHP 第一步:配置 XDebug 下载安装XDebug到本地环境(参考:Zend Studio 9.x + xampp + XDebug 调试环境安装详解),打开php.in ...
- w2wp.exe 已附加有调试器,但没有将该调试器配置为调试此未经处理的异常
一.问题描述 昨天系统联调,用到了VS2010 附件进程,把w2wp.exe 进程添加到vs2010 的调试进程中,这样其他系统访问我们系统,就可以捕获断点进行调试 但是,今天F5 调试的时候,发现直 ...
- mac下配置gdb调试golang
mac下配置gdb调试golang 原文链接 https://sourceware.org/gdb/wiki/BuildingOnDarwin Building GDB for Darwin Crea ...
- Tomcat配置远程调试端口
Tomcat配置远程调试端口 1.Linxu系统: apach/bin/startup.sh开始处中增加如下内容: declare -x CATALINA_OPTS="-server -Xd ...
- 内核,配置WinDbg,调试操作系统(双机调试)
配置WinDbg,调试操作系统(双机调试) PS: 设置双机调试之前,请先安装虚拟机,并且安装好XP系统.这里不做演示.直接设置. 一丶WinDbg的设置 1) 配置WinDbg的环境,在path变量 ...
- “笨方法”学习Python笔记(2)-VS Code作为文本编辑器以及配置Python调试环境
Visual Studio Code 免费跨平台文本编辑器,插件资源丰富,我把其作为Debug的首选. 下载地址:https://code.visualstudio.com/Download 安装之后 ...
- mybatis入门配置和调试
欢迎转载http://www.cnblogs.com/jianshuai520/p/8669177.html大家一起努力,如果看的时候有图片半边遮挡起来的话,右键查看图片,就可以观看完整的图片,具体怎 ...
- VSCode配置python调试环境
VSCode配置python调试环境 很久之前的一个东东,翻出来看看 VSCode配置python调试环境 * 1.下载python解释器 * 2.在VSCode市场中安装Python插件 * 4.在 ...
随机推荐
- 会话状态Session
一.会话状态Session Session用于服务器端状态管理,使用Session之后,每个客户端都可以将实际的数据保存在服务器上,对于每个客户端的数据,将会生成一个对应的唯一的key(保存在客户端) ...
- DelphiXE7 Datasnap TDSClientCallbackChannelManager内部实现初探
回调的原理很简单,开一个线程(为了区别其它线程,先将此线程命名为“通道线程”),注册一个“轻量”的回调,然后此线程(通道线程)等服务器返回信息(回调),服务器有信息返回时,通道线程再开个线程执行用户注 ...
- Block Design 小技巧之添加RTL代码到block_design
Block Design 小技巧之添加RTL代码到block_design 1.首先得打开Block Design,右击RTL文件,才会出现Add module to Block Design选项. ...
- DOM 讲解
DOM,全称documention,文档意思 ,就是把整个html文档当成一个对象来操作,里面有很多方法,如getElementByid(),getElementByid().innerText(); ...
- NIO基本操作
NIO是Java 4里面提供的新的API,目的是用来解决传统IO的问题 NIO主要有三大核心部分:Channel(通道),Buffer(缓冲区), Selector(选择器) Channel(通道) ...
- Google 新实现的Protobuf RPC: grpc
转自: http://www.dongliu.net/post/622450 Google 刚刚开源了grpc, 一个基于HTTP2 和 Protobuf 的RPC 实现. Protobuf 本身虽 ...
- Tomcat中Url中文乱码解决办法
引自:http://thoughtfly.iteye.com/blog/1533481 默认的tomcat容器如果直接使用get方式在url中传中文时,传到后台接收会是乱码. 乱码问题 原因: tom ...
- 将字符串表示的IP地址转变为整形表示
当时面试上机的想法是,直接使用uint32_t变量来存ip地址,遍历字符串带".",然后去值,利用移位来将这个值填到uint32_t对应的位置上.这样的麻烦之处在于: 1,遍历字符 ...
- Javascript中变量提升的问题(五)
一.函数声明变量提升 函数声明具有变量提升的问题,所以在函数被声明之前就可以访问. console.log(getValue()); function getValue() { return 'a ...
- vc++使用cookie登录网站
以http://www.idc816.com为例 效果图: 1)先登录获取cookie,再使用cookie获取用户信息 2)记录cookie,关闭程序后重新运行程序,直接获取用户信息 使用Fiddle ...