Sommario:

Calibro a corsoio digitale hackerato con Arduino: 7 passaggi
Calibro a corsoio digitale hackerato con Arduino: 7 passaggi

Video: Calibro a corsoio digitale hackerato con Arduino: 7 passaggi

Video: Calibro a corsoio digitale hackerato con Arduino: 7 passaggi
Video: Не выбрасывайте старый процессор компьютера 2024, Dicembre
Anonim
Calibro a corsoio digitale hackerato con Arduino
Calibro a corsoio digitale hackerato con Arduino

Quindi, che ne dici di fare alcune misurazioni con il tuo calibro digitale a corsoio e avere il tuo Arduino per lavorare con queste misurazioni? Forse salvandoli, facendo alcuni calcoli basati su o aggiungendo queste misurazioni a un circuito di feedback dal tuo dispositivo meccanico. visualizzare i valori misurati sul monitor seriale Arduino.

Passaggio 1: come si può fare?

Come si può fare?
Come si può fare?

Si scopre che alcuni calibri digitali sono in grado di trasmettere i dati misurati che appaiono sui loro display utilizzando protocolli diversi per essere utilizzati da altri dispositivi.

In realtà C'È un posto per una presa di interfaccia sulla scheda del calibro, ma su di essa non è saldato nulla.

Puoi semplicemente sfilare il coperchio superiore nel display (non il coperchio della batteria) e troverai 4 pad che dovrebbero avere una presa su di essi per comunicare con la pinza, ma non lo sono:(.

Questo fatto è stato scoperto molti anni fa su diversi calibri e questo istruibile si concentra sul modello esatto del calibro a corsoio digitale cinese che puoi vedere nelle immagini, quindi assicurati che il tuo sia lo stesso modello in quanto il modello diverso potrebbe avere protocolli diversi per lavorare con, quindi codici diversi da usare, ma l'idea principale è la stessa tra la maggior parte di questi cinesi.

Stava andando a:

  • Smontare la pinza
  • Trova dove possiamo saldare una presa di interfaccia alla scheda
  • Identifica il pin-out del connettore
  • Saldalo e assembla il Caliper
  • Reverse engineering dei dati trasmessi per sapere come funziona il suo protocollo
  • Sposta il livello dei segnali Caliper per adattarlo ad Arduino
  • Carica il codice e il gioco è fatto:)

Di cosa avrai bisogno:

  • Un calibro digitale a corsoio
  • Arduino (qualsiasi tipo farà il lavoro)
  • Logic Converter Board (allego uno schema per uno)
  • Un saldatore a punta fine e pulita
  • Filo di saldatura sottile
  • Alcuni ponticelli

Passaggio 2: smontare la pinza

Smontare la pinza
Smontare la pinza
Smontare la pinza
Smontare la pinza
Smontare la pinza
Smontare la pinza
  • Per prima cosa rimuovere la batteria della pinza dalla sua clip.
  • Per questo modello troverai una carta guida argentata sul retro e troverai quattro viti di montaggio sotto di essa. Stanno tenendo insieme la custodia e dobbiamo svitarli usando un cacciavite Philips. Puoi semplicemente far passare il cacciavite sulla carta ai lati e vedrai i loro fori di montaggio.

Dopodiché vedrai che il PCB è montato sul pannello frontale con quattro viti, devi svitarle delicatamente usando un cacciavite Philips a punta fine

Fare attenzione a non graffiare o tagliare nessuna delle tracce su entrambi i lati del PCB

  • Ora, dopo aver tolto tutte le viti e averle riposte in un posto sicuro dove non possono essere perse:),
  • È necessario sollevare il PCB con cautela poiché il display e i tre pulsanti di gomma potrebbero cadere a pezzi.
  • A questo punto puoi estrarre il display e i pulsanti dal PCB e inserirli con le viti e continuare il tuo lavoro con il PCB nudo.

Passaggio 3: trova i pad necessari per saldare la presa

Trova i pad necessari per saldare la presa
Trova i pad necessari per saldare la presa
Trova i pad necessari per saldare la presa
Trova i pad necessari per saldare la presa
Trova i pad necessari per saldare la presa
Trova i pad necessari per saldare la presa
Trova i pad necessari per saldare la presa
Trova i pad necessari per saldare la presa

Ora, guardando il lato superiore del PCB, puoi facilmente individuare dove dovrebbe essere montato il connettore dati.

Puoi anche vedere che le intestazioni dei pin generiche non possono essere saldate senza molte modifiche poiché il passo del connettore è più piccolo del loro (passo: distanza tra i centri di due pad adiacenti sul connettore)

Il passo delle intestazioni dei pin è di 100 mil o 2,54 mm, quindi puoi piegarle leggermente e farle saldare, oppure puoi trovare un'altra presa.

Ed ecco quando la mia scatola piena di soli PCB seduti ha avuto un buon uso.

Ho trovato un perfetto connettore per cavo flessibile a 4 pin (connettore FPC) su uno dei vecchi PCB dell'unità CD-ROM e ho deciso di usarlo con il Caliper.

Non c'è bisogno di dire che dovresti stare attento durante la dissaldatura dei connettori PCB poiché il loro involucro di plastica potrebbe sciogliersi.

Fai attenzione anche che o hai scelto di utilizzare connettori maschio o una presa speciale come connettore che hai bisogno di questo connettore per essere in grado di adattarsi meccanicamente all'apertura per il connettore nella vetrina Caliper. (Potete vedere l'immagine per maggiori chiarimenti)

Passaggio 4: identificare il pin-out del connettore

Identifica il pin-out del connettore
Identifica il pin-out del connettore
Identifica il pin-out del connettore
Identifica il pin-out del connettore
Identifica il pin-out del connettore
Identifica il pin-out del connettore

Ora, dopo aver trovato i pad necessari, dobbiamo sapere a cosa è collegato ciascun pad.

Ebbene, è già stato trovato in altri progetti di Reverse engineering per questi Calibri e il più delle volte hanno la stessa configurazione (GND, DATA, CLOCK, VCC)

Per configurarlo con te stesso:

Rimuovere la batteria

  • imposta il tuo multimetro sullo stato del cicalino (test di continuità)
  • Inizia collegando una sonda al terminale Batteria -VE (GND) e trova quale pin del connettore è collegato a massa usando l'altra sonda
  • Fai lo stesso con la batteria + terminale VE

Puoi dare agli altri due pin collegati al chip due nomi qualsiasi (ES: D0 e D1) poiché conosceremo le loro funzioni più avanti nella loro fase di reverse engineering

Se non si desidera configurare il pin-out, è possibile stimare il pin-out del connettore come:

(GND, DATI, OROLOGIO, VCC)

GND è il pad più vicino al display

VCC è il pad più vicino al bordo del PCB

ed entrambi i pad più grandi sul bordo del connettore per il montaggio del connettore sono collegati a GND (puoi controllarli con un multimetro)

Passaggio 5: decodificare il protocollo di comunicazione

Reverse Engineering del protocollo di comunicazione
Reverse Engineering del protocollo di comunicazione
Reverse Engineering del protocollo di comunicazione
Reverse Engineering del protocollo di comunicazione
Reverse Engineering del protocollo di comunicazione
Reverse Engineering del protocollo di comunicazione

Dopo aver sondato entrambi i segnali dei pin di uscita digitale con un oscilloscopio, ecco come appare.

si può notare che uno dei pin funziona da clock per la sincronizzazione della trasmissione dati (linea CLK) e l'altro è la linea dati, quindi abbiamo a che fare con un protocollo di trasmissione dati sincronizzato.

Si scopre che: - I dati vengono inviati a livello logico di 1,5 Volt (sembra logico in quanto è la stessa tensione della batteria a nonio) - I dati vengono inviati in 6 nibble (6 x 4 bit) con un totale di 24 bit - C'è circa 200 mS tra la fine di ogni pacchetto dati e l'inizio dell'altro

ho deciso di campionare i dati sul fronte di salita dell'orologio, quindi dopo aver provato con diverse misure sul calibro e aver cambiato la sua modalità da (mm a in) e anche visualizzato alcuni valori negativi ho ottenuto questa tabella (3a foto) per le mie condizioni di prova e ho iniziato a capire il protocollo di comunicazione

Quindi, dopo aver studiato i dati acquisiti:

- in modalità mm: i bit da n.1 a 16 sono la rappresentazione binaria del numero visualizzato sul calibro (moltiplicato per 100) - in modalità (pollici): i bit da n.2 a 17 sono la rappresentazione binaria per il numero visualizzato sul calibro (moltiplicato per 1000)

- il bit n.21 rappresenta il segno negativo (1 se il numero visualizzato è negativo e 0 se è positivo)

- il bit n.24 rappresenta l'unità di misura (1 se l'unità è (in) e 0 se l'unità è (mm))

- in modalità (pollici): il bit n.1 rappresenta il segmento da 0,5 mil (1 se è aggiunto e 0 se non lo è)

Passaggio 6: creare un convertitore logico

Realizzare un convertitore logico
Realizzare un convertitore logico
Realizzare un convertitore logico
Realizzare un convertitore logico

Ora dobbiamo spostare il livello di tensione dei dati della pinza (1,5 volt non è adatto per funzionare con Arduino, è troppo basso) Ho aggiunto uno schema per il convertitore logico che ho realizzato per questo progetto ma come puoi vedere i dati ora oltre ad essere spostato al livello logico di 5 volt sarà anche invertito, quindi dobbiamo compensarlo nel codice.

Passaggio 7: codice Arduino

Codice Arduino
Codice Arduino

E ora sei pronto per collegarlo con Arduino. Puoi trovare il codice allegato. Collega il pin dell'orologio al pin 2 o 3 su Arduino uno, nano o pro-mini (avrai bisogno di un pin in grado di interrompere) collega il pin dei dati a qualsiasi altro pin. Carica il codice e apri il monitor seriale per vedere i dati misurati

Il codice può rilevare automaticamente su quale modalità sta lavorando il calibro scansionando il 24° bit di dati

Consigliato: