So, it’s been what? 3 months since our last update? I don’t know, I’m not counting.
First it was NJay’s holidays, then it was mine, then we kinda got lost in what we were doing, then we picked it up and burned the power bridges once more, then we repaired them, then we burned them again, and then we repaired them again… you get the picture. The pile of burned fuses, MOSFET transistors, and micro-controllers is growing by the month.
Meanwhile NJay’s been busy tweaking the power bridge software and hardware, trying to endow them with some greater robustness. They really do burn easily. But then, this was always expected, since they are being developed from scratch! As usual, there are several small problems that aren’t very visible but then combine together to whack the boards up in smoke as soon as we turn our eyes away from the oscilloscope for a single second. And you already know it is going to happen when we’re not looking, or Mr. Murphy would not feel vindicated. Is it the MOSFET driver circuits that are too fast and force a hard commutation of the power devices, giving rise to strange transients in the power bus and causing overheating and micro-processor resets? Is it the chosen switching algorithm that is overloading one transistor of the bridge, leading to meltdown failure? And if it is, when does that happen? During motive power, or regenerative breaking?…
So many fascinating questions, so little time…
Meanwhile he found that the PWM frequency was too low and this caused discontinued current operation, so he doubled it to 16kHz. He also found that the switching algorithm needs improvements that cannot be supplied by the PWM machines built into the Atmel micro, so he’s implementing the PWM in software. Which prompted to also raising the micro-processor frequency to 8MHz. And destroyed the current-sampling routine. One thing leads to another, yadda yadda yadda… And then, after the whole thing is working once again, he still has to get the automatic current limiting routine working, which is not so straightforward because of the difficulty of measuring said transient-loaded current.
So, he’s been really busy hacking up the power boards and the micro-controller software, which is looking to me like it’s getting close to a “clean slate” state – the low point of redesign, just before the whole thing gets entirely rebuilt, this time to perform and to last. Well, at least I hope so. When I see a hacker telling me that the hardware just doesn’t do what is necessary and that he’s going to have to code a software workaround to get there, I get all tingly and warm and fuzzy with trust and awe. It is a sign that he completely “owns” the design and implementation and better days are coming our way. Hack away, my friend!
Meanwhile, the rest of us have been sitting around with not much to do while we wait for the power bridges. The vehicle design front has stopped completely, since Manuel was in need of all the spare time he could get to further his artistic career and his old love for teaching – and I don’t regret that he does, for he is doing a great passionate job with both kids and grown-ups. And the two guys I tried “throwing” the pedal generator project onto are currently seeking employment and/or evaluating more entrepreneurial projects, so they kind of forgot the whole thing – again I can’t blame them, it’s all for the better.
We haven’t been totally stopped; I’ve worked a bit on the wiring of the Trike, putting in some partial fuses to isolate the burning parts from the non-burning parts, I replaced the I²C bus wire with a CAT5 network cable to improve noise immunity and signal ringing, and re-wired and corrected the power relay circuit which had a little problem that tended to produce the characteristic burning smell we experienced when we tried the Trike on the floor. Oh, and I’ve installed the yellow rotating light definitively on the Trike. All in all, it hasn’t been so bad.
But I was quite happy today to get a new toy in the mail: a slice of pi.
Why did we get a RasPi? Because, let’s face it, the GTA02 sucks. Between the hardware and software instability and my constant soldering and re-soldering of wires into all of those intimate places that were never meant to be soldered, I’m fed up with the fragile thing. Picking an unsuitable computing platform takes its toll on the project and most of all on this developer’s motivation.
So a fresh start is now available, and my current job is going to be to set up the Pi to run my Python productions. And then, when that is taken care of, I’ll interface it with NJay’s power bridges via I²C on those marvellous GPIO pins, just as I did before. It doesn’t come with the more esoteric devices like GPS and accelerometers, but that shouldn’t be a problem since we can get those on a navigation board from diydrones or sparkfun (and these already come with integration filtering of 3-axis data, yummy).
The Pi’s hardware schematics are public and all the software is open-source (that I know of) and there’s an über-excited community building fast around it, and although I doubt that it will be as large and diverse as Arduino for example, I have no doubt it will be resilient (as long as the hardware doesn’t suck). Heck, they’re already 3D-printing pretty boxes and everything!
Here’s a slightly more detailed picture of the board. I’ll try and find some detailed block diagram for our enjoyment.