L293D läuft nur in eine Richtung

Hi,
Ich habe vor mittels eines DC Motors mein Fenster auf kipp und normal steuern zu können. Zum testen nehme ich einen kleineren Motor. Mein Problem ist nun dass sich der Motor nur in eine Richtung steuern lässt. Also je nach Verkabelung nur vor oder rückwärts.
In meinem Sketch steht eigentlich nur:

Digitalwrite(Pin, HIGH);
Digitalwrite(Pin, LOW);

Hoffe mir kann jemand helfen. Danke im voraus.

GG

Hoffe mir kann jemand helfen.

So nicht!
Schaltplan geheim.
Code bis zur Unkenntlichkeit verstümmelt.

Wie stellst du dir eine wirkungsvolle Hilfe vor?

Danke für die schnelle Antwort.
Ich schreibe von meinem Handy aus, weil mein PC sich nicht mit dem Internet verbindet und meinen gesamten Code ab zu tippen würde ewig dauern(Habe nich viel mehr als nur den Motor darin deshalb). Ein Foto kann ich auch nicht schicken denn es ist für das Forum zu groß.
Eine Hilfe Würde ich mir insofern vorstellen dass sie mir ihre Erfahrung in solch einem Fall schildern würde und wir vielleicht auf eine Lösung kommen.
Die verstümmelung des Codes hat den Grund dass der L293D ein wirklich oft benutzter Mikrocontroller ist weshalb ich dachte dass alte arduino Gurus schon wissen wovon ich rede. Tut mir Leid.

GG

P.S. ich habe schon drei weitere versucht und bei allen drei lässt sich nur eine Richtung Steuern zuvor war das nicht der Fall da lief alles normal.

GrafG:
Digitalwrite(Pin, HIGH);
Digitalwrite(Pin, LOW);

Hoffe mir kann jemand helfen. Danke im voraus.

So kann das auch nicht funktionieren.

  1. Die Anweisungen sind falsch geschrieben.
  2. Es fehlen Definitionen, Setup und loop.
  3. HIGH und LOW hat nicht mit hoch und runter zu tun, eher mir EIN und AUS.

Wie kommst du drauf, dass der L293D ein Microcontroller ist ?
Das ist ein Motortreiber.

Ach ja, was die Erfahrungen betrifft. Wenn man es richtig macht, dann funktioniert es.
Und auch, wenn man zur Frage richtige Informationen postet, bekommt man auch hilfreiche Antworten.

Danke für die schnelle Antwort.

Gerne doch!

Gut...
Du möchtest uns also nur dein Leid klagen....
Das ist ok.

Allerdings:
Das einzige, was ich dir geben kann, ist mein volles Mitgefühl!

Erfahrung

Das funktioniert.

Ich kann mich den Anderen nur anschließen.

Ohne zusätzlichen Informationen wie vollständigem Sketch (den Du übrigens auch per copy+paste hier reintun kannst, Du musst nichts abtippen :wink: und evtl. Angaben, wie Du was verschaltet hast, kann man eigentlich nur sein Mitgefühl ausdrücken. Und sagen, dass der Links-/Rechts-Lauf mit einem Motorshield (was im Grunde auch nur ein aufgemotzter L293 ist) hier prima funktioniert.

Sorry, falls mein Posting nicht sonderlich hilfreich ist. Was Du schreibst, ist allerdings nicht hilfreicher.

Gruß

Gregor

Ohne zu wissen was Du gemacht hast können wir nur alle uns vorstellbaren Fehlerquellen nennen. Uns unvorstellbare Fehler können wir nicht benennen. Aber das alles ist raten und dazu hab ich keine Lust.

Bring Deinen PC ins internet oder speichere den Sketch ab und schicke ihn uns von einen anderen PC. Male einen Schaltplan und fotografiere ihn.; Benenne alle Teile Die Du verwendest.

Grüße Uwe

Phuu, ok verstehe. Ich bin nicht oft in Foren, darum versuche ich mich nach euren Wünschen zu richten.
Einfaches Copy und Paste geht zwar nicht weil ich immer noch über mein Handy schreibe und ich über mein PC programmiere der wiederum sich immer noch nicht sich mit dem Internet verbindet. Aber ja gut, dann tippe ich es für euch ab:

void setup(){
pinMode(5, OUTPUT);
pinMode(4, OUTPUT);
}

void loop(){
digitalWrite(5, HIGH);
digitalWrite(4, LOW);
delay(1000);
digitalWrite(4, LOW);
digitalWrite(5, HIGH);

}

Im Grunde ist das alles.
Für die jenigen die mir gerade erklären wollen wie der Motortreiber funktioniert. Der Treiber ist eine sogenannte H- Brücke und für Schritt Motoren gedacht und hat 16 pins. Allerdings kann man es auch zur Ansteuerung von zwei DC Motoren verwenden wobei man nur jeweils 8 der 16 Pins benötigt.
Die Pin Verlegung ist wie folgt:
1 5v VCC
2 digitaler Pin // in meinem Fall Pin 4
3 Motor Eingang1
4/5 GND
6 Motor Eingang2
7 digitaler Pin // in meinem Fall Pin 5
8 12V externer Strom

Wenn ich nun auf Pin 4 und 5 entweder ein HIGH und LOW gebe oder anders herum dann dreht sich der Motor dementsprechend vor- oder rückwärts.

Nun nochmal mein Problem. Die Kombination auf Pin 4 HIGH und Pin 5 LOW funktioniert -> der Motor dreht sich vorwärts. Aber das Gegenteil Pin 4 LOW und Pin 5 HIGH läuft nicht.

Da dieser Treiber in diesem Forum schon oft erwähnt wurde Dachte ich ihr kennt die Funktion sowie die Pin Verlegung.

GG

void loop(){
 digitalWrite(5, HIGH);
 digitalWrite(4, LOW);
 delay(1000);
 digitalWrite(4, LOW);
 digitalWrite(5, HIGH); 
}

Schau Dir mal GANZ GENAU an welche Pins Du HIGH und LOW setzt.
Male es zur Sicherhei aut ein Blatt Papier.
Grüße Uwe

void loop()

Ein Zustand wird pro Durchlauf 1 Sekunde gehalten.

Und der andere?

uwefed:

void loop(){

digitalWrite(5, HIGH);
digitalWrite(4, LOW);
delay(1000);
digitalWrite(4, LOW);
digitalWrite(5, HIGH);
}




Schau Dir mal GANZ GENAU an welche Pins Du HIGH und LOW setzt.
Male es zur Sicherhei aut ein Blatt Papier.
Grüße Uwe

Danke für den Tipp aber du hast es selber vertauscht. Vor dem Dela setze ich nämlich 4 auf HIGH und 5 auf LOW

Ok ist gut reicht ich komme hier nicht weiter. Danke für euer Mitleid

GrafG:
Danke für den Tipp aber du hast es selber vertauscht.

NEIN, ich habe ein Stück DEINES Sketches kopiert. Ich habe da nichts vertauscht.

Vor dem Dela setze ich nämlich 4 auf HIGH und 5 auf LOW

Vor der loop() Funktion gibs nichts. Die loop() Funktion ist die Funktion die immer wieder aufgerufen wird.

Du solltest mal ehrlichen Zweifen an Dir selbst ausüben und nicht Deine eigene Unzulänglichkeit anderen in die Schuhe schieben. Lerne mal C bzw die Eigenheiten von Arduino-Umgebung und unterstelle uns nichts.

Grüße Uwe

Hi

Vll. solltest Du Mal schauen, wie sich die Pinne nennen, Die Du da am L297D ansteuerst.
Da mir selber so ein Shield nicht zur Verfügung steht, Du keinen Link (meinetwegen auch eine URL) lieferst, ist Das 'stochern im Nebel'.

Denke, beim Abtippen hast Du die Zeilen versemmelt oder Dich einfach nur vertan - denke, daß Du schon Pin 4 und 5 umpolst, also Beide (und nicht, wie von Dir getippt, Beide auf den bereits vorhandenen Zustand bleiben - in Deinem Code bleibt 4 LOW, dabei müsste aber der Motor weiter drehen, da ja eine Richtung klappt).

Ich gehe also, Glaskugelmodus AN, davon aus, daß Du von EINEM Motor EN low/high schaltest, und vom anderen Motor DIR low/high schaltest.
(oder Beide Signale vom gleichen Motor, aber ohne EN macht Der auch Nichts bei 'der anderen Richtung')

Glaskugen zum Abkühlen auf Seite stell

MfG

PS: Uwe :o So kenne ich Dich gar nicht