全國服務熱線

18219276011

2850818308

您當前位置:首頁>>升威資訊>>技術支持
升威資訊
公司新聞
企業視頻
行業資訊
技術支持
廣東升威電子制品有限公司
地址:東莞市塘廈鎮鳳凰崗鳳清路39號升威工業園
電話:0769-38833333-881
銷售電話:18219276011
傳真:0769-87930111
E-mail:sw@soundwell-cn.com
旋轉編碼器是如何測速的?
發布時間:2019-04-08
發布者:
瀏覽次數:243次

小車如果想要直線行走,就必須保持四個輪子轉速一致。一般通過輸入一個固定的占空比pwm信號來控制,但是由于一些外界因素和輪子的電氣特性,就算讓四個輪子收到相同的信號,轉速也會不一樣。

   這時就需要將旋轉編碼器和輪子固定在一起,以測量輪子的實際轉速,讓旋轉編碼器返回實際轉速的值。PID的輸入參數也是編碼器的返回值。


一、實驗工具STM32開發板一塊、L298N電機驅動、直流電機   

以及用到的軟件(STM32CubeMX、keil4)


二、旋轉編碼器原理


1.概述:旋轉編碼器是一種將角位移或者角速度轉換成一串電數字脈沖的旋轉式傳感器。旋轉編碼器又分為光電編碼器和霍爾編碼器,我們這里用到的是霍爾編碼器。


2.霍爾編碼器工作原理:一種通過磁電轉換將輸出的機械幾何位移量轉換成脈沖或數字量的傳感器,霍爾編碼器室友霍爾馬盤和霍爾元件組成?;魻栺R盤是在一定直徑的圓板上等分的布置有不同的磁極?;魻栺R盤與電動機同軸,電動機旋轉時,霍爾元件檢測輸出若干脈沖信號,為判斷轉向,一般輸出兩組存在一定相位差的方波信號。簡單示意圖如下:

3.旋轉編碼器接線圖:


4.測速原理:我們這里用到的是M法測速的時候,會通過測量單位時間內A相輸出的脈沖數來得到速度信息。




5.采集數據:編碼器輸出的是標準的方波,我們可以用單片機直接讀取。在軟件中的處理方式分兩種1.自帶編碼器接口的單片機如STM32,可以以直接用硬件技術2.沒有編碼器借口的單片機  可通過外部中斷讀取。




一、轉速計算方法:用捕獲值(一秒內輸出的脈沖數)/編碼器線數(轉速一圈輸出脈沖數)/電機減數比(內部電機轉動圈數與電機輸出軸轉動圈數比,即減速齒輪比)




二、源碼解析


1.      STM32CubeMX設置用到的引腳,生成keil文件。引腳設置如下圖:


1.     編碼器,串口,定時器初始化部分就不一一列出,想了解的可以去源碼尋找。下面我主要說一下主函數中的代碼。


首先是使用按鍵控制PWM變化來控制電機轉速部分:

 




接下來調用HAL_TIM_IC_CaptureCallback函數 以便接下來得到一秒內輸出的脈沖數,通過獲取到的脈沖數來計算轉速。



接下來在回調函數中計算轉速。



綜上將電機、單片機、L298N電機驅動模塊、連接起來就可以實現功能。

--------------------- 

作者:Susquehanna 

來源:CSDN 

原文:https://blog.csdn.net/Susquehanna/article/details/77504066 

版權聲明:本文為博主原創文章,轉載請附上博文鏈接!


最新案例
蚂蚁彩票|官网登录 聚星彩票|手机app下载 众彩彩票|官网登录 大兴彩票|官网登录 桔子彩票|手机app下载 众彩彩票|手机app下载 66彩票|官网登录 头头彩票|官网登录 盈发彩票|官网登录 聚彩彩票|手机app下载 248彩票|手机app下载 8828彩票|官网登录 天福彩票|官网登录