<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于A(yíng)VR單片機的輪胎模具內徑測量系統

基于A(yíng)VR單片機的輪胎模具內徑測量系統

作者: 時(shí)間:2012-09-02 來(lái)源:網(wǎng)絡(luò ) 收藏

步進(jìn)電機脈沖的產(chǎn)生由定時(shí)器1和定時(shí)器2實(shí)現,ATmega16控制器接收到上位機的命令后,首先獲取需要轉動(dòng)的步數,然后根據相應命令打開(kāi)相應定時(shí)器的計數功能??刂瞥绦蛑杏枚〞r(shí)器1控制二路脈沖輸出,定時(shí)器2控制一路脈沖輸出,從而完成3路電機的控制。
定時(shí)器2使用CTC模式,匹配中斷使能。通過(guò)匹配中斷,在OCR2端口可以輸出脈沖,通過(guò)設定寄存器OCR2寄存器的值可以改變輸山脈沖頻率。定時(shí)器1使用相位與頻率修正模式,在不同串口命令下分別設置ICR1、OCR1A和OCR1B寄存器的值并打開(kāi)不同的匹配中斷,從而可以分別在OC1A和OC1B端口輸出匹配脈沖。其輸出頻率控制和定時(shí)器2原理一樣,只是還需要改變計數上限值ICR1。由于3路電機不同時(shí)運動(dòng),因此每次只有一個(gè)定時(shí)器處于打開(kāi)狀態(tài),其余則需要關(guān)閉。
在程序運行中,設置了一個(gè)全局變量保存電機運行的步數。在收到上位機的命令后,控制程序首先將該步數寫(xiě)入片內EEPROM中再執行。由于EEPROM數據掉電不丟失,因此掉電后復位時(shí)可以從EEPROM中取出數據然后執行下一次操作。
3.2 手輪微調控制
手輪的作用主要是實(shí)現微調設備找到合適的點(diǎn)。電子手輪一共有兩路脈沖輸出,兩路脈沖相位差決定了手輪的旋轉方向。手輪的控制采用定時(shí)器0,使用計數模式。定時(shí)器0沒(méi)置為CTC模式,上升沿觸發(fā),OCR0為1,計數初始值為0,中斷使能。當外部上升沿觸發(fā)時(shí)計數到1時(shí)觸發(fā)中斷,在中斷子程序里面根據手輪狀態(tài)產(chǎn)生相應的脈沖輸出。
在手輪中斷子程序中,首先將計數器自動(dòng)清零等待下一個(gè)手輪脈沖。然后判斷正反信號和手輪檔位狀態(tài),ATmega16根據狀態(tài)信息通過(guò)延時(shí)方法產(chǎn)生一定數量的脈沖控制步進(jìn)電機。手輪狀態(tài)共有Z、Y、X 3個(gè)方向,X1、X10、X100 3個(gè)檔位。若手輪在X檔位則在相應端口(該端口同時(shí)也是定時(shí)器脈沖輸出口)輸出一定數目的脈沖。改變延時(shí)的大小可以改變輸出頻率,但是由于延時(shí)輸出脈沖的最大頻率決定于晶振,因此輸出脈沖受到一定影響。延遲方法產(chǎn)生的脈沖不能精確控制步進(jìn)電機的步進(jìn)角度,但是可以用于微調。
手輪的正反信號通過(guò)D觸發(fā)器來(lái)判斷。將手輪脈沖A作為CLK信號,脈沖B為CP信號,復位端和置位端接高電平。當手輪正轉時(shí)脈沖A脈沖與脈沖B的相位差為正90度,D觸發(fā)器輸出高電平;若反轉A脈沖與B脈沖的相位差為負90度,輸出低電平。
3.3 串口模塊
上位機和主要采用UART異步通信,收發(fā)按字節處理。接收上位機命令時(shí)采用UART查詢(xún)方法實(shí)現數據接收。其通信格式為:起始字+控制字節+步數+結束字,數據使用國際通用標準ASCII碼格式,如表1所示。

本文引用地址:http://dyxdggzs.com/article/170955.htm

h.JPG


設計過(guò)程中使用ICC編譯器編寫(xiě)控制程序,可以使用atoi函數將ASCII碼格式步數轉化為整型數據。

i.JPG


單片機對上位機通信主要是使用兩個(gè)字節數據發(fā)送手輪狀態(tài)信息和行程開(kāi)關(guān)狀態(tài)信息。單片機在接收到查詢(xún)命令后,將兩字節狀態(tài)信息返回給上位機,每次執行步進(jìn)電機命令后也需要向上位機發(fā)送狀態(tài)信息,將執行結果返回給上位機。其定義如表2所示。

4 結束語(yǔ)
文中單片機設計了一套內徑,可以接收電子手輪和上位機信息分時(shí)控制多路步進(jìn)電機并能控制光柵尺讀數。
設備經(jīng)過(guò)安裝后,選取標準鋼板作為測試目標,在垂直方向選定若干個(gè)測試點(diǎn),結果證明其誤差在2μm以?xún)?。然后選取子午線(xiàn)作為測試目標,與人工測量數據進(jìn)行對比,測量誤差在4 μm以?xún)?,達到設計要求。

接地電阻相關(guān)文章:接地電阻測試方法


行程開(kāi)關(guān)相關(guān)文章:行程開(kāi)關(guān)原理

上一頁(yè) 1 2 3 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>