Creare isteresi su lettura ADC

12 Anni 6 Mesi fa #1 da Matteo Garia
Creare isteresi su lettura ADC è stato creato da Matteo Garia
Salve a tutti :)
sto realizzando una sorta di controller per led RGB con pic16 in cui vi è la possibilità di pilotarli tramite potenziometro (ruotandolo cambia i colori)
effettuo la lettura del potenziometro con l'adc usandolo a 10 bit
quello che mi servirebbe è un'idea su come implementare l'isteresi a questo comando

mi spiego meglio:
il mio controller ha diverse modalità di controllo per i led, tra cui una è il potenziometro. Non vi è una priorità su quale sia la modalità più o meno importante, semplicemente l'ultimo comando ricevuto è quello che vale.
essendo la lettura dell'adc piuttosto traballina sui bit meno significativi, il comando tramite potenziometro spesso interferisce con il resto.
inizialmente ho strutturato una cosa di questo tipo:

leggo adc -> confronto con lettura precedente -> se diverso calcolo nuovi colori

ma tale sistema è piuttosto impreciso

provando a fare il confronto eliminando i bit meno significativi le cose migliorano, ma affinchè venga preso un nuovo comando deve per forza esserci una variazione nell'ultimo bit che prendo in considerazione.
Per spiegarmi con un esempio, se elimino 2 bit, la variazione minima che il programma prende in considerazione è di 8.

Quello che vorrei implementare è una funzione di isteresi che al superamento della soglia si "disinserisca" finchè vi è variazione del valore letto, per poi reinserirsi quando il valore rimane stabile per un certo tempo

Idee?

grazie mille
Matteo

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • Matteo Garia
  • Avatar di Matteo Garia
  • Moderator
  • Moderator
Di più
12 Anni 6 Mesi fa #2 da Ale_Pic
Risposta da Ale_Pic al topic Re: Creare isteresi su lettura ADC
Forse non è quello che cerci, ma non sarebbe più facile fare 8 letture e calcolarne la media? Si tratta solo di sommare e poi fare uno shift di 3 posizioni.
In questo modo ottieni una migliore stabilità rispetto ad una sola lettura

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • Ale_Pic
  • Junior Member
  • Junior Member
Di più
12 Anni 6 Mesi fa #3 da Pinna
Risposta da Pinna al topic Re: Creare isteresi su lettura ADC
Ciao. se vuoi un valido, anzi, validissimo esempio di isteresi per pic16, vai sul sito del nostro socio Giovanni Bernardo (www.settorezero.com). Se già non lo sei ti iscrivi e ti studi tutto il validissimo corso per pic 10-12-16 da lui magistralmente tenuto, con tanto di esempi e sorgenti che potrai liberamente scaricare come iscritto. La lezione che ti interessa è la n°11, parte prima e seconda. Spero di esserti stato di aiuto.

Chi vola vale, chi vale vola, chi non vola è un vile

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • Pinna
  • Avatar di Pinna
  • Moderator
  • Moderator
Di più
12 Anni 6 Mesi fa #4 da Matteo Garia
Risposta da Matteo Garia al topic Re: Creare isteresi su lettura ADC
Vi ringrazio entrambi per le risposte, proverò le due soluzioni al più presto ;)

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • Matteo Garia
  • Avatar di Matteo Garia
  • Moderator
  • Moderator
Di più
Moderatori: Mauro LaurentiPinnaStefAMatteo Garia

Registrati al sito

Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.

Registrati al sito LaurTec.

Login