Friday, October 2, 2015

EVCCON 2015 - Day 3

Session: Arduino CAN_DUE Library Advanced Techniques - Collin Kidder

Collin's CAN_DUE library brings advanced CANbus handling functionality to the Arduino world.  All code written by the extended EVTV coding teams uses CAN_DUE.

The hardware has 8 "mailboxes" which can be used to send or receive data on the CANbus, and everything is interrupt driven using callback function registration, which is far more efficient than polling, although polling is available.

There are two independent CANbuses, you can run both independently at the same time.

To initialize a CANbus, use the begin() method call with the desired bus speed and the hardware pin connected to the bus.  You can also later adjust the bus speed.

Filtering of incoming messages is set using a number of method calls where you specify which message frame ids you're interested in.

The main data structure is called CAN_FRAME and contains all of the critical information about each incoming and outgoing message, including the message id and data.  A union data structure allows you to access the data by low and high int, four shorts or 8 bytes without casting and converting each time.

Sending data is done with the sendFrame() method call, passing in your formatted CAN_FRAME.

One thing to remember is that although Arduino sketches look like C++ code, it's not a full implementation.  For instance, you cannot use a C++ class' method as a callback target.

Very powerful CANbus apps can be written in very few lines of code thanks to this library.  Great work Collin!

News Flash: Charge.net.nz has announced that BMW wants to sponsor their fast charging network effort in New Zealand with 200,000!

Session: CHAdeMO Fast Charging Standard – Collin Kidder and Jack Rickard

Jack has decided to build a car-side CHAdeMO charging solution.  This can be fitted into any electric vehicle to provide fast-charging, slashing charging time and enabling long-distance driving by reducing range anxiety and objections over long charging times.


The expensive part of the kit is the CHAdeMO connector at about $900.  All that's needed in addition is two high-voltage, high-current contactors, a small automotive relay and the EVTV-developed JLD505 meter & CANbus controller, but this may be replaced by a GEVCU in the future.

The CHAdeMO specification lists output at 50V - 500V DC, but real-world testing shows some manufacturers are cheating on the spec by ignoring lower voltages in the range.  Usable range is about 250V - 500V which excludes most DC-motor enabled cars.  While this works for so-far every OEM manufactured car, a lot of home conversions will not be able to benefit from this.

Tesla appears to use the CHAdeMO protocol under the covers, running on 33.3kbps single wire CANbus.  They read the vehicle VIN number and only function when the VIN is validated against known Tesla vehicles.

Contrary to what most people would think, the car is in full control of the charging process.  The car requests initiation of charge, requests current and voltage levels and later requests termination of charge.  The car requests gradual increases and decreases in current at the start and end of the charge cycle.  The charger is supposed to follow these commands.

EVTV testing has shown a variety of behaviours from different manufacturers.  I wish that the CHAdeMO standards body would enforce all aspects of the spec.  At this relatively initial point in the rollout of CHAdeMO around the world, now is the time to get all devices in full compliance.  What we need is a Networld/Interop of chargers and cars.  Idaho National Labs has apparently hosted something like this and reported that everything is just fine, but we know that's not true.  From this paper from a couple of months ago it appears they only tested J1772 devices, not CHAdeMO.

Here is the list of Certified CHAdeMO chargers.  Note Blink is not on the list.

Session: Recording Battery Voltages into Excel using Voice Recognition - Al Gadja

Every Windows PC has speech recognition built in.  Control Panel -> Sound -> Recording -> Configure.  You can train the computer to better understand your voice.

He uses a $15-$20 headset with a microphone boom.  Speak naturally and let the computer lag a bit behind.

As he goes down the battery pack, he speaks the voltages followed by the word "newline".
Eg. 3.125 newline 3.129 newline 3.1209 newline.

Al has an Excel spreadsheet template that applies colors to different cell voltages and graphs charged, discharged and difference values for each cell in the pack.  This allows you to easily visualize the state of health of each battery, with the outliers clearly indicated in the graphs.

Session: Ladder Logic and Vehicle PLC Controllers - Al Gadja

PLCs are Programmable Logic Controllers, long used in industry to control any electrical or mechanical device.  Ladder Logic is a visual representation of the flow of control of the program.  You read the logic left to right.  You can place different device types in the ladder, set preferences and then draw lines.  When complete, you can run it in Simulation mode to see how the logic will work when installed into a PLC and run in the target device.

Everything in his Dodge Brothers truck is controlled through the PLC - nothing is directly wired.  It's from the Crouzet company and cost about $575 for the PLC, relay board and power supply.  It has 26 digital input ports and 26 replay output ports rated at 8A and 250V.


Session: Azure Dynamics eTransit Connect/heaters/AC/CAN - Byron Izbenhaard


Byron bought this van, has done two road trips and has put 2,000 miles on it.  He bought it for $6,500 from a Ford dealer who had no idea how to fix it, and had a lot of wrong ideas.  It turns out both battery pack interlocks were pulled out, and the Pre-Charge was not finishing.  Once he fixed that, the vehicle was running again.  One remaining issue was the heating unit was bad.  The coolant channels were full of goo and the electronics board was corroded.


He has changed to Evans Waterless coolant and a new heating unit from Ebersp├Ącher, taken from a Chevy Volt, about 1/3 the size of the original and about the same power level of 6.6 KW.  He made up a mounting bracket and attached it to the original heater location.  He made up a new hose set with transitions to the van's larger piping.

He then did a characterization of a new thermistor using an oven and determined the difference between the original one and the new one.  The solution was to add an 820 ohm resistor in series with the thermistor to get very close to the original profile.

The next challenge is to get an EVTV CANDue 2.0 board and software working to correctly drive the unit's heating capabilities.  After some trial and tribulation, the heater worked on the test bench.   Luckily the van already has 4 heater level CANbus messages in the diagnostic software, so he sniffed the bus with SavvyCAN to find the messages and used those to flash new firmware and drive the unit.  Byron mounted it in the van and it's working quite well.  The heating is controlled with the original dashboard controls, keeping the stock look and feel and avoiding the out-of-place looking switches that we sometimes find in EV conversions.

Session:  CANdo Battery Temperature Sensor - Nabil Henke and Ray Schaffler

There is a growing need for CANbus-based single-function devices.  After a problem with a thermal switch, Nabil and Ray have come up with a system that reads temperature and broadcasts the values across the CANbus.


It consists of a 2" x 2" x 1/2" white plastic module and up to 7 temperature sensor inputs.  It can also directly control Elcon / Chennic chargers.  Using a Bluetooth serial port configuration, you can install multiple modules in a car.  If any of the temperatures are too cold, it will inhibit the charger from starting.  Hooking up to a serial terminal port, you must set your charger target voltage and current in 1/10th of a volt, i.e. 124.5V = 1245.  It is fixed at 250kbs and Extended Addressing to match the Elcon charger but they're open to a firmware update to allow for baud rate changing.  They are available for $120 including 4 temperature sensors, and additional sensors cost $10 each.  Jack will have them in the evtv.me store when they can give him sufficient quantity.

Session:  Building The Little Lightn!ng Bike - Nabil Henke and Ray Schaffler

Last year they brought a 3 wheel bike called Banshee.  The students they mentor decided to do two 2-wheel bikes called Grease and Lightn!ng and things went downhill from there.  It's primary motor is an automotive alternator and uses a 48V / 10AH battery pack, built by spot-welding 18650 cells.  The cheap Kelly controller they used needs 3 Hall Effect sensors which were a pain to get working.  They used the 12-pole magnet ring from a CD-ROM drive.

Nabil and Ray are members of the Area 515 Maker Space in Des Moines, Iowa.

BBQ At Jack's House

We all headed down to Jack's house, overlooking the Mississippi river, for the first no-rain BBQ in EVCCON history.