fabmatt Inserito: 19 novembre 2006 Segnala Share Inserito: 19 novembre 2006 Sto provando ad utilizzare il convertitore A/D di un ST62E20, ho creato un partitore di tensione con una NTC 100K a 25° ed una resistenza, il valore che vado a leggere (nel nodo tra la NTC e la resistenza)mi oscilla oltre 10°. Siccome è la prima volta che provo questa cosa, sapete come posso riuscire ad avere una buona precisione?Grazie. Link al commento Condividi su altri siti More sharing options...
lemiz Inserita: 20 novembre 2006 Segnala Share Inserita: 20 novembre 2006 Spiegati meglio! Link al commento Condividi su altri siti More sharing options...
fabmatt Inserita: 20 novembre 2006 Autore Segnala Share Inserita: 20 novembre 2006 lemiz+20/11/2006, 01:17--> (lemiz @ 20/11/2006, 01:17) Ho collegato il +5V ad una NTC, l'altro capo è collegato ad un ingresso del micro ed a un aresistenza, l'altro capo della resistenza è collegato a massa. Faccio la conversione del segnale analogico con il micro e non riesco ad avere un valore costante, cioè oscilla da 20° ad 35°. Nel micro sono collegati dei display, ed i numeri scorrono di continuo.Come è possibile ovviare a queste oscillazioni del valore letto?Grazie. Link al commento Condividi su altri siti More sharing options...
accacca Inserita: 20 novembre 2006 Segnala Share Inserita: 20 novembre 2006 (modificato) Per favore aggiungi informazioni come chiede giustamente lemizIo controllerei nell'oridneRiferimento di tensione: è stabile?Tensione di alimentazione è stabile ?Connessione di massa: lunga o corta ...Per il sw guarderei innanzitutto il valore A/D letto dal convertitore non la temperatura ottenuta da un calcolo che potrebbe essere sbagliato.Aggiungo un'alòtra prova Stacca il sensore NTC e metti una resistenza da 100K al suo posto per avere un ingresso stabile paria 25°C Modificato: 20 novembre 2006 da accacca Link al commento Condividi su altri siti More sharing options...
fabmatt Inserita: 20 novembre 2006 Autore Segnala Share Inserita: 20 novembre 2006 Grazie per queste informazioni, il valore che io leggo, è il valore che mi da il convertitore, perchè avvio la conversione e il valore letto lo mando nel display senza nessuna operazione. La distanza tra il micro e la NTC sarà circa 1.5mPer le altre due cose appena esco da lavoro le controllo. Per il sw, siccome è la prima volta non so se è una cosa errata come ho fatto io, quindi se avete qualche consiglio è ben accettato.Grazie. Link al commento Condividi su altri siti More sharing options...
fabmatt Inserita: 20 novembre 2006 Autore Segnala Share Inserita: 20 novembre 2006 Ho misurato la tensione di alimentazione, 4,83-4,84V, mentre al pindino di ingresso misuro una tensione di 1,156..1,159. E' possibile che questa piccola oscillazione possa influenzare? Il micro dovrebbe sentire variazioni di 0.02V e non di 0.003.Grazie. Link al commento Condividi su altri siti More sharing options...
accacca Inserita: 21 novembre 2006 Segnala Share Inserita: 21 novembre 2006 Ciao fabmattVado a leggermi la doc dell'ST62 e vedo cosa dice sul convertitore A/D poi se ne ricavo qualcosa ne riparliamo. Link al commento Condividi su altri siti More sharing options...
accacca Inserita: 21 novembre 2006 Segnala Share Inserita: 21 novembre 2006 leggo dal datasheetfreq oscillatore > 1.2MHz altrimenti la misura peggiora credo sia ok confermi ?Dice di mettere un'istruzione wait mentre fai conversione per migliorare la precisione della misura hai provato?Solo un input alla volta dev'essere configurato come analog input Devi scrivere il bit STA a 1 e aspettare il bit EOC a 1 prima di leggere il risultato.Io per ora non userei il bit PDS per il basso consumo (Sempre alimentato)e non userei l'interrupt farei un loop con test su EOC per vedere se funziona.Hai visto la formula per caricare la capacità d'ingresso del canale ?Per misure corrette devi garantire che la capacità si carichi alla tensione di misura in 6.5us LQuello che attacchi in ingresso deve avere impedenza 30K. Hai verificato questo ? . Fai una cosa molto semplice se ho capito bene dovrebbe funzionare così:metti l'ingresso di misura in inputaggiungi nop, tanti nop, per raggiugnere un ritardo di 100us/200uspoi fai la conversionevedi se migliora eventualmente aggiugni altri noppoi se funz<iona decidiamo cosa fare Link al commento Condividi su altri siti More sharing options...
fabmatt Inserita: 21 novembre 2006 Autore Segnala Share Inserita: 21 novembre 2006 Questa è la routin di conversione:analog ldi wdog,0feh ldi adcr,00110000Bconv jrr 6,adcr,conv ;Attendi la conversione ld a,addr ;carico il valore in a ld analo,a ;carico il valore nella variabile analo retA questo punto invio il valore analo al displPiù frequente viene chiamata questa routin e più il valore oscilla.(Hai visto la formula per caricare la capacità d'ingresso del canale ?Per misure corrette devi garantire che la capacità si carichi alla tensione di misura in 6.5us LQuello che attacchi in ingresso deve avere impedenza 30K. Hai verificato questo ? . )Questo passaggio non l'ho capito, ma non l'ho letto in nessun libro. Posso sapere dove lo posso trovare per leggere? Grazie. Link al commento Condividi su altri siti More sharing options...
accacca Inserita: 21 novembre 2006 Segnala Share Inserita: 21 novembre 2006 datasheet di un ST62 leggi il paragafo relativo all'AD converterLa prova che ti suggerisco è inutile ma per fugare ogni dubbio io proverei a fare anche cosìmetti PDS= 1 all'inizio una volta per tutte fuori dalla routine di conversione e per far partire la conversione faior ADCR,#00100000B (ho messo or non conosco l'asm dell'st6)oppure se si può set bit,registroPoi non so come devi dichiarare l'input analogico lo lasci sempre configurato così e sempre collegato ? Non fai acquisizioni su più ingressi ? Link al commento Condividi su altri siti More sharing options...
walterword Inserita: 21 novembre 2006 Segnala Share Inserita: 21 novembre 2006 fai come ti dice hh metti una resistenza e vedi se oscilla ancora Link al commento Condividi su altri siti More sharing options...
walterword Inserita: 21 novembre 2006 Segnala Share Inserita: 21 novembre 2006 walterword+21/11/2006, 23:10--> (walterword @ 21/11/2006, 23:10) se poi oscilla ancora fai una media su 5 o 10 campionature e visualizzi quella Campioni ogni 100 ms , scrivi i dati in un buffer e alla fine fai la somma diviso quanti sono , questa e' la media Prova e vediamo cosa succede Link al commento Condividi su altri siti More sharing options...
nnsoxke Inserita: 22 novembre 2006 Segnala Share Inserita: 22 novembre 2006 Se il segnale oscilla con la frequenza della rete potrebbe essere anche una forza elettromotrice indotta da campo magnetico nel circuito della tua resistenza/sensore Link al commento Condividi su altri siti More sharing options...
fabmatt Inserita: 26 novembre 2006 Autore Segnala Share Inserita: 26 novembre 2006 Grazie per i vari consigli, ho risolto il problema apportando modifiche sia harware che software. Con il software ho aggiunti dei nop trasformando la vecchia routin con questa:analog nop res 7,ADCR set 4,ADCR set 5,ADCR nopconv: jrs 6,ADCR,fconv jp convfconv nop nop ld a,adr ld analo,aPer quanto riquarda il circuito, ho preso l'oscilloscopio e mi sono accorco che i 5V non erano propio stabili, ma c'era il picco di tensione, quindi ho aumentato i condensatore e sostituito il 7805 con7806.Ora il valore oscilla di 1 o 2 gradi, quindi con una piccola modifica software non ci dovrebbero essere più problemi.C'è qualcuno che utilizza questo tipo di micro (ST6)?Grazie. Link al commento Condividi su altri siti More sharing options...
pako69 Inserita: 21 febbraio 2007 Segnala Share Inserita: 21 febbraio 2007 Ciao, ho usato questo micro tempo fà. Il problema lo risolvi facendo fare al micro molte letture e poi la media. Visto che il post è di qualche mese fà, dimmi se ancora ti può servire, che ti invio la routine che gli fà fare 32 letture e poi la media.Se non hai bisogno di una grossa precisione puoi andare così, ma se invece vuoi i decimi di grado come serviva a me, ho optato per un convertitore A/D a 12 bit, e come sonda un LM35. Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora