編碼電機的介紹
????????編碼器是一種將角位移或者直線位移轉換成一連串電數字脈沖的一種傳感器。我們可以通過編碼器測量電機轉動的位移或者速度信息。?編碼器按照工作原理,可以分為增量式編碼器和絕對式編碼器,絕對式編碼器的每一個位置對應一個確定的數字碼,因此它的示值只與測量的起始和終止位置有關,而與測量的中間過程無關。我們常用的編碼器為增量式編碼器。?從編碼器檢測原理上來分,還可以分為光學式、磁式、感應式、電容式。
????????常用的520?霍爾編碼直流減速電機是一款大扭矩、高負載的電機,12V?的直流電機。霍爾測速碼盤是一款使用霍爾傳感器編碼器的測速模塊,配有強磁碼盤通過?AB?兩相輸出脈沖信號,可以檢測電機轉動方向和速度適合各類轉速要求高的智能小車使用。如麥克納姆輪小車、平衡小車、導航定位小車等。
????????其中在減速電機內部馬達不變的情況下,減速箱內齒輪減速比與轉速、扭矩之間的關系:減速比越大扭矩越大,轉速則越小。
對于電機型號的說明
????????如:J?GB?37?-?520?R20?-?12
???????????J代表直流電機
???????????GB代表偏心出軸
???????????37代表減速箱直徑
???????????520代表電機型號
???????????R20代表減速比1:20
???????????12代表額定電壓12V
????????對于所有的編碼電機的引腳基本上都為
????????????電機線+
????????????編碼器電源
????????????編碼器A相
????????????編碼器B相
????????????編碼器地線
????????????電機線-
????????不過具體還可看一下編碼器后面的標識
編碼器工作原理
????????霍爾編碼器是由霍爾碼盤和霍爾元件組成。霍爾碼盤是在一定直徑的圓板上等分地布置有不同的磁極。霍爾碼盤與電動機同軸,電動機旋轉時,霍爾元件檢測輸出若干脈沖信號,為判斷轉向,一般輸出兩組存在一定相位差的方波信號。
對于使用編碼電機時,若要使用pid來控制其的速度,那就得計算當前速度
速度計算:
????????速度=(脈沖數?輪胎周長/讀取周期?輪胎每轉一圈的脈沖數)
其中,輪胎每轉一圈的脈沖數取決于編碼器的分辨率,可由下面公式進行計算:
????????輪胎每轉一圈的脈沖數=倍頻?PPR?減速比
對于通過定時器定時1s的時間,以及占空比的原理,
?????????ARR——自動重裝器????????PSC——預分頻器???ccr——輸出比較寄存器
計算定時器時間公式
????????定時頻率=72M/(PSC+1)/(ARR+1)
????????72M=72?000?000
????????所以定時一秒,對于頻率為1hz,需要的PSC+1=7200?ARR+1=10000?
????????對于ARR和PSC的確定,他們是16位數對應的取值范圍是0~65535?,0也算一位,則要讓其計1000,則arr要為1000-1
????????CCR與CNT比較,可以設置為當CNT小于設置得值輸出高電平,否則輸出高電平,CCR控制的是duty占空比,如arr取1000,crr取500則duty為0.5
對于使用stm32RCT6來控制編碼電機
????????使用時應注意該定時器的通道是否為能配置為編碼器模式的通道
????????在STM32微控制器中,定時器1、2、3、4、5和8可以配置為編碼器模式,但只有通道1和通道2(即TI1和TI2)能夠作為編碼器輸入信號的接口。
????????對于帶方向的編碼器,由于其只有一路脈沖輸出,可以選擇其中任一通道進行計數。而對于正交編碼器,由于其有兩路脈沖輸出,通常選擇兩個通道同時進行計數。
????????再配置定時器為編碼器模式時可以將io口配置為復用推挽輸出或輸入模式。
????????在STM32中,當IO口被配置為復用推挽輸出時,仍然可以讀取該IO口的數值。
????????復用推挽輸出模式意味著GPIO口不僅用于普通的數字輸入輸出功能,還被用作特定的外設功能引腳。在這種模式下,雖然控制信號的來源是內置外設控制器,但單片機仍然可以通過讀取相應的數據寄存器來獲取上次輸出的值。
????????在使用定時器輸出pwm波時,要注意在STM32中,TIM_SetCompare1、TIM_SetCompare2、TIM_SetCompare3與TIM_SetCompare4可以同時使用,它們分別對應不同的定時器通道。而TIM_SetCompare1與TIM_SetCompare2的區別主要在于它們控制的是不同通道的PWM輸出。
????????對于stm32?RCT6的定時器與其包含的IO口為:
?結語
還在學習中,如有錯誤還請大佬們指出,有問題可相互交流