interrupt sul comparatore

10 Anni 8 Mesi fa #1 da Chuck_Norris
interrupt sul comparatore è stato creato da Chuck_Norris

Rendering Error in layout Message/Item: array_keys(): Argument #1 ($array) must be of type array, null given. Please enable debug mode for more information.

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

  • Chuck_Norris
  • Avatar di Chuck_Norris
  • Premium Member
  • Premium Member
Di più
10 Anni 8 Mesi fa #2 da Chuck_Norris
Risposta da Chuck_Norris al topic interrupt sul comparatore
ho risolto.... sono 2 giorni che ci sbattevo la testa ma il programma funzionava alla grande solo che per non so quale motivo non eseguiva le librerie del delay (tra l'altro quelle presenti nel rar laurtec) quindi non vedevo nessun lampeggio del led anche se effettivamente lampeggiava!

Ho ripristinato le vecchie HITech e ora va. Scusate il disturbo

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

  • Chuck_Norris
  • Avatar di Chuck_Norris
  • Premium Member
  • Premium Member
Di più
10 Anni 8 Mesi fa #3 da Mauro Laurenti
Risposta da Mauro Laurenti al topic interrupt sul comparatore

Rendering Error in layout Message/Item: array_keys(): Argument #1 ($array) must be of type array, null given. Please enable debug mode for more information.

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

  • Mauro Laurenti
  • Avatar di Mauro Laurenti
  • Moderator
  • Moderator
Di più
10 Anni 8 Mesi fa - 10 Anni 8 Mesi fa #4 da Chuck_Norris
Risposta da Chuck_Norris al topic interrupt sul comparatore
Si, il problema era proprio lì, grazie! Ero abituato alle altre librerie e non ci ho fatto caso.

Ora però ho un altro problema fastidioso. Ho un interrupt non voluto ogni volta che accendo il circuito e uno subito dopo un evento di interrupt dovuto alla reale causa. Il primo non mi da noie, il secondo parecchie.

Sul datasheet è scritto questo:

Although a comparator is disabled, an interrupt can be generated by changing the output polarity with the CxPOL bit of the CMxCON0 register, or by switching the comparator on or off with the CxON bit of the CMxCON0 register.


ma non dice nulla sull'accensione e sullo spegnimento dei bit di interrupt come GIE o C1IE.
Purtroppo ho problemi di spazio e non riesco a mettere più di un filtro in cascata. Sto lavorando con un sallen-key attivo del secondo ordine e con un amplificazione in banda di 20 volte realizzato con l'op amp del pic ma non posso andare oltre. Questo è il segnale proveniente dal motore in DC che devo elaborare e come potete vedere è ultra rumoroso. Lo scopo del programma è rilevare queste oscillazioni, contarle ed eventualmente staccare il motore quindi un interrupt in più o in meno mi fa differenza!



Nel mio programmino provo a disabilitare gli interrupt durante il processamento del segnale per avere un ulteriore filtro contro eventuali spike ma a questo punto devo trovare una soluzione alternativa.
Utilizzare i timer? ma se ho dei disturbi in uscita del comparatore non mi si incasina la routine di interrupt?
Ultima Modifica 10 Anni 8 Mesi fa da Chuck_Norris.

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

  • Chuck_Norris
  • Avatar di Chuck_Norris
  • Premium Member
  • Premium Member
Di più
10 Anni 8 Mesi fa #5 da Mauro Laurenti
Risposta da Mauro Laurenti al topic interrupt sul comparatore
Ciao Chuck,

prima di abilitare le interruzioni dopo un power up, azzera il flag delle interruzioni per evitare che interruzioni pendenti non causino interrupt subito.

Accertati inoltre che l´alimentazione del PIC sia pulita e non rumorosa.
Picchi di tensione sull´alimentazione possono causare dei reset.

Saluti,

Mauro

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

  • Mauro Laurenti
  • Avatar di Mauro Laurenti
  • 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