Pagina 1 di 4

inverted pendolum, gestire i finecorsa. come?

MessaggioInviato: 3 giu 2015, 23:42
da torla91
Buona sera a tutti voi, sto costruendo un sistema di controllo per stabilizzare un pendolo inverso. Sto utilizzando come hardware una stampante usata dotata di motore stepper, come sensore di posizione del pendolo utilizzo un potenziometro e come controllore un PID. Tra i vari problemi pratici del caso, quello che più mi preoccupa è l' assenza di finecorsa su questa stampante, infatti è presente solamente un pulsantino finecorsa a un lato del carrello che viene certamente utilizzato come home.

Immagine

premesso che il mio motorino stepper parta dalla posizione di HOME come posso mantenere in memoria lo spazio percorso? ho provato a contare gli step che faccio fare al motore avanti e indietro però nulla da fare...il codice ''perde il conto'' .
sicuramente non è colpa del PIC ma del firmware in se, volevo solamente sapere da voi se esistono metodi conosciuti per monitorare questo tipo di inconveninti in maniera robusta. Sicuramente questo controllo è fatto con semplicità in tutte le stampanti di questo mondo, però mi piacerebbe avere un consiglio anche da voi!

per chiarire le idee ho fatto una clip del sistema allo stato attuale, il pulsante nero sulla breadboard andrà a simulare il pulsante "home" della stampante. Lo so che sarebbe tutto più semplice aggiungendo un secondo finecorsa ma volevo riuscire a utilizzare il minimo quantitativo di hardware necessario!

Posso anche aggiungere un altro pulsante finecorsa ma il vincolo che ho è che entrambi i pulsanti siano letti da un solo piedino del microcontrollore.



se avete qualche idea su come evitare che il carrello della stampante vada a finecorsa sono tutto orecchi!!!

O_/ :lol: :ok: :D =P~

Re: inverted pendolum, gestire i finecorsa. come?

MessaggioInviato: 3 giu 2015, 23:51
da aldofad
Ma che discorso sarebbe che il "firmware perde il conto degli step" :D ? Lo hai scritto tu questo firmware?

Re: inverted pendolum, gestire i finecorsa. come?

MessaggioInviato: 3 giu 2015, 23:54
da torla91
ovvio!!! ci mancherebbe altro!! è solo per sottolineare che è ho un bug nel codice che mi impedisce di tenere il conto!

Re: inverted pendolum, gestire i finecorsa. come?

MessaggioInviato: 4 giu 2015, 0:21
da WALTERmwp
torla91 ha scritto:se avete qualche idea su come evitare che il carrello della stampante vada a finecorsa sono tutto orecchi!!!
riguarda il firmware.
Oltre ad una comoda ma al tempo stesso ragionevole proposta, se non conosci la "distanza" tra il comando applicato e lo spostamento relativo diventa difficile stabilire se la posizione presunta coincide con quella effettiva.
Ovviamente l'accuratezza è determinante e occorre avere certezze sul codice che è stato scritto.
torla91 ha scritto:volevo solamente sapere da voi se esistono metodi conosciuti per monitorare questo tipo di inconveninti in maniera robusta.
dipende dalla meccanica (trasmissione del movimento, giochi, ... ) ma se tu avessi, per esempio la possibilità di accoppiare un encoder, per quanto ovvia sia questa indicazione, forse te la potresti cavare.
In alternativa, se non intendi ricorrere a strumentazione del genere, potresti provare a posizionare dei fc intermedi e basarti sul loro riscontro per verificare e rettificare il valore derivato dal calcolo per la determinazione della posizione; però, dal mio punto di vista, non puoi eludere una rigorosa implementazione di quella parte di firmware.

Saluti

Re: inverted pendolum, gestire i finecorsa. come?

MessaggioInviato: 4 giu 2015, 0:31
da TardoFreak
torla91 ha scritto:ovvio!!! ci mancherebbe altro!! è solo per sottolineare che è ho un bug nel codice che mi impedisce di tenere il conto!

Elimina il bug, sia che questo sia nel firmware o nell'hardware (niente di più facile, lo dico per esprienza personale) e poi si parla del resto. ;-)

Re: inverted pendolum, gestire i finecorsa. come?

MessaggioInviato: 4 giu 2015, 0:36
da Candy
Il firmware non deve perdere il conto ma generare un numero di step utile a fare lo spostamento desiderato. Solo se il motore si blocca non si muoverà come desiderato e lo si osserva analizzando la corrente, se occorre.

Fatta la posizione di zero ed esclusi sforzi meccanici il programma sa sempre dove si trova il motore. Se hai un errore di programma lo correggi e non nascondi.

Re: inverted pendolum, gestire i finecorsa. come?

MessaggioInviato: 4 giu 2015, 0:39
da TardoFreak
... e poi prosegui con il resto del lavoro.

Re: inverted pendolum, gestire i finecorsa. come?

MessaggioInviato: 4 giu 2015, 2:17
da aldofad
Candy ha scritto:Solo se il motore si blocca non si muoverà come desiderato e lo si osserva analizzando la corrente, se occorre

Lo stepper non è alimentato a corrente costante?

Re: inverted pendolum, gestire i finecorsa. come?

MessaggioInviato: 4 giu 2015, 2:24
da TardoFreak
Bisogna anche vedere come ha impostato e gestito le rampe di accelerazione. :cool:

Re: inverted pendolum, gestire i finecorsa. come?

MessaggioInviato: 4 giu 2015, 7:53
da EcoTan
Candy ha scritto:se il motore si blocca non si muoverà come desiderato e lo si osserva analizzando la corrente, se occorre.

Questa cosa mi potrebbe essere utile.. è possibile accennarmi che tipo di test va fatto sulla corrente per accertare lo stallo del motore?