Jump to content
PLC Forum


Sign in to follow this  
Grandegiove

Conversione Ad Instabile Pic18f4620

Recommended Posts

Grandegiove

Buongiorno a tutti,

per chi avesse seguito la discussione precedente sono riuscito a realizzare un protocollo di comunicazione efficiente tra due Pic 18f4620 (alla fine di questo progetto spero di avere il tempo di condividere con voi la mia fatica).

Nell'ambito dello stesso progetto devo relaizzare la conversione A/D di due ingressi analogici:

Il primo ingresso è relativo all'ingresso lineare di un Joystick per la movimentazione di una macchina semovente ed ha un range fra 0 e 5 V.

Il secondo ingresso è invece una tensione per il feedback in corrente di un'elettrovalvola e il range è tra 50mV e 150 mV e utilizzo quindi un Vref (300mV).

La prima conversione va a buon fine: se lascio fermo l'ingresso analogico il risultato è stabile.

La seconda da il risultato esatto rispetto alla Vref ma il risultato non è molto stabile, o meglio: resta stabile ma ogni tot tempo (4-5 secondi) converte un valore errato del 10-15%.

La soluzione più ovvia sarebbe mediare su x valori precedenti:il fatto che anche mediando su 100 valori ho comunque saltuariamente uno scostamento significativo dal valore esatto.

Non vorrei appesantire troppo il ciclo mediando su troppi valori quindi vi chiedo se avete qualche idea rispetto a dove possa essere il problema o se magari è una limitazione intrinseca del convertitore A/D.

Tenente conto che:

- per testare il sistema ho simulato gli ingressi analogici con dei semplici potenziometri e interposto un amplificatore non invertente a guadagno unitario.

- ho provato a variare tempo e frequenza di conversione

- l'alimentazione è ben filtrata (inoltre l'errore non è periodico quindi non credo possa essere un disturbo di rete )

Il codice relativo alla sezione A/D è questo

  symbol selectAN1=ADCON0.CHS0
  symbol vrefAN1=ADCON1.VCFG0

  TRISA=%11111111
  ADCON0=0X01            ' inizialmente abilitato AN0
  ADCON1=0x0D            ' inizialmente Vref=5V    AN0 e AN1 analogici
  ADCON2=0X80            ' right justified


 main:
 while(1)
...
  selectAN1=0   '(superfluo)            'Legge LinJoy
  vrefAN1=0
  linJoy=ADC_Read(0)
     
  selectAN1=1    '(superfluo)             'Legge Vfbk
  vrefAN1=1     
  Vfbk=ADC_Read(1)
  end if

...

end while

Grazie a chiunque avesse qualche idea! happy.gif

Share this post


Link to post
Share on other sites

lelerelele

provo a fare supposizioni.

visto che il segnale che ti da problemi è quello della elttrovalvola, che misuri in corrente, non è che ci possa essere problema di lettura di questa?? come è stata letta? se questa lettura in corrente la vai a preamplificare con un op. pensi che possa migliorare?

occhio alle masse dei vref e delle sorgenti di entrata, non si sa mai.

la tensione di vref, come la hai ottenuta? spero con un generatore di vref alterimenti la tua precisione suppongo che sia gia persa all'inizio.

anche la trensione di alimentazione può influire, ma hai detto che è gia stabilizzata!

proverei a fare delle misure in tensione tra le tue vref e gli ingressi in modo da verificare se effettivamente all'ingresso hai tensioni stabili oppure per qualche motivo non lo sono.

per il software, potresti anche leggere tre valori consecutivi e scartere quello che si discosta maggiormente dagli altri due. (concordo che sia una soluzione di ripiego).

Share this post


Link to post
Share on other sites
Livio Orsini

3 possiibli cause.

1 - alimentazione del potenziometro con sovrapposto rumore.

2 - Vref che varia.

3 - alimentazione amplificatore con rumore.

Prova a filtrare pesantemente con gruppi R-C in serie all'alimentazione: 47 ohm, 0.1uF ceramico, 47 ohm, 100 uF tantalio.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...