batta Inserita: 22 gennaio 2007 Segnala Inserita: 22 gennaio 2007 (modificato) Vediamo se riusciamo a fare un pò di ordine.Vmax = 200 mmRampa Acc. = 2 sRampa Dec. = 3 sCorsa 150 mmEssendo (almeno a livello teorico) un moto uniformemente accelerato con partenza da fermo, potresti calcolare la lunghezza delle rampe di accelerazione e di decelerazione semplicemente considerando la velocità media moltiplicata per il tempo di accelerazione (decelerazione).Con i dati da te forniti avresti quindi bisogno di 100 * 2 = 200 mm per accelerare, e di 100 * 3 = 300 mm per decelerare (100 = velocità media).Questo è lo stesso risultato che ottieni applicando la formula s = 1/2 * a * t^2 e calcolando l'accelerazione a.Infatti in accelerazione avresti:a = v / t = 200 / 2 = 100 mm/s^2ed in decelerazionea = v / t = 200 / 3 = 66.667 mm/s^2La rampa di accelerazione sarebbe quindi lungas = 0.5 * 100 * 2^2 = 200 mme quella di deceleraziones = 0.5 * 66.667 * 3^2 = 300 mm.Quello che salta immediatamente all'occhio è che le rampe sono più lunghe della corsa totale, quindi non potrai, con una corsa così breve, arrivare alla velocità massima.Se decidi di usare il sistema da me suggerito (tieni presente che gli altri sono assolutamente equivalenti) potresti procedere nel seguente modo:1) l'accelerazione è comodo gestirla con incrementi fissi di velocità ad intervalli fissi di tempo (con tempo sufficientemente breve da non creare gradini)2) considera che se sei ad una distanza dalla quota target inferiore a 300 mm sei già nella zona di decelerazione, ma nell'esempio quando sei a 150 mm dalla quota finale sei di fatto ancora fermo e devi quindi accelerare.3) calcoli in continuo la velocità con la formula v = SQRT(2as), e la assumi come velocità limite.Facciamo un esempio con i numeri, e vediamo cosa succederebbe istante per istante:t = 0 secondispazio percorso = 0 mmvelocità = 0 mm/sdistanza da target = 150 mmVelocità calcolata da funzione rampa decelerazione: v = SQRT(2as) = SQRT(2*66.667*150) = 141.42 mm/sVelocità reale = 0 mm/st = 0.5 sVelocità (rampa accelerazione): v = a*t = 100*0.5 = 50 mm/sSpazio percorso: s = 1/2 *at^2 = 0.5 * 100 * 0.5^2 = 12.5 mmDistanza da target = 150 - 12.5 = 137.5 mmVelocità calcolata da funzione rampa decelerazione = SQRT(2*66.667*137.5) = 135.40 mm/sSei ancora in accelerazione. Velocità = 50 mm/st = 1.0 sVelocità (rampa accelerazione): v = a*t = 100*1.0 = 100 mm/sSpazio percorso: s = 1/2 *at^2 = 0.5 * 100 * 1.0^2 = 50 mmDistanza da target = 150 - 50 = 100 mmVelocità calcolata da funzione rampa decelerazione = SQRT(2*66.667*100) = 115.47 mm/sSei ancora in accelerazione. Velocità = 100 mm/st = 1.09545 sVelocità (rampa accelerazione): v = a*t = 100*1.09545 = 109.545 mm/sSpazio percorso: s = 1/2 *at^2 = 0.5 * 100 * 1.5^2 = 60 mmDistanza da target = 150 - 60 = 90 mmVelocità calcolata da funzione rampa decelerazione = SQRT(2*66.667*90) = 109.545 mm/sHai raggiunto il punto in cui dovrai iniziare a decelerare. Velocità = 109.545 mm/sIl bello (secondo me) di questo metodo è che non hai bisogno di fare tanti calcoli per definire dove finisce l'accelerazione, dove comincia la decelerazione, se riuscirai o meno a raggiungere la velocità massima.Ti basta gestire la rampa di accelerazione con incrementi fissi e calcolare la velocità in decelerazione in base alla distanza dal target. Prendi sempre il valore più basso ed hai risolto il problema. Modificato: 22 gennaio 2007 da batta
Livio Orsini Inserita: 22 gennaio 2007 Segnala Inserita: 22 gennaio 2007 (modificato) ti sarei grato se mi potresti indicare dove sbaglio il passaggio per il calcolo dell'equazioneleggi le mie risposte e confronta i miei conti: ti sarà chiaro dove sono le differenze. Il tempo di aaccelerazione di 3" vale per velocità da 0 a 200mmsec. Ma se percorri solo 75mm non raggiungi la velocità di 200msec. Ecco perchè devi ricavarti il tempo in cui, con accelerazione costante, raggiungi la quota di 75mm. Quel tempo determina anche la velocità max raggiunta.Batta il tuo metodo è simile a quello che uso io, anzi forse se confrontassimo il codice scopriremmo che è quasi identico.Il problema di fondo è che, probabilmente, "pineto" non ha molta dimestichezza con le leggi che regolano il moto, quindi gli riesce un poco ostico comprendere il sistema. Modificato: 22 gennaio 2007 da Livio Orsini
pineto Inserita: 22 gennaio 2007 Autore Segnala Inserita: 22 gennaio 2007 Batta ti ringrazio dell’aiuto.Se ho capito bene la velocita si calcola in ogni istante che vado ad incrementare la rampa di accelerazione,dove ad ogni istante che vado ad incrementare ciorrisponde una velocita virtuale e nel momentoche che la velocita reale è uguale a quella virtuale indipendentemente se sono arrivato o meno al tempo di accelerazione inizio ad effettuare la decelerazione.Alcune cose non mi sono chiare,Nella formula del calcolo della velocita “Spazio percorso: s = 1/2 *at^2 = 0.5 * 100 * 0.5^2 = 12.5 mm”per calcolarmi lo spazio percorso non sarebbe piu semplice azzerare la quota l’encoder alla partenza e avere all’istante lo spazio percorso.Dal momento che ho la possibilita di azzerare l’encoder alla partenza?Nella formula del calcolo della velocita “Velocità (rampa accelerazione): v = a*t = 100*0.5 = 50 mm/s”Per calcolarmi la velocita fisica dell’asse non è piu semplice calcolarla con l’encoder direttamente sull’asse?Spero di essere stato chiaro e di aver afferrato il concetto che hai esposto nel messaggio di primaPer livioIl problema di fondo è che, probabilmente, "pineto" non ha molta dimestichezza con le leggi che regolano il moto, quindi gli riesce un poco ostico comprendere il sistema.Livio in effetti non ho molta dimestichezza nelle leggi del moto è la prima volta che mi cimento in queste applicazione,per tanto volgiate scusarmi per la mia scarsa conoscena della materiaGrazzie mille
Livio Orsini Inserita: 22 gennaio 2007 Segnala Inserita: 22 gennaio 2007 ..per tanto volgiate scusarmi per la mia scarsa conoscena della materia"pineto" non hai niente di cui scusarti, l'ignoranza non ne un peccato ne un reato, anzi avere l'umiltà di riconoscere i propri limiti è un grande pregio. proprio per questo sto cercando di aiutarti a chiarirti le idee dal punto di vista teorico. La strategia proposta da Batta è antica e collaudata, si usava (almeno io la usavo) ancora quando si dosponeva solo di sitemi esclusivamente cablati. Offre il grandissimo vantaggio di non dover fare calcoli in linea. Puoi usare, come unità di misura, gli impulsi di encoder. In effetti io faccio proprio così
batta Inserita: 22 gennaio 2007 Segnala Inserita: 22 gennaio 2007 Nella formula del calcolo della velocita “Spazio percorso: s = 1/2 *at^2 = 0.5 * 100 * 0.5^2 = 12.5 mm”per calcolarmi lo spazio percorso non sarebbe piu semplice azzerare la quota l’encoder alla partenza e avere all’istante lo spazio percorso.Dal momento che ho la possibilita di azzerare l’encoder alla partenza?Non è che sarebbe più semplice, semplicemente devi fare riferimento unicamente alla lettura dell'encoder.Il calcolo dell'esempio serviva solo per fotografare la situazione teorica in alcuni istanti.Nella formula del calcolo della velocita “Velocità (rampa accelerazione): v = a*t = 100*0.5 = 50 mm/s”Per calcolarmi la velocita fisica dell’asse non è piu semplice calcolarla con l’encoder direttamente sull’asse?Per la rampa di accelerazione non c'è bisogno di fare nessun calcolo. Si deve solamente incrementare il valore di riferimento ad intervalli fissi.Per esempio, per ottenere una rampa da 0 a 100% in 2 secondi potresti incrementare del 2.5% ogni 50 ms, o (meglio) del 1% ogni 20 ms, oppure (ancora meglio) dello 0,5% ogni 10 ms.Un'altra soluzione potrebbe essere quella di impostare la rampa di accelerazione nell'inverter. Quando devi partire dai immediatamente il riferimento massimo possibile (compatibilmente con la quota attuale) e ti trovi così a dover gestire solo il calcolo della rampa di decelerazione.Livio, la formula di partenza è una sola, quindi i metodi difficilmente saranno molto diversi. Io ho descritto il mio metodo non per sostenere che sia il migliore, ma semplicemente perché è quello che uso abitualmente
Livio Orsini Inserita: 22 gennaio 2007 Segnala Inserita: 22 gennaio 2007 Io ho descritto il mio metodo non per sostenere che sia il migliore, ma semplicemente perché è quello che uso abitualmenteIo sono invece dell'avviso che lo sia se no non louserei (la mia autostima è molto alta).Scherzi a parte, io questo strategia l'ho scoperta più di 30 anni fa quando mi documentai per realizzare il mio primo posizionatore, tutto HW ovviamente. Ho ancora ingiro gli schemi di una versione che avevo pubblicato su di una rivista di automazione (anno 1976 circa)
pineto Inserita: 22 gennaio 2007 Autore Segnala Inserita: 22 gennaio 2007 Livio il calcolo di batta dato il suo penultimo messaggio mi sembra piu tosto chiaro sembra un calcolo molto semplice anche se è di vecchia data,mi piacerebbe capire molto bene anche il tuo metodo di calcolo,il problema è che ho grandi difficolta ad apprenderlo.Se non ti chiedo troppo me lo potresti esporrere allo stesso modo di quello di battal'ignoranza non ne un peccato ne un reato, anzi avere l'umiltà di riconoscere i propri limiti è un grande pregioAnche se sto facendo una pessima figura il mio pensiero e che ne esco a testa alta,perche so che in fin dei conti ho imparato un qualcosa davvero utile.Grazzie mille
walter.r Inserita: 23 gennaio 2007 Segnala Inserita: 23 gennaio 2007 Anche se sto facendo una pessima figura....Pineto , dai retta, non preoccuparti di questo, non è vero .Nessuna delle persone che ti stanno aiutando è nata conoscendo già le leggi del moto accelerato.Semplicemente, si impara. Con curiosità.Quando avrai risolto il tuo problema, sarai una persona migliore, perchè più consapevole dei propri mezzi.E' solo così che si cresce.Ci siamo passati tutti.........
Livio Orsini Inserita: 23 gennaio 2007 Segnala Inserita: 23 gennaio 2007 Anche se sto facendo una pessima figura....Assolutamente no! Anzi. Stai facendo la figura di una persona che, non conoscendo una cosa, cerca di impararla con tanta buona volontà. Per me questa è un'ottima figura. A meno che tu dopo ci racconti che hai una laurea di secondo livello in ingegneria In quanto al metodo il mio e quello di Batta sono praticaemnte identici.Quello che ho esposto sino ad adesso soni le leggi, e le relative eqauzioni, del moto uniformemente accelerato. Il metodo che applichiamo io e Batta trae origine da queste leggi, non potrebe essere altrimenti.Tu hai un problema. Per risolverlo avrei potuto dirti: "Vai alla sezione didattica, c'è il mio tutorial sui controlli, negli esempi allegati al capitolo 6 c'è anche un posizionatore con S7-200, usa quel codice". Io però sono convinto che non sia corretto rispondere solo in questo modo. Sono convinto che bisogna dare anche le informazioni necessarie affinchè uno comprenda anche come si fa; facevo così anche con i miei collaboratori: ho sempre cercato di portarli alla soluzione dle problema passo dopo passo, anche se è molto più rapido dargli la soluzione direttamente.Ora io ti consiglierei di leggere, magari su wilkipedia, le poche righe che spiegano le equazioni sul moto. Poi, se vuoi, puoi leggere il mio tutorial; nel capitolo 6 c'è una sezione che tratta i posizionamenti e spiega anche questo tipo di approccio per le accelerazioni.
walter.r Inserita: 23 gennaio 2007 Segnala Inserita: 23 gennaio 2007 Io però sono convinto che non sia corretto rispondere solo in questo modo. Sono convinto che bisogna dare anche le informazioni necessarie affinchè uno comprenda anche come si fa....Livio , qualcuno disse : " Se incontri chi ha fame, non donargli un pesce, ma insegnagli a pescare...!"
pineto Inserita: 23 gennaio 2007 Autore Segnala Inserita: 23 gennaio 2007 A meno che tu dopo ci racconti che hai una laurea di secondo livello in ingegneriaAssolutamente no!Comunque seguiro il tuo consiglio e mi andro immediatamente a documentare,non appena finisco il proggetto e l'avro collaudato in macchina vi faro sapere i risultatiGrazzie mille
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