Vai al contenuto
PLC Forum


Antenna Motorizzata


roberto8303

Messaggi consigliati

Buondi,

Devo realizzare una antenna che si sposti da 0 a 360° azionata da un motore trifase asincrono con inverter e riduttore e un plc s7 222 ho pensato di fare cosi:

Metto un riduttore con rapporto 1: 360 la scelta di questo riduttore sta nel fatto di aumentare la coppia per il sistema da muovere e anche per:

Mettero un sensore sul motore al albero in modo che ogni giro motore avro un impulso nel contatore del plc e questo impulso dato il rapporto meccanico vale 1° quindi quando il motore fara 360 giri il mio sistema ne fara uno quindi 360°

Volevo solo chiedere ma se il motore fara 360 giri al min con inverter ovviamente il mio sensore inviera al plc 6 impulsi al secondo, usando il contatore di conteggio/deconteggio riesce a leggere questo segnale il mio plc ?? se la risposta è no e spero di no :) quanti impulsi al sec. puo leggere il mio plc senza usare i contatori veloci?grazie

Link al commento
Condividi su altri siti


Dipende dal tempo di ciclo del PLC. Se, ad esempio, hai un tempo di ciclo massimo di 40 ms puoi leggere, con sicurezza, 12 impulsi al secondo se hanno il rapporto alto-basso del 50%. Però dovendo fare un discriminatore Up down devi dividere per 4 questo limite.

Ma perchè non usi il contatore veloce, cos' non hai problemi? Tra l'altro se devirisolvere 1 grado non ti basta 1 impulso per giro. ne devi avere almeno 5, meglio 10.

Link al commento
Condividi su altri siti

Livio non ho pensato di usare 10 giri del motore per spostare un grado perhe dovrei avere un rapporto di riduzione altissimo! 3600:1 in quanto 10 giri del motore sarebbero un grado e 3600 giri 360 gradi in uscita quindi un giro dell antenna, quindi oltra al rapporto c èra anche il problema del tempo perche per fare una rotazione completa dovrei mandare il motore un 2 poli a piu di 3000 giri per compiere l intera corsa in un minuto (3600 giri/min) e problema piu importante usare il contatore veloce!io volevo inserire nel ctdu contatore avanti indietro l ingresso del segnale ad ogni impulso del motore e con i confronti far girare il motore a destra o a sinistra e fermarlo quando il confronto era verificato tra l impulso scritto in una word(posizione desiderata) ed il valore nel contatore (posizione effettiva antenna) ora usare il contatore veloce che non ho ancora studiato per bene non saprei come fare a dare il senso al motore se deve andare avanti indietro?con la mia idea con un confronto di num interi della posizione attuale e quella desiderata se la posiz.attuale è maggiore di quella richiesta (es posiz attuale 50° posiz da raggiung 20°) inibivo il conteggio in avanti e attivo un merker che conti all indietro ovviamente facendo attivare la bobina Q0.1 che fa andare il motore all indietro.

Link al commento
Condividi su altri siti

Non inervengo sulla parte PLC, pero' per qunto riguarda il sensore , se vuoi aumentare ( e devi se vuoi risolvere 1 grado) la risoluzione devi solo aumentare in numero delle camme sull'albero motore. Facilmente invece che una camma sull'albero motore ne puoi montare 4 a 90 gradi una dall'altra. Anche sei camme sono facilmente costruibili a partire da un dado filettato, piantando delle viti o dei grani su ciascuna delle facce. Non serve quindi toccare il riduttore, che 1:360 e' gia' parecchio. Chiaramente il tuo ingresso deve essere quattro volte piu' veloce.

Ciao.

effebi

Link al commento
Condividi su altri siti

si effebi sono daccordo con cio che dici ma il problema sta propio nel plc o meglio nella funzione che io voglio usare nel plc quindi avere un impulso che corrisponda un grado per non compiere operazioni matematiche...

Link al commento
Condividi su altri siti

Tra l'altro se devirisolvere 1 grado non ti basta 1 impulso per giro. ne devi avere almeno 5, meglio 10.

Questo non significa aumentare il rapporto di riduzione, significa, come ha suggerito anche effebi, aumentare il numero di impulsi/giro.

Tra l'altro non hai neanche messo in conto i giochi del riduttore che saranno comunque non irrilevanti.

Consiglio.

Metti un bell'encoder da 3600 impulsi/giro (ci sono parecchi costruttori che li fanno) sull'albero lento. Così hai 10 impulsi per grado e salti i giochi del riduttore.

Poi usa i contatori veloci. Li han fatti proprio per lo scopo di contare impulsi di encoder in quadratura. Gli eventuiali conti aritmetici (divisione per 10) la fa trnquillamente il PLC senza problema alcuno basta usare l'istruzione.

Link al commento
Condividi su altri siti

Livio faro propio come mi hai consigliato tu, pensandoci bene è inutile buttare soldi per i riduttori che avro gioco e difficolta di accoppiarli in cascata e controllare un solo giro del motore è molto difficile, quindi dovro procurarmi un bel encoder del tipo economico con risoluzione 3600 imp giro line driver.quindi con l encoder a due canali A e B senza la Z? e poi funziona che quando va in una direzione incrementa il contatore veloce e quando vado dall altra decrementa? e in questo caso se ho le due bobine una rotazione destra e l altra sinistra posso rimanere il mio progetto originale cioe con i confronti tra la posizione e quella comandata da pannellino hdmi per stabilire il senso di rotazione? e poi gia che ci siamo una altra cosa che ho pensato oggi per azzerare il contatore mettevo un micro di homing perche quando andava via la tensione poi all inizio la antenna girava fino a trovare questo micro per iniziare il conteggio e stabilire la sua posizione, ora se compro un encoder incrementale è lo stesso discorso ?cioe non sapro nel caso in cui manca la tensione la mia posizione reale, chiedo è il caso di comprare un encoder assoluto??e se si quando riaccendo il sistema nel contatore veloce mi esce lo stesso numero contato prima che andasse via la corrente??Livio forse sto anticipando un po le cose visto che devo studiare bene i contatori veloci prima pero ti sono grato se mi chiarisci meglio le idee prima cosi affrontero lo studio piu facilmente.... ;)

Link al commento
Condividi su altri siti

per fare homing cioe' la fase puoi usare la Z

quasi tutti gli encoder sono predisposti

serve proprio nel caso dei 360 gradi

per sicurezza metterei anche due sensori di oltrecorsa

con un encoder assoluto diventa complicato poi serve la scheda apposita

Link al commento
Condividi su altri siti

quindi dovro procurarmi un bel encoder del tipo economico con risoluzione 3600 imp giro line driver.

Ti basta un encoder da 1000 impulsi giro il contatore veloce può leggere i quattro fronti generati dai canali A e B dell' encoder, quindi l' encoder diventa 4000 impulsi, poi fai una scalatura per convertire i 4000 impulsi in 3600.

Ciao

Link al commento
Condividi su altri siti

bele quindi dividere 4000 per 1,11 = 3600 impulsi?ma con le divisioni nel plc è un casino quando sono con le virgole !!devo usare div num reali? in word?

Link al commento
Condividi su altri siti

si andrebbe bene anche uno stepper ma voglio imparare prima a risolvere la applicazione con questa idea nata inizialmente ed anche un modo per fare esperienza ;)

Link al commento
Condividi su altri siti

bele quindi dividere 4000 per 1,11 = 3600 impulsi?ma con le divisioni nel plc è un casino quando sono con le virgole !!devo usare div num reali? in word?

Sì devi utilizzare i numeri reali in doppia word, ma non temere non è un grosso problema, non so che plc usi, ma se non vuoi utilizzare i numeri a virgola mobile puoi utilizzare la funzione di scalatura dipende dal plc, io personalmente utilizzo la matematica in virgola mobile per le operazioni di scalatura.

Ciao

Link al commento
Condividi su altri siti

Tutto ok bele ho capito dove sbagliavo con le divisioni !! praticamente il box per la divisione è il Div_R e inserivo tutte e tre i formati doppia parola, pero prima caricavo i numeri in queste doppieword con MOV_DW !!e sbagliavo perche poi li ho caricati con il box MOV_R e tutto funziona benissimo il risultato della divisione con le 6 cifre dopo la virgola!!

Un altra cosa anche se non è propio la sezione adatta per discuterne ma visto che mi hai parlato di scorrimento io dovrei fare una cosa sul plc usa la S7 222 voglio associare le uscite quindi Q0.0 Q0.1 Q0.2 Q0.3 a dei bit per fare accendere cosi On OFF OFF OFF e poi fare la rotazione dei bit verso destra in modo daaccendere le uscsite cosi OFF OFF OFF ON si puo fare? come carico il semibyte in una word per fargli assumere questi valori 0-1 ai singoli bit?

Link al commento
Condividi su altri siti

  • 3 weeks later...

Ciao ragazzi finalmente venerdi mi è arrivato l encoder 3600 imp giro volt 24 tipo pnp con tre fili a b c , ora mi sono messo al pc per editare un programmino per far muovere la famosa antenna...ho editato in kop con due righe di comparazione tra il numero scritto in una DW e quello reale della posizione encoder tale valore risiede nel hc0... in questo modo determino il senso di rotazione del motore per raggiungere il valore scritto se maggiore ruota a destra o viceversa..devo dire che a mano è un po difficile muovere l encoder con questa risoluzione infatti le uscite q0.0 e q0.1 del plc se non sono preciso con l alberino oscillano fino a fermarsi quando becco con l encoder lo stesso numero scritto...nella DW. quindi fin qui tutto bene ho solo un problema che non ho capito!!ho usato l assistente istruzioni per programmare il contatore veloce ho usato modo 9 cioe contatore con fasi A/B in quadratura senza reset e senza valori di preimpostazioni senza avvio,lo faccio partire a contare da 0 ora mi succede che nella tabella di stato dove visualizzo hc0 i numerini che scorrono mano a mano che muovo l albero dell encoder se vado in avanti va bene un giro corrispone a 3600 impulsi ma perche se vado indietro non torna a 0 allo stesso punto ma a circa 90° prima della posizione iniziale segnata con un pennarello per avere il riferimento??arrivato a 90° circa prima della posizione di origine si azzera di colpo e conta in negativo!!perche succede questo?? ho scollegato anche il canale c ma non funziona bene nemmeno in avanti!dove ho sbagliato??

Link al commento
Condividi su altri siti

Salve risolto il problema encoder ma ora cè un altra cosa...ho montato l encoder all albero del riduttore e al lato di sotto cè l altro albero sempre su riduttore che muove l antenna..ora io ho comprato l encoder da 3600 imp giro come mi avete consigliato pero il programma che ho pensato è un confronto dove faccio rientrare solo il valore uguale a quello comandato dal pannello cioe posizione desiderata 100 gradi ora se l albero si trova a 110 si porta con il motore ed inverter (motore da mezzo cavallo trifase collegato a triangolo inverter 220v ingresso riduttore rapporto 1 a 60..) alla posizione 100 quindi se per inerzia la supera e arriva a 99-98 gradi il plc da il segnale per rimandare in avanti il motore...!io no ho provato ancora ma secondo voi avro parecchie oscillazioni cioe il motore attacca e stacca per centrare quella precisa posizione? ora non ho eseguito ancora la divisione nel programma perche comunque io devo comandare da 0 a 360 gradi quando l encoder fara da 0 a 3600 dove la eseguo la divisione nell pannello hmi?o nel plc?

Link al commento
Condividi su altri siti

Per prima cosa devi farti un algoritmo di posizionamento con rampa e banda morta. Se pensi di posizionare con comandi on-off senza nessuna banda morta difficilmente la tua antenna ztarà ferma in posizione.

Hai un bell'inverter e un PLC, non ci vuole niente a fare qualche cosa di ben fatto. :)

Se fai una piccola ricerca, trovi almeno un paio di discussioni recenti dove do consigli su come fare un posizionamento con il 200

Link al commento
Condividi su altri siti

ah ecco quindi mi sbagliavo a pensare che era tutto cosi facile...ma l algoritmo con posizionamento a banda morta cose è?? io avevo pensato per risolvere il problema della stabilita allungando la rampa di accelerazione e diminuendo il piu possibile la decelerazione...usavo solo i due contatti puliti dal plc collegati al FW ed Rw inverter...!era troppo bello... Ma l algoritimo sarebbe usare una formula matematica da far eseguire al plc?quale è il vantaggio di usare un algoritmo cosa succede praticamente al sistema?e la banda morta sarebbero gli impulsi effettivi che non verrando considerati dal plc?Livio scusa la mia ignoranza...

Link al commento
Condividi su altri siti

La rampa la devi creare tu da PLC generando il rifermento di velocità. In pratica devi generare la traiettoria. La banda morta consiste nello stabilire un erore minimo. Se (la posizione da raggiungere - la posizione raggiunta raggiunta ) <= errore minimo si considera posizionato.

Non posso condensare in poche righe il minimo necessario per capire un posizionatore. Leggi il mio tutorial sulle regolazioni (lo trovi nella sezione didatica, sotto sezione elettrotecnica), c'è un capitolo doive spiego in sistemi di posizionamento.

Modificato: da Livio Orsini
Link al commento
Condividi su altri siti

Si va bene ma ho gia capito un po...faro in modo di sfruttare i 10 impulsi di differenza tra il rapporto 3600 diviso 360 in modo che se non esco fuori quel dieci in positivo o negativo la posizione si considera buona e il sistema si ferma per la rampa io aumento solo i secondi per raggiungere la velocita impostata in Hz nell inverter pero non capisco una cosa se ad esempio devo fare un piccolo passo da 100 gradi a 120 il motore avendo una accelerazione lentissima riuscira anche a fermarsi subito ma se devo partire da 0 a 300 gradi il motore avra accelerazione max 50hz quindi poi per fermarlo è facile che andra oltre i 300 gradi...quindi ci manca qualcosa ma come una banda morta sostituisce i comandi on off? vado a leggere il tutorial sperando di capirci qualcosa...

Link al commento
Condividi su altri siti

Livio ma quando dici la rampa la devo creare io dal plc significa che devo dare un segnale tipo 0-10v all inverter??quindi comprare anche un modulo di uscita analogica?

Link al commento
Condividi su altri siti

Livio ma quando dici la rampa la devo creare io dal plc significa che devo dare un segnale tipo 0-10v all inverter?

Certo! E devi anche calcolare quando devi iniziare a rallentare. Insomma te lo ripeto per l'ennesima volta: devi progettare un posizionatore, oppure ti accontenti di un qualche cosa che qualche volta raggiunge la posizione giusta e molte altre volte no.

Link al commento
Condividi su altri siti

CASPITA...!! sono rovinato...non saprei da dove cominciare !!anche perche dando uno sguardo al tuo tutorial ci sono in matematica gli integrali che li odio...!!e poi qualche esempio è scritto in c o visual basic credo e non saprei convertirlo in kop...Comunque iniziero a fre un programmino usando le comparazioni e la matematica in kop e vediamo dove arrivo poi se non arrivo a nulla dovro studiare quello che mi hai detto :unsure: comunque Grazie!

Link al commento
Condividi su altri siti

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 account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...