说明:
本系列博文是我自己研究生课题,采用做一步记录一步,在论文答辩结束或者机器设计结束之后才会附上源代码!
自从装好相机和设计好机械结构之后就没有继续进行下一步,这段时间花了三四天继续上次任务进行,建议使用线阵相机做项目的人一口气做完,不然断断续续又忘记了。
上篇博文说到了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菜单
问题三:编码器关闭之后采集卡仍然在工作
无法演示。。。
解决方法:编码器加滤波电容