久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3359|回復: 5
收起左側

求助關于模擬舵機的連續轉向問題

[復制鏈接]
ID:630001 發表于 2019-11-29 08:37 | 顯示全部樓層 |閱讀模式
之前一直在搞舵機(stc89c52rc芯片),遇到了不少問題,還望大神相助
問題1,模擬舵機是不是只有0,45,90,135,180這幾個角度可以定位,如果不是,如何通過控制pwm信號使得舵機轉到某個角度(不要求精確)
       2,如何在僅使用一個定時器的情況下實現舵機在兩不同角度內轉動。
       3,不同舵機即使在相同程序測試情況下,轉動穩定性并不一致,如何對于舵機進行參數調整
       4,一直有看到對于雙舵機同角度轉動程序,那么若使用兩個舵機實現不同角度轉動,51單片機的輸出能力是否足夠。
問題不是太難,但希望大神們能給一些具體一點的回答,我雖然在百度等處搜索了一些資料,但仍覺不能太清楚地理解。無他物相與,唯有謝謝二字奉上,謝謝。
注:舵機型號mg996r,sg90.
回復

使用道具 舉報

ID:638524 發表于 2019-11-29 12:48 | 顯示全部樓層
1.舵機不是只有那幾個角度。可以通過pwm給舵機周期20ms的高電平時間為1ms到2ms的范圍來控制。我在網上看到說是1ms的占空比,往左邊極限位置轉動,1.5ms時保持不動,2ms時往右邊位置轉動。但是我也不太清楚如何具體精確控制轉動多少,但是你可以在論壇看看,我記得我看到過的
2.額,具體我也不太懂,我沒控制過。
3.
4.輸出能力不用太考慮,因為只是給信號,不是像電機需要很大的電流一直驅動,只要供上電源,給pwm信號就行了吧我覺得

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:638524 發表于 2019-11-29 13:00 | 顯示全部樓層
3.我看了網上幾個舵機,好像他的占空比范圍不一樣,就是一個周期內高電平最低持續時間有0.5ms的,,只是這個范圍不一樣,對應的都是0到180度,所以可以在程序里加個中間變量自動轉換,pwm變量里面是角度,里面自動按照比例轉換成相應占空比。我想大概就是這樣。
我室友有個舵機,我下午可以做做實驗,貼上代碼

評分

參與人數 1黑幣 +40 收起 理由
admin + 40 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:630001 發表于 2019-11-29 15:01 來自手機 | 顯示全部樓層
liaojiaao 發表于 2019-11-29 13:00
3.我看了網上幾個舵機,好像他的占空比范圍不一樣,就是一個周期內高電平最低持續時間有0.5ms的,,只是這 ...

感謝大佬
回復

使用道具 舉報

ID:638524 發表于 2019-11-29 15:03 | 顯示全部樓層
不好意思,我也沒搞懂。我看了這位的51單片機控制MG996R舵機源程序
  1. #include<reg52.h>
  2. sbit pwm = P0^0;
  3. unsigned char jd;
  4. unsigned char count = 0;
  5. void t0_init()
  6. {
  7.         TMOD = 0x01;
  8.         TH0 = (65536 - 500)/256;  //我是12m的晶振500us
  9.         TL0 = (65536 - 500)%256;
  10.         EA = 1;
  11.         ET0 = 1;
  12.         TR0 = 1;       
  13. }

  14. void t0_interrupt() interrupt 1
  15. {
  16.         TH0 = (65536 - 500)/256;
  17.         TL0 = (65536 - 500)%256;
  18.        
  19.         if(count < jd)
  20.                 pwm = 1;
  21.         else
  22.                 pwm = 0;
  23.         count++;
  24.         count = count%40;
  25. }
  26. void delay()
  27. {
  28.         unsigned char tt=100;
  29.         unsigned char dd=250;
  30.         while(tt--)
  31.         {
  32.                 dd = 250;
  33.                 while(dd--);
  34.         }
  35. }
  36. void main()
  37. {
  38.         jd = 2;
  39.         t0_init();
  40.         delay();
  41.         jd = 3;
  42.         delay();
  43.         jd = 4;
  44.         while(1);
  45.        
  46. }
復制代碼

我也迷惑了
回復

使用道具 舉報

ID:630001 發表于 2019-11-30 08:37 來自手機 | 顯示全部樓層
liaojiaao 發表于 2019-11-29 15:03
不好意思,我也沒搞懂。我看了這位的51單片機控制MG996R舵機源程序。

我也迷惑了

中斷函數應該控制的是pwm信號,延時函數寫的是為了延長對應時間,保證舵機在此時間內可以轉到某個位置,jd(角度)變量則是控制轉動角度的變量。按照一定占空比算出來的。這樣看來,只需要控制jd count的比例即可轉動不同角度。前提就是定時器的賦值問題了。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久精品国产亚洲a | 色婷婷精品国产一区二区三区 | 成人小视频在线观看 | 久久精品亚洲成在人线av网址 | 91久久精品一区二区二区 | 91传媒在线观看 | 91av免费观看| 99这里只有精品视频 | 99精品久久| 午夜一区二区三区在线观看 | 欧美激情综合 | 日韩一区二区三区av | 在线观看中文字幕 | www四虎com| 精品国产乱码 | 亚洲精品综合一区二区 | 国产成都精品91一区二区三 | 国产激情一区二区三区 | 天天躁日日躁aaaa视频 | 亚洲一区二区三区四区五区午夜 | 免费观看一级特黄欧美大片 | 亚洲福利 | 国产精品成人一区二区三区 | 91啪影院| 成人国产精品久久久 | 羞羞色视频| 亚洲v日韩v综合v精品v | 国产婷婷在线视频 | aaa精品| 精品一区二区在线观看 | 嫩草视频免费 | 大陆一级毛片免费视频观看 | 久久精品成人一区 | 久色视频在线 | 国产一区二区精品 | 一区二区三区精品视频 | 亚洲国产中文字幕 | 一区二区福利视频 | 中文字幕人成人 | 夜夜骑首页 | 丁香久久 |