roberto8303 Inserito: 1 gennaio 2011 Segnala Inserito: 1 gennaio 2011 Ragazzi devo misurare il tempo impiegato da un braccio pneumatico per aprirsi e chiudersi. la sua corsa è di circa 3cm, ho pensato di costruire una staffa con due proximity uno di fronte all altro regolabili con dei dadi. Per quanto riguarda la cpu 200 cè gia qualche funzione che misura il tempo tra la disattivazione del primo proximity e l attivazione di quello opposto? avevo pensato di farlo anche con un encoder...cioe misurare in quanto tempo avviene la variazione di impulsi da 0 a X , ma meccanicamente montare un encoder sul braccio è piu complicato...Comunque Buon Anno a tuttiiii!!!
Livio Orsini Inserita: 1 gennaio 2011 Segnala Inserita: 1 gennaio 2011 Van bene due proximities, collegati a due ingressi veloci ad interrupts. Poi dipende dalla precisione e dalla risoluzione. Potresti attivare un timer sul primo interrupt e leggerlo sul secondo. Oppure leggere l'orologio di sisitema sia sul primo che sul secondo. Potresti anche collegare un oscillatore quarzato ad un HCT , con il primo interrupt lo fai partire, lo fermi con il secondo e leggi il valore. Queste 3 soluzioni hanno differenti precisioni e risoluzioni, dipende da cosa ti serve.
roberto8303 Inserita: 1 gennaio 2011 Autore Segnala Inserita: 1 gennaio 2011 ciao Livio,devo semplicemente sapere tra due pistoni quali dei due è il piu veloce a terminare il movimento.quindi scartare il piu lento. Ad occhio secondo me ci impiegano meno di un secondo questa è piu o meno la grandezza da misurare.
Livio Orsini Inserita: 1 gennaio 2011 Segnala Inserita: 1 gennaio 2011 Partono assieme? Se riesci a fare in modo che partano assieme ti basta rilevare qaule proximity è stato impegnato per primo.
roberto8303 Inserita: 1 gennaio 2011 Autore Segnala Inserita: 1 gennaio 2011 no, sono due tipi diversi,siccome solo un pistone deve comandare un cambio meccanico, devo sapere quale dei due innesta la marcia piu velocemente, anche per pochi ms di differenza.quindi prima se ne monta uno e si misura il tempo, poi l altro.
roberto8303 Inserita: 2 gennaio 2011 Autore Segnala Inserita: 2 gennaio 2011 allora, ho creato un interrput a tempo con base di 1ms scritto in smb34, ogni 1ms sommo 1 nell interrupt quando disattivo i0.0 e attivo i0.1 cioe cosiLD SM0.0AN I0.0AN I0.1+I 1, VW0è giusto? oppure avro dei ritardi? cè un altro modo piu preciso che posso usare? e poi non cè un bit che rileva il tempo di transizione di un ingresso, ho visto che cè la tabella per filtrare il tempo di lettura...
JumpMan Inserita: 2 gennaio 2011 Segnala Inserita: 2 gennaio 2011 (modificato) Non credo che la cpu riesca ad elaborare una interrupt ciclica con tempi così brevi, poi dipende da che cpu, da quanto grande è il programma e da quante istruzioni metti dentro la interrupt.Per calcolare il tempo puoi invece usare le funzioni BGN_ITIME e CAL_ITIME spiegate a pag 226 di questo manualeSu interrupt del 1° finecorsa inizializzi il BGN_ITIME, su interrupt del 2° finecorsa calcoli il tempo trascorso con CAL_ITIME (poi sposti il risultato su una altra dword)L'interrupt I/O è spiegato a pagina 179 e c'è un piccolo esempio a pag.182A pag.181 c'è una tabella da cui desumi i codici associati alle varie INT (nel tuo caso usi i codici da 0 a 7 per attivare i fronti degli ingressi)p.es. ATCH INT_0, 1 significa: Definisci la routine di interrupt INT_0 come interrupt di fronte di discesa per I0.0mentre ATCH INT_1, 2 significa: Definisci la routine di interrupt INT_1 come interrupt di fronte di salita per I0.1 Modificato: 2 gennaio 2011 da JumpMan
Livio Orsini Inserita: 2 gennaio 2011 Segnala Inserita: 2 gennaio 2011 (modificato) Roberto la tua soluzione è poco efficiente; meglio quella proposta da Gianpiero Menel. Però io, da come hai esposto il problema, son propenso a credere che non sia sufficientemente precisa. C'è il rischo che, facendo 10 misure consecutive, tu ottenga non solo 10 valori differenti (sarebbe normale), ma anche differenti "vincitori" nella corsa tra i due pistoni.Se non ricordo male il contatore veloce accetta 20Khz che equivalgono ad un periodo di 50 us. Potresti usare unclock esterno a questa frequenza, magari derivato da un oscillatore quarzato, e fotografare il contatore sugli interrupts dei 2 proximities. La risoluzione aumenterebbe di 20 volte, la precisione sarebbe sicuramente migliore. Modificato: 2 gennaio 2011 da Livio Orsini
JumpMan Inserita: 2 gennaio 2011 Segnala Inserita: 2 gennaio 2011 (modificato) Livio, mettendo al minimo il filtro degli ingressi (vedi pag.61) perdiamo solo 0.2ms sull'elettronica, le funzioni ITIME sono basate sul contatore interno con risoluzione 1ms, tuttavia credo anch'io che si ottengano misure diverse ma a causa della non ripetitività della meccanica, della pneumatica, e dei proximity piuttosto che del sistema di misura...fermo restando quanto scritto qua sopra (lo avevo scritto sopra prima che tu aggiungessi:Se non ricordo male il contatore veloce accetta 20Khz che equivalgono ad un periodo di 50 us. Potresti usare unclock esterno a questa frequenza, magari derivato da un oscillatore quarzato, e fotografare il contatore sugli interrupts dei 2 proximities. La risoluzione aumenterebbe di 20 volte, la precisione sarebbe sicuramente migliore.)Questa è una bella idea per aumentare la risoluzione! C'è sempre qualcosa da imparare! Non si è ancora capita bene la grandezza da misurare si parla di meno di 1sec, potrebbe essere 900ms come 1ms Casomai roberto può provare la prima soluzione e se non è soddisfacente ricorre al clock esterno. Modificato: 2 gennaio 2011 da JumpMan
roberto8303 Inserita: 2 gennaio 2011 Autore Segnala Inserita: 2 gennaio 2011 Sono daccordo, faro come mi consigliate usero la funzione cal time, Livio una volta gia mi hai suggerito un oscillatore quarzato per realizzare un multanova...autovelox...poi non avendo tempo non lo ho piu realizzato, ora mi sarebbe tornato utile!! comunque va bene anche come mi avete suggerito,è una cosa che serve urgente, cè una corsa da fare...e poi un cambio di una f430 impiega circa 60ms per una cambiata, quindi se riesco a misurarne 50 va piu che bene per una auto da pista.un altra cosa, ma quando visualizzo un dato sulla tabella di stato con l andamento nel tempo, poi voglio stampare il grafico come si fa?? facendo anteprima di stampa non vedo il grafico.
JumpMan Inserita: 2 gennaio 2011 Segnala Inserita: 2 gennaio 2011 (modificato) e poi un cambio di una f430 impiega circa 60ms per una cambiata, quindi se riesco a misurarne 50 va piu che bene per una auto da pistaAzz...Vuoi dire che hai un cambio migliore di quello di una f430 ? ma quando visualizzo un dato sulla tabella di stato con l andamento nel tempo, poi voglio stampare il grafico come si fa?? facendo anteprima di stampa non vedo il grafico.Non posso risponderti perchè non ho qui il software (fortunatamente sono in ferie )Tuttalpiù se non riesci premi il tasto ([ALT]) [stamp] e poi incolla su un editor grafico qualsiasi (o anche su word). Modificato: 2 gennaio 2011 da JumpMan
roberto8303 Inserita: 3 gennaio 2011 Autore Segnala Inserita: 3 gennaio 2011 Vuoi dire che hai un cambio migliore di quello di una f430 ?non lo so, la macchina non è mia è un prototipo da pista tipo formula 3, comunque io devo solo misurare la corsa del braccio che innesta la marcia, la f430 nei 60ms per quello che so disinnesta cambia marcia e innesta di nuovo la frizione...ed è un piacere sentire la cambiata...! Comunque ho usato le funzioni che mi hai indicato ed è tutto ok! aspetto solo di provare..., io con due pulsanti e con un dito piu veloce di 90ms non riesco a fare!
Livio Orsini Inserita: 3 gennaio 2011 Segnala Inserita: 3 gennaio 2011 Livio, mettendo al minimo il filtro degli ingressi (vedi pag.61) perdiamo solo 0.2ms sull'elettronica,Non sono i filtri a creare una non ripetibilità apprezzabile. Il ritardo se è costante e praticamente uguale sui 2 ingressi, non influisce sulla ripetibilità della misura. E' piuttosto la risoluzione di 1 ms, potresti misurare il medesimo ritardo con differenze di quasi 1 ms, secondo di dove scade il conteggio.Comunque con tempi di circa 60ms l'errore, dovuto alla risoluzione, è > 2%; diciamo che l'errore totale sarà inferiore al 5%, più che accettabile per una simile misura.Questa è una bella idea per aumentare la risoluzione!L'ho usata qualche volta, specie con contatori più veloci, quando mi necessitavano precisioni e risoluzioni più elevate.
JumpMan Inserita: 3 gennaio 2011 Segnala Inserita: 3 gennaio 2011 potresti misurare il medesimo ritardo con differenze di quasi 1 msSì, è il famoso +/- 1 digit, in questo caso 1 digit è 1ms.Non sono convinto invece, come ho detto prima, della ripetitività della meccanica e della pneumatica.
roberto8303 Inserita: 4 gennaio 2011 Autore Segnala Inserita: 4 gennaio 2011 si infatti anch io sono convinto che un errore di ripetibilita meccanica ci sara è inevitabile,primo perche la pressione atmosferica nel serbatoio non è sempre la stessa, mano mano che scende la spinta del pistone sara meno forte. Poi invece per le leve non credo che ci siano problemi, se cè gioco meccanico sara sempre lo stesso.Infatti pensavo ad un altro sistema che non sia pneumatico, anche un attuatore elettrico ma mi hanno detto che ci sono stati problemi con le batterie. Poi un altra cosa che vorrei sapere è se cè un elettrovalvola ad aria che apre molto piu velocemente di una tradizionale.
Livio Orsini Inserita: 4 gennaio 2011 Segnala Inserita: 4 gennaio 2011 Non sono convinto invece, come ho detto prima, della ripetitività della meccanica e della pneumatica.Ma questo è oggetto della misura.
busanela Inserita: 4 gennaio 2011 Segnala Inserita: 4 gennaio 2011 vorrei sapere è se cè un elettrovalvola ad aria che apre molto piu velocemente di una tradizionaleFesto
roberto8303 Inserita: 4 gennaio 2011 Autore Segnala Inserita: 4 gennaio 2011 GRazie busanela! ah ma come è il tuo nome?
busanela Inserita: 4 gennaio 2011 Segnala Inserita: 4 gennaio 2011 ma come è il tuo nome?Sono i postumi degli eccessi durante le feste? E' scritto sotto, in fondo ai miei post!
roberto8303 Inserita: 4 gennaio 2011 Autore Segnala Inserita: 4 gennaio 2011 Sono i postumi degli eccessi durante le feste? figurati non ci avevo mai fatto caso!!!
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