I need to power a small SG90 servo motor. I could easily use a 5V battery but why bother? :) Aside from this not funny joke, I'd like to put to good use my little knowledge of electronics gained at University.
The datasheet of the servo does not mention any current draw (max, min, average, etc., ...). However I know that my USB port can barely handle Arduino with some sensor and a servo moving around so I guess it could easily be 100 mA. This figure is nothing I know, but it's a start at least. Furthermore the servo does not do any "heavy lifting" it just rotates a small aluminium bar which is super light. There should not be any "stuck" positions.
Since my main PS is a 12 V battery I thought I could step down the voltage using some resistors and then use an op amp (LM741) and a NPN transistor (2N3904) to set voltage and current, respectively. See the schematics below.
By using this circuit I should be able to output 100 mA while keeping the heat dissipation of the 2N3904 NPN within the admissible range of max 0.5 W. I guess I could even go up to 200 mA if I work around the circuit a bit more, however, before going on I ask myself and you, is this circuit able to handle such high current loads such a servo motor (i.e. do you see any flaw in this)?