I am trying to build a drone using mini toys DC motors (3.5V). Using Arduino Uno and PN2222A transistor with 3.7V 380mAh battery.
When I connect the motor directly to the battery it spins with maximum speed which is sufficient to fly it. However, when I connect the motors and battery according to the circuit attached, the motors vary in speed and the PWM is working perfect, but maximum speed (255) is insufficient to fly the drone.
I am using analogWrite(MotorPin1,255);
Also, there is a plan to replace the Arduino Uno with ESP32 Dev later on using LEDC library, please tell me if there are going to be any differences in the power supply.
Then it should not work.
There is not positive connection to the motor from the battery,
Can you please post a copy of your circuit, in CAD or a picture of a hand drawn circuit in jpg, png?
Take you time and draw an accurate circuit diagram, not a fritzy picture, please label pins and include your power supplies.
You will drop 1.6V of your 3.7V across the transistor, that is why you cannot get full speed.
Attached below the sketch of the circuit with all components used.
Problem: the circuit works but not as required. the motor spins between 0-255 and it changes the speed but when given 255 value the motor doesn't spin at maximum speed. When i disconnect the motor and connect directly to the 3.7V battery it spins at maximum speed.
Components
Controller: ESP32/Arduino Uno Transistor: PN2222a Diode: IN4007 Battery: Li 3.7 Volt 380 mAh Resistor: 100 ohm
The resistor connected at base, the ESP32/Arduino is connected to the laptop.
Could you help me to find an alternative? I read that logic-level Mosfet are the best option here. But unfortunately I couldn't find any where I live, tried the IRF510N Mosfet but it didn't work as it didn't get enough voltage since it requires 10V