Archive for April, 2010
Optimal String Sizing for PV Systems
by mark on Apr.23, 2010, under Solar
Optimal string sizing for a given inverter can improve your return on investment.
As an example, I will use my system as an example. The PVI-5000-OUTD-AU efficiency plot is given below.
The important panel parameters are:
Panel: TH175M24
Pmax: 175watts
Vmp: 36.2V
Imp: 4.85A
Voc: 43.9V
Isc: 5.30A
It can be seen from the inverter efficiency diagram that the sweet spot is at 50% full power and 345V string voltage. Note that it has 2 MPPTs. These may be independently specified.
Now the 28 panels for 4.9kW need to be split between the MPPTs such that the Pmax string voltages are near the optimal 345V. This gives us 2 optimal and a symterical choices:
- 2 x 9 Panels in parallel + 1 x 10 panels. This gives string voltages of 325.8V and 362V.
- 2 x 10 panels in parallel + 1 x 8 panels. This gives string voltages of 362V and 289.6V.
- 2 x 7 panels in parallel + 2 x 7 panels in parallel. This gives string voltages of 253.4V
The open circuit string voltage for this inverter must be less than 600V. This is 439V for 10 panels, so this parameter is ok.
By inspection of the efficiency plot, configuration 1 is the best. In fact is it 0.3% better than the symmetrical configuration, which would result in about $10 per year more income/power at 68c/kWh.
The MPPT which has 2 strings in parallel has a greater weight attributed when choosing panel configuration as it supplies more power.
PV System Install Phase1
by mark on Apr.23, 2010, under Solar
The panels are up but the Aurora inverter is still coming due to supply issues in mid May.
I have opted not to obtain an alternative GCI due to the excellent efficiency of the powerone aurora. It is generally 2% or more better than others currently able to be supplied at short notice so worth waiting. 2% is worth 98W at full power, and derated, works out to about $100 per year.
All things going well, we should be generating power and income in June some time, fingers crossed. Hopefully AGL wont stuff us around like others I know when we apply for the premium rate tarrif too.
Mapping special names to multiple USB serial adapters
by mark on Apr.17, 2010, under Solar, linux
The watts clever envi has a USB serial adapter which is a Prolific pl2303. When inserted it is assigned /dev/ttyUSB0 by udev, among a few other symlinks. I have now obtained an RS485 serial adapter on ebay for A$13.98 delivered which uses the exact same chip, which makes it indistiguishable from the envi’s port. What I needed was a way to guarantee uniqueness regardless of the enumeration order on boot or random hot plugin. Naturally, this is for the Aurora GCI which will be installed when they become available in May.
Researching udev a bit, I found /lib/udev/rules.d/60-persistent-serial.rules (mine is a debian system). This file shows how the standard symlinks are done. Since each USB port is unique, I should be able to use that uniqueness to map another symlink to the device.
Firstly plug in the device in the chosen USB port and issue
udevadm info --query=all --name=/dev/ttyUSB1
This shows a heap of stuff but mainly we are interested in
P: /devices/pci0000:00/0000:00:1a.0/usb2/2-1/2-1:1.0/ttyUSB1/tty/ttyUSB1
Create a file in /etc/udev/rules.d/70-persistent-serial.rules which contains
#see /lib/udev/rules.d/60-persistent-serial.rules
ACTION!=”add|change”, GOTO=”persistent_serial_end”
SUBSYSTEM!=”tty”, GOTO=”persistent_serial_end”
KERNEL!=”ttyUSB[0-9]*|ttyACM[0-9]*”, GOTO=”persistent_serial_end”IMPORT=”usb_id –export %p”
#IMPORT=”path_id %p”ENV{ID_SERIAL}==”", GOTO=”persistent_serial_end”
# usb nearest ethernet connector
ENV{DEVPATH}==”*usb2/2-2/2-2:1.0*”, SYMLINK+=”serial/by-name/envi”
#bottom front connector
ENV{DEVPATH}==”*usb7/7-1/7-1:1.0*”, SYMLINK+=”serial/by-name/rs485″
# usb below nearest ethernet connector
ENV{DEVPATH}==”*usb2/2-1/2-1:1.0*”, SYMLINK+=”serial/by-name/rs485″LABEL=”persistent_serial_end”
Replug and voila you get /dev/serial/by-name/rs485 which will always be the correct device.
Now I just have to run the wire to where the GCI will be installed.
Funny Characters for gcc/g++ errors and warnings
by mark on Apr.01, 2010, under linux
I have found that on some linux systems when you compile with gcc and g++ the error messages have funny characters like
test.c: In function â:
test.c:6: warning: unused variable â
This is due to the default locale being set to something other than the default.
in /etc/default/locale you will have a line like
LANG="en_AU.UTF-8"
add
LC_CTYPE=C
Restart the shell and compile again and the errors are now meaningful.
test.c: In function 'main':
test.c:6: warning: unused variable 'x'
Naturally you could set it in the local shell for the session, but then you would have to do it every time.





