controllo motore in posizione.

Sezione dedicata alla robotica mobile

controllo motore in posizione.

Postby esponenziale » 27 Sep 2015, 10:01

buongiorno a tutti,
sono un principiante e mi sono iscritto da poco al forum. Ho visto che il livello è molto alto rispetto alle mie conoscenze, ma un proverbio popolare del mio paese dice :" stai con quelli meglio di te e facci le spese". La premessa è dovuta, vi ringrazio da adesso della comprensione.
arrivo al dunque: vorrei costruire con arduino un controllo per comandare in posizione angolare un motore dc.
prima domanda: un oggetto del genere ossia microcontrollore, hw e motore, può essere paragonato ad un servo digitale?
ho già letto qualcosa, ho alcune linee di codice per il firmware di arduino per implementare il pid e il controllo in generale. ma devo cominciare a comperare i pezzi e ad interfacciarli.
Seconda domanda :quello che c'è in questa lista è sufficiente?
1)arduino mini 05
2)ponte H
3) encoder o motoriduttore con encoder integrato.

per quanto riguarda 1) e 2) non è difficile comprarli, anche perchè li ho gia usati più volte.
il problema è il punto 3) non so niente e vi prego di darmi un aiuto.
i motoriduttori che ho visto su internet sono di dimensioni fisiche troppo grandi per l'utilizzo che devo farne io (cambio di bicicletta) e vorrei sapere se ne esistono con tensioni di 6V e più piccoli di grandezza. vorrei qualche informazione anche sugli encoder da posizionare su un motore DC qualunque per controllarlo.
grazie.
esponenziale
 
Posts: 8
Joined: 23 Sep 2015, 08:55

Re: controllo motore in posizione.

Postby deluca » 27 Sep 2015, 19:53

Ciao esponenziale,

ho capito il tuo problema....
Per individuare il tipo di motore da usare nella tua applicazione,
Per prima cosa devi riuscire a fare una stima della coppia necessaria per far spostare il cambio della bici.....

Domanda: a che velocità deve muoversi il cambio? vuoi tirare il filo di acciaio? o lo hai pensato meccanicamente in altro modo?

Per il resto ne parliamo dopo.
Ciao
Il mio sito: http://www.delucagiovanni.com ......e la chat: chat/
User avatar
deluca
Site Admin
 
Posts: 1104
Joined: 19 Jun 2011, 10:44
Location: 95123 - Catania (Italy)

Re: controllo motore in posizione.

Postby esponenziale » 29 Sep 2015, 09:48

buongiorno,
ho gia costruito un prototipo funzionante del cambio e l'ho montato sulla mia bici, con due servomotori analogici per modellismo, uno davanti e uno dietro, con una coppia di 17/13 kg/cm. L' alimentazione dei servo è un pacco batteria 6V ,2000mAh.
Ieri l'ultima uscita e li ho "torturati" in salita, dove la trazione della catena influisce sulla cambiata e hanno funzionato a dovere, quindi penso che 17 kg/cm sia la coppia giusta. In pianura o in discesa nessun problema.
All' inizio ho costruito un accrocco che tirava i lacci del cambio, ma siccome la molla dei deragliatori per il ritorno del cambio, teneva in tensione i servo, la batteria si consumava in meno di un'ora e i servo si bruciavano.
Ho poi tolto la molla ed ho attaccato i due servo direttamente sui deragliatori con delle staffe di acciaio che ho costruito, prendendo spunto sempre su internet: in questo modo il braccetto del servo lavora direttamente sul parallelogramma del cambio e sale e scende, una volta poi che è arrivato sul rapporto giusto è a riposo e la batteria dura anche qualche settimana uscendo in bici tutti i giorni e cambiando normalmente; in questo modo i servo sono salvi.
lo step ulteriore è, a questo punto, sostituire i due servomotori e costruire un oggetto simile con arduino come controllore (arduino mini 0.5 che ho usato per il mio prototipo).
In questo modo sarebbe meno un giocattolo e potrei chiuderlo in uno scatolino contro gli urti.
se vuole vedere come l'ho fatto vada qui: https://www.facebook.com/centro.isidesr ... =2&theater . Quello con la camicia celeste senza occhiali sono io.
La ringrazio davvero di cuore per il suo aiuto.
esponenziale
 
Posts: 8
Joined: 23 Sep 2015, 08:55

Re: controllo motore in posizione.

Postby deluca » 29 Sep 2015, 14:15

Complimentoni x il progetto.
Sai che da ragazzo pensavo tante volte proprio a questo aggeggio? Purtroppo non era così facile recuperare una scheda con microcontrollore e dei servo e questa idea è rimasta per decine di anni nel cassetto.....

Adesso vedo che qualcuno ha pensato finalmente a realizzare il cambio automatico..... step successivo sarebbe quello di impostare il cambio in base alla pedalata, alla pendenza, alla velocità ecc ecc.... Centralina a Logica Fuzzy e il gioco è fatto ....
Ciao
Il mio sito: http://www.delucagiovanni.com ......e la chat: chat/
User avatar
deluca
Site Admin
 
Posts: 1104
Joined: 19 Jun 2011, 10:44
Location: 95123 - Catania (Italy)

Re: controllo motore in posizione.

Postby esponenziale » 30 Sep 2015, 09:43

buongiorno,
i cambi di bici elettroattuati sono in commercio già da diversi anni.
la ringrazio per i complimenti ma il mio è solo un giocattolo, io vorrei andare avanti e realizzarne uno con i con motori Dc controllati in posizione a posto dei servomotori.
sto guardando su internet i motoriduttori con encoder.
l'encoder, il mio problema, come lo devo scegliere, quali caratteristiche devo guardare.
mi puo consigliare qualche libro di teoria per capire?
grazie sempre.
esponenziale
 
Posts: 8
Joined: 23 Sep 2015, 08:55

Re: controllo motore in posizione.

Postby Leonardo » 30 Sep 2015, 10:03

Ciao Esponenziale,

Mi aggrego alla discussione :)

Perché vuoi sostituire i servo?

Esistono encoder con diverse risoluzioni, quanto devi essere preciso nei tuoi spostamenti?

Encoder con risoluzione maggiore richiedono a parità di giri del motore maggiore potenza di calcolo per essere letti senza perdere dei passi, potresti quindi avere un qualche vincolo superiore legato alla piattaforma che hai scelto.

Ciao
Il mio blog di elettronica: http://electro-logic.blogspot.it
User avatar
Leonardo
 
Posts: 502
Joined: 29 May 2013, 22:31
Location: Parma

Re: controllo motore in posizione.

Postby deluca » 30 Sep 2015, 10:17

@Esponenziale,

per questa applicazione andrebbero benissimo i servo digitali con encoder integrato, altissima coppia e ottima precisione.
Io eviterei in questo caso l'uso di motoriduttori DC.... Avresti bisogno di punti di riferimento, fine corsa ecc. e il riferimento della posizione sarebbe sempre relativo e non assoluto. Con quelli digitali, anche se un pò + costosi di quelli analogici, avresti posizioni assolute senza necessità di procedure di inizializzazione.
Ciao
Il mio sito: http://www.delucagiovanni.com ......e la chat: chat/
User avatar
deluca
Site Admin
 
Posts: 1104
Joined: 19 Jun 2011, 10:44
Location: 95123 - Catania (Italy)

Re: controllo motore in posizione.

Postby esponenziale » 01 Oct 2015, 08:15

buongiorno e grazie sempre per le risposte, mi scuso sempre per la mia ignoranza in materia e per le mie domande mal poste e ne approfitto per farne un'altra per capire.

domanda: ma un servomotore digitale è un motore dc controllato da un microcontrollore con l' encoder al posto del potenziometro, retroazione e ulteriori integrati?
se la risposta è si, vorrei costruire un servo digitale con arduino e vi chiedo di aiutarmi nella mia confusione.
se la risposta è no, allora non ho capito niente e vi prego, oltre a scusarmi, di chiarirmi le idee o di indirizzarmi dove trovare la risposta.
ringraziarvi ancora non è mai troppo in confronto al tempo che mi dedicate.
esponenziale
 
Posts: 8
Joined: 23 Sep 2015, 08:55

Re: controllo motore in posizione.

Postby Leonardo » 01 Oct 2015, 10:25

Un servo generalmente include:
- un motore DC
- motoriduzione tramite ingranaggi per aumentarne la coppia
- finecorsa se il servo non è a rotazione continua
- un sistema per determinare la posizione spesso costituito da un potenziometro
- elettronica per un controllo tramite PPM

La differenza principale tra servo analogico e digitale è nel controllo interno del motore. Più sofisticato nei servo digitali e più primitivo in quelli analogici, il che porta a prestazioni diverse.

I servi digitali (non economici) sono programmabili in alcuni parametri come velocità massima, etc.. e possono essere "tarati" maggiormente per l'applicazione.

Coi servo ad ogni modo hai tutto quello che ti serve in pochissimo spazio e a costi spesso ridotti, direi che ti servono ottimi motivi per cercare soluzioni meno integrate e più "discrete".
Il mio blog di elettronica: http://electro-logic.blogspot.it
User avatar
Leonardo
 
Posts: 502
Joined: 29 May 2013, 22:31
Location: Parma

Re: controllo motore in posizione.

Postby deluca » 01 Oct 2015, 15:50

@espo,
con arduino puoi realizzare il tuo servo-motore "fatto in casa" ma il problema è la lettura dell'encoder....
Più risoluto è l'encoder, + fai andare il motore veloce + alta sarà la frequenza in uscita dall'encoder.....

In questa situazione il micro di ardu non riesce a rilevare e conteggiare bene gli impulsi provenienti dall'encoder ...
diciamo che non essendo presente un hardware dedicato, dovresti fare tutto via sw gestendo opportunamente gli INT e i COUNT del timer..... così facendo avresti una gestione approssimata del sistema...
Potresti leggere al massimo gli encoder rotativi, tipo potenziometrici....
Potresti migliorare la risposta programmando il micro in assembly, ma non te lo consiglio.... è abbastanza complicato.

Per basse frequenze questo si riesce a fare, ma all'aumentare della frequenza, superando la soglia di qualche Khz hai necessità di introdurre un chip dedicato per la decodifica dei segnali in quadratura e relativo conteggio.....

Capito perchè l'uso dell'HCTL ? A questo punto il micro è libero da interruzioni e può comodamente farsi tutti i calcoli del PID, rampe di accelerazione, profili di velocità e quant'altro.
Ciao
Il mio sito: http://www.delucagiovanni.com ......e la chat: chat/
User avatar
deluca
Site Admin
 
Posts: 1104
Joined: 19 Jun 2011, 10:44
Location: 95123 - Catania (Italy)

Re: controllo motore in posizione.

Postby esponenziale » 02 Oct 2015, 09:33

buongiorno, grazie delle dritte, che per me che navigo in alto mare sono come fari.
invio un allegato dove ho disegnato uno schema a blocchi del servo motore fatto in casa. Potreste darci un occhiata, controllare se è giusto e aiutarmi a dimensionarlo e realizzarlo.
grazie.
Attachments
schema.jpg
probabile anello
schema.jpg (250.01 KiB) Viewed 14838 times
esponenziale
 
Posts: 8
Joined: 23 Sep 2015, 08:55

Re: controllo motore in posizione.

Postby Leonardo » 02 Oct 2015, 13:06

La soddisfazione di fare le cose da soli non ha prezzo ma ricorda che vai a spendere molto di più per avere un oggetto più ingombrante e probabilmente meno prestante..

In linea di massima lo schema a blocchi va bene, ricordati il motoriduttore se il motore ha elevati RPM.

Ciao
Il mio blog di elettronica: http://electro-logic.blogspot.it
User avatar
Leonardo
 
Posts: 502
Joined: 29 May 2013, 22:31
Location: Parma

Re: controllo motore in posizione.

Postby esponenziale » 12 Oct 2015, 09:22

buongiorno a tutti,
ho trovato un motorino Dc e comincerei da li per controllarlo in posizione. mi sono scaricato i datasheet e riporto i dati :
no load speed ( Velocità a vuoto giusto?)= 7500 rpm
no load current 90 mA
V =6Volt
stall current ( corrente di spunto giusto?)= 2.6 A.
come posso usare questi parametri per la scelta dell' encoder e della frequenza totale?
Grazie e perdonate sempre la mia poca competenza e se ho scritto qualcosa di sciocco.
esponenziale
 
Posts: 8
Joined: 23 Sep 2015, 08:55

Re: controllo motore in posizione.

Postby deluca » 12 Oct 2015, 10:09

Con quel motorino non andrai lontano se non gli accoppi un riduttore elevato....
Così avresti una coppia bassissima.... devi notevolmente abbassare il numero di giri in uscita per aumentare la coppia....
devi abbassare almeno di un fattore 50/100.
cmq, per questa applicazione potresti banalmente costruire un encoder realizzato con le rotelline e con i sensori dei vecchi mouse a pallina.
Ciao
Il mio sito: http://www.delucagiovanni.com ......e la chat: chat/
User avatar
deluca
Site Admin
 
Posts: 1104
Joined: 19 Jun 2011, 10:44
Location: 95123 - Catania (Italy)

Re: controllo motore in posizione.

Postby esponenziale » 13 Oct 2015, 08:32

buongiorno prof, ho già smontato un vecchio mouse.
Mi rendo conto che non posso montarlo sotto la bici il motorino; ma in questa prima fase voglio imparare e costruire un controllo di posizione e sono sicuro di riuscirci grazie ai consigli del forum.Purtroppo non ho modo di seguire un corso o qualche master e devo cercare di farcela da solo. Dopo cercherò di raggiungere le caratteristiche dei due servo analogici che ho montato già.
grazie sempre.
esponenziale
 
Posts: 8
Joined: 23 Sep 2015, 08:55

Re: controllo motore in posizione.

Postby deluca » 14 Oct 2015, 08:10

ok,
intanto prova ad accoppiare meccanicamente la ruota forata dell'encoder all'asse del motore. Una volta fissati anche i sensori, dai alimentazione al motore ed ai sensori e vedi di tirar fuori i segnali ad onda quadra in uscita. Questi, come ben sai devono essere sfasati di 90° tra loro. Potresti avere la necessità in inserire delle resistenze di pull-up (1-10K) tra l'output del sensore e Vcc.... Alcuni sensori dei vecchi mouse infatti erano di tipo open collector e se vuoi visualizzare i segnali su un oscilloscopio devi inserire le res.
Ciao
Il mio sito: http://www.delucagiovanni.com ......e la chat: chat/
User avatar
deluca
Site Admin
 
Posts: 1104
Joined: 19 Jun 2011, 10:44
Location: 95123 - Catania (Italy)

Re: controllo motore in posizione.

Postby legacy » 19 Mar 2016, 11:53

Leonardo wrote:La soddisfazione di fare le cose da soli non ha prezzo


:lol: :lol: :lol: :lol:
legacy
 
Posts: 862
Joined: 12 Mar 2012, 11:30


Return to Robotica

Who is online

Users browsing this forum: No registered users and 1 guest

cron