sfinge Inserito: 28 dicembre 2005 Segnala Share Inserito: 28 dicembre 2005 Salve a tutti!Vorrei che qualcuno mi desse una dritta in merito a questo:Sto tentando di misurare la velocità di rotazione di un albero motore con encodercalettato, a 5 impulsi giro.Il micro è un pic16f876 ed ho utilizzato il seguentemetodo.Ho impostato Tmr0 con interrupt ogni 65,536Ms per avere una finestra di di tempo dove andare a misurare la quantità di impulsi accumulati dall'encoder.Gli impulsi arrivano su RB0 e registrati dall'evento di interrupt.All'evento interrupt timer memorizzo gli impulsi accumulati all'istante;Sul successivo interrupt timer eseguo la differenza tra il nuovo valore di impulsi registrati e quelli vecchi.Nel Main calcolo i giri/minuto.Esempio calcolo: Con Speed 30% Giri=(8 * 15 * 60) / 5 = 1440 15 è 1000Ms/65,536Ms Riporto la tabella delle misurazione effettuate attraverso oscilloscopio evalori calcolati dal micro.Speed Freq.Hz Punti Enc. Giri/m Giri/m Errore Reali Micro % 20% 32 2 384 360 6,25 30% 122 8 1464 1440 1,6 40% 181 12 2172 2160 0,5 50% 215 15 2580 2700 4,65 60% 240 16 2880 2880 0 70% 256 17 3072 3060 0,3 80% 268 18 3216 3240 0,7 90% 276 18 3312 3240 2,17 100% 288 19 3456 3600 4,16 Come posso avere una precisione maggiore?Forse allargando la finestra del timer?P.S Vorrei non sprecare la risorsa tmr0 impostando lo start timer sul frontedegli impulsi encoder ma continuando a lavorare con il timer in background pereffettuare altre eventuali temporizzazioni.Ciao!! e grazie per l'attenzione. Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 28 dicembre 2005 Segnala Share Inserita: 28 dicembre 2005 Scusa sfinge, ma mi sembra che tu sia un membro dell'UCAS (Ufficio Complicazioni Affari Semplici).Per misurare una velocità, sia essa angolare o lineare, partendo da un encoder è prima di tutto necessario misurare un numero di impulsi significativo. Poi si misura o una frequenza od un periodo. Se vuoi conoscere quanti rpm (rivoluzioni per minuto) fa il tuo albero con un encoder da 5 imp/giro devi prima fissare i limiti minimo e massimo di velocità. Ammettiamo di avere velocità massima 3000 rpm, corrispondenti a 250 Hz con un encoder da 5 imp/giro. Con questa frequnza, corrispondente ad un periodo di 4 ms è conveniente misurare il periodo.Al primo interrupt di RB0 fai partire un timer, p.e. T0; sul successivo RB0 interrupt lo blocchi e lo leggi. Poi, al successivo interupt, riparti da capo con la sequenza. Sfruttando due timer puoi avere la misura del periodo per ogni impulso. L'unica avvertenza è prevedere l'abilitazione dell'interrupt alla scadenza del timer, perchè, con rotazioni a bassa velocità, accade che il timer raggiunga il massimo conteggio e debbe essere ricaricato.Se invece vuoi misurare la frequenza devi stabilire quale è la precisione richiesta. Ammettiamo tu voglia misurare con precisione >=1%. Devi misurare almeno 100 impulsi. Ora devi stabilire quale sarà la minima velocità ancolare misurabile con questa precisione. Tieni presente che con questo encoder devi aprire una finestra di almeno 1" per avere questa precisione con una velocità di 1200 rpm. Infatti 1200/60 = 20 giri/secondo che corrispondono a 100 impulsi. Link al commento Condividi su altri siti More sharing options...
sfinge Inserita: 29 dicembre 2005 Autore Segnala Share Inserita: 29 dicembre 2005 Ciao Livio e grazie della risposta esaudiente ma..vediamo se ho capito.Nel mio caso specifico:Frequenza alla rotazione minore 32 Hz ovvero un'impulso ogni 30Ms circa.Frequenza alla rotazione massima 288Hz ovvero un'impulso ogni 3Ms circa.Primo impulso su RB0 > Programmo TMR0 per overflow a 40MsSecondo impulso su RB0 > Fermo TMR0 > Leggo contenuto di TMR0 > Eseguo differenza fra V impostato eV raggiunto= Tempo trascorso.Esempio Prescaler a 256 TMR0=100 Conteggio raggiunto 212 Tempo trascorso= 112*256=28Ms circa (QUARZO 4Mhz) un giro completo in 28*5=140Ms (7 al Secondo) (428 al minuto).Ho capito bene?Ciao e Buon anno!! Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 29 dicembre 2005 Segnala Share Inserita: 29 dicembre 2005 Sicuramente o io non ho capito cosa vuoi fare o tu non hai compreso come si misura la velocità Se, come ho capito io, vuoi misurare una velocità angolare hai a disposizione due metodologie:1 - misuri la frequenza degli impulsi dell'encoder2 - misuri il periodo tra due impulsi.Con i parametri che dichiari ritengo sia più conveniente la misura del periodo. COme fare? Programmi T0 al massimo, cioè 0xFF, e abiliti l'interrupt di overflow. Sull'interrupt di RB0 abiliti T0, poi aspetti il prossimo interrupt di RB0. Se nel frattempo scade il timer0 sull'interrupt incrementi una variabile. All'arrivo dell'interrupt di RB0 leggi T0 ed il valore raggiunto dalla variabile. Questo ti da il tempo tra i due interupts, da cui ricavi la velocità (basta moltiplicare per una costante). Se usi il prescaler di T0 allunghi il tempo di conteggio massimo, ma la risoluzione sarà inferiore. E' una tua scelta: precisione e complicazioni o semplificazione e perdita di precisione. Link al commento Condividi su altri siti More sharing options...
walterword Inserita: 30 dicembre 2005 Segnala Share Inserita: 30 dicembre 2005 (modificato) qui puoi trovare un scheda encoder per pic ****Tra gli esempi di codice sorgente c`e` anche la scheda encoder con la visualizzazione su lcd ciaowalter Modificato: 30 dicembre 2005 da Gabriele Corrieri Link al commento Condividi su altri siti More sharing options...
elsabz Inserita: 30 dicembre 2005 Segnala Share Inserita: 30 dicembre 2005 qui puoi trovare un scheda encoder per pic **** Link al commento Condividi su altri siti More sharing options...
Matteo Montanari Inserita: 30 dicembre 2005 Segnala Share Inserita: 30 dicembre 2005 (modificato) Chissà quale link tanto scandaloso ha messo walterword per essere censurato in questo modo!?!? Modificato: 30 dicembre 2005 da keosmm Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 30 dicembre 2005 Segnala Share Inserita: 30 dicembre 2005 Perbacco keosmm, hai fatto tutto il lavoro che toccava ad un moderatore! Alla prima occasione ti offro una birra .Tralasciando le battute scherzose keosmm ha spiegato chiaramente i motivi. Dispiace la censurare l'amico Walter (tra l'altro non ha neanche scritto parolacce) che sicuramente è in buona fede, ma se passa per lui dopo ce ne sono altri dieci che pretendono (giustamente) il medesimo trattamento.Per i curiosi: basta cercare un poco nel forum microprocessori e quella scheda la si trova, è roba buona (per forza c'è anche il mio contributo )Buon 2006 a tutti Link al commento Condividi su altri siti More sharing options...
alanel Inserita: 30 dicembre 2005 Segnala Share Inserita: 30 dicembre 2005 Uhmmm !!!Se metto un link a SIEMENS va tutto bene ; se metto un link a PincoPallinoElettronica NO !!!OK basta saperloBuon Anno a tutti Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 30 dicembre 2005 Segnala Share Inserita: 30 dicembre 2005 Se metto un link a SIEMENS va tutto bene ; se metto un link a PincoPallinoElettronica NO !!! Link al commento Condividi su altri siti More sharing options...
alanel Inserita: 30 dicembre 2005 Segnala Share Inserita: 30 dicembre 2005 Non intendo fare polemica e non mi interessa assolutamente sapere come realizzare una scheda encoder con un pic ( la so fare da solo ) ; credo però che il mio QI valga , almeno, tanto quanto il TUO SALUTI Link al commento Condividi su altri siti More sharing options...
Gabriele Corrieri Inserita: 30 dicembre 2005 Segnala Share Inserita: 30 dicembre 2005 CiaoVediamo se riesco a dire quanto Keos e Livio hanno detto in altro modo ...Se venditore di auto vendo Fiat (esempio) è ritenuta pubblicità che mi frutta guadagno se dico che Fiat va benissimo, e che puoi trovare auto Fiat presso il mio concessionario ...Se mi limito a dire che Fiat va benissimo non è pubblicità, intesa come una cosa che mi produce guadagno personale, perchè non è detto che tu venga a comprare Fiat da me. Il discorso "pubblicità" all'interno dello staff è riassumibile così: se il post reca per l'autore un guadagno diretto allora è pubblicità (Walter ha pubblicizzato un link di un sito riconducibile alla sua persona fisica, dove si vende materiale), diverso sarebbe se Walter avesse pubblicizzato un encoder particolare o un modello di microcontroller particolare ... che lui non vende e quindi dalla cui cosa non ne ricava guadagno ...Lo so che a volte il limite è molto stretto, anche perchè ci sono casi meno plateali, che richiedono tempo e pazienza per cercare a chi è riconducibile il sito e chi è l'utente che si cela dietro al nickname ... e qualcosa può passare inosservato, vuoi per tempo, stanchezza a vedere centinaia di post al giorno ... e difatti è gradita la segnalazione di utenti che indichino che il tal utente suggerisce sempre la tal marca, o altro.D'altro canto PLCForum è aperta alle aziende che vogliano far conoscere e supportare i loro prodotti nel forum aziende: in tal caso l'utente è autorizzato a pubblicare pubblicità di prodotti che commercializza, e nel proprio nickname è presente l'azienda che rappresenta, in modo che sia chiara e netta la differenza.Ciao Link al commento Condividi su altri siti More sharing options...
walterword Inserita: 31 dicembre 2005 Segnala Share Inserita: 31 dicembre 2005 ci sono nomi di ditte che son sconosciute eppure pubblicate , italiane ed estere .Non ho mai fatto pubblicita` occulta , era solo un link utile come altri mille che esistono sul forum Questa e` la ricerca e sviluppo nel ns paese Mi fate troppo ridere Link al commento Condividi su altri siti More sharing options...
walterword Inserita: 31 dicembre 2005 Segnala Share Inserita: 31 dicembre 2005 (modificato) siete troppo forti dovreste promuovere le iniziative dei giovani italiani altrimenti la ns economia tra non molto sara` un disastro Comunque per vs. conoscenza , le mie fonti di guadagno non derivano da queste schede , ma nel programmare reti di plc s7-400 , essere responsabile di automazione con collaboratori di diversi paesi , essere responsabile di hmi , strumenti ect , per una grossa multinazionaleed in diverse parti del mondo .Era solo un link interessante ed utile per chi sviluppa e ricerca Modificato: 31 dicembre 2005 da walterword Link al commento Condividi su altri siti More sharing options...
Dario Valeri Inserita: 19 gennaio 2006 Segnala Share Inserita: 19 gennaio 2006 ciao Walter!!ti sei rifatto vivo vedo... scrivo solo per correggere una tua affermazione....l'economia e' gia' un disastro.... ciao a tutti... Link al commento Condividi su altri siti More sharing options...
aduri Inserita: 19 gennaio 2006 Segnala Share Inserita: 19 gennaio 2006 Non si evitava tutto "facendo meno fumo" spedendo un PM? Link al commento Condividi su altri siti More sharing options...
walterword Inserita: 21 gennaio 2006 Segnala Share Inserita: 21 gennaio 2006 se vuoi ti invio il sito in privato ma e` facile che anche in questa maniera sia bannato o censurato 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