Forum: Mikrocontroller und Digitale Elektronik 0-10V in Halbwellensteuerung


von Korbi G. (Firma: Möhrchenzucht) (korbinian_g53)


Lesenswert?

Hallo,

habe eine Pumpe, die mit 230V läuft. Es ist eine Schwingkolbenpumpe. Die 
würde ich gerne regeln.
Dazu habe ich ein 0-10V Steuersignal. Soweit so gut.

Ich scheitere allerdings an der Umsetzung im Code. Eine Schaltung ist 
fertig, der verwendete Attiny45 bekommt bei steigender Flanke bei ca. 
160V einen Ping an PB.2 und zählt über einen Interrupt eine Variable A 
hoch.

Der ADC liefert Werte von 0-1000.

Wie schaffe ich es, dass
a) gleichmäßig geregelt wird (kleinere Abweichungen sind egal, 
allerdings sollte das Regelverhalten schon linear sein)
b) der Code auf die 4 kB des Attiny passt.

Eine Idee hatte ich schon, allerdings passt dafür der Code nie auf den 
Attiny drauf.
Dazu teile ich den ADC-Wert durch 20 und mache in der Hauptschleife eine 
Case-select abfrage davon.
In jedem Case läuft eine while-wend-Schleife solange bis A 50 ist. Dann 
wird die Schleife verlassen und A zurückgesetzt.
In der Schleife befindet sich eine if-Abfrage, die A mit vorher 
programmierten Werten vergleicht und bei Übereinstimmung die Zündung 
auslöst.

(Die Zündung wird über Gosub angesprungen und wartet erst bis die 
aktuelle Halbwelle aus ist und hält dann den Thyristor solange leitend 
bis die nächste Halbwelle anfängt).

Das würdr wohl funktionieren.
Aber ich habe 50x eine if-Abfrage und eine while-wend-Schleife. Dazu 
habe ich im worst case in der if-Abfrage 25 Zahlen im if ... then über 
or verbunden.

Dementsprechend fällt der Code riesig aus.

Weiß jemand was kleineres? Ich will keinen fertigen Code haben, aber 
eine Idee wäre ganz nett....

Gruß

von Oldie (Gast)


Lesenswert?

Ich würde eher empfehlen, dem µC über einen
"Zero-Crossing-Detector" mitzuteilen, wenn die
Netzspannung durch NULL geht.

Dazu gibt es einige gute Schaltungen mit Optokopplern.
Such mal im Netz.

Anschließend ist es doch nur eine Zeitfrage, die
der Tiny45 mit seinen Zählern leicht lösen kann,
wo der Netz-sinus gerade ist. Und wie man positive und
negative Halbwellen gleichmäßig verteilt. Das schafft
auch ein Tiny 25, ohne an seine Grenzen zu stoßen...

von DJShadowman (Gast)


Lesenswert?

Die Schwingkolbenpumpe lässt sich im Durchsatz doch nur durch die 
veränderte Frequenz regeln, wenn man bei bleibenden 50Hz nur die 
Halbwellen beschneidet, stellt sich nur die Bewegung irgendwann ein.
Oder ist der Plan die Bewegungslänge des Kolbens zu verringern und damit 
die Pumpleistung?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.