gut das du es sagst!
das mit dem einstellen während der laufzeit hatte ich schonmal begonnen.
hab dazu einen fest verbauten taster an einem interrupt so programmiert, dass er einen der werte hochzählt bei tastendruck. hat aber durch das prellen des tasters und bis dato in ermangelung einer anzeige dazu geführt, dass ich nie genau wusste, welcher wert tatsächlich eingestellt ist. habe mir damals mit den 4 leds auf der mittleren platine und ner case abfrage eine 4 bit binär anzeige programmiert. da für den d anteil aber meist höhere werte gefragt sind und - wie du grad bestätigt hast - ein wert den anderen beeinflusst, bin ich damit nicht zum ziel gekommen.
deinem vorschlag folgend probiere ich nun folgendes in code umzusetzen:
1. endlosschleife für gradeaus fahrt
2. timer isr abfrage, ob einer der bumpertaster gedrückt ist. muss das dann wohl softwaremäßig entprellen.
3. button interrupt
mit dem button kann ich dann zwischen PID und geschwindigkeit wechseln.
mit bumper links jeweiliger wert -1 und bei geschwindigkeit -10
bumper rechts werte erhöhen
und das ganze gebe ich auf dem lcd aus. könnte auch noch error und die errechneten regelwerte bzw. den speed links und rechts anzeigen lassen. fürchte aber das dadurch die regelung ohne diese zusätzlichen aufgaben wieder anders reagiert...
- - - Aktualisiert - - -
werde auch nochmal den ansatz mit der drehzahlregelung testen. aktuell macht mein code folgendes:
funktion (strecke, drehung, speed)
encoder ticks für strecke in cm oder drehung in grad berechnen, z.b. 3500 ticks für 3m geradeaus.
schleife bis (ticks links+ticks rechts)/2=ticks strecke
error=ticks links-ticks rechts
d.h. beide motoren werden über eine größe geregelt. komme ohne last (aufgebockt) so auch bis auf wenige ticks bei beiden encodern an den ticks strecke wert. unter last im fahrbetrieb sieht das aber wieder ganz anders aus...
mit einer drehzahlregelung, die die soll-ticks pro geschwigkeit mit den ist-ticks vergleicht, könnte ich beide motoren unabhängig voneinander regeln bis die strecken ticks erreicht sind.
wie macht denn eun oberallgeier das bei seinen autonomen dosen? steht bedtimmt auch iwo im thread aber bin grad zu faul zum suchen![]()
Lesezeichen