国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于stm 32 的機(jī)器視覺檢測(cè)實(shí)驗(yàn)平臺(tái)控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

2022-05-18 06:13練錦清李威龍李明楓黃京榮吳俊東
科學(xué)技術(shù)創(chuàng)新 2022年15期
關(guān)鍵詞:限位串口脈沖

練錦清 李威龍 李明楓 黃京榮 吳俊東

(桂林電子科技大學(xué)機(jī)電工程學(xué)院,廣西 桂林 541004)

隨著中國(guó)制造2025 的提出,智能制造在中國(guó)得到了大力的發(fā)展[1][2],機(jī)器視覺檢測(cè)是智能制造系統(tǒng)中的重要一個(gè)環(huán)節(jié),具有檢測(cè)快、檢測(cè)精度高、重復(fù)性好的優(yōu)點(diǎn),逐漸取代了相當(dāng)一部分的人工檢測(cè)工序,得到了廣泛的應(yīng)用[3][4]。在智能制造領(lǐng)域中,機(jī)器視覺經(jīng)常作為缺陷檢測(cè)的一個(gè)環(huán)節(jié),可以提高檢測(cè)的準(zhǔn)確性,實(shí)現(xiàn)長(zhǎng)時(shí)間的工作,是智能制造檢測(cè)中不可或缺的重要環(huán)節(jié)。步進(jìn)電機(jī)主要是利用脈沖進(jìn)行控制,脈沖的頻率大小和步進(jìn)電機(jī)的旋轉(zhuǎn)速度成正比,脈沖的個(gè)數(shù)也和步進(jìn)電機(jī)的旋轉(zhuǎn)角度成正比,控制簡(jiǎn)單,運(yùn)動(dòng)精度高、成本低廉是步進(jìn)電機(jī)的主要優(yōu)點(diǎn),因此步進(jìn)電機(jī)在制造業(yè)也中得到了十分廣泛使用。本文根據(jù)機(jī)器視覺檢測(cè)設(shè)備的實(shí)際需求,針對(duì)機(jī)器視覺質(zhì)量檢測(cè)的設(shè)備,如缺陷檢測(cè)、外觀檢測(cè)、尺寸測(cè)量方面的設(shè)備,文中主要利用單片機(jī),對(duì)步進(jìn)電機(jī)控制系統(tǒng)進(jìn)行了控制,可以調(diào)節(jié)步進(jìn)電機(jī)的旋轉(zhuǎn)速度,連續(xù)運(yùn)動(dòng)、增量式運(yùn)動(dòng),以及回到原點(diǎn)的功能,同時(shí)具備按鍵和OLED 屏幕人機(jī)交互以及和電腦端的上位機(jī)串口通信的功能。在本實(shí)驗(yàn)裝置基礎(chǔ)上,可以擴(kuò)展實(shí)現(xiàn)工業(yè)相機(jī)的圖像采集、圖像處理以及控制一體化的軟件編程,擴(kuò)展性高。

1 控制系統(tǒng)組成

Stm32F407 具備多個(gè)定時(shí)器,比如高級(jí)定時(shí)器1 和高級(jí)定時(shí)器8、內(nèi)部具有I2C,SPI、具備多個(gè)串口等功能,性能穩(wěn)定,內(nèi)部有浮點(diǎn)運(yùn)算功能,運(yùn)算速度快[5],所以文中的控制系統(tǒng)的主要芯片是stm32F407 芯片,實(shí)現(xiàn)了三個(gè)軸的控制的功能,控制系統(tǒng)組成部分,包括降壓穩(wěn)壓的模塊、主控模塊、獨(dú)立式的按鍵模塊和0.96''的OLED 顯示屏的人機(jī)交互模塊。同時(shí),還包括了串口通信模塊,電機(jī)驅(qū)動(dòng)模塊、電機(jī)限位開關(guān),如圖1 所示是本系統(tǒng)的控制框圖。

圖1 控制系統(tǒng)原理框圖

2 硬件電路設(shè)計(jì)和主要模塊介紹

2.1 主控STM32F4 核心板模塊

主控STM32F4 核心板模塊,由復(fù)位電路、晶振電路、電容濾波電路構(gòu)成,電路板上包括了一個(gè)測(cè)試用的貼片的LED 燈、一個(gè)測(cè)試用的按鍵等。晶振采用的是8M 外部晶振,采用多個(gè)電容對(duì)輸入的電源進(jìn)行濾波穩(wěn)定,讓控制系統(tǒng)更加穩(wěn)定工作。

2.2 獨(dú)立按鍵電路、有源蜂鳴器電路、OLED 電路

獨(dú)立按鍵電路主要包括5 個(gè)按鍵,為了節(jié)約成本,沒使用硬件去抖動(dòng)功能,而在軟件中利用延時(shí)實(shí)現(xiàn)去按鍵的抖動(dòng),提高按鍵的操作穩(wěn)定性,如圖2 所示;蜂鳴器電路,主要是利用NPN 型的三極管實(shí)現(xiàn)蜂鳴器開關(guān)功能,圖3 利用NPN 型的S9013 三極管實(shí)現(xiàn)電路的電流放大和開關(guān)作用;OLED 電路,主要是實(shí)現(xiàn)參數(shù)顯示功能,和stm32F407 芯片通過軟件SPI 通信,如圖4 所示。OLED采用的是7 個(gè)引腳的SPI 接口的OLED,傳輸刷新數(shù)據(jù)更快,更加穩(wěn)定。

圖2 獨(dú)立按鍵電路

圖3 有源蜂鳴器電路

圖4 OLED 接口電路

2.3 步進(jìn)電機(jī)驅(qū)動(dòng)接口和限位開關(guān)模塊

步進(jìn)電機(jī)驅(qū)動(dòng)接口,主要是分配stm32F407 芯片的IO 口,將其和步進(jìn)電機(jī)驅(qū)動(dòng)器連接,實(shí)現(xiàn)步進(jìn)電機(jī)的控制功能,本控制系統(tǒng)主要是利用定時(shí)器產(chǎn)生脈沖,控制步進(jìn)電機(jī),因此對(duì)IO 口分配沒有特殊的要求,x 軸接口如圖5 所示。限位開關(guān)模塊,主要是利用光電傳感器的通斷功能,當(dāng)工作平臺(tái)運(yùn)動(dòng)到限位開關(guān)上方,和工作平臺(tái)連接的遮擋塊準(zhǔn)確的進(jìn)入到紅外光電傳感器模塊的凹槽中,就會(huì)遮擋光線,從而電平從高電平變?yōu)榈碗娖剑瑂tm32 芯片接收到跳變信號(hào),進(jìn)入到中斷服務(wù)函數(shù)中,執(zhí)行相關(guān)的程序,限位開關(guān)模塊共有5 個(gè),X 軸2 個(gè),Y 軸2 個(gè),旋轉(zhuǎn)平臺(tái)1 個(gè),X 軸靠近電機(jī)側(cè)限位開關(guān)接口如圖6 所示。

圖5 步進(jìn)電機(jī)接口

圖6 限位開關(guān)接口

3 軟件設(shè)計(jì)

控制系統(tǒng)的軟件部分,主要實(shí)現(xiàn)驅(qū)動(dòng)了三個(gè)軸的步進(jìn)電機(jī)、串口通信、OLED 屏幕顯示、按鍵輸入控制功能。

步進(jìn)電機(jī)的驅(qū)動(dòng),主要是利用stm32F407 的普通定時(shí)器產(chǎn)生脈沖,實(shí)現(xiàn)控制。定時(shí)器2、定時(shí)器3、定時(shí)器6 分別負(fù)責(zé)X、Y、Z 軸脈沖產(chǎn)生,以X 軸的控制為例,進(jìn)行說(shuō)明,Y 和Z 軸編程原理相同。首先利用庫(kù)函數(shù),初始化stm32F4 的定時(shí)器2,設(shè)定定時(shí)時(shí)間是10us,觸一次中斷,然后在定時(shí)器6 中斷服務(wù)函數(shù)中,設(shè)定一個(gè)靜態(tài)變量timer6cnt,每進(jìn)入一次中斷,timer6cnt 加一,當(dāng)timer6cnt小于設(shè)定的速度數(shù)據(jù)脈沖Ns 的一半時(shí),讓stm32 的脈沖產(chǎn)生IO 口輸出高電平,當(dāng)timer6cnt 大于設(shè)定的速度數(shù)據(jù)脈沖Ns 一半并且小于速度數(shù)據(jù)脈沖Ns 時(shí),timer6cnt歸0 并且IO 口輸出低電平。當(dāng)改變Ns 大小,就可以實(shí)現(xiàn)調(diào)節(jié)步進(jìn)電機(jī)的速度的目的。

串口通信功能,主要是將stm32F407 和電腦通過串口進(jìn)行通信,stm32F407 的串口1(PA9 和PA10)負(fù)責(zé)該功能,當(dāng)stm32F407 接收到電腦上位機(jī)軟件的串口發(fā)過來(lái)的信息,就會(huì)進(jìn)入串口1 中斷函數(shù),在串口中斷函數(shù)中,對(duì)信息進(jìn)行判斷,檢查是否和約定的串口命令幀頭相等,如果相等,運(yùn)行后續(xù)數(shù)據(jù)傳入數(shù)組中,如果不相等,丟棄。再檢查是否和約定的幀尾相等,如果相等,結(jié)束數(shù)據(jù)接收,如果不相等或超過約定的接收時(shí)間,也結(jié)束數(shù)據(jù)接收。當(dāng)接收到完整一幀命令,檢查命令,實(shí)現(xiàn)對(duì)應(yīng)的功能。比如電腦端發(fā)送字符串“SM0#”,單片機(jī)端接收到之后,判斷有沒有#字符,如果存在#字符,那么認(rèn)為一幀數(shù)據(jù)完整結(jié)束,再判斷SM0 和約定的指令是否存在,如果存在相等,那么執(zhí)行對(duì)應(yīng)的動(dòng)作,如果不存在,那么繼續(xù)等待新的串口數(shù)據(jù)。

OLED 屏幕顯示,主要是將stm32F407 的對(duì)應(yīng)控制IO 口編程實(shí)現(xiàn)軟件SPI 功能,屏幕顯示主要是顯示方向信息、軸的信息、速度信息等。需要規(guī)劃好頁(yè)面顯示的位置,在對(duì)應(yīng)的位置顯示對(duì)應(yīng)的信息,當(dāng)控制電機(jī)或者調(diào)解控制軸等,在對(duì)應(yīng)的位置進(jìn)行信息刷新。為了刷新穩(wěn)定,在定時(shí)器15ms 時(shí)間,進(jìn)行一次刷新,而避免了頻繁刷新的情況,讓參數(shù)更加顯示穩(wěn)定,提高人機(jī)操作的舒適程度。

按鍵輸入功能,主要包括了按鍵的短按長(zhǎng)按和短按連續(xù)按兩種模式。如果想實(shí)現(xiàn)短按和長(zhǎng)按的功能,設(shè)定一個(gè)計(jì)數(shù)次數(shù)變量timx5mscnt,當(dāng)按下按鍵,單片機(jī)檢測(cè)到下降沿,進(jìn)入對(duì)應(yīng)程序,在里面設(shè)置一個(gè)循環(huán),每5ms,timx5mscnt 加1,并且檢測(cè)一次是否松開,當(dāng)松開按鍵之后,判斷timx5mscnt 是否大于約定的長(zhǎng)按次數(shù),當(dāng)timx5mscnt 大于超時(shí)次數(shù),認(rèn)為是長(zhǎng)按,返回長(zhǎng)按鍵碼,當(dāng)timx5mscnt 小于超時(shí)次數(shù),認(rèn)為是短按,返回短按鍵碼。在主函數(shù)中,不斷檢測(cè)掃描按鍵,當(dāng)檢測(cè)到對(duì)應(yīng)鍵碼,執(zhí)行對(duì)應(yīng)的函數(shù),比如歸零、速度調(diào)節(jié)、運(yùn)動(dòng)軸選擇、正轉(zhuǎn)、反轉(zhuǎn)等功能。

4 實(shí)驗(yàn)驗(yàn)證

圖7 是設(shè)計(jì)并完成的控制系統(tǒng)實(shí)物圖,圖8 是操作面板圖,以及圖9 控制箱體內(nèi)部實(shí)物圖,包括了上述的核心板模塊、接口模塊、按鍵和OLED 模塊等。在完成上述編程之后,接入三軸步進(jìn)電機(jī)工作臺(tái),其中X 軸和Y軸構(gòu)成一個(gè)二維機(jī)構(gòu),Z 軸是旋轉(zhuǎn)平臺(tái)。步進(jìn)電機(jī)驅(qū)動(dòng)器采取共陽(yáng)接法,并通過撥碼開關(guān)選擇為4 細(xì)分模式。實(shí)驗(yàn)過程中,可以選擇短按按鍵1,選擇需要控制的軸,長(zhǎng)按按鍵1,實(shí)現(xiàn)當(dāng)前選擇軸位置信息清零,短按或者連續(xù)按按鍵2,實(shí)現(xiàn)電機(jī)正轉(zhuǎn),按鍵3 實(shí)現(xiàn)反轉(zhuǎn),按鍵4 實(shí)現(xiàn)回零,短按按鍵5,電機(jī)停止,長(zhǎng)按按鍵5,選擇電機(jī)的運(yùn)動(dòng)速度。在電機(jī)運(yùn)行過程中,當(dāng)電機(jī)觸發(fā)限位開關(guān)的時(shí)候,電機(jī)會(huì)停止,并且蜂鳴器報(bào)警。當(dāng)利用USB 轉(zhuǎn)TTL 模塊將電腦和控制系統(tǒng)連接的時(shí)候,電腦端利用串口助手,發(fā)送對(duì)應(yīng)字符串,可以實(shí)現(xiàn)電機(jī)的類似按鍵的控制功能,后續(xù)方便可以利用QT 軟件或者其他軟件,結(jié)合相機(jī)的SDK 庫(kù),以及OPENCV 等圖像處理軟件,編寫一體化的上位機(jī)軟件,實(shí)現(xiàn)相機(jī)的拍攝圖像的檢測(cè),如尺寸檢測(cè)、圖像缺陷檢測(cè),實(shí)現(xiàn)更加智能的控制。

圖7 實(shí)驗(yàn)平臺(tái)實(shí)物

圖8 操作面板

圖9 控制箱體內(nèi)部實(shí)物

結(jié)束語(yǔ)

實(shí)驗(yàn)證明,設(shè)計(jì)的控制系統(tǒng),能滿足機(jī)器視覺檢測(cè)平臺(tái)的控制要求,能通過下位機(jī)硬件系統(tǒng)的獨(dú)立按鍵,實(shí)現(xiàn)控制,也能通過電腦的串口,發(fā)送串口命令,控制三軸步進(jìn)電機(jī),性能穩(wěn)定,對(duì)于后續(xù)機(jī)器視覺的軟件開發(fā)提供基礎(chǔ),具備一定的市場(chǎng)發(fā)展前景。

猜你喜歡
限位串口脈沖
基于非因果濾波和零點(diǎn)法的近斷層脈沖型地震動(dòng)識(shí)別方法
塑料彈簧限位座斷裂失效分析
深水剛懸鏈線立管限位錨安裝與限位鏈回接技術(shù)研究
汽車車門限位涂裝夾具的設(shè)計(jì)
MCS—51單片機(jī)中的多串口通訊技術(shù)的應(yīng)用
大射電
控制玻璃鋼型材固化收縮變形的裝置
基于脈沖反射法電纜故障定位脈沖源的設(shè)計(jì)
全國(guó)計(jì)算機(jī)等級(jí)考試機(jī)房準(zhǔn)備工作探討
微機(jī)串口的測(cè)試診斷
忻州市| 全南县| 灵川县| 平塘县| 阜阳市| 鹤庆县| 庆元县| 伊通| 长兴县| 中江县| 鸡西市| 年辖:市辖区| 砀山县| 上蔡县| 龙山县| 犍为县| 汉阴县| 喀什市| 玉环县| 青州市| 肥城市| 麻城市| 招远市| 射阳县| 棋牌| 安塞县| 绥江县| 商河县| 于田县| 汶上县| 景谷| 古田县| 甘孜| 霍山县| 东方市| 宕昌县| 五河县| 邵阳县| 喜德县| 唐山市| 吉木萨尔县|