PACMAN

pacman-main_3d-model_0_3

PACMAN Repository

All development work on the PACMAN system, both software and hardware, should be done in the BitBucket Repository.

PACMAN Repository

If you need assistance getting access to this repository, contact John Gehrig

Hardware Design

The hardware was designed with two primary considerations: simplifying pack wiring, and solving the voltage isolation issue. The design minimizes HV/LV interfaces, while delivering up to ~6W of isolated 5V power from the battery pack terminals. This allows the processor to easily communicate with low voltage systems. The device also employs a DB-37 connector to simplify and clarify pack wiring. As the design progresses, a “wiring harness” should become a documented and itemized part of the battery pack.

Application notes are contained within the schematic. All parts numbers, and data sheets are contained within the schematic, click “Edit Component” to access them.

PACMAN Hardware Files

All files to reproduce and extend the hardware design are listed below.

Hardware Errata Documentation

Here are the known design short-comings as of Fall 2015.

Delivered Hardware Notes

The delivered hardware suffered a failure of the high side 5V buck converter. Before this failure the system was functional, however voltage spike destroyed components within the system including: i2c-transceivers, can-transceivers, ams  power, and the i2c-adc. Some of these components have been replaced, but if you are using this system for software development, judge accordingly. All low-voltage electronics appear to be functional again.

Software Design

The PACMAN software is a RTOS (Real Time Operating System) running on an 8-bit AVR microcontroller. It is capable of sending/receiving I2C packets, CAN frames and writing to a character LCD.

PACMAN Software Files

Software Errata Notes

Software development efforts were incomplete, more work will be required to get the system functional. A solid foundation framework has been provided for dealing with the AVR hardware, including: GPIO, I2C, and CAN. An RTOS and task structure are also provided with the system.

Work still needs to be done for Control Algorithms, Safety Monitoring, and GUI.

SocketCAN Linux Notes

The protocol for CAN used by the LFEV is a request and response framework. The SCADA system should send a remote transmit request to each node on the bus when it requires data from that node. The node will respond with one or more data frames consisting of 8 bytes each.

To bring a test virtual CAN environment up:

$ modprobe vcan
$ sudo ip link add dev vcan0 type vcan
$ sudo ip link set up vcan0
$ ip link show vcan0

To bring a “real” CAN network up:

$ sudo ip link set can0 up type can bitrate 250000
$ sudo ip link set can0 up

The package can-utils is useful for monitoring and debugging traffic on the CAN bus. Download the can-utils package if your distro provides it.

See the man pages for candump & cansend for more details. Linux CAN Utilities