Forum: Mikrocontroller und Digitale Elektronik DC - Wechselschalter mit Transistor


von Lukas D. (programmierer12)


Lesenswert?

Hallo zusammen,
ich habe ein Problem: und zwar habe ich eine Platine an deren Ausgang 
ein Transistor sitzt. Dieser soll einen Motor solange in eine Richtung 
drehen lassen, bis dieser an einem Endschalter anstößt. Dummerweise habe 
ich nicht richtig überlegt und nun stehe ich vor dem Problem, wie lasse 
ich den Motor nun OHNE meine Platine zu verändern rückwärts laufen?

Mit freundlichen Grüßen
programmierer12

von Fritz (Gast)


Lesenswert?

Zeig mal deinen Schaltplan/Platine.

von Lukas D. (programmierer12)


Lesenswert?

Fritz schrieb:
> Zeig mal deinen Schaltplan/Platine.

Ich kann dir das jetzt klar zumuten aber im endtefekt ist es nur ein 
TIP120 Transistor der über einen Basiswiderstand von einem Arduino 
gesteuert wird ;)

von H.Joachim S. (crazyhorse)


Lesenswert?

Dann bleibt dir nichts anderes übrig als den Motor mit einem Relais 
umzupolen (2xUm)
Sinnvoller wäre es, statt dem einen Transistor gleich einen 
Brückentreiber einzubauen.

von Lukas D. (programmierer12)


Lesenswert?

H.Joachim S. schrieb:
> Sinnvoller wäre es, statt dem einen Transistor gleich einen
> Brückentreiber einzubauen.

Kann ich den Brückentreiber denn an den Transistor anschließen, wiel ich 
ja an der Platine selbst nix mehr ändern kann(weil schon hergestellt)?

von Timo N. (tnn85)


Lesenswert?

Nein!

von Lukas D. (programmierer12)


Lesenswert?

Timo N. schrieb:
> Nein!

Wie muss ich denn das machen ? Direkt an den digitalen Pin? Mit oder 
ohne Vorwiderstand(10k beim Transistor). Wie wird das Programmtechnisch 
gesteuert? Könntest du das eventuell etwas ausführlicher erklären?

von Manfred (Gast)


Lesenswert?

Lukas D. schrieb:
> Fritz schrieb:
>> Zeig mal deinen Schaltplan/Platine.
> Ich kann dir das jetzt klar zumuten aber im _endtefekt_
Haeh, anerkannter Legastheniker?

> ist es nur ein
> TIP120 Transistor der über einen Basiswiderstand von einem Arduino
> gesteuert wird ;)
Geh' wieder in den Sandkasten.

Alternativ helfen Amazon oder der lokale Buchhändler: "Die elektronische 
Welt mit Arduino entdecken" wäre ein hilfreiches Buch.

von Lukas D. (programmierer12)


Lesenswert?

Manfred schrieb:
> Lukas D. schrieb:
>> Fritz schrieb:
>>> Zeig mal deinen Schaltplan/Platine.
>> Ich kann dir das jetzt klar zumuten aber im _endtefekt_
> Haeh, anerkannter Legastheniker?
>
>> ist es nur ein
>> TIP120 Transistor der über einen Basiswiderstand von einem Arduino
>> gesteuert wird ;)
> Geh' wieder in den Sandkasten.
>
> Alternativ helfen Amazon oder der lokale Buchhändler: "Die elektronische
> Welt mit Arduino entdecken" wäre ein hilfreiches Buch.

Ja gut es ist echt nicht viel(LCD, RTC, DCF77-Empfänger, IR-Empfänger, 
Transistor), aber trotzdem wäre ich über Hilfestellungen dankbar gewesen 
und nicht über sagen wir mal "Stichelein"!

von H.Joachim S. (crazyhorse)


Lesenswert?

An einem normalen I/O-Pin kann es nicht gehen, da du 3 Zustände 
brauchst.
-Linkslauf
-Aus
-Rechtslauf

Lässt sich nur schwer mit einem Bit darstellen :-)
Such dir einen passenden Brückentreiber aus (je nach Motor, Strom und 
Spannung) und steuer den mit 2 Pins vom Arduino.

Ansonsten, wenn du an der Platine nichts ändern kannst/willst, musst du 
es eben so lassen. Funktioniert halt nicht, was solls.

von Phillipp (Gast)


Lesenswert?

Ein Transistor kann den Strom nur in eine Richtung durchlassen.
Stell dir das, sehr vereinfacht, so vor:

Durch einen Gartenschlauch fließt Wasser, von der Pumpe 
(Spannungsquelle) in den Pool (Masse GND).
Einen Transistor ist ein Absperrhahn im Schlauch.
Je mehr du ihn öffnest (je mehr Strom an der Basis fließt)desto mehr 
Wasser fließt auch durch den Schlauch.

Deine Frage wäre in diesem Beispiel: Wie bekomme ich das Wasser aus dem 
Pool in Richtung Pumpe?

von Lukas D. (programmierer12)


Lesenswert?

Okay danke für eure Antworten! Ich denke ich werde es so machen, dass 
durch den Endschlater ein Relay geschaltet wird, dass dann den Strom 
umpolt. Ist das machbar?

von Phillipp (Gast)


Lesenswert?

Lukas D. schrieb:
> Ja gut es ist echt nicht viel(LCD, RTC, DCF77-Empfänger, IR-Empfänger,
> Transistor), aber trotzdem wäre ich über Hilfestellungen dankbar gewesen
> und nicht über sagen wir mal "Stichelein"!

Zeig doch mal ein Foto von der Platine UND den gesamten Schaltplan.
Wenn du dann noch sagst,was die Aufgabe der Schaltung sein soll,
können wir ja mal versuchen zu retten was zu retten ist.

Und lass die Stecher sticheln.
Das ist hier halt so.

von Phillipp (Gast)


Lesenswert?

Lukas D. schrieb:
> Okay danke für eure Antworten! Ich denke ich werde es so machen, dass
> durch den Endschlater ein Relay geschaltet wird, dass dann den Strom
> umpolt. Ist das machbar?

Bestimmt.
Dann läuft der Motor aber immer zwischen den beiden Endschaltern hin und 
her,
bis die Basis an Transistor keinen Strom mehr bekommt.

von Lukas D. (programmierer12)


Angehängte Dateien:

Lesenswert?

Also gut....
Die Schaltung soll in einem gewissen zeitlichen Rahmen die Helligkeit 
erkennen und je nach Helligkeit einen Motor steuern. Also wenn es hell 
genug ist und z.B. zwischen 7 und 8 Uhr, dann dreht der Motor solange 
nach rechts bis ein Endschalter betätigt wird. und Abend eben das 
gleiche.

von H.Joachim S. (crazyhorse)


Lesenswert?

Und das soll funktioniert haben?? Glaub ich nicht.

von Lukas D. (programmierer12)


Lesenswert?

H.Joachim S. schrieb:
> Und das soll funktioniert haben?? Glaub ich nicht.

Was soll funktioniert haben?

von H.Joachim S. (crazyhorse)


Lesenswert?

Den Motor an und aus zu schalten.

von Lukas D. (programmierer12)


Lesenswert?

Also ich hab es geschafft ....  Die Platine tut was sie soll nur kann 
sie dummerweise die Polarität nicht ändern

von H.Joachim S. (crazyhorse)


Lesenswert?

Der Motor läuft aber nur ein bisschen, bekommt nicht mal 4V ab. Du hast 
da eine Kollektorschaltung gebastelt.

von H.Joachim S. (crazyhorse)


Lesenswert?


von MaWin (Gast)


Lesenswert?

Lukas D. schrieb:
> Also gut....
> Die Schaltung soll in einem gewissen zeitlichen Rahmen die Helligkeit
> erkennen und je nach Helligkeit einen Motor steuern. Also wenn es hell
> genug ist und z.B. zwischen 7 und 8 Uhr, dann dreht der Motor solange
> nach rechts bis ein Endschalter betätigt wird. und Abend eben das
> gleiche.

Die Schaltung ist doch abstrus.

Ein TIP120 als Emitterfolger aus einem ATmega-Ausgang verheizt doch von 
der 12V erst mal 9V bevor 3V an den Motor gehen. Und beim Emitterfolger 
braucht man auch keinen 10k Basiswiderstand.

Wäre der Transistor in Emitterschaltung, würden die 300uA mit der 
1000-fachen Stromverstärkung des TIP120 auch nur 300mA schalten, noch 
'ne Fehldimensionierung.

Du hast genügend Pins noch frei, um eine ordentliche Vollbrücke 
anzuschliessen, je nach Motor vielleicht TLE4202.

von Lukas D. (programmierer12)


Lesenswert?

MaWin schrieb:
> Lukas D. schrieb:
> Also gut....
> Die Schaltung soll in einem gewissen zeitlichen Rahmen die Helligkeit
> erkennen und je nach Helligkeit einen Motor steuern. Also wenn es hell
> genug ist und z.B. zwischen 7 und 8 Uhr, dann dreht der Motor solange
> nach rechts bis ein Endschalter betätigt wird. und Abend eben das
> gleiche.
>
> Die Schaltung ist doch abstrus.
>
> Ein TIP120 als Emitterfolger aus einem ATmega-Ausgang verheizt doch von
> der 12V erst mal 9V bevor 3V an den Motor gehen. Und beim Emitterfolger
> braucht man auch keinen 10k Basiswiderstand.
>
> Wäre der Transistor in Emitterschaltung, würden die 300uA mit der
> 1000-fachen Stromverstärkung des TIP120 auch nur 300mA schalten, noch
> 'ne Fehldimensionierung.
>
> Du hast genügend Pins noch frei, um eine ordentliche Vollbrücke
> anzuschliessen, je nach Motor vielleicht TLE4202.

MaWin schrieb:
> Du hast genügend Pins noch frei, um eine ordentliche Vollbrücke
> anzuschliessen, je nach Motor vielleicht TLE4202.

Welche digitalen pins sind denn da noch frei? Und wie viele braucht man 
da überhaupt?

von Mani W. (e-doc)


Lesenswert?

Lukas D. schrieb:
> Also ich hab es geschafft ....  Die Platine tut was sie soll nur kann
> sie dummerweise die Polarität nicht ändern

Also tut sie nicht, was sie soll!



Ja, ohne 2 Ausgänge wird es schwer, diesen Zustand zu beenden...

2 Ausgänge, 2 Vorwiderstände, 2 Relais mit Umschaltekontakten, 2 Dioden,
2 Transistoren und das ganze richtig verschaltet löst Dein Problem mit
Sicherheit...

von Sebastian S. (amateur)


Lesenswert?

Das Kapitel mit der Funktionsbeschreibung von Transistoren solltest Du 
nochmal durcharbeiten.
Mehr als 4,?V kommen an Deinem Motor nicht an, selbst wenn Du die 
Versorgungsspannung höher wählst als 12V.
Aus den drei Zuständen:
Links
Stopp
Rechts
kannst Du einfach zwei machen.

An den Enden, des Weges, zwei Endschalter, mit jeweils einer Diode 
überbrückt.

Fährt Dein Motor in den Endschalter, so unterbricht dieser den Strom. 
Stop. Polst Du aber die Spannung um, so wird der Schalter, wegen der 
Diode, überbrückt.

Du brauchst also nur:
Links
und
Rechts
Schaltet der µC ab, so ist Ruhe im Karton, egal wo der Motor steht.

von Lukas D. (programmierer12)


Lesenswert?

Müssen denn die zwei digitalen pins für eine vollbrücke pwm fähig sein? 
Wenn nicht kann ich einfach die digitalen pins der endschalter nehmen 
und die Strecke per Zeit steuern.

von MaWin (Gast)


Lesenswert?

Lukas D. schrieb:
> Welche digitalen pins sind denn da noch frei?

Kennst du deine Schalrung nicht ? Ich sehe 3.

> Und wie viele braucht man da überhaupt?

Na wenn ein einzelner Transistor 1 braucht, und eine Vollbrücke 2, 
braucht man wohl 1 mehr.

Mathematik scheint als Programmierer nicht deine Stärke zu sein.

von Mani W. (e-doc)


Angehängte Dateien:

Lesenswert?

Dein Problem kann leicht mit der angehängten Schaltung gelöst werden...


Relais 1 on: Motor dreht in eine Richtung

Relais 1 off: Motor stoppt

Relais 2 on: Motor dreht andere Richtung

Relais 2 off: Motor stoppt

: Bearbeitet durch User
von Mani W. (e-doc)


Lesenswert?

Andere Möglichkeit für diese Schaltung:

Relais 1  schaltet Motor auf links, Relais 2 stoppt...

Relais 1 fällt ab und Motor läuft in die andere Richtung, bis
Relais 2 abfällt und den Motor stoppt...


Es gibt doch einige Möglichkeiten, auch ohne PWM...

von Harald W. (wilhelms)


Lesenswert?

Lukas D. schrieb:

> ich habe ein Problem: und zwar habe ich eine Platine an deren Ausgang
> ein Transistor sitzt. Dieser soll einen Motor solange in eine Richtung
> drehen lassen, bis dieser an einem Endschalter anstößt. Dummerweise habe
> ich nicht richtig überlegt und nun stehe ich vor dem Problem, wie lasse
> ich den Motor nun OHNE meine Platine zu verändern rückwärts laufen?

Ich weiss ja nicht, was Du mit dem Motor antreiben willst,
aber vielleicht wäre ein Exzenter, der sich jeweils eine
halbe Umdrehung für Dich eine geeignete Lösung. Ein Schei-
benwischer läuft ja auch hin und her, ohne das sich die
Motordrehrichtung ändert.

von Hubert G. (hubertg)


Lesenswert?

Wenn der Motor nur zwischen den Endschalter hin und herlaufen soll, geht 
es auch mit nur einem Relais mit zwei Umschaltekontakte.
Also anstelle des Motor das Relais anschließen und den Motor über das 
Relais steuern. Die Endschalter in die Motorleitung einbinden und mit 
richtig gepolten Dioden überbrücken.
Das Programm dann entsprechend anpassen wenn es ohnehin nicht schon so 
gedacht ist. Das Relais zieht in der Früh an, der Motor läuft in 
Endstellung. Am Abend fällt das Relais wieder ab und der Motor läuft 
zurück in Ruhestellung.
So braucht an der Platine, abgesehen von der Ansteuerung des Relais, 
nichts geändert werden.

von STK500-Besitzer (Gast)


Angehängte Dateien:

Lesenswert?

Hubert G. schrieb:
> Wenn der Motor nur zwischen den Endschalter hin und herlaufen
> soll, geht
> es auch mit nur einem Relais mit zwei Umschaltekontakte.
> Also anstelle des Motor das Relais anschließen und den Motor über das
> Relais steuern. Die Endschalter in die Motorleitung einbinden und mit
> richtig gepolten Dioden überbrücken.
> Das Programm dann entsprechend anpassen wenn es ohnehin nicht schon so
> gedacht ist. Das Relais zieht in der Früh an, der Motor läuft in
> Endstellung. Am Abend fällt das Relais wieder ab und der Motor läuft
> zurück in Ruhestellung.
> So braucht an der Platine, abgesehen von der Ansteuerung des Relais,
> nichts geändert werden.

So, wie auf dem angehängten Bild?!

von Hubert G. (hubertg)


Lesenswert?

Genau so funktioniert es.
Eine Freilaufdiode beim Relais fehlt noch.

: Bearbeitet durch User
von STK500-Besitzer (Gast)


Lesenswert?

Hubert G. schrieb:
> Eine Freilaufdiode beim Relais fehlt noch.

Die ist in der Originalschaltung auch nicht vorhanden ;)

von Hubert G. (hubertg)


Lesenswert?

STK500-Besitzer schrieb:
> Die ist in der Originalschaltung auch nicht vorhanden ;)

In der ist aber auch weder Motor noch Relais eingezeichnet.

von STK500-Besitzer (Gast)


Angehängte Dateien:

Lesenswert?

Zufrieden?

von Helmut L. (helmi1)


Lesenswert?

STK500-Besitzer schrieb:
> So, wie auf dem angehängten Bild?!

Man kann das noch weiter vereinfachen ohne die beiden Dioden. Die beiden 
Endschalter jeweils einer in die Leitung von Kontakt 12 und Kontakt 24 
legen.

von Hubert G. (hubertg)


Lesenswert?

So sollte, bei einer richtigen Dimensionierung des Basiswiderstands vom 
TIP120, einer klaglosen Funktion nichts im Wege stehen.

von STK500-Besitzer (Gast)


Angehängte Dateien:

Lesenswert?

und noch nach Helmuts Vorschlag ;)

von Helmut L. (helmi1)


Lesenswert?

Genau so!

von Christian M. (Gast)


Lesenswert?

MaWin schrieb:
> Ich sehe 3

MaWin schrieb:
> braucht man wohl 1 mehr

Wenn er das so macht, braucht er die restlichen 2 noch für die 
Endschalter!
Problem perfekt gelöst, alle Pins belegt!

Gruss Chregu

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.