Last 26-04-2013

Velkommen til

Danfoss Datalogger med Raspberry Pi

Raspberry Pi som Datalogger


Forord:

Vi var 6 stykker på vores arbejde, der har investeret i solceller med Danfoss invertere,
og vi ville gerne sammenligne vores produktioner med hinanden.

Men ingen havde lyst af ofre mellem 1500 - 2500 kr. på at købe en færdiglavet Datalogger,
så vi ledte ude på Internettet om der var nogen der havde lavet noget lignende.


Og det var der, på https://github.com/thpe/rklogger kan man se det fantastiske program
(RKLOGGER) lavet af Thomas Petig, (Hjemmeside :http://www.petig.eu/rklogger/),
som gør det muligt at få trukket data ud af Danfoss inverterne.
 

Og på : http://code.google.com/p/eversolar-monitor/source/browse/eversolar.pl, det smarte
program Eversolar lavet af : Kayne Richens (kayno@kayno.net), som har en indbygget
webserver med alle oplysninger om inverteren som hjertet kan begære, samt uploading til
pvoutput.org, og en lokal database, som kan gemme alle oplysningerne, og en log, hvor man
kan se kommunikationen, med ens inverter, men som desværre kun fungerer med Eversolar invertere.

Men ved at kombinere begge programmer, har vi fået et, der kan køre op mod Danfoss Invertere,
og som er chekket op mod ULX1800, ULX3000, ULX5400, og snarest mod TLX 6000 samt ULX3600.


Hardware :

For at få det at fungere, skal du bruge følgende :

1 Raspberry Pi (Model B), en kasse dertil.
2 stk. pds patchcable (3 hvis du har 2 invertere).
1 stk USB 5v power supply.
1 stk. SD Flash memory card mindst 4GB.
1 stk. USB 2.0 to RS-485 converter.


Raspberry Pi , kan du købe her http://raspberrypi.rsdelivers.com/default.aspx?cl=1 ,
for ca. 330 kr. med box, (HUSK der skal være Type/Model B)

USB 5v power supply, køb den for ca. 50 kr hos Tigeren, http://www.Tiger.dk eller
brug en gammel USB Mobiltelefon oplader (eks. til HTC).

SD Flash memory card 4GB, køb det for ca. 36 kr hos Technordica, http://technordica.com/kingston-sdhccard-4gb-sdcard-2-0.html

USB 2.0 to RS-485 converteren kan du købe på ebay for ca. 70 kr, http://viewitem.eim.ebay.dk/USB-20-to-RS485

[image]ADVARSEL defekte USB RS-485 adaptere i omløb...KLIK HER, for at se hvordan du fixer det.

Led efter denne model som vist på billede nedenfor:

Rs485 to Ethernet adapter  Modificeret Rs485 adapter til Danfoss Invertere   

RS-485 adapteren skal modificeres som vist på fotografiet ovenfor til højre (kobler A in/out sammen og B in/out sammen
da det er en full duplex RS-485 adapter, og Danfoss inverterne kun kører half duplex).
Hvis du ikke har mulighed for at lodde, kan du koble det sammen i det kabel som vi nu skal til at lave.

Kablet fra RS-485 adapteren til den første inverter, skal laves som på illustrationen nedenunder, man kan bruge
et af standard pds kablerne, og klippe det ene stik af og påsætte et nyt med lederne ombyttet i henhold til billedet.

Hvis man ikke kan få en ven eller en Elektriker til at lave kablet, kan man i stedet
klippe det over på midten, og forbinde det med kronmuffer eller lignende.
Kablet kan vendes mellem Raspberry Pi og inverter, som man vil, hvis man har loddet de 2 ledninger i RS-485 converteren

Advarsel , Kablet på billedet her neden under, skal KUN bruges hvis man ikke har loddet de 2 ledninger i RS-485 converteren
Og der er KRITISK hvilken ende der kommer i henholdsvis inverter og RS-485 converter

Og det laves lettest ved at klippe et PDS kabel midt over og samle det med kronmuffer eller lignende

Kablet mellem de 2 invertere, (hvis man har 2 ?) er et standard PDS kabel og skal ikke ændres.
Det samme er gældende med kablet fra Raspberry PI'en til ens Ethernet Router/Firewall/Switch


Software:
 

På Raspberry Pi'en skal der først installeres et styresystem, og det er en tilrettet version af Linux
Vi har brugt Raspbian "Wheezy" som kan hentes her : http://www.raspberrypi.org/downloads


Softwaren som er en kombination af Eversolar og rklogger, som er skrevet i perl og C++.
Eversolar er omskrevet så den kommunikerer med Danfoss specielle Conlynx Protocol code, som er hentet her på Danfoss.
Vi har kontakt til rklogger Thomas Petig, som i øjeblikket kikker sit program efter,
da vi har fundet fejl som gør at rklogger mister kontakt med inverteren ind i mellem.

Nu skal du vælge, om du vil starte med et image, med et friskt styresystem, som du så selv lægger de programmer på, som du ønsker,
Eller om du vil lægge vores Image, med både styresystem og Danfoss logger programmet installeret, som er rettet
til opstart, så man kan køre remote desktop, på Raspberry Pi, via netværk.

 

Vi vil først beskrive hvordan du får det op og køre med vores image, og senere forklare hvordan du starter helt fra bunden.

Installation af Styresystem:

For at installere imaget med styresystemet, skal du downloade Win32DiskImager fra http://www.raspberrypi.org/downloads Og installere det.
Derefter downloader du vores image her, og sætter dit SD kort i kortlæseren på din pc'er (den er standard på de fleste bærbare computere,
og også nogle af de nyere stationære, og loader imaget, og skriver det til SD kortet.

Så sætter du SD kortet i Raspberry pi'en tilslutter skærm med HDMI kabel, sætter netværkskabel i, og tænder den.
Når den er opstartet skriver den nederst ipadressen eks. 192.168.0.10, nu kan du starte fjernskrive bord på din pc og koble dig til den adresse,

Hvis du hellere vil starte med et frisk styresystem, klik her, for at se vejledning til det.

Opstart af Raspberry Pi:
Nu skulle du kunne bære den ud til din/dine invertere og tilslutte RS-485
converteren til raspberry pi'en, tilslutte special kablet fra Rs-485 converteren, til din FØRSTE inverter.
Vent med den anden inverter, fordi vi skal lige, finde adresserne på dine invertere.

På din pc, åbn i menuen start, kør, skriv dette mstsc.exe (eller klik start, programmer,tilbehør,Fjernskrivebord) og indtast den noterede
IPadresse som din Raspberry fik, tryk nu Enter og der skulle gerne være forbindelse til din nye Danfoss Datalogger.

Vi har valgt user : pi password : raspberry , så skulle du få dens skrivebord. (husk at vælge shutdown hvergang du skal slukke den , så du ikke smadrer styresystemet)
Vi anbefaler at du giver den en fast adresse istedet for DHCP, klik på dette dokument for at se hvordan.

(Tilslut med fjernskrivebord til RPi'en.)
Nu mangler vi kun at sætte rklogger og pinger til at være executible (kørbar),
Åbn filemanager (nederst i venstre hjørne, næst yderst) højreklik på /home/pi/danfoss/rklogger,
egenskaber tilladelser, sæt 'ejer' , 'gruppe' , 'andre' , til læs og skriv, sæt flueben i  'gør filen eksekverbar' , tryk så ok for at gemme.
Derefter gøres det samme med pinger filen.


 


Først skal vi finde vores Inveters adresser (net & sub), dette gøres ved at , åbne LXTerminal, på skrivebordet, skift bibliotek til danfoss, ved at skrive på komandolinien
cd danfoss
Enter, skriv nu ./pinger ff ff Enter, lige som på billedet neden under i blå firkant, og noter din Inverters adresser, med
rød markering, har du to Inverter, så tager du kablet ud af den første inverter, og sætter i den næste, og skriver det samme igen (./pinger ff ff), og begge addresser
skal bruges til opsætning af danfoss.ini.
Du kan chekke, om det er de rigtige 2 adresser, du har fundet, ved at skrive ./pinger 12 76 , hvor du bruger, de adresser du fik , istedet for "12 76"
og så skal den svare dig, med det samme som før, ellers, er adresserne forkerte.

Noter adresser inden for den røde firkant.

De 2 adresser skal du skrive ind i danfoss.ini, start filemanager, arbejd dig ned i danfoss biblioteket, højreklik på Danfoss.ini,
som vist i teksten nedenfor.


som du åbner med Leafpad , indtast nu adressen/adresserne på dine invertere som du lige har fundet eks:
(12 = net_1 og 76 = sub_1) og ligeledes med inverter nummer 2,
og ret derefter, resten af parameterne til 1/2 invertere , 1/2 string osv.

[inverter_addresses]
id_1 = Danfoss 1800a # Name or type of your Inverter, number one.
serial_1 = 1abc1111 # Inverter Serial number or just 1
net_1 = 12 dette er første sæt i adresser.
sub_1 = 76 dette er første sæt i adresser.
id_2 = Danfoss 1800b # Name or type of your Inverter, number two.
serial_2 = 2abc2222 # Inverter Serial number or just 2
net_2 = c2 dette er andet sæt i adresser.
sub_2 = 38 dette er andet sæt i adresser.

Nu vi er inde og rette danfoss.ini, kan vi lige så godt sætte vores System-ID og API key fra oprettelsen på www.pvoutput.org

[pvoutput] # upload generation to pvoutput.org
enabled = 1
status_interval_mins = 5 # 5 or 10 minutes, depending on your pvoutput.org setting
add_status_url = "http://pvoutput.org/service/r2/addstatus.jsp"
api_key = "719"
system_id_1 = 11111 # system_id inverter_1
system_id_2 = 22222 # system_id inverter_2

Nu er alt sat op og Raspberry Pi er klargjort og skal derfor genstartes, og det gøres ved at åbne LXTerminal, på skrivebordet,
og skrive i terninal vinduet følgende : sudo shutdown -r now
log ud på en pæn måde nede i venstre hjørne, på fjernskrivebord.

Nu du har genstarte RPI'en, kan du åbne en browser på din pc, med ipadressen på din RPI eks. http://192.168.0.10:3837, og nu skulle du kunne se,
at den prøver at kontakte dine invertere i log feltet. se billede her under.



Note: Alt hvad der ligger på denne hjemmeside kan bruges på eget ansvar, der er ingen garanti på dette produkt,
         som er lagt offentlig her og følger GNU open source licensing, med henvisning til ophavsmænd.


Mail til Frankie frankie@frederiksson.dk