diy solar

diy solar

DIY 'Chargenectifier'

hi i have purchased two of emerson r48-3000e3 and i am trying to program them to supply a constant 55.2v at around 40 amps. i have a can adapter talking to them and using cangaroo i can see data being sent from them. however i have no idea about what commands i need to send to get them to change to the voltage and current i want. any help would be gratefully recieved thanks
 
thanks for replying.. i not sure what to do though. do i need to run the python script? if so what software do i use ?
 
thanks for replying.. i not sure what to do though. do i need to run the python script? if so what software do i use ?

No, I was just thinking you can check the commands from that code. For example have a look at the function to set the voltage:

Code:
# Set the output voltage to the new value.
# The 'fixed' parameter
#  - if True makes the change permanent ('offline command')
#  - if False the change is temporary (30 seconds per command received, 'online command', repeat at 15 second intervals).
# Voltage between 41.0 and 58.5V - fan will go high below 48V!
def set_voltage(channel, voltage, fixed=False):
  
    if voltage < 41.0 or voltage > 58.5:
        print('Voltage should be between 41.0V and 58.5V') 
        return

    bus = can.interface.Bus(bustype='socketcan', channel=channel, bitrate=125000) 

    b = float_to_bytearray(voltage)

    p = 0x21 if fixed == False else 0x24
  
    msg = can.Message(
        arbitration_id=arbitrationid, data=[0x03, 0xF0, 0x00, p, b[0], b[1], b[2], b[3]], is_extended_id=True
    )
      
    try:
        bus.send(msg)
        print(f"Voltage set on {bus.channel_info}")
    except can.CanError:
        print("Voltage NOT set")

You can see that the CAN message looks like this:

Code:
msg = can.Message(
        arbitration_id=arbitrationid, data=[0x03, 0xF0, 0x00, p, b[0], b[1], b[2], b[3]], is_extended_id=True
    )

The arbitration_id is the address, this will be be 0x0607FF83 or 0x06080783 (defined at the top of the file).
The data sent is the combination of 0x03, 0xF0, 0x00, p, b[0], b[1], b[2], b[3]

Here p = 0x22 if you want to set the voltage temporarily (30 seconds), or 0x19 if you want to set the voltage fixed.

The combination of b[0], b[1], b[2], b[3] is the value you want to set the voltage to, as in a conversion of floating point to bytes. You can do that with e.g. this site manually: https://gregstoll.com/~gregstoll/floattohex/
Thus in your case, 55.2V floating point is 0x425ccccd, with the bytes being 0x42, 0x5C, 0xCC 0xCD
The extended ID indicates that this uses the larger CAN address - you can set that checkbox in your terminal program.

So all you have to do is put the following in your terminal:
- check the extended ID checkbox
- put 0607FF83 as the address
- DLC is the length of the message, 8 bytes for these
- put your data bytes: 03 F0 00 19 42 5C CC CD
- press send

You should now be able to see the output voltage go to 55.2V with a multimeter.
 
Success that worked thank you..what would I need to send to make the max amps 40(trying to limit the amount of stress on the device) thanks
 
40A is around like 80% or so, so your data looks like this:

03 F0 00
19
3F 4C CC CD

You can find the details again in the code. The lower 4 bytes is 80/100 in hex, so 0.8. You can try other values to see if they come closer to your desired output.

You can also limit the input current (on the AC side). Again, check the code for the details.
 
If the AC input current is reduced does this reduce the output DC voltage/current?
 
It reduces the output power it can deliver, so essentially you can control the output power by limiting the input. The output voltage will be whatever you set it at, until you go into constant current.
 
It reduces the output power it can deliver, so essentially you can control the output power by limiting the input. The output voltage will be whatever you set it at, until you go into constant current.
You seem to understand how these rectifier’s work so clearly that I have a question for about how they exactly what will happen when they are ‘floating’ a 48V LiFePO4 battery just above empty (50.0VDC):

Battery above 50VDC there will be 0W charge current with Rectifier voltage set at 50.0V, correct?

Starting at some modest voltage above 50.0VDC is a constant 333W / 6.67A is being drawn by an inverter to power loads, voltage will slowly decrease from >50.0V to <50.0V at which time the 50.0V limit of the Rectifier should allow it to start delivering charge current at 50.0V, correct?

So does that mean the rectifier will ‘wake up’ in CV mode and will provide just the 6.67A / 333W of charge current needed to maintain a battery voltage of 50.0V?

Assuming I’ve got this correct, I’ve got another question about lower discharge levels: 333W is greater than the rectifier minimum of 250W, but what happens when discharge rate is lower than 250W, let’s say 100W? Is there some minimum charge interval and it will just duty-cycle 250W @ 75% to maintain an average of 100W?
 
Battery above 50VDC there will be 0W charge current with Rectifier voltage set at 50.0V, correct?

Yes, just like a power supply.

at which time the 50.0V limit of the Rectifier should allow it to start delivering charge current at 50.0V, correct?

Yes, again just like a typical power supply would.

So does that mean the rectifier will ‘wake up’ in CV mode and will provide just the 6.67A / 333W of charge current needed to maintain a battery voltage of 50.0V?

Yes, pretty much.

rectifier minimum of 250W

Where did you read this? There shouldn't be a minimum power output. I'm pretty sure I powered devices at much lower power with these. You can even set the output current limit to 1A.
 
Yes, just like a power supply.



Yes, again just like a typical power supply would.



Yes, pretty much.
Great - thanks.
Where did you read this? There shouldn't be a minimum power output. I'm pretty sure I powered devices at much lower power with these. You can even set the output current limit to 1A.
I saw that the efficiency curve starts at 10% and assumed 250W or 300W was the minimum below which output current was 0A.

If that is not the case and output power can be set as low as 1% / 25W (or even lower), efficiency must be much worse than 89% but at least I understand how the rectifier can float a battery under variable load.

My loads average 333WDC but never drop under 28WDC and never exceed 650WDC for more than a few minutes.

So once battery is depleted to 50.0VDC, the average drain of 333WDC will be supplied at ~89% efficiency meaning 374WAC, the few minutes of 667WDC drain will be supplied at ~94% efficiency meaning 709WAC and the occasional spells of 28WDC drain will be supplied at ~83% efficiency (assuming linear extrapolation) meaning 34WAC.

Factoring in my inverters 90% efficiency, I’ll losing 74WAC on average with occasional losses deceasing to 59WAC when discharge increases to 667WDC and decreasing even further to 9WAC when discharge drops to only 28WDC.

It’s simple and pretty failsafe and average round-trip efficiency of 24.7% is probably acceptable.

If I want to get fancy, I could rig up a PLC to run the rectifier at a 15% duty cycle (eg: 1-1/2 minutes ON 8-1/2 minutes OFF) along with limiting output power to 67% / 2000W.

That should cut down average charging efficiency losses to a best-possible 4.5% for round-trip losses of 14% which would translate to savings of 281.2kWh annually.

At wholesale compensation rates, this 281kWh savings translates to only $22 annual, so probably not worth worrying about until I find myself out of power and looking for a bit more.

Would you have any concerns duty-cycling one of these rectifiers at a rate of 6 or 12 times per hour 24/365?
 
No, these things are built to take a beating. I had one fail on me way back, and that was a blown capacitor - which was an easy fix.
Great, thanks.

Do you think I have it right that charging at 67% / 2000W with a 15% duty cycle will get me close to the maximum 95.5% charging efficiency or are there other losses associated with startup that make that a silly idea?
 
I wonder if it would be safe to use a Shelly 1PM to power these up and down, they are supposed to support upto 16A, usual current should be 13-14A.

Give me the ability to use home assistant to monitor power draw and shut it off when my peak rates start.

Would a 63A DC breaker have enough room on the output side? at 3000W/53.6V = 56A.

I haven't seen on any of the listing for the breakout boards but are the DC outputs M6 or M8?
 
Watching this thread with interest.

Just ordered an R48-3000e3 on AliExpress, only 927 units left!

Do you need a blocking diode on the output when using these chaps as a charger to prevent back feeding?
 
Watching this thread with interest.

Just ordered an R48-3000e3 on AliExpress, only 927 units left!

Do you need a blocking diode on the output when using these chaps as a charger to prevent back feeding?

No need for a blocking diode. These act just like a power supply: once the voltage of the battery rises, the supply considers the load gone.

Better hurry up if there are only 927 units left :p
 

diy solar

diy solar
Back
Top