generatore di rampe pwm

Sezione dedicata all'elettronica di controllo cnc.
Rispondi
Avatar utente
edisonthai
Senior
Senior
Messaggi: 729
Iscritto il: domenica 4 ottobre 2009, 13:03
Località: Thailandia
Contatta:

generatore di rampe pwm

Messaggio da edisonthai » sabato 12 maggio 2012, 15:16

Salve a tutti
ho un problema
ho la necessità  di programmare un pic con una rampa in pwm
esempio con al chiusura di un contato parte cuna rampa in pwm da 0 ad z hrz ( inferiore ad 20 khrz) quando rilascio un contatto la rampa va da hz dove si trova sino a 0 hrz pensavo di utilizzare un 12f509
pero non ho idea da dove cominciare
mi dareste un qualche suggerimento
ringrazio sin dora per il vostro cortese aiuto

Avatar utente
FritzBeast
Junior
Junior
Messaggi: 75
Iscritto il: venerdì 4 febbraio 2011, 17:55
Località: Como

Re: generatore di rampe pwm

Messaggio da FritzBeast » sabato 12 maggio 2012, 15:50

non so se ho capito bene...devi fare un'onda quadra a frequenza variabile e duty fisso?

Avatar utente
edisonthai
Senior
Senior
Messaggi: 729
Iscritto il: domenica 4 ottobre 2009, 13:03
Località: Thailandia
Contatta:

Re: generatore di rampe pwm

Messaggio da edisonthai » sabato 12 maggio 2012, 17:13

esattamente, mi serve per gli spostamenti veloci sui motori passo passo, in pratica dovrei fare quella che chiamano pigna,
ho un encoder che muovo con un dito, ed un pulsante che quando premuto, fa girare il motore selezionato, alla velocita x,

turbina

Re: generatore di rampe pwm

Messaggio da turbina » domenica 13 maggio 2012, 9:57

a che serve l'encoder, per selezionare il motore? quanti motori ci sono?

Avatar utente
edisonthai
Senior
Senior
Messaggi: 729
Iscritto il: domenica 4 ottobre 2009, 13:03
Località: Thailandia
Contatta:

Re: generatore di rampe pwm

Messaggio da edisonthai » domenica 13 maggio 2012, 22:54

l'encoder serve al posizionamento fine ed i motori sono 3 in genere sweeciabili attraverso un comutatore
Non hai i permessi necessari per visualizzare i file e le foto allegati in questo messaggio. Per visualizzare tali file devi registrarti ed effettuare il Login

Avatar utente
FritzBeast
Junior
Junior
Messaggi: 75
Iscritto il: venerdì 4 febbraio 2011, 17:55
Località: Como

Re: generatore di rampe pwm

Messaggio da FritzBeast » domenica 13 maggio 2012, 23:15

ah ora ho capito! il pic deve leggere l'encoder per vedere quanti impulsi dare, nel frattempo aumentare la frequenza fintanto che è premuto il pulsante, giusto?
a occhio direi che ti serve un interrupt su cambio stato pin (un canale dell'encoder)
almeno un timer per gli impulsi di step, 2ingressi encoder, 1ingresso pulsante velocità , 2 uscite (dir e step).
mi sa che il pic che hai scelto non ha l'interrupt su cambio stato porta...io ne userei uno con uscita pwm, 2 timer e ovviamente l'interrupt su cambio stato porta per leggere l'encoder

Avatar utente
edisonthai
Senior
Senior
Messaggi: 729
Iscritto il: domenica 4 ottobre 2009, 13:03
Località: Thailandia
Contatta:

Re: generatore di rampe pwm

Messaggio da edisonthai » martedì 15 maggio 2012, 22:28

no mi sa che non hai capito, tutto il manipolo deve eliminare il pc,
infatti il pic con rampa,, mi polota il motore del asse selezionato, per gli spostamenti veloci, mentre l'encoder serve per il posizionamento fine , si perche è l'encoder che genera il ckock per il pp driver

turbina

Re: generatore di rampe pwm

Messaggio da turbina » mercoledì 16 maggio 2012, 0:28

Sul manipolo ti serve un commutatore per pilotare la direzione coarse del motore , un commutatore per indirizzare il motore, un pulsante e un encoder e mi pare che nella prima foto c'è tutto.

Non ti serve un pwm ma un pfm pulse frequency modulation, questo si può fare con quasi tutti i pwm dei microcontrollori più o meno facilmente.

Altro problema è la frequenza massima del pfm, come vuoi settarla , con un trimmer , dei jumper, fix in firmware?

Altro problema è la condivisione degli ingressi step/dir del driver motore tra uscite micro e uscite encoder, hai qualche idea?

Che uscite step/dir ti servono? Open collector o 0-5volts?

turbina

Re: generatore di rampe pwm

Messaggio da turbina » mercoledì 16 maggio 2012, 1:11

Un problema è il rimbalzi dovuto al commutatore motori a 3 posizione che ti farà  muovere leggermente i motori quando commuti, se comunque intendi utilizzare un commutatore meccanico ti bastano 6 pin:

2 pin encoder a-b
1 pin pulsante
1 pin deviatore cw/ccw (dir)
2 pin uscita step/dir (pfm/dir)

il micro da tè ipotizzato potrebbe andare bene come pin ma non ha un pwm nemmeno semplice , il pfm deve quindi essere fatto misto hard/soft impostando il TMR0 come mezzo periodo della freq step , usando l'osc interno a 4mhz, diviso/4 e passato per il prescaler in OPTION hai da 1000khz a 2khz di clock per TMR0 che ti consente variando OPTION e TMR0 , allo scadere del mezzo periodo quando TMR0=0 fai il toggle dell'uscita step.

La rampa senza nessuna risorsa hardware nel micro deve essere fatta tutta software.

quando il pulsante è premuto effettui rampa e pfm e quando NON è premuto e la rampa di discesa è terminata ricopi lo stato degli ingressi A-B dell'encoder sulle uscite step/dir , non è proprio perfetto ma nel tuo caso funziona.

Tieni presente che con un micro così scarno senza nessuna risorsa è più difficile che arrivi al risultato rispetto a un micro con più risorse harware.

Avatar utente
FritzBeast
Junior
Junior
Messaggi: 75
Iscritto il: venerdì 4 febbraio 2011, 17:55
Località: Como

Re: generatore di rampe pwm

Messaggio da FritzBeast » mercoledì 16 maggio 2012, 13:34

continuo a non capire la funzione dell'encoder...definisce la posizione? Fa fare un passo ogni impulso? Io farei tutto tramite micro così non ho problemi di rimbalzi ecc...ovviamente con un pic più grandicello, magari con interfaccia QEI così leggere l'encoder è una stupidata

turbina

Re: generatore di rampe pwm

Messaggio da turbina » mercoledì 16 maggio 2012, 15:45

Il pulsante serve per il coarse e l'encoder per il fine

Avatar utente
edisonthai
Senior
Senior
Messaggi: 729
Iscritto il: domenica 4 ottobre 2009, 13:03
Località: Thailandia
Contatta:

Re: generatore di rampe pwm

Messaggio da edisonthai » mercoledì 16 maggio 2012, 21:49

FritzBeast
l'encoder in questo caso viene utilizzato per generare un clock che va driver del motore passo passo
turbina che pic mi suggerisci?

Avatar utente
FritzBeast
Junior
Junior
Messaggi: 75
Iscritto il: venerdì 4 febbraio 2011, 17:55
Località: Como

Re: generatore di rampe pwm

Messaggio da FritzBeast » mercoledì 16 maggio 2012, 22:00

te la butto lì...con un PIC18F2431 (o parenti stretti) hai :
4 pwm
3 timer
1 QEI (quadrature encoder interface)
I/O a volontà 

se invece vuoi qualcosa di meno complesso puoi usare un PIC16F873A/876A
dato che ce ne sono migliaia ti consiglio di andare sul sito microchip, c'è una pagina che inserisci le caratteristiche richieste del pic e ti seleziona quelli che corrispondono alle richieste

Rispondi

Torna a “Elettronica CNC”