ich verwende 2 Schrittmotoren für den antrieb meines bots.
an das problem mit dem zählen der schritte hatte ich noch nicht gedacht. außerdem habe ich gerade gelesen dass zwei pwms (zwei motoren) in einem pic nur mit der gleichen frequenz betrieben werden können. da der bot nicht nur geradeaus fahren soll, scheidet die pwm wohl endgültig aus. die idee mit dem zähler hört sich gut an - einen programmierbaren microcontroller mit zusätzlicher hardware auszustatten mache ich allerdings nur ungern.
ich möchte jeden einzelnen motor manuell über ein poti (schiebepoti) steuern können (der bot soll erst später autonom werden). die spannung am poti soll mit einem adc gewandelt werden und in eine frequenz umgesetzt werden. bei 5v versorgungsspannung heißt das zb 0v -> rückwärts, schnellste geschwindigkeit; 2,5v -> motor aus; 5v -> vorwärts, schnellste geschwindigkeit. der geschwindigkeitsanstieg soll dabei nicht linear sein. der pic muss also zwei spannungen messen, zwei (evtl. unterschiedliche) frequenzen erzeugen und noch andere aufgaben erledigen wie zb Sensoren abfragen (weitere ad-wandlungen) und die ergebnisse verarbeiten. dies verlangt eigentlich nach einem multitasking betriebssystem. da ich nicht besonders geübt im assemblerprogrammieren bin, stelle ich es mir eher schwierig vor zwei variierende frequenzen zu erzeugen und gleichzeitig dem pic etwas Intelligenz einzubrennen
das ganze läuft wohl auf mehrere pics hinaus:
eine zentrale einheit:
- einlesen der potis für geschwindigkeit der motoren -> zb die 4 höherwertigen bits des ergebnisses (8 geschwindigkeitsstufen pro fahrtrichtung) der ad-wandlung an port anlegen,
und für jeden motor einen weiteren pic, der aus den übergebenen werten (4bit + weitere signale) die signale erzeugt (drehrichtung, taktsignal, usw). die zentrale einheit weiß damit allerdings nicht wieviel schritte die motoren gemacht haben. dazu müssten die pics (der motorsteuerung) pro schritt ein signal an den zentralpic senden, welches an einem pin einen interrupt-on-change auslöst. (für mich hört sich das irgendwie nach fehlerquelle an)
meine frage ist eigentlich: wie steuer ich zwei Schrittmotoren (ic L297) mit einem microcontroller?
interessiert mich sehr wie andere das problem gelöst haben
ps: hab mich jetzt eingeloggt
mfg sibi
Lesezeichen