Testing the GEVCU
Now the most involved part of building a complex electronic board begins - testing its functionality. As described elsewhere on this site the GEVCU has many functions and input/outputs. Testing the board first involves loading the GEVCU firmware. Using an Arduino IDE (integrated development environment) the latest version of code from Collin's github repository was loaded. I found that version of code would not compile. Collin sent me a new version that would compile. Once the code is loaded a Serial Console can be run in the IDE and connect to the GEVCU. It is possible to control the GEVCU though a USB connection - the same one that is used to program the ARM processor. The test begins with checking that all the inputs and outputs are functional. The Serial Console can read the raw input values from the analog ports or the logic value of the digital inputs. The first test of the analog inputs found that one channel was not working. That was traced to a resistor that was not soldered completely. The first test of the digital input channels found all to be working. The next test was of the MOSFET digital output channels. I don't actually test the full current capacity of the output- if the MOSFET is working it should just be capable of delivering the current. Using a LED for a current sensor all eight channels of the MOSFET digital output were found to be functional. The analog inputs have to be calibrated for the throttle and brake transducer. That is done through the embedded web server on the WiFi module. Screen shots of the GEVCU web site are shown here. Accessing the web site also demonstrates the WiFi unit is functional.
The most involved testing is for the functionality of the CAN bus. That is done by communicating to the DMOC 645. Since the GEVCU main function is to control the DMOC this is the best test. For bench testing I use a program called ccShell3 that can connect to the DMOC via a serial port. ccShell3 will show all the DMOC parameters and can be used to determine if the CAN bus communication from the GEVCU is working. The commands available in the Serial Console allow control of many aspects of the DMOC. To enable the DMOC the first digital input is used. Setting the bit high enables the DMOC and then the Siemens motor can be controlled to spin through the throttle input. Although all of the commands are available though the Serial Console most of the setup is done through the GEVCU website.