Atmega8/32 mit L293D

Gast #1592919
Lesenswert?

der Prozessor kriegt die Standardbeschaltung mit Resetpullup, 
Abblockkondensatoren und Programmierschnittstelle, 4 Pins von 
irgendeinem Port werden mit den 4 Inputs verbunden, die beiden enable 
auf high(5V), außer du willst darüber die PWM regeln, dann brauchste 
PWM-Ausgänge des Prozessors dran.
Pin 8 beim L293D ist Versorgungsspannung der Motoren, Pin 4,5,12,13 sind 
Masse.
Motorausgänge dann 3,6, 11,14.
Noch die Logikspannung (=Prozessorspannung = 5V) an Pin 16.

Ein paar Kondensatoren gegen Spannungseinbrüche runden das Ganze ab.

Übrigens gibts zu dem L293D ein Datenblatt, in dem sogar die Beschaltung 
beschrieben ist, also einfach mal suchen
;-)
#1600035
Lesenswert?

Katta Katta schrieb:
> ich versuche mal etwas für den Einstieg machen, was leicht und einfach
> ist .

Dann fang mit der Standardbeschaltung aus dem avr-tutorial an.
Bring deine LED zum Blinken und frag Taster ab, so wie alle Anfänger, 
die es nach einiger Zeit geschafft haben mit dem µC auf Du-und-Du zu 
kommen.

Dann noch ein LCD dran, die LEDs anstatt blinken mittels PWM dimmen und 
dann kannst du dich um Motoren kümmern.
#1600140
Lesenswert?

Katta Katta schrieb:
> ich versuch mal das zu probieren. danke für Hilfe...   :)

Worum gehst?
Es geht darum, dass du in Übung kommst. Wenn du dich für LCD nicht 
interessierst, dann machst du eben kein LCD. Das ist ja nicht der 
springende Punkt (*)

In deinem ersten Ansatz lässt du dich in einen Mehrfrontenkrieg ein. Du 
versuchst gleichzeitig
 eine relativ komplexe Hardware
 gepaart mit den Problemen der Anfänge der Programmierung
 gepaart mit den speziellen Problemen der AVR-Programmierung
 ohne Debugwerkzeuge
 ...

in den Griff zu kriegen und das ist einfach zuviel auf einmal.
zb können dir Motoren wunderbare Effekte auf der Versorgungsspannung 
verursachen, die deinen AVR zu allen möglichen lustigen Effekten 
veranlassen. Du weißt dann nie, hab ich einen Programmfehler oder ist 
das wieder einmal eine Motoreneinstreung.

Wenns für den Einstieg einfach sein soll, dann bau eine 
Standardbeschaltung auf, häng eine Handvoll LED dran und arbeite mit 
diesen. Es geht nicht darum, dass x-te Lauflicht möglichst optimal zu 
implementieren. Es geht darum, dass du überhaupt programmierst und zwar 
ohne dass du auf 100-tausend Sachen nebenher auch noch aufpassen musst. 
Die Lernkurve ist gerade am Anfang extrem steil, man müsste alles 
gleichzeitig lernen und das geht nun mal nicht. Also heißt es abspecken 
und mit simpelsten Aufgabenstellungen anfangen, sich dort die notwendige 
Übung zu holen und sich sukzessive immer weiter hochzuarbeiten.

(*) Obwohl ich mitlerweile soweit bin, zu einem LCD zu raten. Während 
der Programmentwicklung bist du immer wieder in der Situation eine 
Ausgabemöglichkeit zu benötigen.
OP Persönliche Seite #1600223
Lesenswert?

ja du hast natürlich recht, ich finde im moment noch ganz viele 
Schwierigkeiten , hab  ich schon   eine Standardbeschaltung mit Atmega32 
aufgebaut ,mit ein paar LEDs ohne Timer nur mit DELAY gesteuert.
Und wie du gesagt hast  "in den Griff zu kriegen und das ist einfach 
zuviel auf einmal", dasswegwn hab ich LCD später zu progrmmieren bis ich 
zuerst die DC-Motoren steuren kann.
ich weiss nicht, ob ich zuerst LEDs mit timer programmieren soll, weil 
timer wichtig   für L293D ist oder nicht ...!!!
danke für Beratug...
#1600279
Lesenswert?

Katta Katta schrieb:
> ja du hast natürlich recht, ich finde im moment noch ganz viele
> Schwierigkeiten , hab  ich schon   eine Standardbeschaltung mit Atmega32
> aufgebaut ,mit ein paar LEDs ohne Timer nur mit DELAY gesteuert.
> Und wie du gesagt hast  "in den Griff zu kriegen und das ist einfach
> zuviel auf einmal", dasswegwn hab ich LCD später zu progrmmieren bis ich
> zuerst die DC-Motoren steuren kann.
> ich weiss nicht, ob ich zuerst LEDs mit timer programmieren soll, weil
> timer wichtig   für L293D ist oder nicht ...!!!
> danke für Beratug...

Das Schwierigste ist das Auswählen der Reihenfolge, in der man sich in 
das nächste Abenteuer stürzt :-)

Grundsätzlich rate ich dir: zieh alles vor, was dir eine 
Ausgabe/Anzeigemöglichkeit bietet und verschiebe alles nach hinten, was 
das nicht tut.

Warum?
Eines der großen Probleme in der Programmierung lautet:
Wenns nicht tut, woran liegts?

Wenn du eine Ausgabemöglichkeit hast, und seien es nur ein paar Led, 
dann kannst du diese Ausgabemöglichkeit dazu nutzen, damit dir dein 
Programm selber hilft, zu verstehen was im Programm vor sich geht (und 
worin sich das von dem unterscheidet was du dir vorstellst das 
eigentlich passieren sollte).
Das kann sein, dass man an strategischen Stellen im Programm eine LED 
einschaltet. Das kann sein, dass man die LED mit unterschiedlichen 
Frequenzen blinken lässt und so aus der Frequenz die 'Nachricht' des 
Programms ruasliest "Ich bin jetzt hier; ich bin jetzt da; Variable i 
hat den Wert kleiner 100; ..." Aber dazu brauchst du irgendeine 
Möglichkeit, mit der sich das Porgramm bemerkbar machen kann. Insofern 
ist ein LCD super, weil es deinem Programm die Möglichkeit gibt, 
Zwischenwerte oder sonstige Dinge im Klartext auszugeben, so dass du als 
Programmierer sie gut lesen kannst. Es macht nun mal einen Unterschied, 
ob du dir zb ein von der UART empfangenes Zeichen direkt im Klartext 
irgendwo anzeigen lassen kannst, oder ob du das Zeichen auf 8 LED binär 
rausgibst und du als Programmierer, bewaffnet mit einer ASCII Tabelle, 
den Code entschlüsselst. Oder denk an den Analog/Digital Wandler. Wie 
kontrollierst du, was der gerade eingelesen hat? Led mit einer Frequenz 
proportional zum Wert ist natürlich eine Möglichkeit, aber auf einem LCD 
schreib ich den Wert im Klartext raus und kann dann mit Taschenrechner 
den Wert in eine Spannung umrechnen um zu kontrollieren, ob das stimmen 
kann.

Also: Ausgabemöglichkeiten sind wichtig. Sie ermöglichen es dir ein 
'Fenster' zu deinem Programm zu öffnen, so dass dir das Programm selber 
hilft zu verstehen, wo du dich vertan hast.

Und natürlich müssen die dazu notwendigen Techniken sitzen. Soweit 
sitzen, dass du nicht lange zögern musst, um sie einzusetzen. Wenn dein 
Motor nicht anläuft, oder der PID Regler zur Geschwindigkeitsregelung 
des Motors schwingt, dann sind diese Ausgabemöglichkeiten dein 'Fuss in 
der Tür', mit der du am Problem arbeiten kannst.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren