Autotachometer mit LCD-Anzeige auf PIC16F628. Digitaler Drehzahlmesser auf dem Mikrocontroller PIC16F628

Das war nicht meine Idee. Ein Freund hat mich gerade gebeten, ein Gerät zu entwickeln, mit dem es möglich wäre, die Umdrehungen der Motorwelle ohne Kabel zu zählen und Dieselgeräte einzustellen. Und damit Sie es überall nutzen können.

Nachdem ich gesessen und nachgedacht hatte, kam ich auf Folgendes:

Das Funktionsprinzip ist einfach: Wir schalten die IR-LED ein und die Fotodiode empfängt die Reflexion. Wir zählen die Zeit zwischen Signaleingängen, rechnen sie in Umdrehungen pro Minute um und zeigen sie auf dem Bildschirm an. Das Netzteil ist batteriebetrieben.

Im Allgemeinen werde ich das nicht tun Zieh die Katze vorbei..... :)

Ich hatte damals einen Mikrocontroller wie diesen – PIC16F88. Das ist, was passiert ist.

Gerätediagramm:

Ich habe mich nicht um den IR-Signalsensor gekümmert. Allerdings war es auf Wunsch möglich (und für Neugierige könnte dies als Anreiz zur Verbesserung von J dienen), anstelle einer Fotodiode (die ich damals tatsächlich auf Lager hatte) einen TSOP1736-Sensor anzuschließen. Im Prinzip können Sie es mit 36 ​​kHz von einem Generator versorgen, der auf einem 555-Timer montiert ist. Sie können den Generator einfach mit einem Signal starten, das die IR-LED einschaltet. So ist es... Außerdem habe ich solche Experimente durchgeführt. Wenn 36-kHz-Licht an den TSOP angelegt wurde, betrug seine Ausgangsspannung 5 Volt. Beim Schließen des Lichtstrahls wurde der TSOP-Ausgang auf Null zurückgesetzt. Da die Aufgabe jedoch darin bestand, ein autonomes Gerät mit minimalem Verbrauch zusammenzubauen, hielt ich es für verschwenderisch, Energie für einen Sensor und einen Generator aufzuwenden. Zudem war der Abstand zum Messobjekt nicht besonders kritisch. Sogar ein Zentimeter Abstand war in Ordnung. Im Allgemeinen ist es so gekommen.

Die LCD-Stromversorgung erfolgt direkt über den PIC-Port, genau wie die Stromversorgung des LM358, um den Stromverbrauch im Ruhemodus zu reduzieren.

Leider gibt es vom ersten Prototypen keine Live-Platine mehr :(. Es handelte sich um eine Platine ohne Verstärkung des Signals vom Fotodetektor. Das Signal ging direkt zum MK.

Die Tafel sah so aus:

Da der Signalpegel des Fotodetektors für den Mikrocontroller nicht immer ausreichte, war eine Ergänzung der Schaltung erforderlich. Ich habe einen Verstärker mit LM358 gebaut. Jetzt sieht die Schaltung genau so aus, wie sie ist.

Nachdem wir das Gehäuse ausgewählt und die Platine daran angepasst hatten, wurde dieses schöne Gerät zusammengebaut:


Das Funktionsprinzip ist wie folgt:

Das zu untersuchende Objekt wird mit einem handelsüblichen Korrekturleser benotet. Etwa 5-7 mm Durchmesser. Oder es wird ein weißes Papieretikett aufgeklebt.

Wenn der Strom zum ersten Mal eingeschaltet wird, beginnt der PIC, die Dauer der Periode zwischen den Impulsen zu zählen, die, reflektiert vom Tag, am Fotodetektor ankommen . Wenn etwa 4 Sekunden lang keine Impulse vorhanden sind, wird der Messwert auf Null zurückgesetzt. Erfolgt für ca. 20 Sekunden kein Impuls, geht das Gerät in den Energiesparmodus. Die Anzeige erlischt. Für die nächste Messung müssen Sie die an Port RB0 angeschlossene Taste drücken. und das Gerät „wacht auf“. Der Zyklus beginnt von neuem.

Die Genauigkeit der Messwerte ist ausgezeichnet, jedoch nicht über den gesamten Bereich. Bei hohen Geschwindigkeiten „schweben“ die Messwerte, jedoch nur geringfügig und nicht kritisch.

Der einzige Nachteil dieses Geräts ist seine nicht sehr große Reichweite. Etwa einen Zentimeter. Dies kann jedoch, wie ich oben geschrieben habe, mithilfe eines Fotodetektors wie TSOP1736 oder TSOP1738 und eines Generators auf einem 555-Timer gelöst werden. In diesem Fall ist LM358 nicht erforderlich.

Noch eine Klarstellung: Das Material des Untersuchungsobjekts muss dunkel sein.

Das Archiv mit der Proteus-Datei und der Quelle ist hier.

Übrigens habe ich einen alten Quellcode gefunden, der das Prinzip der Impulszählung mithilfe eines Erfassungsmoduls implementiert, die Anzeige jedoch eine LED ist. Aber es ist nicht schwer, es für LCD neu zu machen, es wird einfacher sein

Das Drehzahlmesserschaltung auf einem Mikrocontroller dient zur Messung der Drehzahl nahezu aller Verbrennungsmotoren. Die Anzeige erfolgt über eine vierstellige LED-Anzeige, die Messgenauigkeit beträgt 50 U/min.

Beschreibung des Tachometerbetriebs auf dem Mikrocontroller PIC16F628

Nach Anlegen der Versorgungsspannung beginnt der digitale Drehzahlmesser sofort mit der Überprüfung der Drehzahl. Die „SELECT“-Taste wählt je nach Typ des Fahrzeugsensors einen von neun Geschwindigkeitsmessmodi aus.

Beim ersten Drücken von „SELECT“ wird der aktuelle Wert der Anzahl der Impulse angezeigt, die der Sensor pro Umdrehung des Schwungrads erzeugt. Zunächst auf 2 Impulse pro Umdrehung eingestellt. Dementsprechend zeigt der Indikator P-2.0 an. Bei jedem weiteren Drücken von „SELECT“ werden alle verfügbaren Werte durchlaufen (0,5; 1; 2; 3; 4; 5; 6; 7; 8 Impulse/Umdrehung).

Nach Abschluss der Auswahl des erforderlichen Impulswerts speichert der Drehzahlmesser diesen nach ca. 5 Sekunden im Speicher des Mikrocontrollers PIC16F628 und wechselt in den Betriebsmodus zur Drehzahlmessung. Beim nächsten Einschalten des Drehzahlmessers ist eine erneute Einstellung der Impulse nicht mehr erforderlich.

Für einen genauen Betrieb des digitalen Drehzahlmessers ist es notwendig, auf die Gestaltung des Eingangskreises zu achten. Für jedes einzelne Zündsystem (abhängig von der Automarke) kann es erforderlich sein, die Bewertungen so anzupassen, dass der Drehzahlmesser nicht auf höhere Harmonische reagiert, sondern fest auf die Hauptharmonischen reagiert.

In der aktualisierten Firmware-Version (tacho_univ_new) wurde eine 2-Sekunden-Indikatortestfunktion hinzugefügt, um mögliche Fehlfunktionen zu erkennen.

Ein Drehzahlmesser ist ein Gerät, mit dem Sie die Drehzahl (Rotationsgeschwindigkeit) eines Mechanismus (Welle, Rotor, Motorscheibe) messen können. Die Maßeinheit für die Rotationsgeschwindigkeit ist üblicherweise Umdrehungen pro Minute. Die traditionelle Methode zur Messung der Drehzahl basiert auf der Implementierung einer Drehzahlrückführung: Es wird ein Gleichstromgenerator verwendet, der so mit dem Drehmechanismus verbunden ist, dass die an den Generatorklemmen induzierte Spannung proportional zur Drehzahl ist der Schaft.

In diesem Artikel betrachten wir das Design eines Drehzahlmessers, der auf einem PIC-Mikrocontroller basiert, der keinen physischen Kontakt mit dem rotierenden Teil des Mechanismus hat, um seine Drehzahl zu messen. Diese Technik basiert auf einer optischen Methode zur Bestimmung der Rotationsgeschwindigkeit, die den Einsatz einer Infrarot-LED in Verbindung mit einer Fotodiode erfordert.

Die Basis des Gerätes ist in unserem Fall ein kompaktes Entwicklungsboard des Unternehmens.

Mit dem Drehzahlmesser können Sie Drehzahlen bis 99960 U/min mit einer Auflösung von 60 U/min messen. Das Ergebnis wird auf einer zweizeiligen LCD-Anzeige angezeigt.

Das StartUSB für PIC-Debugging-Board basiert auf einem Microchip-Mikrocontroller mit Unterstützung für die USB 2.0-Schnittstelle. Darüber hinaus verfügt die Platine über Kontaktpads mit Mikrocontroller-Eingangs-/Ausgangsleitungssignalen sowie einen Bereich für Prototyping und den Anschluss zusätzlicher Geräte. Auf Basis dieser Platine können USB-Datenerfassungsgeräte, Kommunikationsgeräte und USB-MP3-Player entwickelt werden.

Eine Besonderheit des StartUSB für PIC-Boards besteht darin, dass der auf dem Board installierte Mikrocontroller über einen vorinstallierten USB-Bootloader verfügt, wodurch die Verwendung eines zusätzlichen Programmiergeräts überflüssig wird. Darüber hinaus stellt das Unternehmen ein kostenloses USB-Bootloader-Programm für einen Personal Computer zur Verfügung, mit dem der Benutzer den Mikrocontroller einfach programmieren kann. Ein USB-Bootloader für den Mikrocontroller (Firmware) ist ebenfalls vorhanden.

Bei der optischen Methode zur Bestimmung der Drehzahl sendet eine Infrarot-LED IR-Impulse aus und eine Fotodiode erfasst das reflektierte Signal. Wenn die Oberfläche des rotierenden Teils dunkel und rau ist, ist das reflektierte Signal vernachlässigbar. Daher verwenden wir ein Stück weißes Papier, das auf das rotierende Teil geklebt wird. Wenn die gesamte Oberfläche des Teils hell und spiegelnd ist, müssen Sie ein Stück dunkles Papier verwenden, damit ein Teil der IR-Strahlung während einer vollständigen Umdrehung absorbiert wird. In jedem Fall erhalten wir für jede volle Umdrehung des rotierenden Teils einen Impuls am Ausgang der Signalumwandlungs- und Anpassungsschaltung.

Schematische Darstellung des IR-Sensors und der Signalanpassungsschaltung der Fotodiode

Das Diagramm zeigt, dass bei Auftreten eines hohen Pegels am IR-Tx-Pin der Transistor (npn), der die IR-LED steuert, öffnet. Das reflektierte Signal gelangt in die Fotodiode im Signalumwandlungs- und Anpassungsschaltkreis; normierte Impulse zum Zählen durch den Mikrocontroller werden vom Transientenkollektor (pnp) entnommen. Unter normalen Bedingungen ist der Widerstand der Fotodiode hoch und der Transistor ist immer ausgeschaltet. Der Ausgang der Schaltung (Transistor-Kollektor) wird auf Masse gezogen. Trifft das reflektierte IR-Signal auf die Fotodiode, verringert sich deren Widerstand und der Transistor öffnet, sodass am Ausgang ein hoher Pegel erscheint.

Im Folgenden betrachten wir den Anschluss des Sensors und der LCD-Anzeige an den Mikrocontroller, die wichtigsten Punkte bei der Konfiguration des integrierten Timers des Mikrocontrollers zur Lösung unseres Problems sowie das Design des Drehzahlmessers.

Was ist das überhaupt? Geschwindigkeitsmesser? Ein Drehzahlmesser ist ein Gerät zur Messung der Drehzahl (Umdrehungen pro Minute) eines rotierenden Körpers. Drehzahlmesser werden auf der Basis berührungsloser oder berührungsloser Tachometer hergestellt. Berührungslose optische Tachometer verwenden typischerweise einen Laser- oder Infrarotstrahl, um die Rotation eines Körpers zu überwachen. Dies erfolgt durch Berechnung der Zeit, die für eine Umdrehung benötigt wird. In diesem Material, das einer englischen Website entnommen ist, zeigen wir Ihnen, wie Sie daraus einen tragbaren digitalen optischen Tachometer herstellen Arduino Uno. Betrachten wir eine erweiterte Version des Geräts mit einem LCD-Display und einem geänderten Code.

Drehzahlmesserschaltung auf einem Mikrocontroller

Schematische Teileliste

  • Mikroschaltung - Arduino
  • Widerstände - 33k, 270 Ohm, 10k Potentiometer
  • LED-Element - blau
  • IR-LED und Fotodiode
  • 16 x 2 LCD-Bildschirm
  • 74HC595 Schieberegister

Hier wird anstelle eines Schlitzsensors ein optischer verwendet – Reflexion des Strahls. Auf diese Weise müssen sie sich keine Gedanken über die Dicke des Rotors machen, die Anzahl der Rotorblätter ändert den Messwert nicht und er kann die Trommelumdrehungen ablesen – was der Schlitzsensor nicht kann.

Sie benötigen also zunächst eine IR-emittierende LED und eine Fotodiode für den Sensor. Der Zusammenbau wird in einer Schritt-für-Schritt-Anleitung gezeigt. Klicken Sie auf das Foto, um es zu vergrößern.

  • 1. Zuerst müssen Sie die LED und die Fotodiode schleifen, um sie flach zu machen.
  • 2. Falten Sie dann den Papierstreifen wie im Bild gezeigt. Machen Sie zwei solcher Strukturen, damit die LED und die Fotodiode genau hineinpassen. Verbinden Sie sie mit Kleber und lackieren Sie sie schwarz.
  • 3. LED und Fotodiode einsetzen.
  • 4. Kleben Sie sie mit Sekundenkleber zusammen und löten Sie die Drähte.

Die Widerstandswerte können je nach verwendeter Fotodiode variieren. Das Potentiometer hilft, die Empfindlichkeit des Sensors zu verringern oder zu erhöhen. Löten Sie die Sensordrähte wie in der Abbildung gezeigt.

Die Drehzahlmesserschaltung verwendet ein 8-Bit-Schieberegister 74HC595 mit einem 16x2-LCD-Display. Machen Sie ein kleines Loch in das Gehäuse, um die LED-Anzeige zu befestigen.

Löten Sie einen 270-Ohm-Widerstand auf die LED und stecken Sie ihn in Pin 12 des Arduino. Der Sensor wird in ein kubisches Rohr eingesetzt, um ihm zusätzliche mechanische Festigkeit zu verleihen.

Das Gerät ist nun zur Kalibrierung und Programmierung bereit. Sie können das Programm über diesen Link herunterladen.

Video eines selbstgebauten Drehzahlmessers in Betrieb


Hochspannungs-Sicherheitsgerät - elektrischer Igel. Heute werden wir unsere Gespräche über die Strukturen fortsetzen, die zum Schutz unseres Zuhauses erforderlich sind. Das Gerät, das wir jetzt betrachten, ist zum Schutz einer Wohnung, eines Büros, eines Ferienhauses und eines Autos bestimmt. Das Gerät nennt sich Hochspannungs-Elektro-Igel!

Dieser digitale Drehzahlmesser eignet sich zum Zählen der Umdrehungen nahezu aller Arten von Verbrennungsmotoren. Der Tacho-Messfehler beträgt nur 50 Umdrehungen/Minute. Zur Anzeige des Ergebnisses dient eine vierstellige LED-Anzeige.
Um den Betriebsmodus zu konfigurieren, müssen Sie die Schaltfläche „Auswählen“ verwenden. Beim ersten Drücken wird der aktuelle Betriebsmodus auf dem Display angezeigt. Der Standardbetriebsmodus ist der dritte, bei dem der Sensor zwei Impulse pro Umdrehung des Schwungrads erzeugt. Dementsprechend erscheint auf dem Display die Aufschrift P-2.0.

Bei jedem weiteren Tastendruck wechselt der Drehzahlmesser-Betriebsmodus zum nächsten. Insgesamt gibt es neun davon: 0,5, 1, 2, 3, 4, 5, 6, 7, 8 Impulse/Umdrehung. Sie legen jeweils die Anzahl der Impulse fest, die der Sensor pro Umdrehung des Schwungrads ausgibt. Je höher die Anzahl der Impulse, desto genauer ist die Messung.

Nach Auswahl der Betriebsart müssen Sie 5-10 Sekunden warten. Während dieser Zeit zeichnet der Drehzahlmesser den Betriebsmodus im Speicher des Mikrocontrollers auf und wechselt in den Betriebsmodus. Künftig schaltet der Drehzahlmesser bei Stromzufuhr sofort in den Betriebsmodus. Wenn der Drehzahlmesser neu konfiguriert werden muss, müssen Sie die Taste „Auswählen“ drücken und den Drehzahlmesser erneut konfigurieren.

Es lohnt sich, auf die Parameter und den Aufbau der Eingangsschaltung zu achten. Für eine bestimmte Zündart sind aufgrund unterschiedlicher Zündvorrichtungen in verschiedenen Fahrzeugtypen einige Anpassungen der Bewertungen möglich. Dies ist notwendig, damit der Drehzahlmesser gut mit Grundschwingungen arbeitet und nicht auf höhere Schwingungen reagiert. Ohne eine solche Einstellung ist ein genauer Betrieb des Drehzahlmessers nicht möglich.

Die aktualisierte Firmware-Version enthält eine Funktion zur Überprüfung von Indikatoren. Dies ist erforderlich, um einen zweisekündigen Test zur Erkennung von Sensorfehlern durchzuführen.

Angehängte Dokumente:

Firmware

Einfacher Monoblock-Autoverstärker basierend auf TDA1560Q Drosselloses Kfz-Netzteil basierend auf IRS2153 für Laptops und Mobiltelefone Externer USB-Anschluss im Autoradio