Hallo zusammen,
ich habe mein erstes Programm in Assembler geschrieben auf meinem Arduino UNO um Laufen gebracht und etwas merkwürdiges festgestellt.
Habe alle 8 Pins von PortD auf 1 gesetzt und möchte damit an den Pins 0-7 eine rote LED mit 220 Ohm Widerstand schalten.
Das funktioniert auch soweit einwandfrei. Aus Interersse habe ich den Strom mal an den jeweiligen Pins gemessen und habe folgendes Ergebnis:
Wenn nur eine LED angeklemmt ist, habe ich an dem jeweiligen Pin 69mA gemessen.
Wenn zwei LEDs angeklemmt sind, habe ich an den jeweiligen Pins 59mA gemessen.
Wenn drei LEDs angeklemmt sind, messe ich 55mA und mit vier LEDs 48mA usw.
Wieso sinkt der Strom an allen Pins, je mehr LEDs ich anklemme???
40mA sollte ja auch das absolute Maximum pro Pin sein und 200mA am ganzen Controller.
Du hast offensichtlich nicht 220 Ohm als Vorwiderstand genommen (rot rot braun) sondern viel weniger - mit 220 Ohm müssten etwa 15mA durch die LED fließen.
Du ziehst so viel Strom aus dem Pin, wie er eben noch liefern kann. Dass der Controller dabei noch funktioniert, ist zwar schön, aber nicht sicher.
Also die Widerstände haben den Farbcode rot-rot-schwarz-schwarz-braun
Im Anhang mal ein Foto der Schaltung mit abgeklemmter Masse.
Irgendwas stimmt da nicht.
Benneman:
Wieso sinkt der Strom an allen Pins, je mehr LEDs ich anklemme???
40mA sollte ja auch das absolute Maximum pro Pin sein und 200mA am ganzen Controller.
LG Ben
rot-rot-schwarz-schwarz-braun sind entweder 220 Ohm oder umgekehrt gelesen 10kOhm. Beides sind Werte die nicht mit dem gemessenen Strom vereinbar sind.
Die 40mA sind nicht der Strom der max aus einem Pin heraus bzw hineinfließt sondern der max zulässige Werte für die die Parameter der Ausgangsspannung gültig sind bzw die intern keine Schaden anrichten (Überlastung). Wenn Du einen Kurzschluß erzeugst fließt mehr Strom und wird nur durch die Widerstände der Ausgangstransistoren bzw der internen Verbindungsleitungen begrenzt.
miß die Widerstände mit einem multimeter anch.
Kontrolliere die Schaltung ob Du nicht die Widerstände überbrückst.
nimm besser größere Widerstände (zwischen 470 und 1000 Ohm) Die LED siehst Du dennoch und dem Arduino tut es besser.
bist Du sicher, daß Du die LEDs nicht zusätzlich multiplext bzw wiederholt Ein- und Ausschaltest?
Es wird ja gemunkelt dass der originale UNO "am sichersten" ist.
Wie man hier und in vielen anderen Beispielen sehen kann, tuts der Sainsmart auch.
Also für Anfänger genau das richtige, denn wenn man ein originalen hat und keine Ahnung hat, hat man schnell 40€ in den Sand gesetzt.
skorpi08:
Es wird ja gemunkelt dass der originale UNO "am sichersten" ist.
Der Hersteller ist da wohl ziemlich Peng.
Der ATmega kommt immer von Atmel (glaube ich)
Ich habe schon ettliche Böcke mit dem UNO geschossen.
Kurzschlüsse, den Mega verkerht rum drauf gesteckt.
Gnadenlos überlastet, wie auch Mr. Benneman es geschafft hat.
Die Dinger haben bisher alles überlebt
] Das soll allerdings keine Empfehlung sein, solche Böcke zu schießen. ]
Aber dieses ist eine Empfehlung/Erfahrung:
Liebe Anfänger, der UNO, egal welcher Hersteller, aber mit steckbarem ATMega, ist genau das richtige für den Prototypenbau.
Und wenns wirklich mal raucht, dann kann man den Prozessor für wenige Euronen ersetzen.
Ja, der AVR ist ziemlich robust. Es gibt natürlich Wege den kaputt zu machen, aber man muss sich schon anstrengen. Und man macht eher ein einzelnen Pin kaputt als den kompletten Prozessor.