Seven months have passed since the last update, and I’ll try to summarize what happened.
I got the Pi to work on the trike. I ported the Python code from the GTA02 very quickly and easily, and had a bit of fun soldering things to the header plug’s I/O signals. It worked out just fine.
I gave up waiting for NJay’s power bridge development, largely because he himself started devoting more of his free time to other projects… and if he didn’t produce a non-burning power bridge prototype in 12 months of R&D with our help twice a month, he sure wouldn’t be able to do it with his attention divided. It was a pity to “give up” so close to the end line, all that was necessary was to get the damned current limiting algorithm working and we would be able to play safely with the Trike, but life got in the way. 🙂
Nevertheless, the whole thing was a great sharing and learning experience: at least 3 persons grew their knowledge of Power Electronics applied to traction motor control, and this knowledge is now alive and well in other personal projects.
So I just bought a pair of Devantech MD03 robotics power bridges and hooked them up to the Pi, still over I²C bus. I had to build a level shifter because the Pi is 3.3V and the MD03 is 5V, and also took that chance to add a few LED lights to help in debugging the bus. That was a great idea, I get real-time feedback on the health of the bus without even having to type at the console or assemble the scope. 😉
At first everything looked just fine, and with the wheels in the air the Trike worked flawlessly at the first time! Great software. 🙂 But then I tried riding it on the floor and again it failed. This time the power bridges had no problem and didn’t burn (the advantage of buying a commercial product is that it is supposedly robust and these have a 20 Amp auto limit), but the communication bus once again failed and stalled. The problem was identified as very heavy power switching noise running from the main power bus into the digital communications bus, and this left the power bridges deaf and the Pi talking to itself. Of course, the noise is proportional to the motor load, and this is why it works just fine when not on the floor.
So I experimented with capacitors of different sizes in different places until I got the noise under control. I eventually solved most of the problem, but guess what?… I burned the microcontroller on one of the MD03s. 😦 What an idiot. I took a cap charged at 28V from the main battery, set it on the table for a while, forgot about it, and then in the midst of my desperation to eradicate the noise from the bus, plugged it in to the 5V power supply of the bridge. Pooof. Goodbye PIC16F872, you served me well for a while.
So then I had to make a decision: buy another MD03 for €75, or attempt to replace and reprogram the PIC… I took the latter path, de-soldered the chip, sourced a replacement, and re-soldered it. Then the problem became programming it. I had zero knowledge on how to program a PIC, but quickly found a cheap serial programmer interface and free software to do it. Unfortunately it didn’t work, and I have no way of finding out why. So I bought a ready-made serial programmer (in case my home-made one was faulty by design) and this is the current point of development.
I haven’t even tried programming yet with the new programmer, but something tells me success is low probability… I have to make sure the programmer is working correctly, and that the PIC is actually receiving the firmware, and that my re-soldering of the chip was complete, and that there is no other damage to the board… all this is beginning to look like too much work. I’m thinking that I should have spent those €75 and JUST GOT IT DONE!
In fact, my life has been taking many new developments lately… I’ve got a collection of new interests, and the DiffTrike has been steadily descending in my priority list. So… my friends… I don’t know what to think or do about this… but it looks like this project is indefinitely stalled for lack of manpower.
Is there anyone out there who would like to get it working? I would gladly do the project management, system architecture, and software development, if someone else would do the electronics tasks. I just don’t have the time to do it.
Meanwhile, here’s a treat for ya: my friend H0tr0d having some fun on the latest version of the Trike, with only one motor functional. Happy hacking everyone! 🙂