Honda Insight Forum banner

41 - 60 of 533 Posts

·
Administrator
Joined
·
11,011 Posts
Discussion Starter #41
Faking Temperature

I've tried faking the temp bytes today as well, and set the Interceptor to replace the actual temp bytes with a fake 25C temp. This improves assist a lot as it has been damn cold here about 0-5c and we know the BCM does protect the nimh batteries at low temps by reducing assist and using a forced charge to warm them up. So the MCM must be taking the BCM temperature bytes into account when computing allowed max assist versus requested assist.

The Lifebatt rally car will also require this faked temp data as well.

So so far we are now controling/faking

soc data
temp data
assist enable/disable
regen enable/disable
 

·
Administrator
Joined
·
11,011 Posts
Discussion Starter #43
oh boy... you are on fire :)
Not literally I hope.

Found the code to disable assist and regen at same time, so can now control charging by setting codes as reqd. V too high, stop regen. V too low stop assist, temp too high stop both!

I will be doing some temp sensor and PTC testing and gathering the codes for the IMA faults next week. So if needed we could fake an IMA code to cut main contactor etc. This would also flag it up to driver. Might try and gather some other fake codes like voltage deviation by tweaking my potential divider to induce faults.
 

·
Premium Member
Joined
·
2,833 Posts
good stuff :D

is the colder weather going to cause you much issue with any of these projects?
 

·
Administrator
Joined
·
11,011 Posts
Discussion Starter #45 (Edited)
Is the colder weather going to cause you much issue with any of these projects?
The main issues it causes is that it is cold/freezing in my workshop!!! And I feel less inclined to freeze, and more inclined to sit indoors on the sofa drinking wine and eating chocolate with the wife whilst watching a film!

I don't see temperature causing any issues now. The user of the system has to ensure their particular battery chemistry is operated within it's useable temp range. The NIMH temperature management on the insight seems good and the system protects from extremes. A more powerful fan on the battery pack is a good mod in hotter climates.

I'm overiding the temp management now by forcing a minimum temp to get better assist at low temps but the lifepo4 chemistry can stand that. The batteries just sag a bit when cold.

In the lifebatt rally system cell life is not a major concern (Within reason!!) so they will be pushed more than a roadgoing lithium upgrade.

The next upgrade after the BCM project is finished is to try and get some more power out of the system. I need to inspect the internals of the power unit to see what the ratings of the IGBT's etc are, and then think about faking current sensing on the MCM so that it thinks it's 25% less than it is. Go for a 25% power increase! But I would like 50%.

I suppose a system similar to the BCM interceptor may work on the IMA drive signals from the MCM in that the pwm signals could be modified on the fly/extended/ changed etc but that needs a lot of careful study of 3 phase pwm dc drive. Not my area of expertise. But having learnt a lot from the BCM project so far who knows.

The lifebatt cell are rated for 10C 150A discharge and I would like to utilise that. That extra 5-6kw may make difference between 1st and 2nd place.
 

·
Registered
Joined
·
30 Posts
I've found the codes to disable assist or regen on command this morning :)
Well, don't keep us in suspense! :) Was it the 5th byte of the AA code... 20 to stop regen, 10 to stop assist? I wonder if that's the only thing that QBATT transmits: just some flag bits, translated into PWM.

OK, I did kind of drift off there, even after prodding me about AND statements. I've been driving around with the check engine light on for a week now (literally, on the Insight). But I'll sort that out and find something to contribute to the effort. You're doing some great work here, and I hope you keep going.
 

·
Administrator
Joined
·
11,011 Posts
Discussion Starter #47
OK :)

$10 & $20 work as suspected and an added bonus $30 disables both which makes sense if you look at the binary for all three!
 

·
Premium Member
Joined
·
4,389 Posts
Peter,
Great progress on this.

On pushing the IMA system, you may want to consider replacing the drive electronics.
I have used two of this companies brushed controllers and they seem to be fine.

They make brushless controllers with regen up to 200A continuous @ 144V 400A peak.
Kelly High Power Brushless DC Motor Controller

The unit cost $1400, so it would be a big investment just to try it out, but it may be less costly than blowing up a couple of the stock inverters.
This approach would allow taking the MCM out of the system since the controller uses an analog voltage to control the power.

Another concern would be rotor magnet demagnetization We have no way to know how close to that point the stock system operates, and it is a difficult thing to measure in the car. Once those magnets start loosing magnetism, you get less torque for more current, which would cause you to push harder and demagnetize more. A vicious cycle and total demagnetization of the rotor magnets.
I hope to set up an IMA motor with bearings so I can explore that this winter.
Keep up the great work.
 

·
Administrator
Joined
·
11,011 Posts
Discussion Starter #49
Mike

I really would like to keep the stock stuff for the fun/challenge of the hacking. It also allows mods to be used by all owners. But as you say the kelly controller maybe a much cheaper/easier option. I read about a hacked civic IMA somewhere that Honda upped the power on but I can't remember where? I presume the magnet problem is heat related is that correct? I know neodynium is faily heat sensitive.

Paul and I do have a few spare inverters/drives between us so I'm prepared to sacrifice one to the project!

I'm not starting/thinking about this till after christmas though, still far too much to do.

Peter
 

·
Premium Member
Joined
·
4,389 Posts
The demagnetization is not necessarily heat related, although heat is an accelerating factor.
In a PM motor, as you drive it harder to get more torque, the magnets are subjected to higher magnetic fields from the higher current in the coils. At some point the fields are so strong that the PM on the rotor start to get permanently demagnetized. The Prius OBD2 diagnostics include a code for this effect, and the fix is to change the rotor, so this is a real possibility.

I was burned by this effect several years ago where I needed to provide programmable back tension for an industrial process. I used servo amplifier with a tension feedback system to control the voltage in a large PM dc motor that was providing the back tension. It worked great until the tension system was damaged causing full power to the motor which was being rotated in the opposite direction by the process. It took only seconds for the magnets to get totally and permanently demagnetized. I had to replace the motor, and set up current limits so it would not happen again.
Most PM dc motors have a MAX stalled current spec that gives some clue as to that demagnetization point. Unfortunately we don't have the IMA motor specs.
My gut feeling is that the IMA motor should be able to do 150A without issues but can't be sure till we do the test on a bench.
I always thought that stacked IMA motors would be a safer way to double the torque, but that means remounting the transmission which on CVT insight is not a small mod.
 

·
Administrator
Joined
·
11,011 Posts
Discussion Starter #51
BCM Fooler

Here is an updated schematic for the BCM Fooler part of this project.

www.solarvan.co.uk/bcm/BcmFooler.jpg

This is the potential divider unit which fakes the voltages to the stock BCM.
It uses < 2ma and runs from the main HV battery.
It should only be used when using an alternative chemistry pack such as Lithium.

I think the OEM BCM might end up being retained for a bit as it gathers some useful data which we can manipulate with the second part of the project the BCM Interceptor.

To make a working SOC gauge for the Lifebatt project I will need to use the BCM current sensor in/out data on the BATTSCI bus to implement an SOC counter, and calculate remaining SOC then substitue the SOC bytes accordingly.
 

·
Administrator
Joined
·
11,011 Posts
Discussion Starter #52
Removing the OEM BCM

We have made quite a lot of progress in the last 6 months and for the final push to remove the BCM there are just a few issues to consider.

We can fake and control a lot of stuff, but we do need to supply the MCM with current & voltage data in the format it uses with the OEM BCM.

So we need to add a couple more functions to the interceptor depending on the chemistry and control sophistication of any replacement battery.

Assuming it is the Lifebatt pack which has it's own over temp & over & under V outputs (The interceptor already uses these) we also need pack voltage and battery current. It is possible to interogate the lifebatt packs using serial data and we may be able to actually get voltage from it via rs232 comms.

Voltage is reasonably easy anyway, and we can use something like an opto isolated potential divider type circuit to feed the interceptor pic 10bit adc with a scaled voltage. We can calculate the pack voltage from this and send it in the format reqd.

For Current we can use a hall effect sensor like the Allegro device (Not sure if it is accurate enough) I use with my BMS adc input or we could perhaps use the stock battery current sensor and some additional conditioning to bring it to the spec reqd for the pic ADC. Thoughts?

Getting the current readings into the pic is probably reasonably easy, converting them into the strange format the BCM sends to the MCM I suspect will be a lot more tricky. I'll def need help with this.

Also the Interceptor PIC only has limited time between data packets to carry out any work so cpu time may be at a premium. I need to check to see how the current work load is affecting the packets. Thinking about it if we remove the BCM the interceptor will only be listening to the METSCI bus which has much less traffic and only a couple of bytes which are relevant to the BCM as most of the data is driving the IMA display gauges. May not be a problem after all.

At the moment the interceptor runs a loop which gets the $87 12 byte packet, makes any reqd changes and transmits it immediately. it then repeats this with the $AA 12 byte packet and the sequence continues adinfinitum. Luckily there is enough time between incomming packets to anlayse, manipulate and re-transmit the packets before the next one arrives!! Phew. So the packets are in effect only delayed by just over the amount of time it takes to recieve them, MCM seems quite happy with this.

BCM $87 data ----> Interceptor rxd/analyse/txd ---- > $87 data MCM
BCM $AA data ----> Interceptor rxd/analyse/txd ---- > $AA data MCM
Repeat above!!
 

·
Premium Member
Joined
·
2,833 Posts
We have made quite a lot of progress in the last 6 months and for the final push to remove the BCM there are just a few issues to consider.
100% agreement... phenomenal work ... greatly appreciate everyone's input and efforts.... I only wish I was better equipped to help more directly.

For Current we can use a hall effect sensor like the Allegro device (Not sure if it is accurate enough) I use with my BMS adc input or we could perhaps use the stock battery current sensor and some additional conditioning to bring it to the spec reqd for the pic ADC. Thoughts?

Getting the current readings into the pic is probably reasonably easy, converting them into the strange format the BCM sends to the MCM I suspect will be a lot more tricky. I'll def need help with this.
correct me if I'm wrong ... but doesn't the current signal from the BCM just have to match the current signal from the MCM in order for the MCM to be happy with it?

Couldn't we just copy / resend the MCM's own current reading back to itself on the BCM line? ... I admit I do not know enough about the inner workings of the MCM to know if this would work ... but I was just wondering because the MCM already understands and uses the format the BCM sends to it in ... and the MCM has its own current sensor ... the current signal from the BCM to the MCM just seems like a safety back up to protect against failures outside the MCM ... all the failures the BCM current signal might indicate we could easily be monitoring ourselves ... and any other battery pack should already have other levels of safety measures.

Of course if it turns out not to be that difficult to convert it into a fake BCM signal to send to the MCM then ... whatever works and is easiest... And I guess trying to use the MCM signal would require opening up the MCM ... so it wouldn't be as straight forward a swap for someone else to just replace the BCM.

just a thought I guess.
 

·
Administrator
Joined
·
11,011 Posts
Discussion Starter #54 (Edited)
correct me if I'm wrong ... but doesn't the current signal from the BCM just have to match the current signal from the MCM in order for the MCM to be happy with it? Couldn't we just copy / resend the MCM's own current reading back to itself on the BCM line? .
I would love to do this Ian but sadly the MCM's current reading is not available on the METSCI BUS (Which we would be listening too if we remove the BCM)

The current readings on the BATTSCI bus we have to send to the MCM are generated by the BCM so we have to generate it somehow :(

The RS485 comms is in a sort of loop.

MCM ----> METSCI BUS ----> Gauges
MCM ----> METSCI BUS ----> BCM ----> BATTSCI BUS ---> MCM

The METSCI data is much simpler and only drives the gauges with a couple of odd code's for the BCM. The Gauges and BCM listen to the METSCI bus.
 

·
Premium Member
Joined
·
2,833 Posts
It just occurred to me ... better late then never :roll: ... even if we wanted to ... another major flaw in my previous thought ... the MDM monitors its current flow with 3 separate current sensors , one for each phase going to the IMA motor ... so the MDM current signal is no where near the correct format that we want to send to the MDM from the BCM... sorry bad.
 

·
Administrator
Joined
·
11,011 Posts
Discussion Starter #56
It just occurred to me ... better late then never :roll: ... even if we wanted to ... another major flaw in my previous thought ... the MDM monitors its current flow with 3 separate current sensors , one for each phase going to the IMA motor ... so the MDM current signal is no where near the correct format that we want to send to the MDM from the BCM... sorry bad.
Ian the MCM (MDM) has four current sensors ASFAIK

One for each phase and an overall current sensor.

The BCM has one current sensor. More experimenting reqd. I might try my allegro current sensor and see if that is accurate enough, measuring the current is not the issue, it's converting it into the bizzare style the BCM send to the MCM.

From Randy's earlier work.

The 5th and 6th byte of the 87 code, and the 8th and 9th byte of the AA code is current. It's normally 1000 hex for no current. Higher than that goes into the battery, low is drawing from the battery. The second byte is less significant, for example 1 amp is a 1016, 6 amps is about a 107c code, then 7 amps is 1111. It counts to 7f on the lesser byte, then increments the next one. Drawing 6 amps is an 0f06 code, 7 is 0e71. I ran a wire through the core to get the scale of it (without messing with the battery). 25 amps is a 0c01 code, or a 1401 code. I'm still figuring how to convert it, but it seems pretty linear.
We have to get an accurate reading and duplicate this format. No idea how closely BCM and MCM have to match.
 

·
Premium Member
Joined
·
2,391 Posts
The demagnetization is not necessarily heat related, although heat is an accelerating factor.
In a PM motor, as you drive it harder to get more torque, the magnets are subjected to higher magnetic fields from the higher current in the coils. At some point the fields are so strong that the PM on the rotor start to get permanently demagnetized. The Prius OBD2 diagnostics include a code for this effect, and the fix is to change the rotor, so this is a real possibility.

I was burned by this effect several years ago where I needed to provide programmable back tension for an industrial process. I used servo amplifier with a tension feedback system to control the voltage in a large PM dc motor that was providing the back tension. It worked great until the tension system was damaged causing full power to the motor which was being rotated in the opposite direction by the process. It took only seconds for the magnets to get totally and permanently demagnetized. I had to replace the motor, and set up current limits so it would not happen again.
Most PM dc motors have a MAX stalled current spec that gives some clue as to that demagnetization point. Unfortunately we don't have the IMA motor specs.
My gut feeling is that the IMA motor should be able to do 150A without issues but can't be sure till we do the test on a bench.
I always thought that stacked IMA motors would be a safer way to double the torque, but that means remounting the transmission which on CVT insight is not a small mod.
I'm a tad late with the response to this but it might help.

I think this was also largely a factor of the breakdown torque point, the point where additional amperage stops producing the same proportional torque where additional amperage is essentially wasted going out directly as heat and when going into the breakdown torque level of amperage is where the demagnetization occurs. I might be wrong though but this is what I've read in a few places regarding AC motors. It might be tough to determine where that breakdown torque level begins though.

...on a different note I'm still trying to figure out if this motor sinusoidal windings(AC) or salient field coils(brushless DC). I see it both ways on this forum and the motors at a glace look the same as each other but controlled differently. The Tesla website discussed the Prius and Insight as being brushless DC motors. Both can have three fields, hence three wires going in. I'm assuming that since we are discussing a brushless DC controller that the motor is brushless DC?
 

·
Premium Member
Joined
·
2,391 Posts
It all makes sense as long as I ignore this article from the encyclopedia

InsightCentral.net - Encyclopedia - Honda Insight MDM

We had an entire thread of people saying this was an AC motor because of the MDM article, but I'm pretty sure it's a BLDC controller, which would also use IGBT's as well. This is more or less the reason why I ask because on this forum I hear it both ways. I know that BLDC and AC motors are very similar but I don't think you can put an AC controller on a BLDC motor or a BLDC controller on an AC motor because a BLDC motor uses salient field coils and AC motors use sinusoidal windings.
 

·
Premium Member
Joined
·
4,389 Posts
As I see it, all motors are AC motors internally.
PM brush motors convert the DC applied to them to AC with the commutator switching the field currents polarity to produce a rotating AC field.
The Insight and Prius motors coils are driven by 3 phase AC, with the position feedback sensors telling the controller where the magnets are in relation to the coils so it can generate the correct drive phase .
At high rpm, the drive is simply turned on and off (square wave) at the proper timing, with the winding inductive reactance providing current control. At low rpm, the drive switches to PWM simulated sine waves to control the current with short PWM modulated pulses.

The AC motors we use to power table saws, washing machines and most of the other machines we are familiar with, do not have magnets, and generate the required magnetic fields by inducing a current in the rotating armature segments.

The EV1 used a large 3 phase inductance motor, All hybrids today use the more efficient permanent magnet BLDC or BLAC motors, which I would consider the same thing.
I suspect that the AC induction motor controller, and a BLDC motor controller differ mostly in where the switchover to PWM vs square wave drive waveforms take place.
The Insight and Prius motors since they have magnets are generating a substantial 3 phase back emf voltage, which must match controllers drive voltage and phase , in order to put the drive system in the zero torque condition. To make the spinning motor generate assist torque, the phase of the drive waveform leads the back emf waveform, and therefore is at a higher voltage than the back emf when the coils fire, so current flows into the motor. To get regen, the drive waveform lags the back emf, so the motor/generator is at a higher voltage than the drive waveform, so current flows into the controller to be rectified and passed into the battery to charge it.
 
41 - 60 of 533 Posts
Top