欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種應(yīng)用編碼器計(jì)數(shù)的方法和裝置的制作方法

文檔序號(hào):5867504閱讀:337來(lái)源:國(guó)知局
專利名稱:一種應(yīng)用編碼器計(jì)數(shù)的方法和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種計(jì)數(shù)方法和裝置,尤其涉及一種應(yīng)用編碼器計(jì)數(shù)的方法和裝置。
背景技術(shù)
編碼器是一種最為常見(jiàn)的角度測(cè)量傳感器,配備一些機(jī)械結(jié)構(gòu)還可以測(cè)量位移等 其他機(jī)械量值,在各行各業(yè)都有廣泛的應(yīng)用。編碼器是將轉(zhuǎn)軸上的轉(zhuǎn)動(dòng)角度,利用光柵(磁 柵)測(cè)量技術(shù)轉(zhuǎn)換成方波脈沖輸出,通過(guò)外部的計(jì)數(shù)裝置對(duì)輸出脈沖進(jìn)行計(jì)數(shù),得到與被 測(cè)的角度相對(duì)應(yīng)的數(shù)字量。以往一般都使用可逆計(jì)數(shù)器進(jìn)行計(jì)數(shù),隨著微處理器技術(shù)的發(fā) 展和成熟,我們完全可以省略計(jì)數(shù)器電路,直接使用微處理器進(jìn)行計(jì)數(shù)。但在實(shí)際使用時(shí), 往往會(huì)出現(xiàn)計(jì)數(shù)不準(zhǔn)和一些波形干擾影響計(jì)數(shù)的精確度,同時(shí)還必須在測(cè)量前事先規(guī)定一 個(gè)正向計(jì)數(shù)的旋轉(zhuǎn)方向,使應(yīng)用微處理器進(jìn)行計(jì)數(shù)變得不如使用可逆計(jì)數(shù)器進(jìn)行計(jì)數(shù)簡(jiǎn)單 和易使用,且計(jì)數(shù)的精確度也不一定能保證。

發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問(wèn)題是提供一種應(yīng)用編碼器計(jì)數(shù)的方法,解決現(xiàn)在利用微 處理器和編碼器進(jìn)行計(jì)數(shù)時(shí)需要事先進(jìn)行設(shè)定致使使用不便,而且因?yàn)榫幋a器的一些波形 干擾致使計(jì)數(shù)的精確度不高的缺陷。技術(shù)方案本發(fā)明提出了一種應(yīng)用編碼器計(jì)數(shù)的方法,其特征在于包括如下步驟設(shè)定編碼器的輸出脈沖信號(hào),設(shè)置編碼器同時(shí)輸出具有相位差的兩路脈沖信號(hào)A 和信號(hào)B,通過(guò)反相將其中一路脈沖信號(hào)A反相為X,并與上述兩路脈沖信號(hào)同時(shí)輸出;定義編碼器的角度旋轉(zhuǎn)方向?yàn)橥M较蛘D(zhuǎn)或反轉(zhuǎn)時(shí),以上三路輸出脈沖信號(hào) 的狀態(tài)字作為標(biāo)準(zhǔn)狀態(tài)字儲(chǔ)存,當(dāng)轉(zhuǎn)動(dòng)編碼器往希望正向或反向計(jì)數(shù)的方向正向或反向旋 轉(zhuǎn)時(shí),以脈沖信號(hào)A或X的上升沿或下降沿作為觸發(fā)點(diǎn),記錄下此時(shí)三路脈沖信號(hào)的電平作 為標(biāo)準(zhǔn)狀態(tài)字;開(kāi)始計(jì)數(shù),微處理器MCU接收到編碼器輸出的三路脈沖信號(hào),當(dāng)檢測(cè)到脈沖信號(hào)A 或X出現(xiàn)觸發(fā)點(diǎn)時(shí),讀出此時(shí)三路脈沖信號(hào)的電平作為實(shí)時(shí)狀態(tài)字,將所述實(shí)時(shí)狀態(tài)字與 上述標(biāo)準(zhǔn)狀態(tài)字進(jìn)行比對(duì),如完全符合,則相應(yīng)做正向或反向計(jì)數(shù),如不完全符合,則忽略 不計(jì)。所述脈沖信號(hào)A和B的相位差為90度,采用以脈沖信號(hào)A或X的下降沿作為觸發(fā)
點(diǎn)ο本發(fā)明還提出了一種應(yīng)用編碼器計(jì)數(shù)的裝置,其特征在于包括輸出兩路具有相 位差脈沖信號(hào)的編碼器,將編碼器的其中一路輸出信號(hào)進(jìn)行反相的反相器,并將此反相信 號(hào)與所述兩路脈沖信號(hào)同時(shí)輸出的合成輸出器,所述合成輸出器的三路輸出信號(hào)分別與微 處理器的三個(gè)端口相連,同時(shí)具有正相和反相的脈沖信號(hào)的輸出連接微處理器的中斷口, 另外一路具有相位差的脈沖信號(hào)連接微處理器的輸入/輸出口,所述微處理器內(nèi)包括存儲(chǔ)脈沖信號(hào)的電平的狀態(tài)字的存儲(chǔ)器和比較接收的脈沖信號(hào)的電平的狀態(tài)字和預(yù)設(shè)的狀態(tài) 字進(jìn)行比較的比較器,以及根據(jù)比較器結(jié)果進(jìn)行計(jì)數(shù)的計(jì)數(shù)器。所述編碼器采用兩相雙向編碼器。有益效果本發(fā)明的方法和裝置利用編碼器輸出三相脈沖信號(hào)并檢測(cè)計(jì)數(shù),避免了常用的利用兩相脈沖信號(hào)進(jìn)行計(jì)數(shù)易出現(xiàn)的其中一路信號(hào)下降沿干擾產(chǎn)生計(jì)數(shù)誤差,或編碼器正反 轉(zhuǎn)變換時(shí)脈沖多計(jì)或漏記現(xiàn)象,而且改進(jìn)了現(xiàn)在確定了正反轉(zhuǎn)方向后不能再改變方向進(jìn)行 計(jì)數(shù)的缺陷。


圖1為本發(fā)明現(xiàn)在常用的兩相輸出脈沖時(shí)序圖。圖2為本發(fā)明編碼器輸出三相脈沖時(shí)序圖
具體實(shí)施例方式下面結(jié)合具體實(shí)施例,進(jìn)一步闡述本發(fā)明。我們以每圈輸出2048個(gè)脈沖的光柵式兩相雙向編碼器為例,所謂兩相即同時(shí)輸 出相位差為90°兩路脈沖信號(hào),雙向就是可以進(jìn)行正反轉(zhuǎn)并進(jìn)行正反計(jì)數(shù),其輸出脈沖時(shí) 序圖見(jiàn)圖2。脈沖是A脈沖通過(guò)一個(gè)反相電路得到的和A脈沖邏輯相反的信號(hào),B脈沖是與 A脈沖相位差為90°脈沖信號(hào)。實(shí)際使用時(shí),采用Atmel89C52微處理器進(jìn)行編碼器的脈沖 計(jì)數(shù),A和X脈沖分別通過(guò)光偶將脈沖傳輸給CPU外部中斷0和外部中斷1端口上(INTO、 INT1),B脈沖用一個(gè)I/O 口接收。編程時(shí),首先通過(guò)相序測(cè)量功能在E2R0M中儲(chǔ)存定義的 正反轉(zhuǎn)狀態(tài)字,也就是先沿著希望正向計(jì)數(shù)的方向旋轉(zhuǎn)編碼器,A脈沖的下降沿觸發(fā)外部中 斷0,在外部中斷0服務(wù)程序中讀入A、Χ、Β脈沖的電平即為正轉(zhuǎn)狀態(tài)字,再沿著希望反向計(jì) 數(shù)的方向旋轉(zhuǎn)編碼器,脈沖的下降沿觸發(fā)外部中斷1,在外部中斷1服務(wù)程序中讀入A、X、B 脈沖的電平即為反轉(zhuǎn)狀態(tài)字。實(shí)際計(jì)數(shù)時(shí),假如定義相序1 — 2為正轉(zhuǎn),當(dāng)外部中斷0觸發(fā) 時(shí),在外部中斷0服務(wù)程序中判斷A、X、B脈沖的電平,如果為011 (正轉(zhuǎn)狀態(tài)字)則計(jì)數(shù)器 加1,為010則無(wú)效,即相位2的A脈沖下降沿中斷有效,編碼器正轉(zhuǎn);當(dāng)外部中斷1觸發(fā)時(shí), 同樣判斷這個(gè)電平,如果為101 (反轉(zhuǎn)狀態(tài)字)則計(jì)數(shù)器減1,為100則無(wú)效,即相位2的脈 沖X下降沿中斷有效,編碼器反轉(zhuǎn)。如果相序測(cè)量程序定義2 — 1為正轉(zhuǎn),則正轉(zhuǎn)狀態(tài)字為 010,反轉(zhuǎn)狀態(tài)字為100,在1狀態(tài)A脈沖觸發(fā)外部中斷0,對(duì)計(jì)數(shù)器加1,在1狀態(tài)X脈沖觸 發(fā)外部中斷1,對(duì)計(jì)數(shù)器減1,其他情況產(chǎn)生的中斷無(wú)效。目前一般使用微處理器對(duì)編碼器進(jìn)行計(jì)數(shù)時(shí),都是只使用A、B兩相脈沖,如附圖1 所示。編程時(shí)必須先規(guī)定加、減計(jì)數(shù)的旋轉(zhuǎn)方向。假定定義相序1 — 2為正轉(zhuǎn),當(dāng)A相脈沖 下降沿觸發(fā)中斷時(shí),判斷B相脈沖的電平,如果是高電平則表示正轉(zhuǎn)觸發(fā)中斷,如相序圖狀 態(tài)2所示,計(jì)數(shù)器加1 ;如果B相脈沖的電平為低電平,則表示反轉(zhuǎn)觸發(fā)中斷,如相序圖狀態(tài) 1所示,計(jì)數(shù)器減1。上述計(jì)數(shù)方法在一些情況下有較大的缺陷。首先是有可能多計(jì)或少計(jì) 脈沖數(shù),這種情況發(fā)生在當(dāng)編碼器正轉(zhuǎn)至1和2之間,變反轉(zhuǎn)則在狀態(tài)1處會(huì)多減1 (漏計(jì) 脈沖);同樣在反轉(zhuǎn)變正轉(zhuǎn)時(shí)又會(huì)多加1 (多計(jì)脈沖)。如果頻繁變換旋轉(zhuǎn)方向則這種情況 會(huì)帶來(lái)很大的計(jì)數(shù)誤差。第二種問(wèn)題發(fā)生在下降沿觸發(fā)時(shí),由于光柵制作或干擾信號(hào)使得在一個(gè)脈沖上出現(xiàn)多個(gè)下降沿,計(jì)數(shù)器計(jì)數(shù)出錯(cuò)。第三種情況是如果在編程時(shí)無(wú)法確定正 反轉(zhuǎn)方向,則會(huì)發(fā)生計(jì)數(shù)錯(cuò)誤。采用本發(fā)明的方法完全能克服上述問(wèn)題,具有以下優(yōu)點(diǎn)1>避免了正反轉(zhuǎn)變換時(shí)脈沖多計(jì)或漏計(jì)現(xiàn)象;假如定義相序1 — 2為正轉(zhuǎn),如果正轉(zhuǎn)至2和下一個(gè)狀態(tài)之間時(shí),首先在2狀態(tài)A 降沿觸發(fā)中斷使計(jì)數(shù)器加1,這時(shí)進(jìn)行反轉(zhuǎn)則在2位置X脈沖觸發(fā)中斷使計(jì)數(shù)器減1,不 會(huì)發(fā)生脈沖多計(jì)或漏計(jì)現(xiàn)象。2>避免了由于下降沿干擾產(chǎn)生的計(jì)數(shù)誤差;假如定義相序1 — 2為正轉(zhuǎn),在狀態(tài)2的A脈沖出現(xiàn)下降沿的干擾信號(hào)或在下降 沿處抖動(dòng)時(shí),在A脈沖下降沿加1,就會(huì)在X脈沖的下降沿減1,從而消除了干擾或抖動(dòng);3>可以在面板上進(jìn)行正反轉(zhuǎn)的相序設(shè)定;在編程時(shí),可以先不要確定正反旋轉(zhuǎn)方向,只需在使用時(shí)通過(guò)面板的相序設(shè)定操 作,來(lái)確定其旋轉(zhuǎn)方向。
權(quán)利要求
一種應(yīng)用編碼器計(jì)數(shù)的方法,其特征在于包括如下步驟設(shè)定編碼器的輸出脈沖信號(hào),設(shè)置編碼器同時(shí)輸出具有相位差的兩路脈沖信號(hào)A和信號(hào)B,通過(guò)反相將其中一路脈沖信號(hào)A反相為A,并與上述兩路脈沖信號(hào)同時(shí)輸出;定義編碼器的角度旋轉(zhuǎn)方向?yàn)橥M较蛘D(zhuǎn)或反轉(zhuǎn)時(shí),以上三路輸出脈沖信號(hào)的狀態(tài)字作為標(biāo)準(zhǔn)狀態(tài)字儲(chǔ)存,當(dāng)轉(zhuǎn)動(dòng)編碼器往希望正向或反向計(jì)數(shù)的方向正向或反向旋轉(zhuǎn)時(shí),以脈沖信號(hào)A或A的上升沿或下降沿作為觸發(fā)點(diǎn),記錄下此時(shí)三路脈沖信號(hào)的電平作為標(biāo)準(zhǔn)狀態(tài)字;開(kāi)始計(jì)數(shù),微處理器MCU接收到編碼器輸出的三路脈沖信號(hào),當(dāng)檢測(cè)到脈沖信號(hào)A或A出現(xiàn)觸發(fā)點(diǎn)時(shí),讀出此時(shí)三路脈沖信號(hào)的電平作為實(shí)時(shí)狀態(tài)字,將所述實(shí)時(shí)狀態(tài)字與上述標(biāo)準(zhǔn)狀態(tài)字進(jìn)行比對(duì),如完全符合,則相應(yīng)做正向或反向計(jì)數(shù),如不完全符合,則忽略不計(jì)。
2.如權(quán)利要求1所述的應(yīng)用編碼器計(jì)數(shù)的方法,其特征在于所述脈沖信號(hào)A和B的 相位差為90度,采用以脈沖信號(hào)A或λ的下降沿作為觸發(fā)點(diǎn)。
3.一種應(yīng)用如權(quán)利要求1所述的方法的應(yīng)用編碼器計(jì)數(shù)的裝置,其特征在于包括輸 出兩路具有相位差脈沖信號(hào)的編碼器,將編碼器的其中一路輸出信號(hào)進(jìn)行反相的反相器, 并將此反相信號(hào)與所述兩路脈沖信號(hào)同時(shí)輸出的合成輸出器,所述合成輸出器的三路輸出 信號(hào)分別與微處理器的三個(gè)端口相連,同時(shí)具有正相和反相的脈沖信號(hào)的輸出連接微處理 器的中斷口,另外一路具有相位差的脈沖信號(hào)連接微處理器的輸入/輸出口,所述微處理 器內(nèi)包括存儲(chǔ)脈沖信號(hào)的電平的狀態(tài)字的存儲(chǔ)器和比較接收的脈沖信號(hào)的電平的狀態(tài)字 和預(yù)設(shè)的狀態(tài)字進(jìn)行比較的比較器,以及根據(jù)比較器結(jié)果進(jìn)行計(jì)數(shù)的計(jì)數(shù)器。
4.如權(quán)利要求3所述的應(yīng)用編碼器計(jì)數(shù)的裝置,其特征在于所述編碼器采用兩相雙 向編碼器。
全文摘要
本發(fā)明涉及一種計(jì)數(shù)的方法和裝置,屬于微處理器控制領(lǐng)域。一種應(yīng)用編碼器計(jì)數(shù)的方法,其特征在于包括如下步驟設(shè)定編碼器的輸出脈沖信號(hào),定義編碼器的角度旋轉(zhuǎn)方向?yàn)橥M较蛘D(zhuǎn)或反轉(zhuǎn)時(shí),以上三路輸出脈沖信號(hào)的狀態(tài)字作為標(biāo)準(zhǔn)狀態(tài)字儲(chǔ)存,開(kāi)始計(jì)數(shù),微處理器MCU接收到編碼器輸出的三路脈沖信號(hào),當(dāng)檢測(cè)到脈沖信號(hào)出現(xiàn)觸發(fā)點(diǎn)時(shí),讀出此時(shí)三路脈沖信號(hào)的電平作為實(shí)時(shí)狀態(tài)字,將所述實(shí)時(shí)狀態(tài)字與上述標(biāo)準(zhǔn)狀態(tài)字進(jìn)行比對(duì),如符合,則相應(yīng)做正向或反向計(jì)數(shù),如不符合,則忽略不計(jì)。本發(fā)明還公開(kāi)了應(yīng)用以上方法的應(yīng)用編碼器計(jì)數(shù)的裝置。本發(fā)明利用編碼器輸出三相脈沖信號(hào)計(jì)數(shù),避免了信號(hào)下降沿干擾產(chǎn)生計(jì)數(shù)誤差及脈沖多計(jì)或漏記等現(xiàn)象。
文檔編號(hào)G01B11/26GK101825481SQ201010104019
公開(kāi)日2010年9月8日 申請(qǐng)日期2010年1月29日 優(yōu)先權(quán)日2010年1月29日
發(fā)明者潘征宇 申請(qǐng)人:上海市計(jì)量測(cè)試技術(shù)研究院
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
清远市| 尤溪县| 搜索| 嵩明县| 保德县| 滨海县| 和政县| 惠水县| 思南县| 惠安县| 潼南县| 松潘县| 锡林郭勒盟| 公主岭市| 兴义市| 鸡东县| 台中县| 酒泉市| 通化市| 托克托县| 武功县| 色达县| 勃利县| 安康市| 绍兴市| 华蓥市| 南靖县| 红原县| 琼结县| 颍上县| 武陟县| 夏津县| 广灵县| 大埔县| 重庆市| 合阳县| 友谊县| 侯马市| 孝义市| 祥云县| 连城县|