Hallo, ich versuche einen HC-SR04 an einem STM32 NUCLEOF446RE zu betreiben. Den Sensor habe ich mit dem Oszi geprüft. Mit einem Signalgenerator schalte ich ein niederfrequentes Rechtecksignal auf den Triggerpin und messe das Echo am Echopin wie erwartet. Nächster Schritt: Sensorversorgung schließe ich an STM32 an: 5V und GND. Am STM32 erzeuge ich eine niederfrequente PWM für den Trigger. Am Oszi messe ich das Echo vom Echopin wie erwartet. Nächster Schritt: Den Echopin verbinde ich mit einem Eingangspin am STM32. Daraufhin bricht die Spannung am Echopin ein. Ich habe es auch mit einem Spannungsteiler und mit der Pull-Down Konfiguration versucht. Das Ergebnis ist das gleiche, die Spannung bricht ein. Hat jemand eine Idee? Vielen Dank
:
Bearbeitet durch User
Nicht Prosa texten, sondern Schaltplan zeigen. Der HC-SR04 ist ein 5V-Device und liefert sowie erwartet 5V kompatible Logikpegel. Der STM32 hat 3,3V I/O-Spannung und 3,3V CMOS Logikpegel. Einige Pins haben eine (eingeschränkte) 5V-Kompatibilität. Welcher GPIO-Pin des STM32 wurde als Eingang benutzt und wie wurde der konfiguriert und wie genau beschaltet?
Robert schrieb: > Am STM32 erzeuge ich eine niederfrequente PWM für den Trigger. Wieso PWM? Man sendet einen Impuls und wartet auf das Ergebnis. Und dann muss man noch eine Weile abwarten, bevor die nächste Messung funktionieren kann. > Den Echopin verbinde ich mit einem Eingangspin am STM32. > Daraufhin bricht die Spannung am Echopin ein. Du musst einen 5V toleranten Eingang verwenden, er darf nicht als Ausgang konfiguriert sein, und eine doppel-Belegung mit etwas anderem könnte auch stören.
PA4 und PA5 sind beispieslweise NICHT als Eingang für das Echosignal geeignet, da diese nur 3,3V-kompatibel sind.
@Thorsten S.die Beschaltung habe ich angehangen. PB9 erzeugt den Trigger mittels PWM PA1 ist der Eingang @Steve van de Grens die PWM nutze ich nur damit ich kontinuierlich Echos empfange. Da gibt es sicher viele Wege.
:
Bearbeitet durch User
Robert schrieb: > die Beschaltung habe ich angehangen Der Spannungsteiler ist falsch herum. So wie gezeichnet würde er ein Signal vom STM32 zum Sensor verringern.
Fehler gefunden. An der Beschaltung hat es nicht gelegen. Ich hatte noch eine Zeile im Code, wo PA1 als Output im GPIO Port Mode Register eingestellt war. Danke für die Hilfe.
:
Bearbeitet durch User
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.