Power HC-SR04 vom Mikrocontroller-Pin und MOSFET

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

Ich arbeite an einem Näherungssensor für meine Garage und verwende einen HC-SR04-Ultraschallsensor, um die Entfernung zu messen. Der Mikrocontroller, den ich verwende, um alles zu steuern, ist ein PIC16F88. Ich habe eine erste Version, die einwandfrei funktioniert, die Entfernung ist genau und konsistent.

Ich plane jedoch, das Projekt über eine Batterie mit Strom zu versorgen (noch nicht sicher, welche Art von Batterie), und daher möchte ich den Stromverbrauch so weit wie möglich reduzieren. Im Ruhezustand zieht der Abstandssensor ca. 3mA, was zu viel ist. Ich habe angefangen, das Projekt zu ändern, um den Schlafmodus des PIC zu verwenden, dieser Teil funktioniert gut.

Ich versuche jetzt, den HC-SR04 über einen Pin des PIC und einen MOSFET (2N7000) mit Strom zu versorgen. Ich habe den Sensor wie folgt verkabelt:

  • Vcc: +5V
  • Trig: Ausgangspin des PIC
  • Echo: Eingangspin des PIC
  • Gnd: Drain des MOSFET

Der MOSFET ist wie folgt verdrahtet:

  • Drain: Gnd-Pin des HC-SR04
  • Quelle: Gnd der Schaltung
  • Gate: Ausgangspin des PIC

Die Logik meines C-Programms ist folgende:

  • Legen Sie Logikpegel 1 an das Gate des MOSFET an
  • Distanz messen
  • Legen Sie den Logikpegel 0 an das Gate des MOSFET an
  • Versetzen Sie den PIC für ein wenig in den Ruhezustand (ca. 500 ms)
  • Wiederholen

Das Problem ist, dass die gemessenen Entfernungen überhaupt nicht konsistent sind. Es scheint um die richtige Entfernung herum zu variieren, geht aber 10 bis 20 Zentimeter über und unter die tatsächliche Entfernung. Wenn ich das Gate des MOSFET an +5V anschließe, dann funktioniert es einwandfrei und ich habe konsistente, korrekte Abstände. Ich habe versucht, bis zu 500 ms zu warten, nachdem ich das Gate auf +5 V eingestellt hatte, bevor ich die Entfernung gemessen habe, aber es hat das Problem nicht behoben.

Hat jemand ähnliches erlebt, oder hat eine Idee, was ich versuchen könnte, um den HC-SR04 auf diese Weise mit Strom zu versorgen?

Ich danke Ihnen für Ihre Hilfe!

kannst du bitte einen Schaltplan posten. Es gibt eine Schaltfläche für einen Editor, wenn Sie eine Frage posten oder aktualisieren
Bist du sicher, dass der Mosfet voll eingeschaltet ist?
@jsotola Ich habe ein Schema hinzugefügt, das die Verbindungen für den HC-SR04 zeigt.
@RonBeyer Ich habe es mit einem Multimeter überprüft und es ist so. Auch beim Anschließen des Gates des MOSFET an die +5-V-Stromversorgung funktioniert die Schaltung einwandfrei.
Was sagt das Datenblatt zur Startzeit?
Es ist schwer, ein Datenblatt für diesen Sensor zu finden, aber ich habe versucht, bis zu 500 ms zu warten, bevor ich versuche, eine Entfernung zu messen, ich bezweifle, dass es mehr als das sein würde.

Antworten (2)

Nach langem Experimentieren sieht es so aus, als wäre alles darauf zurückzuführen, dass die Steckbrettverbindungen nicht stark genug waren. Wenn ich versuche, den MOSFET und die daran angeschlossenen Drähte so zu "drücken", dass sie sich berühren, scheint es viel konsistenter zu sein. Wenn ich eine gute Verbindung bekomme und das Board nicht bewege, ist die Entfernung sehr stabil. Ich habe auch einen Kondensator zwischen +5 V und Gnd für den HC-SR04 hinzugefügt, um alle Inkonsistenzen im Signal zu absorbieren, das vom Pin des PIC und des MOSFET gegeben wird. Ich werde bald alles auf eine Prototypenplatine löten und bestätigen können, dass dies das Problem war.

Die Aufwachzeit des HC-SR04 scheint etwa 60 ms zu betragen. Die empfohlene Mindestzeit zwischen 2 Maßnahmen zur Vermeidung von Kollisionen mit einem vorherigen Signal beträgt etwa 60 ms, also habe ich versucht, auch nach dem Einschalten des Sensors 60 ms zu warten. Wenn Sie weniger warten, erhalten Sie einige falsche Werte, daher würde ich empfehlen, jedes Mal, wenn Sie den Sensor wieder einschalten, sowie zwischen jeder Messung eine Verzögerung von 60 ms oder mehr einzuhalten.

Ich denke, die Lösung ist einfach, dass der HC-SR04 mit einem stabilen Signal betrieben werden muss, was bei meinem Steckbrett nicht der Fall war. Jedenfalls vielen Dank für die Hilfe!

Es ist ein bisschen weit hergeholt, aber Sie könnten erwägen, Ihre E / A-Pins, die mit dem HC-SR04 verbunden sind, auf hohe Impedanz zu stellen, bevor Sie den FET abschalten, falls Sie Strom in den HC-SR04 lecken, wenn dies der Fall ist angeblich ab. Das Modul könnte in diesem Fall in einen irren Zustand geraten, denke ich.