Zonnevolger

Op 1 juni 2023 10:18:21 schreef joopv:
Is het niet simpeler om het uitgangsvermogen te meten van het paneel en daarmee de positie motor te sturen?

Voordeel is ook dat als de positie van de zon onverwacht verspringt, of als er s'nachts een naburige ster nova gaat je nog steeds maximale output hebt :)

Nee. Als er een wolk komt voorbijgewaaid wordt zo'n logica knettergek. Droogweg positie bepalen, tijd bepalen (beide uit GNSS, bijvoorbeeld) en de optimale azimut berekenen en instellen. Optioneel idem ditto voor de hellinghoek.

Onverwacht verspringen van de zon komt trouwens niet zo frekwent voor, de laatste keer moet geweest zijn in een of ander bijbels verhaal :) enkele duizenden jaren geleden. En dan moet men dat sprookjesboek nog letterlijk geloven.

@hieronder: helemaal raak!

Lambiek

Special Member

Op 30 mei 2023 16:57:22 schreef Leo-Bolier:
@Lambiek, dat is ook zo. Iets van bijna 1/5 van de slag. We hebben zelfs even overwogen om er een "versnellingsbakje" 1:4 tussen te zetten. Maar het blijkt dat de regelnauwkeurigheid ook zo goed genoeg is.

Zeker het kan op deze manier, maar ik zou het anders gedaan hebben.

Zie voorbeeld.

pic basic code:



Symbol FREQUENTIE = 600           
Symbol HYSTERESIS = 4             

;---------------------------------
; MAAND JANUARI ZON-OP ZON-ONDER.    
;---------------------------------

If MAAND = 1 Then
    
    LDR_1  = ADIn 0
    LDR_2  = ADIn 1
    SENSOR = ADIn 2
    
    If LDR_1 > LDR_2 And LDR_1 - LDR_2 > HYSTERESIS Then
     If SENSOR > 307 Then
      DIR = 0
       PULS  = 1
        DelayUS FREQUENTIE
       PULS = 0
      DelayUS FREQUENTIE
     EndIf
    EndIf
    
    If LDR_2 > LDR_1  And LDR_2 - LDR_1 > HYSTERESIS Then
     If SENSOR > 307 Then
      DIR = 1
       PULS  = 1
        DelayUS FREQUENTIE
       PULS = 0
      DelayUS FREQUENTIE                                                           
     EndIf
    EndIf
    
    If LDR_1 = LDR_2 Then
     PULS = 0
    EndIf
    
    If SENSOR > 307 Then
     LED = 1
      Else LED = 0
    EndIf
       
EndIf    
    

Dit is een voorbeeld voor Januari, ik gebruik ook een RTC voor de tijd. Maar dat zou jij niet nodig hebben, maar kan wel om het paneel in de avond terug te zetten.

Als je twee sensoren (twee LDR's) gebruikt en een zonnesensor (is niet anders dan een heel klein zonnepaneel) dan maak je een proportionele besturing. Je beide LDR's zijn dan je terugkoppeling en zal de zon ten alle tijden volgen, de zonnesensor gebruik je om te kijken of er zon is. Als het bewolkt is volgt het paneel de zon via de RTC. Staat allemaal beschreven in het artikel over de zonnevolger.
Je hebt wel een H-brug nodig om het paneel te bedienen.

Ik heb toen wel een stappenmotor gebruikt met microstepping, dat was heel erg precies.

Maar zoals jij het nu gedaan hebt kan het ook. :)

Eén dezer dagen ga ik jouw voorstel voor PWM uitproberen. De powerfet en Schottky diodes zijn binnen en de firmware van de controller (eem 8032 derivaat) lijkt het goed te doen.

Ik ben benieuwt. :)

Op 1 juni 2023 13:54:05 schreef Paulinha_B:
Nee. Als er een wolk komt voorbijgewaaid wordt zo'n logica knettergek.

Hoe kom je daar nu bij, is een kwestie van een goed programma maken en het paneel door laten draaien als het bewolkt is.

Droogweg positie bepalen, tijd bepalen (beide uit GNSS, bijvoorbeeld) en de optimale azimut berekenen en instellen.

Dat is een optie, maar zeker niet nodig.

Als je haar maar goed zit, GROETEN LAMBIEK.

@Lambiek,
Begrijp jouw idee. Mijn systeem is gebaseerd op een RTC. Het chipje wat ik gebruik doet niet aan zomertijd en hoeft hooguit 1x per jaar gecorrigeerd te worden. Er zit een klein 2x16 char lcd display in het systeem waarop datum/tijd, gewenste en actuele hoek van de panelen af te lezen is. Twee druktoetsjes om o.a. de datum/tijd in te stellen.
Voor de rest heb ik twee tabelletjes. De ene geeft per 5 dagen dag de zonsop- en ondergangtijd en de andere per 8 minuten de gewenste elevatie t.o.v. het "laagste" punt (ongeveer een half uurtje na middernacht). Grote voordeel is dat je niet afhankelijk bent van vervuiling van de lichtsensoren.
Er zit een testmodus in waarmee de tijd een factor 60 versneld wordt zodat je in een klein halfuurtje de cyclus van de hele dag kunt doorlopen.

In de testopstelling met 1 actuator werkt dit prima. Ik moet nog wel een modificatie maken om de richtingsrelais wat minder vaak te laten schakelen. Elke 8 minuten kon de levensduur wel eens teveel beperken. In principe hoef je eigenlijk maar 2 x per dag van richting te veranderen.
PWM sturing lijkt me prima om de mechanische stress op de actuatoren te verminderen. Ga ik nu mee aan de gang.
Daarna nog een windsnelheidsmeter toevoegen om de panelen naar 0 te sturen en een noodstop in geval van stall.

Alleen alleen

Lambiek

Special Member

Op 2 juni 2023 10:48:34 schreef Leo-Bolier:
Mijn systeem is gebaseerd op een RTC. Het chipje wat ik gebruik doet niet aan zomertijd en hoeft hooguit 1x per jaar gecorrigeerd te worden.

Begrijp me niet verkeerd, er is ook niets mis mee hoe je het doet. :)

Grote voordeel is dat je niet afhankelijk bent van vervuiling van de lichtsensoren.

Dat valt mee, die kun je eventueel achter glas zetten. Maak makkelijk en snel schoon. Jij hebt weer kans dat je potmeter problemen gaat geven, maar zo is er altijd wel wat. ;)

In de testopstelling met 1 actuator werkt dit prima. Ik moet nog wel een modificatie maken om de richtingsrelais wat minder vaak te laten schakelen. Elke 8 minuten kon de levensduur wel eens teveel beperken.

Ik denk dat het mee valt als je een goed relais gebruikt.

PWM sturing lijkt me prima om de mechanische stress op de actuatoren te verminderen.

Ja, je kunt dan ook met ramp-up en ramp-down gaan werken.

Je zou zo'n construktie kunnen maken.

Als je haar maar goed zit, GROETEN LAMBIEK.

Op 2 juni 2023 11:24:01 schreef Lambiek:
Ja, je kunt dan ook met ramp-up en ramp-down gaan werken.

En met de stroom meting een "is vastgelopen" detectie maken.

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/

@Rew: klopt, dat staat er ook wel :-) Jargon, vanuit mijn werkzame verleden ben ik gewend gewend om dat "Stall" te noemen.

Eerst maar eens een opzetje maken voor het mechanische deel.

@ MMSoft,
Als je uitgaat van dat MFA motortje kun je misschien voor de besturing een simulatie opstelling maken.

Bijgaand een foto van mijn testopstelling met één enkele, onbelaste actuator.

Links het processorbordje met aan de rechterkant de twee lichte ompoolrelais. In de praktijk worden die straks vervangen door zwaardere uitvoeringen die wat meer stroom kunnen hebben. Geen zorgen over vonkbruggen. Er wordt stroomloos geschakeld.
De processor geeft een PWM sturing die op dit moment een ramp-up in circa vier seconden van 0...100% doet. Ramp-down gaat niet werken. De maximale beweging in elevatie is circa 2 graden. Je moet al bijna omlaag rampen voor je net begonnen bent. En als je wat te laat bent krijg ik overshoot.

Rechts het bordje met de Powerfet, meetweerstand en de vier Schottky diodes.
In de praktijk komt er later een 24 volt accu voor de voeding.
Op de voorgrond het display met een paar knopjes om de tijd en eventuele setpoints voor maximale windsnelheid en te langdurige motorstroom in te stellen. De processor gebruikt een i2c kalenderchip met goldcap als back-up om de tijd bij te houden. Eén keer per jaar een beetje tijd corrigeren is voldoende.

Op de foto het systeem in een testmode waarbij een etmaal gesimuleerd in een klein half uur doorgedraaid wordt.

Lambiek

Special Member

Op 3 juni 2023 11:23:48 schreef Leo-Bolier:
De processor geeft een PWM sturing die op dit moment een ramp-up in circa vier seconden van 0...100% doet. Ramp-down gaat niet werken.

Ja begrijpelijk, je versteld maar een klein stukje per keer natuurlijk.

En hoe bevalt het via pwm, is het wat je er van verwacht had?

Als je haar maar goed zit, GROETEN LAMBIEK.

Sturing met PWM loopt echt lekker. Ik had niet echt een id wat te verwachten. Het klinkt ook "gesmeerd". Heb nu ook stroommeting geïmplementeerd.
Grote aanloopstroom is op de scoop in elk geval niet te zien.
Misschien volgende week een proef met alle vijf actuatoren met panelen er op. Benieuwd hoe dat uitpakt.

In de helft van de gevallen duurt de ramp-up nu al te lang. Dat is uiteraard met name in de top van de sinus rond het middaguur. Dan zijn de hoekveranderingen maar heel klein en hoeft het paneel nauwelijks te bewegen.

Lambiek

Special Member

Je kunt ook proberen wat het bijvoorbeeld op 60% pwm doet. Moet je even uit vogelen wat het beste percentage is.

Of een snelle ramp-up doen.

Als je haar maar goed zit, GROETEN LAMBIEK.

Voor de proef opstelling is het langzaam aan tijd om wat onderdelen te bestellen, maar wat is wijsheid ?

Ik heb een Raspberry Pi 3 Model B+ met voeding liggen, maar nu de motoren en de aansturing daarvoor nog.

Als motor voor de draai beweging denk ik aan deze:
https://www.conrad.nl/nl/p/mfa-919d30001-transmissiemotor-12-v-dc-3000…

Als motor voor de kantel beweging mag de motor denk ik iets kleiner zijn, maar welke kunnen wij daarvoor gebruiken ?

Dan zijn er nog 2 H-Bruggen nodig om deze motortjes aan te sturen.
Daarbij is een stroom meting nodig (ivm het ijkpunt bepalen).

Ik ben aan het kijken naar deze:
https://www.sossolutions.nl/arduino-motor-shield-rev3
https://www.bol.com/nl/nl/p/l298n-dubbele-h-brug-motor-driver-voor-dc-…
https://www.bol.com/nl/nl/p/otronic-motor-driver-module-l298n-dual-h-b…

Als ik het goed begrijp heeft alleen de eerste een stroom meting, maar die andere 2 hebben een koelblokje en dat zou ik er wel graag op hebben. Maar of deze voldoende vermogen hebben voor de motoren hangt weer af van welke motoren er gekozen worden...

Edit:
Het liefst gebruik ik voor de test opstelling standaard modules, als later alles goed werkt kan er een print ontworpen worden.

Lambiek

Special Member

Op 4 juni 2023 08:33:40 schreef MMSoft:
Voor de proef opstelling is het langzaam aan tijd om wat onderdelen te bestellen, maar wat is wijsheid ?

Ik heb je een prachtig voorbeeld geven.

Als motor voor de kantel beweging mag de motor denk ik iets kleiner zijn, maar welke kunnen wij daarvoor gebruiken ?

Daar komt de meeste kracht op, het verdraaien kost de minste kracht.

Als je haar maar goed zit, GROETEN LAMBIEK.

Voor de elevatie zou ik een lineaire actuator (zoekterm) gebruiken. Ik heb er nu een prima ervaring mee. Zie ook het schema wat Lambiek hier gepost heeft.
Ze komen met ingebouwde eindschakelaars. Met een slaglengte van 30...40 cm kun je prima het bereik halen wat je nodig hebt. Hier te lande orde grootte 62 graden.

Ik was hier mee bezig:
https://www.radishlogic.com/raspberry-pi/raspberry-pi-pwm-gpio/

En had er 2 Ledjes (met weerstand) op de pennen 32 en 33 naar de GND
Aangesloten, daarbij viel het mij op dat PWM0 en PWM1 invloed op elkaar hadden (dat lijkt mij niet de bedoeling), tijden het uitzoeken werd de CPU bloedheet en nu werkt de Raspberry niet meer (als ik er spanning opzet, dan brand alleen de Rode led en wordt de CPU bloedheet). Hopelijk zijn deze spoedig weer leverbaar...

Lambiek

Special Member

Op 4 juni 2023 11:03:31 schreef MMSoft:
Ik was hier mee bezig:
https://www.radishlogic.com/raspberry-pi/raspberry-pi-pwm-gpio/

Als je naar het filmpje kijkt zie je dat het pwm signaal met grote stappen omhoog gaat, kan dat niet anders? Is daar geen andere instructie voor bij een R-PI?

En had er 2 Ledjes (met weerstand) op de pennen 32 en 33 naar de GND
Aangesloten, daarbij viel het mij op dat PWM0 en PWM1 invloed op elkaar hadden (dat lijkt mij niet de bedoeling),....

Dat hoort inderdaad niet.

tijden het uitzoeken werd de CPU bloedheet en nu werkt de Raspberry niet meer (als ik er spanning opzet, dan brand alleen de Rode led en wordt de CPU bloedheet).

Dan zou je haast denken dat het ergens sluiting maakt.

Maar waarom kies je voor een R-PI als ik vragen mag, waarom geen Arduino of een PIC controller?

Ik gebruik altijd PIC controllers, daar zit HPWM op, dat draait volledig op de achtergrond. Het pwm signaal loopt heel soepel op, daar zie je die sprongen niet.

Als je haar maar goed zit, GROETEN LAMBIEK.

Als je naar het filmpje kijkt zie je dat het pwm signaal met grote stappen omhoog gaat, kan dat niet anders? Is daar geen andere instructie voor bij een R-PI?

Geen Idee ik was er nog maar net mee bezig toen het al mis ging (ik had de waarde 1000 ingevuld (met de bedoeling de freq op 1000 te zetten), en heb niet meer verder gezocht (het vertrouwen in een Raspberry voor dit doel is weg).

Dan zou je haast denken dat het ergens sluiting maakt.

Ik heb geen sluiting gemaakt, de Led's zaten netjes aangesloten en de Raspberry in een Kastje.

Maar waarom kies je voor een R-PI als ik vragen mag, waarom geen Arduino of een PIC controller?

Het grote voordeel van een Raspberry is dat ik deze vanuit huis kan programmeren en aansturen. De besturing komt in een klein schuurtje te hangen waar ik redelijk moeilijk bij kan komen en daar niet kan zien wat er gebeurd, dat kan vanuit het huis wel. Ik denk er ook aan om over te stappen naar een PIC controller, als het nu al mis gaat bij een PWM signaal.
Maar ik zit alleen met het probleem om deze vanaf een afstand te kunnen programmeren en te besturen. Ook moet ik bij een PIC een Real time Clock IC (DS1307 of DS1337) plaatsen (die ook weer een batterij nodig heeft), omdat deze de tijd kwijt is als de spanning even weg is geweest.
En mogelijk moet er een Display en een paar knopjes bij, en dat was allemaal niet te bedoeling.

Lambiek

Special Member

Op 5 juni 2023 20:58:24 schreef MMSoft:
Geen Idee ik was er nog maar net mee bezig toen het al mis ging (ik had de waarde 1000 ingevuld (met de bedoeling de freq op 1000 te zetten), en heb niet meer verder gezocht (het vertrouwen in een Raspberry voor dit doel is weg).

Ik vind dit ook vrij omslachtig moet ik zeggen.

code:


import RPi.GPIO as GPIO

GPIO.setmode(GPIO.BOARD)

# Setup GPIO Pins
GPIO.setup(12, GPIO.OUT)
GPIO.setup(32, GPIO.OUT)
GPIO.setup(33, GPIO.OUT)
GPIO.setup(35, GPIO.OUT)

# Set PWM instance and their frequency
pwm12 = GPIO.PWM(12, 0.5)
pwm32 = GPIO.PWM(32, 0.75)
pwm33 = GPIO.PWM(33, 0.66)
pwm35 = GPIO.PWM(35, 0.87)

# Start PWM with 50% Duty Cycle
pwm12.start(50)
pwm32.start(50)
pwm33.start(50)
pwm35.start(50)

raw_input('Press return to stop:')	#Wait

# Stops the PWM
pwm12.stop()
pwm32.stop()
pwm33.stop()
pwm35.stop()

# Cleans the GPIO
GPIO.cleanup()

Bij Basic is het wel iets simpeler, bijvoorbeeld een potmeter inlezen via een analoge poort en via HPWM uitsturen.

PWM frequentie is hier 10kHz.
Potmeter waarde van 0 tot 255.

pic basic code:



Declare CCP1_Pin PORTC.2   ; HPWM 1 op poort C.2

Dim POTMETER As Byte       ; Variabele

        ;76543210          ; Hulpregel analoog
ANSEL = %00000001          ; ANSEL register analoog poort_A

         ;76543210         ; Hulpregel analoog
ADCON0 = %00000001         ; ADCON0 register analoog 8 bit

RUN:


    POTMETER = ADIn 0
    
    HPWM 1, POTMETER , 10000
           
GoTo RUN
  
End 

Ik heb geen sluiting gemaakt, de Led's zaten netjes aangesloten en de Raspberry in een Kastje.

Dat kan haast niet fout gaan.

Het grote voordeel van een Raspberry is dat ik deze vanuit huis kan programmeren en aansturen. De besturing komt in een klein schuurtje te hangen waar ik redelijk moeilijk bij kan komen en daar niet kan zien wat er gebeurd, dat kan vanuit het huis wel.

Dat kan met een pic ook natuurlijk. Daar kun je bijvoorbeeld RX en TX voor gebruiken. Ik doe dat via de usb poort met een usb serieel converter met een FTDI chipset.

Ik denk er ook aan om over te stappen naar een PIC controller, als het nu al mis gaat bij een PWM signaal.

Ik heb ooit dit gemaakt, gebruik dit al 20 jaar denk.

Alle bruikbare poorten komen naar buiten, poort D4, 5, 6 en 7 zijn voor een display en zit op één connector. Poort C1 en 2 zijn de HPWM poorten.

In principe past hier iedere 40 pin controller in die pin compatible is met de 16F887, dus bijvoorbeeld ook een 18F4520.

Maar ik zit alleen met het probleem om deze vanaf een afstand te kunnen programmeren en te besturen.

Kun je de besturing niet in een aparte kast zetten bij de installatie, dan hou je de motorbedrading, enz. ook kort.

En mogelijk moet er een Display en een paar knopjes bij, en dat was allemaal niet te bedoeling.

Ik vind een display persoonlijk alleen maar makkelijk. :)

Als je haar maar goed zit, GROETEN LAMBIEK.

Ik ken dat type RTC niet maar zelf gebruik ik een I2c PCF8583 RTC chip waar ik als back-up een Goldcap van 1/4 Farad op heb hangen. In mijn geval is die goed voor iets van een halve dag back-up bij spanningsuitval. Scheelt een batterijtje wat je toch ook weer in de gaten moet houden.
Lijkt me sterk dat zoiets ook bij jou mogelijk moet zijn.
Een 1N4148 naar de 5 of 3.3 volt, 100 ohm weerstandje om de stroom iets te beperken (denk eigenlijk dat die niet eens nodig is) en dan een goldcap op de Vcc aansluiting van de RTC.

Lambiek

Special Member

Op 6 juni 2023 11:24:03 schreef Leo-Bolier:
In mijn geval is die goed voor iets van een halve dag back-up bij spanningsuitval.

Een halve dag? ik kan hem rustig een jaar zonder spanning laten staan. Heb wel een ander type RTC een DS1307.

Verloop is +/- 1 minuut per jaar.

Als je haar maar goed zit, GROETEN LAMBIEK.

@ MMSoft,

De vorm en afmetingen van het fundatie kastje zijn nog niet bepaald.
Als ik het dubbelwandig maak en isoleer kan je daar de besturing in bouwen.

Lambiek

Special Member

Op 6 juni 2023 14:13:06 schreef m.bouwer:
Als ik het dubbelwandig maak en isoleer kan je daar de besturing in bouwen.

In principe mag dat een gewone kast/kastje zijn. Niet dubbelwandig en niet geïsoleerd.

Bij een goed gekozen kast zorgen de componenten er wel voor dat er geen condens in komt.

Als de TS een kastje overweegt gewoon naar bijvoorbeeld een Rittal kast kijken, of een ander merk.

Ik heb al heel wat kasten gemaakt en die hangen ook vaak buiten, niets mis mee.

Als je haar maar goed zit, GROETEN LAMBIEK.

Opzetje van de spil met dummy-paneel.
De spil komt op het fundatie-kastje te staan.
Ik vind hem wat te groot van vorm t.o.v. het paneel en daarom wil ik voor MMSoft een kleinere uitvoering maken.