ich bin relativ neu im Arduino-Bereich und habe eine kleine? Frage. Der Arduino Uno hat 14IO-Pins, wenn ich nun 4 Ultraschallsensoren anschließen möchte brauche ich 16 Pins. 4GND, 4VCC, 4 Trig und 4 Echo. Kann ich nun die 14 Pins mit 4x Trig, 4x Echo, 3x GND und 3xVCC betreiben und zusätzlich noch den extra VCC und GND Pin nutzen um alle 16 abdecken zu können?
mrshoe:
ich bin relativ neu im Arduino-Bereich und habe eine kleine? Frage. Der Arduino Uno hat 14IO-Pins, wenn ich nun 4 Ultraschallsensoren anschließen möchte brauche ich 16 Pins. 4GND, 4VCC, 4 Trig und 4 Echo. Kann ich nun die 14 Pins mit 4x Trig, 4x Echo, 3x GND und 3xVCC betreiben und zusätzlich noch den extra VCC und GND Pin nutzen um alle 16 abdecken zu können?
VCC und GND sind Stromversorgungsleitungen, daran kannst Du alle 4 Sensoren parallel anschließen.
Du brauchst VCC und GND zur Stromversorgung der Sensoren, außerdem 4x Trig und 4x Gnd Pins.
Und in ganz besonderen Spezialfällen, in denen Du alle 4 Sensoren gleichzeitig triggern möchtest, schließt Du auch die Trigger-Pins zusammen an einen einzigen Ausgang am Arduino an. Dann brauchst Du VCC, GND, 1xTrig und 4xEcho. Keine Ahnung, ob dieser Spezialfall bei Dir möglicherweise verwendet werden kann.
Der Spezialfall von Jurs kann nur verwendet werden wenn das ausgesannte Signal und das Echo eines Ultraschallsensors nicht von einem anderen empfangen werden kann. Ansonsten muß ein Ultraschallsensor nach dem anderen angesteuert werden und zwar mit so großen Pausen dazwischen daß kein weites Echo des einene den nächsten erreichen kann.
Die Stromversorgungs bzw Masse DARF nicht durch Arduino I/O Pins erfolgen. Diese gehen kaputt. Die Stromversorgung kann aus den oins GND und +5v bzw 3,3V erfolgen. Der maximale Strom ist von der Art der Spannungsversorgung abhängig:
USB: bis zu 400mA an 5V
7 bis 12V Versorgungsspannung an Netzteilbuchse ca 100mA.
An 3,3V beim Arduino UNO nur 80mA bei älteren Modellen gar nur 50mA.
Bei höheren Strombedarf muß ein externes Netzteil verwendet werden.
Grüße Uwe
jurs:
daran kannst Du alle 4 Sensoren parallel anschließen
damit war ich mir überhaupt nicht sicher.
Kannst du mir noch kurz erläutern worin der Unterschied zwischen VCC und dem IO-Pin auf Output-High besteht?
Das mit den zeitlichen Abständen zwischen dem Ansprechen der Sensoren hatte ich mir auch schon überlegt, das sollte auch kein allzugroßes Problem darstellen. Generell versuche ich, den Abstand in "alle" 4 Richtungen zu messen.
uwefed:
Der Spezialfall von Jurs kann nur verwendet werden wenn das ausgesannte Signal und das Echo eines Ultraschallsensors nicht von einem anderen empfangen werden kann. Ansonsten muß ein Ultraschallsensor nach dem anderen angesteuert werden und zwar mit so großen Pausen dazwischen daß kein weites Echo des einene den nächsten erreichen kann.
Die Stromversorgungs bzw Masse DARF nicht durch Arduino I/O Pins erfolgen. Diese gehen kaputt. Die Stromversorgung kann aus den oins GND und +5v bzw 3,3V erfolgen. Der maximale Strom ist von der Art der Spannungsversorgung abhängig:
USB: bis zu 400mA an 5V
7 bis 12V Versorgungsspannung an Netzteilbuchse ca 100mA.
An 3,3V beim Arduino UNO nur 80mA bei älteren Modellen gar nur 50mA.
Bei höheren Strombedarf muß ein externes Netzteil verwendet werden.
Grüße Uwe
Ein Sensor schluckt 15mA (soweit ich das gerade richtig in Erinnerung habe, den Sensor kennt ihr bestimmt alle ;-). Die Stromversorgung wird über USB laufen.
mrshoe:
Kannst du mir noch kurz erläutern worin der Unterschied zwischen VCC und dem IO-Pin auf Output-High besteht?
Aus dem IO-Pin darfst Du nur sehr wenig Strom ziehen, und aus VCC viele mehr.
Rechenbeispiel USB-Stromversorgung des Boards:
USB liefert bis zu 500 mA, das Board verbraucht ca. 50 mA, d.h.
==> Du darfst zusätzlich bis zu 450 mA am 5V-Pin entnehmen.
Rechenbeispiel Netzteilversorgung mit 12V Netzteil:
Der Spannungswandler auf dem Board verträgt bis zu 1 Watt Verlustleistung. Die Verlustleistung des Spannungsreglers ist die Differenz zwischen Netzteilspannung (12V) und der Boardspannung (5V) multipliziert mit dem Strom.
1 W = (12V - 5V) * I umgestellt I = 1/7 = 0,143 A = 143 mA
davon den Eigenverbrauch des Boards von 50 mA abgezogen, 143-50 = 93 mA
==> Du darfst zusätzlich bis zu 93 mA am 5V-Pin entnehmen
Bei den IO-Pins eines Controllers steht es im Datenblatt des Controllers, wieviel Strom Du über die IO-Pins schicken darfst. Das ist bei den AVR 8-Bit Controllern recht viel, nämlich bis zu maximal 40 mA, wenn nur ein Pin eines PORTx-Registers Strom abgeben muss. Für einen Arduino UNO oder DUE gilt also an den IO-Pins:
==> Du darfst maximal 40 mA entnehmen, wenn nur ein Pin im PORTx Register Strom abgeben muss
Da ein PORTx-Register bis zu 8 Pins umfasst, und insgesamt maximal 100 mA aus einem PORTx Register gezogen werden dürfen, darfst Du für den allgemeinen Fall gesprochen nur 100 mA / 8 = 12,5 mA ziehen
==> Wenn Du aus mehreren Pins Strom ziehst, darfst Du maximal 12,5 mA pro Pin ziehen.
Das gilt aber nur für die 8-Bit AVR Controller. Beim "Arduino DUE" mit 32-Bit Controller ist die Strombelastbarkeit der Pins sehr viel geringer, so dürfen beim DUE aus vielen Pins nur max. 3 mA Strom gezogen werden (aus einigen wenigen max. 15 mA).
Fazit: Aus dem 5V Pin eines Arduino darfst Du stets mehr Strom ziehen (93mA ... 450 mA), während aus den IO-Pins des Controllers nur viel weniger Strom gezogen werdne darf (3mA beim DUE bis maximal 40 mA bei den 8-Bit ATMEGA).
jurs:
Rechenbeispiel Netzteilversorgung mit 12V Netzteil:
Der Spannungswandler auf dem Board verträgt bis zu 1 Watt Verlustleistung. Die Verlustleistung des Spannungsreglers ist die Differenz zwischen Netzteilspannung (12V) und der Boardspannung (5V) multipliziert mit dem Strom.
1 W = (12V - 5V) * I umgestellt I = 1/7 = 0,143 A = 143 mA
davon den Eigenverbrauch des Boards von 50 mA abgezogen, 143-50 = 93 mA
==> Du darfst zusätzlich bis zu 93 mA am 5V-Pin entnehmen
Ganz so pessimistisch würde ich nicht herangehen. Der Low-Drop-Spannungsregler vom Uno schafft schafft 1 Ampere, oder habe ich das Datenblatt gänzlich falsch verstanden?
[edit] Und nein, ich schlage jetzt nicht vor, 950 mA aus dem 5V-Pin ziehen. Hier spielen mehrere Komponenten eine Rolle, zum Beispiel Breite und Dicke der entsprechenden Leiterbahn. Die soll ja auch nicht wegglühen...
sth77:
Ganz so pessimistisch würde ich nicht herangehen. Der Low-Drop-Spannungsregler vom Uno schafft schafft 1 Ampere, oder habe ich das Datenblatt gänzlich falsch verstanden?
Bei dem Spannungsregler gibt es zwar keine feste 1-Watt Verlustleistungsgrenze, sondern abhängig von der vorhandenen Kühlfläche in Kupfer, die dem Chip zur Verfügung steht, kann ggf. mehr Verlustleistung gefahren werden.
Siehe "Figure 21. SOT?223 Thermal Resistance and Maximum Power Dissipation vs. P.C.B. Copper Length" des Datenblatts
Oder für die Gehäuseform DPAK gilt das Bild "Figure 22" darunter.
Für die Gehäuseform SOT?223 geht dort die "Minimum Pad Size" von 3x3mm Kupfer bis zu einer Größe von 30x30mm. Je nach Größe der Kühlfläche kannst Du eine Maximum Power Dissipation PDmax aus der Kurve ablesen. Für eine Verlustleistung von 1,0 Watt lese ich für SOT-223 eine Größe der Kühlfläche von ca. 11x11 mm ab. Und jetzt schau mal aufs Board: Welche Gehäuseform ist verbaut? Und wie groß ist die Kupfer-Kühlfläche? Daraus ergibt sich dann die mögliche Maximum Power Dissipation.
Der maximal mögliche Strom kommt eher als Grenzwert zum Tragen, wenn die Eingangsspannung nur knapp oberhalb der Ausgangsspannung von 5V liegt. Bei einer recht hohen Eingangsspannung von 12 Volt ist es immer die verbratene Verlustleistung, die den Grenzwert setzt.
Im Datenblatt gibt es viele Betriebsparameter, die alle gleichzeitig eingehalten werden müssen. Du kannst Dir nicht einen beliebigen Parameter "maximal möglicher Strom" aussuchen, und alle anderen wie "maximale Verlustleistung" vergessen. Sondern Du mußt bei allen Betriebsparametern unterhalb der maximalen Grenzen bleiben. Und während bei 6V Eingangsspannung die Grenze durch den maximalen Strom vorgegeben wird, wird die Grenze des Betriebsbereichs bei 12V Eingangsspannung durch die maximale Verlustleistung vorgegeben.