Understanding the need of an IC motor driver.

Hi there! I'm a complete newbie in everything that spells arduino and with little background on electricity so I'm sorry if some of the questions or all of them are easy and I purely don't have the experience to see the issue.
I've seen some posts on why you need an IC motor driver such as the L298 IC along with a couple more component like :

  1. The motor creates back EMF and could damage the arduino by overloading it
  2. The motor can only work in one direction if connected straight into the arduino, and with the controller you can actually choose the direction (and speed nonetheless)
  3. The motor could draw a much bigger amperage than the arduino could handle, leading to deteriorating the arduino micro controller or other components

And my questions for each one would be:

  1. If I simply connect a diode alongside the motor can't it block the back EMF from reaching the arduino thus leaving the only possibility to burn the diode?
    2 Can't I use two pins of the arduino connected to 4 transistors ( when one outputs HIGH the other one sets to LOW and vice versa) and with a couple of diodes to control whether I want to change the polarity of the motor or not?
  2. My motors is an Chineese, L shaped product that works from 3 to 6 V, wouldn't the arduino itself do the trick instead of using the controller?

I know that knowledge comes from burning many circuits thus leading me to understand why something works and something else doesn't but I would love to understand a little bit more before starting to pile burnt component one after another.
And i'm sorry again if my questions are too obvious or stupid, but i that case I would really love to know why. Thank you for your time!

There are several issues, back EMF as you observe - search for snubber diode.

The main issue though is that the Arduino can't provide enough current to drive motors. You need external power and a driver is convenient way to connect it all up. Sure, you can build your own from discrete components but why bother?

If you try to power the motor from an Arduino I/O pin, you'll burn the pin out. Even powering a tiny motor from the 5V pin is a bad idea if you want your Arduino to have a long happy life.

aireplay:
2 Can't I use two pins of the arduino connected to 4 transistors

That's essentially what you get in a h-bridge motor driver without all the hassle of designing and constructing your own transistor circuit.

...R

wildbill:
There are several issues, back EMF as you observe - search for snubber diode.

The main issue though is that the Arduino can't provide enough current to drive motors. You need external power and a driver is convenient way to connect it all up. Sure, you can build your own from discrete components but why bother?

If you try to power the motor from an Arduino I/O pin, you'll burn the pin out. Even powering a tiny motor from the 5V pin is a bad idea if you want your Arduino to have a long happy life.

From the last paragraph I understand that powering the motor from the 5V pin deteriorates the arduino in time, not immediately, can you explain why does it do that? (I don't have the time at the moment to research the snubber diode bcs I have the most important exam in 2 days, but i'll do that right after. Now with that said, if the answer lies in the snubber diode just let me know)
And I, when I first got my first proper arduino board which is 2 weeks ago, connected the positive of the motors to the pin 3 or 4, whichever has PWM attribute, and it just did not work since I guess it did not have enough power, but it did not burn or even deteriorate it at all, it just did not work.

And for

Sure, you can build your own from discrete components but why bother?

I would honestly bother because at times I don't really understand the connections between components (in the schematic) and since in my country the robotics branch is not very well established I don't have anyone to explain everything to me.
Plus, I understand how a transistor / MOSFET works pretty ok, but not what type of it (NPN or PNP) I need, or which version of it i need for my specific project. Even if it's off topic, if you could explain that to me also, it'll help me a bunch.

Robin2:
That's essentially what you get in a h-bridge motor driver without all the hassle of designing and constructing your own transistor circuit.

...R

Yeah, but when I see the documentation on those ICs such as the L298 I don't really understand it completely, and I'd rather understand it all than using it at half knowledge and when it gets wonky spending my time contemplating and thinking what part of my programming doesn't fit. And plus, it's easier since all the base parts are in my local electronics shop, but those driver circuits have to be ordered (it's a pretty poor shop)

I understand that powering the motor from the 5V pin deteriorates the arduino in time, not immediately

In fact the Arduino can be immediately destroyed. Wildbill was speaking figuratively.

I'd rather understand it all

Plan on taking at the very least a year each of college level introductory physics and electronics to even approach that stage. On the other hand, you can follow recommended tutorials (Instructables are NOT recommended) and have some fun, while getting a glimpse at a very complex, advanced area of technology.

Hint: if you are interested in motors, avoid any project that recommends L293 or L298-based motor drivers. They are dinosaurs and won't even work with many common motors.

There are many existing H-bridge designs for discrete components. These days the main switches are always MOSFETs. Google "MOSFET H-Bridge circuit", choose one that you like the look of and try to understand how that works. If you have trouble ask again.

You have much more chance of getting help with a specific circuit than with very general questions, particularly since none of us knows what you already know. You started by saying you know little about electricity and a bit later you were claiming to understand how transistors and MOSFETs work...those two statements can't both be true.

Steve

aireplay:
Yeah, but when I see the documentation on those ICs such as the L298 I don't really understand it completely,

My little brain finds it much easier to understand how to use a h-bridge based on reading its datasheet compared to all that I would need to learn to design an equivalent circuit with discrete components. And then there is the time needed to construct the circuit.

YMMV.

...R

jremington:
Plan on taking at the very least a year each of college level introductory physics and electronics to even approach that stage.

Well, since I'm applying right now for a computer science college, in the programme there is a electrotechnics class so.. I guess I'm on the right track.

And what do you mean by instructables? The already made circuits with only the documentation available?

Instructables is a large web site where people publish projects with the intention of teaching others how to do things.

Unfortunately, there is no quality control, and especially in computers and electronics, the majority of people who post there seem to be beginners, and give bad advice.

jremington:
Instructables is a large web site where people publish projects with the intention of teaching others how to do things.

Unfortunately, there is no quality control, and especially in computers and electronics, the majority of people who post there seem to be beginners, and give bad advice.

Ah, okay, thanks for the heads up. And regarding what you said earlier about avoiding projects like L29x, my project is a simple RC car, and my motors are just a couple of yellow little 3-6V L-shaped chineese products (as I said earlier), so should I use an L1990S H-Bridge? Or what would you rather recommend if not that.

slipstick:
You have much more chance of getting help with a specific circuit than with very general questions, particularly since none of us knows what you already know. You started by saying you know little about electricity and a bit later you were claiming to understand how transistors and MOSFETs work...those two statements can't both be true.

Well... at least from my point of view I actually do know little about them. Here's a short resumee of what I know : I know how current works at the level of electrons, I know the formulas like Kirchhoff's rule and all that since I have some exams on it, I worked before with unpolarised ceramic resistors, LEDs, low capacitance capacitors and transistors (and I know about MOSFETs because their main principle is the same as a transistor's.... since they are basically sti transistors but better and with slightly different logic.
Now.. I say I know little about electronics because on a theoretical level, no problem, but on the practical level where I design a circuit with certain components , you got me there. I don't know how to determine what version of transistor to use in each case. For example I used a PN2222 for a cute little controller but how do I know what PN do I need for another application, and things like that basically.

The L298 will probably work with the "yellow little 3-6V L-shaped chineese products" but wastes about half the battery power heating up the driver chip.

For motors like that I recommend this modern driver from Pololu, which is inexpensive and vastly more energy efficient. And, Pololu has really excellent product support. Browse their brushed DC motor driver selection here.

jremington:
The L298 will probably work with the "yellow little 3-6V L-shaped chineese products" but wastes about half the battery power heating up the driver chip.

For motors like that I recommend this modern driver from Pololu, which is inexpensive and vastly more energy efficient. And, Pololu has really excellent product support. Browse their brushed DC motor driver selection here.

Thanks for both the recommendation and explanation, and I'd have only two more question that are, fortunately on-topic.
As slipstick said:

You have much more chance of getting help with a specific circuit than with very general questions

I understand perfectly what the problems would be if I build my own circuit (plus that I have little experience), so in other words I understand the effects but not the causes. And putting aside the circuitry that I had in mind, let's say that at first I connected the motor with the specs listed in the other reply directly onto the arduino's GND and 5V VCC, and it didn't burn out.. actually the motor worked fine, but I guess that's just my luck. As i've researched the matter quite a bit I've seen that the motor draws more current than the arduino can handle leading to overheating thus destroying the pin or even the arduino. Why is that? As far as I know the current goes independently of the consumer. How does the overdrawing of current work in case of the current?
And second of all, If you could explain the "pins" of the DRV8835 motor driver you recommended and how should I make the connection with an arduino and a motor just so that I can make a parralel between each driver's documentation and thus understanding a whole lot better it would be awesome. Although if It's too complicated or something else, no problem, i'll just research harder after my exams pass and try to make the most sense of it.. or just scratch my head burning the circuits until I understand it.

By the way, thank you so much for taking the time to explain to me every little detail i'm interested in.

aireplay:
As i've researched the matter quite a bit I've seen that the motor draws more current than the arduino can handle leading to overheating thus destroying the pin or even the arduino. Why is that? As far as I know the current goes independently of the consumer. How does the overdrawing of current work in case of the current?

The voltage regulator on an Arduino is not intended for large currents. Also, all the current must pass through the very fine PCB traces on the Arduino board. They are not designed to carry heavy currents. And the Arduino 5v pin has no protection against the voltage spikes that a DC motor can generate.

And second of all, If you could explain the "pins" of the DRV8835 motor driver

The Pololu DRV8835 web page has very detailed information.

...R

aireplay:
Why is that? As far as I know the current goes independently of the consumer. How does the overdrawing of current work in case of the current?

I'm not sure what you understand by "the current goes independently of the consumer" but just to be clear...a device will try draw the amount of current that it needs. Motors need quite a lot of current. So if you connect a motor to a pin that is not able to deliver the required current then something has to give. In this case the internal regulator will overheat and die and the 5V pin will no longer be able to provide anything at all.

Steve