999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于VHDL和旋轉編碼器的測速系統設計

2021-06-11 12:28:14馮慈航
科教導刊·電子版 2021年11期
關鍵詞:程序方向信號

馮慈航

(柳州工學院 廣西·柳州 545000)

旋轉編碼器是可以用來測量轉速或旋轉角度的裝置,光電式旋轉編碼器可以通過光電轉換,可以將輸出軸的角位移、角速度等物理量轉換成響應的電脈沖以數字量的形式輸出。旋轉編碼器的應用范圍較廣,如機床、伺服電機等,旋轉編碼器在汽車上也有較多的應用,空調旋鈕、輪速檢測和方向盤轉角等,可以為后續的如ABS系統、EPS系統以及汽車的隨動轉向大燈等系統的信號的檢測提供前提。隨著FPGA技術的不斷發展,其在數字電路設計及嵌入式領域獲得了廣泛的應用,VHDL是一種主要用于電路設計的高級語言,其語言簡潔、邏輯清晰、語法嚴謹、靈活性強,是FPGA技術使用的主要編程語言。

本次設計主要利用FPGA技術,采用VHDL高級語言進行程序編寫,實現方程式賽車或卡丁車的發動機轉速測量。

1 總體方案設計

本次設計的主要框架如下圖所示:

圖1:項目設計方案

旋轉編碼器要求的配置電壓為+5V的電壓,因此,由旋轉編碼器通道 A和通道 B所傳遞過來的信號為 TTL電平(0/5V)。由于FPGA所要求的工作電壓為3.3V,因此需要通過一個變壓器電路板來將這些信號轉化成0/3.3V,然后FPGA將會對轉化后的信號進行處理,并根據旋轉編碼器上的旋轉情況返回一個計數值,這個計數值可以通過RS232鏈路傳遞并讀取顯示在計算機上。該旋轉編碼器可處理的最大轉速為3000rpm,刷新時間為1ms。

2 旋轉編碼器介紹

2.1 編碼方式

旋轉編碼器輪是一種將機械參數(如旋轉角度)轉換為電信號的裝置,以確定角度位置或轉速。旋轉編碼器主要有兩種:增量旋轉編碼器和絕對旋轉編碼器。

(1)絕對式編碼器。絕對式編碼器引起每一個位置絕對唯一,在編碼器的每一個位置,由多個交替的不透明和透明的軌跡組成,通過讀取這些二進制代碼可以知道編碼器的當前角度位置。

絕對式編碼器抗干擾能力較強、使用時通常只校準和初始化一次,在大多數情況下,在關閉設備時能夠保持其值,而且還具有測量精度較高,輸出位數較多等優點。

(2)增量式編碼器。增量式編碼器是將位移轉換成周期性的電信號,再把這個電信號轉變成計數脈沖,利用脈沖的個數表示位移的大小。在每次發生超過傳感器分辨率的旋轉時會向計數器增加或減去(取決于旋轉方向)數值,計數器通常在設備打開時復位。

增量式編碼器中最常見的類型是光電增量編碼器,它包括一個透光盤,其端部包含一個或兩個交替透明的透光通道,并由光電發射器發射光線。兩個光電接收器(每個軌道一個或同一軌道上的兩個,但電相位為90°)將接收發射的光,并返回邏輯信號。通常,這兩個輸出信號被稱為通道A和B。信號A和B之間的相位差提供了一個可以知道哪個信號先于另一個信號的信息,從而判斷旋轉編碼器旋轉的方向。因此,如果通道B在通道A的上升沿時的額定值為“0”,則可判斷編碼器為順時針旋轉;如果軌道B在軌道A的上升沿時的額定值為“1”,則可以判斷編碼器為逆時針旋轉。

2.2 旋轉編碼器的選擇

在本次設計中,使用了兩個增量式旋轉編碼器。第一個是一個集成了數字模塊的20卡一圈的編碼器,它可以提供了一個0/3.3V的邏輯信號,適用于FPGA的NEXYS3開發板,而不需要變壓器電路板;第二個編碼器是Parvex C4,它能夠將一圈360度分為500個分區。Parvex C4在輸出邏輯電平“1”時所提供的電壓為5V,該電壓與FPGA邏輯輸入“1”的電平3.3V不匹配,因此返回的輸入信號必須在輸入到FPGA開發板之前進行電壓調整。

3 VHDL軟件編程

3.1 原理

程序編程部分主要負責處理來自0-3.3V編碼器輪的信號,并通過RS232將處理后的信息發送到PC端進行顯示。它將通過創建一個計數器,根據旋轉方向遞增或遞減,在將計數值重置為0之前發送計數值,每毫秒刷新一次,以此得知編碼輪的旋轉速度。所發送的數值與轉速無關,而是與計數的脈沖數有關,因此,還需要根據設計需要來對這一輸出信號進行計算。

為了獲得更高的檢測精度,在A或B通道的每個信號前沿,即上升或下降處增加或減少計數器。如此一來,對于每個分區,接收四個脈沖。

該程序將允許脈沖計數幅度從-999到999。設定捕獲的最大轉速是3000 rpm,即0.05 rpm,而編碼輪的磁盤有500個刻度,對應于每毫秒25個刻度或100個計數脈沖。

3.2 程序總體模塊

程序總體模塊如圖2所示。

圖2:總體框

3.3 程序模塊

本部分介紹了VHDL編程部分所用的模塊。

3.3.1 旋轉編碼器信號處理模塊

該塊的輸入是rotary a in和rotary b in(編碼器輪的通道A和通道B),以及CLK(100 MHz時鐘)和RAZ(通過全局重置或3位計數器的保持信號激活,每毫秒設置為“1”)。在總體框圖中被命名為“Quadra encoder”。在該模塊輸出時,將會檢索計數的絕對值和該值的符號。

(1)確定旋轉方向。編碼器的信號處理模塊主要用于檢測通道A和B上的前沿并確定編碼器的旋轉方向。

前沿檢測即在時鐘的上升沿處,將信道A的狀態存儲在一個信號中,然后在下一個上升沿到來時比較該信號和輸入A的電平。如果狀態不同,在通道A上則會產生上升或下降沿,如此一來,兩條通道上有任意一條上檢測到前沿狀態,則可以通過分析此時另一條軌道上的狀態,來確定車輪的旋轉方向是向前還是向后。

此時可產生一個“前進”或是“后退”的脈沖信號,利用這個脈沖信號可以確定車輪的旋轉方向以便于計算旋轉脈沖的數量,并通過該數量最終計算出車輪的轉速。

(2)脈沖計數器。在上一個過程中創建的“前進”或“后退”的脈沖,將會使得計數器進行遞增或遞減的計算,計數器將在編碼輪信號處理塊輸出其值后每毫秒重置一次。該計數器還可處理計數值為負值的情況。

(3)調配計數器的數值。此模塊中最后一個部分是用以計數值調配,若此時計數值為負數,需要將絕對值賦值給輸出端,若此時計數值為正數,則可以直接賦值給輸出端。

3.3.2 二進制與BCD碼轉換模塊

為了以十進制為單位清晰地限時轉速的數值,需要一個能將從“Quadra encoder”組件輸出的二進制編碼轉換成BCD碼的模塊。利用Shiftand Add 3算法,實現二進制編碼與BCD編碼的轉換。

3.3.3 BCD碼轉二進制碼模塊

由于該項目中需要將代碼發送到PC端并顯示在顯示屏上,因此需要將BCD碼轉換成ASCII碼并使用ASCII碼來進行顯示,參照BCD碼與ASCII碼的轉換表實現0-9的顯示,回車(Enter)用于返回行的開頭,從而重寫以前的數據。當需要將BCD(對于數字)碼切換到ASCII碼,只需在起始數值(0)的二進制碼添加48(110000)即可。

3.3.4 多路復用設置

復用組件由頻率發生器、3位計數器和多路復用器組成。

(1)頻率發生器。由于每毫秒許給顯示器發送5個字符(個位、十位、百位、符號、回車),即每毫秒需要發送一個完整的脈沖計數值,因此需要每0.2ms發送一個字符,多路復用地器的地址也將每0.2ms更改一次。

頻率發生器所創造的頻率周期為0.2ms,則

(2)3位計數器。因每毫秒必須發送5個字符,所以必須創建一個計數器,該計數器每0.2ms會利用頻率發生器更改一次多路復用器的地址,因此頻率發生器的頻率為5kHz。它的工作原理類似于“”模塊,但它的數值只需要增加到4就可以將輸出設置為“1”,從而將脈沖計數器設置為0,多路復用器的地址選擇即為輸出端的0-4。

(3)多路復用器。為了使用RS232鏈路逐個發送字符,需要創建一個多路復用器,它將每0.2ms交替發送各個字符,發送順序按照符號、百位、十位、個位的值,最后發送回車。

3.3.5 RS232鏈路模塊

“liaisonRS232”為RS232鏈路模塊,主要實現FPGA→PC的傳輸。

4 模擬仿真

在燒錄程序之前,需要對程序中的每個模塊進行模擬仿真,以保證整體程序的正常運行。兩個計數器和一個多路復用器組成的模塊以及“liaison RS232”模塊模擬也有進行。

4.1 正/反向旋轉及方向變化

如果通道B的上升前沿出現在通道A的上升前沿之前,則會增加計數器(輸出編碼器上的值),同時如果計數值大于0時,輸出端“neg”將為1110。在仿真到800ns時,旋轉編碼器的旋轉方向發生變化時,之后為逆時針旋轉,計數器數值在800ns之前均為增加的,超過800ns之后計數器數值開始減少,輸出時有些許延遲,由于計數器還未減小到零一下,因此輸出端“neg”仍為 1110(見圖3)。

圖3:旋轉方向變換時的模擬

4.2 震動影響

為了提高系統的精度,車輪快速的震動有可能會干擾旋轉編碼器的工作。

仿真表明(見圖4),即使在通道B上出現波形的振蕩,切在振蕩速度超過100MHz的極端情況下,輸出也沒有受到影響。

圖4:震動干擾仿真

5 總結

本次設計用于定義車輪旋轉方向和轉速的測量,并可能在后續工作中進一步完善將顯示數值改為以rpm為單位來直觀的顯示轉速,在實物測試過程中也發現當車輪轉動一周(500個脈沖x4)時,無法返回一個較為準確的數值,該數值應該是2000,因此在最終使用時,在一個存在干擾的環境中,可能需要創建一個截止頻率約為120kHz的低通數字錄波器,以便在3000rpm(2000脈沖/rpmx50rpm=100kHz)下并在其對干擾濾波后進行。

猜你喜歡
程序方向信號
2022年組稿方向
計算機應用(2022年2期)2022-03-01 12:33:42
2021年組稿方向
計算機應用(2021年4期)2021-04-20 14:06:36
信號
鴨綠江(2021年35期)2021-04-19 12:24:18
2021年組稿方向
計算機應用(2021年1期)2021-01-21 03:22:38
完形填空二則
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
基于FPGA的多功能信號發生器的設計
電子制作(2018年11期)2018-08-04 03:25:42
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
基于LabVIEW的力加載信號采集與PID控制
主站蜘蛛池模板: 亚洲欧美在线看片AI| 性欧美精品xxxx| 国产精品永久久久久| 乱人伦中文视频在线观看免费| 国产99热| 中文字幕无码av专区久久| 91九色视频网| 精品剧情v国产在线观看| 久久影院一区二区h| 国产免费自拍视频| 欧美在线三级| 一级片一区| 欧美一级在线看| 波多野结衣视频网站| 国产91麻豆视频| 一级爱做片免费观看久久| 在线精品亚洲一区二区古装| 亚洲二区视频| 国产成人免费手机在线观看视频 | 高清无码手机在线观看| 97超碰精品成人国产| 国产女同自拍视频| 日韩色图区| 欧美精品高清| 久久久精品国产SM调教网站| 小说区 亚洲 自拍 另类| 在线a网站| 国产麻豆精品久久一二三| 无码精品国产VA在线观看DVD| 青草娱乐极品免费视频| 国产免费精彩视频| 亚洲国产精品一区二区第一页免| 91亚瑟视频| 国产清纯在线一区二区WWW| 久久精品人人做人人爽97| 青青国产在线| 一级不卡毛片| 色播五月婷婷| av尤物免费在线观看| 亚洲视频一区| 亚洲人成人无码www| 亚洲欧美精品日韩欧美| 久久a级片| 丝袜亚洲综合| 亚洲国产理论片在线播放| 55夜色66夜色国产精品视频| 人人妻人人澡人人爽欧美一区| 亚洲日韩高清无码| 久久久噜噜噜| 人妻无码AⅤ中文字| 丁香五月亚洲综合在线| 一本久道热中字伊人| 性欧美精品xxxx| 欧美97欧美综合色伦图| 台湾AV国片精品女同性| 亚洲精品另类| 在线精品视频成人网| 五月天久久婷婷| 国产日韩欧美黄色片免费观看| 欧洲高清无码在线| 色偷偷av男人的天堂不卡| 国产精品久久久精品三级| 亚洲国产日韩在线观看| 99无码中文字幕视频| 国产在线第二页| 一级毛片不卡片免费观看| av色爱 天堂网| 久久久久青草大香线综合精品| 国产在线精彩视频论坛| 国产精品.com| 91精品日韩人妻无码久久| 91无码人妻精品一区| 国产00高中生在线播放| 久久久精品无码一二三区| 九色综合伊人久久富二代| 国产一区二区三区免费观看| 欧美午夜在线观看| 亚洲电影天堂在线国语对白| 国产91色在线| 色妞www精品视频一级下载| 久久国产精品波多野结衣| 色妞www精品视频一级下载|