Hallo
Baue gerade einen Schlitten, der mit einem Gleichstrommotor angetrieben
wird. Endschalter am Anschlag links und Endschalter am Anschlag rechts.
Nach kurzem Drücken einer Start- Taste soll der Schlitten von rechten
Anschlag
zum linken Anschlag und wieder zurück laufen und stoppen.
Steht der Schlitten aus irgendwelchen Gründen (z.B. nach Stromausfall)
irgendwo zwischen den
Endschaltern, soll er nach kurzem Drücken der Start- Taste der Schlitten
zum rechten Anschlag laufen und stoppen.
Schaltungstechnisch mit ATTINY 48, Motorumpolung usw. kein Problem.
Programmtechnisch kriege ich das aber nicht hin. Hat jemand ein paar
Anregungen/
Stichwörter – kein Code!
Na nur dafür brauchts aber keinen µC. Das geht doch auch mit Flipflops.
Mit µC: Start --> Anschlag rechts? nein? dann fahre - ja? alles gut,
warte auf Taster --> gedrückt? fahre zum Anschlag links --> angekommen?
fahre zurück.
Ja, danke, man könnte auch Relais nehmen usw.
Habe aber weder Relais noch Flip- Flops da.
Na, dann muß ich mal weiter grübeln mit irgendwelche Flags....?
@Andi
Eine mögliche Steuerung mit Taster und Schütz könnte folgendermaßen
aussehen:
S1 ist ein einfacher Taster.
S2 und S3 sind die Endschalter (S3 2-Polig).
K0 ist ein einfaches Hilfsrelais.
K1 und K2 sind Relais oder Schütze mit mehreren Kontakten.
Annahme:
K1 sorgt für die Fahrt nach links
K2 ist für die Heimreise zuständig
S1 ist für den Start zuständig
S2 ist Endschalter am Rechtsanschlag
S3 ist Endschalter am Linksanschlag
M1 ist der Brummer
Vorsicht:
Steht die Konstruktion beim Einschalten am Linksanschlag, so fährt sie
auch ohne Befehl zurück.
Wird der Taster (S1) dauerhaft betätigt, so "rattert" das Teil am
Linksanschlag.
Ein NOT-Aus-Schalter in der Zuleitung könnte auch nicht schaden.
Motore laufen üblicherweise noch etwas nach, wenn man ihnen den Saft
abdreht. Aus diesem Grunde sollten die Endschalter schon kurz vor
Feierabend kommen.
Ist nur so hingefloht, deshalb: AEG
(A)uf
(E)igene
(G)efahr
Wenn er doch nur den Tiny, einen Motor und Endschalter hat, und die
Schaltung kein Problem ist, dann reicht es doch, die Inputs zu
entprellen, mehr oder weniger schlau zu dekodieren und eine Funktion zum
Setzen des Motorstatus aufzurufen.
Zu klären ist noch, wie der Prozessor das Mitten-Drin-Stehenbleiben
erkennt (gemeinsame Versorgung oder Spannungsüberwachung im Lastkreis).
Du solltest auch festlegen, wie sich die Logik bei ständig gedrücktem
Taster verhalten soll - Hin- und herfahren oder nach dem ersten
Durchlauf stehenbleiben, bis der Taster wieder losgelassen wurde. Und,
ob nicht doch ein Anhalten während des Zyklus über den Taster sinnvoll
wäre?
Im einfachsten Fall Inputbits gemeinsam in einem select auswerten:
T EL ER neuer Motorstatus
0 0 0 IstMitte -> keine Änderung
0 0 1 IstRechts -> AUS
X 1 0 IstLinks -> RECHTS
X 1 1 Fehler -> AUS
1 0 0 IstMitte -> keine Änderung | RECHTS (Ausfallerkennung)
1 0 1 IstRechts -> LINKS
Ein direkter Richtungswechsel sollte mit einem kurzen AUS unterbrochen
werden - das ist aber auch abhängig vom verwendeten Motor/Treiber.
Danke für Eure Antworten, die ich heute durcharbeiten werde.
Jedenfalls sehe ich jetzt, daß es doch keine triviale Aufgabe ist, wie
ich zuerst erwartet habe.
Das "Rattern" habe ich auch, allerdings beim Starten, wenn der Schlitten
am rechten Endschalter steht, der ja auch als Abschaltung nach einem
Fahrzyclus verwendet wird.
Ja, die Tasten haben eine Software- Entprellung und ja, den Motor
schalte ich vor einem Richtungswechsel kurz aus und pole nicht im vollen
Lauf einfach die Motorspannung um.
Andi schrieb:> Jedenfalls sehe ich jetzt, daß es doch keine triviale Aufgabe ist, wie> ich zuerst erwartet habe.
Die Aufgabe ist sogar so trivial, dass sie mit ein paar Relais zu
erledigen wäre. Ein Programm für den Tiny passt incl. ausführlicher
Kommentare locker auf eine A4 Seite.
Andi schrieb:> Schaltungstechnisch mit ATTINY 48, Motorumpolung usw. kein Problem.
Poste doch mal deinen Schaltplan. Dann weiß man, wo und wie die ganze
Hardware angeschlossen ist...
astur schrieb:> Zu klären ist noch, wie der Prozessor das Mitten-Drin-Stehenbleiben> erkennt
Ja nun, wenn beim Powerup keiner der Endschalter belegt ist...
Lothar Miller schrieb:> astur schrieb:>> Zu klären ist noch, wie der Prozessor das Mitten-Drin-Stehenbleiben>> erkennt> Ja nun, wenn beim Powerup keiner der Endschalter belegt ist...
... und der Stillstand des Motors diesen Powerup auch erzwingt.
Sonst wird man um eine Überwachung, sei es Strom, Drehzahl oder
irgendein Timeout, nicht herumkommen. Könnte auch nützlich für eine
Blockiererkennung sein.
Beigefügt mal den Schaltplan.
Wenn nach dem Einschalten keiner der beiden Endschalter betätigt ist,
ist davon auszugehen, daß der Schlitten irgendwo in einer
Zwischenposition steht. Zunächst soll gar nichts passieren, erst wenn
die Start - Taste gedrückt wird, läuft der Schlitten an den rechten
Anschlag und stoppt dort.
Ein erneutes Drücken der Start- Taste soll dann Positionszyclus =
Linkslauf zum linken Endschalter, Umkehr, Rechtslauf zum rechten
Endschalter und Stop auslösen.
Andi schrieb:> Schlittensteuerung1.pngAndi schrieb:> Schaltungstechnisch mit ATTINY 48, Motorumpolung usw. kein Problem.
mhh,
1) an Stelle von irgendwelchen Leistungs-OPs würde man wohl eher auf
eine H-Brücke setzen und zusätzliche Freilaufdioden spendieren, damit es
beim Abschalten nicht zu "lustigen" Effekten kommt.
2) der 7805 Spannungsregler braucht lt. Datenblatt bestimmt noch ein
paar Kondensatoren.
3) der ATtiny wird ohne Abblockkondensator nur unzuverlässig
funktionieren.
Ja, Wolfgang, danke, ist alles drin: Kondensatoren vor, nach,
dazwischen, als Elko und Keramik usw. nur nicht in den Plan gezeichnet,
Ja, und geht auch mit H- Brücke. Die OPs habe ich aber fertig da.
Andi schrieb:> Nach kurzem Drücken einer Start- Taste soll der Schlitten von rechten> Anschlag zum linken Anschlag und wieder zurück laufen und stoppen.
Was soll die Mimik machen, wenn der Taster dauernd gedrückt ist? Immer
hin und her fahren? Vermutlich nicht. Deshalb brauchst du eine
Flankenauswertung für den Taster.
Dann ist die Logik nach den Entprellen des Tasters mit anschließender
Flankenerkennung recht simpel:
Variable Richtung (links, stillstand, rechts)
Powerup -> warte auf Taste
Taste betätigt -> fahre nach rechts
Schleife {
Endschalter rechts oder Endschalter links -> Richtung = stillstand
Endschalter rechts und Tasterflanke -> Richtung = links
Endschalter links und Tasterflanke -> Richtung = rechts
}