Author Topic: Motor Controller  (Read 2839 times)

0 Members and 1 Guest are viewing this topic.

Offline zabuza™Topic starter

  • Jr. Member
  • **
  • Posts: 25
  • Helpful? 0
Motor Controller
« on: February 26, 2010, 07:57:21 AM »
Hi i need some help in understanding what a motor controller is. I don't understand how it works or what it is.

Same with a pic microcontroller. what is the difference between pic microcontroller and a normal microcontroller

i have googled it but i still dont understand :-\

« Last Edit: February 26, 2010, 08:02:45 AM by zabuza™ »

Offline zabuza™Topic starter

  • Jr. Member
  • **
  • Posts: 25
  • Helpful? 0
Re: Motor Controller
« Reply #1 on: February 26, 2010, 08:35:59 AM »
xd iam such a newb

Offline waltr

  • Supreme Robot
  • *****
  • Posts: 1,944
  • Helpful? 99
Re: Motor Controller
« Reply #2 on: February 26, 2010, 09:30:34 AM »
A PIC microcontroller is a design and trademark of Mircochip. http://www.microchip.com/
They have many similarities to other microcontrollers which sparks many debates on forums about which are the best.

A motor controller usually includes the motor drive circuits plus other circuits or a mircocontroller. I make the distinction between motor drivers and controllers but sometimes this distinction is not clear in the marketing literature.
A motor driver uses logic level signals to switch transistor or MOSFET that apply the power to the motor terminals.
A controller can set the motor speed and direction and could even apply acceleration profiles, use motor feed-bacck from encoders and more.

For the simple robots many of us build the main microcontroller has part of its code that is the motor control. This part of the code turns turns output pins of the microcontroller on/off to a motor driver circuit.

Some examples:
These are motor drivers:
http://www.pololu.com/catalog/category/11
These are motor controllers:
http://www.pololu.com/catalog/category/10

Does this help?

Offline zabuza™Topic starter

  • Jr. Member
  • **
  • Posts: 25
  • Helpful? 0
Re: Motor Controller
« Reply #3 on: February 28, 2010, 10:29:56 AM »
Yeh, your example sort of makes sense.
You are saying that motor drivers can turn power on or off to motor terminals and a motor controller is for when you want to adjust speed?
I was browsing forums and came across this. http://www.societyofrobots.com/member_tutorials/node/62 . Here they use a L293d motor driver. The motor driver either supplies the power to one wheel or the other or both, depending on the sensors right? Can this motor driver be programmed? Or any other type of motor driver?

Do all robots have to have a microcontroller? Because I am trying to make one without a microcontroller. I am going to use some sort of program, to analyse the sensor signals and then send those signals to the motors. Still trying to figure out how to do it lol, but can this be done do you think?

Offline chelmi

  • Supreme Robot
  • *****
  • Posts: 496
  • Helpful? 15
    • Current projects
Re: Motor Controller
« Reply #4 on: February 28, 2010, 10:41:25 AM »
Did you read the 50$ robot tutorial? You will find answers to most of your questions :p

Offline zabuza™Topic starter

  • Jr. Member
  • **
  • Posts: 25
  • Helpful? 0
Re: Motor Controller
« Reply #5 on: February 28, 2010, 11:03:17 AM »
yes i have  :-\, doesnt explain it that well, thats why iam asking for better explanations lol. ^^

Offline waltr

  • Supreme Robot
  • *****
  • Posts: 1,944
  • Helpful? 99
Re: Motor Controller
« Reply #6 on: February 28, 2010, 11:47:46 AM »
zabuza,
 I'll reply here to your PM so others can also read this.

Quote
Do all robots have to have a microcontroller? Because I am trying to make one without a microcontroller.
The info in http://www.societyofrobots.com/member_tutorials/node/62 is a great example of how to do a robot controller without a processor. The sensors are directly connected to the motor driver chip (look up the data sheet on the L293D driver to see what the inputs do, also there are a number of threads on this forum discussing this driver chip).
There are other examples of the web of robots without processors.
Here is one: https://www.solarbotics.com/products/k_hm/ and there is a document with the schematics. Solarbotics has a few other bots that don't use processors for control.
Beam also has non-processor robots: http://www.beam-online.com/navagation/_rob.htm

Quote
I am going to use some sort of program, to analyze the sensor signals and then send those signals to the motors.
To use a program you do need a processor for the program to run on. The bots I mentioned above use simple circuits to sense bumping into things and then switching the power to the motors to avoid the obstacle. When a processor is used the code running in the processor reads the condition of the processor's input pins (that have sensors connected) then runs another piece of code to set output pins that are connected to the motor driver chip.

Quote
You are saying that motor drivers can turn power on or off to motor terminals and a motor controller is for when you want to adjust speed?
Again look at a data sheet for a motor driver chip to see what the inputs to the driver chip do with the outputs to the motors. The example you linked to does use a motor driver chip and depending on the state (low or high) on the driver's inputs can set the motors to be both on and forward, one running forward and the other stopped or one running forward and the other in reverse or any other combination. This is the job of the motor driver, it translates a set of input conditions into voltage to the motor terminals.
The controller determines what the driver input conditions should be. In the linked example without a processor, the light sensors ( LDR in the schematic) are the controller. With a processor, it is what the code (program) determines what the motors should do and sets output pins on the processor that 'control' the motor driver.
The controller can also control the motor speed by very quickly turning the motors on and off (at several 100 times or more a second ).

A reason to use a motor driver is that processors and other electronic parts can not supply to high current (Amps) that a motor needs to run. The driver takes low current signals and 'drives' higher current to the motors. If one where to connect most motors directly to the output pins of a processor (or a small signal transistor) the processor will release smoke and cease to function.

Hope this helps and please just post additional questions here.