![]() |
Motion controller (VB-MoCon)
1 Allegato(i)
Ecco un'anteprima di quello che sarÃ* il modulo controllo movimento, per il momento è ancora uno schema provvisorio, devo rivedere diverse cose, ma in linea di massima ci siamo e il rendering rende bene l'idea.
|
Bello il disegno. Che programma usi?
Ma la base si dobbiamo farla noi, o esiste pronta? |
nella figura non vedo il max485
|
1 Allegato(i)
Citazione:
X chiccow Quell'immagine è un rendering ottenuto da un modello 3D della scheda. Si ottiene tramite un apposito programma CAD per l'elettronica con aggiunta una speciale estensione grazie alla quale una volta sbrogliato il circuito stampato viene generata l'immagine 3D renderizzata. Grazie a questa tecnica è possibile vedere in anteprima l'aspetto finale di una scheda. |
Astro.... quali sono le caratteritiche di questa scheda.... ha ben 4 pic :-|.... della serie 18Fxx.... ke deve fare?... mi spavneta :)
|
Citazione:
Questa scheda permette di far muovere la base omnidirezionale tramite dei semplici comandi inviati sotto forma di stringhe ascii. Tre processori servono per i pid controller, uno per ogni motore. Il quarto processore gestisce i tre servi che sterzano le ruote, le comunicazioni via RS485 o seriale TTL, comanda in modo opportuno le tre ruote per eseguire i richiesti movimenti senza che l'utilizzatore debba sapere nulla di PWM, servi, pid o oltre diavolerie. Se la base viene realizzata senza encoder sui motori questa scheda non serve, basta una normale RoboBoard, o similare, ovviamente le prestazioni ottenibili saranno nettamente inferiori. |
Citazione:
Spero di non aver raccontato cose frutto della mia immaginazione :) |
Citazione:
Cominciamo dal nome, ho deciso di battezzare il robot "VersaBot", contrazione di "Versatile Robot". Tutte le schede appartenti a questo progetto avranno una VB davanti al nome e in questo caso è la "VB-MoCon", cioè "Versatile Robot Motion Controller". La scheda accetta comandi di alto livello, cose tipo "M 100" che significa avanza alla velocitÃ* di 100 mm/s, i comandi sono inviati sotto forma di normale stringa ascii e non come codifica binaria. Il set di comandi devo ancora definirlo, lo farò nel momento in cui inizio a scrivere il necessario software. Vorrei che sia ben chiaro il concetto che questa scheda permette di controllare i movimenti della base omnidirezionale, che è solo una delle componenti del robot, senza doversi preoccuparmi di quanto pwm devo dare per avanzare ad una certa velocitÃ*, oppure di quanto devo sterzare le ruote per fare una curva seguendo un arco con raggio 1 metro, ci pensa lei a fare tutto. Ti dirò di più la scheda sarÃ* in grado di eseguire autonomamente lo spostamento dal punto in cui si trova a una nuova destinazione semplicemente fornendogli distanza, direzione, orientamento finale e i desiderati parametri di moto (velocitÃ*, accelerazione). Ovviamente la scheda non può sapere se ci sono ostacoli sul suo percorso, questa è una cosa che deve essere gestita esternamente alla VB-MoCon. |
Sinceramente ero convinto che la VB-MoCon accettasse comandi di basso livello e non immaginavo minimamente che potesse addirittura gestire la risoluzione di una traiettoria punto-punto. Questo perchè credevo che l'implementazione dei pid fosse giÃ* molto onerora, quindi ogni altra features, (oltre i pid) sarebbe stata demandata all'Epia. Comunque ti credo sulla parola, perchè certamente sai il fatto tuo, mentre io no :(
|
Citazione:
Il 18F4520 serve proprio per gestire i comandi di alto livello e fare tutti i calcoli necessari. La gestione dei tre servi per la sterzatura richiede pochissime risorse visto che possono essere gestiti in cascata, idem per il parser che deve funzionare solo quando riceve dei comandi. Nel tempo libero, un buon 90-95%, il 18F4520 può tranquillamente gestirsi tutti i calcoli necessari per ricavare gli angoli di sterzatura delle ruote, le velocitÃ*/distanze dei singoli pid, nonchè determinare i movimenti da eseguire per raggiungere una nuova posizione. Questo non significa che sia facile da fare, anzi tutt'altro, dovrò spremere al massimo le possibilitÃ* del 18F4520 per fargli fare tutto, richiederÃ* una programmazione molto accurata con un'ottima pianificazione degli algoritmi e dei calcoli da eseguire molti dei quali sono trigonometrici. Dimenticavo, il software per i PID, che gira sui 2431, l'ho realizzato giÃ* da diverso tempo, è in grado di gestire velocitÃ*, posizione e profili trapezoidali con grande precisione. Per quanto riguarda il driver di potenza da usare va benissimo una coppia di miniponte H, comunque ho in programma di realizzare anche un'apposita scheda dedicata utilizzando tre LMD18200 (costosi, ma ottimi) invece di due L298 (economici, ma meno efficienti ). |
Grazie Astro..... la mia domanda è nata dal fatto che non pensavo che i calcoli PID e go-to venissero fatti dalla stessa scheda… :-D Ottima scheda… sarÃ* una bella sfida scrivere il codice… ma ne vale la pena.
|
X Astro.
La rs485 l'ho incontrata nei fieldbus per plc, ma la si lavora un pò più ad alto livello. Nei pic non ho completamente idea di come si implementi un bus e neanche di come si gestisca dal codice. Appena puoi potresti postare la parte dello schema della VB-MotCon dedicata al bus, così cominciamo a farti domande su domande :confused: ? Non avresti qualche link sull'argomento (di facile comprensione) da consigliare? |
solo una cosa:
i condensatori di disaccoppiamento li metterei poliestere da 300x150 mils con passo 200 mils. solo perchè quegli altri si trovano più difficilmente. per il protocollo si può fare una roba simile al G-code delle CNC |
x Astro
Mi sono dato un'occhiata alla rs485 e allo sheet del max 485 (con le dovute limitazioni dovute alla non propria perfetta conoscenza dell'inglese), inoltre stavo rimuginando sulla scheda controllo motori. Ho tre domandine da farti (così si cresce!): 1) da qualche parte se non ricordo male mi hai detto che il problema collisioni non si riscontra nel rs485 multimaster ..... ma non ho capito bene il perchè da qualche parte ho letto che si usa un terzo filo che indica la linea occupata. Mentre non credo che si possa lasciare al caso l'inizio di una trasmissione da parte di due unitÃ* master, perchè potrebbe avvenire contemporaneamente. Ovviamente con un unico master ciò non può accadere se il protocollo è pensato in maniera corretta. Come si risolce il problema collisioni? 2) in effetti le linee da usare per il collegamento fra unitÃ* sono un semplice doppino, ma se non sbaglio il pic deve dedicare quattro linee al controllo/dati con il max485. due di abilitazioni (una quella del ricevente si può risparmiare) e due per la linea dati di trasmissione e ricezione (mi sono andato a sbirciare anche il roboard v2 sul sito di mauro, e anche tu colleghi tutte e e quattro le uscite al pic). Alla fine forse si usano due linee in più del i2c. Anche se credo sia corretto il discorso sulla semplcitÃ* di implementazione (la seriale software su un pic me la sono programmata pure io .... quindi ci può riuscire chiunque), la domanda è: ho capito bene? 3) sulla scheda con i 4 pic ho visto che hai disposto un solo max .... mumble mumble .... un pic mantiene i contatti e poi ridirige i comandi agli altri, oppure a valle del max si possono mettere in parallelo le linee dei quattro pic .... boohh? Ciao Nonno |
Altra cosa sono d'accordo di realizzare il bus a 10 fili con rs485, seriale ttl, I2c e spi, quest'ultimi dove disponibili e sempre senza complicare troppo i circuiti, mi sembra che ci sono dei microswitch a delle dimensioni di integrati da 4, 8 etc. contatti, si potrebbero usare quelli per le abilitazioni.
Molte linee sono sovrapposte (vedi i2c e spi sui pic), quindi non dovrebbero creare grossi problemi con il vantaggio di poter riciclare le schede anche su diversi progetti che potrebbero essere conrollati con bus diversi. Ovviamente per questo progetto si deve usare la rs485 .... di cui più leggo e studio e più mi piace! Saluti Nonno |
Citazione:
Nel rendering si vedono solo condensatori a disco perchè non ho definito le differenzazione dei case, è un'operazione che faccio solo quando ho il definitivo in fase di sviluppo lascio i case standard di Eagle 3D. Lo schema è pronto, devo solo verificare un paio di cose, in giornata mando il rendering definitivo e lo schema. |
Citazione:
Il connettore del BUS è a quattro pin, sono collegati in parallelo a coppie (1 con 3, 2 con 4). In questo modo sul connettore abbiamo una coppia in ingresso e una in uscita in modo da semplificare la realizzazione del cavo, il doppino in entrata si collega a 1 e 2, l'eventuale doppino in uscita si collega a 3 e 4. Per quanto riguarda l'uso della RS485 dal punto di vista del software è identica a quella della normale seriale, la differenza è puramente hardware e si realizza usando un apposito IC che viene collegato al TX e RX dell'uart. Ovviamente dato che abbiamo più schede connesse sulla stessa linea serve un indirizzo per distinguerle e una serie di regole per gestire il flusso dati, cioè quello che viene normalmente indicato con il termine "protocollo". |
Da qui www.roboteck.org/MoCon.pdf potete scaricare un pdf (circa 1,13 mega) contenente una descrizione sintetica del modulo MoCon, le caratteristiche tecniche, il rendering definitivo, lo schema elettrico.
|
avevamo deciso per un 5x2 pin per attacarci tutte le schede? sul rendering vedo solo un 4 pin della rs485
io direi di unificare tutto e fare una roba del genere: 1 = Power ON --> abilita tutte le schede che possono essere spente per risparmiare corrente. 2 = rs485 A 3 = rs485 B 4 = ttl rs232 tx 5 = ttl rs232 rx 6 = gpio? 7 = gpio? 8 = gpio? 9 = gnd 10 = gnd |
Citazione:
Se devi collegarti via seriale TTL il connettore è sempre quello, basta smontare il MAX 485 e fare due ponticelli. Lo standby delle schede può benissimo essere in automatico, se non ricevono comandi per un certo timeout e non stanno eseguendo un compito vanno in sleep riducendo i consumi a pochissimi mA. Vedi il tutto come se fosse una vecchia lan col cavo coassiale, solo che andiamo al massimo ad 1 megabit/s invece di 10. |
Che ne dite di cominciare a parlare del firmware?
|
Citazione:
quando si parlava del caricabatterie e della meccanica delle schede si è optato (pur non condividendo questa scelta) per il 5x2, ora che si è fatto il caricabatterie e quasi il display te ne esci con il doppino (inutile per queste distanze). direi di ricominciare da capo come cristo comanda, altrimenti come ai bei tempi (e come al solito) ogniuno si fa il suo robottino e la storiella finisce li. xche se non te ne sei accorto l'andazzo è quello, ogniuno vuole fare come vuole, la prima settimana a scannarsi e a ingrassare tutto il forum con post inutili per cercare di imporre la propria idea, la settimana successiva tutto giÃ* morto. e questa è un ulteriore mazzata. il caricabatterie potevo farlo a mio uso e costume, quando invece ho chiesto pareri e consigli, quando invece chiedo che alcune delle teorie che sembravano i pilastri di questo progetto vengano rispettate (modularitÃ* flessibilitÃ* ecc ecc) non mi cagate di striscio, vedi questo post e quello sul display. alla fine è inutile che mi ci incazzo più di tanto, le risorse per farmelo da solo non mi mancano, il peggio è per chi in questo progetto aveva visto divertimento e voglia di fare. N.B.: parlo per esperienza, anche se qui la situazione sembra molto più docile, è giÃ* successo che di tante chiacchiere non se n'è fatto niente. inoltre vorrei sapere chi è che modera questi forum che mi è sparito qualche post, o ho il pc stronzo e io sono abbastanza fesso da non accorgermene o qualcuno l'ha fatti fuori. |
Citazione:
In pratica alla fine si sono create due percorsi di viaggio, un progetto capitanato da Fiser che dovrebbe produrre il progetto di robot open source entry level con possibilitÃ* di crescita. Un secondo progetto da me promosso e da me totalmente gestito, cioè me la canto e me la suono da solo, che riguarda un robot di medio alto livello con ampie possibilitÃ* di crescita ed espansione, il VersaBot (Versatile Robot) per l'appunto. Dato che alla fine il lavoro lo faccio tutto io, anche perchè se no fa la fine di tanti altri progetti che partono in sesta e non arrivano nemmeno al primo miglio, tutte le decisioni le prendo io in modo inappellabile, però sono totalmente aperto a proposte di collaborazione, consigli, suggerimenti, richieste e anche critiche, purchè sensate e costruttive. Citazione:
Citazione:
Citazione:
Citazione:
Per quanto riguarda il VersaBot va avanti e arriverÃ* a compimento, conto di portarlo operativo al 100% per la gara/raduno di Pisa 2007 (metÃ* Gennaio), settimana prossimo inìzio a costruire la meccanica che stimo di terminare in 15/20 gioni, cercherò di documentare con tante foto tutte le fasi della realizzazione in modo che sia facilmente riproducibile. Se può interessare oggi ho sentito quello che mi fa il taglio laser, mi ha fatto un preventivo di 70 Euro per quattro dischi in policarbonato (lexan) da 3mm con raggio 250mm completi dei vari fori/scassi. Il pianale di base sarÃ* realizzato scatolato tramite due dischi posti a 6 mm distanza con una serie di colonnine, in questo modo peserÃ* solo 560 grammi offrendo nel contempo robustezza e rigiditÃ*. |
"Per suo uso personale"
Beh non è proprio così, anche se alla fine il risultato sarÃ* questo. Diciamo, se non ho capito male, che il progetto dovesse dare la possibilitÃ* di montare più schede mediante un BUS. Di schede ovviamente se ne possono fare di tutti i tipi. Non è detto che di scheda display ne debba esistere un solo tipo, Non credo che ne Astro ne Selfservice ne tutti gli altri "Navigati" le possa interessare l'uso di un display 16x2 ...... Diciamo che anche io volevo partecipare realizzando qualcosa, e in base alla mia esperienza volevo fare una cosa da me gestibile. Scusa Self se sembra che ti ho liquidato .... non voleva essere questo il mio pensiero, (è dall'altro giorno che giro su internet per capire come funzionano i display grafici, compact flash e MMC). Il display che ho proposto non vuole essere esaustivo della visulizazione, sarei un pazzo se pensassi una cosa del genere. Solo che ho poco tempo per riuscire a gestire il dislay minimo e un display ben più corposo. Quindi dicevo, intanto realizzo il primo che essendo poco importante credevo non interessasse a nessuno, poi se c'è qualcuno che si propone per realizzarne uno grafico etc., io mi accodo altrimenti mi ci dedico, magari insieme a te Selfsevice ;) . Comunque ho in mente, con lo stesso principio di fondo (stesso BUS), di fare molte altre schede/minischede, che a chi serviranno potrÃ* usarle nel proprio bot, Ovviamente parlo in primis di persone più princiapianti di me. Le idee: 1) Una scheda driver per i motori con 298, con a bordo resistenze per la lettura della corrente e il 7404 per i segnali (ho visto quello di Vincenzo V e con poche modifiche si potrebbe realizzare); 2) Una rs232 <-> rs485 (in giro costano anche 50 euro .....) così chi vuole alla nostra rete ci collega il PC; 3) .............. ........... avanti con le idee e avanti a realizzarle! Saluti Nonno |
Citazione:
Dato il tono della discussione premetto che non e' polemica la mia domanda: Il robot da te fatto, astro, dara' la possibilita' a noi di studiarlo? Mi riferisco in particolar modo ai firmware, per esempio il controllo pid etc... o pensi di fornire solo i .HEX? |
Citazione:
Bah, forse mi sono perso dei post ma francamente non credo. Comunque il progetto del robot è nato da un volere comune, per volere comune si è aperto un apposito forum. Forum nato e mantenuto affinche' si portasse avanti un progetto comune (leggi di tutti). Non ho mai sospettato che tu ti fossi appropriato di ciò, anche perchè se così fosse avresti avanzato dubbi sull'OT/IT del TUO progetto su questo forum. A questo punto non so che dire, credo sia il caso di riflettere su quello che ognuno di noi vuole, se poi ci sono idee condivise o condivisibili si vedrÃ*. Mi sembra di capire dai post di Self e nonno che non ero l'unico ad essere stato indotto in errore o sbaglio? |
Beh ragazzi ........ io mi sono buttato a pesce su questa storia perchè pensavo di poter imparare qualcosa e di poter partecipare al progetto (anche con piccole cose ignorate dai grandi)
Ma, se non si vuole più portare avanti il progetto, o se devo essere il solo a giocare, mi rimetto a rompermi la testa con il mio di bot, che stavo abbandonando per fare qualcosa qui. Saluti Nonno |
Citazione:
qui le decisioni le prendono tutti, se vuoi imporre qualcosa hai sbagliato posto. Citazione:
Citazione:
Citazione:
Citazione:
Citazione:
t'ho anche espresso in privato il mio apprezzamento e supporto per il tre ruote e l'ho difeso quando c'era da decidere su più basi xche lo ritenevo un alternativa a quello che si vede di solito, ma sta perdendo la motivazione originaria, il 90% di quelli che bazzicano in questo forum se fai come dici tu non ci capiranno mai un cazzo. ora vi saluto che mi aspetta la fica, tu continua pure a smanettare col versabot x marnic: io l'ho capito almeno un centinaio di post fÃ* a che genere di problemi si andava incontro, finalmente sono arrivati ed è ora di risolverli. |
Forza ragazzi, non mettiamola su questi toni, ci rimango troppo male se per incomprensioni che possono essere benissimo risolte, finisce tutto a put....
Io non sono d'accordo sul progetto individuale, ma di certo non cado dalle nuvole quando leggo le parole di Astro, perchè aveva chiaramente espresso lo stesso concetto qualche giorno fa (se qualcuno non ricorda, posso cercare il post). Certamente diaspiace sentir dire frasi come "faccio tutto io", perchè con la giusta guida e con un buon lavoro di squadra sono certo che tutti sono capaci di fare qualcosa. Cmq il progetto comune non è assolutamente a rischio perchè c'è tanta gente che ha voglia di fare e imparare e ci sono ottime possiblitÃ* di riuscita anche grazie ad astro che immediatamente ha messo disposizione la documentazione. |
Citazione:
Citazione:
Self, dai perfavore, non arrabbiarti e cerca di contenerti :confused: |
Citazione:
L'asserzione che il progetto è mio significa che è una mia idea e che lo dirigo io, poi se non vi interessa a crescere ed imparare cose nuove allora non ci sono problemi mi metto da parte e vado avanti per la mia strada in privato. |
Citazione:
Del resto mi pare che in pochi giorni ho sfornato un modello 3D realistico della base risolvendo buona parte dei problemi meccanici e ho progettato la prima scheda elettronica, non mi pare poco visto che è stato fatto in meno di una settimana. Certo ho avuto il grosso vantaggio di essere in ferie e avere a disposizione molto tempo libero da dedicare alla cosa, purtroppo la pacchia è finita e ora le cose andranno avanti più lente. |
Salve,
vorrei chiedere ad astro come si chiamano i connettori maschi a 90° in eagle. Ho trovato solo l'8x1 nella lib conn-lstb, a me servirebbero 3x1. |
Citazione:
|
1 Allegato(i)
Citazione:
Non ci sono senza il "case"? Guardando la lib di eagle3D, sembrerebbe di si, ma il nome del file non dice granchè. Forse si riferisce al package... |
astro per il motion controller non si possono utilizzare 3pic 18f2550 al posto dei 18f2431 ?perchè il mio programmatore non supporta i 18f2431 ma solo i 18f2550 ciao:D:D:(:(
|
Citazione:
|
problema risolto per tutti gli altri pic ,solo il pic 18f2431 non posso programmare , c'è qualcuno che ha un programmatore compatibile e può inserirci il firmware che verrà fatto da astro?
|
Citazione:
Per programmare i 18F2431 non serve un programmatore speciale, serve solo il relativo software di controllo che li preveda. Che programmatore usi ? |
ciao ,uso questo programmatore ,comunque se tutto è già pronto allora siamo a postohttp://www.futurashop.it/images_la/8220-K8076.jpg
|
Tutti gli orari sono GMT. Adesso sono le: 07.44.49. |
Basato su: vBulletin Versione 3.8.8
Copyright ©2000 - 2023, Jelsoft Enterprises Ltd.