Beam Driver Motor Robot Transistor Radio

On
Control
  1. Beam Robot Circuits
  2. Beam Headbot

When connecting together several circuits that have different supplyvoltages, common practice is to make them all have a common negativesupply rail. This is called “ common ground”. As explained in Majenko’sanswer, you would need an NPN transistor for that.If you want to use a PNP instead, then you could forget the commonpractice and do everything “backwads”: if you connect together the positiveends of the power supplies, you will have a “common V CC”instead of a common ground. Relative to the Arduino ground, your9 V battery will have one pole at +5 V and the other at−4 V.The wiring is the following:. connect the emitter to +5 V (Arduino +5 and battery +).

connect the base to an Arduino output through a resistor. connect the collector to the motor. connect the other end of the motor to the battery −. put a free wheeling diode in parallel with the motor.Edit: Below is an ASCII art rendering of the circuit.

Beware thatthe motor is ON when the Arduino output is LOW. +-+ 5V -+-+ Arduino ,-. You need an NPN transistor to run a motor like that off of an arduino. Take a look at this article:Similar to the NPN circuit, the base is our input, and the emitter is tied to a constant voltage. This time however, the emitter is tied high, and the load is connected to the transistor on the ground side.This circuit works just as well as the NPN-based switch, but there’s one huge difference: to turn the load “on” the base must be low.

Beam Robot Circuits

BeamBeam Driver Motor Robot Transistor Radio

This can cause complications, especially if the load’s high voltage (VCC in this picture) is higher than our control input’s high voltage. For example, this circuit wouldn’t work if you were trying to use a 5V-operating Arduino to switch on a 12V motor. In that case it’d be impossible to turn the switch off because Vb would always be less than Ve.Using an NPN transistor is the way to go here. Keep in mind that you can't control the direction of a motor with just one transistor, however.

Despite the fact that the circuit you have is completely wrong, there is one fundamental thing that is stopping you using a PNP transistor.With an NPN transistor you have to raise the voltage on the base above the ground voltage (this voltage is called VBE, the Voltage between Base and Emitter). Typically that voltage is around 0.7V.With an PNP, because the emitter is wired to your 9V rail, VBE must therefore be relative to 9V, not ground, so the voltage on the base must be less than 0.7V below 9V to turn on. Which in itself is fine - a LOW will be around 0V, which is about 9V less than 9V.

Beam Headbot

So it will turn on. The problem comes when you want to turn it off. You need to get the base voltage above 8.3V (9V - 0.7V), and that is impossible for an Arduino to do.So normally a PNP transistor is switched by using an NPN transistor to switch the base of the PNP between 9V (pulled up through a resistor) and 0V (switched through the NPN).And that then becomes pretty much pointless, since you are then adding a second, NPN, transistor, and you could just as well use the NPN alone to switch the motor, making the PNP completely redundant.