Hallo zusammen, ich möchte mir ein kleines Lambdatool basteln, dafür soll ein vorhandener Arduino Nano V3 herhalten. Die Informationen kommen per I2C oder 0-5V Analog von einem CJ125-Controller (Spartan 2 OEM) und sollen nach Verarbeitung durch den Arduino auf einem 16x2 LC-Display angezeigt werden. I2C ist bevorzugt - nur wenn ich das nicht zum Laufen bekomme, sollen die Werte analog kommen. Die Versorgungsspannung liegt bei nominell 12V, schwankt aber von 12-14V. Nun ist es so, dass sowohl das Spartan-Board eine 5V-Versorgung hat, als auch der Arduino. Die 5V (lt. Doku max. 25mA) des Spartan dienen der Analogreferenz des Arduino, würden aber nicht für die komplette Versorgung von Arduino und des Displays reichen. Daraus folgt, dass ich 2 5V-Schienen habe: die vom Spartan und die vom Arduino/Display. Auf welche der beiden Schienen ziehe ich jetzt sinnvollerweise die Pull-Up Widerstände der beiden I2C-Leitungen? Vielen Dank für eure Hilfe! PS: Ich weiß, dass hier ab und an ein straffer Umgangston herrscht. Ich würde mich dennoch freuen, wenn keine zynischen Antworten von euch kommen. Ich bin wirklich auf Hilfe angewiesen und möchte nicht trollen oder Salamitaktik anwenden. PPS: Falls Fragen bzgl. R1 aufkommen - den habe ich eingefügt, um den LM1117 auf dem Nano-Board ein wenig zu entlasten.
:
Bearbeitet durch User
Ths S. schrieb: > Auf welche der beiden Schienen ziehe ich jetzt > sinnvollerweise die Pull-Up Widerstände der beiden I2C-Leitungen? Für sowas gibt es Level-Shifter. Aber: I²C ist ein Open-Kollector-Bus. Die beiden Massen zusamenschalten und dann halt nur einen der beiden 5V-Stränge verwenden.
Ich würde die 5V vom Arduino nehmen. Wenn Dein Spartan mal nicht vorhanden ist, würde ein anderer I2C Slave (EEPROM, irgendein Sensor, LCD oder wasweißich) dann trotzdem noch funktionieren. fchk
Rahul D. schrieb: > Für sowas gibt es Level-Shifter. Bei zwei gleichen Spannungen? Nee. Da braucht man sowas nicht.
Ths S. schrieb: > Die Versorgungsspannung liegt bei nominell 12V, schwankt aber von > 12-14V. Vermutlich handelt es sich dabei um eine Kfz-Stromversorgung. Hier kann es zu deutlich höheren Spannungsspitzen, Spannungseinbrüchen und sogar zur Umkehr kommen. Es gibt unzählige Publikationen, in denen die entsprechenden anzunehmenden Spannungsverläufe und Prüfimpulse dargestellt sind. Es empfiehlt sich daher sehr deutlich, eine geeignete Stromversogung zu realisieren, die dann gleich die gemeinsamen 5 V für Arduino- und Spartan-Boards erzeugt. Oder ggf. auch gleich die "richtigen" Spannungen (3,3 V, usw.) erzeugen. > Daraus folgt, dass ich 2 5V-Schienen habe: die vom Spartan und die vom > Arduino/Display. Auf welche der beiden Schienen ziehe ich jetzt > sinnvollerweise die Pull-Up Widerstände der beiden I2C-Leitungen? Genau. Realisiere lieber eine einzelne ordentliche Spannungsversorgung statt solch einer Flickschusterei. Dann lässt sich nämlich auch noch recht leicht eine kleine "USV" mittels Supercap auf einer höheren Spannungsebene realisieren, z.B. 12 V. Das sind natürlich nicht die 12 V direkt aus dem Bordnetz, sondern eine ggf. per Buck-Boost-Konverter von "12 V" auf 12 V umgesetzte "Zwischenkreisspannung".
Ths S. schrieb: > Die Versorgungsspannung liegt bei nominell 12V, schwankt aber von > 12-14V. Bordspannung. > Daraus folgt, dass ich 2 5V-Schienen habe: die vom Spartan und die vom > Arduino/Display. Auf welche der beiden Schienen ziehe ich jetzt > sinnvollerweise die Pull-Up Widerstände der beiden I2C-Leitungen? Ist egal, wenn alles fest verdrahtet ist. Wenn das Spartan 2 OEM Modul steckbar ist, dann die 5V fom Arduino. > PPS: Falls Fragen bzgl. R1 aufkommen - den habe ich eingefügt, um den > LM1117 auf dem Nano-Board ein wenig zu entlasten. Ist weder nötig noch so sinnvoll. 1) Der Arduino Nano + LCD zieht ca. 40mA. Macht P=U*I = (14V-5V)*40mA = 360mW. Das ist kein Problem. 2) Wenn man ihn wirklich entlasten will, nimmt man eine passene Z-Diode, denn die hat einen konstanten, praktisch stromunabhängigen Spannungsabfall. Dem LM1117 sollte man min. 7V Eingangsspannung +1V Reserve gönnen, Umin = 12V, macht dUmin = 4V. Also eine 3,9V Z-Diode mit 1,3W oder so. Lohnt sich aber kaum.
Andreas S. schrieb: > Ths S. schrieb: >> Die Versorgungsspannung liegt bei nominell 12V, schwankt aber von >> 12-14V. > > Vermutlich handelt es sich dabei um eine Kfz-Stromversorgung. Hier kann > es zu deutlich höheren Spannungsspitzen, Spannungseinbrüchen und sogar > zur Umkehr kommen. Es gibt unzählige Publikationen, in denen die > entsprechenden anzunehmenden Spannungsverläufe und Prüfimpulse > dargestellt sind. Stimmt. > Es empfiehlt sich daher sehr deutlich, eine geeignete Stromversogung zu > realisieren, die dann gleich die gemeinsamen 5 V für Arduino- und > Spartan-Boards erzeugt. Oder ggf. auch gleich die "richtigen" Spannungen > (3,3 V, usw.) erzeugen. Nö, denn die gibt es schon. Man muss es nicht immer übertreiben. Er hat schon ne 15V TVS Diode am Eingang. Noch ne Verpolschutzdiode und für den Anfang reicht es. > Genau. Realisiere lieber eine einzelne ordentliche Spannungsversorgung > statt solch einer Flickschusterei. So ein Unsinn! Dann lässt sich nämlich auch noch > recht leicht eine kleine "USV" mittels Supercap auf einer höheren > Spannungsebene realisieren, z.B. 12 V. Das sind natürlich nicht die 12 V > direkt aus dem Bordnetz, sondern eine ggf. per Buck-Boost-Konverter von > "12 V" auf 12 V umgesetzte "Zwischenkreisspannung". Es lebe das Overenineering!
Moin, Diese Verbindung von 5V_OUT vom Spartan2_OEM nach AREF vom Arduino gefaellt mir garnicht. Von welchen 5V jetzt die I2C-Pullups gespeist werden, wuerde ich viel entspannter sehen, nur vorher mal sichergehen, dass der Spartan2_OEM-I2C-Bus auch wirklich fuer 5V gedacht ist... Gruss WK
Falk B. schrieb: >> PPS: Falls Fragen bzgl. R1 aufkommen - den habe ich eingefügt, um den >> LM1117 auf dem Nano-Board ein wenig zu entlasten. > Ist weder nötig noch so sinnvoll. Ich sehe keinen Grund, es nicht so zu machen. Falk B. schrieb: > Dem LM1117 sollte man min. 7V Eingangsspannung +1V > Reserve gönnen, Der "Reserve" kann ich nicht folgen, der 1117 liefert bei 6,5V Eingang zuverlässig seine 5 Volt, bei geringer Last auch schon früher. Kritisch ist der Betrieb am Kfz-Netz, die China-1117-LDO sind teilweise nur bis 12V-Input garantiert. Mit R1 in der Versorgung drängt es sich auf, eine 10V-Z-Diode nach GND anzuklemmen. Dergute W. schrieb: > Diese Verbindung von 5V_OUT vom Spartan2_OEM nach AREF vom Arduino > gefaellt mir garnicht. Kann man drüber streiten, er will damit ratiometrisch werden und blendet Abweichungen der Betriebsspannungen aus. Gegen Angst würde helfen, die 5V über einen Spannungsteiler an AREF zu schalten. 2k-1k würde unter 5V bleiben, falls anstatt der 5V die vollen 12V kommen. Der Arduino hat ja kein Problem damit, seine interne Referenz liegt bei 1..1,2 Volt.
Ths S. schrieb: > Die Versorgungsspannung liegt bei nominell 12V, schwankt aber von > 12-14V. Was soll das für eine Spannung sein? Woher kommt die?
Wenn beide Spannungsschienen dasselbe Bezugspotenzial (ein gemeinsamer GND) haben, ist es eigentlich egal. Die Pull-Up Widerstände haben typischerweise ja einen Wert im Kiloohmbereich und belasten die Spannungsquelle nur sehr geringfügig. Da man die Referenzspannung für den ADC frei von möglichen Störungen halten sollte, würde ich die 5V für die Versorgung des Arduinos empfehlen.
:
Bearbeitet durch User
Harald K. schrieb: > Bei zwei gleichen Spannungen? Nee. Da braucht man sowas nicht. War auch eher allgemein wegen "verschiedene Vcc" (i.d.R. 5V und 3,3V) gemeint.
Guten Morgen, Andreas S. schrieb: > Genau. Realisiere lieber eine einzelne ordentliche Spannungsversorgung > statt solch einer Flickschusterei. Dann lässt sich nämlich auch noch > recht leicht eine kleine "USV" mittels Supercap auf einer höheren > Spannungsebene realisieren, z.B. 12 V. Das sind natürlich nicht die 12 V > direkt aus dem Bordnetz, sondern eine ggf. per Buck-Boost-Konverter von > "12 V" auf 12 V umgesetzte "Zwischenkreisspannung". das finde ich ehrlichgesagt zu viel Aufwand für so ein einfaches Tool. Im Stecker (deshalb nicht dargestellt) befindet sich eine 5A-Feinsicherung. Mit der TVS-Diode wollte ich Spannungsspitzen wegnehmen, die im Bordnetz auftreten. Tut mir leid - das vergaß ich tatsächlich zu erwähnen: es handelt sich um ein KFZ-Bordnetz. Das Gerät soll an den Zigarettenanzünder anschließbar sein. Es ist auch nicht so leicht möglich, direkt an die 5V-Schiene des Spartan zu kommen. Ich weiß nicht, ob man 5V direkt am 5V-OUT-Pin des Spartan einspeisen könnte, so wie es beim Arduino der Fall ist. Falk B. schrieb: > 1) Der Arduino Nano + LCD zieht ca. 40mA. Macht P=U*I = (14V-5V)*40mA = > 360mW. Das ist kein Problem. Nur interessehalber für die Zukunft - ab welcher Verlustleistung des LM1117 wird es denn kritisch? Manfred P. schrieb: > Kann man drüber streiten, er will damit ratiometrisch werden und blendet > Abweichungen der Betriebsspannungen aus. Gegen Angst würde helfen, die > 5V über einen Spannungsteiler an AREF zu schalten. 2k-1k würde unter 5V > bleiben, falls anstatt der 5V die vollen 12V kommen. Der Arduino hat ja > kein Problem damit, seine interne Referenz liegt bei 1..1,2 Volt. Mein Gedanke: Die 0-5V Analogausgangsspannung des Spartan beziehen sich auf die internen 5V des Spartan, nicht auf die internen 5V des Arduino. Damit die Analogspannung sinnvoll gemessen werden kann, braucht es meiner Logik nach die Bezugsspannung der Quelle, in diesem Fall des Spartan. Habe ich da einen Denkfehler?
Ths S. schrieb: > das finde ich ehrlichgesagt zu viel Aufwand für so ein einfaches Tool. Ist es auch. > Im Stecker (deshalb nicht dargestellt) befindet sich eine > 5A-Feinsicherung. Mit der TVS-Diode wollte ich Spannungsspitzen > wegnehmen, die im Bordnetz auftreten. Ist fast OK. Pack da noch einen 100nF Kondensator mit 50V dran und dahinter ne Verpolschutzdiode. > Falk B. schrieb: >> 1) Der Arduino Nano + LCD zieht ca. 40mA. Macht P=U*I = (14V-5V)*40mA = >> 360mW. Das ist kein Problem. > > Nur interessehalber für die Zukunft - ab welcher Verlustleistung des > LM1117 wird es denn kritisch? So um die 500-600mW, je nach Kühlung auf der Platine (viel Kupfer am dicken Anschluß, siehe Kühlkörper). > Mein Gedanke: Die 0-5V Analogausgangsspannung des Spartan beziehen sich > auf die internen 5V des Spartan, nicht auf die internen 5V des Arduino. Jain, Der Bezugspunkt ist Masse. > Damit die Analogspannung sinnvoll gemessen werden kann, braucht es > meiner Logik nach die Bezugsspannung der Quelle, in diesem Fall des > Spartan. Habe ich da einen Denkfehler? Jain. Man kann auch mit der Referenzspannung des Arduino messen, auch wenn die direkt vom LM1117 (VCC) kommt und eben halt nur mäßig genau ist (ich glaub 2%, kann aber auch schlechter sein). Wenn man eine genauere, externe Referenzspannung mit dem Arduino nutzen will, muss man die auch manuell einschalten (konfigurieren). Im Normalfall nutzt der Arduino VCC als Referenzspannung. Wenn man die Referenzspannung vom Spartan nutzt, ist der Fehler praktisch Null, denn dann nutzen beide Module die gleiche Referenz. Das meinte der Manfred.
Ths S. schrieb: > Nur interessehalber für die Zukunft - ab welcher Verlustleistung des > LM1117 wird es denn kritisch? Kommt auf das Gehäuse und gegebenenfalls die von Dir hinzugefügte Kühlung an. Große Masseflächen, thermisch gut angebunden, können als Kühlkörper dienen, damit sollten sich ein paar hundert Milliwatt wegschaffen lassen. Aber bei Leistungen über einem halben Watt oder gar von einem Watt oder mehr ist ein richtiger Kühlkörper nötig - und dann sollte man sich auch die Frage stellen, warum man in einer Schaltung so viel Strom in Abwärme umsetzen muss. -- Wenn man I2C mit tatsächlich unterschiedlichen Spannungspegeln verwenden will, dann gibt es einerseits die beliebten diskreten Pegelwandlerschaltungen mit ein paar Mosfets, oder einen ausgesprochen zuverlässig arbeitenden Baustein von NXP, der für genau diese Aufgabe gedacht ist. Das ist der PCA9517, den es in überarbeiter Form von TI als TCA9517A gibt. https://www.nxp.com/products/interfaces/ic-spi-i3c-interface-devices/ic-bus-repeaters-buffers-extenders/level-translating-ic-bus-repeater:PCA9517 https://www.ti.com/product/de-de/TCA9517A
Moin, Ths S. schrieb: > Damit die Analogspannung sinnvoll gemessen werden kann, braucht es > meiner Logik nach die Bezugsspannung der Quelle, in diesem Fall des > Spartan. Habe ich da einen Denkfehler? Da nicht. Gut, ist halt die Frage, wie genau das dann wirklich sein muss. Aber prinzipiell ist das schon der richtige Weg. Was aber halt unschoen an der Loesung ist: Wenn die 2 verschiedenen 5V nicht genau gleichzeitig hoch- und runterfahren beim powercyclen, Spannungseinbruechen, Kurzschluessen, etc. bla., wird der AVR dann gerne mal kurzzeitig jenseits seiner Abs. Max. Ratings betrieben - wenn eben z.b. die AREF schon/noch anliegt, aber die 5V vom AVR gerade noch nicht/nicht mehr... Gruss WK
Hallo, Harald K. schrieb: > Kommt auf das Gehäuse und gegebenenfalls die von Dir hinzugefügte > Kühlung an. Große Masseflächen, thermisch gut angebunden, können als > Kühlkörper dienen, damit sollten sich ein paar hundert Milliwatt > wegschaffen lassen. ich meinte explizit der LM1117 auf dem Arduino Nano. Dort kann ich ja selbst keinen Einfluss auf die Kühlung nehmen. Dergute W. schrieb: > wird der AVR dann gerne > mal kurzzeitig jenseits seiner Abs. Max. Ratings betrieben - wenn eben > z.b. die AREF schon/noch anliegt, aber die 5V vom AVR gerade noch > nicht/nicht mehr... gibt es da einen Kniff, wie man das umgehen könnte?
Ths S. schrieb: > ich meinte explizit der LM1117 auf dem Arduino Nano. Da das kein dafür optimiertes Layout ist, dürfte das nur wenig besser als der komplett "nackte" Betrieb sein. Im Datenblatt findet man die thermischen Daten des SOT-223. "junction-to-case" liegt bei über 40°C/W. Bei einem halben Watt wird das Ding also 20 °C wärmer als die Umgebung eh' schon ist.
Ths S. schrieb: > Manfred P. schrieb: >> Kann man drüber streiten, er will damit ratiometrisch werden und blendet >> Abweichungen der Betriebsspannungen aus. Gegen Angst würde helfen, die >> 5V über einen Spannungsteiler an AREF zu schalten. 2k-1k würde unter 5V >> bleiben, falls anstatt der 5V die vollen 12V kommen. Der Arduino hat ja >> kein Problem damit, seine interne Referenz liegt bei 1..1,2 Volt. > > Mein Gedanke: Die 0-5V Analogausgangsspannung des Spartan beziehen sich > auf die internen 5V des Spartan, nicht auf die internen 5V des Arduino. > Damit die Analogspannung sinnvoll gemessen werden kann, braucht es > meiner Logik nach die Bezugsspannung der Quelle, in diesem Fall des > Spartan. Habe ich da einen Denkfehler? Du hast keinen Denkfehler, vermutlich sagt Dir "ratiometrisch" nichts. Du willst die 5V vom Spartan als Referenz nutzen, weil auch dessen Ausgang von diesen abhängt. Das ist richtig so, weil sich Abweichungen oder sogar Veränderungen im Betrieb damit kompensieren. Weiter hinten werden Bedenken geäußert, falls die 5V an Ref anliegen, bevor der µC Spannung hat, berechtigt. Würde man die 5V nicht hart anlegen, sondern über einen Widerstandsteiler, wäre das mögliche Schadpotential deutlich verringert. Vielleicht kennt hier jemand Zahlen, wie hochohmig der Ref-Eingang ist. Eine andere, mögliche Variante wäre, die interne Referenz des ATMega zu benutzen, die 5V des Spartan zu messen und Abweichungen gegenzurechnen. Von den Analogeingängen wissen wir, dass die mit 10kOhm Quellimpedanz zuverlässig laufen. Ths S. schrieb: > ich meinte explizit der LM1117 auf dem Arduino Nano. Dort kann ich ja > selbst keinen Einfluss auf die Kühlung nehmen. ... der vermutlich ein AMS1117 oder AZ1117 ist, wenn es sich um einen ChiNano handelt. Ich würde den niemals mit 12V speisen. In einer speziellen Anwendung mit sehr weicher Rohspannung habe ich ein China-Schaltreglermodul der 50ct-Klasse vor den Nano gepackt und auf 7V eingestellt. Deinen Ansatz, die 12V vor dem Nano zu verringern, solltest Du unbedingt verfolgen. Meistens brauche ich 5 Volt noch anderweitig, dann kommt auch der Nano direkt an einen LM7805. Harald K. schrieb: >> ich meinte explizit der LM1117 auf dem Arduino Nano. > > Da das kein dafür optimiertes Layout ist, dürfte das nur wenig besser > als der komplett "nackte" Betrieb sein. Im Datenblatt findet man die > thermischen Daten des SOT-223. "junction-to-case" liegt bei über 40°C/W. > > Bei einem halben Watt wird das Ding also 20 °C wärmer als die Umgebung > eh' schon ist. Vergiss das ganz schnell. Komplett nackt hat das Ding 120..140 K/W, was der Nano an Wärme abführt, lässt sich nur raten. Der interne Übergang Halbleiter zu Gehäuse ist dabei das geringste Problem. Für Junction-to-Case finde ich bessere Werte um 20K/W, AMS macht eine Abschätzung Junction-to-Ambient von 45K/W bei halbwegs sinnvoller Leiterplatte. Was wirklich geht und wie lange, können wir beide nicht rechnen - also bleibe ich über den Daumen unter 300mW. Ich weiß nicht, in wievielen Threads zu Unrecht auf die miese Qualität der China-1117 geschimpft wird, weil die in Wahrheit thermisch ermordet werden.
Manfred P. schrieb: > Komplett nackt hat das Ding 120..140 K/W Ich hab' extra ins Datenblatt gesehen - woher kommt diese Zahl? https://www.ti.com/lit/ds/symlink/lm1117.pdf Oder beziehst Du Dich auf das chinesische "Generikum"? Nicht, daß ich das Abfackeln von Versorgungsspannung gutheißen würde, darum geht's nicht.
Harald K. schrieb: > Manfred P. schrieb: >> Komplett nackt hat das Ding 120..140 K/W > Ich hab' extra ins Datenblatt gesehen - woher kommt diese Zahl? > https://www.ti.com/lit/ds/symlink/lm1117.pdf Da könnte die Tabelle 9-2 Seite 18 passen. Im Datenblatt von NS von 2004 taucht auf Seite 11 im Text "136˚C/W" auf. Bei Beiden gibt es etliche Diagramme, die ich nicht mal eben so verstehe. > Oder beziehst Du Dich auf das chinesische "Generikum"? Ja, auch auf z.B. den AZ1117 von Diodes und den AMS1117 von Advanced Monolithic Systems, beide habe ich schon auf meinen Boards gesehen. > Nicht, daß ich das Abfackeln von Versorgungsspannung gutheißen würde, > darum geht's nicht. Ich muß kein kostenoptimiertes Seriengerät entwickeln und gehe thermische Belastungen extrem konservativ an. Das "Abfackeln" ist von Fall zu Fall zu bewerten, bei einem nur tage- oder stundenweise genutzten Gerät mit Netzversorgung ist mir ein Watt mehr oder weniger egal, bei Dauerbetrieb schaue ich aber sehr kleinlich hin.
Manfred P. schrieb: > Ich muß kein kostenoptimiertes Seriengerät entwickeln und gehe > thermische Belastungen extrem konservativ an. Jaja, immer die kleinen Mädchen. Das muss das Boot abkönnen, Männer! https://www.youtube.com/watch?v=ewqXEXvp8XU ;-)
Manfred P. schrieb: > Da könnte die Tabelle 9-2 Seite 18 passen. Im Datenblatt von NS von 2004 > taucht auf Seite 11 im Text "136˚C/W" auf. Danke, ich hatte mich von der Tabelle im Abschnitt 7.4 (S. 4) irreführen lassen. War auch leicht erstaunt, weil die Werte doch recht ... brauchbar wirkten. Aber 136°C/W ... da ist ja schon ein Viertelwatt arg grenzwertig. Manchmal lohnt es, einen zweiten und dritten Blick ins Datenblatt zu werfen, insbesondere in dieses hier. Daher: Nochmal danke.
:
Bearbeitet durch User
Harald K. schrieb: > Danke, ich hatte mich von der Tabelle im Abschnitt 7.4 (S. 4) irreführen > lassen. War auch leicht erstaunt, weil die Werte doch recht ... > brauchbar wirkten. Aber 136°C/W ... da ist ja schon ein Viertelwatt arg > grenzwertig. Noch so ein Mädchen! Selbst bei 136°C/W ist sind 250mW gerade mal 34 °C Übertemperatur, dh. selbst im heißesten Klimawandelsommer mit 40°C hat die Sperrschicht "schröckliche" 74°C. Da wird das Silizium nicht mal munter! WTF!!!?! Leistungshalbleiter laufen Jahre, teilweise jahrzehnte lang bei 100°C++! Jaja, ich kenne die Arrheniusgleichung und erhöhte Temperaturen sind da eher kontraproduktiv. Aber bitte mal die Kirche im Dorf lassen!
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.