PIP-4048MS inverter

Introductions, general chit chat and off-topic banter.
dinu_tiberiu_george
Noobie
Posts: 2
Joined: Sun, 08 Oct 2017, 01:11
Real Name: Dinu Tiberiu George

Re: PIP-4048MS inverter

Post by dinu_tiberiu_george » Fri, 10 Nov 2017, 07:33

Hy,
I have connected 2 5048ms inverters in parallel, and i need to set up the charging current of the inverters. Maximum charging current for my batteries is 40amps. I need to set up each inverter to 20amp resulting a total 40amp? Or only set up the master unit to 40amp? Thx in advance

User avatar
weber
Site Admin
Posts: 2239
Joined: Fri, 23 Jan 2009, 17:27
Real Name: Dave Keenan
Location: Brisbane
Contact:

Re: PIP-4048MS inverter

Post by weber » Fri, 10 Nov 2017, 08:02

dinu_tiberiu_george wrote:
Fri, 10 Nov 2017, 07:33
Hy,
I have connected 2 5048ms inverters in parallel, and i need to set up the charging current of the inverters. Maximum charging current for my batteries is 40amps. I need to set up each inverter to 20amp resulting a total 40amp? Or only set up the master unit to 40amp? Thx in advance
You need to set the maximum charging current separately on each inverter, so that they total 40 amps.
One of the fathers of MeXy the electric MX-5, along with Coulomb and Newton (Jeff Owen).

sjbw
Noobie
Posts: 1
Joined: Fri, 10 Nov 2017, 13:56

Re: PIP-4048MS inverter

Post by sjbw » Fri, 10 Nov 2017, 13:59

Will this work with the hybrid-v series?

User avatar
coulomb
Site Admin
Posts: 3029
Joined: Thu, 22 Jan 2009, 20:32
Real Name: Mike Van Emmerik
Location: Brisbane
Contact:

Re: PIP-4048MS inverter

Post by coulomb » Fri, 10 Nov 2017, 14:15

sjbw wrote:
Fri, 10 Nov 2017, 13:59
Will this work with the hybrid-v series?
No. These operate very differently, so they can't use the same firmware.

If you are asking could something similar be done with the V series, I suppose that's possible, but Weber and I won''t be doing it.
Learning how to patch and repair PIP-4048 inverter-chargers and Elcon chargers.

User avatar
coulomb
Site Admin
Posts: 3029
Joined: Thu, 22 Jan 2009, 20:32
Real Name: Mike Van Emmerik
Location: Brisbane
Contact:

Re: PIP-4048MS inverter

Post by coulomb » Fri, 10 Nov 2017, 14:18

I have re-drawn the power topology schematic from this post, to reflect the details of the actual PIP-4048 circuit. You can see the original and modified partial schematics side by side in the original post.

[ Edit: Inverter switches now drawn as IGBTs; renumbered. ]
[ Edit: Redrew IGBT diodes to better suggest that they are internal (same package as the actual IGBT). Renumbered QA1 to QD2. ]
Attachments
PIP power stages.png
PIP power stages.png (40.81 KiB) Viewed 157 times
Learning how to patch and repair PIP-4048 inverter-chargers and Elcon chargers.

ghatikar
Noobie
Posts: 2
Joined: Thu, 28 Sep 2017, 23:31
Real Name: Anil Ghatikar

Re: PIP-4048MS inverter

Post by ghatikar » Fri, 10 Nov 2017, 23:15

I have a PIP MS4048 x 2 parallel setup and a Spare 4048 :D

Do I have to sacrifice the USB( serial port) to BMS connectivity? Or Can I connect BMS to one inverter and ICC to another inverter.

Does the BMS have to connect to master only or can be connected to slave - The master and slave in Axpert change dynamically depending which one was switched first

User avatar
weber
Site Admin
Posts: 2239
Joined: Fri, 23 Jan 2009, 17:27
Real Name: Dave Keenan
Location: Brisbane
Contact:

Re: PIP-4048MS inverter

Post by weber » Sat, 11 Nov 2017, 07:52

ghatikar wrote:
Fri, 10 Nov 2017, 23:15
Do I have to sacrifice the USB( serial port) to BMS connectivity? Or Can I connect BMS to one inverter and ICC to another inverter.

Does the BMS have to connect to master only or can be connected to slave - The master and slave in Axpert change dynamically depending which one was switched first
Thanks ghatikar. Those are excellent questions. Although we have not tested it, we have every reason to believe that it does not matter which inverter the BMS is connected to, for the purpose of dynamically controlling the charge current. It can be the master or any of the slaves. That is certainly our intention, for the very reason that you gave. If this turns out not to be the case, this will constitute a bug in our patches that we will fix.

I don't know what an ICC is, but assuming it too doesn't care whether it is talking to a master or a slave then yes, you can connect the BMS to one inverter and the ICC to another.

I note that every MNCHGC command must contain a machine number (a single digit between 0 and 8). The machine receiving the MNCHGC command on its serial port, compares that with its number. If they are the same, it deals with it locally. If different, it sends a message on the CAN bus to all the other inverters who then do the same comparison and either deal with it or ignore it.

For example, in a parallel system with two inverters, the BMS will need to send both a MNCHGC0<nnn> command and a MNCHGC1<nnn> command. If the BMS wants to reduce the total current to 2 amps towards the end of charge, it could send MNCHGC0501 and MNCHGC1501. To reduce the total current to 1 amp, it could send MNCHGC0500 and MNCHGC1501.

The dynamic current control manual mentions that the current can't be changed more often than once every 2 seconds. But that is for a given inverter. It is not a limitation on how often a MNCHGC command can be sent. So in a system with two inverters, a MNCHGC command might be sent every second, provided the machine number alternates between 0 and 1, and provided each command is acknowledged before the next is sent.

If MNCHGC commands are addressed to the same inverter more often than every 2 seconds, nothing bad happens. Some of the MNCHGC commands will simply have no effect, even though they may be acknowledged. The 2 second limitation is due to the internal communication between an inverter's main processor and the secondary processor in its solar charge controller, and our decision not to patch the SCC firmware.

Some serial commands, such as the voltage setting commands PCVV, PBFT and PSDV, do not take a machine number as an argument in the way that MNCHGC and QPGS do, but they automatically get applied to all machines, no matter whether the machine receiving them is a master or a slave.

Other commands, such as QPIRI, that do not take a machine number, only return information about the inverter whose serial port the command is received on. But it doesn't matter whether that machine is a master or a slave. The issue in that case is not master versus slave, but local versus remote.
One of the fathers of MeXy the electric MX-5, along with Coulomb and Newton (Jeff Owen).

paulvk
Groupie
Posts: 125
Joined: Fri, 23 Oct 2015, 23:45
Real Name: Paul
Location: Sydney

Re: PIP-4048MS inverter

Post by paulvk » Sun, 12 Nov 2017, 10:27

With parallel inverters the current settings are not linked I have to set charge settings on each individually in a way I can see some reasoning behind this
The SCC may have different numbers of panels
The AC chargers may not all have grid/generators attached
But it could have been another command for each that sets them all the same.
I think there is enough work to get the bugs sorted without going to more commands.

andys
Groupie
Posts: 62
Joined: Wed, 20 Jul 2016, 19:44
Real Name: Andrew Snow
Location: Sydney

Re: PIP-4048MS inverter

Post by andys » Sun, 12 Nov 2017, 11:53

Thanks for the hard work. I am looking forward to trying it out.

My usage is likely to be to default the current to zero (for safety / full battery), and have the BMS set maximum possible charge current when the battery is not full, and not really anything in between.

User avatar
coulomb
Site Admin
Posts: 3029
Joined: Thu, 22 Jan 2009, 20:32
Real Name: Mike Van Emmerik
Location: Brisbane
Contact:

Re: PIP-4048MS inverter

Post by coulomb » Mon, 13 Nov 2017, 16:06

weber wrote:
Fri, 06 Oct 2017, 08:00
hennejg wrote:
Thu, 05 Oct 2017, 04:03
Somewhere you mentioned that you sniffed the traffic between SCC and main controller. Is this data available anywhere?
No. That method was long ago superseded by coulomb reading the disassembled code, for both the main controller and the SCC, to find out what they send to each other.
Actually, for debugging our dynamic current control code we found it necessary to re-create the sniffing hardware. Here is the schematic for what we used.

SCC IO.png
SCC IO.png (32.54 KiB) Viewed 111 times
The IFO LEDs mentioned above are Industrial Fibre Optic connectors, as used in our LyteFyba Battery Management System.

In case you're interested in what the traffic looks like, here is a short sample, from DSP to SCC:

Code: Select all

RSTq3                                                                                     
RSTq3                                                                                     
(PI99äé                                                                                   
(ACK9                                                                                     
(RI048.0 12.0 04 060.0 055.2 053.7 060.0 065.0)å                                          
(GS00 000.0 051.5 000 0000 0001 0 10©                                                     
(GS01 000.0 051.4 000 0000 0001 0 10Åí                                                    
(GS01 000.0 051.4 000 0000 0001 0 10Åí
The above is a startup sequence. RST is the "reset" command from the DSP; the remaining traffic is responses to SCC commands. "(PI99" is a response to the QPI99 command. The ACK (acknowledgement) is a response to the VERFW command, which contains the SCC's firmware version. The RI response tells the SCC some settings. Similar RI responses, in place of later GS responses, are use for dynamic current control. Finally, the remainder of the traffic will be GS responses, which contain measurements.

Here is a startup sequence from the SCC to the DSP:

Code: Select all

QPI99Q
VERFW:0004.10
QRIÏ+
QGS092.8 54.06 013.9 000 0026 0026 0 11 000000000Q
QGS090.7 54.12 015.6 000 0026 0026 0 11 00000000Ü%
QGS087.3 54.19 016.9 000 0026 0026 0 11 00000000zu
[ Edit: Mentioned what IFO LEDs are and linked to LyteFyba topic. ]
Learning how to patch and repair PIP-4048 inverter-chargers and Elcon chargers.

User avatar
weber
Site Admin
Posts: 2239
Joined: Fri, 23 Jan 2009, 17:27
Real Name: Dave Keenan
Location: Brisbane
Contact:

Re: PIP-4048MS inverter

Post by weber » Mon, 13 Nov 2017, 21:46

Referring to the DSP <-> SCC comms in Coulomb's post above: We implement dynamic current control by occasionally sending an unsolicited RI packet in place of a GS packet. But as well as sending the required current setting in the appropriate field of the RI packet, we have to put a deliberate bad value in one of its later fields to exploit a loophole in the SCC code, to make the SCC accept the new current setting without stopping charging. And to obtain currents below 10 amps we also have to fiddle the current measurement sent in the GS packets, and set some flags to tell the SCC that AC charging is on, when it isn't really.

And that isn't the end of the packet fiddling. I'll spare you the details, but suffice it to say that during development it seemed like every time we fiddled a field in one of the packets, we'd be sure that it would do the job, and then on testing we'd despair when it still didn't work. It seemed like the software gods were tormenting us. But we were determined not to patch the SCC code, only the DSP. We were close to giving up, several times, but then we'd analyse the SCC code some more and realise we could fix the latest problem by fiddling some other field of either the RI or GS packet to compensate. But on testing, we'd find it still didn't work fully. This sequence of events was repeated 5 times, over a number of weeks, before it finally worked in all cases!

In the end we had written 16 short subroutines, called from 20 locations in the original code, just to implement dynamic current control. Then, to allow a zero EEPROM setting of current, and to improve the accuracy of current reporting, required another 8 subroutines, and a table of allowed current values, patching another 15 locations in the original code.
One of the fathers of MeXy the electric MX-5, along with Coulomb and Newton (Jeff Owen).

User avatar
weber
Site Admin
Posts: 2239
Joined: Fri, 23 Jan 2009, 17:27
Real Name: Dave Keenan
Location: Brisbane
Contact:

Re: PIP-4048MS inverter

Post by weber » Sat, 18 Nov 2017, 19:10

Oh joy. Oh bliss. :)

Some of you may remember back in February, that one of my PIPs blew up when I turned on a vacuum cleaner, although that had been done many times before with no problems.

Well, that PIP is working again at last! And not only working, but running the latest beta patched firmware in parallel with my other PIP. Hoorah!

Many thanks to Coulomb for all the hours he put into fixing it. We learned a lot -- some of which has appeared as the schematics Coulomb has posted above.

You might well ask what took us so long? It was partly that there were more urgent or interesting things to work on, and partly that we tried to fix it 2 times previously and failed! My memory is a bit hazy about the first two times. Coulomb might correct me. I think the first time, we replaced the battery-side MOSFETs and various of their blown driver components. We also took the opportunity to do our usual upgrade to 80 V long-life low-impedance caps and 100 V MOSFETs. But it went bang again on test. We found MOSFETs blown again, but this time we noticed two of the sine-wave-bridge IGBTs were blown too, and assumed that they had been blown all along.

Probably those IGBTs went first when the vacuum cleaner was turned on, and their shorting took out the MOSFETs. We also checked driver components much more carefully, for both the IGBTs and MOSFETs, and replaced some more MOSFET driver parts. We replaced all four sine-wave IGBTs, but only replaced the half of the MOSFETs that were actually blown. This time it didn't go bang, but it didn't work either. We got the usual "09" fault code, which translates to "bus soft start fail". This time we found that the MOSFETs were fine but the new IGBTs had blown. We pored over their driver circuitry again but could find nothing wrong.

We decided to replace the T350 opto-isolated driver chips just in case, so I ordered them, and more of the same IGBTs. These were IRGP4066PBF. Soon after, Coulomb posted a schematic that included the sine-wave-bridge IGBTs, and I noticed he didn't have designators for the associated diodes. So I went to find them on the circuit board so I could tell him what they were, because I knew from the datasheet that the IRGP4066 did not have built-in diodes. But I couldn't find any such diodes on the board. And then it dawned on me. Oh $#!+.

The IGBTs were supposed to have built-in diodes! I checked the service manual and saw that the IGBTs were described as IRGP4066DPBF. I had foolishly assumed the entire string of letters on the end was irrelevant. But it turns out that "D" is real important!

So then I ordered the right IGBTs. Actually I ordered some with a higher voltage rating (650 V instead of 600 V), but the same or better specs otherwise -- the IRGP4790DPBF. I installed them today, along with the new drivers (just in case).

When I was cleaning off the flux around the IGBT pads after soldering, I noticed a thin black line between gate and drain of one of the IGBTs. As I scraped at it, I realised it was underneath the conformal coating. I believe this was the cause of the original failure. I suspect 2.5 mm is barely enough creepage for 450 V dc. I removed the conformal coating, scraped off the black tracking, cleaned with solvent and re-sprayed with conformal coating. We shall see how it fares in the years ahead.
One of the fathers of MeXy the electric MX-5, along with Coulomb and Newton (Jeff Owen).

Post Reply