0
\$\begingroup\$

I am new to electrical engineering so I am not even sure that I approach this problem correctly, so I will first give some background information.

I have a RC car (LEGO dirt crusher 8369) that I want to control from a raspberry pi. In order to do that I disassembled the car's remote controller and found out that if you connect the green cable and the black cable the car starts to move forward. If you connect the black cable and the other cable the cars starts to move backward. This lead me to think that I can use a transistor as a switch that will either connect the two cables or disconnect them, depending on if I turn on or off a GPIO pin connected to the base on the transistor.

The problem is that this does not work. Regardless of what I set the GPIO pin to (on or off) the car still moves forward, which means that current is flowing through the cables and the transistor.

Here is an image of the remote controller:

enter image description here

The current is flowing from the green cable through the black cable. The current is 23~27 μA. The voltage between the cables and GND is 30 mV.

Below is an image of the remote controller connect to my raspberry pi via a transistor.

enter image description here

The transistor I use is a "C546B" transistor. The black cable is connected to the emitter and the green cable is connected to the collector. To the base I have connected a 4.66 K resistor and then a brown cable that goes to a GPIO pin on the raspberry pi.

I have tested with a multimeter that the GPIO pin work. When the GPIO pin is turned on it output 3.3 V and 0.678 mA as expected. When I turn it off, it outputs 0 mV and 0 μA.

If I remove the brown cable so nothing is connected to the base, the car stops moving forward as expected.

One interesting thing to note is that the car "lag" a bit when I have the transistor in the circuit. The car starts to move forward, then stops for around 100 ms and then starts to move forward, stops for a few milliseconds, and so on. If I connect the green and black cable directly to each other the car move forward uninterruptedly without any "lag".

I also have tested to swap the emitter and the collector cable but that makes no difference.

Why is the transistor always "on" regardless of setting the GPIO pin to on or off? Do I need some special transistor, if so, how do I know what to look for?

-

TL;DR:

Current is flowing through the transistor even though the GPIO pin is off. Why?

schematic

simulate this circuit – Schematic created using CircuitLab

\$\endgroup\$
5
  • \$\begingroup\$ "the car starts to gas" - what does this mean? \$\endgroup\$
    – Andy aka
    Dec 13, 2015 at 19:30
  • \$\begingroup\$ @Andyaka I mean move forward / accelerate. \$\endgroup\$
    – Sawny
    Dec 13, 2015 at 19:32
  • \$\begingroup\$ A circuit diagram of what the connections are is going to be useful. \$\endgroup\$
    – Andy aka
    Dec 13, 2015 at 19:42
  • \$\begingroup\$ @Andyaka I do not know anything about the remote controller circuit except that if I connect the green and the black cable the car moves forward. And the current is 23~27 μA with a voltage of 30 mV. The only information printed about the circuit on the circuit is "2002 LEGO group, 44278.40A" and "2364" (the RC car is an old LEGO dirt crusher 8369). \$\endgroup\$
    – Sawny
    Dec 13, 2015 at 20:07
  • \$\begingroup\$ NO COMMON GROUND. A transistor setup like this needs the grounds tied together. \$\endgroup\$
    – Passerby
    Dec 14, 2015 at 13:33

2 Answers 2

1
\$\begingroup\$

Assuming that the wires you mention originally connected to the forward and reverse switches on the remote control, the safe way to have the Pi control two relays, with the relay contacts connected where the switch contacts were connected (or in parallel with the switch contacts). The relays will provide electrical isolation between the Pi and the unknown circuit in the remote control, and won't care about polarity.

Any solid-state solution would require some knowledge of the controlled circuit to be sure of correct operation.

\$\endgroup\$
2
  • \$\begingroup\$ Thanks for the answer! Do you know any relay that can be driven by a raspberry pi? Tips on websites to search on / buy from? The raspberry pi's GPIO pins output 3.3V and max 16 mA, but it also have a 5 V output (though this is always on and can't be turned of as the GPIO pins). \$\endgroup\$
    – Sawny
    Dec 14, 2015 at 17:53
  • 1
    \$\begingroup\$ I would use a reed relay. They are avialble in DIP packages (like ICs), and many with a 5 volt coil only require 10 mA to operate, but you would need to add a transitor to drive the relay from the Pi. \$\endgroup\$ Dec 15, 2015 at 21:24
0
\$\begingroup\$

You are setting up for a line collision, a condition that is where two or more devices try to drive the line at the same time. What you want to do is not difficult, but entails removal of the remote receiver chip in the car or at the minimum the outputs from that IC that manipulate the H-Bridge that controls the motor(s). Once this is done you will have to backtrack the motor drive circuit to where it received an input from the receiver and map that to wiring to go to your Arduino or Pi. Be aware the PI is a 3.3 V device and will frown on any IO pin going more positive than 3.3V.

Information such as the chip ID number would be a plus for us, then we could tell you exactly which pins were the outputs.

\$\endgroup\$
1
  • 3
    \$\begingroup\$ Sounds like you are talking about modification to the car itself. As I read the question, the OP is modifying the remote control, so won't be anywhere near the H-bridge that drives the motors. \$\endgroup\$ Dec 14, 2015 at 3:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.