Results 1 to 9 of 9

Thread: Arbotix Board and Brushless Motors

  1. #1
    Join Date
    Oct 2011
    Location
    Australia
    Posts
    33
    Rep Power
    27

    Arbotix Board and Brushless Motors

    Hi all,

    I hope someone will be able to point me in the right direction. I am looking at controlling a single Brushless motor with the Arbotix board. I have searched the web (to the best I could - I am relatively new to all this) to find someone who has managed to wire up a brushless motor to the Arbotix board and be able to control it.

    I have the following equipment:

    Arbotix Board
    Turnigy Aerodrive C3530-1700 Motor (works - has been tested)
    Turnigy PLUSH 40A Controller (works - has been tested)
    Zippy 1000mAh 2S1P 8D 20-30C External power for the brushless motor

    Using the Motors2.h file if that also help and I have implemented the Instrucionset in the Arbotix PDE.

    I hope that's all the info you will need. I have seen some Arduino sites but nothing that maps out correctly for the Arbotix. Once again please note I am not a pro in this field.

    I get the initial sound from the controller (beeeeeeep) then a beep ...2sec wait.. beep ...2sec wait ... etc.

    I am trying to hook the controller to the "Dual Motor Driver" on the Arbotix board.

    Thank you so much.

  2. Re: Arbotix Board and Brushless Motors

    The brushless speed controller is looking for an output similar to what a servo would use. It requires a zero throttle signal (so if you were to plug a servo into the throttle port on an rc receiver the position it would go to at low stick) The zero throttle signal will arm the esc, from there its just a matter of modulating the output for different rpm. I don't know if you can get away using one of the ADC ports like you can with a servo, or if you would have to use a pwm.

    I get my arbotix today and thats one thing I will be working on so if I get some code down I'll post it up for you.

  3. #3
    Join Date
    Sep 2010
    Location
    ಠ_ಠ
    Posts
    2,313
    Images
    27
    Rep Power
    278

    Re: Arbotix Board and Brushless Motors

    As Hanzuki said, the BLDC controller should require a servo/PWM-based output for controlling speed and not the motor driver chip (although you may be able to use the PWM pins that control the motor driver chip).

    The default hardware servo library can control up to 12 servos on an arduino and up to 48 on an arduino mega, but it will disable the analogWrite() functions. The arbotix has a custom hardware servo library that seizes Timer1, but I do not know how much it differs from the default implementation.

    You may also be able to use the software based servo library on the arbotix with any digital output pin (without disabling any interrupts). I have no idea if it works with the arbotix (never know until you try, but I don't have one on hand at the moment).
    Please pardon the pedantry... and the profanity... and the convoluted speech pattern...
    "You have failed me, Brain!"
    [git][mech][hack]
    gives free advice only on public threads

  4. #4
    Join Date
    Oct 2011
    Location
    Australia
    Posts
    33
    Rep Power
    27

    Re: Arbotix Board and Brushless Motors

    Thanks for the both of you.

    I think its my lack of knowledge on how to phisically wire the Controller and the DC Motor to the Arbotix board. I will wait and see how Hanzuki goes with his Arbotix board.

    What confuses me even more is that in the Motors2.h file the following is set:
    Code:
    #if defined(__AVR_ATmega644P__)
    #ifdef ARBOTIX2
    #define M1_A 18 // PC2 (D18) -- LEFT SIDE
    #define M1_B 2 // PB2 (D2)
    #define M1_PWM 14 // PD6/OC2B (D14)
    #define M2_A 19 // PC3 (D19) -- RIGHT SIDE
    #define M2_B 1 // PB1 (D1)
    #define M2_PWM 15 // PD7/OC2A (D15)
    #define M_EN 3 // PB3 (D3)
    #else
    #define M2_RIGHT_DIR 18
    #define M2_LEFT_PWM 14
    #define M2_RIGHT_PWM 15
    #define M2_LEFT_DIR 19
    #endif
    #elif defined(__AVR_ATmega1280__)
    Where M1_A = 24, M1B = 3, M1_PWM = 20 according to my Arbotix Robocontroller v.09 book. I am not sure if I have mapped that correctly to begin with. So rather than waste your time I will wait and see what Hanzuki comes back with as I am clearly confused.

    Thanks again guys.

  5. #5
    Join Date
    Dec 2007
    Location
    Portland, OR
    Posts
    3,198
    Images
    952
    Rep Power
    141

    Re: Arbotix Board and Brushless Motors

    Motors2 is for controlling the integrated motor driver IC. These work totally differently than the ESC you're using, so using the library for them is pretty pointless.Easiest way would be to hook the ESC up to the servo output headers on the Arbotix (make sure you don't feed the ESC the wrong voltage though, the middle pin on the servo headers is connected to VIN), and control it as you would a servo using the servo library.

  6. #6
    Join Date
    Oct 2011
    Location
    Australia
    Posts
    33
    Rep Power
    27

    Re: Arbotix Board and Brushless Motors

    Oh, I see. Thanks Tyberius.

    If I understand you correctly, you want me to take my ESC and hook it to the Arbotix Servo Headers which are labeled Servo A/B on the Arbotix board. Is that correct? If so there is a HServo.h file which has ServoA/B diocumented. I will attempt to use this library and comeback with my findings.

    Sorry again for my lack of understanding if I have miss read it.

    Expanding my field of knowledge (hobby):

    Just so you know what I am doing, My friend and I have been in the process of writing a big application for ourselves at the moment to use all parts of the Arbotix board. Wer have code to access Digital and Analog pins on the Arbotix board with various diag tools and attachments like AX-12's Servos, Light Sensors, PING))), Paralx Servos to list a few. We are now wanting to expand our view and accesss other partss of the Arbotix board, like the following:

    1. Left/Right Motor Encoder Headers
    2. Servo A/B Headers.

    So I hope you guys will be able to guide us in how we can access points 1 and 2. our strength is programming and starting to love and enjoy the world of Robotics (Physical Programming).

    Thanks to Tician, who has been very helpful in helping us get through some of the terminologies and tough spots when we first started to learn Robotics.

    Regards
    Danny.
    Last edited by dandbd; 05-19-2012 at 05:59 AM.

  7. Re: Arbotix Board and Brushless Motors

    Before I forget, depending on the ESC you are using it will have a 5v internal BEC which will ouput 5v on the red wire at the servo connection. I would recommend you remove that pin from the ESC connector to prevent any magic smoke from escaping .

  8. #8
    Join Date
    Oct 2011
    Location
    Australia
    Posts
    33
    Rep Power
    27

    Re: Arbotix Board and Brushless Motors

    Success!!!

    For all who are interested. I ended up using the HServo.h library on Arbotix site. And did the following steps for the "specific controller I have":

    If you make ONE button to call all the steps bellow automatically in that order the following will happen:
    1. HServo.Attach (A_PIN) <- Attach the Motor (no sound)
    2. HServo.Set (0) <- Init process (no sound)
    3. HServo.Set (23+) <- BEET Twice and then One long BEEP

    If you make a button for every step bellow then the following will happen:
    1. HServo.Attach (A_PIN) <- Attach the Motor (Get repeating BEEPS reasonably fast)
    2. HServo.Set (0) <- Init process (Get repeating BEEPS faster)
    3. HServo.Set (23+) <- Beep twice and then one long beep

    Note: With this controller, if I send a pulse of less than 23 after the above steps. The motor will BEEP continuously every 2 seconds even though its working and waiting for a higher pulses to spin. If I send a pulse of 23+ it will stop beeping. The motor started to rotate on a value of >=69 to <=170.

    I will soon get my hands on another controller and see if there are any differences to the above steps. So far, thank you to all that have helped. I hope by doing this I will intern help others

    One last note of (CAUTION) : Step two is every important even though you can skip it and simply call steps 1 and 3. The reason for the Zero (0) pulse in step 2 is that if you have attached the servo then detached it without turning the Arbotix board On/Off then you try to attach it again (the motor will spin in high speeds). Basically WATCH your fingers!!!!

    Hope this helps.
    Brilliant!!!
    Last edited by dandbd; 05-20-2012 at 08:59 AM.

  9. Re: Arbotix Board and Brushless Motors

    I am very glad to see that you have solved your problem! I am going to try your steps to see if I can't get my setup working as well. Thanks.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Question(s) ArbotiX Board: AVR Studio 5: Pololu USB AVR Programmer
    By dandbd in forum Software and Programming
    Replies: 5
    Last Post: 11-15-2011, 02:53 PM
  2. Question(s) 6(+)A motors with arbotix?
    By Stobs in forum Arbotix, Microcontrollers, Arduino
    Replies: 4
    Last Post: 03-23-2011, 11:01 AM
  3. Arbotix vs. Propeller Robot Control board?
    By Stobs in forum Mech Warfare
    Replies: 9
    Last Post: 12-30-2010, 04:43 PM
  4. Question(s) arbotix digital pins and board turning on and off
    By [email protected] in forum Software and Programming
    Replies: 4
    Last Post: 06-24-2010, 12:07 PM
  5. RC Brushless ESC and Robot Microcontrollers
    By xemone in forum Arbotix, Microcontrollers, Arduino
    Replies: 6
    Last Post: 06-05-2007, 12:16 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •