Forum: Mikrocontroller und Digitale Elektronik Anfängerfrage Transistor Beschaltung


von Lehrmann M. (ubimbo)


Angehängte Dateien:

Lesenswert?

Servus ich hätte da eine Frage wie ich folgende Schaltung realisieren 
soll.

Ich würde gerne wissen wie ich einen Transistor in der "Box" in der 
mitte beschalten muss und wie entsprechend die Widerstände für 5V zu 
wählen sind. Was für Standarttypen würdet ihr mir empfehlen.

Schaltgeschwindigkeiten sind gering.

Und bitte malt nicht einfach eine Linie zwische µC output und IC input. 
Danke! Das funktioniert nämlich nicht.

von g457 (Gast)


Lesenswert?

Als Standardtyp würde ich 'Draht' empfehlen. Das funktioniert sofern der 
rechte IC einen 'normalen' Logik-Level-Eingang hat. So steht das in 
deiner Zeichnung. 5V habens auch beide also alles in Butter.

Falls der IC mehr Strom erwartet als der µC liefern kann, dann nimm 
einen 0815-PNP in Standardemitterbeschaltung [1] dazwischen.

Allerdings vermute ich stark, dass der Fehler woanders liegt als wie von 
Dir vermutet. Dafür bräuchte es aber mehr Details um die Glaskugel zu 
füttern.

HTH

[1] http://www.mikrocontroller.net/articles/Transistor#Emitterschaltung

von Otto (Gast)


Lesenswert?

Es wäre auch denkbar, dass das Signal invertiert werden muß......

von Lehrmann M. (ubimbo)


Lesenswert?

Servus,

Danke - die Glaskugel gibt's hier:

Beitrag "Motortreiber Problem (L6203)"

vielen Dank

von Otto (Gast)


Lesenswert?

Wenn es dort mit einem Controller läuft, müsste es auch bei Deiner 
Schaltung laufen....

Hast Du die Pins auch auf Ausgang konfiguriert ?

von Lehrmann M. (ubimbo)


Lesenswert?

Ja Software ist gesichert.

Läuft alles wunderbar (mit LEDs + Vorwiderstand / Relais mit 
Transistor-Treiber). Nur mit dem Motortreiber machts Probleme.

von Lehrmann M. (ubimbo)


Angehängte Dateien:

Lesenswert?

doch nicht so oder ? dann habe ich invertierte Logik ?
bessere / einfachere Ideen ?

von Otto (Gast)


Lesenswert?

Evtl. schaltest Du nur den Pull-Up zu ? Ich kenne mich mit PIC nicht 
aus.

Eine LED leuchtet schon mit unter 1mA, ein Relais über einen 
Transittortreiber benötigt noch weniger.

Ich behaupte immer noch, dass Du den Port nicht richtig konfiguriert 
hast,

von Lehrmann M. (ubimbo)


Lesenswert?

Doch ich hab's in C programmiert und weil's da nicht geklappt hat hab 
ich (ja ich weiss ist peinlich) mir das ganze in Flowcode gemacht(ich 
sage bewusst nicht programmiert). Genau die gleiche Symptomatik. 
Identisch.

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Hat der PIC OpenCollector-Ausgänge? Oder Push-Pull? Weiß ich jedenfalls 
nicht.

Da Du einfach den AVR (Push-Pull) durch einen PIC18 ersetzt hast, könnte 
es wirklich an den Ausgängen liegen. Wie hast Du denn die LED genau an 
den Port gehängt? Gegen GND oder Vcc?

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Ach ja, sollte der PIC OC-Ausgänge haben, reicht ein Pullup-Widerstand 
plus die von Dir nicht gewünschte Linie aus.

von Lehrmann M. (ubimbo)


Lesenswert?

Daran hatte ich auch schon gedacht - im Datenblatt steht nix davon.
Ich kenne beim PIC auch die Falle, dass RA4 open drain ist - dann geht's 
nur sauber nach 0V.

Okay aside - kann ich die Schaltung wie zuletzt beschrieben so verwende. 
Ich stehe saumäßig unter Zeitdruck ... =)

von Otto (Gast)


Lesenswert?

Versuch macht klug......

4k7 Basis und Pull-Up

von Lehrmann M. (ubimbo)


Lesenswert?

okay ich probier 4,7k an Basis und 4,7k als Pullup aus und erstatte dann 
Rapport. bet bet bet

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Bedenke aber, dass der Transistor invertiert.

von Lehrmann M. (ubimbo)


Lesenswert?

Selbstverständlich Meister =)

von Ohforf S. (ohforf)


Lesenswert?

Schau mal ins Datenblatt vom L6203.
Ein Transistor ist überflüssig, das Ding zieht nur ein paar Microampere 
durch die IN-Eingänge.
Der PIC treibt locker 20-25mA.
Der Fehler liegt woanders - vielleicht Versorgungsspannung, Entkopplung 
?

von Otto (Gast)


Lesenswert?

Denkbar wäre weiterhin, das die Ausgänge programmbedingt z. B. invers 
zur PWM (hochfrequent) takten - dann funktioniert es über ein Relais, 
weil dies nicht so schnell schaltet.

von Lehrmann M. (ubimbo)


Lesenswert?

Die PWM taktet noch garnicht. Der PWM-Ausgang ist noch nicht aktiviert. 
Das ist ein ganz normaler I/O im Moment.
Ich verstehe einfach nicht warum es geht wenn ich 5V anlege - dann ist 
die Schaltung ja zu 100% funktional. Nur der PIC schafft's nicht.

von Lehrmann M. (ubimbo)


Lesenswert?

Mir fällt allerdings gerade noch ein, dass ich noch 4 LEDs betreibe 
(ohne Treiber) da könnt's vielleicht knapp werden ...

von Ohforf S. (ohforf)


Lesenswert?

Lehrmann Michael schrieb:
> Mir fällt allerdings gerade noch ein, dass ich noch 4 LEDs betreibe
> (ohne Treiber) da könnt's vielleicht knapp werden ...

Schau mal ins Datenblatt, da steht drin wieviel Last insgesamt erlaubt 
ist... könnte so bei 200mA liegen, für ein paar LEDs wirds reichen.

von ... (Gast)


Lesenswert?

Ohforf Sake schrieb:
> ... für ein paar LEDs wirds reichen
Aber eventuell nicht, wenn die am selben Pin hängen.

Du könntest ja mal den Pegel auf der Leitung messen, wenn der PIC den 
Ausgang auf '1' schaltet.

von Lehrmann M. (ubimbo)


Lesenswert?

... schrieb:
> Ohforf Sake schrieb:
>> ... für ein paar LEDs wirds reichen
> Aber eventuell nicht, wenn die am selben Pin hängen.

Am selben  Port könnte mir vielleicht auch zum Verhängnis werden !?

von Ohforf S. (ohforf)


Lesenswert?

Datenblatt Seite 3 :
High current sink/source 25mA/25mA
(Das gilt für jeden einzelnen Portpin)

Seite 417:
Total power dissipation (Note 1) ...1.0W
Maximum current out of VSS pin...300mA
Maximum current into VDD pin...250mA
Input clamp current, IIK (VI < 0 or VI > VDD)...±20mA
Output clamp current, IOK (VO < 0 or VO > VDD) ...±20mA
Maximum output current sunk by any I/O pin...25mA
Maximum output current sourced by any I/O pin...25mA
Maximum current sunk by all ports...200mA
Maximum current sourced by all ports...200mA

Beachte auch das Kapitel "10.0 I/O PORTS"  ab Seite 131

Noch Fragen ?  :)

von Lehrmann M. (ubimbo)


Lesenswert?

So ich hab das Problem gelöst. :-D
Da hatte auch schon jemand den richtigen Riecher. Die Software war 
schuld. Ich Vollpfosten hab n paar nette Fehler in meinem C Code 
gemacht. (Ja ich hab irgendwie ne "~" vor das TRISREGISTER gebracht. 
Nachdem ich die entdeckt hatte hat's super geklappt.

Warum allerdings Flowcode das nicht gebracht hat werde ich wohl nie 
verstehen... Einzig und alleine darum (habe ich) Flowcode eingetzt - 
damit mir sowas nicht passiert...

Trotzdem vielen Dank für die Hilfe hier im Forum ...

Gruß

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> So ich hab das Problem gelöst. :-D
Schön.

> Da hatte auch schon jemand den richtigen Riecher.
> Die Software war schuld.
Nein, das Sytem war schuld, oder der Nachbar, oder Nachbars Katze...
> Die Software war schuld.
Sei doch ehrlich zu dir selbst: DU warst schuld.

> Ja ich hab irgendwie ne "~" vor das TRISREGISTER gebracht
Woher soll der Compiler wissen, dass du das nicht willst?

> Einzig und alleine darum (habe ich) Flowcode eingetzt -
> damit mir sowas nicht passiert...
Der Rechner macht idR. genau das was man ihm sagt   :-o

von Andreas R. (08fresh15)


Lesenswert?

Lehrmann Michael schrieb:
> Warum allerdings Flowcode das nicht gebracht hat werde ich wohl nie
> verstehen... Einzig und alleine darum (habe ich) Flowcode eingetzt -
> damit mir sowas nicht passiert...

Wenn Du Deinen C-Code in Flowcode einfügst, wird dieser nicht 
kontrolliert.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.