Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Generare Impulsi con PIC per motore STEPPER

Tipologie, strumenti di sviluppo, hardware e progetti

Moderatore: Foto UtentePaolino

0
voti

[1] Generare Impulsi con PIC per motore STEPPER

Messaggioda Foto Utentetorla91 » 18 mag 2015, 22:29

Buona sera a tutti, secondo voi qual è il modo migliore per generare impulsi per pilotare un motore stepper???

sto implementando un controllore che in base al valore di un potenziometro mi regola la velocità di un motore stepper, il potensiometro è collegato a un pendolo inverso. Per ovvi motivi l' oprazione di calcolo della velocità deve essere fatta in modo da permettere l' esecuzione di tutti i calcoli necessari per la determinazione dei parametri del controllore.

diciamo che la frequenza di questi impulsi deve essere da 1Hz a circa 500Hz, ogni impulso deve durare 1ms circa.

Come posso fare? io vorrei lavorare il più possibile con le interruzioni o con le periferiche visto che ho solo 10ms per aggiornare la cinematica e i parametri del sistema.

Qualcuno di voi ha mai avuto a che fare con problemi di questo tipo?

la relazione sarebbe F=k*errore

errore=valore ottenuto dal potenziometro
k= costante da definire in base alle proprietà del sistema
F=frequenza degli impulsi

una dinamica da 1Hz a 500Hz sarebbe un ottimo risultato. Il TIMER1 è GIà in uso per il tempo di campionamento, Tc=10ms.

Utilizzo un pic18f14k22 e mikroC. grazie.
Avatar utente
Foto Utentetorla91
45 1 6
Frequentatore
Frequentatore
 
Messaggi: 100
Iscritto il: 8 feb 2012, 19:10

0
voti

[2] Re: Generare Impulsi con PIC per motore STEPPER

Messaggioda Foto Utentesimo85 » 18 mag 2015, 23:25

LINK INUTILE
Avatar utente
Foto Utentesimo85
30,9k 7 12 13
Disattivato su sua richiesta
 
Messaggi: 9927
Iscritto il: 30 ago 2010, 4:59

0
voti

[3] Re: Generare Impulsi con PIC per motore STEPPER

Messaggioda Foto Utentetorla91 » 18 mag 2015, 23:32

simo85 ha scritto:http://ww1.microchip.com/downloads/en/AppNotes/00857B.pdf

Simo85 io sto lavorando con un motore stepper! Il dc brushless è un altro tipo di macchina elettrica. Purtroppo il factsheet che mi hai passato non fa per me!
Avatar utente
Foto Utentetorla91
45 1 6
Frequentatore
Frequentatore
 
Messaggi: 100
Iscritto il: 8 feb 2012, 19:10

0
voti

[4] Re: Generare Impulsi con PIC per motore STEPPER

Messaggioda Foto UtenteTardoFreak » 19 mag 2015, 1:39

torla91 ha scritto:Qualcuno di voi ha mai avuto a che fare con problemi di questo tipo?

Io si, ma non uso un PIC uso un STM32.
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,9k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15754
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare

0
voti

[5] Re: Generare Impulsi con PIC per motore STEPPER

Messaggioda Foto UtenteEcoTan » 19 mag 2015, 8:06

torla91 ha scritto:F=k*errore

Uno stepper comandato in frequenza si comporta molto suppergiù come un motore a corrente continua comandato in tensione, perciò puoi vedere questo link
http://ww1.microchip.com/downloads/en/AppNotes/00964A.pdf
Per stabilizzare il pendolo ci vorrà un PID o qualcosa di simile, quest'altro link descrive una certa soluzione:
http://www.robot-italy.net/roboforum/blog.php?b=184
Per lo stepper vero e proprio non so dirti nulla, in generale ho l'impressione che la teoria è sempre la stessa ma le soluzioni sono tante e difficilmente si adattano.
Dovrebbe avere il vantaggio che basta contare gli impulsi e hai già l'avanzamento.
Avatar utente
Foto UtenteEcoTan
7.720 4 12 13
Expert EY
Expert EY
 
Messaggi: 5420
Iscritto il: 29 gen 2014, 8:54

0
voti

[6] Re: Generare Impulsi con PIC per motore STEPPER

Messaggioda Foto Utentetorla91 » 19 mag 2015, 8:39

caro ecotan, grazie per i consigli, però anche questa application note non fa per me.. per quanto rigurada il controllo, sicuramente ci vorrà un PID ma nel mio caso userò forse altre tecniche di controllo. ci sarà un kalman filter e altre cose dentro!

per il momento sto sviluppando l' hardware, poi con matlab e simulink si penserà al controllo..

TardoFreak ha scritto:
torla91 ha scritto:Qualcuno di voi ha mai avuto a che fare con problemi di questo tipo?

Io si, ma non uso un PIC uso un STM32.


tardofreak, come hai risolto il tuo problema? dal punto di vista logico come hai operato? quali tecniche si possono usare?
Avatar utente
Foto Utentetorla91
45 1 6
Frequentatore
Frequentatore
 
Messaggi: 100
Iscritto il: 8 feb 2012, 19:10

0
voti

[7] Re: Generare Impulsi con PIC per motore STEPPER

Messaggioda Foto UtenteTardoFreak » 19 mag 2015, 10:16

L'ho risolto semplicemente inviando degli impulsi.
La temporizzazione è ottenuta mediante un timer e tutta la funzione di gestione del movimento del motore rimane dentro la funzione di interrupt.
Il mio però è un controllo di posizione dove ho delle funzioni per fare andare avanti o indietro lo stepper.
Quindi rampa di accelerazione, tratto a velocità costante e rampa di decelerazione.
In un secondo tempo, per esigenze particolari, la rampa di decelerazione sono diventate due con due pendenze diverse.
In ogni caso il mio problema era quello di avere un'accelerazione assolutamente costante, quindi ad ogni interrupt (cioè ad ogni impulso) ho dovuto ricalcolare il tempo dell' impulso con un'operazione di radice quadrata su numeri interi (ed ho utilizzato il metodo babilonese). Il movimento doveva essere assolutamente fluido e si doveva arrivare a 3000 impulsi al secondo, non si doveva capire che il motore era uno stepper e questo implicava che il micro fosse sufficientemente potente da gestire il tutto con fluidità.
Le cose si sono complicate quando ho dovuto anche gestire un'interrupt ciclica con frequenza 8kHz dove non potevo sgarrare, la frequenza della seconda interrupt doveva essere assolutamente precisa.
A questo ho dovuto aggiungere anche la gestione di un display a LED multiplexato ed un programma che gira in parallelo a tutta la baracca e che serve una linea di comunicazione seriale.
Non è escluso che in futuro dovrò aggiungergli una connettività USB mediante la classe CDC .
Alla fine della fiera ho optato per un STM32F103, un micro a 32 bit che lavora a 72MHz.
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,9k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15754
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare

0
voti

[8] Re: Generare Impulsi con PIC per motore STEPPER

Messaggioda Foto Utentetorla91 » 19 mag 2015, 10:52

Per rispondere non quotare tutto il messaggio!

grande, sei un eroe! comunque, se tu dovessi risolvere il mio problema, ovvero generare impulsi a frequenza variabile come faresti???? io vado a 16MHz con un pic18f
Avatar utente
Foto Utentetorla91
45 1 6
Frequentatore
Frequentatore
 
Messaggi: 100
Iscritto il: 8 feb 2012, 19:10

1
voti

[9] Re: Generare Impulsi con PIC per motore STEPPER

Messaggioda Foto UtenteTardoFreak » 19 mag 2015, 12:18

Come farei?
Scriverei il programma, non capisco la domanda. :-M
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,9k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15754
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare

0
voti

[10] Re: Generare Impulsi con PIC per motore STEPPER

Messaggioda Foto Utentetorla91 » 19 mag 2015, 12:47

Per rispondere nono quotare tutto!

grazie! ho scritto il programma e adesso funziona!

ragazzi ho risolto usando come fonte di clock un interrupt generato dal timer0 che va in overflow ogni 128ns, a ogni overflow mi incrementa una variabile che viene poi usata per generare gli impulsi.

un saluto, 3d chiuso grazie.
Avatar utente
Foto Utentetorla91
45 1 6
Frequentatore
Frequentatore
 
Messaggi: 100
Iscritto il: 8 feb 2012, 19:10


Torna a Realizzazioni, interfacciamento e nozioni generali.

Chi c’è in linea

Visitano il forum: Nessuno e 5 ospiti