This is a typical set-up diagram for a low side transistor. The 2.85V is actually positive volts. However, typically this is designed for volts greater than 5 volts if the output of the micro-controller is about that from the base.
It would be nice to operate this directly with the usage of the 5V power given from the Ardunio board, but it has to be willing to draw 160mA and be at 2.85V.
This configuration won't spin the motor if I am using the 2.85V power supply, neither if the volts from the power supply is 5V. However, if the power supply is coming from the Ardunio board, 5V or 3.3V, the motor will spin. Now, when it is connected to the external power supply, things get strange for me. If I connect the motor, the voltage drops instantly to zero and the motor won't spin.
The 3.3V by the Ardunio board don't produce enough current. However, if I used the external power supply, the full 160mA is easily drawn from it, spinning the motor with a good amount of torque.
I also tried the PWM analogWrite command, but that will spin the motor, but the current will be much lower than as if I had the same voltage directly from the external power supply.
My goal is:
1. Use the power supply directly from the Ardunio board to operate 2.85V and 160mA;
2. If 1 is not possible, such that I use a 2N2222 transistor to draw the 2.85V and 160mA from an external power supply;
3. The voltage and current can only be for this specific element in the circuit, as other parts of the circuit rely on the 5V provided by the Ardunio board.
Best Answer
You forgot to connect the ground of the external power supply to the ground of this circuit and the processor. You even show the negative side of the external power supply floating.
Connect the negative side of the 2.85 or 5 V supplies to the ground you show in your schematic, and things should work.