LoSa Inserito: 22 settembre 2020 Segnala Share Inserito: 22 settembre 2020 Buongiorno a tutti, Per un progetto che sto sviluppando, ho la necessità di fare un controllo di posizione su di un motore brushless che muove un carrello tramite una puleggia. Per movimentare il motore avevo pensato di muoverlo sfruttando il profilo di velocità del drive, e gestire io nel controllo la chiusura dell'anello di posizione,il Drive è un Hiwin D2 da 400W(Rispetta il Cia402 come standard) con collegato un motore 3000rpm 131072 count/rev, e il controllo viene fatto da una Runtime Codesys RTE installata su di un PC con I3-4005u 2Core/4Thread, per il posizionamento uso un generatore di rampa che tiene conto delle distanze tra il punto di partenza ed il punto di arrivo, in pratica determina l'inclinazione delle rampe e il profilo triangolo o trapezio a seconda della lunghezza del tratto che l'asse deve compiere. Il posizionatore funziona, almeno in altre applicazioni già provato e collaudato, ma in questa specifica applicazione vado quasi sempre lungo rispetto al target, a volte torno indietro a volte chiudo il posizionamento ma se confronto la posizione dell'asse a fine posizionamento ed il target non rimango nell'offset prefissato, io sto pensando che sia dovuto ad un jitter o ad un tempo ciclo ma non penso in quanto rimango nell'ordine dei microsecondi, comunque lascio screen in allegato dei tempi ciclo, qualche consiglio su come poter andare avanti, magari migliorando il posizionatore, o se con la Runtime che sto usando non è fattibile Ringrazio in anticipo per qualsiasi suggeimento/risposta, Lorenzo Link al commento Condividi su altri siti More sharing options...
leleviola Inserita: 22 settembre 2020 Segnala Share Inserita: 22 settembre 2020 Beh fare posizionamenti tramite un controllo in velocità la vedo un po' dura, penso dovresti usare istruzioni per posizionamenti assoluti oppure con posizionamenti relatiivi rispetto all'ultima posizione acquisita, ci pensa l'istruzione che usi a effettuare il calcolo del posizionamento da fare a seconda anche della pendenza della rampa che hai impostato. Bisogna vedere dell'asse e dell'azionamento che controlli se hai istruzioni dedicate o se puoi affidarti a istruzioni PLC Open Link al commento Condividi su altri siti More sharing options...
LoSa Inserita: 25 settembre 2020 Autore Segnala Share Inserita: 25 settembre 2020 Grazie della risposta e scusa il ritardo della risposta ma sono stato fuori per lavoro e ho trovato difficoltà nel risponderti, Sospettavo dovessi passare per la PLCOpen, ma (solo per un discorso di costi) volevo evitare di usare le librerie del softmotion che nel sistema che viene usato dalla mia azienda è a pagamento, e la soluzione era o provare a fare un controllo in velocità e vedere come va, oppure svilupparsi almeno i blocchi fondamentali di pugno mio, e non so se anche questa strada sia percorribile con relativo poco sforzo, Ciao Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 25 settembre 2020 Segnala Share Inserita: 25 settembre 2020 9 minuti fa, LoSa ha scritto: e non so se anche questa strada sia percorribile con relativo poco sforzo Tutto dipende dalle tue conoscenze. Sino a qualche anno fa, quando non esistevano blocchi funzionali per il controllo di posizione, dovevi farti il tuo posizionatore. Io non l'ho mai trovato difficile, anche perchè una volta fatto il primo, se lo fai bene, non devi farlo più. Se non ti necessita l'interpolazione tra assi, realizzare un posizionatore è un lavoro che si può fare in poche ore di lavoro. Link al commento Condividi su altri siti More sharing options...
LoSa Inserita: 25 settembre 2020 Autore Segnala Share Inserita: 25 settembre 2020 Ciao Livio, grazie della risposta, quello che dici te lo condivido in pieno, infatti il posizionatore che ho sviluppato funziona, infatti su altri tipi di controllo e riscontro, con velocità e incrementi del riscontro più bassi funziona bene, secondo me, ma non so come verificare il mio sospetto, ho dei problemi di aggiornamento delle variabili, nel senso che il posizionatore avvolte si accorge di aver già superato il SetPoint e quindi torno indietro, mentre avvolte nemmeno torno indietro e risulto in posizione, in questi due casi se metto dei breakpoint dove vado in posizione e lo congelo vedo che la posizione attuale del mio assse torna con quella di SetPoint, ma nella realtà l'asse mi è già andato avanti, quindi pensavo di sfruttare il profilo di velocità per fare solo del JOG e il profilo di posizione per fare i posizionamenti, in modo che sia l'azionamento a chiudere l'anello e non il mio controllo, sarebbe grosso modo quello che avviene in un controllo con il softmotion e utilizzando la PLCOpen come libreria di appoggio per effettuare, come diceva @leleviola nel suo commento, devo solo verificare la fattibilità della cosa, anche perchè se sviluppo queste funzioni bene rispettando lo standard Cia402 posso virtualmente mettere in marcia un qualsiasi drive che rispetti questo standard Ciao, Lorenzo 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