PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : 2 elektr. Grundfragen



TrainMen
01.07.2009, 03:02
Hi,
Ich kann mit den I2C Ports kleine Lasten bis 20mA schalten.
1. Was brauche ich um grössere Lasten zu schalten ?
Bitte jetzt nicht Fragen was, ist nur so von Interesse? und bitte etwas genauer wenn möglich.
2.und zweitens ein bisschen Nachhilfe, gegeben ist:
Pluspol der LED (Anode) an den Port, Minuspol (über Vorwiderstand!) an GND. wenn jetzt der Port High ist leuchtet die LED.
und jetzt das gleiche bitte mit externer Stromversorgung. Minus an GND und Plus?
Trainmen

Lync
01.07.2009, 07:22
größere Lasten kannst du mit einen Transistor schalten.
Mit dem Transistor kannst du dann wiederum z.B. Relais und Fets ansteuern die mehr als 5V benötigen.

Die LED schließt du gleich an nur das bei einem NPN Typ GND über der Kollekter Emitter Strecke "fliest".

Die Transistor noch mit einem Pullup ansteuern bzw. den internen verwenden.

mfg

021aet04
01.07.2009, 09:09
Mit dem I2C Port kann man keine Lasten schalten, da dies ein Bus ist. Du brauchst einen Ausgangsport. Bei der Led schließt man normalerweiße zuerst den Widerstand an. Also +U => Widerstand => LED => GND
Die Funktion ändert sich aber nicht. Wenn du die Led an die Versorgung anschließen willst gehst du gleich vor, nur statt den Ausgang vom µC nimmst du die Versorgungsspannung. Wie du den Vorwiderstand berechnest weißt du?
So schließt du einen Transistor an den µC an. Wenn du eine Induktvität anschließt (Relais, Motor, Spule,..) musst du noch eine Freilaufdiode verwenden. Die Anode von der Diode (z.B. 1N4148) schließt du an den Transistor an. Die Kathode an +U.
http://www.bilder-hochladen-kostenlos.de/files/imagecache/600x400/Transistor_an_µC.JPG

oberallgeier
01.07.2009, 09:42
Mit dem I2C Port kann man keine Lasten schalten, da dies ein Bus ist ...Jein. Hardwaremässig ist das kein Bus - zum Bus werden die I²C-Ports ja erst durch Software. Ich habe an meinem I²C-Stecker standardmässig in der Testphase zwei LEDs, natürlich mit Vorwiderstand, die zur Fehlersuche ganz hervorragende Dienste leisten, siehe hier, ganz oben Mitte, (http://oberallgeier.ob.funpic.de/miniDO_1837.jpg) die rote und die grüne SMD-LED.

TrainMen
01.07.2009, 10:11
Hi,
die Antworten reichen mir so nicht und verwirren
1. ist es gegeben, das die LED so wie oben Beschrieben an den Ports SDA und SDL beim setzen des Ports auf High die LED angeht. Also schalte ich eine Last. Laut Handbuch ist 20mA maximum. Ich will mehr schalten.
Ok mit einem Transistor der dann ........
ich bat darum es genauer zu schreiben, welche Bauteile müssen wo ran ? und bitte daran denken wir sind hier beim RP6
und zur 2 Frage, falls es nicht klar war, gegeben ist erstens Strom vom RP6 und dann das gleiche mit externer Stromversorgung
Trainmen

Lync
01.07.2009, 10:19
Den Schaltplan hat dir 021aet04 oben gezeichnet.
Gegebenfalls noch eine Freilaufdiode wenn du z.B. einen Motor schaltest-

mfg

TrainMen
01.07.2009, 10:40
Hi,
ok, ich hab das nichts so für voll genommen, weil er behauptete das man keine Lasten am I2C schalten kann und ich tuh das ja bis 20 mA.
jetzt bleibt dir Frage, bis zu welcher Last kann ich denn jetzt schalten und welchen Transistor brauche ich (Bezeichnung).
Danke
Trainmen

021aet04
01.07.2009, 10:59
Das hängt von der Leistung ab. Du musst wissen, was du schalten willst. Der BC337 kann z.B. 800mA schalten
http://www.bitsbox.co.uk/images/bc337.jpg
Hier sind Transistoren mit verschiedenen Leistungen
http://media.conrad.de/m/1000_1999/1500/1550/1550/155012_GB_00_FB.EPS.jpg
Der linke ist für niedrige Leistungen (z.B. BC337 => 800mA)
Der mittlere ist für höhere Leistungen (hat einen Anschluss für Kühlkörper, z.B. BD136 => 1,5A)
Der rechte ist für hohe Leistung. Dieser hat ein Metallgehäuse, damit er die Wärme gut ableiten kann. (z.B. 2N5686 => 50A)

TrainMen
01.07.2009, 12:30
Hi,
heisst es jetzt "bis" 800 mA, ich kann also auch 200mA mit dem Schalten ?
Also Bsp.
Der Verbraucher hat 12V 500mA. Ich verbinde so wie im Bild von 021aet04. Die Basis vom BC337 kommt an SDL vom I2C Bus des RP6.
Richtig so ?
Freilaufdioden und Vorwiderstände lassen wir mal aussen vor.

MeckPommER
01.07.2009, 12:46
Hi,
ok, ich hab das nichts so für voll genommen, weil er behauptete das man keine Lasten am I2C schalten kann und ich tuh das ja bis 20 mA.
jetzt bleibt dir Frage, bis zu welcher Last kann ich denn jetzt schalten und welchen Transistor brauche ich (Bezeichnung).
Danke
Trainmen

Nicht ins Trudeln kommen ... mit dem I2C schaltet man definitiv keine Lasten. Es ist ein Datenbus zum Informationsaustausch.
Wenn du die Portpins per Software nicht für I2C konfiguriert hast, sind es ganz "normale" Portpins, die so beschaltet werden können, wie du es bereits getan hast.

Bei der Auswahl des Transistors bitte noch auf die Leistung achten. Wenn ein Transistor z.B. bei 5V 500mA schalten kann, bedeutet das nicht, das er dies auch bei 12V oder 20V kann.

Gruß MeckPommER

TrainMen
01.07.2009, 13:08
Hi,
Leute macht mich doch nicht verrückt,
in dem Beispielprogramm "P6Base_I2CMaster_01.c" wird ein PCF8574 also ein I2C Portexpander benutzt. An diesen sind LED welche ein Lauflicht darstellen. Wie nennt man das denn ??

und zum Transistor, beim BC337 steht I=1A und U=45V also kann er eine Last bis 1A und bis 45V schalten? so wäre ich ja in meinen Bereich
Trainmen

Tido
01.07.2009, 13:22
Der PCF8574 kann nach GND 20mA treiben, nach 5V nur wenige µA. Deshalb muss der Transistor zum Schalten "großer" Lasten noch per Pullup unterstützt werden oder die invertierte Logik (Low=An) benutzt werden.

MeckPommER
01.07.2009, 17:08
In meinem Datenblatt steht 45V und 800 mA, ABER da steht noch die Leistung, die der Transistor schalten kann und das sind 0,625W. Bei 45V sind das dann grade noch 17mA.
Der PCF8574 ist ein Baustein, welcher per I2C angesteuert wird und einen Port zur Verfügung stellt. Die LEDs an diesem Baustein sind an einem Port und nicht am I2C. Die Kommunikation zwischen PCF8574 und Atmega erfolgt über I2C.

Gruß MeckPommER

TrainMen
01.07.2009, 17:59
Hi,
OK das ist jetzt klar, der IC2 steuert meine Porterweiterung und die stellt mir Ports zur Verfügung mit denen ich Lasten schalten kann. nach GND sind 20mA und nach 5 Volt wenige µA. OK somit ist die Aussage das man mit I2C keine Lasten schalten kann wahr.
Trainmen

Yossarian
01.07.2009, 18:33
Hallo
Wenn der Transistor im Schaltbetrieb arbeitet, also voll duchgesteuert ist, "fallen" an ihm nur ca. 0,6V ab.
Das heißt: 0,625W/0,6V=1A bzw. andersherum: 500mA *0,6V= 300mW

Mit freundlichen Grüßen
Benno

Dirk
01.07.2009, 19:40
Hallo TrainMen,

... IC2 steuert meine Porterweiterung und die stellt mir Ports zur Verfügung mit denen ich Lasten schalten kann. nach GND sind 20mA und nach 5 Volt wenige µA. OK somit ist die Aussage das man mit I2C keine Lasten schalten kann wahr.
1. Richtig ist, dass die I2C-Portexpander vom I2C-Bus angesteuert werden, und dann kann man mit den I/O-Ports des Portexpanders Lasten schalten (größere über eine Treiberstufe).

2. Dass "man mit I2C keine Lasten schalten kann" ist eine Frage der Sichtweise:
Der I2C-Bus wird durch zwei I/O-Ports des uCs (beim RP6 sind das PC0 und PC1) gebildet, die beiden Leitungen des Busses heißen dann SCL und SDA. Nutzt man diese beiden I/O-Ports für den Bus, dann kann man nicht gleichzeitig die Ports PC0/PC1 für Schaltaufgaben nehmen.
Nutzt man aber im aktuellen Programm nicht den I2C-Bus, dann kann man mit PC0 und PC1 auch zwei Lasten schalten.

Gruß Dirk

TrainMen
02.07.2009, 06:00
Hi Dirk,
ja ist jetzt schon klar.

Am Anfang des Threads stellte ich noch eine 2 Frage.
Du hattest mal ein Stück Zeichnung einer Erweiterungsplatine hier eingestellt, wo Du jemanden erklärst wie eine LED an SDA angeschlossen wird. Wie sieht es denn jetzt aus wenn ich selbige LED an SDA zum leuchten bringen will aber mit externer Stromversorgung.

Ich weiss jetzt zwar wie das Schaltplan aussehen muß für meine Lastschalterei aber wie Berechne ich den Transistor und die Freilaufdiode
Trainmen

vohopri
02.07.2009, 07:22
Wenn der Transistor im Schaltbetrieb arbeitet, also voll duchgesteuert ist, "fallen" an ihm nur ca. 0,6V ab.

Da bringst du jetzt Ube und Ucesat durcheinander. Oder wie kommst du jetzt auf 0.6V? Ucesat ist liegt typischerweise niedriger.

grüsse,
Hannes

TrainMen
02.07.2009, 11:37
Hi,
hat sich erledigt mit den Berechnungen der Bauelemente habe alles gefunden.
Fehlt nur noch die Antwort von Frage 2
Trainmen

Yossarian
02.07.2009, 11:42
Hallo

Da bringst du jetzt Ube und Ucesat durcheinander
Vce(sat) nach Datenblatt BC337 0,7V max.

Mit freundlichen Grüßen
Benno

Tido
02.07.2009, 14:22
Hi,
hat sich erledigt mit den Berechnungen der Bauelemente habe alles gefunden.
Fehlt nur noch die Antwort von Frage 2
Trainmen

Nimm die Schaltung von 021aet04 und schließe + der ext. Spannungsquelle statt der 5V (siehe Bild) an. Passenden Vowiderstand für die LED, GND beider Spannungsquellen verbinden und fertig.

TrainMen
02.07.2009, 15:18
Hi,
ja so ist mir das ja jetzt klar nur so war meine Frage nicht. Meine Frage war ohne Transistor, weil ja jetzt ein Kontakt fehlt. Sch..... ich weiß auchnicht wie ich das Beschreiben soll. Dirk wird schon wissen was ich meine das Bild kam ja von ihm, wenn er das denn liesst !?
Trainmen

Dirk
02.07.2009, 16:40
... Dirk wird schon wissen was ich meine das Bild kam ja von ihm ...
Ja, ich ahne es.

1. Es ist möglich, auch ohne Transistor eine externe Spannung zu benutzen, wenn sie nicht höher ist als die Betriebsspannung des uCs, also als 5V. Die Kathode der LED kommt dann an den I/O-Port und die Anode über den Vorwiderstand an die externe Spannungsquelle (max. 5V).
Die ext. Spannung und die uC-Schaltung sind mit GND verbunden. Der zu schaltende Strom darf auch nicht höher sein, als ohne ext. Spannung. Die LED leuchtet dann, wenn der I/O-Port Low-Pegel hat.

2. Wenn die ext. Spannung höher sein soll als die uC-Spannung (5V) ODER der Laststrom des I/O-Pins größer als 20mA ist ODER die Gesamtlast aller Verbraucher an dem uC zu hoch ist (wie hoch steht im Datenblatt), dann brauchst du eine Treiberstufe für die Last (Transistor oder MOSFET).

Gruß Dirk

TrainMen
03.07.2009, 08:35
hi Dirk,
ja sowas ahnte ich schon, also wäre das invertiert, so wie hier im Thread schon erwähnt wurde.
Ich danke für eure Geduld
Trainmen