- Messaggi: 144
- Ringraziamenti ricevuti 3
interrupt sul comparatore
10 Anni 8 Mesi fa #1
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.
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
- Autore della discussione
- Premium Member
Riduci
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
Ho ripristinato le vecchie HITech e ora va. Scusate il disturbo
Si prega Accedi o Crea un account a partecipare alla conversazione.
- Chuck_Norris
- Autore della discussione
- Premium Member
Riduci
Di più
- Messaggi: 144
- Ringraziamenti ricevuti 3
10 Anni 8 Mesi fa #3
da Mauro Laurenti
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.
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.
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:
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?
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
- Autore della discussione
- Premium Member
Riduci
Di più
- Messaggi: 144
- Ringraziamenti ricevuti 3
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
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.
Moderatori: Mauro Laurenti, Pinna, StefA, Matteo Garia
Registrati al sito
Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.
Login
© LaurTec 2006 - 2024