Sunday, January 22, 2012

tinyKart: More Abuse

Poor tinyKart. Pretty much ever since we built it and it didn't fall apart, it's been put through a series of tests it was never designed for, including off-roading, hill climbing, and Radu. But this week, it was given its toughest trial yet: New England winter weather rallying. The thing about living on the coast is that it's not just snow - it's cold rain, mist, sleet, salt, slush, dirt, and sometimes snow. To really handle all the crap that occupies the ground here during the winter months, you would need something like a small tank. But to make some attempt at handling the winter season, we splash-proofed the electronics and fitted Razor Dune Buggy tires to the rear wheels:


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...

8 comments:

  1. Any chance you're going to open-source the DirectDrive schematics & software?

    ReplyDelete
    Replies
    1. Here are the EAGLE files for v1.0:

      http://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

      Delete
  2. sweeeeet, thanks! I owe you something in return, but I'd have no idea what to offer ...

    Would 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?

    ReplyDelete
    Replies
    1. 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.

      Here 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.

      Delete
    2. Neat. Adding a BOOTo jumper or button should be easy enough.

      But 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?

      Delete
    3. 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.

      Delete
  3. Nice. 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.

    ReplyDelete
    Replies
    1. It 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