D1 mini, PCF8574, DIP-Schalter, LED-Anzeige und Levelshifter

Hallo,
zu dem Thema gab's schon ein paar vorbereitende Themen. Ich baue für eine Roboter-Positionierung die Baken.
Die Funktion war eigentlich schon OK. Ich musste aber vom arduino/nano auf D1 mini(ESP8266) wechseln. Hier meine neue Schaltplanskizze:

Wie gesagt, es geht nicht um funktionale Probleme(Ultraschall und Infrarot), sondern ich bitte Euch mal zu sehen, ob das elektrisch gehen könnte, wie zB. mit dem I2C-Anschluss. Bitte sagt nicht, alle Infos stehen in den Datenblättern. Ich hab's versucht...
Vielen Dank.
Viele Grüße Frank

Den PCF kann man mit 3,3V befeuern, auch für die LED ist der 3,3V Pegel unkritisch, dir fehlen an den LED Strombegrenzung Widerstände-
Wie willst du herausfinden welsche HC hat angesprochen?

Kurz mal drüber geschaut.
Ja, für I2C brauchst du einen Levelshifter, sobald der Controller und I2C-Slave mit unterschiedlichen Spannungen arbeiten.
Und für die US-Schall Sensoren musst du für jeden Sensor eigene Pins für die Steuerung bereitstellen.
In deinem Titel schreibst du von einem PCF8575, im Schaltbild ist der PCF8574. Das solltest du berichtigen.

Die IR arbeiten auch mit 3,3V zuverlässig.
Nur der HC = US-Schall Sensor braucht 5V. ?
Es wird knapp mit dem ESP8266, habe aber nicht gezählt

im ESP8266 NodeMCU HC-SR04 Ultrasonic Sensor with Arduino IDE | Random Nerd Tutorials
Wird der HC direkt mit ESP verbunden :thinking: musste man messen was für Pegel der sendet zu ESP

IR, LEDs, DIP und damit der PCF8575 würde ich mit 3.3 betreiben.
Die SR04 an 5V/Pegelwandler.

Angeblich die "Neuen" arbeiten auch mit 3,3V, müsste man testen, danach wehre das Problem mit den 5V erledigt. Die haben die Bezeichnung HC-SR04 P

Und warum musstest du umsteigen ?
Wenn es mit dem Nano fu ktioniert, würde ich das lassen.
Es sei denn, du hast einen technischen Grund.
Denn deine Schaltung oben funktioniert so def. nicht und hat sicher auch zu wenig GPIO.

Hast Du nicht nach gefragt, aber ich empfehle Dir, über einen ESP32 D1 Mini nachzudenken, denn der hätte mehr Pins, beispielsweise zur getrennten Auswertung der Ultraschallsignale oder als PCF-Ersatz.

Die Platinen mit ESPs haben meist schlappe Längsregler für 3,3 V, reicht gerade so zum Funken. Daher könnte ein weiterer Spannungsregler auf 3,3 V sinnvoll sein.

I²C mit Levelshifter.

Die Stromquelle ist nett, aber würden es nicht auch Vorwiderstände tun?

Wo zu? kann alles mit 3,3V bauen, nur der Ultraschal wen schon vorhanden bleibt mit 5V == 1 Vierer LS für Echo, Trigger kann doch direkt ist ja Output auf der MCU
TSOP4838

• Supply voltage: 2.5 V to 5.5 V

OK.

I²C mit Levelshifter, wenn die Busteilnehmer mit verschiedenen Spannungen arbeiten.

Sehe ich auch als die bessere Lösung.
Ebenso getrennte Wege für die IR-Sensoren. Die parallel zu schalten ist genau so merkwürdig wie bei den US-Sensoren. Das "kann" nicht funktionieren ?

Wegen event.Überlastung des ESP-3,3V-Pins habe ich versucht einiges über meine 5V Spannungsquelle zu machen.

Warum sollte eine Konstantstromquelle statt Vorwiderstand nicht funktionieren ?

Warum sollte die parallele Schaltung bei mir nicht funktionieren ? Ich verwende den US-Sensor hier nur als Empfänger(Sender ist entfernt). Der Sender(Empfänger ist entfernt) ist auf dem Rob.
Ja, und die Entfernungsmessung klappt gut.

Ja, ich werde IR mit 3,3V machen.

Ja, werde SDA/SCL über Levelshifter nehmen.

Meiner Meinung nach nicht erforderlich. Siehe oben

Ich habe erst den schaltungstechnisch(3,3V/5V) einfacheren arduino/nano benutzt. Die Kommunikation mit dem Rob erfolgte aber über ein extra NRF24-Modul. Funktionierte gut mit Anmeldung, Messdaten senden usw.
Um die Kommunikation zu vereinfachen bin ich auf ESPNOW umgestiegen. Ist auch schnell und einfach und ein Störquellenmodul weniger. Zusammen auch billiger.

Erstmal sehe ich bei den ganzen ESP-Typen nicht durch. Nach meinen Erkenntnissen ESP32 D1 Mini doppelt so teuer wie ESP8266. (Ich benötige 30 Stück)
Auf dem Rob läuft für Positionsbestimmung und Kommunikation ein ESP32.

Du meist die LED ? Ja , könnte man. 1 Vorwiderstand kostet nur einen Bruchteil der KSQ( 0,80 €)

Ich dachte mir das so und durch Versuche untermauert: Wenn Bake und Rob eine Sichtverbindung haben, muss die Bake auf 180 grd den gepulste Infrarotimpuls und die Ultraschallwelle erkennen. Die Richtung ist egal. Reflexionen sind ausgeschlossen, weil das erste Signal das richtige ist.

Übrigen, es könnte sein, dass ich die HC-SR04 durch JSN-SR20-Y1 mit geteiltem, abgesetztem Transmitter/Receiver ersetze ? Dazu muss ich aber erst abschließende Tests machen und die Kosten nochmal kalkulieren. Die JSN haben mind. einen 3-fachen Öffnungswinkel und sind wetterfest.

Vielen Dank für die zahlreichen Vorschläge. Ich werde alles berücksichtigen und eine neue Schaltplanskizze vorstellen.

Ok, alles schön und gut.
Ab wie soll man richtige und nützliche Antworten geben, wenn man im Vorwege nicht die korrekten Infos bekommt.
Da US mit den Reflexionen arbeitet, bin ich nicht sicher, ob dein Aufbau (parallele US-Sensoren) so richtig funktioniert.
Und nochmal, ändere deinen falschen Titel.

Beim Ultraschall an sich, ist sicher der direkte Schall das gleiche wie das Echo. Wie das Echo elektrisch aussieht, weiß ich leider nicht. Ich kann nur weiter testen. Vielleicht gibt es hier jemand der sich auskennt, wie 2 parallele Echosensoren reagieren ???

Nun sofort erledigt

Das ganz sicher nicht, da es beim Ultraschall auf die Zeit ankommt und die wird da sehr unterschiedlich sein. Du wirst so sicher keine genauen Messungen machen können.
Leider kann ich auch den Grund für diese Zusammenschaltung nicht erkennen.
Das solltest du evtl. noch erklären.

Genau wie die Zusammenschaltung der IR-Sensoren.
Diese geben ja auf ihrer Datenleitung das empfangene Datenpaket aus. Und wenn das beide gleichzeitig bzw. geringfügig zeitversetzt machen, gibt es Datenmüll.
Auch bei IR musst du mit Reflexionen rechnen.
Also auch da sehe ich keinen tatsächlich Sinn.

Dann muß Trig doch nicht verbunden werden, oder?

Ich auch nicht, aber den von mir verlinkten verwende ich für eine Uhr mit WS2815, den könnte ich Dir auch für Dein Projekt empfehlen. In der Arduino-IDE entweder "ESP32 Dev Module" oder "WEMOS D1 Mini ESP32".

Hätte ich das gewußt ... :roll_eyes:

Ideen für Kostenbewustsein durch Umstellen auf 3,3 V:

  • Spannungswandler 3,3 V verwenden
  • Stromquelle raus, Vorwiderstände für 3,3 V rein
  • Schallwandler für 3,3 V
  • DIP für Bakennummer raus, in den Preferences von LittleFS speichern
  • ggf. Taster für Konfigaration per HTML-Seite rein, dann als Access Point nutzen

Nur Ideen zur Anregung, ob es geht, mußt Du prüfen, auch bei TSOP.

Ich frage mich da immer noch, was soll gemessen werden und wodurch getriggert ?

Als Controller kann ich dann noch den ESP32-C3 Super mini empfehlen.
Schön klein und preiswert.

Wie ich oben kurz erwähnt habe, empfangen die Baken ca. 180 grd. Umkreis.

Der Infrarotsensor empfängt nur, wenn die fest verdrahtete Frequenz anliegt. Dann frage ich einfach mit digitalRead() ab. Vorhanden oder nicht und Einhaltung der vorgegebenen Dauer. Da gibt es keine "Daten" und wenn sich 2 überlagern, was mit Sicherheit sehr oft passiert, schadet das nicht(denke ich).

Ich versuchs nochmal: Beide erhalten gleichzeitig das Signal zur US-Messung. Auf der Bake(Empfänger) gibts aber physisch keinen Sender. Die Bake empfängt den Ultraschallimpuls vom Rob, denkt es wäre das Echo und gibt auf dem EchoPin die Dauer aus. Diese Dauer läßt sich mit micros() und Interrupt oder einfach mit pulseIn() messen. Wenn weitere Echos wegen der Sensorkombination auftauchen, so kann der Fehler nur max. der Abstand zwischen den Sensoren sein. Das erste auftauchen der Schallwelle markiert die Dauer.

Eigentlich habe ich davon keine Ahnung, nur was angelesen. Das sind nur meine Vorstellungen. Gern lasse ich mir das von sachkundigen Leuten widerlegen.

Der "ESP32 Dev Module" ist ein Superteil, verwende ich an anderer Stelle. Ist aber zu teuer.
Hat der "WEMOS D1 Mini ESP32" mehr Pins ? Ich glaube auch teurer.

Wenn es mir gelingt den US-Sensor nur mit 3,3 V zu betreiben... Müßte eigentlich gehen?
Er sendet ja nicht....

DIP für Bakennr muss leider sein. Habe schon mit Widerstandskaskade überlegt aber wieder verworfen.(PCF kostet im Moment nur 0,63€)
TSOP geht mit 3,3 V
Statt KSQ -> Vorwiderstände für LED oder nur einer
Ergebnis: Ich könnte eigentlich auf 3,3 V umstellen.

Sollte ich den Step-Down auf 3,3 V stellen und damit den ESP8266 direkt einspeisen ?

Hat der mehr Pins? Um einiges teurer als mein "Wemos D1 mini"(2,20 €)
Wenn ich einen anderen, teureren MC nehme, dann muß dieser mehr Pins haben, um den höheren Preis auszugleichen.

Genau da sehe deinen Gedankenfehler.
Die US-Sensoren arbeiten folgendermaßen:
Der Sensor sendet einen US-Impuls und startet die Zeitmessung.
Sobald er ein Echo empfängt, beendet er die Zeitmessung. Aus dem Ergebnis errechnet er die Entfernung.
Diese Funktion kann ich bei deiner Beschreibung nicht erkennen.
Du brauchst für die Messung beides am Ort. Sender und Empfänger.

Nein, ist halt nur kleiner.