Citat:
Ursprungligen postat av sommarknugen
Strålande! tackar ödmjukast.

men problemet med hur jag räknar ut lämpliga värden för transistorn kvarstår. några idéer från någon?
Du vill bottna transistorn eftersom du PWM-styr (antingen till eller från, inte jobba i transistorns linjära område). Basspänningen för att bottna en transistor brukar ligga på runt 1-1.5V, så Arduinons 5V räcker mer än väl. Ta en titt på
databladet för PN2222, som jag tror kan vara lämplig för dina behov (BC635, BC637 eller BC639 är andra alternativ). Kika på
Vce (sat), denna siffra anger spänningsfallet mellan C och E när transistorn är bottnad, och ackompanjeras av ett "test condition". Vid 50mA på basen på en PN2222 kan du dra 500mA genom collectorn (alltså 10x förstärkning), med ett spänningsfall på 1V (BC63x har lägre spänningsfall)
ATmega168 som sitter på Arduino orkar dock enligt databladet max ge 40mA på en I/O-pinne, men så hårt bör du nog inte pressa den, du ska nog snarare dra max 30mA från den. Strömbegränsar gör du som bekant med motstånd, vid 5V och max 30mA ger ohms lag att du behöver minst 166 ohm i serie mellan Arduino och transistorns bas.
Transistorn kommer alltså släppa igenom max 300mA, vilket räcker gott och väl för dina motorer. Hade du behövt dra mer ström skulle du kunna
darlington-koppla två transistorer, där en mindre transistor ger tillräcklig ström för att orka bottna en större transistor. Overkill i ditt fall.
Anyway, spänningsfallet vid
Vce (sat) är som sagt 1V för PN2222, vid Vcc=5V får du alltså 4V kvar till motorn. Dina motorer vill ha 3V men det bör inte innebära något problem när du PWM-styr, se till bara att inte gå över 75% duty cycle på din PWM-signal (4V * 75% = 3V).
Edit: Andra alternativ för att driva motorn kan vara ULN2003, L293D eller SN754410.