MobiFlight Community Support

Welcome to the forum for MobiFlight! Feel free to reach out to the community in case you have questions, issues or just want to share great ideas or details about your latest home cockpit project.

You like MobiFlight? Donate via PayPal and support the MobiFlight development. Thanks! 

05/03/2024 - This forum is read-only

The community support for MobiFlight has moved exclusively over to our Discord server. Register for free and enjoy more interactive functions like image and video upload, voice chat. More than 7,000 registered users around the world make it a great experience!

See you on our MobiFlight Community Discord server.

A HUGE Thank You to everyone who participated in the forum, especially obviously to Pizman and Stephan who did an outstanding job over so many years providing an incredible service to the MobiFlight community.

The forum is still providing a lot of good content, hence we keep this information accessible.

Go to page 1Go to page 012Go to page 2Go to page 2
Avatar
avidflyer
Posts: 138
Hallo,

ich habe ein paar Fragen zum Anschluss an die Mega.

Wie viel LEDs Low current kann man an ein Out anschließen, ohne ihn zu überlasten?
Wie viele Pins kann ich als Out / In verwenden?
Welche I/O Pins können nicht verwendet werden?

Vielen Dank

Christian
2017-01-15 11:41
Avatar
tommy1332
Posts: 26
Ich kann dir nur die erste Frage beantworten.

Kurzer Disclaimer: Ich habe bisher noch nichts mit Mobiflight gebaut und uebernehme auch keine Garantie fuer das unten geschriebene. Falls dort etwas falsch sein sollte, bitte ich um einen Hinweis.

Das haengt von mehreren Dingen ab:
- Dein Netzteil
- Ob du den 5V-Spannungswandler auf der Platine nutzt oder nicht.
- Dem Innenwiderstand des I/O-Pins vom ATmega2560, der Flussspannung deiner LEDs und wie hell du sie minimal haben moechtest.
- Den Absolute Maximum Ratings des ATmega2560.

Nehmen wir den besten Fall an:
- Das Netzteil ist ausreichend dimensioniert
- Die Stromversorgung erfolgt ueber ein 5V Netzteil und ist nicht an VIN angeschlossen. (Ob es ueber VIN funktionieren wuerde oder nicht, haengt vom Netzteil ab und koennte man mal durchrechnen).

Als LED nehmen wir eine Low-Current-LED mit einer Flussspannung von 2V bei einem Strom von 2mA.
Ausserdem sind alle LEDs parallel geschaltet (effizienter waere es zwar, wenn immer jeweils zwei LEDs in Reihe und diese Paare dann parallel geschaltet waeren, bei einem Ausfall einer LED wuerde dann allerdings das ganze Paar ausfallen).

Wie viel Strom duerfen wir jetzt fliessen lassen?
Die Absolute Maximum Ratings des ATmega2560 sagen "DC Current per I/O Pin 40.0mA".
Damit koennten wir theoretisch also 20 LEDs an einen Pin anschliessen.

Berechnung des Vorwiderstandes
Da es sich um so viele LEDs handelt, finde ich es in Ordnung nur einen Vorwiderstand fuer alle LEDs zu nutzen. (Jaja, das macht man nicht, weil die LEDs sonst nicht gleich hell leuchten koennten. Macht die Rechnung hier allerdings einfacher. Wenn die Helligkeit ungleichmaessig ist, dann liegt es hier dran.)
Wir muessen 3V Spannung vernichten, also braucht es einen Vorwiderstand mit 75 Ohm.
Da der Vorwiderstand so gering ist, sollten wir den Innenwiderstand des I/O-Pins beruecksichtigen.
Der Innenwiderstand eines I/O-Pins von einem ATmega2560 liegt bei ungefaehr 25 Ohm.
D.h. wir ziehen diese 25 Ohm von den 75 Ohm ab und erhalten einen Vorwiderstand von 50 Ohm fuer unsere 20 LEDs.

Wie haeufig koennen wir das denn machen?
In den GND-Pin duerfen wir maximal 200 mA fliessen lassen.
Das ganze darf man also 5 mal machen, solange man nichts anderes an den Arduino anschliesst.
/edit: Da der ATmega 4 VCC und 4 GND Pins hat, duerfen theoretisch 800mA fliessen. Das habe ich nicht beruecksichtigt. Bitte beim weiterlesen beachten.

Sollte man das machen?
Ich habe hier mit den Absolute Maximum Ratings gerechnet. Theoretisch darfst du das machen.
Der Mega wird dabei aber ggf. nicht lange halten.
Ich werfe einfach mal die Zahl 10 in den Raum. 10 LEDs bei jeweils 2mA halte ich fuer realistisch.
[Last edited by tommy1332, 2017-02-02 00:54]
2017-01-16 22:51
Avatar
pizman82
From: ETSI, Germany
Posts: 6010
Supporter
Servus Chrsitian.

1. LED auf einen Pin.
Tommy hat eigentlich das technische gesagt.... Die Frage ist " Wofür brauchst du das ?" Wenn 20 LED an einen Pin hängen dann gehen auch alle 20 gleichzeitig an und sind nicht mehr individual !
Ich vermute du denkst über eine Hintergrundbeleuchtung nach ! Hier würde ich dir eher raten ein seperates Netzteil zu verwenden und diese komplett unabhängig vom Simulator zu gestalten.

2. Maximale Pinzahl.... Dazu steht alles in den FAQ
Aktuell meines Wissens 40 LED pro Board. Wobei natürlich die Zahl kombinierbar ist. Also die restlichen Pins kannst für z.b. Inputschalter nehmen.

3. Tote Pins.... Das ist eine Gute Frage. Ich verwende grundsätzlich nicht Pin 1 und 2 aber wirklich wissen tue ich das auch nicht. Hier wäre mal ein FAQ Eintrag nötig falls Sebastian Zeit findet.

Good Luck
Good Luck !
2017-01-17 10:28
Avatar
avidflyer
Posts: 138
Vielen Dank für die Antworten.

Ich habe gelesen, das nicht mehr als 10 Leds a 20mA an eine Mega sollen, da der Chip nur 200mA ab kann. Meine Megas habe ich über einen powered Hub angeschlossen und dachte damit kann ich mehr schalten aber das scheint wohl nur über ein Netzteil zu gehen. Meine Absicht war es an einem Pin ggf. 2-3Leds schalten, um ein Cautionlight besser ausleuchten zu können. Um einen Led Stripe zu steuern habe ich mir ein mir ein Arduino Relais bestellt. (Panelbeleuchtung)

Grüsse Christian
2017-01-17 19:55
Avatar
pizman82
From: ETSI, Germany
Posts: 6010
Supporter
@ Christian....

Ich bin zwar in sachen Elektrik auch kein Profi ( Mein Physiklehrer wird sich grad im Grab umdrehen) ... Aber denke du (oder ich ) verstehst hier was falsch....
Dein Pin liefert einen Strom und dieser ist immer gleich egal ob eine LED oder 20 dran hängen.

Wie tommy schreibt liefert der Arduino 40mA pro pin. Hängen wir jetzt mehrere LED ran die zusammen über 40mA bräuchten dann sind sie schlicht dunkler weil zu wenig Strom kommt aber es sollte doch eigentlich keine Probleme geben und dem Arduino egal sein .


Was ich grad nicht ganz verstehe ist folgender Satz von Tommy....
icontommy1332:


Wie haeufig koennen wir das denn machen?
In den GND-Pin duerfen wir maximal 200 mA fliessen lassen.
Das ganze darf man also 5 mal machen, solange man nichts anderes an den Arduino anschliesst.



Wenn die LED an ist dann "verbrennt" sie doch die Stromstärke (mA) und es kommt doch am GRD nix mehr (oder wesentlich weniger) an. Ist die LED aus dann ist der Pin selbst nicht auf GRD (deshlab ist sie ja aus) und es fliest kein Strom.

Falls ich also falsch liege bitte klärt mich auf.... Aber warum sollte das 200mA vom GRD hier etwas ausmachen ?
Oder anders gefragt.... Wenn ein Pin als schalter definiert ist und wir 40 Kippschalter verbauen (In MF erlaubt) UND jetzt schlaten wir alle 40 ein.... Dann würde nach dieser logik in dem Moment 40*40mA = 1600 mA auf GRD gehen weil wir ja keine Verbraucher im Schalter haben.... (Da das Board nur 500mA liefert wären es vermutlich nicht 1600 sondern 500 aber trotzdem).
Bitte um Erklärung falls das jemand genau weis.
Good Luck !
2017-01-18 10:42
Avatar
avidflyer
Posts: 138
Genau diese Frage bewegt mich auch schon eine Ganze weile.
Was bedeuten diese 200mA für mich bei der nutzung aller 40 Pins.

Grüsse Christian
2017-01-18 12:30
Avatar
tommy1332
Posts: 26
Ich versuche mal die Fragen zu beantworten.

iconpizman82:

Ich bin zwar in sachen Elektrik auch kein Profi ( Mein Physiklehrer wird sich grad im Grab umdrehen) ... Aber denke du (oder ich ) verstehst hier was falsch....
Dein Pin liefert einen Strom und dieser ist immer gleich egal ob eine LED oder 20 dran hängen.

Wie tommy schreibt liefert der Arduino 40mA pro pin. Hängen wir jetzt mehrere LED ran die zusammen über 40mA bräuchten dann sind sie schlicht dunkler weil zu wenig Strom kommt aber es sollte doch eigentlich keine Probleme geben und dem Arduino egal sein .



Ein Pin kann auch mehr Strom als 40 mA liefern. Dann geht er aber kaputt, da das der Hersteller als hoechsten zulaessigen Strom deklariert hat.
Der Strom ist erstmal nur durch den Innenwiderstand vom Pin (25 Ohm) begrenzt. Nach Ohms Gesetz koennten also 200 mA fliessen (200mA = 5V / 25 Ohm), wenn wir den Pin mit GND kurzschliessen.
Ich glaube du verwechselst hier die Stromquelle mit der Spannungsquelle. Ein Pin, der als Ausgang geschaltet ist, verhaelt sich wie eine Spannungsquelle.

iconpizman82:

Wenn die LED an ist dann "verbrennt" sie doch die Stromstärke (mA) und es kommt doch am GRD nix mehr (oder wesentlich weniger) an.
Ist die LED aus dann ist der Pin selbst nicht auf GRD (deshlab ist sie ja aus) und es fliest kein Strom.


Der Strom ist in einer Reihenschaltung (wie sie z.B. bei Betrieb einer einzelnen LED vorhanden waere) an jeder Stelle gleich. Er wird nicht weniger und somit auch nicht "verbrannt". Somit fliesst also auch der LED-Strom durch den GND-Pin und muss beruecksichtigt werden.

iconpizman82:

Falls ich also falsch liege bitte klärt mich auf.... Aber warum sollte das 200mA vom GRD hier etwas ausmachen ?
Oder anders gefragt.... Wenn ein Pin als schalter definiert ist und wir 40 Kippschalter verbauen (In MF erlaubt) UND jetzt schlaten wir alle 40 ein.... Dann würde nach dieser logik in dem Moment 40*40mA = 1600 mA auf GRD gehen weil wir ja keine Verbraucher im Schalter haben.... (Da das Board nur 500mA liefert wären es vermutlich nicht 1600 sondern 500 aber trotzdem).


Bei einem Kippschalter werden die Ausgaenge nicht direkt mit 5V verbunden, sondern sind ueber einen hochohmigen Pull-up-Widerstand mit 5V verbunden. Ist der Kippschalter nicht umgelegt, so misst man am Pin 5V. Wird der Kippschalter umgelegt und somit der Pin mit GND verbunden, so faellt ueber dem Widerstand die komplette Spannung ab und der Pin misst 0V. Dabei fliesst je nach Widerstand weniger als 1 mA und ist somit vernachlaessigbar.

iconavidflyer:

Was bedeuten diese 200mA für mich bei der nutzung aller 40 Pins.


Wenn ich das richtig sehe, sind die einzigen Bauteile, die Mobiflight mit dem ATmega direkt versorgt, LEDs.
Je nach Schaltungsart, wobei die Parallelschaltung einzelner LEDs typisch sein duerfte, muss der Strom durch alle LEDs addiert werden. Diese Summe muss unter 200 mA bleiben. Im Idealfall bleibt man recht weit unter diesem Wert und nutzt lieber ein zusaetzliches Board. 150 mA halte ich fuer eine realistische Grenze, die die Nutzung eines zusaetzlichen Boards anzeigt.
2017-01-18 17:39
Avatar
pizman82
From: ETSI, Germany
Posts: 6010
Supporter
hmmm.

Wie gesagt... Da bin ich wirklich kein Fachmann und ich glaube das mal 1:1 was du sagst..... Dennoch bin ich etwas verwundert.....
In Mobiflight haben wir die "Erlaubnis" 40 LED auf ein Board zu hängen. Und vermutlich werde ich nicht der Einzige sein der dafür dir billigen Standard 20mA LED´s von Reichelt/Conrad etc benutzt.
Laut deiner rechnung wären das dann 20*40 = 800 mA . Also 4 fach über dem Maximum.

Komisch das das hier oder in anderen Foren noch nie zu lesen war bzw das es mir noch nie unter die Augen kam.
Good Luck !
2017-01-18 19:35
Avatar
avidflyer
Posts: 138
Hallo tommy1332,

vielen Dank für deine Erklärung. Ändert der Anschluss eines externen Netzteils an die Mega an den maximal schaltbaren LED? Der max 200mA Strom über den Chip darf ja nicht überschritten werden aber wird dies durch den Einsatz eines Netzteils anders geregelt, also der Strom >200mA an dem Chip "vorbei" geführt?

Danke

Christian
2017-01-18 22:21
Avatar
tommy1332
Posts: 26
Egal wie das Netzteil am Arduino angeschlossen ist, der Strom muss durch den Chip.
Wenn man wirklich groessere Lasten steuern moechte, dann mit einer zusaetzlichen Treiberstufe wie einem Transistor (Siehe Beispiel der Emitterschaltung http://www.hobby-bastelecke.de/halbleiter/transistor_funktion.htm , anstatt dem Potentiometer wuerde R1 direkt mit dem Pin vom Arduino verbunden werden.).
2017-01-18 22:44
Avatar
avidflyer
Posts: 138
Vielen Dank für die Antwort:thumbup:

Das habe ich mir schon gedacht.

Grüße Christian
2017-01-19 19:00
Avatar
Merikarhu
Posts: 13
I made design if you would like to have more than 10-20 leds connected to mega http://tinyurl.com/j8l4n84
2017-02-01 16:33
Avatar
Luftikus
From: Bünde, Germany
Posts: 66
Supporter
Hallo,

Jetzt habe ich dieses Thema durchgelesen, aber ich weiß jetzt immer noch nicht wieviel Led´s man gesammt an einen Arduino anschließen
kann ohne ihn zu zerschrotten.
Da man für ein A320 Overhead , das sind 86 Korrys , je 2* Led = 172 Led´s ohne Taster braucht.
Oder sollte ich lieber warten bis Arcaze seine LED Driver 3 wieder lieferbar hat.

Danke für mögliche Erklärungen
Gruß, Dieter
2017-02-02 18:49
Avatar
tommy1332
Posts: 26
Mit einem Arduino kannst du maximal 40 LEDs ansteuern. Siehe FAQ:
iconQuote:

Der Arduino Mega hat über 50 I/O Pins. Die MobiFlight Firmware begrenzt aktuell auf 40 LEDs.



Haenge an jeden nutzbaren Pin maximal eine LED mit maximal 20mA. Besser etwas weniger Strom, damit das Board lange lebt.
Eine Idee: Wenn ich das richtig verstehe, haben die Korrys ja eine LED fuer den Text und eine LED die anzeigt, ob die Funktion aktiv ist.
Wenn das so ist, dann waere es sicherlich sinnvoll alle Text-LEDs mit nur einem Pin zu steuern. Das koenntest du z.B. mit einem Relay machen.
Damit duerfte sich der Pinbedarf halbieren.
2017-02-04 01:51
Avatar
Luftikus
From: Bünde, Germany
Posts: 66
Supporter
Hallo,

Danke für die Antwort, aber kann Mobiflight denn die LED´s einzeln über Relais ansteuern. Ich denke an so eine Matrixfunktion
wie zum Beispiel Schieberegister 74HC595.

Gruß, Dieter
2017-02-04 08:50
Go to page 1Go to page 012Go to page 2Go to page 2