Asked
Resolved Resolved by DJ Sures!

Brushless Motor Controller V3

I am building, built, a platform to move my Inmoov robot, Bourne, around. Im using hoverboard motors. I have found that the brushless motor controller doesnt do all that I need.

  1. Contolled pwm output, limit speed. max 1.5 volts, maybe less
  2. Direction change, works great.
  3. Brake, I dont use but my board is +2.5-5 volts.
  4. Joystick contolled so it's not just forward, left,right but also 45" Forfard and L/R
  5. Doesnt play well with Tracking, needs to
  6. needs to work with Leanardo, without ez-b 4. using LattePanda.
  7. Needs to work with navagtion and or SLAM

Some of this is in V2 , not all. What am I doing wrong?


Related Hardware LattePanda

ARC Pro

Upgrade to ARC Pro

Unlock the true power of automation and robotics by becoming a proud subscriber of Synthiam ARC Pro.

PRO
Synthiam
#9   — Edited

PWM is not on/off. A PWM is a variable between 0 and 100%. The 0 is 0 volts (gnd) and 100% is the vcc of the microcontroller. If the microcontroller is 3.3v, then 100% pwm will be 3.3v... and 50% pwm will be 1.65v. In most cases, your micro will be 3.3v, not 5v. So it is safe to consider the PWM range to be between 0 and 3.3v

What it sounds like is your brushless motor controller PWM line requires a 0-1.5v control. So you'll need to create a voltage divider with 2 resistors on the pwm line. If not, then you still have control but only let the speed go to 50% (which is 50% pwm).

You see, speed control is relative to the type of motor controller you use. In some cases, the speed parameter is sent to the speed controller using a digital serial signal, or pwm, or some other method. In your case, the speed is controlled by a PWM. This means if the speed on the Movement Panel is 50%, then a 50% pwm voltage is sent.

You might need to read my responses a few times if it isn't making sense yet. Perhaps a good example is to connect a volt meter to one of the I/O ports of your micro. Add a PWM robot skill and move it to see how the voltage varies. Play with it to learn what PWM means and how the brushless speed controller uses the PWM ports. Here's a link to the PWM slider: https://synthiam.com/Support/Skills/Pwm/PWM-Slider?id=16047

(There are also a few videos that explain in better detail how PWM works). AND again remember, the speed of your brushless motor controller uses PWM - Which is why you have to select the PWM port in the config settings.

PRO
Portugal
#10   — Edited

DSBaily, i think the problem is that you are using pins D1 and D4 which are not pwm on the Leonardo.

#12  

I know that PWM is not 0 or 1!  That's the point...  I've read everything you have sent and that is why I'm still questioning the output of the "brushless controller". The output when hooked up with Leonardo as the instruction states is 0volts or 5volts on pins D1 and 4 when slider is pushed passed half way. confirmed by voltmeter and Oscope. I have no PWM. So the question is, do I have a bad board or the skill is broke, Arduino code issue or I don't know what the heck I'm doing. This isn't my first use of PWM and think I have a good understanding which is why I think I have an issue. I have tried other pinout configurations with similar results. Can you please verify controller skill is not broke? If not please give me guidance to troubleshoot my output so I can tell whether board is bad, which would be weird since I do have an output or I don't know what I'm doing!! I can send a video if you'd like.  As far as I understand pins D 0-13 are all digital output pins. Thanks for your help!

PRO
Synthiam
#13  

I can 100% confirm the brushless robot skill is not broken. It uses pwm to control the speed and I verified that it indeed works.

Try using one of Leonardo’s actual pwm pins as stated above (not d1 or d4)

#14  

Thanks! Doc’s I have are different!! That’s what it was! Thanks

PRO
Synthiam
#15   — Edited

wonderful to hear! Now you have speed control - so everything will work as designed:D

#16  

Thank you DJ and proteusy for all your help. Blinded by the details! I appreciate your patience.

Scott