wwwxxx国产_337p日本欧洲亚洲大胆张筱雨_免费在线看成人av_日本黄色不卡视频_国产精品成熟老女人_99视频一区_亚洲精品97久久中文字幕_免费精品视频在线_亚洲色图欧美视频_欧美一区二三区

標題: 單片機+DRV8833直流電機驅動程序,霍爾傳感器精確測速 [打印本頁]

作者: D_omino    時間: 2017-11-28 23:55
標題: 單片機+DRV8833直流電機驅動程序,霍爾傳感器精確測速
直流電機驅動程序,采用DRV8833驅動,并用霍爾傳感器測量轉速,測量精確



所有資料51hei提供下載:
直流電機驅動程序,采用DRV8833驅動,并用霍爾傳感器測量轉速,測量精確.zip (655.84 KB, 下載次數: 163)

msp430單片機源程序如下:
  1. /*
  2. * DC_Motor.c
  3. *
  4. *  Created on: 8-31
  5. *      Author: zdl
  6. */

  7. #include "global.h"

  8. //---------------------相關宏定義-------------------------
  9. #define ENCODE_NUM                4                                //測速碼盤齒輪數目
  10. #define MAX_SPEED       340                                //最大轉速(r/s)

  11. #define P_Coefficient   11                                //PID反饋中的比例系數
  12. #define I_Coefficient        2                                //PID反饋中的微分系數
  13. #define D_Coefficient        1                                //PID反饋中的積分系數

  14. //---------------------相關變量定義-----------------------
  15. static uint16_t         ui16Speed_Preset = 0;                //預設速度
  16. static uint16_t                ui16Speed_True = 0;                        //實測速度,單位XX轉/分
  17.            uint16_t                ui16Speed_Measure = 0;                        //實測速度,單位XX轉/分
  18. static uint16_t         ui16Speed_Pecent = 0;                //速度百分比,用于更新速度曲線
  19. uint16_t         ui16TA0_Overflow_Cnt = 0;        //定時器溢出計數
  20. uint16_t         ui16TA1_Overflow_Cnt = 0;        //定時器溢出計數
  21. static uint8_t         ui8FirstFlag = 1;                        //PID算法中微分項需要判斷首次上電

  22. //---------------------局部函數聲明---------------------
  23. static void Speed_Disp();
  24. static uint16_t PID_PWM(int16_t i16Error);
  25. static void Get_Fre();

  26. void DC_Motor_Graph()
  27. {
  28.         //-----Draw Title-----
  29.         GrClearDisplay(&g_sContext);
  30.         GrTaskRectDraw();

  31.         //-----繪制轉速單位-----
  32.         GrStringDrawCentered(&g_sContext, "(r/s)", AUTO_STRING_LENGTH, 52, 20, OPAQUE_TEXT);

  33.         //-----繪制波形坐標軸-----

  34.         GrAxisDraw();
  35.         GrFlush(&g_sContext);
  36. }

  37. void DC_Motor_Begin()
  38. {
  39.         //--------GPIO Init--------
  40.         P2DIR &= ~BIT7;                                //-----測速中斷IO初始化-----
  41.         P2IES |= BIT7;
  42.         P2IE  |= BIT7;

  43.         P1DIR |= BIT3 +BIT4;                //-----配置P1.3和P1.4電機PWM控制IO參數-----
  44.         P1OUT |= BIT3;
  45.         P1SEL |= BIT4;

  46.         //-----TA1 ContinuousMode Init-----
  47.         TIMER_A_configureContinuousMode(__MSP430_BASEADDRESS_T1A3__,//選擇TA1定時器
  48.                                                                         TIMER_A_CLOCKSOURCE_SMCLK,
  49.                                                                         TIMER_A_CLOCKSOURCE_DIVIDER_1,
  50.                                                                         TIMER_A_TAIE_INTERRUPT_ENABLE,
  51.                                                                         TIMER_A_DO_CLEAR);
  52.         TA1CTL = TASSEL_2 + MC_2 + TACLR + TAIE; //啟動測速
  53.         //-----TA0.3 PWM Init------
  54.         TIMER_A_generatePWM(  __MSP430_BASEADDRESS_T0A5__,//選擇TA0定時器
  55.                                                                 TIMER_A_CLOCKSOURCE_SMCLK,
  56.                                                                 TIMER_A_CLOCKSOURCE_DIVIDER_1,
  57.                                                                 SYSMCLK/10000-1,                                                        //PWM 10K
  58.                                                            TIMER_A_CAPTURECOMPARE_REGISTER_3,
  59.                                                            TIMER_A_OUTPUTMODE_SET_RESET ,
  60.                                                            SYSMCLK/10000-1
  61.                                                                    );

  62.         //-----首次PID算法置標志位-----
  63.         ui8FirstFlag = 1;                                //PID算法中用于判斷第一次的標志位
  64. }

  65. void DC_Motor_Main()
  66. {
  67.         Draw_Histogram(0);                                        //更新柱狀圖
  68.         Get_Fre();
  69.         Speed_Disp();                                                //更新預設與實測速度值
  70.         Draw_Waveform(&ui16Speed_Pecent,1); //更新速度曲線
  71.         GrFlush(&g_sContext);                                //刷新屏幕
  72.         LPM3;                                                                //執行函數由WDT定時喚醒
  73. }

  74. void DC_Motor_Quit()
  75. {
  76.         //-----GPIO Quit-----
  77.         P2DIR |= BIT7;
  78.         P2IE  &= ~BIT7;
  79.         P1SEL &= ~BIT4;
  80.         P1OUT &= ~(BIT3+BIT4);
  81.         ui8FirstFlag=1;

  82.         //-----TA0 Quit-----
  83.         TIMER_A_disableInterrupt(__MSP430_BASEADDRESS_T0A5__);

  84.         //-----TA1 Quit-----
  85.         TIMER_A_disableInterrupt(__MSP430_BASEADDRESS_T1A3__);
  86. }

  87. //-------------速度顯示-------------
  88. static void Speed_Disp()
  89. {
  90.         //-----更新變量值-----
  91.         ui16Speed_Preset=MAX_SPEED*ui8Wheel_Pecent/100;
  92.         ui16Speed_Pecent=ui16Speed_True*100/MAX_SPEED;

  93.         //-----刷新顯示-----
  94.         GrStringDrawCentered(&g_sContext, "     ",
  95.                         AUTO_STRING_LENGTH,20,20, OPAQUE_TEXT);                //清除前一次顯示
  96.         GrStringNumberCentered(&g_sContext,
  97.                         ui16Speed_True,0,20,20);

  98.         GrStringDrawCentered(&g_sContext, "     ",
  99.                         AUTO_STRING_LENGTH,113,20, OPAQUE_TEXT);        //清除前一次顯示
  100.         GrStringNumberCentered(&g_sContext,
  101.                         ui16Speed_Preset,0,113,20);
  102.         ui16Speed_True=0;
  103.         ui16Speed_Preset=0;
  104. }

  105. //----PID算法,計算出PWM占空比,8192等同100%占空比------
  106. static uint16_t PID_PWM(int16_t i16Error)
  107. {
  108.         static int16_t        i16Error_Prev = 0;
  109.         static int16_t        i16Integral = 0;
  110.         int16_t i16P_Component ,i16I_Component ,i16D_Component ;
  111.         int16_t i16Result;

  112.         if(ui8FirstFlag)                        //首次上電缺乏前次誤差,補上。
  113.         {
  114.                 ui8FirstFlag = 0;
  115.                 i16Error_Prev = i16Error;
  116.                 i16Integral=0;
  117.         }

  118.         i16P_Component = P_Coefficient*i16Error;
  119.         i16I_Component = I_Coefficient*i16Integral;
  120.         i16D_Component = D_Coefficient*(i16Error-i16Error_Prev);
  121.         //-----誤差積分-----
  122.         i16Integral += i16Error;
  123.         i16Result = i16P_Component + i16I_Component + i16D_Component;

  124.         //-----輸出限幅----
  125.         if(i16Result > 8192)
  126.                 i16Result = 8192;
  127.         if(i16Result < 0)
  128.                 i16Result = 0;
  129.         return(i16Result);
  130. }

  131. /********************************************************
  132. *
  133. *                         以下函數需要放置在中斷服務子函數中調用
  134. *
  135. ********************************************************/

  136. //-----WDT中斷定時更新占空比-----
  137. void Change_PWM_Duty()
  138. {
  139.         int16_t i16Error = ui16Speed_Preset - ui16Speed_True;
  140.         uint32_t ui16PWM_Duty = PID_PWM(i16Error);
  141.         TA0CCR3 = (uint16_t)((ui16PWM_Duty)*TA0CCR0/8192);                //改變PWM占空比
  142. }

  143. //-----測量實際轉速,此函數在P2中斷中被調用-----
  144. static uint16_t ui16PreTemp=0;
  145. void Measure_Freq()
  146. {
  147.         uint32_t Speed_Sum;
  148.         uint16_t ui16Temp;

  149.         ui16Temp=TA1R;
  150.         Speed_Sum = (uint32_t)ui16Temp + (uint32_t)65536*ui16TA1_Overflow_Cnt-ui16PreTemp;//測速前的值減去測速后的計數值,那么就是在一段時間內計數的次數
  151.         ui16PreTemp = ui16Temp;
  152.         ui16TA1_Overflow_Cnt = 0;
  153.         ui16Speed_Measure = (uint16_t)( SYSMCLK / Speed_Sum);        //計算頻率 , 開孔圓盤上有許多小孔,開孔圓盤旋轉一周,光敏元件輸出的電脈沖個數等于圓盤的開孔數,因此,可通過測量光敏元件輸出的脈沖頻率
  154. }

  155. //獲取測量的速度,應該是獲取轉速
  156. static void Get_Fre()
  157. {
  158.         ui16Speed_True = ui16Speed_Measure/ENCODE_NUM; //返回實測轉速值,除以齒輪數目
  159. }

復制代碼





作者: popo321    時間: 2020-3-26 13:45
謝謝分享!




歡迎光臨 (http://www.izizhuan.cn/bbs/) Powered by Discuz! X3.1
色综合色综合色综合| 国产精品推荐精品| 欧美日韩性视频在线| 日本欧美大码aⅴ在线播放| 日韩黄色三级| 蜜桃免费在线| 69精品视频| 国产美女三级无套内谢| 男人的天堂av网| 亚洲色精品三区二区一区| 国产麻豆日韩| 91国产精品电影| 亚洲国产另类久久精品 | 日韩国产精品视频| 精品人人人人| a视频在线播放| 日本aa大片在线播放免费看| 亚洲天堂在线视频观看| 韩国三级hd两男一女| 高清无码一区二区在线观看吞精| 91精品久久久久久久久久久久久| 欲色天天网综合久久| 在线免费av一区| 国产精品久久午夜| 国产激情91久久精品导航 | 欧美一区二区国产| 亚洲在线成人精品| 久久网站最新地址| 久久国产精品免费| 国内精品久久久久久久影视蜜臀| 久久精品论坛| 亚洲免费看片| 亚洲校园激情春色| 日本精品600av| 青青久草在线| 特黄aaaaaaaaa毛片免费视频| 91嫩草香蕉| 踪合国产第二页| 亚洲经典一区二区三区| 日本视频网站在线观看| 岛国毛片在线观看| 又色又爽的视频| 99久久久久久久久久| 日韩av福利在线观看| 激情婷婷综合网| 蜜臀av无码一区二区三区| 日本高清不卡一区二区三| 99久久无色码| 91九色蝌蚪国产| 国产精品吴梦梦| 欧美一区二区三区免费观看| 色综合男人天堂| 中文字幕av一区二区三区谷原希美 | 青娱乐国产精品| 国产jk精品白丝av在线观看| 中文字幕视频观看| 色欲欲www成人网站| 欧美激情视频一区| 中文字幕欧美日韩| 日韩综合中文字幕| 久久视频国产精品免费视频在线| 一夜七次郎国产精品亚洲| 亚洲精品自拍视频| 国产一区二区三区在线观看网站 | av亚洲精华国产精华精华| 极品少妇xxxx精品少妇| 麻豆国产精品777777在线| 日韩一区精品视频| 日韩av高清在线观看| 蜜乳av另类精品一区二区| 一区二区激情| 日韩av午夜在线观看| 羞羞答答国产精品www一本| 新狼窝色av性久久久久久| 久久精品综合| 精品一区二区三区久久久| 国产一区二区导航在线播放| 国产精品一区二区免费不卡 | av亚洲免费| 成人激情免费视频| 伊人久久大香线| 亚洲天堂黄色| 老**午夜毛片一区二区三区| 日本亚洲欧美天堂免费| 国产一本一道久久香蕉| av中文一区二区三区| 国产欧美日韩综合精品一区二区| 欧美国产日韩a欧美在线观看| 中文字幕日韩av资源站| 亚洲成a人片综合在线| 色av一区二区| 日韩欧美国产高清| 亚洲欧美在线免费观看| 九九久久精品一区| 国产精品日韩在线一区| 国产伦理一区二区三区| 一区二区三区四区久久| 欧美xxxxx在线视频| 久久久国产精品久久久| b站大片免费直播| 日本特黄一级片| 999免费视频| 欧美精品一区二区三区免费| 美女福利视频导航| 日本福利片在线观看| 内射一区二区三区| 又骚又黄的视频| 中文字幕有码在线| 天天舔夜夜操| 国产毛片在线| 亚洲天堂手机| 亚洲成aⅴ人片久久青草影院| 综合在线视频| 国产一区二区三区观看| 国产精品私人自拍| 欧美裸体一区二区三区| 最新的欧美黄色| 国产一区二区在线免费| 一区二区不卡在线观看| 538在线视频观看| 日本美女xxx| 中文字幕福利视频| 欧美视频亚洲色图| 天堂аⅴ在线最新版在线 | 伊人久久大香线蕉av一区| 日韩 欧美 高清| 亚洲av无码国产精品麻豆天美| 国产区一区二区三| 热久久中文字幕| 中文字幕4区| 亚洲永久av| 水蜜桃久久夜色精品一区| 久久9热精品视频| 一区二区三区四区视频精品免费| 日韩三级视频在线看| 欧美国产日韩视频| 免费成人深夜夜行视频| 国产 porn| 免费一级片视频| 日本18中文字幕| 在线视频资源站| 青青久久精品| 在线成人av| 成人欧美一区二区三区| 日韩精品视频中文在线观看| 国产精品一区二区三区免费视频| 中文字幕日韩一区二区三区不卡| 任你躁av一区二区三区| 亚洲精品毛片一区二区三区| 在线看黄色网| 欧美亚洲天堂| 亚洲h色精品| 国产精品天美传媒沈樵| 亚洲精品国产综合区久久久久久久| 国产精品久久久久久av福利软件| 欧洲精品在线播放| 国产精品久久久久久久久久新婚 | 亚洲综合网av| jizz日本| 极品美女一区| 99国产精品久久久久久久成人热| 中文字幕一区二区视频| 亚洲欧美另类自拍| 久久精品99| 亚洲婷婷在线观看| 成 人 免费 黄 色| 一本大道香蕉久在线播放29| 波多野结衣在线一区二区| 国产一区二区美女| 337p亚洲精品色噜噜狠狠| 国产精品久久久久久久久久小说 | 久久精品国产网站| 日本韩国欧美一区| 欧美一区二区三区精品电影| www.99热这里只有精品| 国产中文字字幕乱码无限| 91久久精品| 小早川怜子影音先锋在线观看| 在线精品福利| 欧美日韩亚洲一区二区| 5566日本婷婷色中文字幕97| 欧美精品一区免费| 天堂av免费在线观看| 天天看片激情网站| 欧美日韩精品一区二区三区在线观看| 国产成人精品三级麻豆| 精品捆绑美女sm三区| 国内不卡一区二区三区| 色婷婷在线影院| 国产原创在线播放| 日韩深夜视频| 久久激情五月婷婷| 精品蜜桃在线看| 欧美日韩国产高清视频| 日本不卡一区视频| 香港日本三级视频| 日韩成人综合网站| 99视频一区二区三区| 伊人久久精品视频| 国产精品视频二| 欧美一区二区三区不卡视频| 一二三四中文在线| 国产成人三级| 一区二区三区在线不卡| 日本欧美爱爱爱| 91福利视频免费观看| 日本久久天堂| 欧美日韩亚洲国产| 97久久人人超碰| 久久影院模特热| 久章草在线视频| 国产精品一二三四五区| a天堂在线资源| 一区二区三区国产盗摄| 日韩一区二区三区免费观看| 免费在线观看一区二区| 欧美精品xxxxx| 午夜影院免费播放| 五月天综合网站| 在线看国产一区二区| 六月婷婷久久| 韩国av免费观看| 欧洲免费在线视频| 亚洲美女一区| 亚洲成人a级网| 久久久久久久久久久综合| 亚洲一线在线观看| 亚洲精品一线| 国产精品一级在线| 另类专区欧美制服同性| 欧美一级免费在线| 国产精品乱码一区二区三区视频| www.成人| 亚洲美女区一区| 亚洲综合中文字幕在线观看| 日韩av手机在线免费观看| 日本女优北野望在线电影| 综合国产在线| 欧美精品一区二| 男女激情免费视频| 无码h黄肉3d动漫在线观看| 中文字幕21页在线看| 久久伊人蜜桃av一区二区| 欧美一区二区.| 国产一二三四区在线| 久草福利资源在线视频| 欧美精品日韩| 亚洲国产精品一区二区三区| 男人天堂999| 韩国福利一区| 狠狠综合久久av一区二区蜜桃| 欧美手机在线视频| 男女爱爱视频网站| 秋霞视频一区二区| 久久9999免费视频| 精品美女永久免费视频| 亚洲欧洲精品一区| 色香蕉在线视频| 日韩精品一区二区三区中文| 污片在线观看一区二区| 色视频一区二区三区| wwwav在线播放| 激情视频亚洲| 色菇凉天天综合网| 97超碰在线视| 久久99国产精品久久99小说| 久久99免费视频| 精品精品国产高清a毛片牛牛| 少妇人妻大乳在线视频| 性欧美高清视频| 精品国产99| 亚洲爱爱爱爱爱| 国产在线视频三区| 男女小视频在线观看| 日韩精品91亚洲二区在线观看| 久久亚洲精品国产亚洲老地址| 亚洲永久精品ww.7491进入| 小草在线视频在线免费视频 | 欧美久久精品| 日韩一区二区在线观看| 黄色三级视频片| 天天操天天怕| 日精品一区二区三区| 欧美精品videos| 色欲狠狠躁天天躁无码中文字幕 | 天天操夜夜逼| 亚洲男人影院| 欧美伊久线香蕉线新在线| 久操视频免费在线观看| 国产精品探花在线| 亚洲免费伊人电影| 国产在线无码精品| 涩涩网站在线观看| 久久久国产精品一区二区中文| 久久免费精品视频| www.99re7.com| yw.尤物在线精品视频| 欧美在线欧美在线| a级高清视频欧美日韩| 亚洲视频小说图片| 久草在线资源网站| 国产一区二区在线观| 色综合久久88色综合天天6| 日韩国产小视频| 欧美国产日韩亚洲一区| 日韩欧美电影一区二区| 欧美色图欧美色图| 在线日韩av| 91成人精品网站| 成人毛片一区二区三区| 天堂av一区| 亚洲免费精彩视频| 欧美一区二区三区粗大| 伊人电影在线观看| 午夜a成v人精品| 男人操女人免费| 少妇**av毛片在线看| 91女人视频在线观看| 亚洲精品人成| 黄色小视频免费| 狠狠色丁香婷婷综合久久片| 国产日韩精品久久| 精品国产美女福利到在线不卡| 亚洲狠狠婷婷| 成人av.网址在线网站| 色一情一乱一区二区三区| 国产精品xvideos88| 国产精品久久久av| 波多野结衣网站| 久久av网址| 久久噜噜噜精品国产亚洲综合| 欧美特级黄色片| 不卡中文字幕| 欧美激情视频在线观看| 日本一区二区三区久久| 欧美色就是色| 欧美专区国产专区| 好男人在线视频www| 尹人成人综合网| 51国偷自产一区二区三区| 欧美日溪乱毛片| 国产一区二区精品在线观看| 亚洲精品日韩在线观看| xfplay资源站色先锋在线观看| a亚洲天堂av| 加勒比成人在线| 可以在线观看的黄色| 精品久久久免费| 国产人妖在线观看| 性欧美18xxxhd| 日韩成人在线网站| 亚洲精品1区2区3区| 国产毛片一区二区三区| 91成人免费观看网站| 亚洲欧洲精品视频| 三级亚洲高清视频| 日本中文不卡| 香港日本韩国三级| 亚洲成在人线在线播放| 国产在线不卡av| 深夜成人影院| 国产亚洲激情视频在线| 亚洲精品国产欧美在线观看| 欧美永久精品| 国产精品视频免费观看| eeuss影院在线观看第一页| 中文字幕一区二区三区在线不卡 | 无码国模国产在线观看| 久久国产福利国产秒拍| 亚洲精品高清视频| 日本高清好狼色视频| 精品国产精品自拍| 朝桐光av一区二区三区| 国产区一区二| 日本一区二区不卡| 国产女人av| 久久精品视频免费| 日日夜夜精品视频免费观看| 怡红院成人在线| 久久精品在线视频| 刘亦菲毛片一区二区三区| 精品在线你懂的| 成年人网站免费视频| 里番在线播放| 在线视频日本亚洲性| 成人免费观看在线视频| 国产成人综合在线观看| 国产免费视频传媒| 欧美电影免费观看高清完整| 久热99视频在线观看| 色妇色综合久久夜夜| 久久久久久久综合| 欧美日韩一区二区三区四区五区六区| 97久久精品一区二区三区的观看方式| 久久久久久久久久久免费| 国内精品区一区二区三| 国产精品久久福利| 精品日韩在线视频| 自由日本语亚洲人高潮| 中文字幕不卡每日更新1区2区|