I soon noticed my 20 month daughter affinity to vehicles. I wanted to give her one where she could sit and enjoy the ride, but currently most powered vehicles for infants require they are able to reach the throttle pedal and properly handle the steering wheel. So I figured out the best way would be to go remote controlled. As I already had done previous projects involving RC gear, it would be piece of cake to turn a regular electric car into a large scale RC car where a small kid could sit inside.
As such I first looked on OLX (a portuguese ebay-like 2nd hand product buying site) for a 2nd hand electric car or jeep at an affordable price. Taking into account that I would be spending extra money with the conversion I wasn't really interested in spending too much money on the car itself. As such I looked and found a Feber jeep for 25 Euros. New these cost about 200 euros. It seemed like a good price in spite of the cosmetic wear:
As such I had to look for a better solution. I found that automotive window wiper and window lifter motors had the nice feature of including worm gears, making for very silent yet high torque motor systems. The only challenge however would be to turn these continuous rotation motors into servo motors. In the same online purchase site, I found people selling used auto parts, among which the following window lifter from a Citroen C3, which seemed suitable:
For €19 it seemed like a good price. Given the fact that looked physically good, it was from a recent car, and from the right-hand door (for which normally the motor has a smaller duty cycle), I thought I would not be disappointed. Once I received it, I found that it had a six pin connector (rather strange for something that should only have 2 pins for the DC motor). This connector would come out of a plastic casing, apparently sealed against moisture. Removed its 2 screws and lifted the plastic clips, and voilá, found this complex PCB inside:
The first thing to notice is the 28 pin SMD package, followed by a 4 MHz crystal, a current shunt and a relay (NAID branded, specially designed for automotive applications). Without knowing anything about the IC, it clearly looked like some kind of microcontroller - it has the logo of Freescale semiconductors, and the PSA initials - which likely stands for Peugeot Citröen S.A. Just for curiosity searched for some Freescale application notes, and they seem to have created some solutions to control window lifter motors, with stall current detection (and hence the current shunt), and LIN bus communication (an alternative to the CAN bus for more localized and simple applications). I may try to hack this in the future and post the results here in the blog :)
Back to the main topic, I had some broken standard servos among my RC scrap parts. The PCB board inside these servos contain the closed loop control system and the h-bridge dimensioned to power the small DC motor that is part of the servo.
The board I grabbed had some of the H-bridge transistors burned, but after some testing I confirmed that the important part for this project, the closed loop control IC was working. I removed the SMD soldered H-bridge transistors and tested the outputs of the control IC (it has one pin for forward and another for reverse direction).
Next I designed the H-bridge for this solution and mounted the prototype circuit in breadboard. Basically I had to combine driver transistors with the low side and high side power FETs I would be using in this H-bridge. I selected the jellybean 2N2222 as drive transistors. The circuit looks like this:
After initial tests with small motors I tried the circuit with the window lifter motor, and it worked correctly:
The other important element in this project would be the traction motor control. In the jeep original condition, the motor control was done simply via a on/off switch. If I wanted to preserve this approach I could have simply reused another servo board, and attached some relay to achieve a similar effect. But after checking the market for brushed motor ESCs (electronic speed control - a device that controls the power delivered to an electric motor), I found that I could buy one for a really low cost, and achieve proportional speed control (as such continuously varying the power delivered to the motor, from zero to full throttle). For instance I found this one at hobbyking (a store from which I am a faithful customer, from previous projects):
For about €10 it barely covers the cost of the individual FETs it is based on. With an advertised 45 Amp countinuos current capability, even assuming it is an inflated value, there is still a good margin in respect to the maximum current in this application (the car came with a 13 Amp circuit breaker).
After a couple of weeks of shipping time, the ESC arrived and I could immediately test it with the car:
It proved to work normally, barely getting warm after some use. In its user manual, it was shown that thermal protection (90ºC) and battery voltage protection for LiPo could be enabled. However the downside is that these protections can only be activated together, so in my case (system is powered by Lead-Acid 6 Volt batteries) it does not work to keep both protections on (as the voltage drops below 5.6 V the power is cut with the protections on, which for Lead Acid is still an ok voltage under load). This is the only downside to account for so far.
After the control circuit having proven functional and stable, it was time to put together the servo circuit into a board.
In spite of no heating having been detected by the finger during operation, still I decided to add a couple of heatsinks to the FETs from the servo control board (the board will be located in a space with limited airflow). The ESC already has a small square heatsink.
Another challenge involving some work was the construction and mounting of the feedback sensor. For good protection I decided to reuse the enclosure from the broken standard servo. It would to some extent protect against moisture and mechanical actions:
Another issue would be finding the ideal place to obtain the position feedback. In general the closer we obtain the feedback from the output, the better. Without searching too much I found that the wheels are bolted to the injection molded plastic body in such way that offers access to the steering shafts from inside the car:
This was a decent place to put the feedback sensor, as rotation of the steering could be perceived from this point. What I had to do was to drill holes to attach the servo support and dremel a slit through the shaft, so that a mating part in the feedback sensor could fit here.
In the feedback sensor, I had to cut a mounting plate (here I reused a metal part from the rack mounting of a broken kvm I had in my scrap box), and make the mating part attaching to the sensor shaft:
The final part attached perfectly to the chassis, right on top of the steering shaft:
Given the lack of openings for the air to flow inside the battery compartment (underneath the seat) where I would fit the electronics, I realized I had to add openings, and better yet, a fan, to allow the air to properly flow through the heatsinks of the motor controllers. As such I added a spare fan I had in the scraps parts, and holes to let the air flow:
Another thing I had to spend money on were the batteries. I found the original Lead Acid 6 Volt 13 Ah battery to be dead. Also, given the fact that I had to power the steering at 12 Volts, and as the motor and ESC were not rated (or not known to be rated) for 12 Volts, I would still need to have 6 Volts available in the system. So I bought 2 x 6 Volt 12 Ah batteries in a local store, and mounted these in series in the system. For the two Sealed Lead Acid batteries I had to shell out approximately €40. In the background is the wasted original battery (Feber branded, but with an incredibly similar casing construction - almost inclined to guess it is the same manufacturer).
The downside of this approach is that the batteries will not discharge evenly, so that series charging cannot be applied. If in the future I replace the ESC I will look for one that can operate at 12 Volts, and supply the entire system with a single voltage.
I decided to keep the original circuit breaker for the traction motor, and added a 15 Amp fuse for the steering. The servo control FETs are rated for at least 22 Amps, so this should provide a good margin of protection. As I didn't had a high amps rated switch, I decided to use the one from the direction handle of the jeep, and put it in the back side:
As such I removed it, and replaced by a threaded rod attached to the aluminium steering levers. With this arrangement, the toe-in angle could now be adjusted. Additionally, as the linkage of this bar would have ball bearings, less drag would occur:
Below is a video of the new steering bar in operation:
And finally, the best thing of all, to put the result to the test, letting my daughter try it for the first time: