Vai al contenuto
PLC Forum


Posizionatore Con Arduino


roberto8303

Messaggi consigliati

La coppia e' proporzionale alle amper-spire , quindi proporzionale alla corrente

Questo a rotore fermo; man mano che aumenta la velocità di rotazione la coppia diminuisce sino a quando raggiungi la velocità di stallo, ovvero la velocità oltre la quale non puoi andare perchè la coppia erogata dal motore non è sufficiente a vincere la coppia resistente. Si instaura una sorta di equilibrio tra coppia e velocità.

La causa maggiore, forse l'unica, di perdita di passo è o una velocità eccessiva od un'eccessiva accelerazione.

Se dipendesse solo dall'impedenza basterebbe pilotare con una funzione V/f simile a quella degli asincroni, ma non è così semplice.

Semplificando molto, durante lo spostamento da una posizione ad un'altra (passo) la coppia in funzione della posizione ha una variazione sinusoidale. Ovviamente se ci riferiamo ai più comuni motori passo passo a magneti permanenti (per quelli con avvolgimenti polari il ragionamento è più complesso).

In genere i costruttori seri forniscono i diagrammi coppia-velocità dei loro motori e la velococità massima di lavoro.

Bisogna stare molto attenti quando si va a lavorare al limite; il motore non perde il passo ma il passo è irregolare ovvero glia angoli tra un apsso e l'altro diventan irregolari. Alla fine il passo medio è ancora quello originale però durante la rotazione i singoli passi sono stati di ampiezza differente.

Se non hai retroazione da encoder o da reolver devi fidarti degli impulsi di comando.

Link al commento
Condividi su altri siti


  • Risposte 142
  • Created
  • Ultima risposta

Top Posters In This Topic

  • walterword

    59

  • Livio Orsini

    42

  • roberto8303

    39

  • gabri-z

    2

ok ma c'e' un asse master a gli altri che lo inseguono no? Anche se devono fare movimenti inerpolati per esempio disegnare un cerchio ...un asse e' master e l'alrto lo insegue ..dico bene?

Modificato: da walterword
Link al commento
Condividi su altri siti

..dico bene?

non proprio.

Si può fare anche così, ma io preferisco fare in altro modo.

Genero un master virtuale a cui aggancio gli slave reali.

Poi tieni presente come si genera un cerchio in X, Y. Sinusoide su X e cosinusoide su Y o viceversa.

Molti anni fa, quando i micro si chiamavano F8 e 4040 usavo 2 eprom in cui avevo codificato sinusoide e cosinusoide. le 2 eprom pilotavano 2 D/A ed un contatore generava l'indirizzo per le eprom, il clock del contatore stabiliva la velocità con cui si generava il ovimento, mentre il guadagno dei D/A corrispondeva all'ampiezza del cerchio.

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

Molti anni fa, quando i micro si chiamavano F8 e 4040 usavo 2 eprom in cui avevo codificato sinusoide e cosinusoide. le 2 eprom pilotavano 2 D/A ed un contatore generava l'indirizzo per le eprom, il clock del contatore stabiliva la velocità con cui si generava il ovimento, mentre il guadagno dei D/A corrispondeva all'ampiezza del cerchio.

A parte le dimensioni del circuito , che '' debolezza'' avrebbe oggi un circuito fatto cosi ?

Grazie !

Link al commento
Condividi su altri siti

nessuna, solo che occuperebbe una scheda doppio europa, costerebbe un pacco di euro e....funzionerebbe sempre.

Link al commento
Condividi su altri siti

questo asse virtuale che tutti gli altri devono inseguire come si genera , nel senso che stabilisci tu in base alla velocità la sua posizione e gli assi slave in base a questo clacolano lo spazio da compiere , accelerazione e velocità ?

Modificato: da walterword
Link al commento
Condividi su altri siti

diciamo che si stabilisce la velocità "di linea" e di conseguenza pa posizione "virtuale" , da qui si calcola la cinematica di ogni asse e si impostano le equazioni di moto con relativa accelerazione , velocità ect ? Un esmepio di asse master e uno slave potrebbe essere un taglio al volo dove si calcola ad ogni istante la posizione della "testa" del materiale che esce per calcolare accelerazione e punto di aggancio del asse con la lama ....pero' rimaniamo su due asso X-Y tipo fresa cnc

Link al commento
Condividi su altri siti

per esempio , calcoli la traiettoria dell'asse virtuale e su interrupt ad ogni ciclo butti fuori le posizioni da raggiungere , tanto piu piccolo e' il tempo di interrut tanto piu preciso viene il cerchio , visto che e' sempre un cerchio costituito da spezzate seppur con segmenti piccoli (infinitesimi) ma mai punti

Link al commento
Condividi su altri siti

Un esmepio di asse master e uno slave potrebbe essere un taglio al volo

no Walter, qui le cose son molto più complesse, almeno se devi fare pezzature variabili con taglio in isovelocità.

Per fare u cerchio, ad esempio, dipende da come sono intelligienti gli azionamenti. Se si limitano a seguire in posizione gli impulsi di riferimento, come la maggior parte degli azionamenti, devi tu geneare il treno d'impulsi con i profili di velocità corretti.

In genere in caso di interpolazione è il sistema di controllo che ge genera i riferimenti appropriati.

visto che e' sempre un cerchio costituito da spezzate seppur con segmenti piccoli (infinitesimi) ma mai punti

Si in effetti dovresti avere una risoluzione infinita per avere una funzione continua.

Link al commento
Condividi su altri siti

  • 2 weeks later...

comunque per fare una cnc che faccia i pcb elettronici o altri lavoretti sul legno ect non c'e' bisogno di brushless , resolver ect ....basta sovradimensionare un pochetto gli stepper, per esempio i nema 23 gia son buoni su una macchinetta che utilziza i nema17 .Per i drivers si prendono gli scatolotti neri per stepper singolo e via , un bel power supply , arduino Due e poi i problemi rimangono quelli di implementare gli algoritmi , cioe tutto :D

Io prima o poi la cnc per farmi i pcb me la faccio .... con un amico sto organizzando un qualcosa da sporcaccioni in legno , lui e' falegname ...nella peggiore delle ipotesi monto su qualcosa di gia esistente per farla funzionare e poi tiro fuori i pezzi per farla in alluminio o ferro ,,,, i pezzi meccanici che costano sono le guide ,le viti a passo fine , cuscinetti e gingerie varie .comunque appena ho tempo metto giu una lista materiali da qualche progetto open source e vedo di cercare la roba dal mio amico fornitore chan lin zen :D

Modificato: da walterword
Link al commento
Condividi su altri siti

Se guardi la stampante 3D che fa anche da CNC per pcb, quella della Futura Elettronica, è tutta azionata con stepper in anello aperto.

Link al commento
Condividi su altri siti

si l'ho vista ma non mi piace granche' ....tutte le cnc per routing ed applicazioni similari sono equipaggiate con stepper ad anello aperto

Ma una cosa : stavo vedendo dei software , molto complessi ed articolati , sul motion control con gli stepper e non capisco ....ma c'e' qualche registro che ti permette di sapere quanti impulsi pwm sono stati dati ?

Dopo che il parser g-code imposta il tipo di comando con relativi parametri , cioe posizioni finali , velocità ect , vengono attivati degli algoritmi .Le posizioni degli assi che normalmente verrebbero lette calcolando gli impulsi dell'encoder per il rapporto bla bla bla , qua ovviamente sono sostituiti con gli impulsi del pwm , anello aperto , ma non riesco a trovare dove li legge .... :huh:

Link al commento
Condividi su altri siti

Scusa ma non ho capito a cosa ti riferisci.

Se fai riferimento al controllo con arduino sei tu che devi contare gli impulsi che mandi al driver dello stepper.

Poi ci sono driver che sono pilotabili tramite bus di campo, a questi basta passare i 2 dati di velocità e numero d'impulsi.

Link al commento
Condividi su altri siti

mi riferisco al pwm , che non ho ben capito come lo gestisce .Cioe ' bisogna creare un pwm su interrupt usando le uscite digitali oppure si puo' usare il pwm come periferica del micro ?

Nel secondo caso come è possibile contare gli impulsi che sono man mano generati ? C'e' un registro non so che contiene questo valore?

Usare la periferica pwm del micro significa poter variara la frequenza e sapere quanti impulsi sono stati generati , farlo a "mano " invece come avete fatto negli esempi di questo blog allora e' diverso

Capisci adesso?

Modificato: da walterword
Link al commento
Condividi su altri siti

le schede driver degli stepper non accettano mica treni di impulsi ?

Il pwm non e' un treno di impulsi?

Due tipi di driver sono i seguenti

http://www.aliexpress.com/item/L298N-Module-Dual-H-Bridge-Stepper-Motor-Driver-Board-Modules-for-Arduino-Smart-Car-FZ0407-Free/1380626808.html

http://www.aliexpress.com/item/Stepper-Motor-Drive-DM860-For-NEMA23-to-NEMA42-can-run-with-much-lower-noise-heating-smoother/651829647.html

Nel secondo per esempio , devo dare la direzione (1 bit) e il treno di impulsi .Detto questo pensavo si potesse dare sto treno col pwm , anche s epoi sarebbe un casino regolare la velocità ect

Un altro drive in kit e' questo

http://www.aliexpress.com/item/Nema23-425oz-in-Stepper-Motor-3axis-TB6560-drive-board-switch-power-supply-for-CNC-Router-drive/381798819.html

qua ci sono un po di kit ....

http://www.aliexpress.com/wholesale?catId=0&initiative_id=SB_20150506030359&SearchText=kit+4+axis+stepper+motor+nema23

Drive type : Double-pole constant flow PWM actuation output

L'ultimo , il kit , e' usato spesso con arduino uno perpilotare piccole cnc che comunque fanno routing ect con stepper nema17

Ora , il termine PWM lo vedo solo io ? Questo che sto cercando di capire

Modificato: da walterword
Link al commento
Condividi su altri siti

Poi ci sono driver che sono pilotabili tramite bus di campo, a questi basta passare i 2 dati di velocità e numero d'impulsi.

il classico step dir che si usa per la maggior parte dei controlli
Link al commento
Condividi su altri siti

Per gli stepper gli impulsi devono essere quadri con duty cycle al 50% con appropriato sfasamento secondo tipo di motore passo intero o mezo passo.

Link al commento
Condividi su altri siti

Livio contralla la posta :smile:

Se ti fa piacere ti faccio una telefonatina di cortesia , visto che e' un po che non ci sentiamo ....

Link al commento
Condividi su altri siti

  • 4 weeks later...
ciao Roberto
Stavo vedendo i servo motori ....dai datasheet vedo che lavorano da 4,8 a 6 V .Ma per tirare fuori queste tensioni c'e' qualche driver particolare o scheda driver ?
Avevo intenzione di fare un robottino a braccio giusto per vedere cosa succede , cioe dare le rampe ect ai servo
Cosa mi dici?
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...