Hallo Community...
es geht um einen Aufzug... vorerst nur um ein kleines Modell zum
ausprobieren.
Ich möchte einen Regelkreis bauen, mit dem ich den Aufzug auf eine
gewünschte Etage schicken kann. (Es soll 3 Etagen geben)
Ich habe einen Atmega8... ich dachte mir, dass ich die Regler evtl. auch
zeitdiskret implementieren könnte.
Meine Frage ist, wie ich einen Sollwert mit dem Istwert vergleichen
kann.
Woher bekomme ich denn einen Istwert? Mit Sensoren?
Hätte jemand eine Idee wie man das mit einem Regelkreis realisieren
könnte?
Ist mein Problem klar geworden?
Wäre klasse, wenn jemand eine Idee hat!
Weiss jemand, wie das bei normalen Aufzügen gemacht wird?
Gruß Fritz102
>Meine Frage ist, wie ich einen Sollwert mit dem Istwert vergleichen>kann.
if istwert == sollwert mach das
else if istwert>sollwert mach dies
else Katastrophe
>Woher bekomme ich denn einen Istwert? Mit Sensoren?
Nein, mit Gottes Hilfe fliegt der dir einfach so zu.
Wenn ich einen Sensor an einer Etage installiere, dann stoppt der Aufzug
aber schlagartig, da er den Sensor erst sieht, wenn er auf der Etage
angekommen ist.
Der Aufzug soll so schnell wie möglich fahren aber bevor er stehen
bleibt soll er sanft abbremsen... (so wie sich ein PI-Regler verhalten
würde)
Die Implementierung bekomme ich denk ich hin... aber das erkennen der
Etage ist mit unklar...
Beschleunigungssensor für die Z-Achse in den Aufzug montieren.
Z.B.:SCA1000 und SCA1020 Serie mit SPI.
Aus der Beschleunigung über die Zeit folgt die Position (Etage) in der
Z-Ebene.
s = 1/2*a*t^2
Gruss
Stanko
>Wenn ich einen Sensor an einer Etage installiere, dann stoppt der Aufzug>aber schlagartig, da er den Sensor erst sieht, wenn er auf der Etage>angekommen ist.
Dann bring den Sensor VOR der Etage an! Dann hast du Zeit
zum bremsen.
Man könnte auch ein Schiebepoti im Fahrstuhlschacht installieren, mit
dem man die aktuelle Postion ermittelt... (nur so als weitere
Möglichkeit)
Sinnvoller wäre es, einen Inkrementalgeber in den Antreibsstrang zu
integrieren. Damit kann man die Postion des Aufzugkorbs bestimmen und
die Motordrehzahl kann man darüber auch bestimmen und regeln.
macht man das nicht üblicherweise mit 2 Schaltern? Einer rechtzeitig vor
der Etage, damit wird der Aufzug in den Feinfahrtmodus gebracht und
damit gehts dann bis zum zweiten Schalter der dann genau zum Stop auf
Etagenniveau führt.
bye
Frank
So ein Zweipunktschalter wird sowohl vor der Etage, als auch auf der
Etage angebracht. Aber für eine Regelung ist das natürlich Quatsch mit
Soße. An jedem Antrieb hängt ein Encoder, der ca. 24 Bit Auflösung
bringt und mit dem die Steuerung zu jedem Zeitpunkt weis, wo die Kabine
steht. Der Feinabgleich erfolgt dann mit den Zweipunktschaltern.
Natürlich kann man etwas ähnliches erzielen, wenn eine Codeskala im
Schacht selbst befestigt ist und ein Sensor an der Kabine die Signale
aufnimmt. Aber dies wird meistens nur zur weiteren Sicherheit neben dem
Encoder benutzt.
Also - die Istposition kommt vom Encoder. Die Sollposition von dem
gewählten Etagentaster in der Kabine.
Gruß
TK
Danke für die Vorschläge!
Mir scheint die Idee mit dem Inkrementalgeber am effektivsten und
einfachsten zu sein... d.h. man würde die Strecken ermitteln die der
Fahrstuhl z.B. von Etage 1 zu 2 benötigt (eine Anzahl von Schritten) und
würde diese Schritte mit dem Inkrementalgeber abzählen wenn man den
Aufzug später fahren lässt, richtig?
Auf was ist bei einem Inkrementalgeber zu achten wenn ich einen an den
Atmega8 anschliessen möchte? Hat jemand Erfahrungen?
@TK: das mit dem Encoder habe ich nicht verstanden... woher bekommt er
seine Informationen zur Position?
> das mit dem Encoder habe ich nicht verstanden... woher bekommt er> seine Informationen zur Position?
Die Synchronisation der im Controller intern gezählten Position kann
erfolgen, sobald eine beliebige Etage erreicht ist und dies über den
Endschalter gemeldet wird.
Otto
fyi: vor ewigen zeiten waren mal "sensorlose" aufzüge in, so um 1969.
die mussten dann alle paar jehre vom techniker neu eingestellt weden,
weil die stufe zwischen kabinenboden und etagenboden immer größer wurde
:-)
> das mit dem Encoder habe ich nicht verstanden... woher bekommt er> seine Informationen zur Position?
Na die grobe Poistion vom Drehgeber, sobald die Kabine in die Nähe der
Endposition kommt wird sie langsamer, der Stockwerksschalter gibt dann
die endgültige Position an der gehalten wird. Gleichzeitig wird damit
wird bei jedem Stockwerk der Messfehler wieder kompensiert.
Morgen
Habe mir nicht Alels durchgelesen!
Was wie 'erst als Modell' spricht in meinen Ohren sowas aus wie 'abewr
danach in Real'.
Nun denn - sofern die Aufzäge nicht per SPS oder umorientiertem 286er
verwaltet werden, steckt eine normale Schütz-Steuerung dahinter.
Zugegeben, millimetergenau ist die Position nicht ermittelbar, aber auch
dermaßen unwichtig, daß diese Teile schon vor zig Jahren tadellos
funktionierten.
Wer das Rad gerne neu erfinden möchte, bitte, aber um Gottes Willen,
wenn man sich nicht Mal überlegen kann, wann der Aufzu was machen soll -
bitte lasst die Finger davon, ist besser für's Spielzeug (wärend der
Entwicklung) und extrem besser für die armen Mitfahr-Schlucker beim
Aufbau 'in the wild'.
Vll erst ein Konzept, was wie wann - DANN kann man über Verbesserungen
schwätzen.
Wem eine simple (ok, einigermaßen simpel) Schützschaltung nicht
ausreicht, aber wem dabei jedliche Ahnung jehlt, wie so ein Aufzug
funktionieren KÖNNTE ... bitte lasse die Finger davon.
Bei meinem Glück stehe ich eines Tages in DIESER Gondel und mein letztes
Stündlein meldet sich leise ...
Üblicherweise gibt es pro Etage mehrere Sensoren. Dadurch lässt sich das
Abbremsen realisieren. Irgendwelche Rechnereien mit Beschleunigungen
funktionieren nur in der Theorie. Die Geschwindigkeit und Beschleunigung
ist eben nicht exakt reproduzierbar. Sonst würde ja nur ein Sensor im
Keller und einer unter dem Dach genügen.
@gast:
Es reicht genau ein Sensor (nämlich der Encoder an der Antriebswelle)
und zum "Feinabgleich" der Endschalter in der Etage!
Der Encoder gibt - wie bereits erwähnt - einen 24bit Graycode aus.
Dieser kann ohne weiteres in eine millimetergenaue Position umgerechnet
werden, wenn die Mechanik bekannt ist (also z.B eine Encoderumdrehnung
entspricht dann z.B. 50cm)! Bei den Encodern kann eine Umdrehung mit
12bit aufgelöst werden (4096 Schritte) und gleichzeitig kann der Encoder
dann noch 12bit Umdrehungen auflösen (also noch mal 4096 Umdrehungen).
Das sollte für eine beliebige Schachthöhe ausreichen um auf einen
Millimeterwert zu kommen. Alles andere erfolgt dann mittels Software
(Anfahrtsbeschleunigung, Bremsbeschleunigung, Endgeschwindigkeit,
Sicherheitsabfragen usw.).
Gruß
TK
Die Anzahl der zu verarbeitenden Signale sollte man dabei nicht
unterschätzen. Neben den Etagensensoren kommen dazu: Einklemmschutz der
Schiebetür (Lichtschranke), Tür geschlossen auf jeder Etage, dazu noch
die Bedienung (Taster Rauf/Runter an jeder Tür, Bedientafel in der
Kabine, Anzeigen auf den Etagen, Display in der Kabine, Nothalt/Notruf).
Nicht zu vergessen, die heutzutage übliche fahrtrichtungsabhängige
Fahrwegsoptimierung.
> Das sollte für eine beliebige Schachthöhe ausreichen um auf einen>Millimeterwert zu kommen.
Solange auch das Gewicht der Kabine bekannt ist, ja. Das Seil dehnt sich
aber auch, wenn die Kabine schwer beladen ist. Da ist es definitiv nicht
mehr millimetergenau. Macht bei drei Stockwerken bestimmt nichts aus,
aber beim 100-stöckigen Wolkenkratzer soll's ja auch im untersten
Stockwerk noch einigermaßen passen.
Jadeclaw Dinosaur wrote:
> Nicht zu vergessen, die heutzutage übliche fahrtrichtungsabhängige> Fahrwegsoptimierung.
Was soll denn das sein?
Aufzüge wechseln immer dann die Richtung, wenn kein weiterer Fahrtwunsch
in die gleiche Richtung vorliegt. Und das machen sie seit ewigen Zeiten
so.
Bei sehr geringer Auslastung gibt es dann noch die Leerfahrt zu einer
Vorzugsetage.
Jede andere Optimierung dürfte starke Beschädigungen an den
Aufzugseinrichtungen nach sich ziehen, wenn die Richtung vor Erreichen
des Fahrziels wechselt.
Peter
TK wrote:
> Der Encoder gibt - wie bereits erwähnt - einen 24bit Graycode aus.> Dieser kann ohne weiteres in eine millimetergenaue Position umgerechnet> werden
Abgesehen vom Schlupf kommt ja noch die temperatur- und lastabhängige
Ausdehnung des Stahlseils hinzu.
Eine Genauigkeit besser als 10cm zu erreichen ist auch unnötig.
Ohne Etagenschalter gehts nunmal nicht (zuverlässig).
Anstelle des Encoders reicht ne simple Zeitsteuerung völlig aus für den
Beginn der Langsamfahrt. Die Drehzahl der Asynchronmotoren ist
weitgehend lastunabhängig.
Peter
Wenn wir schon kleinlich werden wollen (Seilausdehnung, Temperatur
usw.), dann kann man dies über eine Wiegeeinrichtung in den Griff
bekommen oder einfach mehrere Seilzüge an Kabine und Gegengewicht
befestigen. Ich hab im übrigen noch nie gehört, daß eine Zeitsteuerung
in einer Aufzugssteuerung eingesetzt wird um Etagen anzufahren. Fakt
ist: Die Steuerung greift auf VIEEELE Sensorsignale zurück - unter
anderem auf Encoderdaten, Endschalter, Fahrtrichtung, Wiegeeinrichtung
usw. und verteilt diese in einem anderen Codierungsverfahren zur Kabine
weiter, wo sämtliche Peripherie wie Anzeige(n), Sprachansagen,
Beleuchtungsanzeige der Knöpfe usw. darauf zurückgreifen. Gleichzeitig
werden Signale von den Knöpfen eingelesen, um die möglichen Haltestellen
optimal anzufahren.
ABER:
Wir sollten die eigentliche Fragestellung nicht aus den Augen verlieren.
Da geht es um ein Modell für 3 Etagen UND die Erstellung eines
Regelkreises für die (Motor)ansteuerung mittels MEGA8 und nicht darum
wie ein Aufzug tatsächlich funktioniert und ob Genauigkeiten von
Millimeter oder Zentimeter gefordert sind.
Gruß
TK
Die beiden alten Aufzüge, die ich genauer kenne, funktionieren alle mit
rein elektromechanischer Schützsteuerung und Hydraulikantrieb. Die
Positionsregelung funktioniert mit Readkontakten im Schacht und an der
Kabine. Es gibt dabei immer mittig zwischen zwei Etagen einen
Readkontakt, der ausgelöst wird, wenn die Kabine daran vorbeifährt
(Langsamfahrtkontakt). Die Kabine selbst hat oben 4 Readkontakte und in
jeder Etage gibt es 4 Magneten am Schacht. Diese 4 Magneten haben alle
minimal unterschiedliche Höhen und lösen in der Nähe der Bündigstellung
die Readkontakte aus.
Die vier Kabinenkontakte haben die folgenden Funktionen:
1. Bündigkontakt von oben einfahrend
2. Bündigkontakt von unten einfahrend
3. Nachholstellung
4. Feinsenkstellung
Ein Fahrvorgang sieht etwa so aus:
1. Anforderung von einem Stockwerk
2. Türen Schließen wenn offen
3. Stern-Dreieck-Hochlauf der Hydraulikpumpe
4. Warten auf Druckaufbau
5. Schalten des Fahrtrichtungsschützes (wählt die Steuerventilgruppe
aus)
6. Durchschalten der vorgewählten Steuerventilgruppe
(Anfahrzeitkonstante ist hydraulisch eingestellt)
7. Anfahren auf Nenngeschwindigkeit
8. Warten auf Langsamfahrtkontakt vor Zielstockwerk
9. Umsteuern auf Langsamfahrt (2cm/sec) mit hydraulisch gesteuerter
Bremsrampe
10. Je nach Fahrtrichtung warten auf jeweiligen Bündigkontakt
11. Hydraulikpumpe stopp
12. Türen öffnen
13. Überwachen der Feinsenk- und Nachholkontakte und eventuelles
Korrigieren mit 5mm/sek.
Alles in allem kommen aus dem Schacht etwa 50 Sensorsignale, die von der
Steuerung ausgewertet und überwacht werden. Von der Hydraulik kommen
weitere 20. Ein AtMega8 dürfte dafür zu wenig Ports haben. Abgesehen
davon muss eine Aufzugsteuerung redundant sein und alle möglichen
Sicherheitsauflagen erfüllen. Der Antrieb ist immerhin auch bei
geöffneten Türen im Eingriff (zum Nachholen und Feinsenken) und kann bei
einer Fehlfunktion erheblichen Schaden anrichten.
Grüße,
Peter
Peter Dannegger wrote:
> Jadeclaw Dinosaur wrote:>> Nicht zu vergessen, die heutzutage übliche fahrtrichtungsabhängige>> Fahrwegsoptimierung.>> Was soll denn das sein?>> Aufzüge wechseln immer dann die Richtung, wenn kein weiterer Fahrtwunsch> in die gleiche Richtung vorliegt. Und das machen sie seit ewigen Zeiten> so.
Das ist die Basisfunktionalität. Dazu kommen dann die Extras. Da werden
Anforderungen nicht in der Reihenfolge des Eintreffens abgearbeitet,
sondern abhängig von der zurückzulegenden Fahrtstrecke. Ebenso werden
Anforderungen, die ohne Änderung der Fahrtrichtung abzuarbeiten sind,
bevorzugt, z.B. Mensch fährt von der 2. Etage in die 5., auf der 1. und
der 9. wird gedrückt, dann ist nach dem Ausstieg auf der 5 erstmal die
9. Etage dran.
> Bei sehr geringer Auslastung gibt es dann noch die Leerfahrt zu einer> Vorzugsetage.> Jede andere Optimierung dürfte starke Beschädigungen an den> Aufzugseinrichtungen nach sich ziehen, wenn die Richtung vor Erreichen> des Fahrziels wechselt.
Das dürfte nie passieren, denn außer der Leerfahrt zur Vorzugsetage ist
immer davon auszugehen, daß sich Personen in der Kabine befinden.
<OT>
Filmtipp: Fahrstuhl des Grauens (De Lift)
http://www.imdb.de/title/tt0087622/
</OT>
Und ein Extra ist dann, dass es an jeder Etage zwei Taster gibt, die den
Fahrgast nach der gewünschten Fahrtrichtung fragen und ihn nur
mitnehmen, wenn der Aufzug gerade in diese Richtung fährt.
Peter
EIn ganz besonders nettes Extra wäre bei hektischem wiederholten Drücken
des Rufknopfes die Rufanforderung zu löschen und 5 Minuten Pause zu
machen. Geht aber nur bei vandalensicheren Ruftastern gut...