Progetti

   

Tutorial

   

Servizi

   
Benvenuto, Ospite
Nome utente: Password: Ricordami

ARGOMENTO: ROVER

ROVER 10 Anni 2 Settimane fa #1

  • luongo
  • Avatar di luongo
  • Offline
  • Expert Boarder
  • Leave no man behind!!
  • Messaggi: 131
  • Karma: 1
Buongiorno a tutta la community! Mi sto cimentando nella proggettazione e nella realizzazione di un rover radiocomandato. Il rover sarà cingolato con una microcamera in testa. Per quanto riguarda il radiocomando prevedo un joystik a due assi per sancirne velocità e direzione, accompagnato da un display LCD che fornisce informazioni riguardanti la batteria (tramite la cgram farei la classica piletta stilizata) e l'accensione o meno di dei LED IR a bordo del rover. A bordo del rover c'è un altro microcontrollore PIC che elabora il segnale ricevuto e quindi pilota i LED precedentemente menzionati e il modulo che controlla i motori l'MDSMC della pololu un motor driver seriale pilotato dal modulo USART del PIC. Spero che il mio progetto possa piacere e intrigare qualcuno so che magari visti gli standard del sito è semplice spero almeno in qualche consiglio. Grazie e crodiali saluti Davide.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Re: ROVER 10 Anni 2 Settimane fa #2

  • Matteo Garia
  • Avatar di Matteo Garia
  • Offline
  • Moderatore
  • Messaggi: 376
  • Ringraziamenti ricevuti 38
  • Karma: 10
Ciao!
il progetto è indubbiamente interessante, e tutt'altro che banale :)

La comunicazione radio tra i due pic hai già pensato a come implementarla? Noto che hai l'usart della ricevente occupata dal driver motori, usi quindi un pic con doppia seriale?

seguo interessato

saluti,
Matteo
Ultima modifica: 10 Anni 2 Settimane fa da Matteo Garia.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Re: ROVER 10 Anni 1 Settimana fa #3

  • luongo
  • Avatar di luongo
  • Offline
  • Expert Boarder
  • Leave no man behind!!
  • Messaggi: 131
  • Karma: 1
Matteo Garia ha scritto:
Ciao!
il progetto è indubbiamente interessante, e tutt'altro che banale :)

La comunicazione radio tra i due pic hai già pensato a come implementarla? Noto che hai l'usart della ricevente occupata dal driver motori, usi quindi un pic con doppia seriale?

seguo interessato

saluti,
Matteo

Allora di seguito spiego a parole i due codici:
-TX: il firmware del TX al termine dell'inizializzazione visualizza su un display LCD 16x2 la scritta "ATSS READY", (ATSS = All Terrain Surveillance System è il nome che ho dato al mio roverino), mantenendola visibile per 1,5 secondi. Per poi visualizzare la scritta "NV_OFF" (NV = Night Vision) a sinistra e a destra verrà visualizzato lo stato della batteria tramite una piccola batteria stilizzata (ottenuta con la CGRAM). Fatto ciò il uC acquisirà due dati analogici da un joystick (quello della PS2) i dati ottenuti a 8 bit verranno processati e inviati all'MDSMC ma di questo ne parlerò dopo. Seguentemente farà un'altra acquisizione sul livello della batteria che se risulterà ingferiore a un dato valore aggiornerà quanto visualizzato sull'LCD. Infine controlla se è stato premuto un pulsante normalmente aperto, non appena rilevata la pressione del pulsante, procederà con il controllare se i LED IR a bordo del rover sono già accesi (per mezzo di una variabile temporanea complementata opportunamente) o meno e in caso di variazione aggiornerà quanto visualizzato sull'LCD. L'MDSMC (il driver dei motori) ha bisogno di quattro byte per funzionare: start byte 0x80, device byte 0x00, motor number and direction byte (oppurtunamente mappati in variabili a otto bit a seconda della direzione) e uno speed byte. Lo speed byte è dato dall'acquisizione sui due assi. Le acquisizioni a otto bit sono 0 a 255 mentre l'MDSMC accetta valori da 0 a 127. Ho pensato di usare 128 come valore (in realtà i valori di quete sono da 132 a 122 così ho un offset di un decimo di volt visto che condizionerò il segnale del joystick in maniera tale da avere 2,5V in stato di quiete) di quiete e a seconda della direzione del joystick sottrarre a 128 il valore dell'acquisizione oppure sottrarre dal valore dell'acquisizione 128 per ottenere il valore di velocità e decodificarne la direzione. Seguentemente una funzione conterà i byte inviati, raggiunti i quattro byte terminerà la trasmissione. In altri casi seguirà un codice da me ideato per l'occasione che non specifico.

-RX: il firmware dell'RX non fa altro che interpretare quanto mandato dal TX e controllare i LED IR e pilotare il driver motori. Quindi in fase di ricezione uso l'USART sul piedino RX e invece quando il uC deve comunicare con l'MDSMC lo uso sul pin TX.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Re: ROVER 10 Anni 1 Settimana fa #4

  • luongo
  • Avatar di luongo
  • Offline
  • Expert Boarder
  • Leave no man behind!!
  • Messaggi: 131
  • Karma: 1
Software tx quasi ultimato!! Provvederó a postarlo per eventuali consigli/correzioni
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Re: ROVER 10 Anni 1 Settimana fa #5

  • Mauro Laurenti
  • Avatar di Mauro Laurenti
  • Offline
  • Moderatore
  • Messaggi: 4703
  • Ringraziamenti ricevuti 564
  • Karma: 52
...ottimo!

...magari anche qualche foto!
Anche l'occhio vuole la sua parte! :)

Saluti,

Mauro
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.
Powered by Forum Kunena
   
© LaurTec 2006-2022