chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于STM32的正交編碼器驅(qū)動(dòng)電機(jī)設(shè)計(jì)

西西 ? 來源:博客園 ? 作者:鴿紙 ? 2020-09-10 16:25 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1。編碼器原理

什么是正交?如果兩個(gè)信號相位相差90度,則這兩個(gè)信號稱為正交。由于兩個(gè)信號相差90度,因此可以根據(jù)兩個(gè)信號哪個(gè)先哪個(gè)后來判斷方向。

這里使用了TI12模式,例如當(dāng)T1上升沿,T2在低電平時(shí);T1下降沿,T2在高電平時(shí),向上計(jì)數(shù),這樣的好處是當(dāng)有毛刺產(chǎn)生的時(shí)候,會(huì)自動(dòng)+1 -1過濾掉毛刺。

2。編碼器的中斷

由于編碼器是基于定時(shí)器的,所以編碼器的中斷實(shí)際上就是定時(shí)器的中斷。也就是說定時(shí)器是每隔一定時(shí)間加一個(gè)數(shù)(或減一個(gè)數(shù) ),當(dāng)數(shù)到達(dá)預(yù)設(shè)值時(shí)就產(chǎn)生中斷,而編碼器是每一個(gè)有效脈沖就加一個(gè)數(shù)(或減一個(gè)數(shù) ),當(dāng)數(shù)到達(dá)預(yù)設(shè)值時(shí)就產(chǎn)生中斷。若預(yù)設(shè)值為1000則編碼器與定時(shí)器中斷不同的是,當(dāng)編碼器反轉(zhuǎn)時(shí)值到達(dá)999產(chǎn)生一次中斷,而當(dāng)編碼器正轉(zhuǎn)到達(dá)0時(shí)同 樣產(chǎn)生一次中斷。在硬件上這兩個(gè)中斷是沒法區(qū)分的,這也就造成了有種情況的誤判。

3。STM32編碼器沒有考慮的情況

想象一下,如果編碼器的預(yù)設(shè)值為1000,當(dāng)某次我們使得編碼器正轉(zhuǎn)產(chǎn)生中斷后,立即反轉(zhuǎn)則又該怎么辦呢?根據(jù)上面的說法,這時(shí)候會(huì)產(chǎn)生兩次一樣的中斷。 如果在算法上沒有處理的話,極有可能認(rèn)為是行走了兩次正向。但實(shí)際上并沒有。所以這個(gè)時(shí)候必須結(jié)合方向來判斷行走的情況(判斷方向使用的是DIR寄存器 位)或者在產(chǎn)生中斷后讀一次count寄存器位(看看是999還是0,以此來判斷當(dāng)前的方向)。只有上一次為正且這一次同樣為正,距離才是相加的。

4。STM32f1系列定時(shí)器16位的問題

我用STM32的定時(shí)器3工作于編碼器方式,可以正常得到編碼器位置,但由于現(xiàn)在只有16位計(jì)數(shù),位數(shù)不夠,我想擴(kuò)展到32位,可以先用定時(shí)器內(nèi)部連接,將定時(shí)器3 的溢出送到定時(shí)器2,用定時(shí)器2做高位,在正轉(zhuǎn)的時(shí)候正常,但反向的時(shí)候出錯(cuò)。換了個(gè)思路,做個(gè)每10ms產(chǎn)生一次的中斷,在中斷中調(diào)用下面的代碼,下述代碼中MAX_COUNT是 比 10ms內(nèi)可能出現(xiàn)的計(jì)數(shù)最大值還要大的值,ENCODER_TIM_PERIOD是定時(shí)器的period值,最好比MAX_COUNT大,然后定義一個(gè)32位的有符號變量,如currentCount,然后每隔10ms執(zhí)行一次currentCount += Enc_GetCount();只需要去讀取currentCount的值就可以得到位移信息了。

s16 Enc_GetCount(void)

{

static u16 lastCount = 0;

u16 curCount = ENCODER_TIM-》CNT;

s32 dAngle = curCount - lastCount;

if(dAngle 》= MAX_COUNT){

dAngle -= ENCODER_TIM_PERIOD;

}else if(dAngle 《 -MAX_COUNT){

dAngle += ENCODER_TIM_PERIOD;

}

lastCount = curCount;

return (s16)dAngle;

}

5。其它一些得到的信息

1.編碼器有個(gè)轉(zhuǎn)速上限,超過這個(gè)上限是不能正常工作的,這個(gè)是硬件的限制,原則上線數(shù)越多轉(zhuǎn)速就越低,這點(diǎn)在選型時(shí)要注意,編碼器的輸出一般是開漏的,所以單片機(jī)的io一定要上拉輸入狀態(tài)。

2.定時(shí)器初始化好以后,任何時(shí)候CNT寄存器的值就是編碼器的位置信息,正轉(zhuǎn)他會(huì)加反轉(zhuǎn)他會(huì)減這部分是不需要軟件干預(yù)的,初始化時(shí)給的TIM_Period 值應(yīng)該是碼盤整圈的刻度值,在減溢出會(huì)自動(dòng)修正為這個(gè)數(shù)。加超過此數(shù)值就回0.

3.如果要擴(kuò)展成多圈計(jì)數(shù)需要溢出中斷,程序上圈計(jì)數(shù)加減方向位就行了。

4.每個(gè)定時(shí)器的輸入腳可以通過軟件設(shè)定濾波

5.應(yīng)用中如果沒有絕對位置信號或者初始化完成后還沒有收到絕對位置信號前的計(jì)數(shù)只能是相對計(jì)數(shù)。收到絕對位置信號后重新修改一次CNT的值就行了。碼盤一般都有零位置信號,結(jié)合到定時(shí)器捕獲輸入就行。上電以后要往返運(yùn)動(dòng)一下找到這個(gè)位置。

6.即便有濾波計(jì)數(shù)值偶爾也會(huì)有出錯(cuò)誤的情況,一圈多計(jì)一個(gè)或少計(jì)一個(gè)數(shù)都是很正常的特別是轉(zhuǎn)速比較高的時(shí)候尤其明顯,有個(gè)絕對位置信號做修正是很有必要的。絕對位置信號不需要一定在零位置點(diǎn),收到這個(gè)信號就將CNT修正為一個(gè)固定的數(shù)值即可。

7.開啟定時(shí)器的輸入中斷可以達(dá)到每個(gè)步計(jì)數(shù)都作處理的效果,但是高速運(yùn)轉(zhuǎn)的時(shí)候你可能處理不過來.

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 編碼器
    +關(guān)注

    關(guān)注

    45

    文章

    3900

    瀏覽量

    141353
  • STM32
    +關(guān)注

    關(guān)注

    2305

    文章

    11119

    瀏覽量

    370983
  • 定時(shí)器
    +關(guān)注

    關(guān)注

    23

    文章

    3360

    瀏覽量

    121676
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    RVMCU課堂「17」: 手把手教你玩轉(zhuǎn)RVSTAR—正交編碼器接口篇

    ?上期內(nèi)容我們介紹了定時(shí)的PWM輸出功能,本期內(nèi)容來介紹一下定時(shí)正交譯碼功能(編碼器接口)。正交
    發(fā)表于 10-31 08:21

    什么是伺服電機(jī)編碼器?作用/關(guān)鍵技術(shù)/選型等一起看看吧!

    什么是伺服電機(jī)編碼器? 伺服電機(jī)編碼器是伺服系統(tǒng)中的核心反饋元件,用于實(shí)時(shí)檢測電機(jī)的轉(zhuǎn)速、位置、角度等參數(shù),并將信號反饋給控制
    的頭像 發(fā)表于 06-09 11:07 ?2004次閱讀
    什么是伺服<b class='flag-5'>電機(jī)</b><b class='flag-5'>編碼器</b>?作用/關(guān)鍵技術(shù)/選型等一起看看吧!

    伺服電機(jī)編碼器與轉(zhuǎn)子磁極相位對齊方法

    永磁交流伺服電機(jī)編碼器相位為何要與轉(zhuǎn)子磁極相位對齊 其唯一目的就是要達(dá)成矢量控制的目標(biāo),使 d 軸勵(lì)磁分量和 q 軸出力分量解耦,令永磁交流伺服電機(jī)定子繞組產(chǎn)生的電磁場始終正交于轉(zhuǎn)子
    發(fā)表于 05-14 16:00

    三菱伺服電機(jī)怎么設(shè)定無編碼器

    要將三菱伺服電機(jī)設(shè)置為無編碼器模式(也稱為開環(huán)控制模式),需要遵循一定的步驟和注意事項(xiàng)。以下是一個(gè)詳細(xì)的指南: 一、了解無編碼器模式 無編碼器模式是指伺服
    的頭像 發(fā)表于 03-20 07:41 ?1197次閱讀

    各類電機(jī)有沒有編碼器?如何分類?

    工業(yè)電機(jī)中,有些電機(jī)自帶編碼器,而有些則不帶。編碼器通常用于提供電機(jī)的位置、速度或方向等反饋信息,以實(shí)現(xiàn)更精確的控制。以下是對
    的頭像 發(fā)表于 03-16 11:09 ?1389次閱讀

    創(chuàng)新伺服電機(jī)使用的多圈絕對式旋轉(zhuǎn)編碼器

    為了適應(yīng)越來越短伺服驅(qū)動(dòng)器的設(shè)計(jì),使用多圈 絕對值旋轉(zhuǎn)編碼器的長度和直徑也必須減少。 機(jī)器人和數(shù)控機(jī)床制造商比以往任何時(shí)候都 需要具有更高效率更精確和更緊湊型驅(qū)動(dòng)器。為 了滿足這些未來的需求,史陶
    發(fā)表于 03-12 16:58

    伺服電機(jī)編碼器怎么選型

    伺服電機(jī)編碼器的選型是一個(gè)綜合性的過程,需要考慮多個(gè)因素以確保所選編碼器能夠滿足系統(tǒng)的性能要求。以下是一些關(guān)鍵的選型步驟和考慮因素: 一、明確應(yīng)用需求 首先,需要明確伺服電機(jī)
    的頭像 發(fā)表于 03-11 12:01 ?1442次閱讀
    伺服<b class='flag-5'>電機(jī)</b><b class='flag-5'>編碼器</b>怎么選型

    定時(shí)是不是有編碼器輸入功能?

    你好,我想請教一下定時(shí)是不是有編碼器輸入功能,是高級定時(shí)和通用定時(shí)都有嗎,還是不一定,具體要看手冊,能幫我看一下STM32G473有幾
    發(fā)表于 03-11 07:07

    從步進(jìn)電機(jī)到智能系統(tǒng),編碼器究竟如何選擇?

    從步進(jìn)電機(jī)到智能系統(tǒng),編碼器的選擇是一個(gè)關(guān)鍵決策,它直接影響到系統(tǒng)的性能和精度。以下是一些關(guān)于如何選擇編碼器的建議: 一、明確應(yīng)用場景和需求 首先,需要明確編碼器的應(yīng)用場景和需求。不同
    的頭像 發(fā)表于 03-05 07:34 ?948次閱讀
    從步進(jìn)<b class='flag-5'>電機(jī)</b>到智能系統(tǒng),<b class='flag-5'>編碼器</b>究竟如何選擇?

    伺服電機(jī)編碼器與轉(zhuǎn)子磁極相位對齊方法

    永磁交流伺服電機(jī)編碼器相位為何要與轉(zhuǎn)子磁極相位對齊,其唯一目的就是要達(dá)成矢量控制的目標(biāo),使 d 軸勵(lì)磁分量和 q 軸出力分量解耦,令永磁交流伺服電機(jī)定子繞組產(chǎn)生的電磁場始終正交于轉(zhuǎn)子
    發(fā)表于 03-03 01:58

    絕對式編碼器在伺服電機(jī)控制中的應(yīng)用與優(yōu)勢分析

    ? ? ? 絕對式編碼器在伺服電機(jī)控制中的應(yīng)用廣泛且重要,其優(yōu)勢顯著,以下是對其應(yīng)用與優(yōu)勢的詳細(xì)分析: ? ? ??一、絕對式編碼器在伺服電機(jī)控制中的應(yīng)用 ? ? ? 絕對式
    的頭像 發(fā)表于 02-06 09:46 ?1522次閱讀
    絕對式<b class='flag-5'>編碼器</b>在伺服<b class='flag-5'>電機(jī)</b>控制中的應(yīng)用與優(yōu)勢分析

    伺服電機(jī)編碼器故障及維修

    伺服電機(jī)編碼器故障及維修,伺服電機(jī)編碼器4大常見故障,編碼器信號丟失或不穩(wěn)定,編碼器零點(diǎn)偏移,
    的頭像 發(fā)表于 01-21 14:49 ?3812次閱讀
    伺服<b class='flag-5'>電機(jī)</b><b class='flag-5'>編碼器</b>故障及維修

    伺服電機(jī)編碼器

    在現(xiàn)代工業(yè)自動(dòng)化和控制系統(tǒng)中,伺服電機(jī)編碼器扮演著至關(guān)重要的角色。它能夠精確測量電機(jī)的位置、速度和方向,為系統(tǒng)提供準(zhǔn)確的反饋信息,實(shí)現(xiàn)高精度的運(yùn)動(dòng)控制。伺服電機(jī)
    的頭像 發(fā)表于 01-20 14:01 ?1638次閱讀
    伺服<b class='flag-5'>電機(jī)</b><b class='flag-5'>編碼器</b>

    定期進(jìn)行維護(hù)保養(yǎng)伺服電機(jī)編碼器,常見故障及其維修方法

    伺服電機(jī)作為關(guān)鍵驅(qū)動(dòng)元件,其性能直接影響到整個(gè)系統(tǒng)的精度和效率。而伺服電機(jī)編碼器則是其關(guān)鍵組成部分,負(fù)責(zé)實(shí)時(shí)反饋電機(jī)的轉(zhuǎn)動(dòng)位置和速度。
    的頭像 發(fā)表于 12-27 16:24 ?2346次閱讀
    定期進(jìn)行維護(hù)保養(yǎng)伺服<b class='flag-5'>電機(jī)</b><b class='flag-5'>編碼器</b>,常見故障及其維修方法

    智能化升級趨勢下,磁編碼器電機(jī)控制系統(tǒng)中的重要性凸顯

    、優(yōu)化系統(tǒng)性能等優(yōu)勢。 ? 從物理介質(zhì)的不同來分,伺服電機(jī)編碼器可以分為光電編碼器和磁電編碼器,另外旋轉(zhuǎn)變壓也算一種特殊的伺服
    的頭像 發(fā)表于 12-11 00:20 ?3610次閱讀