產(chǎn)品分類

      當(dāng)前位置: 首頁 > 傳感測量產(chǎn)品 > 工業(yè)傳感器 > 霍爾傳感器

      類型分類:
      科普知識
      數(shù)據(jù)分類:
      霍爾傳感器

      電機(jī)測速霍爾傳感器:51單片機(jī)霍爾傳感器電機(jī)測速設(shè)計(jì)

      發(fā)布日期:2022-10-09 點(diǎn)擊率:63


      電機(jī)測速霍爾傳感器:51單片機(jī)霍爾傳感器電機(jī)測速設(shè)計(jì)  第1張

      電機(jī)測速霍爾傳感器:51單片機(jī)霍爾傳感器電機(jī)測速設(shè)計(jì)

      1.本設(shè)計(jì)采用STC89C51/52(與AT89S51/52、AT89C51/52通用,可任選)單片機(jī)作為主控制器
      2.采用霍爾傳感器非接觸式測電機(jī)轉(zhuǎn)速
      3.LCD1602液晶顯示當(dāng)前的轉(zhuǎn)速,轉(zhuǎn)速單位為轉(zhuǎn)/分(RPM)。和顯示當(dāng)前的pwm占空比0~100%。
      4.電機(jī)的速度可以通過按鍵調(diào)整,也可以開始暫停,正轉(zhuǎn)和反轉(zhuǎn)。
      注意:磁鐵和霍爾元件最近距離在2mm左右,太近可能會在電機(jī)轉(zhuǎn)動(dòng)時(shí)碰到霍爾元件,太遠(yuǎn)霍爾元件可能會檢測不到磁鐵。
      使用說明:
      液晶屏第一行顯示電機(jī)轉(zhuǎn)速,第二行顯示占空比,占空比數(shù)值越大,電機(jī)轉(zhuǎn)速越快。
      系統(tǒng)一共有6個(gè)按鍵,單片機(jī)附近的獨(dú)立按鍵是系統(tǒng)的復(fù)位按鍵,按下單片機(jī)會復(fù)位。
      下面一排是控制按鍵:
      1鍵:加速鍵,可以短按,占空比加1,也可長按,占空比連續(xù)加;
      2鍵:減速鍵,可以短按,占空比減1,也可長按,占空比連續(xù)減;
      3鍵:正轉(zhuǎn)切換鍵,按下后電機(jī)正轉(zhuǎn);
      4鍵:反轉(zhuǎn)切換鍵,按下后電機(jī)反轉(zhuǎn);
      5鍵:開始暫停鍵,按一下開始,再按一下暫停。
      電路原理圖如下:
      PCB圖+布局圖+焊接圖:
      單片機(jī)源程序如下:
      #include
      #define uchar unsigned char
      #define uint unsigned int
      void displaym();
      void displayj();
      sbit en=P2^5;                //1602  6管腳
      sbit rs=P2^7;         //1602端口        4管腳
      sbit rw=P2^6;//lcd1602控制端口 5管腳
      sbit num1=P1^0;                                                //占空比加1
      sbit num2=P1^1;                                                                   //占空比減一
      sbit num3=P1^2;                                                                                           //正傳
      sbit num4=P1^3;                                                                                                         //反轉(zhuǎn)
      sbit num5=P1^4;                 //開始停止切換
      sbit beep=P2^4;
      sbit out=P3^4;                                                         //PWM輸出用于正傳
      sbit out1=P3^7;                        //PWM輸出用于反轉(zhuǎn)
      uint zhuansu,flag,z1,z2,m,flag_1,zheng,fan,kai,j,su,qian,bai,shi,ge;
      void delay(uint z)//延時(shí)1ms函數(shù)
      {
      uint x,y;
      for(x=0;x<z;x++) for(y="0;y<110;y++);" }="" void="" write_com(uchar="" com)="" 向1602寫一字節(jié)(控制指令)="" {="" rs="0;" p0="com;" delay(5);="" en="1;" delay(10);="" write_data(uchar="" date)="" 向1602寫一字節(jié)(數(shù)據(jù))="" init()="" 初始化函數(shù)="" rw="0;" write_com(0x38);="" 5x7顯示="" write_com(0x0c);="" 關(guān)閉光標(biāo)="" write_com(0x01);="" lcd初始化="" tmod="0x11;" 定時(shí)器方式1="" th0="0xdc;" tl0="0x00;" 定時(shí)器裝入初值="" ea="1;" 開總中斷="" et0="1;" 定時(shí)器0開中斷="" tr0="1;" ex1="1;" it1="1;" 定時(shí)器啟動(dòng)="" th1="0xfc;" tl1="0x66;//定時(shí)100us" et1="1;" 定時(shí)器1開中斷="" tr1="1;" write_com(0x80);="" write_data('v');="" write_data(':');="" write_com(0x87);="" 第一行顯示轉(zhuǎn)速="" write_data('m');="" write_data('="" ');="" write_data('i');="" write_data('n');="" write_com(0xc0);="" write_data('z');="" write_data('k');="" write_data('b');="" displaym();="" write_com(0xc8);="" write_data('s');="" write_data('d');="" displayj();="" keyscan()="" 鍵盤掃描函數(shù)="" if(num1="=0)" 消除抖動(dòng)="" if(m

      }
       }
      if(num3==0)
       {
      delay(5);
      if(num3==0)
      {
       j=j+1;
      displayj();
      }

      }
       if(num4==0)
       {
      delay(5);
      if(num4==0)
      {
      j=j-1;
      displayj();

      }
       }
       if(num5==0)
       {
      delay(5);
      if(num5==0)
      {
      while(num5==0)         ;
       kai=1-kai;

      }
       }

      }
      void display()
      {
       write_com(0x82);
       zhuansu=zhuansu*30;          //將兩秒內(nèi)的計(jì)數(shù)乘以30得到轉(zhuǎn)每分

      su=zhuansu*0.01*2*3.14/2;
      qian=(su/1000)%100;
      write_data(qian+0x30);
      bai=(su/100)%10;
       write_data(bai+0x30);
      shi=(su/10)%10;
      write_data(shi+0x30);
       write_data('.');
      ge=su%10;
      write_data(ge+0x30);
       write_com(0xd0);
      }
      void displaym()
      {
      write_com(0xc4);
        if(m/200%10!=0)
       write_data(m/200%10+0x30);                           //如果占空比百位不為0則顯示百位否則顯示空格
       else
       write_data(' ');

      if(m/200%10==0&&m/20%10==0)
       write_data(' ');
       else
       write_data(m/20%10+0x30);                                 //如果占空比小于10 十位正常顯示  否則顯示空格

      write_data(m/2%10+0x30);                                 //顯示個(gè)位
      }
      void displayj()
      {
      write_com(0xcb);
        if(j/100%10!=0)
       write_data(m/100%10+0x30);
       else
       write_data(' ');

      if(j/100%10==0&&j/10%10==0)
       write_data(' ');
       else
       write_data(j/10%10+0x30);

      write_data(j/1%10+0x30);
        write_com(0xd0);
      }
      void main()
      {
      flag_1=0;
      m=100;                                                         //占空比為100

      [1] [2]

      關(guān)鍵字:51單片機(jī)  霍爾傳感器  電機(jī)測速

      編輯:什么魚  引用地址:

      電機(jī)測速霍爾傳感器:51單片機(jī)霍爾傳感器電機(jī)測速設(shè)計(jì)  第2張

      電機(jī)測速霍爾傳感器:基于霍爾傳感器的電機(jī)測速裝置

      (2008 No.10)
      作者簡介:
      趙樹磊(1989-?),男,碩士研究生,研究方向?yàn)殡娏﹄娮优c電力傳動(dòng);?
      謝吉華(1964-?),男,副教授,碩士,主要從事電力電子、電機(jī)控制、智能儀器與網(wǎng)絡(luò)安全的教學(xué)與研究;?
      劉永鋒(1983-?),男,碩士研究生,研究方向?yàn)殡娏﹄娮优c電力傳動(dòng)。
      基于霍爾傳感器的電機(jī)測速裝置
      Motor Speed Measurement Device based on Hall Sensor

      Abstract:
      A kind of motor rotating speed measurement device was designed by using Hall sensor and the relevant speed measurement
      algorithm was raised. Rotating speed signal processing circuit was also designed to make pulse signal transferred into standard TTL-level. It
      was convenient for AT89C52 to count and via 74LS164 register, rotating speed signal was displayed on LED. The motor rotating speed mea-
      surement device is simple in circuit, good in real-time, low in cost, convenient in installation and debugging and saving in space, especially
      under the conditions of limited measurement space, shaft eccentric or inconvenient for sensor installation, the measurement method has obvi-
      ous superiority.

      Key words:
      Hall sensor; motor speed measurement device; AT89C52 microcontroller
      ZHAO Shu-lei, XIE Ji-hua, LIU Yong-feng
      趙樹磊,謝吉華,劉永鋒
      (東南大學(xué)?電氣工程學(xué)院,江蘇?南京?)
      摘要

      利用霍爾傳感器,設(shè)計(jì)了一種電機(jī)轉(zhuǎn)速測量裝置并提出相應(yīng)的測速算法

      還設(shè)計(jì)了轉(zhuǎn)速信
      號處理電路,將脈沖信號轉(zhuǎn)化為標(biāo)準(zhǔn)的
      TTL
      電平,便于
      AT89C52
      單片機(jī)的計(jì)數(shù)運(yùn)算,并通過
      74LS164

      存器將轉(zhuǎn)速信號顯示在
      LED
      上。該電機(jī)測速裝置具有線路簡單、實(shí)時(shí)性好、成本低、安裝調(diào)試方便和節(jié)
      省空間等特點(diǎn),尤其是在測量空間有限、軸偏心或傳感器不便安裝的條件下,該測量方法有明顯的優(yōu)勢。
      關(guān)鍵詞

      霍爾傳感器

      電機(jī)測速裝置

      AT89C52
      單片機(jī)
      中圖分類號

      TM306

      TP212
      文獻(xiàn)標(biāo)識碼

      A
      文章編號

      1007-3175(2008)10-0053-04

      School of Electrical Engineering, Southeast University, Nanjing
      , China

      在眾多的數(shù)字式轉(zhuǎn)速傳感器中,因霍爾傳感器
      具有無觸點(diǎn)、長壽命、高可靠性、無火花、無自激
      振蕩、溫度性能好、抗污染能力強(qiáng)、構(gòu)造簡單、堅(jiān)
      固、體積小、耐沖擊等優(yōu)點(diǎn),所以選用霍爾效應(yīng)接
      近式傳感器作為自動(dòng)控制系統(tǒng)中電機(jī)的轉(zhuǎn)速傳感
      器。該傳感器是開關(guān)元件,直接輸出為脈沖頻率信
      號,但是由于存在電磁噪聲干擾,必須對信號進(jìn)行
      處理,從而提高采集準(zhǔn)確度和抗干擾能力。處理后
      的信號轉(zhuǎn)換成標(biāo)準(zhǔn)的方波信號,將該信號傳輸?shù)?br/>AT89C52單片機(jī)上,再經(jīng)過相應(yīng)的軟件設(shè)計(jì),就可
      以通過LED顯示電路顯示出電機(jī)的轉(zhuǎn)速。
      1  霍爾轉(zhuǎn)速傳感器檢測裝置
      轉(zhuǎn)速測量系統(tǒng)安裝示意圖如圖1所示,下面對
      檢測裝置主要部件進(jìn)行介紹。
      1)
      霍爾轉(zhuǎn)速傳感器。該傳感器是利用霍爾效
      應(yīng)原理工作的

      一個(gè)金屬或半導(dǎo)體薄片置于磁場
      中,磁場垂直于薄片,當(dāng)薄片通以電流
      I
      C
      時(shí),在
      薄片的兩側(cè)面上就會產(chǎn)生一個(gè)微量的霍爾電壓
      U
      H

      如果改變磁場的強(qiáng)度,
      霍爾電壓的大小亦隨之改變,
      當(dāng)磁場消失時(shí),霍爾電壓變?yōu)榱恪;魻栃?yīng)式轉(zhuǎn)速
      傳感器輸出的信號是矩形脈沖信號,很適合于數(shù)字
      控制系統(tǒng),抗干擾能力強(qiáng)。
      電機(jī)測速霍爾傳感器:51單片機(jī)霍爾傳感器電機(jī)測速設(shè)計(jì)  第3張

      電機(jī)測速霍爾傳感器:帶霍爾傳感器編碼器的直流減速電機(jī)測速原理講解(附源碼)

      查看: |回復(fù): 90
      帶霍爾傳感器編碼器的直流減速電機(jī)測速原理講解(附源碼)

      [復(fù)制鏈接]

      當(dāng)前離線
      積分1164
      11
      主題
      131
      帖子
      0
      精華
      金牌會員
      金牌會員, 積分 1164, 距離下一級還需 1836 積分
      積分1164
      金錢1164
        注冊時(shí)間2019-4-22
       在線時(shí)間229 小時(shí)
      收聽TA
      發(fā)消息
      電梯直達(dá)
      樓主
      發(fā)表于 2019-7-25 20:38:57
      |
      只看該作者
      |只看大圖
      |倒序?yàn)g覽
      |閱讀模式
      點(diǎn)擊關(guān)注正點(diǎn)原子公眾號,海量視頻免費(fèi)下載學(xué)習(xí),包含Linux/STM32/FPGA/ZYNQ/FreeRTOS/UcosIII等

      本帖最后由  于 2020-10-11 07:36 編輯
        發(fā)了第一篇帖子后,我突然就愛上了發(fā)帖,我發(fā)現(xiàn)我在發(fā)帖的時(shí)候,也在總結(jié)我學(xué)到的東西,并且看著密密麻麻的字,就有一種成就感。更重要的是,能把自己的理解講給讀這篇帖子的人并且?guī)椭剿麄兾矣X得非常的開心。但是,我還是強(qiáng)調(diào),本人真的菜,所以有些地方地方講錯(cuò),希望能得到理解。       最近在學(xué)習(xí)帶霍爾傳感器編碼器的直流減速電機(jī)測速原理,看了網(wǎng)上很多帖子,但是能讓我感覺寫的好的帖子真的很少。很多帖子要不是放個(gè)不知道什么芯片寫的源碼,隨便講解幾句,然后下載代碼后發(fā)現(xiàn)代碼寫的很亂,閱讀性很差,要不就是各種帖子你抄我我抄你,都是紙上談兵,看了帖子,原理是懂了,但是對于一些細(xì)節(jié)的東西什么都沒講,然而這些細(xì)節(jié)往往是初學(xué)者們最讓人不解的地方。我承認(rèn)對于一些大佬而言,看了這些很快就能懂,但是對于一些初學(xué)者而言,就真的很頭痛,并且這樣一份資料會浪費(fèi)很多學(xué)習(xí)的時(shí)間。
        所以,我寫下這篇帖子也是想幫助這些初學(xué)者,我的代碼都是用原子的探索者寫的,這樣大家都會好看懂一些。看代碼時(shí),對著我的講解來看,我相信你們很快就能懂。但是唯一不足的就是,我可能講解概念性原理的一些東西可能很少,因?yàn)槲业谋磉_(dá)能力實(shí)在是很差,所以在看這篇帖子時(shí)如果你連正交編碼原理是什么都不知道的人就先去看看別人的帖子怎么講的,雖然我上面說一些帖子都在紙上談兵,但是他們紙上談兵談的還是可以的,哈哈,一些原理性東西還是講的很清晰的。廢話不多說,開始正題了。
      解釋下什么叫帶編碼器的直流減速電機(jī)
      直流電機(jī)我相信大家都清楚是什么東西,但偏偏這個(gè)東西不僅減速,還帶編碼器。先解釋下為什么帶編碼器,畢竟我們要測速,就需要一個(gè)傳感器來完成這樣的功能,所以編碼器就來充當(dāng)了這個(gè)傳感器。不過有時(shí)候編碼器和電機(jī)是單獨(dú)分開的,比如做過智能車的朋友就會清楚。而我們用的這個(gè)電機(jī)卻把編碼器和電機(jī)做成了一個(gè)整體。而為什么我們需要減速呢,學(xué)過物理的人應(yīng)該清楚這個(gè)公式P=FV,即在輸出功率相同的時(shí)候,力和速度成反比,也就是說,電機(jī)的轉(zhuǎn)速越慢,轉(zhuǎn)動(dòng)的力量就越大。所以這個(gè)時(shí)候你們就應(yīng)該明白,為啥你們買電機(jī)的時(shí)候,廠家會有各種不同減速比的電機(jī)。
      解釋一個(gè)概念:
      編碼器線數(shù): 就是電機(jī)旋轉(zhuǎn)一圈你的A(B)會輸出多少個(gè)脈沖 ,這里的A B就是上面的輸出脈沖信號線,它們A相和B相轉(zhuǎn)一圈發(fā)出的脈沖數(shù)一樣的,不過存在90°相位差。通常都是360線的,線數(shù)越高代表編碼器能夠反應(yīng)的位置精度越高。所以,你們想追求精度,就盡量選擇線數(shù)越高的電機(jī)。
        首先大家第一步就是了解編碼器的配置,而其中最關(guān)鍵就是叫做stm32編碼器模式配置的東西,就是這一串TIM_EncoderInterfaceConfig(TIM3,TIM_EncoderMode_TI12,TIM_ICPolarity_Rising,TIM_ICPolarity_Rising );編碼器模式究竟是什么,不懂得就去百度看看別人怎么講的。而其中用的是編碼器模式3,編碼器模式3就是A相和B相的上升沿和下降沿你的定時(shí)器都會計(jì)數(shù)一次,而你用模式1或者2,定時(shí)器只會計(jì)數(shù)A相或者B相的上升沿,然而模式3就是你A相和B相的上升沿和下降沿都會計(jì)數(shù)一次。假如你的電機(jī)線數(shù)是360,就是轉(zhuǎn)一圈產(chǎn)生360個(gè)脈沖,而你用了編碼器模式3后,就產(chǎn)生360*4個(gè)脈沖了。有人可能就問,為啥要這樣呢,那是因?yàn)檫@樣能提高分辨率,你想,A相和B相是一個(gè)相差90度的脈沖,意思就是說每90度就有一個(gè)上升沿或者下降沿,這樣就是每90度計(jì)數(shù)一次,而你用模式1或2時(shí),你就是360度才計(jì)數(shù)一次,假如你有個(gè)段時(shí)間編碼器輸出不正常,明明A相和B相只相差90度,而這時(shí)你信號不穩(wěn)定,這段時(shí)間就會計(jì)數(shù)不正常,你用了編碼器模式3后,就會把誤差縮減4倍,不知道我講清楚沒,要是沒懂,在下面留言,我再講。
        然后,我再講下我覺得很重要的東西,因?yàn)檫@個(gè)問題讓我頭痛很久,最后找了很多帖子和資料才懂了。就是編碼器模式配置時(shí),定時(shí)器的重裝載值對計(jì)數(shù)有什么影響。相信看過很多帖子的人會知道一個(gè)四倍頻的東西,就是它定時(shí)器的重裝載值為(線數(shù)-1)*4,然后又有很多代碼他的重裝載值為-1,還有少數(shù)的代碼是一些其他值,當(dāng)時(shí)我看到這些代碼我就很疑惑,為何他們重裝值不同,然而最后他們都說可以完成測速,我試過,我改變重裝值,計(jì)數(shù)會不一樣。最后,我終于看到一篇帖子,在那篇帖子中后面有人問樓主關(guān)于重裝值的問題,然后就這位樓主就講了關(guān)于重裝載值對計(jì)數(shù)的影響。我放下這篇帖子的網(wǎng)址,我建議不懂的人都可以看下 ... #commentsedit   這里面的重裝載值就是你最多能記錄A相和B相的脈沖數(shù),假如你的電機(jī)轉(zhuǎn)1圈產(chǎn)生800個(gè)脈沖,而你的重裝載值為1,就是說你電機(jī)轉(zhuǎn)一圈,你的定時(shí)器會溢出800次,假如你重裝載值為400,那么你電機(jī)轉(zhuǎn)一圈,你的定時(shí)器就會溢出2次。這里大家可能就明白為何四倍頻時(shí)那里的重裝載為(線數(shù)-1)*4,你想,我前面講了,你用編碼器模式3,產(chǎn)生的脈沖數(shù)就是你的線數(shù)*4,這樣意思就說,你轉(zhuǎn)一圈,產(chǎn)生的脈沖數(shù)恰好是你定時(shí)器溢出的時(shí)候。這樣,假如你定時(shí)器開啟溢出中斷,這樣溢出一次就代表你電機(jī)轉(zhuǎn)了一圈,而你這時(shí),再用另一個(gè)定時(shí)器定時(shí)為1s,計(jì)錄1s內(nèi)溢出的次數(shù),這樣就能得到你的電機(jī)1s轉(zhuǎn)過的圈數(shù)了。當(dāng)然只是這樣測速的話,得到的數(shù)據(jù)誤差會很大,因?yàn)檫@種方法只能測到整圈數(shù),萬一你的轉(zhuǎn)數(shù)是每秒1.5圈呢,這樣這種方法就不行了。還是舉例說明,假如你的重裝載值為(360-1)*4,這樣你1秒轉(zhuǎn)1.5圈就計(jì)數(shù)360*6次,然而你的重裝值是(360-1)*4,所以這時(shí)你的定時(shí)器只溢出一次,并且此時(shí)的定時(shí)器計(jì)數(shù)值為360*2,轉(zhuǎn)換成脈沖數(shù)也就是360*6,你想你的電機(jī)線數(shù)是360,用的編碼器模式3,就是轉(zhuǎn)一圈產(chǎn)生360*4個(gè)脈沖,這樣的速度就為(360*6)/(360*4),這樣精度就會好很多。至于怎么具體得到脈沖值的,大家可以看下我的代碼,如果不懂,可以在下面問我。我建議你要測速定時(shí)還是不要1秒,因?yàn)槲矣X得定1s記錄的脈沖累計(jì)誤差可能會比較大,所以你把定時(shí)器定時(shí)定小點(diǎn),比如5ms,這樣你后面在轉(zhuǎn)換下就行了。最后,再提下為何一些代碼重裝載值也行,你想,你轉(zhuǎn)一圈,產(chǎn)生360*4個(gè)脈沖,假如你1秒轉(zhuǎn)8圈,也就是1秒產(chǎn)生360*4*8個(gè)脈沖,只要這個(gè)值不超過你的溢出值,那么你只需要在最開始時(shí),將計(jì)數(shù)器清零,然后開始計(jì)數(shù),計(jì)時(shí)1秒后,記下此時(shí)的脈沖數(shù),又將計(jì)數(shù)器清零,然后再用我上面的計(jì)算方法就可以了。記住,你的重裝值其實(shí)為多少都可以,只是別人用和(360-1)*4只是計(jì)算時(shí)方便而已,我再舉個(gè)例子,假如你重裝載值為2,你轉(zhuǎn)一圈產(chǎn)生360*4個(gè)脈沖,就是說你轉(zhuǎn)一圈產(chǎn)生360*2次溢出,你用再一個(gè)定時(shí)器定時(shí)1秒,記錄1s被溢出的次數(shù),假如溢出360*6次,這樣的速度就是(360*6)/(360*4)。
        如果還有不懂的,歡迎下面留言,如果有人發(fā)現(xiàn)我哪里講錯(cuò)了,希望有人也給我說下。
      -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------分割線
      2020.3.15
        我再通俗的講下帶編碼器的直流減速電機(jī)測速原理。首先我們得明白一個(gè)東西,電機(jī)旋轉(zhuǎn)一圈會產(chǎn)生脈沖,而一圈究竟能產(chǎn)生多少個(gè)脈沖,這是由電機(jī)的編碼器線數(shù)決定,線數(shù)越高,精度就越高。至于為什么會產(chǎn)生脈沖,這個(gè)就是編碼器這個(gè)傳感器的原理,這個(gè)我不講。
        既然電機(jī)旋轉(zhuǎn)一圈能產(chǎn)生脈沖,那么我們就能記錄一段時(shí)間產(chǎn)生的脈沖數(shù)來計(jì)算速度。而單片機(jī)怎么去檢測脈沖并且記錄脈沖的個(gè)數(shù)則是我們的重點(diǎn)。在這里我想提一個(gè)東西——定時(shí)器。我們是如何用定時(shí)器定相應(yīng)的時(shí)間的?首先就是設(shè)置預(yù)分頻系數(shù)把主頻時(shí)鐘分頻,假設(shè)主頻時(shí)鐘168MHZ,你預(yù)分頻系數(shù)為168,則分頻后的時(shí)鐘頻率就為1MHZ(頻率的倒數(shù)就是周期,這里即1us),此時(shí)TIMx_CNT 寄存器,即定時(shí)器的計(jì)數(shù)器就是按照這個(gè)頻率(也就是10us)遞增的。假如你重裝載值為10,則你定時(shí)器最終定的時(shí)間就為10us。
        從上面的例子可以看出,此時(shí)TIMx_CNT 寄存器的值遞增是由內(nèi)部時(shí)鐘頻率造成的,而時(shí)鐘頻率無非就是脈沖。好,那我們豈不是可以用這個(gè)寄存器去記錄編碼器產(chǎn)生的脈沖了?的確就是這樣,但是怎么把原本是因?yàn)閮?nèi)部時(shí)鐘遞增的TIMx_CNT 寄存器改為是因?yàn)橥獠繒r(shí)鐘遞增呢?這就是我們?yōu)槭裁葱枰玫秸痪幋a模式了。至于為什么用了正交編碼模式就可以了,這個(gè)我就不知道了,反正我就知道用了正交編碼模式就可以實(shí)現(xiàn)這樣的過程。
        以前我講了重裝載值對我們的影響,那現(xiàn)在你們是否就清楚了預(yù)分頻系數(shù)的我們的影響了?原來預(yù)分頻系數(shù)分的內(nèi)部時(shí)鐘,現(xiàn)在分頻系數(shù)分的就是外部時(shí)鐘。那我代碼里為何預(yù)分頻系數(shù)是為1?為其他數(shù)可不可以?當(dāng)然可以,但是沒必要。因?yàn)槟悻F(xiàn)在就是要記錄電機(jī)旋轉(zhuǎn)一圈產(chǎn)生的真實(shí)的脈沖數(shù),如果你預(yù)分頻系數(shù)為2,假設(shè)電機(jī)旋轉(zhuǎn)一圈產(chǎn)生200個(gè)脈沖,則此時(shí)你單片機(jī)只能記錄100個(gè)脈沖了。
       實(shí)際啊,其實(shí)直流減速電機(jī)測速度的本質(zhì)很簡單,以前我們定時(shí)器初始化設(shè)置重裝載值和與分頻系數(shù)時(shí)是基于內(nèi)部時(shí)鐘而定的。而現(xiàn)在是基于外部時(shí)鐘而定的,這個(gè)外部時(shí)鐘就是編碼器產(chǎn)生的脈沖。
      順帶提下,我這份代碼只能測正轉(zhuǎn)或者反轉(zhuǎn),如果想正反轉(zhuǎn)都能測(當(dāng)然實(shí)際工程就需要這樣),去看下17樓,那里我講了下思路。這是其中一個(gè)思路,這里我還想說下另外一個(gè)思路,通過定時(shí)器的TIMx_CR寄存器的第四位DIR標(biāo)志位來判斷。
      .png (27.16 KB, 下載次數(shù): 0)
      下載附件
      2020-3-15 15:45 上傳
      ,而我目前修改后的代碼用的就是這個(gè)思路。
      我修改后的代碼也會傳上來,但是由于我沒有實(shí)物,我無法測試,我不知道我修改的代碼究竟實(shí)際能不能成功,所以這個(gè)代碼只供參考用。
      帶編碼器的直流減速電機(jī)代碼(正反轉(zhuǎn)版).zip
      (5.57 MB, 下載次數(shù): 1968)
      2020-3-15 16:15 上傳
      點(diǎn)擊文件名下載附件

      帶編碼器的直流減速電機(jī).zip
      2019-7-25 20:38 上傳
      點(diǎn)擊文件名下載附件
      11.14 MB, 下載次數(shù): 5683
      收藏33
      轉(zhuǎn)播
      淘帖0
      支持16
      反對0
      回復(fù)
      使用道具
      舉報(bào)

      dlc
      dlc
      當(dāng)前離線
      積分48
      0
      主題
      4
      帖子
      0
      精華
      新手上路
      新手上路, 積分 48, 距離下一級還需 2 積分
      積分48
      金錢48
        注冊時(shí)間2019-6-30
       在線時(shí)間9 小時(shí)
      收聽TA
      發(fā)消息
      推薦
      發(fā)表于 2019-7-25 20:52:17
      |
      只看該作者
      老哥 講的很透徹,我喜歡實(shí)戰(zhàn)派,不喜歡理論派,嘿嘿:
      回復(fù)
      支持 5
      反對 0
      使用道具
      舉報(bào)

      當(dāng)前離線
      積分1164
      11
      主題
      131
      帖子
      0
      精華
      金牌會員
      金牌會員, 積分 1164, 距離下一級還需 1836 積分
      積分1164
      金錢1164
        注冊時(shí)間2019-4-22
       在線時(shí)間229 小時(shí)
      收聽TA
      發(fā)消息
      推薦
      樓主|
      發(fā)表于 2019-8-4 17:47:24
      |
      只看該作者
      一念花開 發(fā)表于 2019-8-3 16:48
      大佬 我拜讀了您的代碼   這里算一段時(shí)間轉(zhuǎn)過的脈沖數(shù)    不知道是不是我理解錯(cuò)了   前面這里Current_Count ...
      emmm,我沒懂你的意思,Current_Count - Previous_Count和-Previous_Count+Current_Count不是一樣的么........我先講你這里為啥這樣,看能幫助你理解不
      Enc_Timer_Overflow_one是溢出的次數(shù),這個(gè)相信你能理解,即脈沖數(shù)為Enc_Timer_Overflow_one*4*ENCODER_PPR。我們先假定此時(shí)定時(shí)器計(jì)數(shù)器的值為200,即Previous_Count=200,而你這時(shí)開始記錄脈沖,溢出了2次,而你此時(shí)定時(shí)器計(jì)數(shù)器的值為300,即Current_Count=300,那么你記錄的脈沖值就不僅僅只是Enc_Timer_Overflow_one*4*ENCODER_PPR了,而是還需要加上Current_Count-Previous_Count。
      回復(fù)
      支持 1
      反對 0
      使用道具
      舉報(bào)

      一念花開
      一念花開
      當(dāng)前離線
      積分63
      2
      主題
      9
      帖子
      0
      精華
      初級會員
      初級會員, 積分 63, 距離下一級還需 137 積分
      積分63
      金錢63
        注冊時(shí)間2019-7-21
       在線時(shí)間19 小時(shí)
      收聽TA
      發(fā)消息
      推薦
      發(fā)表于 2019-8-3 17:24:06
      |
      只看該作者
      大佬   還有這里我不太理解    我知道前面算的是電機(jī)轉(zhuǎn)的圈數(shù),但是后面除以0.05是什么意思啊?  怎么跟速度聯(lián)系起來了?
      QQ截圖.png
      (5.12 KB, 下載次數(shù): 56)
      下載附件
      2019-8-3 17:21 上傳
      回復(fù)
      支持 1
      反對 0
      使用道具
      舉報(bào)

      亢zhihao
      亢zhihao
      當(dāng)前離線
      積分246
      12
      主題
      39
      帖子
      0
      精華
      中級會員
      中級會員, 積分 246, 距離下一級還需 254 積分
      積分246
      金錢246
        注冊時(shí)間2019-5-27
       在線時(shí)間71 小時(shí)
      收聽TA
      發(fā)消息
      3#
      發(fā)表于 2019-7-26 08:28:21
      |
      只看該作者
      多謝分享
      回復(fù)
      支持
      反對
      使用道具
      舉報(bào)

      YH123
      YH123
      當(dāng)前離線
      積分79
      0
      主題
      6
      帖子
      0
      精華
      初級會員
      初級會員, 積分 79, 距離下一級還需 121 積分
      積分79
      金錢79
        注冊時(shí)間2019-6-8
       在線時(shí)間40 小時(shí)
      收聽TA
      發(fā)消息
      4#
      發(fā)表于 2019-7-26 09:46:37
      |
      只看該作者
      多謝分享
      回復(fù)
      支持
      反對
      使用道具
      舉報(bào)

      how2051
      how2051
      當(dāng)前離線
      積分30
      1
      主題
      5
      帖子
      0
      精華
      新手上路
      新手上路, 積分 30, 距離下一級還需 20 積分
      積分30
      金錢30
        注冊時(shí)間2019-2-27
       在線時(shí)間6 小時(shí)
      收聽TA
      發(fā)消息
      5#
      發(fā)表于 2019-7-26 10:17:46
      |
      只看該作者
      不懂就問:想問一下up主,在TIM_EncoderInterfaceConfig的時(shí)候,聲明的是TI1的上升沿和TI2的上升沿(TIM3,TIM_EncoderMode_TI12,TIM_ICPolarity_Rising,TIM_ICPolarity_Rising ),那么它應(yīng)該是在每一次TI1的上升沿和TI2的上升沿記錄一次脈沖吧,應(yīng)該不包括下降沿的。
      然后想問一下編碼器模式和輸入捕獲之間的關(guān)系,或者說,輸入捕獲時(shí)定時(shí)器設(shè)置的自動(dòng)重裝載值(up主已經(jīng)解釋了)和預(yù)分頻系數(shù)的作用以及他們對編碼器的影響。
      回復(fù)
      支持
      反對
      使用道具
      舉報(bào)

      當(dāng)前離線
      積分1164
      11
      主題
      131
      帖子
      0
      精華
      金牌會員
      金牌會員, 積分 1164, 距離下一級還需 1836 積分
      積分1164
      金錢1164
        注冊時(shí)間2019-4-22
       在線時(shí)間229 小時(shí)
      收聽TA
      發(fā)消息
      6#
      樓主|
      發(fā)表于 2019-7-26 15:11:56
      |
      只看該作者
      how2051 發(fā)表于 2019-7-26 10:17
      不懂就問:想問一下up主,在TIM_EncoderInterfaceConfig的時(shí)候,聲明的是TI1的上升沿和TI2的上升沿(TIM3,TI ...
      先說你的第一個(gè)問題:相信你在找正交編碼模式資料的時(shí)候你看到最多的是這兩張圖
      ~04P4_W@0Z5OEE5Q@4K3IK1.png (12.7 KB, 下載次數(shù): 16)
      下載附件
      2019-7-26 12:19 上傳
      6QGORAMYD%_W~F183VH1Y]1.png (32.3 KB, 下載次數(shù): 4)
      下載附件
      2019-7-26 12:19 上傳
      對于第二張表格可能有很多人就直接跳過,沒怎么去分析它(當(dāng)初我也一樣),后來有人告訴我怎么去分析這張表我才知道才怎么去分析。因?yàn)槲冶磉_(dá)能力不好,所以我直接粘貼復(fù)制別人的回答:我先放下他的帖子:
      8J0_FO929XN~EC{N1UV$C}P.png (21.58 KB, 下載次數(shù): 6)
      下載附件
      2019-7-26 14:51 上傳
      看過解釋過后,你再去分析編碼器模式3的時(shí)候你就會發(fā)現(xiàn),在TI1和TI2上升沿和下降沿都在遞增。
      然后就是第二問題:
      首先我們先分析普通定時(shí)器的重裝載值和預(yù)分頻系數(shù)的作用,普通定時(shí)器的時(shí)候,假設(shè)時(shí)鐘頻率84MHZ,重裝載為10,預(yù)分頻為,這樣系統(tǒng)時(shí)鐘預(yù)分頻過后的頻率就為1HZ,就是1s遞增一次,而你的重裝載值為10,所以就要遞增10次,也就是10s,那么你的定時(shí)中斷時(shí)間就為10s。所以,普通定時(shí)器的預(yù)分頻系數(shù)分頻的是系統(tǒng)時(shí)鐘的頻率,然而正交編碼模式下,你預(yù)分頻系數(shù)分頻的是A相或者B相的頻率。在你不分頻的時(shí)候,定時(shí)器的計(jì)數(shù)器就會按照A相或者B相的頻率遞增,即有一個(gè)下降沿或者上升沿就遞增一次。然而你改了預(yù)分頻系數(shù)過后,假設(shè)為2,你的A相或者B相的頻率就會為原來的一半,這樣本來是一個(gè)脈沖計(jì)數(shù)一次,然而現(xiàn)在就為2個(gè)脈沖計(jì)數(shù)一次。說白了,正交編碼模式下,你輸入的時(shí)鐘頻率是AB相的頻率而不是系統(tǒng)時(shí)鐘頻率。所以,假如你該我的代碼的時(shí)候,將預(yù)分頻系數(shù)改為2的話,你會發(fā)現(xiàn)比原來的計(jì)數(shù)值少了一半。
      回復(fù)
      支持
      反對
      使用道具
      舉報(bào)

      當(dāng)前離線
      積分1164
      11
      主題
      131
      帖子
      0
      精華
      金牌會員
      金牌會員, 積分 1164, 距離下一級還需 1836 積分
      積分1164
      金錢1164
        注冊時(shí)間2019-4-22
       在線時(shí)間229 小時(shí)
      收聽TA
      發(fā)消息
      7#
      樓主|
      發(fā)表于 2019-7-29 00:14:17
      來自手機(jī)
      |
      只看該作者
      推薦一篇帖子,講的很很細(xì)致,很適合一些原理性知識還不怎么了解的初學(xué)者,而且不懂的可以問這個(gè)樓主,很熱心的一位樓主
      回復(fù)
      支持
      反對
      使用道具
      舉報(bào)

      how2051
      how2051
      當(dāng)前離線
      積分30
      1
      主題
      5
      帖子
      0
      精華
      新手上路
      新手上路, 積分 30, 距離下一級還需 20 積分
      積分30
      金錢30
        注冊時(shí)間2019-2-27
       在線時(shí)間6 小時(shí)
      收聽TA
      發(fā)消息
      8#
      發(fā)表于 2019-7-29 10:52:51
      |
      只看該作者
      發(fā)表于 2019-7-26 15:11
      先說你的第一個(gè)問題:相信你在找正交編碼模式資料的時(shí)候你看到最多的是這兩張圖
      對于第二張表格可能有很 ...
      嗯,很感謝你的回復(fù),不好意思現(xiàn)在才看到你的回復(fù),沒能及時(shí)回復(fù)你。
      但是在你帖子留言之后我自己又去琢磨了很久,自己最后也把它弄明白了。跟你回復(fù)的應(yīng)該是同一個(gè)意思。我發(fā)了個(gè)帖子,你看看我的理解對不對。
      回復(fù)
      支持
      反對
      使用道具
      舉報(bào)

      一念花開
      一念花開
      當(dāng)前離線
      積分63
      2
      主題
      9
      帖子
      0
      精華
      初級會員
      初級會員, 積分 63, 距離下一級還需 137 積分
      積分63
      金錢63
        注冊時(shí)間2019-7-21
       在線時(shí)間19 小時(shí)
      收聽TA
      發(fā)消息
      9#
      發(fā)表于 2019-8-3 16:48:11
      |
      只看該作者
      大佬 我拜讀了您的代碼   這里算一段時(shí)間轉(zhuǎn)過的脈沖數(shù)    不知道是不是我理解錯(cuò)了   前面這里Current_Count - Previous_Count是不是應(yīng)該寫成:重裝載值-Previous_Count+Current_Count,也就是除了算溢出的這一部分。javascript:;
      QQ截圖.png
      (17.55 KB, 下載次數(shù): 28)
      下載附件
      2019-8-3 16:42 上傳
      回復(fù)
      支持
      反對
      使用道具
      舉報(bào)

      當(dāng)前離線
      積分1164
      11
      主題
      131
      帖子
      0
      精華
      金牌會員
      金牌會員, 積分 1164, 距離下一級還需 1836 積分
      積分1164
      金錢1164
        注冊時(shí)間2019-4-22
       在線時(shí)間229 小時(shí)
      收聽TA
      發(fā)消息
      12#
      樓主|
      發(fā)表于 2019-8-4 17:51:47
      |
      只看該作者
      一念花開 發(fā)表于 2019-8-3 17:24
      大佬   還有這里我不太理解    我知道前面算的是電機(jī)轉(zhuǎn)的圈數(shù),但是后面除以0.05是什么意思啊?  怎么跟速 ...
      我定時(shí)器定時(shí)的是50ms,就是說我記錄的是50ms的脈沖數(shù),你要算速度的話,即每秒轉(zhuǎn)多少圈,你就要把50ms記錄的脈沖數(shù)除以50ms,就得到了每秒轉(zhuǎn)過的圈數(shù)
      回復(fù)
      支持
      反對
      使用道具
      舉報(bào)

      一念花開
      一念花開
      當(dāng)前離線
      積分63
      2
      主題
      9
      帖子
      0
      精華
      初級會員
      初級會員, 積分 63, 距離下一級還需 137 積分
      積分63
      金錢63
        注冊時(shí)間2019-7-21
       在線時(shí)間19 小時(shí)
      收聽TA
      發(fā)消息
      13#
      發(fā)表于 2019-8-5 00:05:23
      |
      只看該作者
      發(fā)表于 2019-8-4 17:47
      emmm,我沒懂你的意思,Current_Count - Previous_Count和-Previous_Count+Current_Count不是一樣的么... ...
      哦!!我想明白了,既然要溢出的話,那么也必然包括從200這一次計(jì)時(shí)開始。而無論最后的Current_Count以及之前的Previous_Count誰大誰小,用Current_Count-Previous_Count都是正確的,大了就加上,小了就減掉。真心感謝!
      回復(fù)
      支持
      反對
      使用道具
      舉報(bào)

      一念花開
      一念花開
      當(dāng)前離線
      積分63
      2
      主題
      9
      帖子
      0
      精華
      初級會員
      初級會員, 積分 63, 距離下一級還需 137 積分
      積分63
      金錢63
        注冊時(shí)間2019-7-21
       在線時(shí)間19 小時(shí)
      收聽TA
      發(fā)消息
      14#
      發(fā)表于 2019-8-5 00:26:16
      |
      只看該作者
      發(fā)表于 2019-8-4 17:51
      我定時(shí)器定時(shí)的是50ms,就是說我記錄的是50ms的脈沖數(shù),你要算速度的話,即每秒轉(zhuǎn)多少圈,你就要把50ms記 ...
      我真白癡,哈哈哈,沒看到您還有個(gè)定時(shí)器5在計(jì)時(shí),而且得出的結(jié)果是在TIM5的溢出中斷里面的。   我還有最后一個(gè)問題,拜托大佬再幫我解答一下(感激不盡啊):就是你之前解釋的那個(gè)關(guān)于配置編碼器TI1FP1信號以及TI2FP2信號只在上升沿計(jì)數(shù)的問題,對應(yīng)到上面那張表上面的的話(也就是先不看二者的下降沿部分),那結(jié)果應(yīng)該是只在二者的上升沿計(jì)數(shù)啊,也就是分辨率提升了一倍,而不是變成四倍啊,看了您之前的解釋,我還是沒明白(對不起,我有點(diǎn)笨)。。。
      回復(fù)
      支持
      反對
      使用道具
      舉報(bào)

      s
      s
      當(dāng)前離線
      積分48
      4
      主題
      17
      帖子
      0
      精華
      新手上路
      新手上路, 積分 48, 距離下一級還需 2 積分
      積分48
      金錢48
        注冊時(shí)間2018-8-9
       在線時(shí)間19 小時(shí)
      收聽TA
      發(fā)消息
      15#
      發(fā)表于 2019-8-6 16:38:39
      |
      只看該作者
      樓主,我想請問下編碼器的正反相需要自己設(shè)置嗎?沒有看到有關(guān)的設(shè)置啊,是根據(jù)接線確定的嗎?還是說板子自己判定先出現(xiàn)信號的為正方向呢?比如我先順時(shí)針扭一下,再逆時(shí)針扭一下,計(jì)數(shù)器之后就會在順時(shí)針加值逆時(shí)針減值嗎?還有就是如果計(jì)數(shù)器減值減到0之后,我再往反相扭,計(jì)數(shù)值會變成最大嗎?我自己試了下感覺方向是固定的,我設(shè)置當(dāng)脈沖數(shù)夠一圈LED就會閃,我開頭往反方向扭一小下燈直接就閃了。。。
      回復(fù)
      支持
      反對
      使用道具
      舉報(bào)

      當(dāng)前離線
      積分1164
      11
      主題
      131
      帖子
      0
      精華
      金牌會員
      金牌會員, 積分 1164, 距離下一級還需 1836 積分
      積分1164
      金錢1164
        注冊時(shí)間2019-4-22
       在線時(shí)間229 小時(shí)
      收聽TA
      發(fā)消息
      16#
      樓主|
      發(fā)表于 2019-8-6 20:17:18
      |
      只看該作者
      一念花開 發(fā)表于 2019-8-5 00:26
      我真白癡,哈哈哈,沒看到您還有個(gè)定時(shí)器5在計(jì)時(shí),而且得出的結(jié)果是在TIM5的溢出中斷里面的。   我還有最 ...
      正交編碼模式1和2只會在TI1FP1信號或者TI2FP2上升沿計(jì)數(shù),而正交編碼模式3在TI1FP1信號和TI2FP2上升沿和下降沿都會計(jì)數(shù),相比正交編碼模式1和2來說在一個(gè)脈沖周期內(nèi)只遞增了一次,而正交編碼模式3卻在一個(gè)脈沖周期遞增了四次。而我設(shè)置的真好是正交編碼模式3.你可以再仔細(xì)的分析下那張表,我實(shí)在不好表達(dá),只能靠你去分析,分析好了,你會發(fā)現(xiàn)在正交編碼模式3時(shí)兩者的上升沿和下降沿確實(shí)都在遞增
      回復(fù)
      支持
      反對
      使用道具
      舉報(bào)

      當(dāng)前離線
      積分1164
      11
      主題
      131
      帖子
      0
      精華
      金牌會員
      金牌會員, 積分 1164, 距離下一級還需 1836 積分
      積分1164
      金錢1164
        注冊時(shí)間2019-4-22
       在線時(shí)間229 小時(shí)
      收聽TA
      發(fā)消息
      17#
      樓主|
      發(fā)表于 2019-8-6 20:25:42
      |
      只看該作者
      s 發(fā)表于 2019-8-6 16:38
      樓主,我想請問下編碼器的正反相需要自己設(shè)置嗎?沒有看到有關(guān)的設(shè)置啊,是根據(jù)接線確定的嗎?還是說板子自 ...
      emm,這個(gè)是我的錯(cuò),我這份代碼只能測正轉(zhuǎn)或者反轉(zhuǎn),如果想要又能測反轉(zhuǎn)又能正轉(zhuǎn)的話,得稍微改一下代碼。舉個(gè)例子:你假如定時(shí)器重裝載值為,你記錄50ms內(nèi)的脈沖數(shù),你正轉(zhuǎn)的話,就能測到10個(gè)脈沖,而你反轉(zhuǎn)的話按照我的代碼來看就是-10個(gè)脈沖,你會發(fā)現(xiàn),反轉(zhuǎn)的脈沖值就是你的重裝載值減去你應(yīng)該得到的脈沖數(shù)。所以這時(shí)候你得做下處理,就是說你要做個(gè)判斷,比如如果脈沖數(shù)大于/2,就用-你得到的脈沖數(shù),按照上面的例子來說就是-10-,這樣你就能得到反轉(zhuǎn)的脈沖數(shù)了。
      回復(fù)
      支持
      反對
      使用道具
      舉報(bào)

      當(dāng)前離線
      積分1164
      11
      主題
      131
      帖子
      0
      精華
      金牌會員
      金牌會員, 積分 1164, 距離下一級還需 1836 積分
      積分1164
      金錢1164
        注冊時(shí)間2019-4-22
       在線時(shí)間229 小時(shí)
      收聽TA
      發(fā)消息
      18#
      樓主|
      發(fā)表于 2019-8-6 20:30:30
      |
      只看該作者
      emmm,大家用這份代碼時(shí),可能只能測反轉(zhuǎn)或者正轉(zhuǎn),如果想要兩者都能測的話,可以看下我后面的回復(fù),我有講解了思路,等我這段時(shí)間忙完,我會發(fā)一個(gè)正反轉(zhuǎn)都能測得
      回復(fù)
      支持
      反對
      使用道具
      舉報(bào)

      玖烏御酒
      玖烏御酒
      當(dāng)前離線
      積分277
      2
      主題
      7
      帖子
      0
      精華
      中級會員
      中級會員, 積分 277, 距離下一級還需 223 積分
      積分277
      金錢277
        注冊時(shí)間2019-5-16
       在線時(shí)間30 小時(shí)
      收聽TA
      發(fā)消息
      19#
      發(fā)表于 2019-8-21 10:36:11
      |
      只看該作者
      樓主講的很好,小白很受用!!!
      還有個(gè)問題:
      TIM_EncoderInterfaceConfig(TIM3,TIM_EncoderMode_TI12,TIM_ICPolarity_Rising,TIM_ICPolarity_Rising )
      請問這個(gè)函數(shù)選擇模式3之后,在AB相上升沿和下降沿都會檢測,那么后面兩個(gè)通道的記性設(shè)置又是為了設(shè)置什么?這里我還有疑問,請大佬提點(diǎn)一下。謝謝。
      回復(fù)
      支持
      反對
      使用道具
      舉報(bào)

      當(dāng)前離線
      積分1164
      11
      主題
      131
      帖子
      0
      精華
      金牌會員
      金牌會員, 積分 1164, 距離下一級還需 1836 積分
      積分1164
      金錢1164
        注冊時(shí)間2019-4-22
       在線時(shí)間229 小時(shí)
      收聽TA
      發(fā)消息
      20#
      樓主|
      發(fā)表于 2019-8-23 13:47:59
      |
      只看該作者
      玖烏御酒 發(fā)表于 2019-8-21 10:36
      樓主講的很好,小白很受用!!!
      還有個(gè)問題:
      說實(shí)話我也不太清楚,我個(gè)人理解設(shè)置是為了設(shè)置捕獲極性為上升沿,就是說在上升沿來的時(shí)候計(jì)數(shù)一次,而為何下降沿也會計(jì)數(shù)呢,我個(gè)人認(rèn)為是stm32芯片里面的一些信號處理,使得下降沿反向,把下降沿變成了上升沿,從而把下降沿也當(dāng)成的上升沿。具體想知道為什么,你只有去查閱資料了。
      回復(fù)
      支持
      反對
      使用道具
      舉報(bào)

      迅得電子
      迅得電子
      當(dāng)前離線
      積分623
      10
      主題
      293
      帖子
      0
      精華
      高級會員
      高級會員, 積分 623, 距離下一級還需 377 積分
      積分623
      金錢623
        注冊時(shí)間2019-6-3
       在線時(shí)間107 小時(shí)
      收聽TA
      發(fā)消息
      21#
      發(fā)表于 2019-8-23 14:41:56
      |
      只看該作者
      感謝分享,很不錯(cuò)的資料講解,
      回復(fù)
      支持
      反對
      使用道具
      舉報(bào)

      玖烏御酒
      玖烏御酒
      當(dāng)前離線
      積分277
      2
      主題
      7
      帖子
      0
      精華
      中級會員
      中級會員, 積分 277, 距離下一級還需 223 積分
      積分277
      金錢277
        注冊時(shí)間2019-5-16
       在線時(shí)間30 小時(shí)
      收聽TA
      發(fā)消息
      22#
      發(fā)表于 2019-8-23 20:11:01
      |
      只看該作者
      發(fā)表于 2019-8-23 13:47
      說實(shí)話我也不太清楚,我個(gè)人理解設(shè)置是為了設(shè)置捕獲極性為上升沿,就是說在上升沿來的時(shí)候計(jì)數(shù)一次,而為 ...
      這個(gè)函數(shù)我弄明白了,查看中文參考手冊里面(表75),后面兩個(gè)參數(shù)就是設(shè)置的計(jì)數(shù)的時(shí)候另一個(gè)通道的標(biāo)志,這個(gè)函數(shù)就是設(shè)置的表75,樓主需要的話可以對著看一下。
      回復(fù)
      支持
      反對
      使用道具
      舉報(bào)

      當(dāng)前離線
      積分1164
      11
      主題
      131
      帖子
      0
      精華
      金牌會員
      金牌會員, 積分 1164, 距離下一級還需 1836 積分
      積分1164
      金錢1164
        注冊時(shí)間2019-4-22
       在線時(shí)間229 小時(shí)
      收聽TA
      發(fā)消息
      23#
      樓主|
      發(fā)表于 2019-8-26 11:21:35
      |
      只看該作者
      玖烏御酒 發(fā)表于 2019-8-23 20:11
      這個(gè)函數(shù)我弄明白了,查看中文參考手冊里面(表75),后面兩個(gè)參數(shù)就是設(shè)置的計(jì)數(shù)的時(shí)候另一個(gè)通道的標(biāo)志 ...
      哈哈,謝謝
      回復(fù)
      支持
      反對
      使用道具
      舉報(bào)

      萬年花城
      萬年花城
      當(dāng)前離線
      積分52
      0
      主題
      8
      帖子
      0
      精華
      初級會員
      初級會員, 積分 52, 距離下一級還需 148 積分
      積分52
      金錢52
        注冊時(shí)間2019-8-12
       在線時(shí)間24 小時(shí)
      收聽TA
      發(fā)消息
      24#
      發(fā)表于 2019-8-26 18:52:18
      |
      只看該作者
      樓主牛皮,,,
      回復(fù)
      支持
      反對
      使用道具
      舉報(bào)

      XUENV
      XUENV
      當(dāng)前離線
      積分150
      21
      主題
      40
      帖子
      0
      精華
      初級會員
      初級會員, 積分 150, 距離下一級還需 50 積分
      積分150
      金錢150
        注冊時(shí)間2018-5-17
       在線時(shí)間45 小時(shí)
      收聽TA
      發(fā)消息
      25#
      發(fā)表于 2019-9-11 19:46:56
      |
      只看該作者
      樓主請問,你算的是每秒轉(zhuǎn)多少圈,如果換成每分鐘多少圈,比如每秒1圈1min就是60圈,每秒2圈1min就是120圈,結(jié)果不全是60的整數(shù)倍了嗎?我想看到結(jié)果是50圈、51圈,是不是就算不出來?
      回復(fù)
      支持
      反對
      使用道具
      舉報(bào)

      萬年花城
      萬年花城
      當(dāng)前離線
      積分52
      0
      主題
      8
      帖子
      0
      精華
      初級會員
      初級會員, 積分 52, 距離下一級還需 148 積分
      積分52
      金錢52
        注冊時(shí)間2019-8-12
       在線時(shí)間24 小時(shí)
      收聽TA
      發(fā)消息
      26#
      發(fā)表于 2019-9-12 13:03:28
      |
      只看該作者
      發(fā)表于 2019-8-6 20:25
      emm,這個(gè)是我的錯(cuò),我這份代碼只能測正轉(zhuǎn)或者反轉(zhuǎn),如果想要又能測反轉(zhuǎn)又能正轉(zhuǎn)的話,得稍微改一下代碼 ...
      學(xué)習(xí)  牛!!!!!!
      回復(fù)
      支持
      反對
      使用道具
      舉報(bào)

      當(dāng)前離線
      積分1164
      11
      主題
      131
      帖子
      0
      精華
      金牌會員
      金牌會員, 積分 1164, 距離下一級還需 1836 積分
      積分1164
      金錢1164
        注冊時(shí)間2019-4-22
       在線時(shí)間229 小時(shí)
      收聽TA
      發(fā)消息
      27#
      樓主|
      發(fā)表于 2019-9-12 19:16:44
      |
      只看該作者
      XUENV 發(fā)表于 2019-9-11 19:46
      樓主請問,你算的是每秒轉(zhuǎn)多少圈,如果換成每分鐘多少圈,比如每秒1圈1min就是60圈,每秒2圈1min就是120圈 ...
      這個(gè)每秒幾圈并不是你想要它什么速度就是什么速度,這個(gè)速度是由你給直流減速電機(jī)所加電壓和它自己的減速比決定的。你只能通過代碼去測它的速度,而不是去決定它的速度。
      回復(fù)
      支持
      反對
      使用道具
      舉報(bào)

      Advent
      Advent
      當(dāng)前離線
      積分811
      37
      主題
      212
      帖子
      0
      精華
      高級會員
      高級會員, 積分 811, 距離下一級還需 189 積分
      積分811
      金錢811
        注冊時(shí)間2019-6-6
       在線時(shí)間100 小時(shí)
      收聽TA
      發(fā)消息
      28#
      發(fā)表于 2019-9-16 16:30:52
      |
      只看該作者
      首先非常感謝樓主分享的經(jīng)驗(yàn),并且也理解樓主說的計(jì)數(shù)四次。但是還是想追問一下如果都設(shè)置成Botheage會怎么樣,望樓主解惑。
      1.png
      (3.3 KB, 下載次數(shù): 29)
      下載附件
      2019-9-16 16:29 上傳
      不會就要俯身傾耳以請啊,博客地址:
      回復(fù)
      支持
      反對
      使用道具
      舉報(bào)

      當(dāng)前離線
      積分1164
      11
      主題
      131
      帖子
      0
      精華
      金牌會員
      金牌會員, 積分 1164, 距離下一級還需 1836 積分
      積分1164
      金錢1164
        注冊時(shí)間2019-4-22
       在線時(shí)間229 小時(shí)
      收聽TA
      發(fā)消息
      29#
      樓主|
      發(fā)表于 2019-9-17 10:24:29
      來自手機(jī)
      |
      只看該作者
      Advent 發(fā)表于 2019-9-16 16:30
      首先非常感謝樓主分享的經(jīng)驗(yàn),并且也理解樓主說的計(jì)數(shù)四次。但是還是想追問一下如果都設(shè)置成Botheage會怎么 ...
      這個(gè)我沒有試過,所以我也不知道怎么給你說。但是我有兩個(gè)我覺得可行方法。第一個(gè)就是用示波器看波形與串口打印數(shù)據(jù)配合,經(jīng)過多次實(shí)驗(yàn)得出經(jīng)驗(yàn),總結(jié)出結(jié)果。第二個(gè)就是查32的數(shù)據(jù)手冊,這些應(yīng)該在里面都講了,只是可能有點(diǎn)難找。
      回復(fù)
      支持
      反對
      使用道具
      舉報(bào)

      Advent
      Advent
      當(dāng)前離線
      積分811
      37
      主題
      212
      帖子
      0
      精華
      高級會員
      高級會員, 積分 811, 距離下一級還需 189 積分
      積分811
      金錢811
        注冊時(shí)間2019-6-6
       在線時(shí)間100 小時(shí)
      收聽TA
      發(fā)消息
      30#
      發(fā)表于 2019-9-17 14:46:41
      |
      只看該作者
      發(fā)表于 2019-9-17 10:24
      這個(gè)我沒有試過,所以我也不知道怎么給你說。但是我有兩個(gè)我覺得可行方法。第一個(gè)就是用示波器看波形與串 ...
      thanks
      不會就要俯身傾耳以請啊,博客地址:
      回復(fù)
      支持
      反對
      使用道具
      舉報(bào)

      Advent
      Advent
      當(dāng)前離線
      積分811
      37
      主題
      212
      帖子
      0
      精華
      高級會員
      高級會員, 積分 811, 距離下一級還需 189 積分
      積分811
      金錢811
        注冊時(shí)間2019-6-6
       在線時(shí)間100 小時(shí)
      收聽TA
      發(fā)消息
      31#
      發(fā)表于 2019-9-17 20:44:43
      |
      只看該作者
      網(wǎng)上的大部分編碼器的程序如圖所示,但是我覺得在捕獲初始化的時(shí)候有問題,明顯是只初始化了定時(shí)器的一個(gè)通道,樓主應(yīng)該也發(fā)現(xiàn)過這個(gè)問題把?還是只初始化一個(gè)捕獲通道就行呢?我看樓主的程序是初始化兩個(gè)通道的。
      3.png
      (10.67 KB, 下載次數(shù): 22)
      下載附件
      2019-9-17 20:42 上傳
      不會就要俯身傾耳以請啊,博客地址:
      回復(fù)
      支持
      反對
      使用道具
      舉報(bào)

      當(dāng)前離線
      積分1164
      11
      主題
      131
      帖子
      0
      精華
      金牌會員
      金牌會員, 積分 1164, 距離下一級還需 1836 積分
      積分1164
      金錢1164
        注冊時(shí)間2019-4-22
       在線時(shí)間229 小時(shí)
      收聽TA
      發(fā)消息
      32#
      樓主|
      發(fā)表于 2019-9-19 11:28:19
      來自手機(jī)
      |
      只看該作者
      Advent 發(fā)表于 2019-9-17 20:44
      網(wǎng)上的大部分編碼器的程序如圖所示,但是我覺得在捕獲初始化的時(shí)候有問題,明顯是只初始化了定時(shí)器的一個(gè)通 ...
      直流減速電機(jī)的編碼器有兩個(gè)輸出口,A相和B相,你如果只初始化一個(gè)通道就只能檢測一個(gè)相位的方波。
      回復(fù)
      支持
      反對
      使用道具
      舉報(bào)

      尹文銅
      尹文銅
      當(dāng)前離線
      積分89
      4
      主題
      27
      帖子
      0
      精華
      初級會員
      初級會員, 積分 89, 距離下一級還需 111 積分
      積分89
      金錢89
        注冊時(shí)間2019-4-30
       在線時(shí)間24 小時(shí)
      收聽TA
      發(fā)消息
      33#
      發(fā)表于 2019-9-20 20:14:32
      |
      只看該作者
      回復(fù)
      支持
      反對
      使用道具
      舉報(bào)

      animalvideo
      animalvideo
      當(dāng)前離線
      積分73
      0
      主題
      3
      帖子
      0
      精華
      初級會員
      初級會員, 積分 73, 距離下一級還需 127 積分
      積分73
      金錢73
        注冊時(shí)間2019-8-30
       在線時(shí)間24 小時(shí)
      收聽TA
      發(fā)消息
      34#
      發(fā)表于 2019-9-27 09:29:11
      |
      只看該作者
      樓主是不是沒有用到LCD顯示呀~
      回復(fù)
      支持
      反對
      使用道具
      舉報(bào)

      當(dāng)前離線
      積分1164
      11
      主題
      131
      帖子
      0
      精華
      金牌會員
      金牌會員, 積分 1164, 距離下一級還需 1836 積分
      積分1164
      金錢1164
        注冊時(shí)間2019-4-22
       在線時(shí)間229 小時(shí)
      收聽TA
      發(fā)消息
      35#
      樓主|
      發(fā)表于 2019-9-27 09:44:10
      |
      只看該作者
      animalvideo 發(fā)表于 2019-9-27 09:29
      樓主是不是沒有用到LCD顯示呀~
      嗯,是的,我用串口打印的
      回復(fù)
      支持
      反對
      使用道具
      舉報(bào)

      aotem
      aotem
      當(dāng)前離線
      積分22
      0
      主題
      4
      帖子
      0
      精華
      新手上路
      新手上路, 積分 22, 距離下一級還需 28 積分
      積分22
      金錢22
        注冊時(shí)間2019-9-16
       在線時(shí)間5 小時(shí)
      收聽TA
      發(fā)消息
      36#
      發(fā)表于 2019-9-28 21:12:41
      來自手機(jī)
      |
      只看該作者
      看到了一半,先來謝謝你
      回復(fù)
      支持
      反對
      使用道具
      舉報(bào)

      zc2017
      zc2017
      當(dāng)前離線
      積分178
      0
      主題
      20
      帖子
      0
      精華
      初級會員
      初級會員, 積分 178, 距離下一級還需 22 積分
      積分178
      金錢178
        注冊時(shí)間2019-9-4
       在線時(shí)間20 小時(shí)
      收聽TA
      發(fā)消息
      37#
      發(fā)表于 2019-10-25 20:19:26
      |
      只看該作者
      感謝樓主
      回復(fù)
      支持
      反對
      使用道具
      舉報(bào)

      孫曉天123
      孫曉天123
      當(dāng)前離線
      積分28
      0
      主題
      5
      帖子
      0
      精華
      新手上路
      新手上路, 積分 28, 距離下一級還需 22 積分
      積分28
      金錢28
        注冊時(shí)間2019-10-30
       在線時(shí)間8 小時(shí)
      收聽TA
      發(fā)消息
      38#
      發(fā)表于 2019-11-21 12:25:51
      |
      只看該作者
      樓主,我有一個(gè)問題想問一下
      就是我用你的代碼在測試的時(shí)候打印在串口上的時(shí)候會出現(xiàn) 變化很大的值 比如脈沖數(shù)大部分是三千多  有一個(gè)數(shù)是五千多  這是什么原因啊
      回復(fù)
      支持
      反對
      使用道具
      舉報(bào)

      有為青年
      有為青年
      當(dāng)前離線
      積分310
      3
      主題
      37
      帖子
      0
      精華
      中級會員
      中級會員, 積分 310, 距離下一級還需 190 積分
      積分310
      金錢310
        注冊時(shí)間2019-1-3
       在線時(shí)間40 小時(shí)
      收聽TA
      發(fā)消息
      39#
      發(fā)表于 2019-11-21 15:55:25
      |
      只看該作者
      樓主,我想問一下    假如你的電機(jī)線數(shù)是360,就是轉(zhuǎn)一圈產(chǎn)生360個(gè)脈沖,而你用了編碼器模式3后,就產(chǎn)生390*4個(gè)脈沖了。   這句話的390*4是怎么得到的我沒理解
      回復(fù)
      支持
      反對
      使用道具
      舉報(bào)

      當(dāng)前離線
      積分1164
      11
      主題
      131
      帖子
      0
      精華
      金牌會員
      金牌會員, 積分 1164, 距離下一級還需 1836 積分
      積分1164
      金錢1164
        注冊時(shí)間2019-4-22
       在線時(shí)間229 小時(shí)
      收聽TA
      發(fā)消息
      40#
      樓主|
      發(fā)表于 2019-11-21 16:29:49
      |
      只看該作者
      有為青年 發(fā)表于 2019-11-21 15:55
      樓主,我想問一下    假如你的電機(jī)線數(shù)是360,就是轉(zhuǎn)一圈產(chǎn)生360個(gè)脈沖,而你用了編碼器模式3后,就產(chǎn)生390 ...
      你可以去6樓看我的評論,我有講解為什么編碼器模式3的脈沖數(shù)是4倍。你好好分析那張圖就可以分析出編碼器模式3下的確A和B相的脈沖都在計(jì)數(shù)。
      回復(fù)
      支持
      反對
      使用道具
      舉報(bào)

      有為青年
      有為青年
      當(dāng)前離線
      積分310
      3
      主題
      37
      帖子
      0
      精華
      中級會員
      中級會員, 積分 310, 距離下一級還需 190 積分
      積分310
      金錢310
        注冊時(shí)間2019-1-3
       在線時(shí)間40 小時(shí)
      收聽TA
      發(fā)消息
      41#
      發(fā)表于 2019-11-21 17:36:53
      |
      只看該作者
      發(fā)表于 2019-11-21 16:29
      你可以去6樓看我的評論,我有講解為什么編碼器模式3的脈沖數(shù)是4倍。你好好分析那張圖就可以分析出編碼器 ...
      我理解的應(yīng)該是360*4才對,你上邊寫的390*4 并且代碼里也是用390算得  不知道是不是摟主的筆誤,還是我沒理解對
      回復(fù)
      支持
      反對
      使用道具
      舉報(bào)

      當(dāng)前離線
      積分1164
      11
      主題
      131
      帖子
      0
      精華
      金牌會員
      金牌會員, 積分 1164, 距離下一級還需 1836 積分
      積分1164
      金錢1164
        注冊時(shí)間2019-4-22
       在線時(shí)間229 小時(shí)
      收聽TA
      發(fā)消息
      42#
      樓主|
      發(fā)表于 2019-11-21 19:09:17
      |
      只看該作者
      有為青年 發(fā)表于 2019-11-21 17:36
      我理解的應(yīng)該是360*4才對,你上邊寫的390*4 并且代碼里也是用390算得  不知道是不是摟主的筆誤,還是我沒 ...
      呃,我的鍋。帖子上我用的是線數(shù)為360的減速電機(jī)舉的例子。而我代碼中用的減速電機(jī)的線數(shù)為390。emm,總之你記住編碼器模式3下,轉(zhuǎn)一圈產(chǎn)生的脈沖數(shù)就為你直流減速電機(jī)的線數(shù)乘4。
      回復(fù)
      支持
      反對
      使用道具
      舉報(bào)

      有為青年
      有為青年
      當(dāng)前離線
      積分310
      3
      主題
      37
      帖子
      0
      精華
      中級會員
      中級會員, 積分 310, 距離下一級還需 190 積分
      積分310
      金錢310
        注冊時(shí)間2019-1-3
       在線時(shí)間40 小時(shí)
      收聽TA
      發(fā)消息
      43#
      發(fā)表于 2019-11-21 19:22:33
      |
      只看該作者
      發(fā)表于 2019-11-21 19:09
      呃,我的鍋。帖子上我用的是線數(shù)為360的減速電機(jī)舉的例子。而我代碼中用的減速電機(jī)的線數(shù)為390。emm,總 ...
      好的,謝謝樓主解答
      回復(fù)
      支持
      反對
      使用道具
      舉報(bào)

      有為青年
      有為青年
      當(dāng)前離線
      積分310
      3
      主題
      37
      帖子
      0
      精華
      中級會員
      中級會員, 積分 310, 距離下一級還需 190 積分
      積分310
      金錢310
        注冊時(shí)間2019-1-3
       在線時(shí)間40 小時(shí)
      收聽TA
      發(fā)消息
      44#
      發(fā)表于 2019-11-22 15:47:34
      |
      只看該作者
      樓主,還要麻煩您解答一下:    TIM_EncoderInterfaceConfig(TIM3,TIM_EncoderMode_TI12,TIM_ICPolarity_Rising,TIM_ICPolarity_Rising );//編碼器配置(定時(shí)器、編碼模式、上升沿、上升沿)  看了上邊六樓的解釋,我還是沒理解這段代碼后邊設(shè)置的兩個(gè)上升沿是什么意思,我認(rèn)為應(yīng)該設(shè)置邊沿觸發(fā)(TIM_ICPolarity_BothEdge)才對.
      回復(fù)
      支持
      反對
      使用道具
      舉報(bào)

      當(dāng)前離線
      積分1164
      11
      主題
      131
      帖子
      0
      精華
      金牌會員
      金牌會員, 積分 1164, 距離下一級還需 1836 積分
      積分1164
      金錢1164
        注冊時(shí)間2019-4-22
       在線時(shí)間229 小時(shí)
      收聽TA
      發(fā)消息
      45#
      樓主|
      發(fā)表于 2019-11-22 17:11:33
      |
      只看該作者
      有為青年 發(fā)表于 2019-11-22 15:47
      樓主,還要麻煩您解答一下:    TIM_EncoderInterfaceConfig(TIM3,TIM_EncoderMode_TI12,TIM_ICPolarity_Ri ...
      這個(gè)就是你得到的脈沖數(shù)是線數(shù)*4的原因,這一步設(shè)置的就是編碼器模式3。在編碼器模式3下,你看懂那個(gè)圖后,你會發(fā)現(xiàn)A相和B相不管是在上升沿也好還是下降沿也好,都在遞增。而在編碼器1和2下,只會在A相或者B相下的上升沿遞增。
      回復(fù)
      支持
      反對
      使用道具
      舉報(bào)

      孫曉天123
      孫曉天123
      當(dāng)前離線
      積分28
      0
      主題
      5
      帖子
      0
      精華
      新手上路
      新手上路, 積分 28, 距離下一級還需 22 積分
      積分28
      金錢28
        注冊時(shí)間2019-10-30
       在線時(shí)間8 小時(shí)
      收聽TA
      發(fā)消息
      46#
      發(fā)表于 2019-12-12 21:42:27
      |
      只看該作者
      串口打印的脈沖數(shù)出現(xiàn)了負(fù)數(shù) 什么原因  就是我一旦將定時(shí)器設(shè)置的時(shí)間改小 也就是由1s改為100ms時(shí)串口打印的脈沖數(shù)就為負(fù)數(shù) 這是什么問題啊  求教
      回復(fù)
      支持
      反對
      使用道具
      舉報(bào)

      孫曉天123
      孫曉天123
      當(dāng)前離線
      積分28
      0
      主題
      5
      帖子
      0
      精華
      新手上路
      新手上路, 積分 28, 距離下一級還需 22 積分
      積分28
      金錢28
        注冊時(shí)間2019-10-30
       在線時(shí)間8 小時(shí)
      收聽TA
      發(fā)消息
      47#
      發(fā)表于 2019-12-12 21:52:38
      |
      只看該作者
      我將定時(shí)的時(shí)間由1s改為了100ms結(jié)果打印在串口上的脈沖數(shù)出現(xiàn)了負(fù)數(shù) 怎么辦啊
      回復(fù)
      支持
      反對
      使用道具
      舉報(bào)

      當(dāng)前離線
      積分1164
      11
      主題
      131
      帖子
      0
      精華
      金牌會員
      金牌會員, 積分 1164, 距離下一級還需 1836 積分
      積分1164
      金錢1164
        注冊時(shí)間2019-4-22
       在線時(shí)間229 小時(shí)
      收聽TA
      發(fā)消息
      48#
      樓主|
      發(fā)表于 2019-12-14 19:16:29
      來自手機(jī)
      |
      只看該作者
      孫曉天123 發(fā)表于 2019-12-12 21:52
      我將定時(shí)的時(shí)間由1s改為了100ms結(jié)果打印在串口上的脈沖數(shù)出現(xiàn)了負(fù)數(shù) 怎么辦啊
      如果1s是正數(shù),100ms是負(fù)數(shù)的話,說明就是程序哪里出了問題,這個(gè)問題只有看你自己才行。我這份程序有個(gè)bug,就是反轉(zhuǎn)的時(shí)候是負(fù)數(shù),然后這樣的解決方法我在前面說過,你可以翻一下。
      回復(fù)
      支持
      反對
      使用道具
      舉報(bào)

      animalvideo
      animalvideo
      當(dāng)前離線
      積分73
      0
      主題
      3
      帖子
      0
      精華
      初級會員
      初級會員, 積分 73, 距離下一級還需 127 積分
      積分73
      金錢73
        注冊時(shí)間2019-8-30
       在線時(shí)間24 小時(shí)
      收聽TA
      發(fā)消息
      49#
      發(fā)表于 2019-12-23 17:15:27
      |
      只看該作者
      樓主,想請教一下,如果想在你的程序里面加入一個(gè)PID調(diào)速的程序,放在什么位置合適一些
      回復(fù)
      支持
      反對
      使用道具
      舉報(bào)

      當(dāng)前離線
      積分1164
      11
      主題
      131
      帖子
      0
      精華
      金牌會員
      金牌會員, 積分 1164, 距離下一級還需 1836 積分
      積分1164
      金錢1164
        注冊時(shí)間2019-4-22
       在線時(shí)間229 小時(shí)
      收聽TA
      發(fā)消息
      50#
      樓主|
      發(fā)表于 2019-12-25 20:54:03
      |
      只看該作者
      animalvideo 發(fā)表于 2019-12-23 17:15
      樓主,想請教一下,如果想在你的程序里面加入一個(gè)PID調(diào)速的程序,放在什么位置合適一些
      就放在我程序里面的那個(gè)定時(shí)器5中斷里面,里面得到你的速度過后,即得到你想要的數(shù)據(jù)后,不就可以進(jìn)行pid么
      回復(fù)
      支持
      反對
      使用道具
      舉報(bào)

      電機(jī)測速霍爾傳感器:幫你輕松做出基于霍爾傳感器的電機(jī)測速裝置

      1.本設(shè)計(jì)采用STC89C51/52(與AT89S51/52、AT89C51/52通用,可任選)單片機(jī)作為主控制器
      2.采用霍爾傳感器非接觸式測電機(jī)轉(zhuǎn)速
      3.LCD1602液晶顯示當(dāng)前的轉(zhuǎn)速,轉(zhuǎn)速單位為轉(zhuǎn)/分(RPM)。和顯示當(dāng)前的pwm占空比0~100%。
      4.電機(jī)的速度可以通過按鍵調(diào)整,也可以開始暫停,正轉(zhuǎn)和反轉(zhuǎn)。
      注意:磁鐵和霍爾元件最近距離在2mm左右,太近可能會在電機(jī)轉(zhuǎn)動(dòng)時(shí)碰到霍爾元件,太遠(yuǎn)霍爾元件可能會檢測不到磁鐵。
      使用說明:
      液晶屏第一行顯示電機(jī)轉(zhuǎn)速,第二行顯示占空比,占空比數(shù)值越大,電機(jī)轉(zhuǎn)速越快。
      系統(tǒng)一共有6個(gè)按鍵,單片機(jī)附近的獨(dú)立按鍵是系統(tǒng)的復(fù)位按鍵,按下單片機(jī)會復(fù)位。
      下面一排是控制按鍵:
      1鍵:加速鍵,可以短按,占空比加1,也可長按,占空比連續(xù)加;
      2鍵:減速鍵,可以短按,占空比減1,也可長按,占空比連續(xù)減;
      3鍵:正轉(zhuǎn)切換鍵,按下后電機(jī)正轉(zhuǎn);
      4鍵:反轉(zhuǎn)切換鍵,按下后電機(jī)反轉(zhuǎn);
      5鍵:開始暫停鍵,按一下開始,再按一下暫停。
      電路原理圖如下:
      仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
      PCB圖+布局圖+焊接圖:

      下一篇: PLC、DCS、FCS三大控

      上一篇: 電氣控制線路圖控制原

      推薦產(chǎn)品

      更多
      主站蜘蛛池模板: 在线成人一区二区| 农村乱人伦一区二区| 精品日韩在线视频一区二区三区| 国产成人高清精品一区二区三区| 亚洲日本一区二区三区在线 | 亚洲视频一区调教| 日本v片免费一区二区三区 | 夜夜精品视频一区二区| 性色AV一区二区三区| 精品一区二区三区免费视频| 日美欧韩一区二去三区| 无码人妻精品一区二区三区久久久 | 国产一区二区视频在线观看| 国产一区高清视频| 在线电影一区二区| 无码人妻一区二区三区av| 国产日本一区二区三区| 国产精品揄拍一区二区| 精品人妻系列无码一区二区三区 | 麻豆果冻传媒2021精品传媒一区下载| 亚洲乱码国产一区网址| 国产AV国片精品一区二区| 国产一区二区三区樱花动漫| 日本一区中文字幕日本一二三区视频 | AA区一区二区三无码精片| 精品人无码一区二区三区| 人妻无码久久一区二区三区免费| 久久国产免费一区二区三区| 色窝窝无码一区二区三区成人网站| 丝袜无码一区二区三区| 国产精品毛片一区二区三区| 久久国产精品一区二区| 日韩人妻无码一区二区三区99| 久久一区二区三区精品| 亚洲欧美一区二区三区日产| 日韩一区在线视频| 99国产精品一区二区| 制服丝袜一区在线| 国产精品成人99一区无码| 一区二区三区在线|日本| 日韩亚洲一区二区三区|