Hey Electrified Miata team, here's the latest update in the never ending quest to go faster. Thank goodness for Teamwork! For those of you following along, you know that one of this weeks more exciting sub-projects is to have our first "chat" with the inverter. Guess what, things didn’t go go nearly as well as I'd hoped. Do you know the feeling of disappointment when a critical step of the project just doesn't work and you don't know why? That's what I was experiencing shortly after
the first power up of the inverter. Please read on for the details of we accomplished this week.
We continued work on four sub-projects. One, the Battery Management System (BMS), two, battery pack assembly, three, physical interface to our Leaf motors, and last, the software to control the Leaf inverter/motor. There were some unexpected interactions between the software control and battery pack assembly. Teamwork helped to move this project forward.
Bruce has set up a slack room so we have place to converse about problems, resources, and progress. Thank you Bruce. Using our slack room, Brian and Joe gave me an education on pros and cons of source code control systems for us to use. We'll be using 'git' and likely hosting on gitlabs.
Joe, currently working on the BMS, showed us some amazing progress. His progress demonstrates so clearly why having a team is a huge benefit in terms of project length. Joe received the processor boards and assembled a prototype
From left to right, usb to serial adapter, processor board with various BMS components, and programmer. He then gave us a demonstration of a Python program communicating with the board and polling for status. This was a big step and after Joe explained it to us, I was so grateful for having him work on the BMS. He has the knowledge, experience, and necessary parts to make this happen. If I were attempting this, I would have had to buy more parts like programmers and serial port adapters, learned how to use them and then learned yet another programming environment using LED's as a debugging tool. That's a lot of work and demonstrates Joe's level of expertise.
Ed jumped in and made 2 polymer clay molds of the Leaf motor shafts. Polymer clays, once baked get extremely hard and are sand-able, giving us the ability to make measurements. Thanks to my Aunt Irene for allowing us to use the scraps of her art supplies to further this project. It should be mentioned that Ed also supplies us with libations for our team meetings. ;)
I worked on getting the inverter software ready to test so we can start to see how much of what we picked up from the salvage yard was actually salvageable. I thought the software was running well enough for a first conversation with the inverter, according to the this document. I had tested the message rates and loads on the processor and everything was looking good. I needed one more tiny feature just in case things didn't work quite the way I thought. I wanted to add logging, so we can see to the microsecond when the inverter replies to us and with what data. Logging needs to be remote because Raspberry Pi's use SD cards for their 'disk space'. This type of memory has a limited number of write cycles and a logging function will burn them out. It should be real easy to log over the wireless network onto my one of my desktops, or in the future a laptop. I set up the logging message and ran smack into a version issue between my desktop and the raspberry Pi. The Pi's software was newer than my desktop and the timestamp that I send from the Pi is a different version. I thought to myself, this would be good time to upgrade my desktop. While I'm still not sure exactly what happened, I ended up with two versions of python on my desktop and neither one would run Pandas which contained the Timestamp's this project uses. My wife probably wondered what all the yelling was about in the electronics lab. I ended up needing to upgrade Linux to a newer version to get that mess and version problem straightened out.
The Linux upgrade had the un-intended side effect of leaving me with some spare time while Linux was installing, so I started assembling our remaining battery packs. I managed to get two more battery packs assembled.
Now we have all four needed for the go-kart. :) The next stage will be the soldering and attaching the bus bars. My own soldering iron (about 50 years old) was struggling on the negative terminal of the cells so I was able to borrow a variable temperature Weller soldering iron from yet another person, Winfred Washington. Thanks Winfred! Using my un-verified and un-calibrated temperature probe that came with my meter, both soldering irons showed approximately 650 degrees F. at the tip with the probe held on the tip for five seconds. ThenI searched the internet and found that probe is only good up to 500 degrees F, so it's likely I didn’t have the right tool to measure the difference. :( I did solder with Winfred's iron and didn't
notice too much difference in soldering.
After all this, we performed the first test with the team and it was anti-climatic. Nothing happened, except my software died a ignoble death on an exception, grrrr!
The sweat started forming and my ears heated up. I was simultaneously embarrassed and grateful. The team jumped right in and we spent our remaining time debugging trying to find our why the Pi CAN end was unhappy. Joe had both a scope and logic analyzer from which we learned that the inverter looks like it sent a message, yay! The test also revealed some design flaws for the software. Anything that goes wrong in the CAN conversation program also removes control of the power relays. This is not good when controlling enough power that can literally melt wrenches. I was very grateful this happened early on with a small battery. The design problem will be fixed next week and we'll continue debugging to find out what went wrong. Stay tuned to see what it takes to fix this!
Thanks so much for reading. It's not too late to join us for the fun - contact me (using this link if you don't have my number)