I had this Rock Crawler (from now on rock crawler would be abbreviated as RC) that originally ran on 27MHz. This is NOT a differential drive vehicle, it uses a steering mechanism to turn. In the booklet that i received with this RC it was mentioned that the maximum range is 10 mts and it does give a range around that. So i thought of using the NRF24L01+ transceivers to control the RC as this would give it a range of nearly 100 mts.
Now i also didn’t want to permanently alter the original circuitry of either the remote control or the PCB of RC. So i thought of making a separate remote control using the joysticks that i had previously hacked from an old gamepad (You can see that HERE ) and implement some clever idea so that maximum resources of the PCB are utilized and the soldering is also minimum.
After removing the body cover it looked like this –
A close up of the PCB –
The back side-
Before proceeding further lets keep a few things in mind –
WHAT DO WE ACTUALLY WANT ??
- Now i wanted the RC to run on both 27MHz as well as 2.4GHz and also i wanted to do minimum changes.
- I did not want to add any external battery, i wanted to use the rechargeable battery that i received with the RC itself. Adding a 9V battery to run only the arduino is acceptable and anyways that 9V battery won’t be able to run the RC because of current requirements and would be dead very soon.
After that the big question is finding points that control/give power to the motors. It was pretty simple actually – just look at the wires from the motors to where they terminate/are soldered on the PCB.
Using a multimeter we can find out what polarities on the points drive the motors forward or backward and left or right. But if we try to use these points directly to control the RC then we will have to use motor drivers as arduino cannot output that much amount of current.
Why do we have to use motor drivers , the whole current amplifying circuit is already there on the PCB ??
Because these wires are directly connected to the motor. Hence although there are transistors that amplify the current on the PCB, we are not actually using it.
So, we need to delve deeper….
You know that all the information is coming wirelessly hence there has to be a chip-on-board that processes and provides the corresponding outputs that are then amplified by transistors and finally fed to the motors.
I found the points by hit and trial that control the steering and the forward – backward motions.While testing i found that the high for the “chip-on-board” is around 3.3 volts (my multimeter read 3.17V).
Before finalizing anything i tested the things by the following procedure –
- The RC ran on a 6V rechargeable battery. I took a 3.7 V Li-ion battery and connected the terminals directly to the points from where the wires went to the motors and the result was that the motors rotated at a slow speed which was as expected.
- Then i connected the terminals of the Li-ion battery to the points on the chip-on-board with the same Li-ion battery and this time the motors ran at full power ,the way they used to run in the default state. Hence after this i concluded that it is safe to proceed further.
Now all we have to do is solder 4 wires at each of those points so that arduino just outputs the proper logic levels and the rest is handled by the chip-on-board. This will be shown in the next post.