PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Frage bezüglich Schrittmotor Steuerung



exzoys
09.01.2011, 11:38
Hallo,
ich habe mich endlich dazu entschlossen einen roboter zu bauen.
der soll vorerst nur gradeausfahren können... (ich will eher experimentieren)
ich habe mir überlegt dass ich 2 schrittmotoren einbaue und diese dann mit einem controller board steuere.
als board habe ich das U2dil (Atmel ATMEGA32U2)
dieses board ist kostengünstig und lässt sich bequem per USB programmieren.
die ansteuerung will ich mit L298 und L297 realisieren.
hier meine frage:

sehe ich das richtig dass ich nur einen Impuls auf CLock geben muss un der Motor dreht sich einen Schritt?
Wie sieht denn so ein programm aus?
was muss ich schreiben damit der atmega32u2 weiß dass er an einem bestimmten ausgang einen kurzen impuls senden muss?
gibt es beispiele?
grüße

avrrobot
15.01.2011, 12:29
es wäre hilfreich , wenn du sagen würdest in welcher sprache du programmierst!

hardware.bas
15.01.2011, 12:46
Das Du den L298 mit "seinem" L297 ansteuern willst, finde ich gut, das
entlastet den AVR von Rechenarbeit, die er zwar mit linkst abdrücken
könnte, die Programmentwicklung jedoch einfacher wird. Auch sind
sämtliche Futures, wie z.B. Strombegrenzung mit dieser Kombination
perfekt lösbar. Am L297 brauchst Du nur Richtung (H oder L) und
eine Impulsfolge (für die Scnelligkeit) dafür eingeben. Das
Impuls/Pausen-Verhältnis ist egal, da der L297 flankengesteuert ist.
Bau jedoch lieber gleich für jeden Motor eine eigene Schrittmotor-
steuerung, dann kannst Du später auch Kurven fahren.
Als Compiler empfehle ich Dir BASCOM.
Einfachster Programmauszug als Beispiel für PORTXY:
X = PORT, Y = PIN
DDRXY = 1 :Ausgangfunktion
PORTXY = 0 :Ausgang = L
wait 10 :10 sec warten
PORTXY = 1 :Ausgang = H
waitms 10 :Impulsbreite 10ms
PORTXY = 0 :Ausgang = L
END
Damit erzeugst Du einen einzigen 10ms-Impuls, ist nur ein einfachstes
Beispiel zum Weiterentwickeln. Es gibt natürlich noch wesentlich
elegantere Methoden. VG Micha

avrrobot
15.01.2011, 12:50
also ich würde ja eher C empfehlen, aber das ist geschmackssache

exzoys
15.01.2011, 13:00
warum c?
was ist denn an c einfacher?
also ich habe die schaltung aufgebaut
wenn ich diese jetzt mit dem netzteil verbinde blinkt das statuslämpchen des netzteils mit einer bestimmten frequenz.
normalerweise leuchtet das lämpchen nur.
ist das normal dass die schaltung ohne motor so viel strom zieht dass das netzteil kurzzeitig immer keinen strom für das lämpchen hat?

netzteil ist ein festplatten netzteil. 12v 3a

avrrobot
15.01.2011, 13:10
schrittmotoren können manchmal wirklich verdammt veil ziehen.
ach ja: C ist nicht einfacher, aber man hat mehr möglichkeiten.
aber für absolute einsteiger in programmierung ist bascom sicher auch sinnvoll.

exzoys
15.01.2011, 13:28
ja ich will ja klein anfangen, mein roboter soll erstmals einfach nur fahren können so wie ich ihm das sage...
damit ich das prinzip mal lerne:)
als nächstes kommt dann eine infrarot steuerung..
wobei ich da auch noch sehr viele fragen habe, wie man da die rc5 datenbank einfügt usw

hardware.bas
15.01.2011, 13:34
Stimmt, ist Geschmacksache, jedoch ist BASCOM in vieler Hinsicht
vorteilhafter als C(hinesisch):
- einfacher zu programmieren, also ideal für Elektronikpraktiker
- BASCOM-Programmer mit geringsten Schaltungsaufwand (1Treiber-IC+1R)
- Programmiersoftware in BASCOM enthalten.
VG Micha