Inhaltsverzeichnis:

Gehackter digitaler Messschieber mit Arduino - Gunook
Gehackter digitaler Messschieber mit Arduino - Gunook

Video: Gehackter digitaler Messschieber mit Arduino - Gunook

Video: Gehackter digitaler Messschieber mit Arduino - Gunook
Video: Messchieber auslesen, Digitalanzeige und Bluetooth, DRO Caliper 2024, Juni
Anonim
Gehackter digitaler Messschieber mit Arduino
Gehackter digitaler Messschieber mit Arduino

Wie wäre es also, wenn Sie einige Messungen mit Ihrem digitalen Messschieber durchführen und Ihren Arduino mit diesen Messungen arbeiten lassen? Vielleicht speichern Sie sie, führen einige Berechnungen durch oder fügen diese Messungen zu einer Rückkopplungsschleife von Ihrem mechanischen Gerät hinzu seine Messwerte auf dem Arduino Serial Monitor anzeigen.

Schritt 1: Wie es gemacht werden kann

Wie es gemacht werden kann
Wie es gemacht werden kann

Es stellt sich heraus, dass einige digitale Messschieber in der Lage sind, die auf ihren Displays angezeigten Messdaten mit verschiedenen Protokollen zu übertragen, die von anderen Geräten verwendet werden sollen.

Eigentlich GIBT ES auf der Bremssattelplatine einen Platz für eine Schnittstellenbuchse, aber darauf ist nichts gelötet.

Sie können einfach die obere Abdeckung im Display herausziehen (nicht die Batterieabdeckung) und Sie finden 4 Pads, die eine Buchse haben sollen, um mit dem Bremssattel zu kommunizieren, aber das sind sie nicht:(.

Diese Tatsache wurde vor vielen Jahren auf verschiedenen Bremssätteln entdeckt und diese Anleitung konzentriert sich auf das genaue Modell des chinesischen digitalen Messschiebers, den Sie in den Bildern sehen können Arbeite mit, daher verschiedene Codes zu verwenden, aber die Grundidee ist bei den meisten dieser chinesischen gleich.

Wir werden:

  • Demontieren Sie den Bremssattel
  • Finden Sie, wo wir eine Schnittstellenbuchse an die Platine löten können
  • Identifizieren Sie die Pinbelegung des Connectors
  • Löten Sie es und montieren Sie den Bremssattel
  • Reverse Engineering der übertragenen Daten, um zu wissen, wie das Protokoll funktioniert
  • Pegelverschiebung der Caliper-Signale entsprechend dem Arduino
  • Code hochladen und fertig:)

Was du brauchen wirst:

  • Ein digitaler Messschieber
  • Arduino (Jeder Typ wird die Arbeit erledigen)
  • Logic Converter Board (ich füge einen Schaltplan für einen an)
  • A Lötkolben mit feiner, sauberer Spitze
  • Dünner Lötdraht
  • Einige Überbrückungsdrähte

Schritt 2: Demontieren Sie den Bremssattel

Demontieren Sie den Bremssattel
Demontieren Sie den Bremssattel
Demontieren Sie den Bremssattel
Demontieren Sie den Bremssattel
Demontieren Sie den Bremssattel
Demontieren Sie den Bremssattel
  • Entfernen Sie zunächst die Bremssattelbatterie aus ihrem Clip.
  • Bei diesem Modell finden Sie auf der Rückseite ein silbernes Leitpapier und darunter befinden sich vier Befestigungsschrauben. Sie halten das Gehäuse zusammen und wir müssen sie mit einem Kreuzschlitzschraubendreher abschrauben. Sie können einfach Ihren Schraubendreher über das Papier an den Seiten führen und Sie werden ihre Befestigungslöcher erkennen.

Danach sehen Sie, dass die Platine mit vier Schrauben an der Frontplatte befestigt ist. Sie müssen sie vorsichtig mit einem feinen Kreuzschlitzschraubendreher abschrauben

Achten Sie darauf, die Spuren auf beiden Seiten der Leiterplatte nicht zu zerkratzen oder zu schneiden

  • Nachdem Sie alle Schrauben herausgenommen und an einem sicheren Ort aufbewahrt haben, an dem sie nicht verloren werden können:),
  • Heben Sie die Platine vorsichtig an, da das Display und die drei Gummitasten auseinanderfallen können.
  • An dieser Stelle können Sie das Display und die Tasten von der Platine ziehen und mit den Schrauben befestigen und mit der blanken Platine weiterarbeiten.

Schritt 3: Finden Sie die benötigten Pads zum Löten der Buchse

Finden Sie die benötigten Pads zum Löten der Buchse
Finden Sie die benötigten Pads zum Löten der Buchse
Finden Sie die benötigten Pads zum Löten der Buchse
Finden Sie die benötigten Pads zum Löten der Buchse
Finden Sie die benötigten Pads zum Löten der Buchse
Finden Sie die benötigten Pads zum Löten der Buchse
Finden Sie die benötigten Pads zum Löten der Buchse
Finden Sie die benötigten Pads zum Löten der Buchse

Wenn Sie sich nun die Oberseite der Platine ansehen, können Sie leicht erkennen, wo der Datenstecker montiert werden soll.

Sie können auch sehen, dass generische Stiftleisten nicht ohne viel Feinarbeit gelötet werden können, da der Abstand des Steckverbinders kleiner ist als ihrer (Abstand: Abstand zwischen den Mittelpunkten zweier benachbarter Pads am Steckverbinder).

Das Rastermaß der Stiftleisten beträgt 100 mil oder 2,54 mm, sodass Sie sie entweder leicht biegen und verlöten lassen können, oder Sie können eine andere Buchse finden.

Und hier kam meine volle Schachtel, in der ich nur um PCBs herumsaß, einen guten Nutzen.

Ich fand einen perfekten 4-poligen Flexkabelstecker (FPC-Stecker) auf einer der alten CD-ROM-Laufwerksplatinen und entschied mich, ihn mit dem Caliper zu verwenden.

Sie müssen beim Entlöten von Leiterplattensteckverbindern nicht unbedingt vorsichtig sein, da deren Kunststoffgehäuse schmelzen können.

Achten Sie auch darauf, dass Sie entweder Stiftleisten oder eine spezielle Buchse als Stecker verwenden, damit dieser Stecker mechanisch in die Öffnung für den Stecker in der Caliper-Vitrine passt. (Sie können das Bild für weitere Erläuterungen sehen)

Schritt 4: Identifizieren Sie die Pinbelegung des Steckers

Identifizieren Sie die Pinbelegung des Steckverbinders
Identifizieren Sie die Pinbelegung des Steckverbinders
Identifizieren Sie die Pinbelegung des Steckverbinders
Identifizieren Sie die Pinbelegung des Steckverbinders
Identifizieren Sie die Pinbelegung des Steckverbinders
Identifizieren Sie die Pinbelegung des Steckverbinders

Nachdem wir nun die benötigten Pads gefunden haben, müssen wir wissen, womit jedes Pad verbunden ist.

Nun, es wurde bereits in anderen Reverse-Engineering-Projekten für diese Bremssättel gefunden und meistens haben sie die gleiche Konfiguration (GND, DATA, CLOCK, VCC)

Um es selbst zu konfigurieren:

Entfernen Sie die Batterie

  • Stellen Sie Ihr Multimeter auf den Summerstatus (Durchgangstest)
  • Beginnen Sie mit dem Anschließen einer Sonde an die Batterie-VE-Klemme (GND) und finden Sie heraus, welcher Pin am Stecker mit der anderen Sonde mit Masse verbunden ist
  • Machen Sie dasselbe mit Batterie +VE-Anschluss

Sie können den anderen beiden Pins, die mit dem Chip verbunden sind, zwei beliebige Namen geben (EX: D0 und D1), da wir ihre Funktionen später in ihrem Reverse-Engineering-Schritt kennen

Wenn Sie die Pinbelegung nicht konfigurieren möchten, können Sie die Steckerbelegung wie folgt schätzen:

(GND, DATEN, UHR, VCC)

GND ist das dem Display am nächsten liegende Pad

VCC ist das dem PCB-Rand am nächsten liegende Pad

und die beiden größeren Pads am Rand des Steckers für die Steckermontage sind mit GND verbunden (kann mit einem Multimeter überprüft werden)

Schritt 5: Reverse Engineering des Kommunikationsprotokolls

Reverse Engineering des Kommunikationsprotokolls
Reverse Engineering des Kommunikationsprotokolls
Reverse Engineering des Kommunikationsprotokolls
Reverse Engineering des Kommunikationsprotokolls
Reverse Engineering des Kommunikationsprotokolls
Reverse Engineering des Kommunikationsprotokolls

Nachdem Sie die Signale der beiden digitalen Ausgangspins mit einem Oszilloskop sondiert haben, sieht es wie folgt aus.

Sie sehen, dass einer der Pins als Taktgeber für die Synchronisierung der Datenübertragung (CLK-Leitung) arbeitet und der andere die Datenleitung ist, es handelt sich also um ein synchronisiertes Datenübertragungsprotokoll.

Es stellt sich heraus, dass: - Daten mit einem logischen Pegel von 1,5 Volt gesendet werden (klingt logisch, da es die gleiche Spannung wie die Nonius-Batterie ist) - Daten in 6 Nibbles (6 x 4 Bit) mit insgesamt 24 Bit gesendet werden - Es gibt ca. 200 mS zwischen dem Ende jedes Datenpakets und dem Anfang des anderen

Ich habe mich entschieden, die Daten an der steigenden Flanke der Uhr abzutasten, also nachdem ich mit verschiedenen Messungen am Bremssattel versucht und seinen Modus von (mm auf in) geändert und auch einige negative Werte angezeigt habe, habe ich diese Tabelle (3. Bilder) für meine Testbedingungen erhalten und ich fing an, das Kommunikationsprotokoll herauszufinden

Nach dem Studium der erfassten Daten:

- im mm-Modus: Bits Nr. 1 bis 16 sind die binäre Darstellung der angezeigten Zahl auf dem Messschieber (multipliziert mit 100) - im (inch)-Modus: Bits Nr. 2 bis 17 sind die binäre Darstellung der angezeigten Zahl auf dem Bremssattel (multipliziert mit 1000)

- Bit Nr. 21 stellt das negative Vorzeichen dar (1 wenn die angezeigte Zahl negativ ist und 0 wenn sie positiv ist)

- Bit Nr. 24 stellt die Maßeinheit dar (1 bei Einheit (in) und 0 bei Einheit (mm))

- im (Zoll) Modus: Bit Nr. 1 repräsentiert das 0,5 mil Segment (1 wenn es hinzugefügt wurde und 0 wenn nicht)

Schritt 6: Erstellen eines Logikkonverters

Einen Logikwandler erstellen
Einen Logikwandler erstellen
Einen Logikwandler erstellen
Einen Logikwandler erstellen

Jetzt müssen wir den Spannungspegel der Bremssatteldaten verschieben (1,5 Volt sind nicht für Arduino geeignet, es ist zu niedrig). Ich habe einen Schaltplan für den Logikwandler hinzugefügt, den ich für dieses Projekt gemacht habe, aber wie Sie die Daten jetzt sehen können Zusätzlich zu der Verschiebung auf den Logikpegel von 5 Volt wird er auch invertiert, sodass wir dies im Code kompensieren müssen.

Schritt 7: Arduino-Code

Arduino-Code
Arduino-Code

Und jetzt sind Sie bereit, es mit dem Arduino zu verbinden. Sie können den beigefügten Code finden. Verbinden Sie den Clock-Pin mit Pin 2 oder 3 auf Arduino uno, nano oder pro-mini (Sie benötigen einen Interrupt-fähigen Pin) Verbinden Sie den Daten-Pin mit jeder andere Pin. Laden Sie den Code hoch und öffnen Sie den seriellen Monitor, um die gemessenen Daten anzuzeigen

Der Code kann automatisch erkennen, in welchem Modus der Bremssattel arbeitet, indem er das 24. Datenbit scannt

Empfohlen: