Ardutester - Arduino Component Tester (INCOMPLETO)

AGGIORNAMENTO del 22/0/2013
Nuova Versione 0.7x
Attenzione lo schema di collegamento è cambiato!

Questo topic nasce da una costola dell'ABC.

Si tratta di un porting in Arduino dell'ottimo lavoro di Markus Frejek.
L'intento finale è quello di realizzare un economico component tester utilizzando Arduino e pochi componenti passivi; Sto cercando di rendere il sistema il più scalabile possibile, quindi per visualizzare l'Output si potrà utilizzare il Serial Terminal on in alternativa includere un LCD i2c. Sto lavorando ad uno shield che includerà anche i componenti per il Logic Analyzer (Altro progetto dell'ABC). Per mia comodità pubblicherò prima la versione SMD per poi subito dopo pubblicare la versione TH.
Logicamente tutti i files aggiornati saranno disponibili a tutti in questo primo post. :smiley:

Questo è il progetto base:

Lo schema
Sketch v07e (24/07/2013)

Nei prossimi giorni saranno disponibili i nuovi file gerber e il nuovo layout della shield.

Ciao pighixxx, ho cercato di sistemare il tutto ed ecco i risultati con i led:
ROSSO 1701mV
GIALLO 1909mV
BIANCO 3049mV
Sono corretti?
Ciao
C

cece99:
Ciao pighixxx, ho cercato di sistemare il tutto ed ecco i risultati con i led:
ROSSO 1701mV
GIALLO 1909mV
BIANCO 3049mV
Sono corretti?
Ciao
C

Direi di si.

Ho notato che mettendo un condensatore da 10uF mi dice 177.07159F è un po' strano....

cece99:
Ho notato che mettendo un condensatore da 10uF mi dice 177.07159F è un po' strano....

Tutta la parte di lettura delle capacità è da rivedere, in particolare la funzione ReadCapacity() che mi sono ripromesso di controllare oggi.

pighixxx:

cece99:
Ho notato che mettendo un condensatore da 10uF mi dice 177.07159F è un po' strano....

Tutta la parte di lettura delle capacità è da rivedere, in particolare la funzione ReadCapacity() che mi sono ripromesso di controllare oggi.

Secondo me anche la parte delle resistenze è da rivedere.....

cece99:
Secondo me anche la parte delle resistenze è da rivedere.....

Si, come dicevo ieri sera, tutta la parte dei passivi, anche se sono ad un buon punto ed entro breve pubblicherò una nuova release.
A parte i difetti di gioventù è una bella soddisfazione vedere come riconosce i componenti; In un attimo ti trova la piedinatura di un transistors.

Me lo faccio pure io però standalone, ottima idea pighixxx :wink:

Con i transistor e' fantastico! Ma ho notato che mettendo un led, mi viene riconosciuto solo se viene messo tra i puntali 2 e 3, 1 e 3, tra 1e2 non riconosce nulla, penso che sia da rivedere questo fatto.
Ciao
C

x iscrizione

cece99:
Ciao pighixxx, ho cercato di sistemare il tutto ed ecco i risultati con i led:
ROSSO 1701mV
GIALLO 1909mV
BIANCO 3049mV
Sono corretti?
Ciao
C

in realtà sono tutti bassi rispetto q quanto dovrebbero essere, probabilmente dipende dal valore di Tensione di riferimento che sta usando e dal metodo di lettura, v. problematiche che ho segnalato ieri....

E quali sarebbero queste problematiche?
Scusa ma ora sto usando il cellulare e mi e' scomodissimo cercare :slight_smile:

X iscrizione

Pighi, io penso che l'entusiasmo stavolta ti abbia giocato un brutto scherzo :slight_smile: è ovvio che devi ancora lavorare un bel po' sul software, quindi i vari "tester" possono solo avere problemi, e qui si rischia di intasare il Topic di post inutili perché basati su malfunzionamenti certi; forse è meglio se "ritiri" la release rilasciata ed aspetti il momento in cui sei ragionevolmente sicuro, allora i tester potranno fornirti indicazioni utili, altrimenti così sei costretto a rispondere a loro e ad operare a casaccio sul software, e così non può finire bene, o almeno non in tempi validi. L'hw invece è certo e va bene la bread, lo schema, il PCB...

Oggi non mi sono mai fatto vivo perchè sto lavorando sul software e penso che in tempi relativamente brevi (domani) dovrei rilasciare una versione stabile.
Adesso che è monco fa praticamente tutte le funzioni del DCA55 :smiley:

cece99:
Con i transistor e' fantastico! Ma ho notato che mettendo un led, mi viene riconosciuto solo se viene messo tra i puntali 2 e 3, 1 e 3, tra 1e2 non riconosce nulla, penso che sia da rivedere questo fatto.
Ciao
C

Darò una controllata ma a me sembra funzionare con qualsiasi combinazione.

Ho fatto qualche modifica. :grin:
Compila su: UNO, 2009, MEGA e Leonardo.
Da testare.

Allego il file.

EDIT:
Si potrebbe aggiungere un pulsante di start per far partire la procedura di riconoscimento

pinMode(A3, INPUT_PULLUP);

while (digitalRead(A3) == HIGH) {
    delay(10); 
  }

collegando il pin A3 ad un pulsante e GND; non è necessaria la resistenza esterna.
Non ricordo quale altro pin è libero. :disappointed_relieved:

ArduTester_v03_1.ino (30.3 KB)

PaoloP:
Ho fatto qualche modifica. :grin:
Compila su: UNO, 2009, MEGA e Leonardo.
Da testare.

:grin:
Sono alla versione 0.6. Allego il file, come si potrà notare è leggermente più complesso. Ci sto lavorando, i risultati sono buoni ma non riuscirò a mantenere la promessa di una versione finale per oggi anche perchè sono praticamente partito da 0. Tutta la parte di visualizzazione è da terminare e funziona (se così ai può dire) solo l'output su seriale. Per domani mattina posterò una versione decente dove da li chi vuole può mettere le mani. Ho fatto il porting da un'altra versione.

PaoloP:
Non ricordo quale altro pin è libero. :disappointed_relieved:

Non sarà libero nessun pin analogico perchè userò l'A3 per leggere l'IOREF.

Alcune note:

  • Il codice è super commentato.
  • Tutta la parte di SHOW dei componenti la sto terminando
  • La parte di probing è funzionante
  • Devo ottimizzare tutta la parte di delay;

Buon divertimento :smiley:

v06.ino (101 KB)

Eccomi qua :grin:
Versione 0.6c

Si può considerare una versione stabile (A parte la visualizzazione).

ChangeLog:

  • Ottimizzazione memoria (Utilizzato PROGMEM per lo store delle costanti char)
  • Pulizia codice (Adesso il codice da ottimizzare è alla fine)

ToDo:

  • LCD
  • Gestione IOREF
  • Gestione pulsante per acquisizione e cambio pagina info

Da Sapere:

  • Adesso è attiva una pseudo visualizzazione seriale :smiley: Se testate un condensatore o altro passivo la prima cifra è la posizione del punto.
  • Su delayus ho utilizzato una funzione in asm. (Devo verificare la bontà della soluzione....)
  • Se senza componente collegato vi trova un condesatore (codice 11) è perchè legge la capacità del circuito. (Pochi pF di solito). Questo si può regolare dal programma.

A dopo, :smiley:

edit.
Testato condensatore elettrolitico da 100µF

  • Ardutester: 95.04µF
  • Rigol DM3051: 95.06µF

:grin: :grin: :grin:

v06c.ino (102 KB)

A me non funziona, non testa neanche + i transistori.
Ciao
C

cece99:
A me non funziona, non testa neanche + i transistori.
Ciao
C

Ma l'output del monitor seriale qual'è? (Bastano le prime 3 righe)