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ß
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...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.