Sono responsabile del mantenimento di un satellite con un ADC che non funziona in modo insolito. In sostanza ciò che sta accadendo è che alterna avanti e indietro tra due valori, se la tensione grezza rientra in un determinato intervallo. Sto lavorando per ottenere i conteggi grezzi, ma i dati elaborati assomigliano a questo:
Nota che la linea blu significa qualcos'altro (in sostanza, il software sta cercando di far corrispondere la linea rossa alla linea blu).
Normalmente, i passaggi sono piuttosto piccoli, come si può vedere dai piccoli dossi di sinistra sull'onda quadrata più grande. Tuttavia, i passaggi sono piuttosto grandi quando si scende al di sotto del valore. Anche se non ho i dati di conteggio non elaborati, so che si riflettono nei conteggi.
Quello che sto cercando di capire è come questo ADC stia fallendo.
Sto indovinando quanto segue, ma vorrei ottenere alcune analisi di questa idea:
- Nella regione lineare, per ogni variazione della tensione analogica in delta v, vi è una variazione nei conteggi di uno.
- Nella regione non lineare, per una variazione della tensione analogica in delta v, il salto nei conteggi è molto maggiore.
- È possibile che il delta v in 2 sia maggiore di 1, ma è molto più piccolo di quanto normalmente previsto.
Ricorda, questo è un satellite, quindi non posso riportarlo in laboratorio per i test. qualche idea?
EDIT: ecco i conti grezzi per un episodio del genere (campionato a una frequenza più bassa). Inoltre, l'ADC ha uno spazio di circa 15-20 anni, non ho un numero di parte a portata di mano, ma vedrò se riesco a ottenerlo. Probabilmente era nel 1993 e potrebbe essere basato su FPGA. I conteggi sono per quanto posso dire 374-421 come il divario (potrebbe essere fuori da alcuni conteggi). Il binario è il seguente
374 101110110
421 110100101
Parte del motivo per cui penso che potrebbe essere l'ADC è che ci sono più sensori con lacune simili. Sto lavorando ora per quantificarlo meglio, ma ecco un esempio di trama. Notare che i punti sono i valori misurati effettivi e le linee collegano semplicemente due punti dello stesso dato insieme. Tutti questi valori vengono letti dallo stesso ADC.
Inoltre, ecco un elenco di tutti i valori letti dall'ADC nel periodo di circa 24 ore. Ci sono moltissime linee (circa 20 in tutto). Credo che le lacune rappresentino una zona morta nell'ADC o nei relativi circuiti. L'asse y in questo diagramma sono i valori di output letti ADC. Ogni volta che vedi una linea sostanzialmente verticale sembra rappresentare una regione in cui l'ADC non può registrare un valore.
L'ADC è parte ADC0808, il multiplexor analogico è il numero parte è HCF4051BM1, almeno dagli schemi che riesco a trovare ... È possibile che in qualche momento sia stata apportata una modifica.
EDIT- Più di un aggiornamento: ci sono 3 multiplexor analogici che si alimentano nell'ADC. Volevo vedere se forse uno di loro stava avendo questo problema, dove gli altri no. Non ci sono molte prove per questo, tuttavia, vedi sotto. Ci sono molti vuoti come questo, ho appena scelto di mostrarne uno.
Count #tot #mux1 #mux2 #mux3
557 3360 1336 68 1956
558 252 128 4 120
577 684 292 4 388
578 964 480 8 476
0x00FF
al 0x0100
(piccolo cambiamento) si può essere sempre 0x01FF
o 0x0000
(grande cambiamento).