Ich verwende eine NodeMCU, um einen BTS7960b-Motortreiber zu steuern . (Datenblatt des BTS7960) Dieser Treiber steuert einen 12-V-Gleichstrommotor. Dieses Bild zeigt meine Verkabelung (ohne das Display und die Tasten und mit einer NodeMCU anstelle des Arduino nano).
Mein Problem ist, wenn der Treiber auf maximale Geschwindigkeit eingestellt ist (die Pins L_EN und R_EN auf High, sowie entweder LPWM oder RPWN auf 255 [ Pin-Bezeichnung auf dieser Seite sichtbar ]), ist die Ausgangsspannung zum Motor konstant nur 3V statt 12v . Aus diesem Grund läuft mein 180 U / min High Torque Motor nur mit etwa ~42 U / min. Eine Verringerung der Geschwindigkeit verringert auch die Ausgangsspannung. Wenn Sie beispielsweise die Geschwindigkeit auf 150 einstellen, wird die Spannung auf ~1,8 V verringert. Dabei spielt es keine Rolle, in welche Richtung der Motor dreht.
Der Motor, die NodeMCU und der Treiber werden von derselben Stromversorgung mit einem Abwärtswandler gespeist. Ich bekomme das gleiche Verhalten mit 3,3 V und 5 V auf der NodeMCU und dem Treiber. Was mache ich falsch?
Danke für die Hilfe! :)
Dank der Hinweise von @Peter Karlsen habe ich es herausgefunden:
Ich war an die 8-Bit-Auflösung für PMW der Arduino-Boards gewöhnt. Aber da meine NodeMCU einen ESP8266-Chip verwendet, beträgt die PMW-Auflösung 10 Bit [ Referenz ]. Der Maximalwert ist also nicht 255, sondern 1023.
Das Ändern der Werte in meinem Code löste das Problem.
Peter Karlsen
Pothi
Peter Karlsen
Pothi