Consigli per piccolo robot

Tante idee e tutte ben confuse :slight_smile:
Questo è il tuo primo robot, evita di fare cose inutilmente complicate altrimenti andrai incontro ad una bruciante delusione.
Come propulsione utilizza due servo modificati per la rotazione continua, preferibilmente un modello dotato di cuscinetto sull'asse, si trovano a meno di 15 Euro l'uno, in modo da non trovarti con la boccola ovalizzata in poco tempo.
Utilizzando servo modificati con la loro elettronica hai il vantaggio di poterli controllare direttamente da Arduino tramite un segnale ppm, per contro hai un controllo molto limitato sulla velocità in quanto per come funziona la loro logica interna piccole deviazioni dell'impulso di controllo, rispetto al centro, portano rapidamente alla velocità massima, però è accettabile per un piccolo robot tenendo conto del fatto che con i servo non raggiungi grandi velocità.
Puoi trovare tutto quello che serve per realizzare il robot, telaio, servo modificati, etc, sul sito di Gioblu, ti consiglio di leggerti anche i vari tutorial presenti.
Per il momento lascia perdere la fonera sul robot e limitati a realizzare un piccola, e leggera, base mobile in grado di girare da sola per casa evitando gli ostacoli, poi il resto verrà.
Giusto per referenza, io realizzo robot come quello del video in grado di spostarsi con precisione millimetrica, il "giocattolo" ha un diametro di 38 cm, pesa quasi 4 kg, utilizza 3 micro dsPIC33 (16 bit con core dsp), un micro 18F2550 dedicato ai sensori (10 telemetri IR), una FriendlyArm (ARM11 @600 MHz con Windows CE).

flz47655:
Vedo che stai facendo i conti per il motore, volevo avvertirti che il kit tamiya è diciamo amatoriale e può ospitare due motori molto piccoli quindi di "modesta" potenza, i motori hanno un formato (forma) particolare ed in pratica se ne trovano 2-3 modelli di diversa potenza, se utilizzi il kit non hai molta scelta in questo senso, puoi giocarti la coppia più che altro con le riduzioni che monti.

Allora scarto dalla lista quel kit :slight_smile:

flz47655:
Occhio che il driver del motore se usi motori DC può pesare un pochino perché monta un dissipatore e condensatore abbastanza grosso in genere

Penso che partirò con 2 ponti H sono anche più leggeri

astrobeed:
Tante idee e tutte ben confuse :slight_smile:
Questo è il tuo primo robot, evita di fare cose inutilmente complicate altrimenti andrai incontro ad una bruciante delusione.

Infatti, l'odometria la userò solo quando avrò fatto un prototipo che erra per la casa senza meta :smiley:

astrobeed:
Come propulsione utilizza due servo modificati per la rotazione continua, preferibilmente un modello dotato di cuscinetto sull'asse, si trovano a meno di 15 Euro l'uno, in modo da non trovarti con la boccola ovalizzata in poco tempo.
Utilizzando servo modificati con la loro elettronica hai il vantaggio di poterli controllare direttamente da Arduino tramite un segnale ppm, per contro hai un controllo molto limitato sulla velocità in quanto per come funziona la loro logica interna piccole deviazioni dell'impulso di controllo, rispetto al centro, portano rapidamente alla velocità massima, però è accettabile per un piccolo robot tenendo conto del fatto che con i servo non raggiungi grandi velocità.

Questa è una delle cose alla quale ci stò pensando di più: non poter regolare la velocità è un bel difetto!
Fare 2 ponti H non dovrebbe essere poi troppo difficile, anche se ogni motore utilizzerà 2 pin anzichè 1, ma per ora non è un problema

astrobeed:
Puoi trovare tutto quello che serve per realizzare il robot, telaio, servo modificati, etc, sul sito di Gioblu, ti consiglio di leggerti anche i vari tutorial presenti.

Gli ho appena guardati, sembrano interessanti!

astrobeed:
Per il momento lascia perdere la fonera sul robot e limitati a realizzare un piccola, e leggera, base mobile in grado di girare da sola per casa evitando gli ostacoli, poi il resto verrà.

Si, si la fonera è un caso a parte, avevo fatto delle prove, alcune anche andate a buon fine però è molto da rivedere il software, nel caso in futuro aprirò un topic a parte.

astrobeed:
Giusto per referenza, io realizzo robot come quello del video in grado di spostarsi con precisione millimetrica, il "giocattolo" ha un diametro di 38 cm, pesa quasi 4 kg, utilizza 3 micro dsPIC33 (16 bit con core dsp), un micro 18F2550 dedicato ai sensori (10 telemetri IR), una FriendlyArm (ARM11 @600 MHz con Windows CE).

Si davvero, una precisione del genere non è facile da realizzare, però che soddisfazione!

Gono:
Questa è una delle cose alla quale ci stò pensando di più: non poter regolare la velocità è un bel difetto!
Fare 2 ponti H non dovrebbe essere poi troppo difficile, anche se ogni motore utilizzerà 2 pin anzichè 1, ma per ora non è un problema

Non è che non regoli in assoluto la velocità, è che hai un range di regolazione molto limitato, il che si traduce in scarso controllo.
Una soluzione semplice, ed economica, è prendere due servo a basso costo, mi raccomando dotati di cuscinetto sull'albero, svuotarli dell'elettronica e usare questo doppio ponte H per comandarli, in questo modo ottieni un migliore rendimento e un controllo velocità ottimale, puoi tranquillamente alimentare il ponte con due LiPo in serie (7.2 V nominali) e lo piloti tramite Arduino utilizzando due pin per ogni motore.
In alternativa ai due servo puoi prendere due motoriduttori se opti per il ponte H.
Scordati di realizzare da solo un ponteH, intendo farlo in modo discreto utilizzando transistor/mos, perché è un oggetto molto più complesso di quello che sembra, per le piccole potenze esistono vari IC, sia singolo ponte che doppio ponte, che vanno benissimo e li trovi già saldati e pronti all'uso come quello che ho linkato , è molto meglio dei classici L293/L298 usati sulle shield per Arduino, per giunta costa molto meno il che non guasta :slight_smile:

Scusami la domanda, ma perchè non posso farmi da me dei ponti H? Qualche resistenza da mettere tra le basi e i pin, transistor e qualche diodo di protezioone ...

Scusami la domanda, ma perchè non posso farmi da me dei ponti H? Qualche resistenza da mettere tra le basi e i pin, transistor e qualche diodo di protezioone ...

Posso buttarti giù qualche motivo:

  • i diodi devono essere ultra-fast, non qualunque, vanno selezionati attentamente
  • i transistor devono avere dissipatore se vuoi reggere una corrente importante, devi selezionarli attentamente e scegliere con criterio i dissipatori
  • per pilotare i transistor di potenza potresti avere bisogno di transitor più piccoli o utilizzare dei darlington ad alto guadagno
  • i BJT dissipano (sprecano) molto calore, coi MOSFET avresti meno problemi in questo senso ma è MOLTO più complicato
  • avresti rumore che si propaga in tutto il tuo circuito, ti servirebbero dei fotoaccoppiatori per fare le cose per bene, abbastanza veloci se vuoi usare il PWM
  • per verificare il tutto per bene ti servirebbe un oscilloscopio

E' anche vero però che c'è una guida molto ben fatta che affronta tutte queste problematiche 8)
http://www.mcmanis.com/chuck/robotics/tutorial/h-bridge/bjt-bridge.html

E' anche vero che un IC integrato in genere ti evita tutte queste cose e ha delle cose in più come protezione da sovracarichi, ESD, autospegnimento se sale troppo la temperatura, etc.. coi transistor discreti poi hai una situazione critica se alcuni commutano prima degli altri avendo dei corti temporanei che dovresti gestire..

Ciao

Gono:
Qualche resistenza da mettere tra le basi e i pin, transistor e qualche diodo di protezioone ...

:smiley: :smiley: :grin: :grin: :smiley: :smiley:
Mi hai fatto ridere sul serio :slight_smile:
Come ti ho detto prima un ponte H non è un oggetto semplice come sembra, al di la della rappresentazione semplificata dei quattro finali nella tipica configurazione ad H dietro c'è molto di più e ci sono molte cose da prendere in considerazione, se poi si comincia a parlare di correnti maggiori di qualche Ampere le cose diventano molto, ma molto, complicate.

non bastano solo qualche resistenza e qualche diodo....

il problema sta nel fatto che se realizzi il ponte ad H utilizzando come finali dei mosfet tutti a canale N hai bisogno di un driver (pilota)
per i rami inferiore e superiore del ponte (per i diversi riferimenti di massa è necessario un circuito di bootstrap). cioè tra il micro e la parte di potenza devi inserire un driver (ce ne stanno tanti HIP4081, LT1162, TLE6281....TD340.... ma tutto questo ti conviene solo se devi costruire ponti di alta potenza con correnti superiori a 20/30/100 amper.

Per le tue applicazioni vai tranquillo con driver già pronti... non complicarti la vita, puoi usare benissimo 2 LMD18200 che sono provvisti anche di freno elettrico,controllo temperatura, e per le correnti di cui hai bisogno non necessitano di dissipatore.
Altra soluzione 2 L6203 che costano relativamente poco, oppure ancora una volta L298.... stando attenti alle inversioni di marcia.....
prima di cambiare direzione accertati di ridurre al minimo il PWM e aspettare almeno 100mSec se nò.... fumata bianca o nera a secondo.....e addio.
Il circuito non è munito di logica per il dead-time (tempo morto) e tante volte... in base alla tensione di alimentazione e alla corrente fa plufff se non si comanda come ti ho descritto sopra.

cyclone:
Per le tue applicazioni vai tranquillo con driver già pronti... non complicarti la vita, puoi usare benissimo 2 LMD18200 che sono provvisti anche di freno elettrico, e per le

Concordo al 100% con gli LMD18200, questo è un prodotto commerciale che ho progettato per conto di Droids (Robot Italy) che utilizza quel IC, a mio avviso ottimo, però costa caro e ne servono due, mente il ponte che ho consigliato nel precedente post costa solo 8 Euro e controlla due motori in modo efficiente visto che utilizza finali mos ed è decisamente meglio delle classiche soluzione basate su L29x.
Sul robot del video che ho postato prima uso due di quei ponti con 18200, completi del add on ventola con fan controller, e ci piloto due motori GHM04 di Lynxmotion.

La faccio troppo semplice :grin:
Però prima del driver motore, bisogna prima capire:

  • Se per semplificare uso i servi a rotazione continua
  • Se uso motori che non sono servi, che potenza devono avere

in base alle specifiche da te indicate io ti consiglierei dei motori a 7.2/12 volt dc con un rapporto di riduzione 50:1, che almeno sull'asse ti danno 160/180 giri al minuto, e con un coppia almeno di 8/10 Kg-cm. Vengono chiamati Gear Head Motor io ne uso di tutti i tipi nei miei differential dual drive small size.
Ti consiglio comunque di comprare motori con la possibilità di aggiungere encoder digitali..... (per evitare doppie spese inutili) che magari in un secondo tempo ti gioveranno se vorrai implementare l'odometria. questi motori potrai tranquillamente pilotarli con gli integrati LMD18200.

Cyclone, il motore che mi consigli non mi sembra molto comune (spero di non dire cavolate :D)
Cerco la semplicità anche nel trovare le cose XD
Che ne dici di questi:

gono, invece dici cav... non saranno comunissimi :slight_smile:
ma basta cercare googlando e li troveraiiiiiiiiiiiiiiiiii

http://www.lynxmotion.com/c-11-spur-gear-motors.aspx

qui troverai tutti i motori che vanno bene al caso tuo

Il primo (del link di futurashop) è un giocattolino che dura poco (è un motore DC + riduzione), il secondo è già più serio anche se:

  • va molto lento
  • non ha moltissima coppia

cyclone:
gono, invece dici cav... non saranno comunissimi :slight_smile:
ma basta cercare googlando e li troveraiiiiiiiiiiiiiiiiii

:roll_eyes: Meglio non contare tutte le cavolate che ho detto in questa discussione

flz47655:
Il primo (del link di futurashop) è un giocattolino che dura poco (è un motore DC + riduzione), il secondo è già più serio anche se:

  • va molto lento
  • non ha moltissima coppia

Già, già

Non ho più idee... semplici :frowning:

cyclone:
qui troverai tutti i motori che vanno bene al caso tuo

Senza andare a fare acquisti in America ecco il motore usato dalla maggioranza dei robottari su basi mobili di piccole e medie dimensioni, sono predisposti per gli encoder, sullo stesso store trovi anche i supporti motore, i mozzi e le ruote, consigliatissime queste, praticamente le migliori per girare su un pavimento casalingo.

Eccoti un esempio di come realizzare facilmente, spendendo poco, una base mobile utilizzando i motori e le ruote che ti ho linkato prima, il telaio è realizzato con del pvc espanso, materiale molto leggero e nel contempo robusto che si lavora con facilità, la distanza tra due lati opposti è 200 mm.

Ero a fare due conti e mi sono accorto che rischio di spenderci non poco!

motori 44,98 €
ruote 6,66€
servo 8€
ultrasuoni 10€
spedizione 7€

Tot: 76,64 e non ho contato nemmeno il driver motori e il telaio

Gono:
Ero a fare due conti e mi sono accorto che rischio di spenderci non poco!

Ecco la brutta notizia, costruire un robot, anche se semplice, non costa poco :smiley:
In alternativa puoi acquistare un robot commerciale che ti diverti a programmare, uno fatto molto bene, espandibile e compatibile con Arduino, inteso come ambiente di lavoro e linguaggio di programmazione, è il 3PI di Pololu.
Il 3PI ti arriva completo di tutto come lo vedi nella foto, consigliato anche l'acquisto del suo programmatore che puoi usare anche per programmare Arduino, oppure usi Arduino con sopra lo sketch ISP per programmare il 3PI.
Se cerchi su youtube ci sono molti video con il 3PI protagonista, è impressionante quanto è veloce (1 m/s) e quanto è preciso nei movimenti.

astrobeed:
Ecco la brutta notizia, costruire un robot, anche se semplice, non costa poco :smiley:

Me ne stò accorgendo :fearful:

E come avete capito stò cercando di risparmiare sui motori!

La mia idea è più o meno questa: (non ci credo che ha speso 50€ in motori)

legacy:
fonera e' un chiodo limitatissimo
fon 2202 (quella che mi garba di piu') non ha nemmeno GPIO, ha una usb con su un baco hw
fon 2100 ha qualche GPIO pero' l'atheros che monta e' scarsamente efficiente e scalda parecchio
e ingni caso anche con ar5315 parliamo di un coso che consuma decisamente troppo per quello che fa
perche' parliamo di 7W!

Io ho una 2100 collegandola via seriale sono riuscito ad accendere/spengere 2 led.
Secondo me con un po' di ingegno puoi fare qualcosa di interessante.
Si con questo caldo scalda un casino!

legacy:
e tutto cip' allo scopi di ?

Un dsPIC33 fa da motion controller (dual PID ad alta efficienza e altre cosette), uno da navigation controller (path planning, dead reckoning, slam), e volendo il robot può già funzionare con solo questi due micro, il terzo dsPIC33 gestisce tutte le comunicazioni tra schede su bus RS485 e col mondo esterno per la telemetria e i comandi, il 18F2550 gestisce tutti i sensori e dialoga tramite USB (device dati HID) con la FriendlyArm il cui compito è la mappatura ad alta risoluzione dell'ambiente, gestione delle eventuali mappe precaricate, connettività WiFi e un minimo di visione artificiale gestita in locale.