說明:
本系列博文是我自己研究生課題,采用做一步記錄一步,在論文答辯結束或者機器設計結束之后才會附上源代碼!
自從裝好相機和設計好機械結構之后就沒有繼續進行下一步,這段時間花了三四天繼續上次任務進行,建議使用線陣相機做項目的人一口氣做完,不然斷斷續續又忘記了。
上篇博文說到了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菜單
問題三:編碼器關閉之后采集卡仍然在工作
無法演示。。。
解決方法:編碼器加濾波電容