2011-01-19 13:41:27 小鯨魚

Roboard對於PWM規格馬達的控制


 

Roboard 是一片神奇又迷你的機器人控制板

http://tw.myblog.yahoo.com/robot-whale/article?mid=22&prev=38&l=f&fid=17

他本身就是一片電腦主機版, 但又同時擁有可以控制24顆PWM馬達的能力

且這24組可動態規劃成PWM或是GPIO , 任君選擇

還有TTL/RS485/232 等等的通訊能力, USB 有三組

還有八組A/D可以提供不同的應用 , I2C/SPI介面也沒少

( 當然, 首先你得先有PWM規格的馬達吧, XDD , 鯨魚有兩百多種PWM規格的馬達任君選擇喔, 都有庫存, 大量供貨中)

以下就來說明如何使用PWM的流程 :

1. 須要先到官網抓這個 "RoBoIO 1.61 .NET Warper binary"

2. 解開他的壓縮後有DLL要COPY到VB的專案目錄裡面 : "RoBoIO.dll"  "RoBoIO_DotNet.dll" ,"WinIo.dll" 這幾個檔案

3.  VB專案中要先加入這個RoBoIO_DotNet.dll 的參考

4. 程式碼視窗裡面最開頭要先引用該命名空間 Imports RoBoIO_DotNet

5.  程式碼部分

        'RB100的話輸入參數RB_100,用RB110的話則是RB_110

        RoBoIO.roboio_SetRBVer(RoBoIO.RB_100)

 

       '設定SERVO控制方式, 這裡內建支援RoBoIO.RCSERVO_KONDO_KRS786之類的日本製SERVO

        RoBoIO.rcservo_SetServo(0, RoBoIO.RCSERVO_SERVO_DEFAULT_NOFB)  

 

       '  '設定0~23 號接頭裡面, 哪些要變成PWM規格, 沒被設定到的自動變GPIO

        If !RoBoIO.rcservo_Initialize(RoBoIO.RCSERVO_USECHANNEL0 ) Then
            MsgBox(RoBoIO.roboio_GetErrMsg())
            RoBoIO.rcservo_Close()
            Exit Sub
        End If

        RoBoIO.rcservo_EnterPWMMode()        '進入PWM Mode

        '將週期= 10ms,高態時間 = 1.5ms的PWM訊號連續送50組出去
        RoBoIO.rcservo_SendPWMPulses(0, 10000L, 1500L, 50L)

        '結束程式
        RoBoIO.rcservo_Close()

 

這樣, 馬達接到PWM0號插座上, 執行這個程式就會看到他把馬達歸零到中點了

再來看要做怎樣的應用都是使用那個 RoBoIO.rcservo_SendPWMPulses指令而已