stefano_ Inserito: 14 gennaio 2005 Segnala Share Inserito: 14 gennaio 2005 Salve a tutti,vorrei sapere se è possibile con un pic 16f628 o 16f84 acquisire una frequenza in ingresso compresa tra1 e 500 Hz per esempio e poi in base alla frequenza attivare alcune uscite, per esempio se la frequenza è compresa tra 1 e 150 attivo RB0se invece è compresa tra 150 e 300 attivo RB1.Baseta il PIC o devo utilizzare componenti esterni ( a parte il circuito per acquisire l'onda quadra ) ?Potete darmi una semplice spiegazione di come procedere ??Vi dico la mia cosi mi potete picchiare,mi sembra un pò troppo semplice comunque non si sa mai:acquisisco l'onda quadra su RB0 (per esempio) e poi da programma calcolo la variazione di stato di RB0 nell'arco di tempo di 1 secondo il risultato sarà la frequenza che ho.Quante C _ _ _ _ _ E ho detto con 4 righe ??????Grazie 1000 a tuttiPS. che frequenza di campionamento posso raggiungere con un 16F84 o 16F628 con quarzo da 4Mhz ??? Link al commento Condividi su altri siti More sharing options...
Federico Milan Inserita: 14 gennaio 2005 Segnala Share Inserita: 14 gennaio 2005 Non conosco il pic, ma perchè invece non utilizzi un ingresso a interrupt, ed ogni volta che rilevi il fronte incrementi un contattore, quindi dopo un secondo leggi il contattore e questa è la frequenza misurata!Ovviamente resetterai il contattore una volta letto la frequenza.ciao Link al commento Condividi su altri siti More sharing options...
valerio71 Inserita: 14 gennaio 2005 Segnala Share Inserita: 14 gennaio 2005 Praticamente tutti i microcontrollori hanno a disposizione ingressi abbastanza veloci e timer adeguati all'esigneza che poni.Io non uso granchè i pic per ora viaggio con altri tipi di micro, ma ad esempio con il BX24 puoi mettere un timer che parte al primo fronte d'onda quadra e si ferma al secondo fronte. Misurato il tempo (periodo) hai immediatamente la fequenza (f=1/T) e quindi regolare le scelte via software.Non so come sia un possibile listato con l'assembler del pic ma con comandi basic sono 4 righe contate incluse quelle di assegnazione del pin di ingresso.Buon lavoro Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 14 gennaio 2005 Segnala Share Inserita: 14 gennaio 2005 La cosa più semplice che puoi fare è collegare il tuo segnale all'ingresso interrupt del PIC (RB0 se ricordo bene). Poi con il timer interno generi un interrupt a tempo, con il tempo di durata conveniente 100 ms p.e.l'interrupt HW, del segnale di cui vuoi misurare la frequenza, incrementa un contatore. Quando scade il temporizzatore leggi il contatore, memorizzi il valore, azzeri il contatore. Il valore momorizzato è proprozionale alla frequenza. Se la base tempi è pari a 100 ms basterà moltiplicare il valore per 10. 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