Hallo zusammen,
ich bin ein wenig am Verzweifeln. Ich möchte mithilfe meines Atmegas und
eines L293D Motortreibers einen kleinen DC-Motor steuern. Angeschlossen
ist alles wie im Datenblatt beschrieben. Als Spannungsquelle verwende
ich ein 5V-Netzteil, dass den Motortreiber und den AtMega betreibt.
Da die Richtungssterung des Motors für mich egal ist, ich ihn eigentlich
nur mal rudimentär zum Laufen bekommen will, reicht es ja im Prinzip
wenn ich einen der Eingänge auf GND ziehe. Wenn ich das manuell mache,
einen Eingang mit GND verbinde, dann läuft der Motor auch.
So, jetzt dachte ich mir, verbind ich diesen Eingang mit einem Pin des
AtMegas und schalten den Pin mit 1HZ, so das nach meiner Auffassung dann
der Motor in einer Sekunde 500ms lang laufen und 500ms lang aus sein
müsste. Zur Kontrolle hängt an dem Pin auch noch eine LED.
So, jetzt das für mich komische:
Alle halbe Sekunde geht der Motor für einen sehr kurzen Moment an, die
LED erlischt. Das bleibt dann jedoch nicht wie geplant für 500ms,
sondern nur für ein paar gefühlte Nanosekunden, bevor dann das Licht
wieder angeht und der Motor aus. Nach einer halben Sekunde wiederholt
sich dann das Spiel.
Entferne ich diese Verbindung des Pins zum L293D, dann blinkt die LED
wie geplant mit 1HZ.
Würde mich über Hilfe sehr freuen.
Danke und viele Grüße,
Felix
Hi
>Als Spannungsquelle verwende ich ein 5V-Netzteil, dass den Motortreiber und>den AtMega betreibt.
Ohne weitere Entstörmaßnahmen, keine so gute Idee. So wie es aussieht,
erzeugt dein Motor einen Reset. Hast du das schon mal mit L293, aber
ohne Motor probiert?. Sind Abblockkondensatoren an den
Versorgungsanschlüssen?
Ein Schaltplan wäre sehr hilfreich.
MfG Spess
Hi,
vielen Dank für deine schnelle Antwort.
Ich hab mal den Motor durch ein LED ausgetauscht. Ergebnis: Die LED
leuchtet genau versetzt zu der LED am AtMega, also das funktioniert dann
einwandfrei. Der AtMega funktioniert dann auch immer einwandfrei. Es
gibt also kein Reset mehr. Jetzt muss das nur noch so mit Motor
funktionieren^^
Entstörmaßnahmen und Abblockkondensatoren hab ich keine (bin nicht so
der Elektroniker). Kannst du mir beschreiben was ich da genau anbringen
muss?
Wäre es alternativ auch möglich, stattdessen den AtMega einfach durch
einen eigenen Stromkreis zu betreiben? Ich hab das gerade mal probiert.
Den L293D hab ich weiterhin über das 5V-Netzteil versorgt und den AtMega
über 5V aus einem USB-Anschluss. Zwar hat dann der AtMega normal
funktioniert, die LED am Motortreiber hat aber nie geleuchtet, obwohl
ich sonst nichts geändert habe.
Müsste doch aber eigentlich, oder? Bzw. wäre das überhaupt die Lösung?
Gruß
Felix
Hallo zusammen,
ich habe im Anhang ein Bild meiner Schaltung beigefügt. Wenn ich nichts
vergessen habe, ist das die Konfiguration mit der die LED D2 am L293D
abwechselnd zur LED D1 am AtMega blinkt.
Wenn ich jedoch jetzt eben LED D2 durch meinen kleinen Motor austausche,
kommt es wie oben beschrieben in dem Moment, in dem an PD5 ein
Low-Signal angelegt wird, zu einem Reset des AtMegas.
Ich freu mich auf Ideen.
Gruß
Felix
Hi
Falsch gedrückt. Also noch mal
Die Verwendung von Kondensatoren ist bei dir sehr übersichtlich. Du
benutzt keine.
Am ATMega gehören 100nF Keramikkondensatoren von VCC,AVCC und AREF nach
GND. Die Verbindung von AREF nach VCC ist unnötig. Geht per Software.
Ebenso 100nF an VS und VSS nach GND am L293. Alle so nah, wie möglich an
den Pins. Ein Elko (470...1000µF) in der Nähe vom L293 schadet auch
nicht.
LEDs ohne Vorwiderstand???? Und so wie die gepolt sind, können sie nicht
leuchten. Da Fehlen wohl einige Grundlagen der Elektronik.
Ohne Gewähr auf Vollstängigkeit.
MfG Spess
Hi,
vielen Dank für die Hilfe. Werd ich später oder morgen gleich mal
ausprobieren (vorausgesetzt ich finde die entsprechenden Elkos
irgendwo).
Na ja, hab die Schaltung halt schnell zusammengeklickt, kann sein das
die LEDs dabei falsch rum sind. Für das Verständnis der Schaltung ändert
es ja nicht wirklich was.
Danke und Gruß
Felix
>Die Verbindung von AREF nach VCC ist unnötig
sie ist nicht unnötig, sondern falsch und kann zur Zerstörung des
Controllers führen!!!
Und nicht nur irgendwo ein Elko, sondern Keramik in der unmittelbaren
Nähe der ICs
Hi
>>Die Verbindung von AREF nach VCC ist unnötig>sie ist nicht unnötig, sondern falsch und kann zur Zerstörung des>Controllers führen!!!
Wenn man weiss, was man macht, kann man es. Bei älteren AVRs sogar
notwendig. Bei aktuellen AVRs einfach unnötig.
MfG Spess
Hi,
also ich hab die fünf 100nF Kondensatoren montiert und jetzt ist es so,
dass mit dem Motor angeschlossen zumindest sagen wir 30% der Zeit der
Motor mit 1Hz an und ausgeht. In den restlichen 70% verlängert oder
verkürzt sich diese Zeit mal scheinbar wilkürlich.
Ist ja schon mal ne Verbesserung. Danke dafür.
Einen 470uF-Elko habe ich noch. Ich frag mich jetzt nur zwischen welchen
Pins des L293D ich den anschließen soll (Vs und GND oder VSS und GND,
oder ganz wo anders?). Hab wirklich nicht DIE Ahnung von Elektronik, mir
liegt das Programmieren mehr.
Gruß und Danke,
Felix
Du solltest auch mal die Enable Pins beschalten.
Siehe Datenblatt Seite 2 "FUNCTION TABLE" sowie Seite 9 Figure 4. "DC
Motor Controls"
Ansonsten Schaltet er nicht die Ausgänge...
spess53 schrieb:
>>>Die Verbindung von AREF nach VCC ist unnötig>>sie ist nicht unnötig, sondern falsch und kann zur Zerstörung des>>Controllers führen!!!>> Wenn man weiss, was man macht, kann man es.
ich glaube nicht dass Felix weiss was er macht und TFM des Atmega
gelesen hat,
also Felix: klemm bitte die 5V von Aref ab und mach statt dessen einen
Kondensator hin
Hm
Was mir auch schon mal pasiert ist, ist das meine Stromquelle zu wenig
Stron für Motor und Controller hatte.
Immer wenn der Motor gestartet hate bekam der atmega keinen Saft mehr
und der Motor schaltete sich aus, der Controller bekam wider
Srom und startete von neuem.
Das ergab dann ein nerfiges ein aus des motors.
Solltest du auch mal überprüfen.