編碼器的種類有很多,什么增量式編碼器、絕對值編碼器,有軸或者無軸編碼器,電壓輸出、推拉輸出、集電極開路輸出等等。但不管什么類型的編碼器,其目的都類似,得到轉動的角度,角速度、位移等。
本文講述常見的增量式編碼器,增量式編碼器也可以叫正交編碼器,也就是說可以通過其A、B的相位知道編碼器是正轉,還是反轉,還可以根據編碼器參數得出旋轉了多少角度等。
常見的增量式編碼器A、B、Z三根線代表什么意思呢?使用過編碼器的人不難理解,這里簡單給初學者講述一下:
A、B兩線提供相位相差90度的脈沖信號,用其來計算旋轉的角度;Z線為過零點線,也就是說每轉一轉,經過某一點都會輸出一個脈沖信號,主要用于“過零校正”,三線的信號大致如下圖(左邊):
有些編碼器出來的線有一個對應的“非”信號線(如上圖右邊),其實主要用于抗干擾的。
更多關于編碼器的描述,請網上搜索相關的知識進行了解,本文不再講述。
在STM32芯片中,都有這么一個定時器,叫通用定時器“General-purpose timers”,定時器里面存在這么一個模式,叫編碼器接口模式“Encoder interface mode”。當然,具體是哪一個TIM,可參看芯片對應的數據手冊,可以一目了然。
STM32提供的編碼器接口模式主要針對的就是“正交編碼器”,它可以利用定時器的“計數”功能,得出編碼器計了多少個脈沖;同時,它可以根據編碼器AB的相位得出編碼器是正轉,還是反轉。
(圖片來自STM32參考手冊)
1.計算脈沖個數
有點類似TIM的捕獲功能,捕獲A相、B相的脈沖信號;只是編碼器模式是捕獲A(TI1)、B(TI2)相的邊沿信號(如上圖),相當于一個周期內,計4個脈沖信號的值。
2.計數器的增減(方向)
STM32的計數器會根據方向(+ 或者 -)來進行計數,TI1和TI2相位相差90,4個階段的邊沿,對應TI1和TI2不同電平信號,從這個不同的信號,硬件自身可以判斷出其方向。在編碼器模式下,有個寄存器(TIMx_CR1)中有一個方向位(DIR),會隨著編碼器旋轉方向的改變而改變,我們可以通過讀取該位來判斷編碼器的正轉,還是反轉。
3.TIM時基
STM32編碼器接口模式,其實是通過利用AB相位TIM時基提供時鐘信號,使其計數。
相信看了上面的一些描述,大家應該對編碼器有所理解了。其實,在STM32中,可以通過配置編碼器模式對應的函數,就能實現獲取編碼器傳感器上面的信息了。
使用STM32提供的標準外設庫,或者使用STM32CubeMX工具很容易將TIM配置成編碼器模式。
1.標準外設庫配置編碼器
TIM_EncoderInterfaceConfig,它就是編碼器接口的配置函數。簡單的只需要配置該函數,使能TIM,即可實現采集編碼器上面的信息。(當然,需要復雜的操作,還需要做其他相應的配置)
void ENCODER_Configuration(void)
{
TIM_EncoderInterfaceConfig(TIM3, TIM_EncoderMode_TI12, TIM_ICPolarity_Rising, TIM_ICPolarity_Rising);
TIM_Cmd(TIM3, ENABLE);
}
2.STM32CubeMX配置
STM32CubeMX是一套快速開發的工具,讓很多不了解STM32底層的朋友可以快速的在STM32上編寫應用程序。
本文說的配置編碼器接口,在某些TIM上存在一個“Combined Channel”配置,可以理解為“連接通道”,也算是TIM的一種復用模式。選擇里面的“Encoder Mode”即可。
本文提供的代碼為一個使用標準外設庫編寫的簡單Demo工程,其中里面附帶一個工程(用于模擬編碼器AB相波形的工程),如下如:
該工程主要配置TIM的編碼器模式,通過定時讀取編碼器的方向(DIR),和計數(CNT),并通過串口打印出來。
下載地址:
百度網盤:
鏈接:https://pan.baidu.com/s/1jH8yOqM
密碼:t4kx
GitHub:
https://github.com/EmbeddDeveloper/STM32F4_TIM_Encoder
CSDN:
http://download.csdn.net/download/ybhuangfugui/10165086
上一篇:一篇很簡單,有必要了解的文章 - STM32復位來源(寄存器版)
下一篇:關于STM32的計數和延時
推薦閱讀
史海拾趣
Amphenol RF 是 Amphenol 公司的一個子公司,專注于設計、制造和銷售射頻連接器和組件,在電子行業中占據重要地位。以下是關于 Amphenol RF 公司發展的五個相關故事:
創立與早期發展:Amphenol RF 公司的歷史可以追溯到20世紀40年代,當時被稱為RF Connector Division。最初,公司主要致力于生產射頻連接器和組件,為通信、航空航天、軍事和工業市場提供射頻連接解決方案。隨著射頻技術的發展和市場需求的增長,Amphenol RF 逐漸壯大成為射頻連接器領域的重要參與者。
技術創新與產品多樣化:Amphenol RF 公司在射頻領域持續進行技術創新,并不斷推出新型的射頻連接器和組件產品。公司致力于提升產品的性能、可靠性和適應性,滿足客戶對高頻射頻應用的需求。除了傳統的射頻連接器,Amphenol RF 還推出了一系列新型產品,如微波連接器、同軸連接器、板對板連接器等,拓展了產品線的多樣性。
客戶合作與定制化解決方案:Amphenol RF 公司與客戶建立了緊密的合作關系,共同開發定制化的射頻連接器和組件解決方案。公司的工程團隊與客戶密切合作,根據客戶的需求和應用場景,設計和制造符合特定要求的產品。這種定制化解決方案能夠滿足客戶個性化的需求,為客戶提供更加專業和完善的服務。
質量控制與認證標準:Amphenol RF 公司高度重視產品質量控制,并嚴格遵循國際質量管理體系標準。公司的生產工藝和質量管理體系符合ISO 9001質量管理體系認證標準,以確保產品質量的穩定性和可靠性。此外,Amphenol RF 公司的產品還通過了各種行業和應用領域的認證標準,如航空航天領域的MIL-SPEC標準等,確保產品符合行業標準和規定。
全球市場拓展與合作伙伴關系:除了在美國的生產基地外,Amphenol RF 公司還在全球范圍內設有多個銷售辦事處和代理商網絡,拓展了國際市場份額。公司與全球各種行業領先企業建立了長期穩定的合作關系,共同推動產品的創新和市場拓展。通過全球市場拓展和合作伙伴關系,Amphenol RF 公司不斷擴大業務規模,增強了在射頻連接器領域的市場競爭力。
這些故事展示了 Amphenol RF 公司從成立初期到如今在技術創新、產品多樣化、客戶合作與定制化解決方案、質量控制與認證標準以及全球市場拓展與合作伙伴關系等方面取得的重要進展。
Carlisle Interconnect Components公司深知品質是贏得市場的關鍵。因此,公司建立了嚴格的質量管理體系,從原材料采購到生產制造,再到產品出廠,每一個環節都嚴格把控。這種對品質的執著追求,使得公司的產品在國際市場上獲得了良好的口碑。同時,公司還積極拓展海外市場,與多家國際知名企業建立了穩定的合作關系,進一步提升了公司在全球電子連接器市場的影響力。
在電子行業快速發展的背景下,Carlisle Interconnect Components公司始終將技術研發和持續創新作為公司發展的核心動力。公司投入大量資源用于研發新型連接器技術,不斷推出具有更高性能、更小型化、更智能化的產品。這些創新產品的問世,不僅為公司帶來了更多的市場機遇,更推動了整個電子連接器行業的進步。
經過幾年的努力,Compound Photonics在LCoS領域取得了顯著的進步,成為了業內知名的LCoS方案商之一。公司的技術與產品得到了市場的廣泛認可,成功應用在Lumus最新的二維擴瞳模組中。這次合作不僅提升了Compound Photonics的市場地位,也為其帶來了可觀的商業回報。
盡管在Micro LED領域遭遇了挫折,但Compound Photonics并沒有因此沉淪。相反,公司憑借其在LCoS領域的深厚技術積累和良好的市場口碑,吸引了眾多潛在合作伙伴的關注。其中,Snap公司表現出了強烈的收購意向。這一消息傳出后,Compound Photonics的市場價值得到了進一步提升,公司的發展前景也變得更加廣闊。
這五個故事展示了Compound Photonics公司在電子行業里發展起來的一些關鍵節點和重大事件。從收購Syntax-Brillian開啟微顯示領域之路,到微投顯示模組項目失利后轉向LCoS方向,再到成為業內知名LCoS方案商并與Lumus合作,以及與Plessey合作開發Micro LED產品遭遇Meta競爭,最后到Snap的收購意向,每一個故事都反映了公司在不同階段的挑戰與機遇。通過這些故事,我們可以看到Compound Photonics公司在電子行業里不斷進取、創新發展的精神風貌。
盡管在Micro LED領域遭遇了挫折,但Compound Photonics并沒有因此沉淪。相反,公司憑借其在LCoS領域的深厚技術積累和良好的市場口碑,吸引了眾多潛在合作伙伴的關注。其中,Snap公司表現出了強烈的收購意向。這一消息傳出后,Compound Photonics的市場價值得到了進一步提升,公司的發展前景也變得更加廣闊。
這五個故事展示了Compound Photonics公司在電子行業里發展起來的一些關鍵節點和重大事件。從收購Syntax-Brillian開啟微顯示領域之路,到微投顯示模組項目失利后轉向LCoS方向,再到成為業內知名LCoS方案商并與Lumus合作,以及與Plessey合作開發Micro LED產品遭遇Meta競爭,最后到Snap的收購意向,每一個故事都反映了公司在不同階段的挑戰與機遇。通過這些故事,我們可以看到Compound Photonics公司在電子行業里不斷進取、創新發展的精神風貌。
本帖最后由 paulhyde 于 2014-9-15 04:08 編輯 湖北省電子設計競賽一等獎作品:調幅發射機電路的設計 詳細全文見附件 摘要: 簡易調幅發射機,由調幅信號源和高頻高效功率放大器組成。調幅信號源由LC振蕩電路產生正弦波; 鎖相環芯片MC145152和雙 ...… 查看全部問答∨ |
|
VS2005+WINCE6.0 如何通過vs2005將應用程序下載到硬件上進行調試? 我導出了一個SDK并安裝了,但是不知道編譯的時候如何直接下載到硬件? 以前用evc就比較方便,現在感覺好麻煩,ActiveSync連接上了,但是remote無法使用… 查看全部問答∨ |
|
開發環境:RealView MDK3.22STM32F103VBJLink現象:debug時,程序從0x080000ED一閃而過,PC指針直接跳到0x20000000處執行:0x20000000 BE00 BKPT 0x00是怎么回事 ...… 查看全部問答∨ |
|
我在他的AD上外部接了干電池, 我把電壓調整到2.8V,采樣250次后 我看數據, 發現數據 從3470----3420 的數據都有,真的叫人郁悶 請問香主 他的誤差有那么大么.我把電路貼出來, 不知道那位采的數據精確點啊… 查看全部問答∨ |
設計資源 培訓 開發板 精華推薦
- 英特爾被曝向臺積電下達 2nm 晶圓代工訂單,成為該制程首批客戶
- Akamai 研究發現:在亞太地區及日本,AI 驅動的應用程序遭受了 510 億次 Web 攻擊,年同比增長達 73%
- 汽車顯示屏——第1部分:TFT LCD、OLED和micro-LED顯示屏基本原理
- 英特爾首秀上海車展:以“芯”賦能,攜手合作伙伴推動全車智能化
- 中國首個高速L3商用解決方案!華為新一代ADS 4正式發布
- 增強自主移動機器人的安全性
- Cadence 推出業界首款 12800MT/s DDR5 MRDIMM Gen2 內存 IP 系統解決方案
- 消息稱英特爾本周內公布 20%+ 大裁員計劃
- 盤點慕尼黑電子展上那些火熱的機器人技術和產品
- AI算力狂飆下的能源困局,ST如何突圍?