Frage zur Berechnung von Basiswiderstand BC547B mit Motor 5V

Gast #5776474
Lesenswert?

Hallo!

Ich möchte den Transistor BC547B als Schalter verwenden und damit einen 
3V Vibrationsmotor mit Ic=63mA optimal ansteuern.
Eingangsspannung sind 5V von einem Arduino Uno Pin. Am Kollektor liegen 
3.3V.

Um den Basiswiderstand zu berechnen, habe ich in den Datenblättern die 
Gleichung IC=10*IB gefunden--> Daher müsste der DC current gain in der 
Sättigung 10 sein, wenn ich das richtig verstanden habe?

Mit der Gleichung Rb= (Uein- UBEsat)/IB habe ich mir dann den 
Basiswiderstand berechnet. UBEsat habe ich aus den Kennlinien im 
Datenblatt mit 0,7V herausgelesen.

Daraus bekomme ich einen Widerstand von 682 Ohm.

Jetzt nun meine Frage: Habe ich den richtigen Rechenvorgang gewählt?

Wenn ich nicht mit der Gleichung IC=10*IB rechne, sondern den DC current 
gain selbst wähle mit z.b. 50, kommt ja ein Widerstand im 3kOhm Bereich 
heraus.

Wie würdet ihr den Basiswiderstand wählen, um das optimale Schalten zu 
Erreichen?

Freue mich auf eine Antwort!
Angehängte Dateien:
Moderator (Firma: Titel) Persönliche Seite #5776517
Lesenswert?

Vanessa schrieb:
> Wie würdet ihr den Basiswiderstand wählen, um das optimale Schalten zu
> Erreichen?
Halb so wild. Du musst da nicht unbedingt das "Optimum" erreichen, 
sondern einfach nur eine zuverlässige Funktion. Nimm also irgendwas 
zwischen 470R und 4k7.
Ich würde zum Stromsparen (und der geringeren Belastung des 
Ausgangspins) eher einen hochohmigen Widerstand nehmen...
#5776537
Lesenswert?

Vanessa schrieb:
> Um den Basiswiderstand zu berechnen, habe ich in den Datenblättern die
> Gleichung IC=10*IB gefunden--> Daher müsste der DC current gain in der
> Sättigung 10 sein, wenn ich das richtig verstanden habe?

Auf der ersten Seite wird bei der Spezifikation von VCE(sat) ein Faktor 
von 20 benutzt.

10 oder 20? Beides ist üblich.

> Wenn ich ... den DC current gain selbst wähle mit z.b. 50, kommt ja ein
> Widerstand im 3kOhm Bereich heraus.

Aber 50 ist schon ziemlich nah an dem nicht-gesättigten Gain von 110, da 
könnte es sein, dass der Transistor nicht sehr gesättigt ist.

Im Datenblatt von ONSemi sieht man, dass der Basisstrom groß genug sein 
muss, um zu verhindern, dass der Transistor aus der Sättigung 
herausrutscht, insbesondere bei einem größeren Kollektorstrom.
Angehängte Dateien:
Gast #5776597
Lesenswert?

Lothar M. schrieb:
> Vanessa schrieb:
>> Wie würdet ihr den Basiswiderstand wählen, um das optimale Schalten zu
>> Erreichen?
> Halb so wild. Du musst da nicht unbedingt das "Optimum" erreichen,
> sondern einfach nur eine zuverlässige Funktion. Nimm also irgendwas
> zwischen 470R und 4k7.
> Ich würde zum Stromsparen (und der geringeren Belastung des
> Ausgangspins) eher einen hochohmigen Widerstand nehmen.

ich habe es bereits mit einem 680 Ohm Widerstand ausprobiert, dabei 
blieb der Motor still. Mit 3,3kOhm hat es ganz gut funktioniert.

Was würde passieren, wenn ich z.B. auf Dauer einen 10kOhm Widerstand 
benutzen würde?
Gast #5776612
Lesenswert?

Vanessa schrieb:
> Was würde passieren, wenn ich z.B. auf Dauer einen 10kOhm Widerstand
> benutzen würde?

Es wird funktionieren. Aufgrund von Alterung und Temperaturänderungen 
könnte sich die Geschwindigkeit Deines Motors etwas ändern.

Vanessa schrieb:
> ich habe es bereits mit einem 680 Ohm Widerstand ausprobiert, dabei
> blieb der Motor still.

Das ist unlogisch, also entweder hast Du irgendwas falsch gemacht oder 
irgendeine Strombegrenzung schlug zu.
Moderator (Firma: Titel) Persönliche Seite #5776686
Lesenswert?

Vanessa schrieb:
> ich habe es bereits mit einem 680 Ohm Widerstand ausprobiert, dabei
> blieb der Motor still
Bist du sicher, dass der nur 680 Ohm hat?

Vanessa schrieb:
> 2019-03-19_12.27.44.png
>    3,6 MB, 19 Downloads
Für Fotos, auch wenn es Fotos von "Zeichnungen" sind, bitte JPEG 
verwenden.
PNG taugt nur für computergenerierte Zeichnungen und Screenshots.
Ich habe die Datei mal ein wenig verkleinert...
#5776795
Lesenswert?

Vanessa schrieb:
> ich habe es bereits mit einem 680 Ohm Widerstand ausprobiert, dabei
> blieb der Motor still. Mit 3,3kOhm hat es ganz gut funktioniert.

Sicher nicht. Vielleicht waren es 6l8 und 330R.

> Was würde passieren, wenn ich z.B. auf Dauer einen 10kOhm Widerstand
> benutzen würde?

Der Motor wird nicht laufen.

Dein erstes Problem besteht darin, daß du glaubst, daß ein 63mA Motor 
63mA zieht.

63mA ist der Dauerstrom der unter Belastung fliessen darf ohne daß der 
Motor überhitzt.

Im Leerlauf zieht ein Motor weniger.

Unter Belastung mehr, man kann Motore nämlich überlasten, die werden 
dann auf Dauer heiss und etwas brennt durch.

Ein Vibra-Motor läuft fast im Leerlauf.

Aber beim Ablaufen zieht der Motor genau so viel Strom wie beim 
Blockieren, und die ELektronik muss den Anlaufstrom schalten können, 
also kurzfristig aushalten.

Ein 100mA Transistor ist für einen 63mA (Nennstrom) Motor zu klein, also 
unterdimensioniert, er hätte das Recht bereits beim ersten Anlaufen 
kaputt zu gehen.

Der BC337 klingt besser. Wie viel Strom der Transistor aushalten sollte 
kann man prüfen in dem man die Stromaufnahme des Vibra-Motors misst wenn 
er kurzzeitig blockiert wird.

Es sind mehr als 63mA.

Daher muss auch der Basisstrom höher sein als 63mA/20 = 21mA. So viel 
bringt aber ein Arduino Uno nicht. Also nimmt men entweder einen zweiten 
Transistor oder einen Darlington oder einen NMOSFETs mit im Datenblatt 
augeführtem RDSon und Drain-Strom bei 2.7V Gate-Spannung wie IRF7401.

Und die Freilaufdiode nicht vergessen.
Moderator (Firma: Titel) Persönliche Seite #5776820
Lesenswert?

Michael B. schrieb:
> Daher muss auch der Basisstrom höher sein als 63mA/20 = 21mA.
Mir würde das überschlägig arg zu denken geben, wenn ich einen 
63mA-Motor über einen Transistor mit 21mA ansteuern muss...   ;-)

Vanessa schrieb:
> einen 3V Vibrationsmotor mit Ic=63mA
Leg den Motor doch einfach mal direkt an die 3,3V, halte ihn fest und 
miss wie vorgeschlagen den Blockierstrom (zieh das zügig durch). Dann 
wissen wir, welchen Strom der Motor beim Anlaufen ziehen wird und worauf 
die Schaltung ausgelegt werden muss.
#5776851
Lesenswert?

Hi,
sehe ich das richtig,
die Steuerspannung ist maximal 5V und Spannung am Kollektor nur 3,3 V ?
Da müssten dann als reine Vorsichtsmaßnahme noch die Dioden an die Basis 
einmal an Vcc und einmal an GND, um zu verhindern, dass Basisspannung 
höher als Vcc und niedriger als GND werden kann.
Soll nur ein und ausgeschaltet werden, oder auch noch die Drehzahl 
eingestellt?

Beim bloßen Schalten passiert dem Transistor nichts, wenn er dann in die 
Sättigung gefahren wird. Aber sonst käme er in "verbotenen" Bereich.

Also ich würde einem MJE3055 ohne Kühlkörper nehmen. Mindestens jedoch 
BC140-16.

ciao
gustav
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren