Some more info when you to play with the flatpacks.
I used this information on my flatpack charger to limit the output current to be able to use the charger on "less potent power outlets" like for example on a camping ground.
Without the current limiting the rectifier draws 1800 + 2000 Watt's = 3600 Watt and that's about 16 Amps on 230 Volts. Many camping grounds or even regular outlets with other appliances on the circuit would not be able to handle that. Plus you have to have the bike on to engage the contactor.
With the following information I can set the current limit on the flatpack rectifiers to any thing i want. I've chosen to switch between current limits of 10A, 20A, 30A and 40A.
This way i can use the onboard charger (1300Watt) only on 6A circuit (onboard charger at 230 Volts draws 6A)
I can use the onboard charger + flatpacks on 10A charge current for a total of 2300 Watts on a 10A circuit
I can use the onboard charger + flatpacks on 20A charge current for a total of 3500 Watts on a 16A circuit
This is all for single phase applications.
With the mennekes type 2 connector I can set the flatpack charger to 40A (1800+2000 Watt) and use the onboard charger as well for 5kW of charging power (1800+2000+1300)
For even faster charging on the type 2 mennekes I can connect the second pair of flatpacks (2x2000W) to reach 9.1 kW.
I also shared this info on the endless-sphere forum in the topic with the flatpack rectifiers
https://endless-sphere.com/forums/viewtopic.php?f=14&t=71139&p=1204856#p1204856Some more info about the Flatpack communication protocol. This works for both a Flatpack 2 HE and a Flatpack S
0x05014400
During walk-in (the period where the voltage builds up slowly) the rectifier periodically (every 10 seconds or so) sends out the following message when it's not logged in :
05014400 is the identifier and the serial number is the message followed by 00 00
Walk in can be chosen to be either 5 seconds long or 60 seconds long. For charging my Zero I have opted for the 60 second walkin. It helps current spike when plugging in.
So in case of of my rectifier (ser nr 141471110820) it is
0x05014400 0x14 0x14 0x71 0x11 0x08 0x20 0x00 0x00 (all HEX numbers)
If you respond ONCE with 0x05004804 0x14 0x14 0x71 0x11 0x08 0x20 0x00 0x00 (serial number + 2 bytes 00) the rectifier sends out exactly 64 messages with the status every 0,2 seconds (or so) before reverting to sending 0x05014400 again every 10 seconds without status messages. If you send the same 0x05004804 again before those 64 messages are up, the rectifier sends out another 64 messages. So in summary, if you send the response command at least every 10 seconds the rectifier stays logged in and keeps sending status messages.
the status messages are (like described earlier in the thread) :
0x05014010 AA BB CC DD EE FF GG HH where
AA is the intake temperature in Celcius
BB is the output current Low Byte
CC is the output current High Byte. the current high and low byte combined give the current in deci amps (* 0.1 Amp)
DD is the output voltage Low byte
EE is the output voltage High Byte. the voltage high and low byte combined give the voltage in centivolts (* 0.01 Volt)
FF is the input voltage Low Byte
GG is the input voltage High Byte. the input voltage high and low byte combined gives the AC input voltage in volts
HH is the output temperature in Celcius
after the walk in period is reached the status messages change to :
0x05014004 AA BB CC DD EE FF GG HH when the rectifier is in normal (Constant voltage) mode
0x05014008 AA BB CC DD EE FF GG HH when the rectifier is in Constant Current mode (current-limiting)
0x0501400C AA BB CC DD EE FF GG HH when the input voltage is low (mains plug pulled)
however, during this stage every 10th message is different. The rectifier sends out a message :
0x0500NNPP 1B JJ KK LL MM NN PP 00
NN and PP are the last 2 bytes of the serial number. This has stumped me during diagnostics. I had my code perfect for 1 rectifier and the other was different. Unit i had the messages from 3 rectifiers and i saw the common link
The 1B as the first byte of the message is sometimes a 1C (don't know why).
I believe this is a request from the rectifier to keep being "logged in"
So in short
when the identifier starts with 0x0500 you have to reply with serial number which is containd in the message (do keep in mind that with a 0x05004400 the serial number is the first 6 bytes of the message and with 0x0500NNPP the serial number is the second till the seventh byte (shifted 1 byte)
when the identifier starts with 0x0501 it's a status message (and even the identifier shows different statuses)
All the above is just to keep being logged in and receive status messages.
There are (as explained earlier in the thread also ways to control the rectifier)
If it has send a message 0x05004400 or 0x0500NNPP (NNPP last 2 bytes of serial number) you can respond with a message to alter the voltage and even the maximum current setting.
First you have to send a response 0x05004804 with the serial number as message (just to keep it logged in)
Second you send the message
0x05FF4004 AA BB CC DD EE FF GG HH where
AA is the max current Low Byte
BB is the max current High Byte
CC is the voltage measured Low Byte (set it the same as the desired voltage Low byte)
DD is the voltage measured High Byte (set it the same as the desired voltage High byte)
EE is the desired voltage Low byte
FF is the desired voltage High byte
GG is the over voltage protection Low byte
HH is the over voltage protection High byte
example
If i send 0x05FF4004 0x64 0x00 0x44 0x16 0x44 0x16 0x3E 0x17
it sets the max current to 10.0 amps (0064 in HEX is 100 is 10.0 Amps)
it sets the voltage output to 57.0 Volts (1644 in Hex is 5700 is 57.00 Volts)
it sets the over voltage protection limit to 59.5 Volt (173E in Hex is 5950 is 59.50 Volts)
I Think the rectifier remembers this setting as long as it's logged in, so in theory you would only have to send this command once (but keep sending the log in command periodically (0x05004804 with the serial number)
The 0x05FF4004 is for a 5 second walk in period (after 5 seconds the output voltage reaches it's target voltage)
if you substitute this with 0x05FF4005 (last 4 change to a 5) the walk in period will be 60 seconds. This is stored in non volatile memory and is active from that moment on every time you switch on the rectifier.
I send the command for the max current and output voltage every time I see a log in request (identifier starts with 0x0500) As said this probably is not necessary but I do switch the canbus to another rectifier sometimes so I have to send it more often.
Also keep in mind that if the rectifier loses contact with the controller (i.e. you don't send any answers) the rectifier will revert to it's original settings (default voltage and maximum current)
For those interested I have changed the code on my arduino as follows. It has automatic serial number detection and status message decoding. I've optimised it as far as possible with my average programming skills but is does the job I want it to do. It has an LCD for showing the message (2x16 characters), it shows any unknown identifier and message (which i have not seen yet), and has a pushbutton to control the maximum current. It sets it initially to 10.0 amps and with every push of the button it adds another 10 Amps. After it has reached 40 Amps and you push the button again it reverts back to 10.0 Amps. The display shows the chosen current output.
Happy Tinkering All