Hab folgendes Problem:
Ich bin recht neu im Mikrocontroller-Bereich und habe eine
Phasenanschnittssteuerung in einem Drehstromnetz (3x230V) entworfen. Im
wesentlichen besteht das Ganze aus einem Attiny44 und zwei Triacs, die
den Wechselstrom ein und aus schalten. Der Zündwinkel wird mittels
Potentiometer eingestellt. Nun muss ich den Triac ein und ausschalten
können, die einfachste Möglichkeit wäre wohl eine einfache delay
Funktion die den Ausgang True oder false setzt. Hierbei könnte ich
jedoch keinen Nothalt Taster abfragen, da der Controller ja während der
delay Zeit nicht reagiert.
Gibt es eine andere Möglichkeit einen Ausgang zu schalten und
gleichzeitig nicht im Code hängen zu bleiben.
Wäre über jede hilfreiche Antwort dankbar
Samuel schrieb:> Gibt es eine andere Möglichkeit einen Ausgang zu schalten und> gleichzeitig nicht im Code hängen zu bleiben.
Mit Timer, Tiny44 hat 2 davon.
Samuel schrieb:> Hierbei könnte ich> jedoch keinen Nothalt Taster abfragen, da der Controller ja während der> delay Zeit nicht reagiert.
Nicht ganz richtig.
Ein Interrupt würde auch funktionieren.
Sorry, aber Nothalt Taster am Kontrolleur ist sowieso ein Designfehler,
selbst wenn er diesen interrupted.
Und wieso eigentlich zwei Triacs im Drehstromnetz? Kann es sein, daß das
ganze Projekt noch ein klein wenig unausgegoren ist?
Das Ganze ist bisher in der Planung und soll ein Sanftanlauf für einen
Drehstrom asynchron Motor werden der L1 und L3 steuert, deshalb auch
nur zwei Triacs. Was ist mit "Nothalt Taster am Kontrolleur" gemeint?
Samuel schrieb:> Was ist mit "Nothalt Taster am Kontrolleur" gemeint?
Du solltest den Nothalt nicht mit dem μC bedienen sondern damit z.B. L1
und L3 direkt abtrennen.
Nothalt beinhaltet ja Sicherheitsfunktionen und dabei wärst du auf einen
noch aktiven μC angewiesen. Aber gerade dann, wenn die Notfunktion
gebraucht wird, kann auch der Contoller daran schuld sein.
Samuel schrieb:> Das Ganze ist bisher in der Planung und soll ein Sanftanlauf für> einen> Drehstrom asynchron Motor werden der L1 und L3 steuert, deshalb auch> nur zwei Triacs. Was ist mit "Nothalt Taster am Kontrolleur" gemeint?
Interessante Idee.
Glaube aber nicht, dass das so funktioniert.
> Was ist mit "Nothalt Taster am Kontrolleur" gemeint?
Er will darauf hinweisen, dass ein Notaus-Taster direkt in die Hardware
eingreifen sollte, um die Maschine stillzulegen und nicht nur ein "Bitte
hör auf" an den Mikrocontroller. Das bringt nichts, wenn der
Mikrocontroller sich aufgehängt hat oder z.B. die Triacs kaputt gegangen
sind und konstant durchschalten.
Was deinen delay angeht: normalerweise werden solche blockierenden
Funktionen nicht in Steuerungen verwendet. Wenn überhaupt, fragen sie
während der Warterei notwendige Eingangssignale ab.
In deinem Fall ist das aber eher Nebensächlich. Wie schon erwähnt wurde,
kann man nen Triac nicht abschalten - dein Notaus kann höchsten beim
nächsten Trigger wirken. Ein Abbrechen des delay bringt dir also nichts,
kannst im Augenblick eh nichts machen.
Samuel schrieb:> Das Ganze ist bisher in der Planung und soll ein Sanftanlauf für einen> Drehstrom asynchron Motor werden
Meine Güte, das gibts schon, zuverlässig und fertig entwickelt.
Bevor dir massenhaft Thyristoren platzen, richte deine Planungsarbeit
lieber auf einfachere Dinge und kauf den Sanftanlauf fertig.
https://www.automation24.de/sanftstarter-siemens-sirius-3rw3013-1bb14
>Nothalt Taster?
muss das nicht ein Notausschalter sein ?
du meinst:
https://de.wikipedia.org/wiki/Sanftanlauf --Sanftanlaufgeräte?
Sicher ?
>Der Zündwinkel wird mittels Potentiometer eingestellt
Ein Poti pro Zündwinkel ?
Handelt es sich um 2 fertige einPhasen Anschnittsteuerungen?
Das würde ich nicht machen.
Ich verstehe das so: Es sollen 2 der 3 Phasen mittels Phasenanschnitt
gesteuert werden. Dazu muss zunächst der Nulldurchgang der
"nichtgesteuerten" Phase detektiert werden. Nach 6,66ms (durch die 120
Grad Verschiebung zwischen den Phasen) muß der Phasenanschnitt auf der
2. Phase und nach weiteren 6,66ms der auf der 3. Phase synchron zur 2.
erfolgen.
Dazu braucht man dann aber auch Triacs statt Thyristoren, um beide
Halbwellen zu erwischen.
Noch zum Notaus: Der MUSS auf den Hauptstromkreis wirken -nicht nur
sollte
Vielleicht kommst Du bei "klein genugem Motor" auch mit der sog. KUSA
(Kurzschluß-Sanft) Schaltung aus, bei der in einer Phase während des
Anlaufes ein Widerstand liegt, der dann mittels Schützkontakt überbrückt
wird.
> Ein Poti pro Zündwinkel ?> Handelt es sich um 2 fertige einPhasen Anschnittsteuerungen?
War etwas dumm formuliert meinerseits. Dabei handelt es sich nicht um
ein Potentiometer und einen Kondensator der einen Phasenschieber bildet,
sondern um ein Poti dessen Zweck es ist dem Mikrocontroller einen Analog
Wert zu übergeben. Das Ganze soll so funktionieren: An der Spannung
zwischen L und N liegt ein Zero Crossing Detector, (realisiert aus einem
Spannungsteiler und einem Op Amp), der eine Logische 1 ausgibt sobald L1
einen Nulldurchgang bezüglich N hat. Mit der Frequenz, den 120°
Verschiebung und dem Poti Wert kann sich der Controller errechnen, wann
er den Triac zündet. Zwischen Triac und µC befindet sich noch ein
Moc3041 für eine galvanische Trennung.
> Ich verstehe das so: Es sollen 2 der 3 Phasen mittels> Phasenanschnitt> gesteuert werden. Dazu muss zunächst der Nulldurchgang der> "nichtgesteuerten" Phase detektiert werden. Nach 6,66ms (durch die 120> Grad Verschiebung zwischen den Phasen) muß der Phasenanschnitt auf der> 2. Phase und nach weiteren 6,66ms der auf der 3. Phase synchron zur 2.> erfolgen.
Ja, das ist der Plan
> Dazu braucht man dann aber auch Triacs statt Thyristoren, um beide> Halbwellen zu erwischen.
Hätte ich auch verwendet
> Noch zum Notaus: Der MUSS auf den Hauptstromkreis wirken -nicht nur> sollte
Werde das wohl oder übel mit einem Schütz lösen.
> Vielleicht kommst Du bei "klein genugem Motor" auch mit der sog. KUSA> (Kurzschluß-Sanft) Schaltung aus, bei der in einer Phase während des> Anlaufes ein Widerstand liegt, der dann mittels Schützkontakt überbrückt> wird.
Eher nicht, der Motor hat 1,5kw
Samuel schrieb:> Wäre über jede hilfreiche Antwort dankbar
Hallo,
ich würde Interrupt mit Timer machen, z.B. jede 50 us. In ISR wird ein
Counter pro Phase inkrementiert.
In Hauptprogramm werden Tasten abgefragt und auch Counter. Solange
Counter und vorangestellte Werte gleich sind, erfolgt Einschalten von
Thyristor..
Natürlich brauchst du auch Null-Detektor für jede Phase, um Counter auf
Null zu setzen.
Etwa so.
Maxim B. schrieb:> Natürlich brauchst du auch Null-Detektor für jede Phase, um Counter auf> Null zu setzen.
Der Abstand der Nullduchgänge wird bei 50Hz Netzfrequenz wohl recht
deterministisch sein. Kennst du einen - kennst du alle. Warum willst du
jede Phase einzeln messen?
Samuel schrieb:> Gibt es eine andere Möglichkeit einen Ausgang zu schalten und> gleichzeitig nicht im Code hängen zu bleiben.
Typischer Weise benutzt man dafür kein Delay, sondern die PWM-Ausgänge.
Für 3 Phasen ist der ATtiny861 besser geeignet (3 PWM-Ausgänge).
Samuel schrieb:> Ich bin recht neu im Mikrocontroller-Bereich und habe eine> Phasenanschnittssteuerung in einem Drehstromnetz (3x230V) entworfen.
Merkt man.
So einfach ist es nicht.
Man kann TRIACs nicht mehr ausschalten.
Man kann sie nur zu einer bestimmten Phasenwinkelzeit zünden.
Dazu muss man erst mal die Phasenlage bestimmen.
Und im Programm relativ zum Prozessortakt wissen, wann ein Zünden des
TRIACs stattfinden soll.
Es gibt viele Programmiermethoden um das zu erreichen, delay ist keine
davon.
Hardwaretimer kann man eventuell nutzen, muss man aber nicht. Eine
Zeitabfrage (Timer, millis bei Arduino) in einer schnell umlaufenden
Programmhauptschleife reicht oft. Ein interner Timer Tick Interrupt ist
auch oft ausreichend.
Maxim B. schrieb:> Wolfgang schrieb:>> Warum willst du>> jede Phase einzeln messen?>> Weil Netzfrequenz sich auch ändern kann
Frequenz schon, Phasenverschiebung nicht. Wenn du eine Phase misst, dann
kennst du alle.
Da er nur L1 und L3 schalten will/kann, MUSS dem selbst-gebastelten
Sanftanlauf zwingend ein Schütz und Motorschutzschalter vorgeschalten
sein. Dort ist hoffentlich auch ein Notaus integriert, sodass er direkt
beim Controller keinen mehr braucht.
Wie sanft muss denn der Anlauf sein? Wäre Stern-Dreieck Umschaltung mit
einem Schütz keine Alternative?
Wenn es Triacs sein müssen, dann würde ich gleich allen drei Phasen
einen spendieren. Kann mir nicht vorstellen, dass der Motor glücklich
ist wenn er auf zwei Phasen 50V und auf der dritten 230V anliegen hat..
Funktioniert Phasenanschnitt so ohne weiteres im Drehstromnetz OHNE
Neutralleiter? Jetzt ohne lange darüber nachzudenken aber da zappelt
doch die Sternpunktspannung wie wild und der Motor gibt komische
Geräusche von sich..