LTO/Orion2 Integration Notes - Insight Central: Honda Insight Forum
 
Go Back   Insight Central: Honda Insight Forum > 1st Generation Honda Insight Forum > Modifications and Technical Issues

Insightcentral.net is the premier Honda Insight Forum on the internet. Registered Users do not see the above ads.
Reply
 
LinkBack Thread Tools
Old 01-22-2019, 06:03 PM   #1 (permalink)
Member
 
McShrimpsky's Avatar
 
Join Date: Aug 2017
Location: Denver, CO
Posts: 60
Default LTO/Orion2 Integration Notes

Hey all,

Up until recently I was working on my own version of the LTO conversion, using the Orion2 BMS to completely replace the stock BCM. Unfortunately I've had to abandon the project because of health issues, but at JimE's recommendation I'm going to try and document my work in case anyone else wants to give it a try.

I should also mention that all of the hard work was basically done by Peter/retepsnikrep before I ever started working on this project, and although I haven't checked on his BCM Replacer thread in a while it seems like the A Board from the Replacer will ultimately do what I was planning to, only better. I was also planning on getting my Orion2 battery profile (minus some CANbus settings) from Captain Torque, who has already gotten an Orion2 set up with the Honda Fit LTO packs and a grid charger/discharger. Anyway...

Big picture, my plan was to build a small "translator" board that would take data from the Orion2 and convert it into a format that the MCM can understand. This could then be mounted on top of the MCM along with the current hack, and the Orion2 could be mounted where the stock BCM would go.

The Orion2 is designed to output charge and discharge current limits, in amps or kilowatts, which represent how much you should be charging/discharging your pack based on a bunch of calculations by the BMS. According to the Orion2 docs these calculations are very fancy, and take into account things like cell voltages, pack temperature, and overall pack health. Bare minimum, you're supposed to design your integration so that a charge limit of 0 from the Orion2 completely disables charging, and a discharge limit of 0 completely disables discharging. From Peter's work on the BCM Interceptor we already know how to send BATTSCI packets to the MCM that hard-disable assist and/or regen, as well as how voltage, current, and temperature data are formatted over BATTSCI. Therefore, all the translator board would need to do is recieve voltage, current, and charge/discharge limits from the Orion2 via CANbus (temperature is factored into its limit calculations, so it makes sense to send a constant temp of 25C for optimal IMA performance), and use the current limits to send exactly the same data that the Interceptor would, albeit with voltage and current replaced by actual data from the Orion2. If the charge limit is 0A it sends "disable regen" packets, if the discharge limit is 0A it sends "disable assist" packets, etc.

To do all this we'd need a board with a CANbus input for data from the Orion2, an RS485 input for the METSCI line (certain bytes from which are used to generate our BATTSCI packets), and an RS485 output to send data to the MCM over BATTSCI. Peter designed and built this exact board as part of his work on the BCM Replacer, here.

Since voltage hacking is necessary to get the LTO integration working (even if we take out the BCM, the MCM still reads the pack voltage over a couple different wires), and current hacking can be used to get more assist/regen out of the pack, the translator would also have to reduce the voltage/current numbers it receives from the Orion2 by a set percentage, to match the values of the resistors used in the hack(s). My plan was to use 10KOhm resistors for the voltage hacking, corresponding to a 10% decrease in voltage, and the fixed current hack board for a 30% decrease in current. Because I'm not an EE and terrified of screwing something up, my plan was to hard-code these values as constants in the software, rather than trying to add dip switches to change them on the fly. There's also a chance that the MCM doesn't actually compare the pack voltages it reads to the ones it receives on BATTSCI, making voltage hacking unnecessary, but that seems unlikely.

The only thing that bugged me about the translator as I've described it so far was that it wouldn't let us see the actual SOC of the pack on the dashboard. Just like when using the Interceptor, you would see 19 bars of charge most of the time, 20 bars when regen was disabled, no bars when assist was disabled, and four bars when both were disabled. The Orion2 can send SOC over the CANbus, but we don't fully understand how BATTSCI works yet, so there's no known way to send SOC to the MCM outside of the four values mentioned above. We DO understand how METSCI works, though, so I figured out a hack that would allow the translator to display the actual SOC on the dash while still allowing the Orion2 to control assist/regen.

METSCI is basically a one-way line that sends data from the MCM to the BCM and dash. The dash uses this data to update the SOC, assist, and regen gauges, while the BCM just takes the second byte of any packet starting with 0xB3 or 0xB4 and sends it back to the MCM on BATTSCI as a way of saying "hey, I'm still here." Therefore, instead of putting the translator on the BCM end of the line, we can have it intercept METSCI on the way to the dash, set aside the B3/B4 bytes to send back to the MCM, and then alter any SOC packets (which begin with 0xE1) to reflect the actual SOC sent from the Orion2. All this would require from an electronics standpoint is another RS485 output, connected to any two free pins on our PIC. I'm pretty sure you also have to put a terminating resistor across the BCM end of the METSCI line, otherwise it might interfere with data being sent properly.

I've got the pseudocode for doing all this, plus some pictures of how I was physically going to set everything up, but they're on my old phone and I can't get to them right now. I'll post them later when I get home. Hope any of this is helpful!

Last edited by McShrimpsky; 03-20-2019 at 10:46 AM.
McShrimpsky is offline   Reply With Quote Quick reply to this message
Sponsored Links
Advertisement
 
Old 01-22-2019, 09:43 PM   #2 (permalink)
Senior Member
 
Join Date: Dec 2015
Location: Belair Maryland
Posts: 942
Default

Thanks for the info,,a lot of good stuff,
Honda hybrid442 is offline   Reply With Quote Quick reply to this message
Old 01-23-2019, 03:53 AM   #3 (permalink)
Administrator
 
Join Date: Dec 2005
Location: Hull. East Riding of Yorkshire.
Posts: 10,426
Send a message via MSN to retepsnikrep
Default

Quote:
Originally Posted by McShrimpsky View Post
There's also a chance that the MCM doesn't actually compare the pack voltages it reads to the ones it receives on BATTSCI, making voltage hacking unnecessary, but that seems unlikely.
Hope any of this is helpful!
All very useful stuff. Keep posting it a summary and new ideas are always welcome.

Re your above, it def does compare them, and they have to be within a few volts or it will throw a code.
__________________

To view links or images in signatures your post count must be 2 or greater. You currently have 0 posts.


To view links or images in signatures your post count must be 2 or greater. You currently have 0 posts.


To view links or images in signatures your post count must be 2 or greater. You currently have 0 posts.


To view links or images in signatures your post count must be 2 or greater. You currently have 0 posts.


To view links or images in signatures your post count must be 2 or greater. You currently have 0 posts.


To view links or images in signatures your post count must be 2 or greater. You currently have 0 posts.

ObdIIc&c, Imac&c, ImaBoost, Current Hacks available. Enqs to 150mpg[at]gmail.com
retepsnikrep is online now   Reply With Quote Quick reply to this message
Sponsored Links
Advertisement
 
Old 01-23-2019, 03:05 PM   #4 (permalink)
Member
 
McShrimpsky's Avatar
 
Join Date: Aug 2017
Location: Denver, CO
Posts: 60
Default

Well, turns out I deleted the pseudocode from my old phone at some point, so I had to re-write it all from memory. Some of it's pretty low-level, but other parts are just a summary of what needs to happen ("Do an interrupt! Format current correctly!"), and it all sort of looks like Python because that's what I've been coding in lately. Also I'm pretty sure the file has Unix-style line breaks, so you may have to open it in Notepad++ or something for it to display correctly. Fair warning: I work as a software engineer, but I've never done any embedded systems programming before, so there's a chance I made some dumb mistakes.

Another benefit of the "intercept METSCI" method that I forgot to mention is that the MCM won't try to reduce assist/regen based on SOC the way it does with a NiMH pack. We don't know how much of this is controlled by the MCM and how much by the BCM, but from Insightbuyer's thread it looks like not using the Interceptor makes it harder to discharge the pack and gives less power.

I've got some pictures of how I planned to mount and wire everything, so I'll post those after work.
Attached Files
File Type: txt translator pseudocode.txt (6.3 KB, 6 views)

Last edited by McShrimpsky; 01-23-2019 at 08:40 PM.
McShrimpsky is offline   Reply With Quote Quick reply to this message
Old 01-23-2019, 08:08 PM   #5 (permalink)
Member
 
McShrimpsky's Avatar
 
Join Date: Aug 2017
Location: Denver, CO
Posts: 60
Default

Okay, here are some pictures. For some reason they all get rotated 90 degrees when I upload them, so sorry about that.



Since I was going to do away with the BCM entirely, I was able to remove the BCM current sensor from the junction board and install the Orion2 one in its place. I unscrewed the metal bar that the old sensor passes through, put the new sensor on, and then stuck it to a protrusion on the junction board with some Gorilla tape so that the bar still passes through the middle. Also note that the orientation of the Orion current sensor is important - there's a good diagram of it in their docs, but basically you have to install it so that current through the pack moves through the sensor in a specific direction. In the end, current going into the pack has to show up as negative (I just realized, I don't know if this is how the MCM sensor reads current...) I'm pretty sure the orientation in this picture is the right one, but if not there's also an option to reverse the polarity of the sensor in the Orion2 software. If I were to do it again, I'd install it so the plug is facing slightly upward because of how tight things are in the IPU compartment with these LTO packs.


Speaking of which, here's a picture of the Orion2 sitting in the IPU compartment with the current sensor connected. I took this picture last fall while trying to figure out how to make everything fit, and there are more pictures and measurements I took here. The included cable (which is the max length the Orion folks advise using for accurate measurements) is just about perfect. Based on my measurements, I was planning on putting an inch-thick piece of foam under the packs the Orion2 is sitting on, but in this picture they're just sitting on the floor of the compartment. With the foam, there'd be a little less than half an inch of clearance between the top of the Orion2 and the IPU compartment cover.


I'll go into this more in my next post (yay 4-image limit), but here's everything laid out outside of the IPU compartment. I plugged the wiring harness into the junction board to make sure the MCM was in the right place relative to it, then positioned the Orion2 to be as far away from it as possible (to make room for all those voltage tap wires) while still keeping room for the junction board. The blank perfboard is what I was going to solder the translator on, and is probably about twice as big as it needs to be. The voltage tap wires are kind of a mess, but they would be going under the cover of each 12-cell subpack (along with one thermistor apiece from the harness that isn't connected), which would make things a little cleaner.
Attached Images
File Type: jpg CFD45BE2-3231-4150-8050-7FCF295B2750.jpg (193.1 KB, 34 views)
File Type: jpg DA30054D-ADCA-4C58-B59E-1F13AA900F13.jpg (155.8 KB, 34 views)
File Type: jpg 6225D498-C105-4063-85A5-A857A11AC6AA.jpg (119.5 KB, 34 views)
File Type: jpg IMG_0424.jpg (223.4 KB, 33 views)

Last edited by McShrimpsky; 01-23-2019 at 08:10 PM.
McShrimpsky is offline   Reply With Quote Quick reply to this message
Old 01-23-2019, 08:30 PM   #6 (permalink)
Member
 
McShrimpsky's Avatar
 
Join Date: Aug 2017
Location: Denver, CO
Posts: 60
Default



Here's how I was planning to mount the MCM + Orion to the LTO packs. I bought a metal plate at Ace Hardware, Gorilla-taped the MCM to one side, and was going to use industrial-strength velcro to attach the Orion2 to the other side, and the plate itself to the tops of the packs. That way everything would be easy to take apart for maintenance, but wouldn't move around in the IPU and potentially short something out. Also, with the widths of the computers and the plate being what they are, this solution still allows room for the voltage tap wires to pass through the holes in the battery pack covers. It's still a little sketchy, but with my limited means I couldn't come up with anything better. Maybe a custom acrylic cover for those two packs, with a perfectly flat top and threaded holes to bolt the computers to?


Because of the removal of the BCM, I was also able to butcher the OEM voltage tap harness and just keep the plug that goes to the MCM. Turns out it's just two wires, which have to be connected to the positive and negative ends of the pack with some ring terminals. This is one of two places where I was going to have to install a 10KOhm resistor for voltage hacking - the other one is in the main wiring harness somewhere...


These are all the places where I was going to have to splice the wiring harness for the Orion2 and translator, minus that voltage hack I mentioned. The pink wires are 12V power originally meant for the BCM, the black wires are grounds, the orange+white wires are BATTSCI, and the blue+white wires are METSCI going from the MCM to the BCM and dash. Since the BCM connector won't be used this is a fine place to intercept it. The Orion2 and the translator would get one pink and one black wire apiece. Based on what I read in the Orion2 docs, both its logic and chassis grounds should be connected to those black wires - it needs to share a logic ground with the translator for the CANbus to work properly, and I'm pretty sure connecting the chassis ground to the actual chassis of the car would cause weird grounding problems with the rest of the IMA system. The purpose of the chassis ground is to give the Orion2 a place to send electrical noise, so the docs recommend actually connecting it to the chassis if using the logic/power ground isn't enough to prevent interference on the CANbus and stuff.

I think that's all I've got, minus some random notes I took while reading the Orion2 documentation. Let me know if you have any questions!
Attached Images
File Type: jpg IMG_0429.jpg (129.7 KB, 34 views)
File Type: jpg IMG_0431.jpg (198.4 KB, 34 views)
File Type: jpg IMG_0427.jpg (216.4 KB, 34 views)
File Type: jpg IMG_0426.jpg (288.2 KB, 30 views)

Last edited by McShrimpsky; 01-23-2019 at 08:56 PM.
McShrimpsky is offline   Reply With Quote Quick reply to this message
Sponsored Links
Advertisement
 
Reply

Quick Reply
Message:
Options

Register Now

In order to be able to post messages on the Insight Central: Honda Insight Forum forums, you must first register.
Please enter your desired user name, your email address and other required details in the form below.
User Name:
Password
Please enter a password for your user account. Note that passwords are case-sensitive.
Password:
Confirm Password:
Email Address
Please enter a valid email address for yourself.
Email Address:

Log-in


Thread Tools

Posting Rules
You may post new threads
You may post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Powered by vBadvanced CMPS v3.2.3

All times are GMT -4. The time now is 06:25 AM.



Powered by vBulletin® Copyright ©2000 - 2019, vBulletin Solutions, Inc.
User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2019 DragonByte Technologies Ltd.
vBulletin Security provided by vBSecurity v2.2.2 (Pro) - vBulletin Mods & Addons Copyright © 2019 DragonByte Technologies Ltd.