Honda CR-Z Hybrid Car Forums banner

281 - 300 of 332 Posts

·
Registered
Joined
·
778 Posts
Discussion Starter · #281 · (Edited)
I managed to do a 20-60 mph rolling start 2nd gear acceleration test today..
From the logged data I made it about 5.5 seconds 20-60mph and 4 seconds 30-60mph.

Sadly I'm not doing a full on standing 0-60mph start test as I value my expensive driveshafts!

Inside the new OBDIIC&C based IPU Interceptor showing the layout.

63314


I changed the code for this today to add some serial data resynchronisation capability.

If the IPU interceptor gets out of step with the byte stream from the IPU module due to a glitch etc it can now recover automatically.

See the next post for the code it is running. (y)
 

·
Registered
Joined
·
778 Posts
Discussion Starter · #282 · (Edited)
What's under the IPU Interceptor hood? ;)

This is the commented IPU Interceptor PicBasic Pro current source code.

I make no claims to be an expert programmer, so apologies in advance for
poor structure and many other bad programming habits acquired over many years!

It's taken three months UK CR-Z ownership and dedicated R&D to get it to this point, so a lot of work.

The forum code screws up the comments TAB formatting a bit. Sorry
It's best viewed in the 'Microcode Studio Editor.'


Please don't repost it etc without asking.. Thanks

Txt file attached...

Code:
'-------------------------------------------------------------------------------
'----------- Honda CRZ NIMH/LITHIUM OBDIIC&C IPU INTERCEPTOR 32mhz -------------
'--------- Picbasic Pro Compiler version PIC18F26K80 - 140221 - V01 ------------
'---------------- Copyright Peter Perkins [email protected] ---------------------
'-------------------------------------------------------------------------------
'
'**************************** General Information ******************************
'
'This module carries no warranty or guarantee of any kind! It is used at
'your own risk, and I make no claims as to it's suitability for a particular
'function. Prospective users must evaluate the system before using it, and no
'liability will be entertained by myself in any shape or form whatsoever.
'Be aware that undisclosed vehicle modifications can lead to invalidated
'insurance and warranty issues. You the user remain fully liable for any
'modifications made to your own vehicle.   

'**** PIC18F26K80 FLASH 65535 (bytes) SRAM 3648 (bytes) EEPROM 1024 (bytes) ****
'
'                                    Top
'                                   _____
'(Pic Reset)               MCLR -01|  ^  |28- RB7           ICSP Data & (Lcd 7)
'(Button In)                RA0 -02|     |27- RB6          ICSP Clock & (Lcd 6)       
'(Red Led Out)              RA1 -03|     |26- RB5                        (Lcd 5)
'(CS Out)                   RA2 -04|     |25- RB4                       (Lcd 4)
'(Spare)                    RA3 -05|  1  |24- RB3                       (Can Rx)
'(V Core Capacitor)         RA4 -06|  8  |23- RB2                       (Can Tx) 
'(Green Led Out)            RA5 -07|  F  |22- RB1                        (Spare)
'(- GND Supply)             Gnd -08|  2  |21- RB0                   (Debug Out)
'(Piezo Out)                RA7 -09|  6  |20- +Ve              (+5V VCC Supply)
'(PPP Opto Out)             RA6 -10|  K  |19- Gnd                (- GND Supply)
'(Lcd RS)                   RC0 -11|  8  |18- RC7                   (Ipu Rxd In)
'(Lcd EN)                   RC1 -12|  0  |17- RC6                 (Ipu Txd Out)
'(Lcd Backlight PWM CCP2)   RC2 -13|     |16- RC5                     (SDO Out)
'(SCK Out)                  RC3 -14|     |15- RC4                      (SDI In)
'                                   -----
'
'********* ICSP In circuit serial Programming Pinouts 5 Pin Sil 0.1" ***********
'
'1) MCLR
'2) +5V
'3) GND
'4) Data
'5) Clock
'
'************************ Display Module Specification *************************

'Parallel Port LCD 20x4 HD44780 5V Compatible Controller (4 Bit Mode)

'************************ Gauge Module Specification ***************************

'Board Supply Voltage Max 20V. PIC CPU Speed 32mhz with internal resonator

'*******************************************************************************
'************** Program Size 1818 bytes (2.78%) out of 65535 Bytes *************
'*******************************************************************************

'***************************** 18F26K80 CONFIG BITS ****************************           

#CONFIG
    CONFIG  RETEN = OFF           ; Ultra low-power regulator is Enabled (Controlled by SRETEN bit)
    CONFIG  INTOSCSEL = HIGH      ; LF-INTOSC in High-power mode during Sleep
    CONFIG  SOSCSEL = DIG         ; DIGITAL I/O on port C 0,1
    CONFIG  XINST = OFF           ; Disabled
    CONFIG  FOSC = INTIO2         ; Internal RC oscillator I/O on Osc Pins
    CONFIG  PLLCFG = ON           ; Enabled x4 PLL
    CONFIG  FCMEN = OFF           ; Disabled
    CONFIG  IESO = OFF            ; Disabled
    CONFIG  PWRTEN = OFF          ; Disabled
    CONFIG  BOREN = SBORDIS       ; Enabled in hardware, SBOREN disabled
    CONFIG  BORV = 0              ; 3V
    CONFIG  BORPWR = ZPBORMV      ; ZPBORMV instead of BORMV is selected
    CONFIG  WDTEN = OFF           ; WDT Disabled in hardware; SWDTEN bit disabled
    CONFIG  WDTPS = 1             ; WDT Disabled
    CONFIG  CANMX = PORTB         ; ECAN TX and RX pins are located on RB2 and RB3, respectively
    CONFIG  MSSPMSK = MSK7        ; 7 Bit address masking mode
    CONFIG  MCLRE = OFF           ; MCLR Disabled, RG5 Enabled
    CONFIG  STVREN = ON           ; Enabled
    CONFIG  BBSIZ = BB2K          ; 2K word Boot Block size
    CONFIG  CP0 = OFF             ; Disabled
    CONFIG  CP1 = OFF             ; Disabled
    CONFIG  CP2 = OFF             ; Disabled
    CONFIG  CP3 = OFF             ; Disabled
    CONFIG  CPB = OFF             ; Disabled
    CONFIG  CPD = OFF             ; Disabled
    CONFIG  WRT0 = OFF            ; Disabled
    CONFIG  WRT1 = OFF            ; Disabled
    CONFIG  WRT2 = OFF            ; Disabled
    CONFIG  WRT3 = OFF            ; Disabled
    CONFIG  WRTC = OFF            ; Disabled
    CONFIG  WRTB = OFF            ; Disabled
    CONFIG  WRTD = OFF            ; Disabled
    CONFIG  EBTR0 = OFF           ; Disabled
    CONFIG  EBTR1 = OFF           ; Disabled
    CONFIG  EBTR2 = OFF           ; Disabled
    CONFIG  EBTR3 = OFF           ; Disabled
    CONFIG  EBTRB = OFF           ; Disabled
#ENDCONFIG 

'----------------------- General 18F26K80 Configuration ------------------------

DEFINE OSC 32               '8mhz Clock (x4 = 32mhz)
DEFINE NO_CLRWDT 1          'No Clear WDT Instructions added

OSCCON = %01100000          'Internal 8mhz x 4 (32 mhz) Osc and stable
OSCCON2= %00000000          'Cleared
OSCTUNE= %01000000          'Enable PLL 8mhz x 4
CCP1CON= %00000000          'Disable ECCP1
CCP2CON= %00001100            'Enable CCP2 Module PWM Mode
HLVDCON= %00000000            'HLVDCON Disabled
TRISA =  %00001001             'SET PORTA0 & A3 AS INPUTS, REST AS OUTPUTS
TRISB =  %00001011             'SET PORTB AS OUTPUTS EXCEPT PORT B0,B1,B3
TRISC =  %00010000             'SET PORTC AS OUTPUTS EXCEPT PORT C4     
ADCON0 = %00000001            'SETUP ADC & ENABLE ADC MODULE on AN0
ADCON1 = %00000000            'SETUP ADC SET REFV to VDD & VSS AN0
ADCON2 = %00011110            'SETUP ADC FOSC/64 LEFT JUSTIFY TAD 6 
ANCON0 = %00000001          'All digital except AN0 (Button)
ANCON1 = %00000000          'All digital

'************************** General Program Defines ****************************

DEFINE LCD_DREG PORTB         'PORTB is LCD data port
DEFINE LCD_DBIT 4             'PORTB.4 is the data LSBit
DEFINE LCD_RSREG PORTC         'RS is connected to PORTC.0
DEFINE LCD_RSBIT 0          'RSBIT 0
DEFINE LCD_EREG PORTC       'EN is connected to PORTC.1
DEFINE LCD_EBIT 1           'ENBIT 1
DEFINE LCD_BITS 4             '4 data lines  are used
DEFINE LCD_LINES 4             'It is a 4-line display
DEFINE LCD_COMMANDUS 1500     'Use 1500uS command delay
DEFINE LCD_DATAUS 50         'Use 50uS data delay

DEFINE ADC_BITS  8          'ADCIN resolution  (Bits)
DEFINE ADC_CLOCK 6          'ADC clock source  (Fosc/64)
DEFINE ADC_SAMPLEUS 11      'ADC sampling time (uSec)
  
DEFINE CCP2_REG PORTC         'HPWM channel 2 pin Port C Backlight PWM Driver
DEFINE CCP2_BIT 2             'HPWM channel 2 pin Bit 2   

DEFINE DEBUG_REG PORTB      'Set Debug pin port for Excel logging 
DEFINE DEBUG_BIT 0          'Set Debug pin bit   
DEFINE DEBUG_BAUD 128000    'Set Debug baud rate
DEFINE DEBUG_MODE 1         'Set Debug mode: 0 = true, 1 = inverted   

DEFINE HSER_BAUD 20800        'Set Baud rate to 20800bps
DEFINE HSER_BITS 9            'Set to 9  bit mode
DEFINE HSER_EVEN 1            'Set Even Parity
DEFINE HSER_CLROERR 1       'Clear overflow error automatically
BAUDCON1.4 = 1              'Invert transmitted data as using open collector driver

'*******************************************************************************
'PIC Pinout Aliases
'*******************************************************************************

'Button        var PORTA.0    'Joy Button Input
RedLed       var PORTA.1    'New = RedLED Out / Old = H Line In
'CS          var PORTA.2       'New = CS / Old = H Line Out
'KLineIn    var PORTA.3       'K Line In
'VCore Cap    var PORTA.4       'New = VCore Cap / Old = K Line Out
GreenLed    var PORTA.5       'Green Led Out
PPPOptoOut  var PORTA.6       'New = PPP Out / Old = SCS Line Out
Piezo        var PORTA.7       'Piezo Buzzer Out

'DebugOut   var PORTB.0       'Debug B.0
'Spare1     var PORTB.1       'Spare B.1
'Can TX     var PORTB.2       'Can Tx Pin
'Can RX        var PORTB.3       'Can Rx Pin
'Lcd4        var PORTB.4       'Parallel Lcd4
'Lcd5        var PORTB.5       'Parallel Lcd5
'Lcd6        var PORTB.6       'Parallel Lcd6
'Lcd7        var PORTB.7    'Parallel Lcd7

'LcdRS        var PORTC.0       'Parallel LcdRS Line
'LcdEN        var PORTC.1       'Parallel LcdEN Line
'LcdLight    var PORTC.2       'Parallel Lcd Backlight Control
'SCL         var PORTC.3       'New = SCL / Old = I2CClock Line
'I2CData    var PORTC.4    'New = SDI / Old = I2CData Line
'SDO          var PORTC.5       'New = SDO / Old = Red Led Out
'IpuTxd        var PORTC.6       'New = Ipu Data Output Baud 20800  20800,8,E,1 (Open Collector) / Old = Logger Txd
'IpuRxd        var PORTC.7       'New = Ipu Data Input  Baud 20800  20800,8,E,1 / Old = Logger Rxd     

'*******************************************************************************
'Program Variables
'*******************************************************************************

IpuDataIn VAR BYTE[6]          'Define IpuDataIn as a byte array (6 Bytes)
IpuDataOut VAR BYTE[6]          'Define IpuDataOut as a byte array (6 Bytes)
Counter1 var byte                'Loop Counter1
CheckSum var byte                'CheckSum Calculator
VoltsIn  var word             'IPU/PDU Volts In
VoltsOut var word             'IPU/PDU Volts Out
Tps      var byte             'Throttle Position Value (CAN ID $13A Byte 1)
TpsActivate var byte          'Tps Throttle Activation Threshold ($00-$FF)   
Key      var byte             'ADC Key value
PacketSyncCount var byte      'Holds packet sync counter (Resync every 4 packets)
ArrayStart var byte           'Holds Array index byte start value 0 or 1

FlagsByte var byte            'Holds Program Configuration Flags

KeyFlag   var FlagsByte.bit0  'Bit0 = KeyFlag 0 = Off 1 = On
DispFlag  var FlagsByte.bit1  'Bit1 = DispFlag 0 = Off 1 = On
TestFlag  var FlagsByte.bit2  'Bit2 = TestFlag 0 = Off 1 = On

'*******************************************************************************
'Program Constants
'*******************************************************************************

'Voltage Constants

FixedVoltage con $3370  'Fixed Fake Voltage (115V)
PPPVolts con $2500      'PPP (Peak Power Point) Voltage = ~85 Volts in IPU data format   

'5 Way Button Constants

Press con 64
Up con 192
Right con 235
Down con 107
Left con 150
NoKey con 234

'LCD Control Data Constants

LCM     con 254            'LCD Control Code
LCL     con 1            'Clear Screen
L12     con 128            'Lcd Line 0,0
L22     con 192            'Lcd Line 1,0
L32     con 148            'Lcd Line 2,0
L42     con 212            'Lcd Line 3,0
L52     con 137            'Lcd Line 0,10
L62     con 201            'Lcd Line 1,10
L72     con 157            'Lcd Line 2,10
L82     con 221            'Lcd Line 3,10   

'Misc Constants

ArrayEnd con 5          'End of Serial data 6 byte array. (0-5)

'*******************************************************************************
'Eeprom Retained Data
'*******************************************************************************

'Configuration data

eeprom 0,[%00000000]  'FlagsByte Config Data (8 bits)
eeprom 1,[$E0]        'PPP Hack Activate Point (Default $E0 = 224)

'*******************************************************************************
'**************************** Main Program Start *******************************
'*******************************************************************************   

Start:                                  'Set things up & wait

    Clear                               'Clear all variables 
    
    low PPPOptoOut                      'Turn Off PPP enable optocoupler
    low Piezo                           'Turn Off Piezo
    low GreenLed                        'Turn Off Green Led
    low Redled                          'Turn Off Red Led
    
    read 0, FlagsByte,TpsActivate       'Read Configuration Data From Eeprom
    gosub CanConfig                     'Initialise PIC CAN module 
    
    HPWM 2, 64, 500                       'Start 500hz HPWM LCD Backlight (Duty 0 = Off 255 = FullOn) 
    
    pause 40                            'Wait 40ms for Power to settle     

'***************************** Main Program Loop *******************************   

MainLoop:                               'Main loop start   

    ADCON0 = %00000011                 'Start Key Press ADC conversion on AN0     
    
'****************************** Sync Packets ***********************************     
        
    if PacketSyncCount = 0 then        'Sync Packets
    
    ArrayStart = 1                     'Load byte with Sync Packet ArrayStart index pointer
    HSERIN [WAIT($E6)]                 'Wait for $E6 Sync Packet header byte
    hserout [IpuDataOut(0)]            'Send out previous header byte
    IpuDataOut(0) = $E6                'Update packet header         
    
    else                               'Non Sync Packets
    
    ArrayStart = 0                     'Load byte with Non Sync Packet ArrayStart index pointer
    
    endif       

'****************************** Transfer Data **********************************
 
    For Counter1 = ArrayStart to ArrayEnd    'For Counter1 = ArrayStart(0 or 1) to ArrayEnd(5) (Start 5 or 6 byte loop)   
    
    HSERIN [IpuDataIn(Counter1)]             'Rxd 1 byte   
    Hserout [IpuDataOut(Counter1)]             'Txd 1 byte
    IpuDataOut(Counter1) = IpuDataIn(Counter1)   'Copy Rx data buffer into Tx data buffer
    
    next Counter1                            'Repeat loop until all done 

'******************************** Sync Counter *********************************   

    PacketSyncCount = PacketSyncCount + 1   'Increment Sync Packet Counter   
            
    If PacketSyncCount = 4 then             'Resync with $E6 every 4 data packets
    
    PacketSyncCount = 0                     'Clear counter       
    toggle GreenLed                         'Toggle Green Led every 4 packets
    
    endif
            
'********************************* TPS Stuff ***********************************             
    
    if Tps > TpsActivate or TestFlag = 1 then  'If Throttle > Activate Point or TestFlag = 1 then PPP volts hack On

        high RedLed                        'Turn on Red Led
        high Piezo                         'Turn on Piezo
        high PPPOptoOut                    'Turn on PPP enable optocoupler
          
        VoltsOut = PPPVolts                'Load Volts Out with PPP Voltage 85V             
            
    else                                   'PPP Volts hack Off       

        low PPPOptoOut                     'Turn off PPP enable optocoupler   
          
        VoltsIn.Highbyte = IpuDataIn(1)    'Load Voltage word highbyte from input buffer
        VoltsIn.lowbyte = IpuDataIn(2)     'Load Voltage word lowbyte from input buffer
    
        VoltsIn.Lowbyte = VoltsIn.lowbyte & $70      'Clear Flags lower nibble and clear bit 7             
            
        if VoltsIn > PPPVolts then         'If IPU Voltage Higher than 85V then
        VoltsOut = FixedVoltage            'Set Fixed 115V Volts
        else
        VoltsOut = VoltsIn                 'Pass thru filter capacitor bank rising switch on voltage
        endif
                
    endif 
            
    IpuDataOut(1) = VoltsOut.highbyte      'Load output buffer with modified Voltage word highbyte   
    IpuDataOut(2) = VoltsOut.lowbyte       'Load output buffer with modified Voltage word lowbyte       
      
'************************** Calculate Packet Checksum **************************           
          
    CheckSum = 0                          'Clear CheckSum
    For Counter1 = 0 to 4                  'For Count1 = 0 to 4 (Start 5 byte loop)
    CheckSum = CheckSum + IpuDataOut(Counter1)    'Add Bytes
    Next Counter1                       'Repeat until 5 bytes added
    
    CheckSum = ~ CheckSum               'NOT CheckSum
    CheckSum = CheckSum + 1               'Add 1 to CheckSum
    IpuDataOut(5) = CheckSum & $7F        'AND $7F           

'************************** Rxd Tps CAN Data ID $13A ***************************

    if RXB0CON.7 = 1 then              'Check RXB0CON bit RXFUL to see if RX Buffer Full
          
    Tps = RXB0D1                       'Rxd Tps Data                                             
    RXB0CON.7 = 0                      'Clear RXB0CON.7 to allow reception of next message
            
    endif 
    
'****************** Rxd Ipu Interceptor CAN Command Data ID $205 ***************   
    
    if RXB1CON.7 = 1 then              'Check RXB1CON bit RXFUL to see if RX Buffer Full
    
    TpsActivate = RXB1D1               'Rxd PPP Activation Threshold Data   
    RXB1CON.7 = 0                      'Clear RXB1CON.7 to allow reception of next message
    high RedLed                        'Turn on Red Led
    high Piezo                         'Turn on Piezo
    Write 1, TpsActivate               'Write new data to Eeprom 
        
    endif 
    
'*******************************************************************************
'********************** ADC Buttons Routine & Actions **************************
'*******************************************************************************

    Key    = ADRESH                         'Get Button ADC Value 0-255
    
    if Key > NoKey then                 '>234 = No Key Pressed 
    
    KeyFlag = 0                         'Clear Key Flag
    low RedLed                          'Turn off Red Led
    low piezo                           'Turn off Piezo       
    
    elseif KeyFlag = 1 then             'If a key has been held down ignore it (No autorepeat)
  
    'Do nothing!                        'Ignore Key
    
    elseif Key < Press then             '<64 = Press
    
    high RedLed                         'Turn on Red Led
    high piezo                          'Turn on Piezo
    KeyFlag = 1                         'Set Key Flag (Prevents Auto Repeat)
    Write 0, Flagsbyte,TpsActivate      'Write data to Eeprom       
          
    elseif Key < Down then              '<107 = Down
    
    TpsActivate = TpsActivate - 1       'Decrease TPS PPP Activation point
    KeyFlag = 1                            'Set Key Flag (Prevents Auto Repeat)
        
    elseif Key < Left then              '<150 = Left
    
    DispFlag = ~ DispFlag               'Toggle Display On/Off
    lcdout LCM,LCL                      'Clear LCD Screen
    KeyFlag = 1                            'Set Key Flag (Prevents Auto Repeat)
    
    elseif Key < Up then                '<192 = Up
    
    TpsActivate = TpsActivate + 1       'Increase TPS PPP Activation point
    KeyFlag = 1                            'Set Key Flag (Prevents Auto Repeat)
            
    else                                '<235 = Right
    
    TestFlag = ~ TestFlag               'Toggles PPP 85V Mode On/Off
    KeyFlag = 1                            'Set Key Flag (Prevents Auto Repeat)
    endif         
    
'*************************** Display Stuff & Loop ******************************

    If DispFlag = 1 then lcdout LCM,L12,"T",dec3 Tps," A",dec3 TpsActivate," F",#TestFlag     'Display data           
    
    goto MainLoop                       'Do it all again                         

'*******************************************************************************
' PIC 18F26K80 Can Module Configuration Subroutine
'*******************************************************************************

CANCONFIG:      'PIC CAN Module Configuration Routine

CANCON.7 = 1    'Request configuration mode (looped on CANSTAT)

ConfigModeCheck:    'Loops here if CAN module not ready
if CANSTAT.7 = 0 then ConfigModeCheck   'CAN Module not ready yet

'Set Data Rate based on 32Mhz OSC = 500 kbs:

BRGCON1 = $01   'brp = 7
BRGCON2 = $B8   'freely programmable , sample once, 3TQ seg1,propogation time 1Tq
BRGCON3 = $05   '3TQ seg2

CIOCON  = $30   'bit 5 set, CANtx drives vdd when recessive, bit 4 set,enable CAN capture
ECANCON = $00   'Clear ENHANCED CAN CONTROL REGISTER. No requirement for advanced modes

TXB0DLC = $08   'Set number of data bytes to 8
RXB0DLC = $08   'Set number of data bytes to 8
TXB1DLC = $08   'Set number of data bytes to 8
RXB1DLC = $08   'Set number of data bytes to 8

RXB0CON = %00100000     'Only accept valid messages with standard 11 bit identifier
RXB1CON = %00100000     'Only accept valid messages with standard 11 bit identifier

RXFCON0 = %00000101     'Enable RXF Filter 0 & 2
RXFCON1 = %00000000     'Disable RXF Filters 8 through 15   

'*******************************************************************************
'Set Up RXB0 CAN Standard ID Rx Tps $13A (Byte 01)
'*******************************************************************************

RXF0SIDH = %00100111    '000100111       $13A (Throttle)
RXF0SIDL = %01000000    '010,00000 

RXM0SIDH = $FF;    // Address receive acceptance mask, high byte
RXM0SIDL = $FF;    // Address receive acceptance mask, low byte

'*******************************************************************************
'Set Up RXB1 CAN Standard ID Rx IpuInt $205 (Byte 01)
'*******************************************************************************

RXF2SIDH = %01000000    '01000000       $205 (Ipu Interceptor)
RXF2SIDL = %10100000    '101,00000 

RXM1SIDH = $FF;    // Address receive acceptance mask, high byte
RXM1SIDL = $FF;    // Address receive acceptance mask, low byte     

CANCON = %00000000 'Return to Normal Mode and RX buffer 0

return             'Return from subroutine to main program
 

Attachments

·
Registered
Joined
·
778 Posts
Discussion Starter · #283 · (Edited)
First 'long' 100 mile trip today in 10C+ temperatures to pick up another CR-Z IMA pack for spares and an
under dash fuse box assembly with ELD for tricking the DC-DC into high output mode.

Nothing much really to report. (y)

The OBDIIC&C based IPU Interceptor in the back did not miss a beat.

The dash mounted OBDIIC&C kept the SOC happily within bounds, and it felt just like driving a normal CR-Z except
it had double the IMA Kw power on tap pretty much all the time with much more low down torque in high gears.

IMA efficiency was excellent as Supercaps are much lower internal resistance than ancient Nimh sticks so less IMA wasted energy.
 

·
Registered
Joined
·
27 Posts
Sounds like great progress! I assume with double the assist the difference was quite noticeable?

What are your plans next?
 

·
Registered
Joined
·
4 Posts
First 'long' 100 mile trip today in 10C+ temperatures to pick up another CR-Z IMA pack for spares and an
under dash fuse box assembly with ELD for tricking the DC-DC into high output mode.

Nothing much really to report. (y)

The OBDIIC&C based IPU Interceptor in the back did not miss a beat.

The dash mounted OBDIIC&C kept the SOC happily within bounds, and it felt just like driving a normal CR-Z except
it had double the IMA Kw power on tap pretty much all the time with much more low down torque in high gears.

IMA efficiency was excellent as Supercaps are much lower internal resistance than ancient Nimh sticks so less IMA wasted energy.
Hi Peter,

Excellent work as usual.
Can I ask what modes you were in (Econ/Normal/Sport), how hard you were booting it & what kind of MPG is it reporting?

Cheers
Mark
 

·
Registered
Joined
·
778 Posts
Discussion Starter · #286 ·
I was in 'normal' mode for the entire journey. I didn't think to select sport today. :unsure:
MPG 50+ on the run.. I was going fairly steady away in reasonable weather conditions.

I usually have 5 xmas trees or whatever they are all the time unless really working it hard.
I'm a pretty economical older driver (58) having driven a G1 Insight for the last 15 years.

Plans? who knows....

I do want to experiment with other Lithium cell packs and push the voltage and current higher.
I want 30kw+ out of it eventually.. :eek:
I would also like to put it back together a bit and use it properly when lockdown ends for some holiday road trips.

I also want to get more information from the car and take control of the IMA to allow a manual control/override IMA mode.
(A stab at manual IMA control is probably next on the list if lockdown continues much longer)

That would be a very significant breakthrough and give a big boost in performance even with the voltages etc we are running now.
We would be able to max out the assist at 100% for as long as we wanted at any throttle setting or until the battery is empty..

Currently the car will be cutting or limiting assist as it sees fit, and we don't have any control over it. (n)
 

·
Registered
Joined
·
778 Posts
Discussion Starter · #288 · (Edited)
Nothing much to report apart from the Supercaps seems stable, powerful, and it all works without fuss. (y)

I'm looking at building yet another Lithium pack when the cells arrive from the US LOL.
Based on nice powerful OEM Honda Lithium cell packs from the G3 Lithium Civic.

See the battery options thread for details..

CRZ Nimh to Lithium Conversion Battery Options and Ideas.

Still waiting to pick up a CR-Z lithium complete IMA so I can look at the comms between the controller and BMS boards.

Currently working on the IMACAN bus and manual IMA control in between unavoidable proper paying IMA work.... :rolleyes:
 

·
Registered
Joined
·
778 Posts
Discussion Starter · #289 ·
The brand new OEM Honda lithium packs from the prev post should be with me in a couple of weeks!

So my cunning plan is....

Each super low IR cell has a range of 2.7-4.2V and a capacity of about 5ah.
That's five time as much capacity as my excellent Supercaps!

A 40S pack charged between 2.75 and 4.15V would give a voltage range of 110-168V
A 36S pack would give a voltage range of 99-150V
(150V is the OEM DC-DC cutoff anyway so probably the best fit to avoid too much messing about.)

1p would be 5ah or 2p 10ah capacity.

I can use a spare set of CR-Z Lithium BMS boards I have kicking about to read the voltages,
or use an Orion2 commercial BMS I have sitting on the shelf ;)

I suspect it will be fairly easy to fit say 36 or 40 cells into the OEM space. (2x18S or 3x12S) (y)
 

·
Registered
Joined
·
778 Posts
Discussion Starter · #291 · (Edited)
I need more voltage. :devilish:

The 150V peak supercap setup will give 20kw all day long now at the flick of the joystick or wot if the pack voltage is high enough.

But to push higher powers I simply need more system voltage to overcome the motor back emf that is generated as rpm quickly rises.

So the next Lithium pack will be a higher voltage one.
Possibly upto 168V (40S) which might gain me a couple more kw.

I will have to revisit the OEM dc-dc converter 150V limit, so might do some work on the one on the bench to see if I can make it operate 20 or 30V higher.
I don't really want to shoehorn the HCH2 Civic one in although that does work fine. :unsure:
 

·
Registered
Joined
·
55 Posts
I had the chance of ride in Peter's car this week. There is a noticeable increase in acceleration over my stock Z. The wave of torque that the IMA delivers reminded me of the way the turbo kicked in on an Impreza WRX I owned a number of years ago.

If power gains from induction and exhaust mods are the icing on the cake, more power from the IMA isn't more icing on the cake, it is more cake :cool:. It has certainly got me thinking about looking into it seriously myself.
 

·
Registered
Joined
·
778 Posts
Discussion Starter · #293 · (Edited)
Fingers crossed my big batch of OEM Honda Lithium cells/packs should arrive today from the US. :cool:
I got a job lot (240 x 5ah cells total) as part of a fantastic surplus sell off deal that someone on Insight central spotted.

So another lithium pack build beckons while I'm waiting for the IMAC&C pcb to be finished. o_O
I have an unused Orion 2 BMS kicking about so will probably use that to monitor this new pack.
That dump cell data on the FCAN line so I can pick it up with my OBDIIC&C device at the front as normal.
 

·
Registered
Joined
·
778 Posts
Discussion Starter · #296 · (Edited)
First pack thoughts and 12 cell block disassembly weight size/comparison .....


I'm hoping to pick a complete OEM CR-Z IMA assembly in the next week or so.
I want to do some work on the balancing comms between the MCM and the BMS boards before I launch into this new pack build.
I'm already juggling quite a few projects and spinning several plates including the IMA manual control.
 

·
Registered
Joined
·
4 Posts
First pack thoughts and 12 cell block disassembly weight size/comparison .....


I'm hoping to pick a complete OEM CR-Z IMA assembly in the next week or so.
I want to do some work on the balancing comms between the MCM and the BMS boards before I launch into this new pack build.
I'm already juggling quite a few projects and spinning several plates including the IMA manual control.
Hi Peter
I’ve been following your advice and am about to build a charger for my IMA battery however the led drivers I’ve had delivered say 300mA and I noticed yours are 280mA. Just wondered if mine would still be ok. Would be great full for your advice. Thanks Dave
 

·
Registered
Joined
·
778 Posts
Discussion Starter · #298 · (Edited)
Hi Peter
I’ve been following your advice and am about to build a charger for my IMA battery however the led drivers I’ve had delivered say 300mA and I noticed yours are 280mA. Just wondered if mine would still be ok. Would be great full for your advice. Thanks Dave
Hi. Wrong thread but they should be fine.. ;)

MOD can you move these two posts to the Charger thread please..
 

·
Registered
Joined
·
778 Posts
Discussion Starter · #299 ·
I'm picking up the OEM CR-Z Lithium pack and some other parts tomorrow.
It will be interesting to see the differences, and what I can make work in my NIMH car..

Can the IPU (IGBT) module be swapped?
Does it have a higher voltage rating?
Ditto the DC-DC..
Is the COMMS between the ECM and MCM the same.
Can we decode the cell balancing comms between the MCM and the Cell BMS modules?

Lots of questions and research beckons..
 

·
Registered
Joined
·
358 Posts
I am really curious how it will turn out with the OEM lithium pack. This will be good to know when my NIMH pack ever dies.
 
281 - 300 of 332 Posts
Top