Friday, July 27, 2007

9:12am July 27, 2007 - It's Alive!

This morning, I hacked together a serial cable to talk with the ccShell program provided by Azure Dynamics to communicate with the controller. You need to contact Azure Dynamics directly to get the .ccs file that works with ccShell; it's not available on their FTP site.

Here's the hacked up serial cable attached to the laptop. After setting up Hyperterm for 19,200 baud N,8,1,no handshake, I was able to turn the keyswitch and get a boot screen and binary data dumping out the serial port.

Here's a closeup screenshot of the "Edit" window in ccShell. While I haven't tried out many features, it looks like the tool is quite powerful and able to monitor and log a vast array of variables in the controller. The variables listed in the documentation don't quite match up to the variables shown in ccShell, but I could infer their meaning.

Okay, why the heck isn't my motor turning...

After looking at the wires attached to the controller, it seems that DMOC pin 30 isn't hooked up at all. Hmm, that's the drive enable signal! Why wouldn't we hook that up? It turns out that you can override this digital input by setting the EEXNoIgnSwitch variable in ccShell to "1". I had to do a reset on the controller after downloading the value to the controller's EEPROM.

Okay, after setting EEXNoIgnSwitch to 1, I lightly pressed on the accelerator and heard noises coming from the transmission! Yay, the motor spins! The car is up on jack-stands, so I put it in reverse (backup lights come on, good) and press the accelerator again. What??!!, the wheels turn in the FORWARD direction. Rats. Okay, back to the documentation. There's another variable named EE2ShaftDirection which allows the user to reverse the direction of the motor. After setting this variable, the wheels turn in the right direction! Yay! If you click on the ccShell screen above, you can see the EE2ShaftDirection variable set to -1.

One vaguely unsetting noise is that when the motor turns, I hear periodic light scraping sounds. I suspect that the flywheel might be rubbing against something. I really don't want to take apart the transmission again! I'm debating right now if I can let this slide for a bit (turn the radio up louder?). I'm excited but concerned that something might blow up at this point...

Next up: removing the jack stands and securing the battery box covers...

ADDENDUM (July 28th): In addition to setting the ShaftDirection variable to -1, you'll also have to set the EncoderDirection variable (some name like that) to -1, otherwise the motor will report negative ISR2Hertz values (bad!)

No comments: