Posts by WolleWillWhisky

    Wenn man grob das mal zusammenrechnet , es kommt nun auch drauf an wo die Status LED mit dranhängt, aber 8 Optokoppler ohne Vorwiderstand Emiterseitig, das knackt jeden Spannungsregler.
    Normal leitet man eine Hilfsspannung über eine Vorwiderstand in den Kollektor, legt den Emitter auf Masse, und hat dann am Optokoppler Kollektorseitig ein invertiertes Signal ! Der Vorwiderstand ist ganz wichtig, wenn der Optokoppler Output-Seitig nicht nur aus eine Phototransistor besteht !?
    Dann ist bei maximaler Durchsteuerung über den Optischen ( Basis-Strom ) das Teil vollständig leitend und würde ohne einen solchen Widerstand den "totalen" Kurzschluss zwischen 3V3_Out und GND erzeugen !
    Das erklärt dann auch warum dein RasPi abgekackt ist, ob es sich wieder starten lässt , hast du auch offen gelassen.

    Hilfreich hier wäre mal zu erfahren was auf den 8 größeren 4 beinigen Teilen = Optokoppler steht

    Kannst Du mir eigentlich den Hintergrund erklären, warum im Datenblatt soviel um die 1,8V herum geredet wird?

    Da ich nicht weiss, von welchem Datenblatt du sprichst kann ich dazu auch keine Aussage treffen.

    Ich schicke dir mal eine PM ( Konversation im Foren-Menü ), denn ich finde es nicht gut, wenn zur viele Meinungen zu spezielleren Schaltungsauslegungen zu offen diskutiert werden, denn dann tritt immer der Fall ein, dass zu viel Meinung von eigentlichen Thema ablenken.

    Das sind, für mich, ganz neue Erkenntnisse. Ich habe im Internet, keinen Hinweis gefunden, wie man die Raspberry Pi Pico C-SDK, in die Arduino Ide einbindet.
    Aber du hast sicherlich auch dafür einen Hinweis...

    Sicherlich kann ich dir den Weg aufzeigen.
    Nachdem du über die Config selber den Github-Link hinzugefügt hast, kannst du das vollständieg Paket inkl aller SDK Erweiterungen über die Boardverwaltung / -auswahl nachinstallieren.
    Dann kannst du, nach dem du das Board oder default den Core-Type RP2040 oder RP2350 ausgewählt hast, und er Bescheibung / Parameter zum Board selber auswählen, ob du mit der PICO SDK arbeiten willst, oder bei der klassischen Arduino Schreibweise, bzw Befehlssatz bleiben möchtest. Theoretisch ist auch eine Vermischung beider Schreibweisen möglich. Diesen Zustand würde ich jedoch als BETA bezeichnen. Besonders so mein bisherige Feststellung wenn man mit der SDK den ADC Convert Flag als ISR verwendet, dann aber anderes I/O Handling im Arduino Code "digitalRead()" , "digitalWrite()" o.ä. auch in der Erweiterungen mit den Bus-Hosts verwendet kommt dann meist nur funktionaler Unsinn heraus, obwohl der Code weder eine Compilerwarnung, noch einen -fehler erzeugt.
    Wenn dann noch eine schon implementierte PICO Boards nicht sauber als Boardparameter beschrieben wurden kann es durchaus auch mal passieren besonderns beim RP2350, das eine farblich nicht hervorgehobene Compilermeldung erscheint, dass das Programm für einen 2040 compiliert wird. Danach muss man dann sehr genau suchen und sich auch alle Compilermeldungen vollständig ausgeben lassen. Hier sind die Waveshare Abkömmlinge des PICOs ein der grausiges Beispiel.

    Zu dem Verweis auf "Wire.h" das passiert auch nicht in allen Fällen, jedoch wenn man eine "#include <Hardware/<irgendwas> > schon im Code stehen hat. Das sind wieder sehr spezifische Abhängigkeiten und Interpretationvarianten /-verhalten, wo man sich dann fragt warum passiert das genau an dieser Stelle oder in / mit dieser Konfiguration.

    Also verwende ich jetzt 4,4V Zenerdiode vor den Eingang packe ich 100kOhm wenn ich bis 6,6V messen will, und 1MOhm für 30 - 50V.
    Dann überwache ich noch die Refspannung

    Lass die Z-Diode weg. Das ist einfach nur Blödsinn ! Dazu musst du nur in das Datenblatt schauen, die Durchbruchspannung einer Z-Diode ist auch vom Strom abhängig. Da durch deine multiblen virtuellen Spannungsteiler unterschiedlich starke Ströme fließen, zudem eine Temperaturabhängigkeit besteht, wird die Schaltung an für sich wertlos.
    Wenn du ein letztes Sicherungsglied unbedingt verbauen willst, nimm eine TVS-Diodem aber keine Z-Diode.
    Und höre auf extrem Hochohmig zu werden ! Je geringer der Strom in Leiter um so mehr spielt das Ding Antenne für alle möglichen Frequenzen die du dann auch als Wertschwankung in Abhängigkeit der Samplingrate erfasst. Wenn du das ganze dann wieder per SW glattrechnen willst, kannst du dir auch den gesamten Aufwand mit Hochauflösenden ADCs ersparen. Dass sind dann nur noch gemittelte Annäherungswerte, aber keine tatsächlichen Meßwerte mehr.

    Somit wenn du so genau messen willst ( über den Sinn solcher Aufbauten - werde ich keine Diskussion mehr führen ) dann gehört in Abhängigkeit des Gesamtwiderstandes des Spannungsteilers auch ein LowPass-Filter dazu. Analog Glätten ja, aber nicht Mathematisch-Digital Schönrechnen !

    Servus,

    Du musst erst einmal 2 grundsätzlich Dinge unterscheiden. Das eine ist die Spannungsfestigkeit des ADC Eingangs, welcher in vielen Fällen mit der Vcc des ext. ADc Bausteins übereinstimmt. Im weiteren die Referenzspannung, die extern bereitgestellt , bwz intern, auch mittels Gain angepasst werden kann. Auch wenn du eine Eingangspannungs hast, die unterhalb der zulässigen maximalen Spannung liegt aber dennoch größer ist wie die Referenzspannung, dann ist das Result immer nur der Wert ( Value ) welcher der Referenzspannung entspricht.

    Also Spannungsteiler nehmen, und diesen so auslegen das die maximal zu erwartende Eingangsspannung niemals die Referenzspannung überschreiten wird.

    Das ist aber noch nicht alles !
    Du musst sicher stellen das der Spannungsteiler, oder Eingangswiderstand des ADC einen möglichst geringen Strom aus der Quelle zieht. Hier kann man zB diese Spannung mit einem OPV ( Impedanzwandler ) entsprechend verstärken, so das der Strom aus der Quelle möglichst gering ist, aber der OPV einen Ausgangsstrom liefert, welcher zu keiner Verfälschung des Messergebnisses führt.
    Dann kommen noch andere Punkte hinzu, das sind typische Fertigungsfehler wie Zerodrift, Linearitätsfehler und andere Sachen die besonders bei hochauflösenden ADCs zu einem Problem werden können.
    Je nach ADC Typ und Hersteller auch wenn du die Auflösung als technische Größe bis auf / über 16 Bit treibst, kann es sein und passieren, das durch og Fehler auch Fertigunsgtoleranzen nur 12 Bit wirklich glaubhaft nutzbar sind !
    Und mal ganz Ehrlich und Butter bei die Fische, was willst du bei einem Akku, welcher einen vom Ladezustand abhängigen Innenwiderstand hat mit einem mehr wie 12 Bit ADC bei V_Ref 3,3 Volt losgehen... du hast hier eine Stepauflösung von 0,000805664 Volt, was ca 805µV entspricht ?
    10 °C mehr oder weniger und alles was du mißt ist einfach nur noch Unsinn, oder mathematischer Ballast ohne Funktionsrelevanz !

    Nimm dir einen OPV der mit einer Eingangsspannung bis 5,0 Volt klarkommt. Dann deine Spannungsteiler, der das Ganze so limitiert, das V_Ref oder die Vcc des ADC niemals überschritten wird, und wenn du willst, auch noch eine zweites OPV Glied hinterher, welcher als einfacher Gain 1/1V Tiefpass arbeitet, damit du keine Umgebungsstörungen aus dem elektromagnetischen Umfeld mit in deine Meßergebnisse eingemischt bekommst und die Sache wird rund.
    Bedenke aber hierbei auch, dass nur Rail-to-Rail OPVs den gesamten Spannungsbereich Vcc - Vss auch wieder am Ausgang liefern können. Klassische OPVs wie der LM358 welcher mit Vcc 5,0 V gegen GND betreiben wird, verliert oder kann nur etwa den Bereich 0,4 bis 3,8 Volt als Ausgangsspannung in der Beschaltung als Impedanzwandler liefern... Der Rest wird einfach nur abgeschnitten.

    - Die gefundene Beispiele haben immer die Bibliothek "FastLed" unter Arduino genutzt.
    - Ein Aufruf für "neo-pixel: Adafruit_NeoPixel strip ( LED_COUNT , LED_PIN , NEO_RGB + NEO_KHZ800 ) ;

    Nur mal zur Erklärung der genannten Bibliotheken !
    FastLED und Adafruit_Neopixel sind vom Grund auf zwei komplett verschiedenen Bibliotheken.
    Hinzu kommt , wenn man diesen RP2350 mit oder über die "Arduino IDE" proggen will, muss man auf die PICO-SDK setzen. Damit funktioniert die Initiierung der GPIOs nicht mehr über den Befehl

    #define Output_Pin

    void setup() {
    pinMode(Output_Pin, OUTPUT);
    }

    sondern muss die SDK Befehl zwingend nutzen. Wenn man dann versucht NEOPIXEL von Adaruit zu verwenden, welcher im Hintergrund "wire.h" aus der Arduino Hardware Bibliothek versucht zu laden, wird man dann eine Compiler-Meldung erhalten, die auf diese Hardware-Abweichung hinweist.
    Ja - es kann funktionieren, wenn das Timing exakt eingehalten wird, ansonsten bekommt man nur Müll oder fehlerhafte Farbinterpretationen angezeigt. Deswegen, bei einem Projekt was in der Anfangsphase steckt und noch nicht die gesamte externe Hardware implementiert ist, ist das der falsche Weg. Schon eine Zusatzkomponente wie eine I2C Komponente oder eine ISR Trigger kann dazu führen das der ursprünglich Code, wo nur diese NeoPixel Bibliothek noch das gewünschte Ergebnis lieferte dann nur noch Unsinn macht.
    Selber kämpfe ich gerade mit einem ähnlichen Problem, auch mit der Adafruit NeoPixel_Matrix Bibliothek auf einem Waveshare Pico Zero mit dem selben RP2350 Prozessor.

    Admin wie kann man hier mehrere Codezeilen in dieser immer gewünschten Codeblock Ansicht einfügen ? Ich bin offensichtlich zu blöd dazu . Entweder werden solche Zeilenfelder wie beim Vorredner generiert, oder alles der gesamte Messages text wandert in diesen Sonderdarstellungsformat ...
    Mach nicht so wirklich Sinn, wenn man in einer Antwort mehrere getrennte Codeblöcke einfügen will.

    Hallo
    Bist du der Anleitung gefolgt und hast dieser Adafruit Bibliothek installiert ? Wenn ja welche IDE ( Programmierumgebung ) verwendest du ?
    Bei zB Thonny wird das so nichts. Da muss man diesen Bibliothelrdner selber mit in den Progranmmordner in dem das auszuführende Programm gespeichert ist hineinkopieren.

    Falls du nur mit einem einfahchen TXT Editor das Python Programm erstellt hast, und das Programm selber via Shell Command starten willst, müssen die Pfadangaben zur dieser installierten Bibliothek aufgeführt werden.

    Alternativ du kannst auch innerhalb von Thonny ( falls das deine bevorzugte IDE ist ) über Optionen weitere Bibliotheken direkt hinzufügen, so das Thonny diese ohne absolute Pfadangaben findet ...

    Welchen Sinn macht ein 5er Pi mit diesen einem Sensor, dass ist wirklich mit einer ganzen Artilleriebrigade auf Spatzen geschossen... Nur mal nebenbei bemerkt

    Mir ist klar das man Alles besser machen kann. Dies ist in diesem Tread aber nicht die Frage.

    Definitiv Nein ! Weil deine Ansicht der Schaltung ist eine falsche oder berücksichtigt nicht die Gegebenheiten der Spannungsversorgung, welche eine funktionellen Einfluß auf auszuwertende Ergebnis hat !

    Wenn ich mit einer verrauschten Versorgungsspannung ohne entsprechend angepasst Glättungskapazitäten in eine OPV-Schaltung ( Verstärkerschaltung ) gehe, dann habe ich ein Abbild dieses Rauschens mit in meinem Ausgangssignal, welches ich dem ADC zuführe.
    Das was bei einem Arduino mit statisch verbauten linearen Längsregler ( LM11117 ) funktioniert, wird auf all den Platinen die von der Raspberry Foundation produziert wird nicht funktionieren. Denn hier kommen kein nahezu rauschfreien Linearregler zum Einsatz um Zwischenkreisspannungen bereitzustellen, sondern wie schon oben mehrfach erwähnt Bock-Konverter-Schaltungen.

    Wenn du ein 4-Chanel 200 MHz Oszi dein Eigen nennst, und das mal dazu benutzt In der Kette aus dem Übergang von Spannungsversorgung zur analogen Signalverarbeitung bis hin zur digitalen Konvertierung betrachtest, wirst du genau das gleich visuell feststellen können, was ich hier als Fehlerfaktor ( Signalrauschen ) mit der geänderten Schaltung bewusst versuche auszuschließen.

    Nur wenn man diese Punkte beachtet und auch die Zusammenhänge versteht, ggf sogar noch andere Einflußfaktoren auf der 3,3 V Schiene des RasPi hat, dann wirst du nur mit dem Kompromiss leben müssen, das deine tatsächliche Meßauflösung trotz des höherwertigeren ADCs durch das Eingangssignalrauschen zunichte gemacht wird.

    Aber was solls. Der TO muss selber wissen, wie weit seine Leitungen vom Sensor PT1000 bis zur Auswerteeinheit ( OPV + ADC ) vom RasPi entfernt sind, bzw wie groß die Leitungslänge am PT1000 selber ist, und welche Meßgenauigkeit er erreichen wil. Denn je länger die Leitungen sind ( analoges Spannnungssignal ) kommt noch der Faktor hinzu, dass jedes fast Stromloses ( geringste Nutzsignalströme ) mit zunehmender Länge auch ein ähnliches Verhalten haben, wie ein normale Drahtantenne, und jede elektromagnetisches Störsignal aus dem Umfeld aufsaugen. Dieses geht dann ohne entsprechende Filterung ( Tiefpass ) mit in das auszuwertende Sensornutzsignal ein, und verschlimmert das, was man allgemein als Signalrauschen versteht. Entweder man kann mit dem verrauschten Eingangssignal leben, und muss sich mit einer geringeren resultierenden Meßauflösung abfinden, oder man muss bereits in der analogen Signalkette vor dem ADC Eingang mit entsprechenden Schaltungen ( aktive Tiefpass-Filter Gain 1V ) eingreifen, um nichtpersiodische Störsignale, welche bei entsprechenden großen Leitungslängen automatisch das Nutzsignal verrauschen, herauszufiltern.
    Und wir reden hier nicht mehr von einigen µV oder gar nur einigen mV ! Das heißt, bei langen Leitungen die das analoge Nutzsignal transportieren von Störsignalanteilen im zweistelligen mV- Bereich, was bei einer Bereichsstreckung welche mit dem PT1000 abgedeckt werden soll, einem Meßfehler bzw einer Wertschwankung größer 1,5 °C entspricht. Wenn der TO damit leben kann - alles gut. Wenn nicht, muss er etwas an diesem Schaltungskonzept ändern, weil beide Systeme Arduino und RasPi vollkommen unterschiedliche Arbeitsweisen für die Bereitstellung der Hilfsspannungen 3,3 V bzw 5,0 V haben.

    Tell vielleicht solltest du dich mal an an einer Lösung des Problems des TO beteiligen, nicht an irgendwelchen spekulativen Wahrsagereien !




    Diese Beschaltung funktioniert definitiv. Außer das ich einen anderen ADC verwendet habe, und die Auswertung mit einem µController ( Pico ) mache.
    Also liegt das Problem allein in der Auswertung des ADCs und der entsprechenden Berechnung nach einer Kalibrierung für den nicht 100% linearen Verlauf Widerstands-Temperaturkurve des PT1000 !

    Ich hoffe das nun auch mal die anderen Forenmitgliedern mit sinnvollen Beiträgen sich an der Problemlösung des TO beteiligen

    willst du den IronBytes nun helfen oder belehren?

    Ich habe ihn auf die Fallstricke bei dieser Schaltung hingewiesen.
    Dieses beginnt bei der Spannungsversorgung der Schaltung aus zwei unterschiedlichen Quellen.
    Auf einen Arduino Board, wie in dem Video gezeigt kommt eine fast Ripple-freier Linearregler zum Einsatz, hingegen der TO seine Spannungsquelle direkt aus den GPIO-Pins des RasPi zieht, sind das laut offiziellen Schaltplänen dieser RasPi Platinen immer noch Buck-Konverter, die ein deutlich meßbares Ripple haben.

    Erkenne selber den Unterschied !

    Vielleicht ist dir auch bekannt, dass der Arduino ATMega 328 PU nur 10 Bit ADC-Chanels hat, der ADS1115 hingegen eine 16 Bit-ADC ist !!! Das bei ungeeigneten Aufbau ( Steckboard ) solche höher auflösenden ADC zu einen höheren Wertrauschen neigen, muss ich dir hoffentlich nicht erklären müssen.

    Das hat nichts mit Klugscheißen zu tun, denn ich hatte im einen Weg genannt und aufgezeigt wie er die Spannungsversorgung stabilisieren kann.
    Besser wäre es natürlich wenn er einen LP29050-33 verwendet um aus den 5,0 Volt( Pin 2 + 4 ) diese 3,3 Volt für seine Schaltung macht. Es ist und bleibt eine Tatsache das dieser LM358 OPV von Texas Instruments ohne Abblockkondensator zu Eigenschwingungen neigt, wenn die Vcc entsprechend schwankt.

    Das man hier mit einem Rail-to-Rail OPV bessere und genauere Ergebnisse besonders im unteren Bereich der Result-Werte-Skala erzieht ist wiederum den unteschiedlichen Funktionsweisen geschuldet.

    Was diesen alternativen ADC ADS1115 betrifft bin ich raus. Ich bin kein Freund von hochauflösenden ADCs mit interner V_Ref-Quelle, besonders wenn hier keine Aussage getroffen werden kann, wie stabil die Spannungsversorgung dieses ADCs aus dem 3,3 Volt Strom direkt aus dem RasPi ist. Das man bei all diesen Bauteilen Abblockkondenstoren verwenden sollte, sollte eigentlich keiner näheren Betrachtung bedürfen.

    Zudem, das was der TO als RAW Value aus diesem ADS1115 ermittelt hat entspricht mit einem Kalibrierfehler dem, was ich auch selber mit dieser Schaltung ( jedoch mit einem anderem OPV + ADC ) mittels eines µControllers ermitteln konnte. Das hatte ich ihm bestätigt.

    Also was willst du nun, hier eine Diskussion führen, wie man welchen Schaltungsaufbau bezeichnet, oder willst du mit ernsten sachlichen Tipps nicht nur zu einer stabilen Spannungsversorgung, sondern in dem Falle mit der Auswertung beitragen ?

    Das der Verlauf Widerstandswert zur Temperatur nicht linear ist, sollte bekannt sein, wenn man sich die Daten der PT1000 - Datenblätter visualisiert betrachtet. Also liegt es offensichtlich nicht nur an der Auswerteroutine ( Programmcode ) selber, sondern auch an der Spannungsversorgung, was wiederum Einfluß auf beide Bauteile OPV + ext. ADC hat.

    So nun darfst du mit ggf eine Code-Schnipsel antworten, oder zeichnest mal eine korrekten Schalt- und Aufbauplan, der sich an den Gegebenheiten orientiert, die sich aus einer direkten Spannungsversorgung über das RasPI ergeben.

    Außer das der PT1000 das selbe Sensorelement ist, ist an der Schaltung nichts wirklich gleich, wenn man auch die Spannnungsversorgung und den Arbeitsbereich des OPVs LM358 mit in die Betrachtung einbezieht.

    So ganz verstehe ich dein Problem nicht! Du hast 2 Baustellen, einmal den ADS1115 und dann den LM358.

    Er hat kein Problem mit den Bauteilen primär, eher sekundär.
    Die vom TO genannten Werte bezüglich seiner Versuchsmessungen stimmen mit einem Fehler kleiner 10 % mit dem überein, was bei einer solchen Schaltung mit einem Differenzverstärker ( OPV ) herauskommen soll.

    Es ist eine Frage der Auswertung !

    Und noch eins, dieses Schaltung ist eine Wheatstonsche Meßbrücke, jedoch anders gezzeichnet und anders ausgewertet. Statt des OPVs könnte man auch einen differenziell messenden ADC verwenden, müsste dann allerdings den negativen Anteil ADC IN- entsprechend so in die Schaltung einarbeiten, dass der ADC auch mit nur einer positiven Referenzspannung diese Messung ausführne kann.

    Hallo

    Mit einem Differenzverstärker ( OPV ) wirst du immer nur eine positive Spannung erhalten.
    Allerdings hast du in deinem Aufbau eine Abweichung bei der Versorgungsspannung, sowohl für den Differenzwert gebenden Spannungsteiler wie auch bei der Versorgung des OPV LM358.
    Hier ist zu beachten das der LM358 kein Rail-to-Rail OPV ist, er also nicht wirklich bis an die Versorgungsspannungsgrenzen Vcc und VSS die Ausgangsspannung schieben / regeln kann.
    Hier wäre zB ein günstiger Rail-to-Rail Typ wie der MCP602 oder MCP6002 die bessere Lösung.

    Da du selber schreibst, dass du umfangreiche Erfahrungen im Bereich der Elektrik / Elektronik hast, solltest du mal mit ein Oszi die Vcc des OPVs monitoren ggf parallel zu diesem noch einen 2,2 µF Tantal-Elko mit einem kleinen Ladewiderstand und einem weiteren KerKo 100 nF als Abblockkondensator verbauen. [ Hinweis hierzu: auf dem Arduino wird ein LM1117 Linearregler verwendet um diese Hilfsspannung bereitzustellen. Hingegen auf einem PI oder Pico passiert das über Buck-Konverter die einen viel höhere Restwelligkeit ( Ripple ) haben. ]

    Grundsätzlich kannst du auch mit der geringeren Vcc diese Schaltung betreiben, sie funktioniert nach wie vor. Allerdings verschieben sich die Kalibrierpunkte entsprechend.
    Wenn du dir dann mal die Mühe machst, aus dieser Vergleichstabelle für deinen NTC die Widerstandswerte im Verhältnis zur Ist-Temperatur aufzutragen und daraus eine einfache Linien-Diagramm machst wirst du merken, dieser R-DeltaT Verlauf ist nicht linear.
    Also musst du eine Lösung ersinnen, welche dir diesen Kurvenverlauf Spannung wieder passend in eine Temperatur konvertiert. Das kann man in Form eines Annäherungsverfahren Multiplikator für einen Delta Bereich machen, dass man in zb 5 Grad Abschnitten eine gemittelten Multiplikatorwert festlegt und in einer Tabelle hinterlegt, auf die man dann zugreifen kann. Oder man lässt sich zB mit Mathlab anhand dieser Tabelle aus dem Datenblatt ein "immer" gültige Formel zur Umrechnung ausgeben. Wichtig hierbei ist, dass die Widerstände in dieser Schaltung möglichst nahe dem eigentlichen Wert sind, man hochwertige Widerstände 1% oder 0,1% Toleranz , wenn möglich nicht in der Ausführung Kohleschicht verwendet. Falls diese Widerstände ebenfalls einer Änderung der Ambient-Delta Temperatur ausgesetzt sind, weil dein angestrebter Meßbereich doch sehr hoch ist, solltest du Widerstandstypen verwenden, die selber eine geringe Widerstandsänderung bei einer Änderung der Betriebstemperatur durchlaufen zB Metalloxid-Widerstände.

    Lass den Spannungsteiler weg und schalte ein 12V Relais. Das gibt dir dann den Potentialfreien schalter für den PI. Wie du das dann machst, NC / NO high/low bleibt dir überlassen. Im Datenblatt steht alles drin.
    Mich wundert es dass die Schule 2 x 300€ Sensoren ausgibt, sind doch sonst immer so knapp bei Kasse die Bildungseinrichtungen.

    Ob es sinnvoll ist, eine prellfreies Sensorsignal mittels eines Relais in einen prellendes Eingangssignal zu verwandelt ? Ich habe da so meine Zweifel, ob man mit dieser Methode , abhängig davon wie die Auswertung auf RasPi stattfinden soll einen Mehrwert besitzt ?
    Ein 12 V Kompatibles Kleinlastrelais kostet ab 3,60€ Je nach dem was man haben will !
    Ein LTV 817 Optokoppler mit einer Hand voll Widerständen ( Spannungsteiler + Ausgangsbeschaltung ) bekommt man für weit unter einem Euro ! Der Optokoppler ( LTV 817 ) selber kostet nur ca 0,15 € und eine Standard-Widerstand ( bedrahtet ) ca. 0,03 € / Part !

    Damit bin ich bei der Kosten-Nutzung Rechnung, die du dem Bildungsträger vorwirfst, dass er mit 300 € Sensoren eine Geldverschwendung betreiben würde.

    In Berufsschulen, was auch Schulen sind, und wo im Bereich z.B. der Mechatroniker-Ausbildung ( o.ä ) solche SPS-kompatiblen Systeme verwendet werden, und zu Einsatz kommen, sehe ich nicht als das Problem an. Eher in der Darlegung oder Interpretation was der TO mit Schule wirklich meint ?

    Die LED am Eingang wird nicht benötigt. Der Widerstand am Optokopplereingang lässt sich leicht errechnen R= U / I , wobei U bei Dir 12V ist und I dem Datenblatt entnommen werden kann.

    Die Leistungsstufe am Optokopplerausgang benötigst Du nicht, einfach einen PullUp 10k auf die Raspberryspeisung (3V3).

    LG res

    Wenn du eine Induktive Last, wie Ein Relais oder eine DC-E-Motor direkt damit schalten willst und du dich nur auf die Bodydiode des P_Chanels verlassen willst, ohne explizit eine Freilaufdiode Anti-Parallel zur induktiven Last zu verbauen, dann solltest du dir schon einmal eine gute Ausrede einfallen lassen, wenn dieser, dein Schaltungsentwurf nach wenigen Schaltspielen den MOSFET gekillt hat, und es ggf zu einem Gate-Durchbruch gekommen ist ...

    Nur mal so als Hinweis zur Absicherung von Schaltungen

    Hallo

    In beiden Fällen, Eingänge sowie Ausgang, hilft dir ein Optokoppler weiter. Grundsätzlich trennt man bei solchen Spannungsunterschieden immer die Stromkreise.

    Allerdings solltest du jetzt mal selber in der Anleitung zu deinem Sensoren nachlesen, welchen Ausgangsstrom diese liefern können, bzw ob es sich um ein OpenDrain- bzw OpenCollector Ausgang handelt. ( Ich werde das definitiv nicht für dich tun )

    Wenn die Sensorausgänge mehr wie 5 mA liefern können also PushPull dann kannst du aus dem Ausgang selber über einen Vorwiderstand gegen Masse einen solchen Optokoppler direkt ansteuern. Falls es sich um einen der o.g. Ausgänge handelt, dann muss du mit einer Hilfsspannung und wieder einem Vorwiderstand den Optokoppler ansteuern. Der Ausgang selber stellt dann die Verbindung zur Masse her. ->> Hier der Unterschied, der Pushpull Ausgang kann selber eine Strom mit einer Spannung liefern, bei den OpenCollector / OpenDrain-Lösungen ist der Ausgang nur wie ein Schalter gegen Masse zu verstehen.

    Falls PushPull Ausgang dieser Sensoren nicht mehr wie 5 mA oder weniger liefern können, musst du einen Signalverstärker zwichenschalten, sonst kann die Kombination aus Vorwiderstand und Optokoppler den Sensorausgang selber zerstören ( überlasten ) !

    Dazu nimmt man z.B. einen geeigneten OPV zB einen LM358, lässt ihm im Comparatormodus laufen und du kannst an dessen Ausgang einen maximalen Strom bis 25 mA ziehen.

    Zum Thema einen Ausgang schalten. Klar kann man ein Relais an einen RasPi GPIO hängen, allerdings sollte diese Relaisplatine ebenfalls über einen Signalverstärker verfügen. Mit den wenigen mA die aus einem GPIO zu entnehmen sind, und das bei nur 3,3 Volt kann man nur sehr wenige Relais schalten. Aber es gibt entsprechende Platinen schon fertig mit einem Optokoppler am Eingang, und einen dazugehörigen Schalttransistor welcher das Relais mit Strom versorgt.

    Dazu noch eine Grundanmerkung: Bedenke dabei immer, das ein solches Relais im angezogenen Zustand immer eine Stromverbrauch hat. Daher solltest du dir sehr genau anschauen, aus welcher Spannungsquelle du diese Relais-Platine betreiben / versorgen kannst. Hier muss man sich mit den Relaistypen / Datenblättern beschäftigen, die für diese Relais auf diesen Fertigplatinen auch zugehörig sind. Es gibt eine ganze Menge Relais die zwar mit einer Versorgungsspannung von 5 Volt betreiben werden können, dennoch muss man hier 2 Zustände unterscheiden. Einmal den Anzugsstrom, und einmal den Haltestrom. Der Anzugsstrom beträgt in den meisten Fällen ein Vielfaches des Haltestrom ( Dauerstrom, der dafür sorgt, dass das Relais angezogen bleibt ). Wenn nun der Anzugsstrom etwas in der Größenordnung 500 mA überschreitet kannst du diese Relaisplatine nicht mehr mit über Pin 2 oder 4 der GPIO Leiste aus dem RasPI versorgen.

    Falls du als Lasten mit dem Relais Gleichspannungskomponenten z.B. Pumpen, welche eine induktive Last darstellen, schalten willst egal ob das 9 V , 12 Volt oder 24 V Gleichspannung sind, dann wirst du nicht sehr lange Freude an diesem Aufbau haben. Für Gleichspannungslasten sind Relais bei induktiven Lasten ( z.B. Elektromotoren ) die denkbar schlechteste Lösung. Weil mit jedem Abschaltvorgang ein s.g. Abrissfunken in Abhängigkeit des Stromes sich bildet und die Relaiskontakte verbrennt. Wenn es sich nur um einen Versuchs- oder Testaufbau handelt, und die Anzahl der Schaltspiele nicht all zu hoch sein wird, kann man auf diese günstige Lösung zurückgreifen. Für eine Daueranwendung, Langzeitbetrieb über mehrere Monate mit mehreren Schaltspielen pro Tag, wird es sehr schnell zu einem Ausfall des Relais selber kommen.

    Wechselspannungen mit einen Relais schalten ist noch okay, bei einer Dauernutzung und einer hohen zu erwartenden Anzahl an Schaltspielen solltest du auf alternative Lösungen mit einem Optokopller und einem Treiber-MOSFET setzen.

    Zur Not kann man versuchen, diesen testweise parallel an die +5V & GND SV Pin's der GPIO Leiste anzuschließen. (Auf die richtige Polung achten!)

    Es wäre schön, oder besser, dem TO hier auch eine vollständige Antwort zu geben.
    Es gibt nur wenige Typen dieser Alu-Gehäuse / Zylinder Elkos die überhaupt noch bei einer Arbeitsfrequenz größer 50 kHz des internen Step-UP-Wandlers einer Powerbank für eine vernünftige Glättung sorgen können, damit sie der Spezifikation für ein RasPi entspricht.
    Da die meisten ELKOs dieser Bauart heute LowESR Typen sind haben diese einem Gleichspannungswiderstand im ungeladenen Zustand von 2-8 Ohm. Was Lastseitig fast einem Kurzschluss entspricht. Ohne einen entsprechenden Ladewiderstand wird das nichts.
    Dieser muss allerdings auch entsprechen dimensioniert sein, um dieser Lastströme aushalten zu können.
    Vor 20-25 Jahren konnte man noch guten Gewissens sagen, nimm einen ELKO aus der Bastel-Ramschkiste. Jedoch heute wo größere Bauteilvorräte fast nicht mehr anzutreffen sind, und alles On the Flight gleich mal Online bestellt wird, solltest du deine Aussage oder Empfehlung spezifizieren.
    Ausgehend von einem Laststrom größer 1 A über einen längeren Zeitraum, und einem falsch gewählten ELKO Modell wird das Ding bei einer Arbeits- oder Taktfrequenz des internen Spannungswandlers größer 50 kHz zunehmend heiß und kann dir oder dem TO sogar in der aktiv betriebene Schaltung förmlich explodieren. Das dieser dann das Elektrolyt auch über das RaspI verstreut / verspritzt könnte auch ganz schnell zum sicheren Tod dieses RasPI führen.
    Ohne zu wissen über welche Messmöglichkeiten der TO verfügt sehe ich in diesem Vorschlag eher eine Gefahr wie einen wirklich nutzbringenden Rat.
    Meine Begründung dazu habe ich geliefert ! Die Entscheidung, ob dieser / dein Vorschlag damit noch sinnvoll ist, ohne das du die Verwendung eines ELKOs auch bezüglich der Kapazität / Spannungsfestigkeit sowie des ESR Value spezifizierst überlasse ich dir.

    Nein, elektr. Spannung in V ist nur über eine elektr. Schaltung zu verändern. Oder?

    Und was glaubst du was passiert, wenn du zwei Step-UP Schaltungen direkt hintereinander hängst ?

    Ohne zu wissen welche Spannung der Akku in der Powerbank selber hat wird das nichts !
    Wenn du keine Aussage treffen kannst, oder hier bekannt gibst, über welchen Stecker USB--Typ A oder Typ C du versucht die Powerbank anzuzapfen wird das auch nichts !

    In den meisten Powerbanks ist die Stromabgabe auf 0,5 / 1,0 A oder im Höchstfalle auf 1,5 A über den Stecker-A beschränkt. Mehr kommt da nicht raus, oder die Spannung bricht soweit zusammen, das entweder die Powerbank selber abschaltet, oder die Spannung für den RasPi zu gering wird.

    Das Problem ist eine Verkettung mehrerer Umstände aus Spannung, Spannungsstabilität, der Glättungseigenschaften des Step-UP Wandlers in der Powerbank, und der Spezifikation der Powerbank selber, wie viel Strom über die von dir verwendete Buchse abgegeben werden kann.

    Hallo

    Das Problem dürft hier an einer ganz anderen Stelle liegen.
    Die meisten Powerbanken haben nur Nennspannung 3,7 V Akkus drin. Damit ist es für eine 5 Volt Ausgangsspannung unumgänglich, dass darin schon ein s.g. Step-UP Wandler verbaut ist.
    Hier macht der USB für den reinen Ladebetrieb allerdings ein sehr großes Spannungsfeld auf, womit der RasPi selber nicht mehr zuverlässig funktioniert, oder eine Warnmeldung "Low Voltage Warning " ausgibt.
    Das die meisten Step-UP Wandler Stromlastabhängig getaktet arbeiten -> je höher der Laststrom um so höher wird die Arbeits- oder Taktfrequenz kann das ein Ripple Problem sein. Viele, besonders günstige Hersteller dieser Powerbanken setzen in der Schaltung zur Wandlung von 3,7 Volt intern auf 5,0 Volt USB-Ausgang auf günstige Alu-Gehäuse Elkos. Diese sind nicht ausreichend Frequenzfest wenn es um die Glättung am Ausgang dieser Step-UP Schaltung geht. In der Folge ist die Restwelligkeit sehr hoch ( was auch als Ripple ) bezeichnet wird. Das kann in der Generation bis 3B / 3B+ / 3A und Zero zu verwirrenden Meldungen durch das OS führen.

    Ohne genau zu wissen, welches RasPI du mit dieser deiner Powerbank betreiben willst, welche sonstigen Lasten dort noch angeschlossen sind kann man hier nur sagen ->> Falscher Lösungsansatz.

    Für den reinen Ladebetrieb für den die meisten Powerbanks konstruiert sind reicht es wenn eine Ausgangsspannung ( gemittelt ) von 4,65 V erreicht wird, um die Ladefunktion USB-A ( bis 500 mA / 1 A ) sicher zu stellen. Da der RasPi in keine Verhandlung mit der Powerbank über den möglichen Laststorm gehen kann, ist der Betrieb eines RasPI an einer Powerbank mit einer Gesamtstromaufnahme immer ein Glücksspiel. Jedoch reichen diese minimalen 4,65 Volt am Ausgang der Powerbank nicht mehr aus um einen sicheren Betrieb eines RasPI zu gewährleisten.

    Wie schon von den Vorrednern gesagt wurde, ob 5,0 V oder 5,1 Volt sofern der Strom geliefert werden kann, und auch das Ripple am Ausgang der Stromquelle sich in Grenzen hält, spielt für eine RasPi gleich welcher Generation keine Rolle.

    Jedoch ohne entsprechende Ausrüstung ( Frequenzzähler , besser ein Oszilloskop ) kommt man dem Problem nicht auf die Schliche. Mit einer reinen Gleichspannungsmessung wirst du keinen wirklichen Erfolg haben, warum dein RasPI an dieser, deiner Powerbank den Dienst verweigert.

    Hallo

    Um zum Thema OPV mal was zu sagen oder konstruktiv beizutragen.

    Ohne das du, Dennis89, wirklich Angaben machst welcher Laststrom tatsächlich benötigt wird, ist all das was hier besprochen wird, und sich unterhalb der Spezifikation deines von dir projektierten MOSFETs bewegt - Kaffeesatzleserei ! Solche Aussagen "ähnlich wie" ist keine exakte Festlegung oder Benennung von klaren Grenzen für Betriebsparameter.

    Erstens mal grob zu dem Möglichkeiten, die man mit einem OPV hätte, wenn man weiterhin mit der gepulsten Ausgangsspannung leben kann.
    Wenn du am Eingang Vin- ( Minus ) eine Hilfsspannung zB über einen Spannungsteiler, anlegst un das Eingangssignal an Vin+ ( Plus ) anliegt, spricht man von einer Komparatorschaltung. Es gibt in diesem Fall keine Rückkopplung von Vout ( Ausgang zu einem der Eingänge ). Hier würde dann bei Überschreiten der Spannung an VIN+ , welche als Umschaltschwelle an Vin- vorgegeben wird, der Ausgang auf die Versorgungspannung des OPVs springen. Diese Schaltungen mit anderen Bauelementen diskret umgesetzt werden auch als Schwellwertschalter bezeichnet.
    Das heist nichts anderes wenn dein Grenzspannung an Vin- zum Beispiel mit 2,8 Volt vorgegeben ist, und die Spannung an Vin+ unter dieser Schwelle liegt ist der Ausgang LOw, wenn die Spannung über 2,8 Volt liegt, somit auf das 3,3 Volt Signal deines Mikrocontrollers eindeutig reagiert, dann ist der Ausgang High . In diesem Fall wird dein PWM Signal mit einer minimalen Latenz auf die Pegel 0 Volt = Low und 9,2 Volt = High übersetzt. Also so eine Art "Levelshifter"

    Zum TLV271 oder allgemein die Typen der TVL27x Serie können am Ausgang nur maximal 100 mA liefern ( unter Beachtung von P_tot ) wenn dir das ausreicht - soweit OK
    Der ebenfalls erwähnte OPA4187 schafft es nur auf 55 mA und der OPA186 nur auf 25 mA.

    Die ebenfalls aufgezeigte Alternative eines DAC, welche es auch mit mehr wie 8 Bit Auflösung gibt, dann aber zu einem Kostenfaktor werden. Fast alle DAC können nur wenige, wenn überhaupt mA Strom ausgeben. Hier musst du das Signal bezüglich des maximalen Ausgangsstromes nachverstärken.
    Das kann über eine komplementäre Endstufe erfolgen ( allerdings auch mit einer deutlich höheren Verlustleistung ) oder du verwendest wieder einen OPV der als einfacher Impedanzwandler ( ohne Spannungsverstärkung ) arbeitet , oder eine entsprechende Schaltung auch noch die Spannung verstärkt.

    Da die meisten DACs nur bis zur einer Vcc von 6 Volt arbeiten, benötigst du noch einen Eingangslevelshifter für den BUS ( I²C oder SPI ) damit du ihn bei einer höheren Vcc wie nur die 3,3 Volt des Mikrocontrollers ansprechen kannst. Mit einer Spannungsverstärkung erhöht sich dann auch das Schrittmaß der Ausgangsspannung, wie es vom DAC Vorgegeben wird.
    Bei einem 12 BIT DAC und einer Vcc von 6 Volt ( hier wird wieder eine zusätzliche Hilfsspannung Vcc für den DAC benötigt ) hättest du ein Schrittmaß von 6 Volt durch 4095 Steps , was einer Auflösung bei der Ausgangsspannung von ca 1,5 mV entspricht. Wenn du dieses dann nochmals um zB den Faktor 2 verstärkst, könntest du die maximale Ausgangsspannung auf theoretische 12 Volt hoch treiben, hättest dann aber nur eine Auflösung von 3 mV .



    Das wäre die von Gnom vorgeschlagene Variante mit einem OPV als Komparator / Schwellwertschalter ( Allerdings bei den aktuellen Preisen näherst du dich hier schon der 10 € Grenze Materialaufwand )

    Parasitäre Kapazitäten,z.B. durch Glättungskondensatoren, am Ausgang eines OPVs ohne ein vollständiges RC Glied abzubilden ( Widerstand ist ein Strombremse ) führt automatisch zur Verschiebung der Ausgangsspannung. Somit klassisch eine ELKO oder ähnliche niederohmige Glättungskapazitäten einfach an den Vout Ausgang zu hängen, damit aus deiner gepulsten Gleichspannung ( immer noch ein PWM Signal ) eine Rippelfrei / Rauschfrei Gleichspannung wird, funktioniert so nicht !



    Das wäre die Verstärkerschaltung für die Anwendung mit einer Eingangsspannungsquelle aus einem DAC. Über R1 + R3 ( Spannungsteiler ) wird eine Spannungsverstärkung eingestellt in diesem Fall von 1:2 ( Verdopplung )

    Allerdings auch hier sei gesagt, das ein solcher DAC, welcher je nach Modell ggf. auch noch mit einer Referenzspannung gespeißt werden müsste, bewegt man sich dann schon bei Materialkosten für einen 12 Bit oder 16 Bit DAC von etwa 10 € . Bei Versionen die eine ext. Referenzspannungseinspeißung benötigen kommen dann noch mal einige Euros für diese Referenzspannungsquelle hinzu. Plus das was der verstärkende OPV kostet. Plus den Levelshifter damit das Bussignal ( I²C oder SPI ) 3,3 Volt vom Mikrocontroller kompatible zum DAC selber wird.

    Eine vollständige DAC Lösung mit einer Schritt-Auflösung kleiner 5 mV ist nicht unter ca 25 € Bauteilkosten zu realisieren.