说明:

  本系列博文是我自己研究生课题,采用做一步记录一步,在论文答辩结束或者机器设计结束之后才会附上源代码!

  自从装好相机和设计好机械结构之后就没有继续进行下一步,这段时间花了三四天继续上次任务进行,建议使用线阵相机做项目的人一口气做完,不然断断续续又忘记了。

  上篇博文说到了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的配置及调试的更多相关文章

  1. 使用zend studio配置Xdebug调试PHP教程

    这里看过上面的文章后写一下自己的想法. 最近安装了zend studio 10.5,下载了破解文件.开始是下载了10.0的版本,但是注册码不正确.所以只能安装最新的10.5了. 接下来进行PHP代码调 ...

  2. 配置PhpStorm调试PHP

    配置PhpStorm调试PHP 第一步:配置 XDebug 下载安装XDebug到本地环境(参考:Zend Studio 9.x + xampp + XDebug 调试环境安装详解),打开php.in ...

  3. w2wp.exe 已附加有调试器,但没有将该调试器配置为调试此未经处理的异常

    一.问题描述 昨天系统联调,用到了VS2010 附件进程,把w2wp.exe 进程添加到vs2010 的调试进程中,这样其他系统访问我们系统,就可以捕获断点进行调试 但是,今天F5 调试的时候,发现直 ...

  4. mac下配置gdb调试golang

    mac下配置gdb调试golang 原文链接 https://sourceware.org/gdb/wiki/BuildingOnDarwin Building GDB for Darwin Crea ...

  5. Tomcat配置远程调试端口

    Tomcat配置远程调试端口 1.Linxu系统: apach/bin/startup.sh开始处中增加如下内容: declare -x CATALINA_OPTS="-server -Xd ...

  6. 内核,配置WinDbg,调试操作系统(双机调试)

    配置WinDbg,调试操作系统(双机调试) PS: 设置双机调试之前,请先安装虚拟机,并且安装好XP系统.这里不做演示.直接设置. 一丶WinDbg的设置 1) 配置WinDbg的环境,在path变量 ...

  7. “笨方法”学习Python笔记(2)-VS Code作为文本编辑器以及配置Python调试环境

    Visual Studio Code 免费跨平台文本编辑器,插件资源丰富,我把其作为Debug的首选. 下载地址:https://code.visualstudio.com/Download 安装之后 ...

  8. mybatis入门配置和调试

    欢迎转载http://www.cnblogs.com/jianshuai520/p/8669177.html大家一起努力,如果看的时候有图片半边遮挡起来的话,右键查看图片,就可以观看完整的图片,具体怎 ...

  9. VSCode配置python调试环境

    VSCode配置python调试环境 很久之前的一个东东,翻出来看看 VSCode配置python调试环境 * 1.下载python解释器 * 2.在VSCode市场中安装Python插件 * 4.在 ...

随机推荐

  1. shaderFX一些小心得

    同事需要一个能让贴图流动起来的shader,于是花了两天时间搞了一个,在这里要十分感谢同事的建议和提醒. 参考资料:<Digital Tutors - Implementing a Flow M ...

  2. flask-appbuilder 快速入门

    简介: Flask-AppBuilder是基于Flask实现的一个用于快速构建Web后台管理系统的简单的框架.主要用于解决构建Web后台管理系统时避免一些重复而繁琐的工作,提高项目完成时间,它可以和 ...

  3. pm2 常用命令

    pm2 是一个带有负载均衡功能的Node应用的进程管理器.当你要把你的独立代码利用全部的服务器上的所有CPU,并保证进程永远都活着,0秒的重载, PM2是完美的.它非常适合IaaS结构,但不要把它用于 ...

  4. solrCloud 4.9 分布式集群部署及注意事项

    环境搭建 一.zookeeper 参考:http://blog.chinaunix.net/uid-25135004-id-4214399.html 现有4台机器 10.14.2.201 10.14. ...

  5. python中numpy的random模块

    1. rand(d0,d1,.....,dn)产生[0,1]的浮点随机数,括号里面的参数可以指定产生数组的形状    例如:np.random.rand(3,2)则产生 3×2的数组,里面的数是0-1 ...

  6. 陷入了一个NGUI自适应的一个坑

    自己对anchor的乱用.造成自己深陷anchor来搞自适应 耽误了太多的精力,最终也是回到正轨的途径 这期间浪费的太多精力了. 沉迷一件错误的事情过久 就 要果断的跳出 调整 . 但凡让自己觉得别扭 ...

  7. 限制input输入字符数(中文2个字符,英文1个字符)

    input的maxlength可以限制input的输入的字符数,但是是字符串的长度,相当于判断str.length;然而经常会有中文字符算2个字符英文算1个字符的需求,目前只能通过编写代码来实现. & ...

  8. cmd命令记录

    一.查看端口号的使用情况 参考经验:https://jingyan.baidu.com/article/3c48dd34491d47e10be358b8.html 1.netstat -ano,列出所 ...

  9. java设计模式-Command模式

    1.背景: 站在MM的角度,想命令追求者Boy干什么就干什么,而且将来还可以扩展,怎么做?   2.代码: Command.java: package com.cy.dp.command; publi ...

  10. 峰Redis学习(2)Jedis 入门实例

    参考博客:http://blog.java1234.com/blog/articles/314.html 第一节:使用Jedis 连接Redis 新建maven项目: pom.xml: <pro ...