Robofun 機器人論壇

 找回密碼
 申請會員
搜索
熱搜: 活動 交友 discuz
查看: 8829|回復: 21
打印 上一主題 下一主題

要如何讓馬達動呢?

[複製鏈接]
跳轉到指定樓層
1#
發表於 2010-5-16 12:16:10 | 顯示全部樓層 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
目前可以開始寫程式了,但是要如何讓馬達動呢?
我裝了一個servo在第0個位置,然後寫了下面的code
但看了文件,好像還不會讓它動起來~~~
請問有人可以教一下嗎?
謝謝

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "userio.h"
#include "demofile.h"
#include <roboard.h>

int main(int argc, char* argv[])
{
    //初始化
    if (rcservo_Initialize(RCSERVO_USECHANNEL0) == true)
{
  showmsg("...success\n");
  //設定servo no feedback
  rcservo_SetServo(RCSERVO_USECHANNEL0, RCSERVO_SERVO_DEFAULT_NOFB);

  //關閉servo lib
  rcservo_Close();
        showmsg("press any key to ending \n");
  keyboard_waitkey();
  return 1;
}


}
2#
 樓主| 發表於 2010-5-18 09:09:22 | 顯示全部樓層
我的showmsg("rcservo_Initialize success.\n")有印出來,但是馬達都沒有動~~~~

int main(int argc, char* argv[])
{
    unsigned long usedchannels = 0x00ffff80L; //default to use channels 7~23
    if(rcservo_Initialize(usedchannels))
    {
     showmsg("rcservo_Initialize success.\n");
     unsigned long PWM_period = 20000L; //20000us
     unsigned long PWM_duty_middle = 1500L; // PWM 1.5 ms 置中
     unsigned long PWM_duty_left = 800L; // PWM 0.8 ms 置中
     unsigned long PWM_duty_right = 2200L; // PWM 2.2 ms 置中
     unsigned long count = 100;      
      rcservo_EnterPWMMode();
      while(true)
   {
         rcservo_SendPWMPulses(usedchannels, PWM_period, PWM_duty_left,1);
   showmsg("playing PWM_duty_left .\n");
         while (!rcservo_IsPWMCompleted(usedchannels));
   showmsg("finishing PWM_duty_left .\n");
   Sleep(2000);
         rcservo_SendPWMPulses(usedchannels, PWM_period, PWM_duty_middle,1);
   showmsg("playing PWM_duty_middle .\n");
         while (!rcservo_IsPWMCompleted(usedchannels));
   showmsg("finishing PWM_duty_middle .\n");
   Sleep(2000);
         rcservo_SendPWMPulses(usedchannels, PWM_period, PWM_duty_right,1);
   showmsg("playing PWM_duty_right .\n");
         while (!rcservo_IsPWMCompleted(usedchannels));
   showmsg("finishing PWM_duty_right .\n");
   Sleep(2000);
      }
   }   
   rcservo_Close();
}
3#
 樓主| 發表於 2010-5-18 16:46:01 | 顯示全部樓層
原廠文件有說
可使用 25~32 pwm -> 利用com1來改
4#
 樓主| 發表於 2010-5-18 23:01:17 | 顯示全部樓層
回復 4# acen2008


    我將你的code整個貼上,然後執行,還是沒有反應~~~~~
另外偷偷問一下, pwm第一個是哪一邊呀??看了文件好像沒有說得很清楚`~~
5#
 樓主| 發表於 2010-5-19 00:42:28 | 顯示全部樓層
看起來我接的PWM位置沒錯,但是還是沒有動起來~~~~
還有沒有什麼可能??
6#
 樓主| 發表於 2010-5-19 08:44:12 | 顯示全部樓層
我是接6V的電池(右邊供電),左邊(黑紅白)就是馬達(Futaba 3003) ,但是都沒反應





7#
 樓主| 發表於 2010-5-19 10:32:44 | 顯示全部樓層
原來0 和 1 是與 其他14個是分開的喔~~~~,害我一直以為那個就是第1個~~~
晚上再來試試~~~謝謝喔
8#
 樓主| 發表於 2010-5-19 15:50:12 | 顯示全部樓層
對呀,我的vga很熱~~~~~不知要貼哪一種的~~~~~還有
roboard好像會很耗電。我的2400mAh的很快就沒電了
9#
 樓主| 發表於 2010-5-19 22:28:23 | 顯示全部樓層
= = 果然可以動了~~~~~感謝樓上諸位大大~~~
10#
 樓主| 發表於 2010-5-20 07:04:03 | 顯示全部樓層
原來要貼散熱片呀~~~好幾次都覺得爆熱的,都用大台電風扇直接吹,還好沒熱掉。

不用插卡也可以開喔??那如果寫好的程式要run
也可以自動執行嗎?
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

小黑屋|手機版|Archiver|機器人論壇 from 2005.07

GMT+8, 2024-5-10 22:40 , Processed in 0.126625 second(s), 9 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表