本發(fā)明屬于嵌入式單片機(jī)信號處理技術(shù)領(lǐng)域,涉及一種基于arm的agv驅(qū)動電機(jī)編碼器。
背景技術(shù):
隨著工廠自動化、計算機(jī)集成制造系統(tǒng)技術(shù)的逐步發(fā)展以及柔性制造系統(tǒng)、自動化立體倉庫的廣泛應(yīng)用,agv(automatedguidedvehicle)即自動導(dǎo)引車作為聯(lián)系和調(diào)節(jié)離散型物流系統(tǒng)以使其作業(yè)連續(xù)化的必要的自動化搬運(yùn)裝卸手段,其應(yīng)用范圍和技術(shù)水平得到了迅猛的發(fā)展。agv是以微控制器為控制核心、物聯(lián)網(wǎng)技術(shù)為支持、蓄電池為動力、裝有非接觸導(dǎo)引裝置的無人駕駛自動導(dǎo)引運(yùn)載車,其自動作業(yè)的基本功能是導(dǎo)向行駛、認(rèn)址停準(zhǔn)和移交載荷。作為當(dāng)代物流處理自動化的有效手段和柔性制造系統(tǒng)的關(guān)鍵設(shè)備,agv已經(jīng)得到了越來越廣泛的應(yīng)用。
目前agv的導(dǎo)引方式可分為兩大類:車外固定路徑導(dǎo)引方式和自由路徑導(dǎo)引方式。車外固定路徑導(dǎo)引方式指在行駛的路徑上設(shè)置導(dǎo)引用的信息媒介物,agv通過檢測出它的信息來得到導(dǎo)引,如電磁導(dǎo)引、光學(xué)導(dǎo)引、磁帶導(dǎo)引等;自由路徑導(dǎo)引方式是agv上儲存著系統(tǒng)布局上的尺寸坐標(biāo),通過識別車體當(dāng)前方位,自主地決定行駛路徑,這類導(dǎo)引方式也稱為車上軟件—編程路徑方式。其中車外固定路徑導(dǎo)引方式為常用方式。
由于在agv系統(tǒng)的應(yīng)用中主要有設(shè)備有四種,分別是車載控制器、站點(diǎn)呼叫器、集中協(xié)調(diào)器和信息顯示器。agv的控制指令一般是由站點(diǎn)呼叫器提出,經(jīng)集中協(xié)調(diào)器發(fā)出,agv的狀態(tài)也通過通信系統(tǒng)送回集中協(xié)調(diào)器,通信系統(tǒng)有兩種:連續(xù)方式和分散方式。連續(xù)通信系統(tǒng)允許agv在任何時候和相對地面控制器的任何位置使用射頻方法或使用在導(dǎo)引路徑內(nèi)的通信電纜收發(fā)信息。如采用無線電、紅外激光的通信方法。分散式系統(tǒng)只是在預(yù)定的地點(diǎn)如agv呼叫站點(diǎn)、車載控制器、信息顯示器等,在特定的agv設(shè)備與集中協(xié)調(diào)器之間提供通信。一般來說,這種通信是通過無線網(wǎng)絡(luò)技術(shù)的方法來實現(xiàn)的,分散式通信方式的優(yōu)點(diǎn)是價格較便宜、通信可靠穩(wěn)定。
在agv系統(tǒng)中,需要獲取agv車輛中的電機(jī)轉(zhuǎn)速或者位置。在我們獲取agv車輛的電機(jī)位置時,我們利用電機(jī)的光電編碼器產(chǎn)生輸出的一組正交矩形波脈沖信號,接受這組信號,并且利用485通信模塊將信號傳遞給stm32f103芯片進(jìn)行處理,并在芯片內(nèi)部的計數(shù)器中進(jìn)行計數(shù)操作,以此來獲得agv車輛的電機(jī)的位置。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的就是提供一種基于arm的agv驅(qū)動電機(jī)編碼器。
本發(fā)明包括穩(wěn)壓模塊、通信模塊、處理器模塊、程序調(diào)試串口模塊、下載接口模塊、復(fù)位模塊和led模塊。所述的穩(wěn)壓模塊接收矩形波正交脈沖信號并且將信號傳遞給通信模塊,處理器模塊與通信模塊實現(xiàn)數(shù)據(jù)通信,然后利用處理器模塊內(nèi)部的計數(shù)器對數(shù)據(jù)進(jìn)行處理。下載接口模塊提供處理器程序下載接口,利用數(shù)據(jù)線連接處理器芯片在線編程。程序調(diào)試串口模塊用于對編碼器進(jìn)行調(diào)試,復(fù)位模塊用于對電路進(jìn)行復(fù)位,led模塊用于指示電源及工作狀態(tài)。
所述的穩(wěn)壓模塊包括穩(wěn)壓芯片u1、第一電容c1、第二電解電容c2、第三電容c3、第四電解電容c4、第一電感l(wèi)1、開關(guān)s1、保險絲f1、4芯插座p4。穩(wěn)壓芯片u1的第1引腳接地。穩(wěn)壓芯片u1的第二引腳、穩(wěn)壓芯片u1的第四引腳、第三電容c3的一端、第四電解電容c4的正極、第一電感l(wèi)1的一端連接后接vcc_3v3,第一電感l(wèi)1的另一端與vmcu_3v3相連。第三電容c3的另一端、第四電感電容的負(fù)極接地。第一電容c1的一端、第二電感電容的正極、保險絲f1的一端連接后接穩(wěn)壓芯片的第3引腳。保險絲f1的另一端通過開關(guān)s1接四芯插座p4的第1引腳。第一電容c1的另一端、第二電感電容的負(fù)極、四芯插座p4的第2引腳接地。電源接口j2接5v電源為穩(wěn)壓模塊1供電,電源接口j2第1引腳和第3引腳連接后接四芯插座p4的第2引腳;電源接口j2的第2引腳接四芯插座p4的第1引腳。穩(wěn)壓芯片u1采用ams公司的ams1117。
所述的通信模塊包括接口芯片u2、第四電阻r4、第五電阻r5、第六電阻r6、第十電容c10、第十一電容c11。接口芯片u2的第1、4引腳分別與處理器芯片u3的第30、29引腳相連。接口芯片u2的第2、3引腳連接后接處理器芯片u3的第14引腳。接口芯片u2的第8引腳、第四電阻r4的一端連接后接mcu_3v3;第四電阻r4的另一端、接口芯片u2的第7引腳、第十電容c10的一端、第五電阻r5的一端連接后接穩(wěn)壓模塊1中的四芯插座p4的第3引腳。接口芯片u2的第5引腳與第六電阻r6的一端連接后接地;接口芯片u2的第6引腳、第六電阻r6的另一端、第十一電容c11的一端、第五電阻r5的另一端連接后接穩(wěn)壓模塊1中的四芯插座p4的第4引腳。第十一電容c11另一端與第十電容的另一端連接后接地。接口芯片u2采用maxim公司max485。
所述的處理器模塊包括處理器芯片u3,處理器芯片u3的第1、13、19、32、48、64引腳接vmcu_33。處理器芯片u3的第12、18、31、47、63引腳接地。處理器芯片u3的第58、59、61、62引腳分別與接口j1的第1、2、3、4引腳連接。晶振y1的一端與電容c13的一端連接后接處理器芯片u3的第6引腳;晶振y1的另一端與電容c14的一端連接后接處理器芯片u3的第5引腳;電容c13的另一端、電容c14的另一端連接后接地。處理器芯片u3的第46引腳接下載接口模塊5中二十芯插座p1的jtms接口,處理器芯片u3的第49引腳接下載接口模塊5中二十芯插座p1的jtck接口,處理芯片u3的第50引腳接下載接口模塊5中二十芯插座p1的jtdi接口,處理器芯片u3的第55引腳接下下載接口模塊5中二十芯插座p1的jtdo接口,處理器芯片u3的第56腳接下載接口模塊5中二十芯插座p1的jntrst接口。處理器芯片u3的第15引腳接發(fā)光二極管d2的陰極。處理器芯片的第7引腳接復(fù)位模塊6的nrst引腳。處理芯片u3的第60引腳通過第八電阻與gnd相連。第28引腳接boot1,boot1接第七電阻并與gnd相連。處理器芯片stm32f103的其它引腳懸空。處理器芯片u3采用st公司的stm32f103芯片。
所述的程序調(diào)試串口模塊包括四芯插座p2。四芯插座p2的第1引腳通過電阻r8接地,四芯插座p2的第4引腳接vmcu_3v3。4芯插座的p2的2、3引腳分別接處理器芯片u3的第42、43引腳。
所述的下載接口模塊包括二十芯插座p1。二十芯插座p1的第1、2引腳連接后接vmcu_3v3。二十芯插座p1第4、6、8、10、12、14、16、18、20引腳連接后接gnd。二十芯插座p1的第15引腳接nrst與復(fù)位模塊6相連,并與處理器芯片u3的第7引腳連接;第11引腳接gnd。
所述的復(fù)位模塊包括第三電阻r3、第五電容c5和按鍵k1。按鍵k1與第五電容c5并聯(lián),并聯(lián)后的一端接地gnd,并聯(lián)后的另一端、第三電阻r3的一端連接后作為nrst引腳,nrst引腳、二十芯插座p1的第15引腳和處理器芯片u3的第7引腳連接;第三電阻的另一端接電源vmcu_33。
所述的led模塊包括第一電阻r1、第二電阻r2和二個發(fā)光二極管。發(fā)光二極管d1的陽極通過第一電阻r1接vmcu_3v3;發(fā)光二極管d1的陰極接地gnd。發(fā)光二極管d2的陽極端通過第二電阻r2接vmcu_3v3,發(fā)光二極管d2的陰極端接處理器芯片的第15腳。
所述的保險絲采用f1206。定時器模塊接口j1、程序下載模塊接口p1、串口通信模塊接口p2、485通信模塊接口p4的接插件都采用成熟的接插件。發(fā)光二極管d1,d2均采用led0805_red。晶振y1采用8m晶振。
本發(fā)明的驅(qū)動電機(jī)編碼器輸出正交矩形脈沖波,通過輸出的正交矩形脈沖波,可以獲取電機(jī)目前的位置,以此來精確控制agv運(yùn)動行走的距離。
附圖說明
圖1為本發(fā)明的整體結(jié)構(gòu)示意圖;
圖2為圖1中穩(wěn)壓模塊的電路圖;
圖3為圖1中通信模塊的電路圖;
圖4為圖1中處理器模塊的電路圖;
圖5為圖1中程序調(diào)試串口模塊的電路圖;
圖6為圖1中下載接口模塊的電路圖;
圖7為圖1中復(fù)位模塊;
圖8為圖1中l(wèi)ed模塊的電路圖。
具體實施方式
如圖1所示,一種基于arm的agv驅(qū)動電機(jī)編碼器,包括穩(wěn)壓模塊1、通信模塊2、處理器模塊3、程序調(diào)試串口模塊4、下載接口模塊5、復(fù)位模塊6和led模塊7。穩(wěn)壓模塊接收矩形波正交脈沖信號并且將信號傳遞給通信模塊,處理器模塊與通信模塊實現(xiàn)數(shù)據(jù)通信,然后利用處理器模塊內(nèi)部的計數(shù)器對數(shù)據(jù)進(jìn)行處理。下載接口模塊提供處理器程序下載接口,利用數(shù)據(jù)線連接處理器芯片在線編程。程序調(diào)試串口模塊用于對編碼器進(jìn)行調(diào)試,復(fù)位模塊用于對電路進(jìn)行復(fù)位,led模塊用于指示電源及工作狀態(tài)。
如圖2所示,穩(wěn)壓模塊1包括穩(wěn)壓芯片u1、第一電容c1、第二電解電容c2、第三電容c3、第四電解電容c4、第一電感l(wèi)1、開關(guān)s1、保險絲f1、4芯插座p4。穩(wěn)壓芯片u1的第1引腳接地。穩(wěn)壓芯片u1的第二引腳、穩(wěn)壓芯片u1的第四引腳、第三電容c3的一端、第四電解電容c4的正極、第一電感l(wèi)1的一端連接后接vcc_3v3,第一電感l(wèi)1的另一端與vmcu_3v3相連。第三電容c3的另一端、第四電感電容的負(fù)極接地。第一電容c1的一端、第二電感電容的正極、保險絲f1的一端連接后接穩(wěn)壓芯片的第3引腳。保險絲f1的另一端通過開關(guān)s1接四芯插座p4的第1引腳。第一電容c1的另一端、第二電感電容的負(fù)極、四芯插座p4的第2引腳接地。電源接口j2接5v電源為穩(wěn)壓模塊1供電,電源接口j2第1引腳和第3引腳連接后接四芯插座p4的第2引腳;電源接口j2的第2引腳接四芯插座p4的第1引腳。
如圖3所示,通信模塊2包括接口芯片u2、第四電阻r4、第五電阻r5、第六電阻r6、第十電容c10、第十一電容c11。接口芯片u2的第1、4引腳分別與處理器芯片u3的第30、29引腳相連。接口芯片u2的第2、3引腳連接后接處理器芯片u3的第14引腳。接口芯片u2的第8引腳、第四電阻r4的一端連接后接mcu_3v3;第四電阻r4的另一端、接口芯片u2的第7引腳、第十電容c10的一端、第五電阻r5的一端連接后接穩(wěn)壓模塊1中的四芯插座p4的第3引腳。接口芯片u2的第5引腳與第六電阻r6的一端連接后接地;接口芯片u2的第6引腳、第六電阻r6的另一端、第十一電容c11的一端、第五電阻r5的另一端連接后接穩(wěn)壓模塊1中的四芯插座p4的第4引腳。第十一電容c11另一端與第十電容的另一端連接后接地。
如圖4所示,處理器模塊3包括處理器芯片u3,處理器芯片u3的第1、13、19、32、48、64引腳接vmcu_33。處理器芯片u3的第12、18、31、47、63引腳接地。處理器芯片u3的第58、59、61、62引腳分別與接口j1的第1、2、3、4引腳連接。晶振y1的一端與電容c13的一端連接后接處理器芯片u3的第6引腳;晶振y1的另一端與電容c14的一端連接后接處理器芯片u3的第5引腳;電容c13的另一端、電容c14的另一端連接后接地。處理器芯片u3的第46引腳接下載接口模塊5中二十芯插座p1的jtms接口,處理器芯片u3的第49引腳接下載接口模塊5中二十芯插座p1的jtck接口,處理芯片u3的第50引腳接下載接口模塊5中二十芯插座p1的jtdi接口,處理器芯片u3的第55引腳接下下載接口模塊5中二十芯插座p1的jtdo接口,處理器芯片u3的第56腳接下載接口模塊5中二十芯插座p1的jntrst接口。處理器芯片u3的第15引腳接發(fā)光二極管d2的陰極。處理器芯片的第7引腳接復(fù)位模塊6的nrst引腳。處理芯片u3的第60引腳接boot0,boot0接第八電阻并與gnd相連。第28引腳接boot1,boot1接第七電阻并與gnd相連。
如圖5所示,程序調(diào)試串口模塊4包括四芯插座p2。四芯插座p2的第1引腳通過電阻r8接地,四芯插座p2的第4引腳接vmcu_3v3。4芯插座的p2的2、3引腳分別接處理器芯片u3的第42、43引腳。
如圖6所示,下載接口模塊5包括二十芯插座p1。二十芯插座p1的第1、2引腳連接后接vmcu_3v3。二十芯插座p1第4、6、8、10、12、14、16、18、20引腳連接后接gnd。二十芯插座p1的第15引腳接nrst與復(fù)位模塊6相連,并與處理器芯片u3的第7引腳連接;第11引腳接gnd。
如圖7所示,復(fù)位模塊6包括第三電阻r3、第五電容c5和按鍵k1。按鍵k1與第五電容c5并聯(lián),并聯(lián)后的一端接地gnd,并聯(lián)后的另一端、第三電阻r3的一端連接后作為nrst引腳,nrst引腳、二十芯插座p1的第15引腳和處理器芯片u3的第7引腳連接;第三電阻的另一端接電源vmcu_33。
如圖8所示,led模塊7包括第一電阻r1、第二電阻r2和二個發(fā)光二極管。發(fā)光二極管d1的陽極通過第一電阻r1接vmcu_3v3;發(fā)光二極管d1的陰極接地gnd。發(fā)光二極管d2的陽極端通過第二電阻r2接vmcu_3v3,發(fā)光二極管d2的陰極端接處理器芯片的第15腳。
保險絲采用f1206。穩(wěn)壓芯片u1采用ams公司的ams1117。接口芯片u2采用maxim公司max485。處理器芯片u3采用st公司的stm32f103芯片。定時器模塊接口j1、程序下載模塊接口p1、串口通信模塊接口p2、485通信模塊接口p4的接插件都采用成熟的接插件。發(fā)光二極管d1,d2均采用led0805_red。晶振y1采用8m晶振。
處理器芯片stm32f103的其它引腳懸空。
本發(fā)明適用于agv系統(tǒng)中獲取agv車輛運(yùn)行的電機(jī)的編碼信息。當(dāng)agv的電機(jī)運(yùn)行時,可以通過獲取電機(jī)輸出的脈沖信號來獲取電機(jī)的位置編碼信息。本發(fā)明采用了基于stm32的計數(shù)器設(shè)計方案,agv車輛運(yùn)行時,電機(jī)的光電編碼器會輸出一組正交的矩形波脈沖信號a相和b相,在stm32芯片的正交編碼脈沖電路使能后,會獲取電機(jī)輸出的矩形脈沖信號a相b相。然后進(jìn)過電路中的rs485通信模塊處理傳輸?shù)絪tm32f103芯片中的計數(shù)器。根據(jù)a相b相的矩形波脈沖,stm32f103芯片會在內(nèi)部的計數(shù)器中進(jìn)行加減計數(shù),以此來獲取agv電機(jī)旋轉(zhuǎn)的編碼器信號。