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.
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
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 ???
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.
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 ...
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.
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.