Code for interfacing with KLS motor controllers using Teensy 3.6 for the UVA Solar Car project.
KLS.h
contains the class definition for KLSKLS.ino
contains an example Arduino program for using the library functions- WIP
- Written to interface with Kelly Controls KLS 8080I family of motor controllers over CAN
- Tested with KLS 12201-8080I
- Class written based on manufacturer specifications for the motor controller's CAN protocol
- Requires the fork of the FlexCAN library by pawelsky
- WIP Library documentation
Some things we've learned:
- Bit stuffing: for synchronization purposes, if there are 5 bits of the same value sent consecutively, then a bit of opposite value is inserted ("stuffed") after those 5 bits
- See photos>bit_stuffing.PNG
- Connecting Teensy 3.6 to MCP 2562 Transceiver:
- See photos>Transceiver_Teensy_Connections.PNG
- do not forget to ground the STBY pin
Some resources we've found helpful:
- General CAN background (lower-level info starting around 11 minutes in)
- Orion BMS Wiring information: Solar Car Google Drive: Orion BMS Main IO Connector, Orion BMS Wiring Guide
- Orion BMS CAN information: Solar Car Google Drive: operational_manual.pdf, Orion BMS Software Utility
- MCP 2562 Datasheet
- Software for Orion BMS: Orion BMS Utility