In meinem "move modul" sind inzwischen zwei microcontroler:
1) der nano steuert zwei dual-motortreiber ( HG7881 /800mA) mit jeweils zwei 12V DC-getriebemotoren dran. Das funktioniert, mit dem nano kann ich die vier motoren ein und ausschalten, die drehrichtung wechseln und auch die vier encoder auslesen...
2) ein ESP8266, auf dem läuft ein HTML-webserver nach fipsok, da können die 4 getriebemotoren per buttons an- und ausgeschaltet und die drehrichtung geändert werden. Auf dem webserver läuft auch ein slider, auch nach fipsok, der die drehgeschwindigkeit der motoren steuern soll.
diese idee gab es:
ich wollte in der umsetzung den letzten freien PWM-pin des nano (10) dafür nutzen per PWM die versorgungsspannung der motoren mit dem motortreiber DRV8871 eben auf z.b. 10 oder 11V zu reduzieren um die getriebemotoren (als alternative geschwindigkeit) mit halben drehzahlen drehen zu lassen.
Der versuch war nur halb erfolreich:
Die signale von den buttons und dem slider werden per I2C zum nano übertragen, wo sie dann mit hilfe des pins 10 des nano in PWM signale umgewandelt werden (bereich von 0 bis 255), das funktioniert...
Wenn ich den (in der 12V spannungsversorgung platzierten) motortreiber DRV8871 mit dem slider zu steuern versuche, drehen alle vier motoren mit einer kaum merkbar langsameren geschwindigkeit bis zu dem zeitpunkt, an dem nur noch einer der vier motoren ziemlich kraftlos und langsam weiterdreht, die anderen drei bleiben stehen, und das passiert ziemlich abrupt. Ich denke, dass das daran liegt, dass die versorgungsspannung bei einem bestimmten wert des sliders nicht mehr ausreicht um alle motoren anzutreiben.
Ist es evtl. möglich den bereich in dem die versorgungsspannung quasi zusammenbricht irgendwie zu „strecken“? Dass z.b. der bereich von 12V bis zu 11.5V über den ganzen PWM bereicht eben langsammer runtergeregelt wird? Wäre da der prescaler des PWM eine möglichkeit?
Lesezeichen