After that, there was only one thing left to do, and that was to hand it over to our tame racing driver. Some say his urine turns snow blue, and that he doesn't believe in polar bears. All we know is...
...he's called The Stig.
The aftermath was a very snowy and very dirty tinyKart:
But it was worth it. The kart behaves as a RWD ultralight kart with a lot of torque should in low-traction conditions, which is to say that it either goes in a straight line, if you are trying to decelerate, or spins in violent circles, if you are trying to accelerate. This wonderful combination of user-selectable understeer and oversteer makes it a lot of fun to drive, though not particularly practical for real rallying.
Somebody should make a 4WD version...
Any chance you're going to open-source the DirectDrive schematics & software?
ReplyDeleteHere are the EAGLE files for v1.0:
Deletehttp://web.mit.edu/scolton/www/dd_v1_0_EAG.zip
I haven't done a lot of software work with it yet. The current code is an almost direct port of this:
http://web.mit.edu/scolton/www/3ph_3_1_STM32_11_05_17.zip
sweeeeet, thanks! I owe you something in return, but I'd have no idea what to offer ...
ReplyDeleteWould you recommend swapping in the ACNW-3190 drivers? And is the control board pin compatible with any existing dev boards ... or are the stm32 wootstick schematics also available?
The problem with the ACNW-3190 drivers is that they are 0.4"-wide gullwing package, instead of 0.3" like all the other 2.5A optocoupled gate drivers. So they won't fit on the existing footprint, but if you could make more room for them they would be much preferred for this much FET.
DeleteHere are the files for the STM32 logic board:
http://web.mit.edu/scolton/www/STM32_DOC.zip
It's not pin-compatible with any commercial boards, unfortunately. It is compatible with the ST flash loader, though, so you don't need any special programmer for it. Here's a link to the flash loader:
http://www.st.com/stonline/products/support/micro/files/um0462.zip
I stupidly did not include a button for the BOOT0 pin, so you will have to tie it to 3.3V externally to enter the bootloader on reset. It IS tied to /RTS , so what I do is have the serial port drive /RTS high. You can do with the command line version of the flash loader - not sure if the GUI lets you do it.
Neat. Adding a BOOTo jumper or button should be easy enough.
DeleteBut it's not obvious how the over the air reprogramming works; are you using the /RST line from the XBee as it's DIO6 function? So you can always do an over-the-air programming without any mods?
Yep, DIO6 controls BOOT0 and DIO7 controls /RST. Any two DIO's will work if configured properly, but I used this so that I could also program the XBee firmware. That's also the reason for the jumper JP4 - the /DTR/DI8 pin can't pass the signal, so I jump it over to DIO7.
DeleteNice. OK ... now I'm really starting to nag, but ... the FT232 has a CBUS in it with 3 or 4 pins that could be used a GPIO, I believe, which should be accessible through their d2xx driver (which has a python interface) ... so, no buttons, no jumpers, maybe.
ReplyDeleteIt can already program through the FT232R with the /DTR and /RTS lines being used to control /RST and BOOT0, respectively, using only the Virtual COM port driver. I have to use the command line version of the flash loader in order to control /DTR and /RTS on the COM port. The reset button is there only for convenience , and the jumper JP4 is only for XBee firmware programming.
Delete