fbpx

Expresate

Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:

Avisos
Vaciar todo

Construcción de microrobot

69 Respuestas
11 Usuarios
0 Reactions
21.7 K Visitas
quiquelin
Respuestas: 21
Topic starter
(@quiquelin)
Eminent Member
Registrado: hace 16 años

Buenas a todos, me llamo quique y soy nuevo por el foro...escribiendo, por que llevo mucho tiempo leyendolo.

Me he arrancado a escribir por que estoy realizando mi proyecto fin de carrera (estoy terminando mis estudios de ingenieria industrial).

Mi proyecto consiste en la construcción de un microrobot. Este microrobot cuenta con una placa, bueno en realidad son dos. La primera se utiliza para el control de los motores y los sensores del robot y la segunda es el cerebro digamos. De la primera no tengo problema ya que tengo los planos ya que voy a utilizar los planos de la sky293, una placa desarrollada para el skybot, un robot de caracteristicas similares al mío en la autónoma de Madrid diseñado por obijuan, miembro de este foro.

El problema viene en al segunda placa, voy a utilizar para controlarla un micro pic 16f876a, y para conectarlo al pc un usb. No es necesaria la conexión por rj11 para la programación ya que vamos a utilizar un bootloader para poder cargar los programas por usb. Vamos a utilizar un conversor usb-serie (ft232rl de ftdi ) para poder conectarlo al pic y luego una serie de conectores bus de 10 pines para poder conectarlo con la placa antes mencionada.

El robot se va a conectar al pc mediante un módulo de radiofrecuencia, en concreto uno que distribuye microchip y del que ya se ha hablado en el foro. El módulo en cuestión es el mrf24j40ma. Lo tengo desde hace 1 mes...y sinceramente no he sido capaz de hacer nada más que jugar a encender y apagar luces con el entre las placas que acompañan a los módulos. Las placas que acompañan a los módulos son parte del kit picdem que trae dos módulos completos y dos placas con un 18f4620 para poder trastear un pcoo con ellos...pero no he conseguido nada.

En definitiva estoy bastante atascado por que no se que hacer con los módulos ni nada si alguien me pudiese ayudar le estaría muy agradecido.

Un saludo y perdón por todo el rollaco pero entiendo que cuantos más datos dé mejor se entenderá mi problema. Si necesitais algun dato más o los planos o lo que sea pedidmelos y os los proporciono encantado.

Responder
68 respuestas
victorblue
Respuestas: 64
(@victorblue)
Trusted Member
Registrado: hace 16 años

Pues hoy me han llegado el arduino y el modem bluetooth que había pedido. En concreto el bluetooth es éste:

http://www.sparkfun.com/commerce/product_info.php?products_id=582 " onclick="window.open(this.href);return false;

Me temo que al final me equivoqué y no pedí el que traía conector rpsma, que tendría más alcance ( el dongle usb tampoco tiene, asi que no serviría tampoco para mucho).

Pues como ya tenía la SSC-32, he grabado un video esta tarde para que veáis como funciona la cosa. Hay más cables de la cuenta, pues quería asegurarme de que el SSC-32 regulaba a 5V la alimentación del modem bluetooth.

http://www.youtube.com/watch?v=a5_VutzbJTI
(las marcas del youtube del editor no van.)

Sobre el alcance, lo he probado juntitos y a unos 5 metros ( que es lo que me daba la habitacion de punta a punta) e iba bien. Cuando ya tiene que pasar un par de puertas no coge señal ( igualico que una pda que tengo que la wifi es una caca...) 😆

Ya que veo que funciona, lo que me "queda" es enchufarla al arduino y programar éste para que maneje 2 servos, el modem y 2/3 sensores IR.

Ya me contáis que os parece!!!

Responder
quiquelin
Respuestas: 21
Topic starter
(@quiquelin)
Eminent Member
Registrado: hace 16 años

Buenas a todos de nuevo, vengo para contaros un pequeño problema que me ha surgido y que no soy capaz de resolver y que seguramente vosotros tengais la solucion por que es una tontería. Bueno he montado mi placa y la estoy probando de momento sin módulo inalámbrico por que no sé dond eencontrar un conector que se adapte, lo estoy buscando. Pero para empezar con el robot he probado cosas sencillitas, encender un led. Mover un motor, al activar un sensor que se encienda el led, nada del otro mundo lo he conseguido "sin mucho" esfuerzo. El caso es que y aquí viene el problema, no me permite guardarlo en el pic, para que le programa corra solo, es decir, yo escribo mi programa, y puedo usar el debug y probar el debug con el programador conectado pero al desconectar el programador, es como si en mi robot el programa desapareciera...me podeís echar una mano? Estoy trabajando con MPLAB, con el compilador C18 que te permite descargar microchip durante 60 dias, y un programador de microchip icd2. Os pongo el tipico programita tonto...a ver si es que hay algo mal en la programación que seguramente sea lo que pase, gracias de antemano un saludo.

#include <p18f2550.h>

/*

#pragma config PLLDIV = 5 // Ya que el cristal es de 20 Mhz … esto para los 96MHz de USB
#pragma config CPUDIV = OSC4_PLL6
#pragma config USBDIV = 1 // Para que lo tome del cristal
#pragma config FOSC = XT_XT // Usar cristal en programa y en usb
#pragma config FCMEN = OFF // Fail Safe Clock Monitor
#pragma config IESO = OFF // Internal / External Switch Over
#pragma config PWRT = OFF // Power Timer OFF
#pragma config BOR = OFF // Brown out reset
#pragma config BORV = 0 // Brown Out voltage
#pragma config VREGEN = OFF // Usb voltage regulator
#pragma config WDT = OFF // watch dog
#pragma config WDTPS = 32768 // watch dog preescaler
#pragma config MCLRE = ON // mclr
#pragma config LPT1OSC = OFF // low power timer
#pragma config PBADEN = OFF // se configura el puerto B como digital…
#pragma config CCP2MX = ON // ccp2 se multiplexa con B3
#pragma config STVREN = OFF // stack overflow reset
#pragma config LVP = OFF // low voltage icsp
#pragma config XINST = OFF // extended instruction
#pragma config DEBUG = OFF
#pragma config CP0 = OFF // proteccion de lectura bloque 0…
#pragma config CP1 = OFF // proteccion de lectura bloque 1…
#pragma config CP2 = OFF // proteccion de lectura bloque 2…
#pragma config CP3 = OFF // proteccion de lectura bloque 3…
#pragma config CPB = OFF // proteccion de lectura boot clock
#pragma config CPD = OFF // proteccion de lectura eeprom
#pragma config WRT0 = OFF // proteccion de escritura bloque 0…
#pragma config WRT1 = OFF // proteccion de escritura bloque 1…
#pragma config WRT2 = OFF // proteccion de escritura bloque 2…
#pragma config WRT3 = OFF // proteccion de escritura bloque 3…
#pragma config WRTB = OFF // proteccion de escritura boot
#pragma config WRTC = OFF // proteccion de escritura config register
#pragma config WRTD = OFF // proteccion de escritura eeprom
#pragma config EBTR0 = OFF // read protection block 0
#pragma config EBTR1 = OFF // read protection block 1
#pragma config EBTR2 = OFF // read protection block 2
#pragma config EBTR3 = OFF // read protection block 3
#pragma config EBTRB = OFF // read protection block boot
*/
void main(void)
{
ADCON1= 0x0F;
TRISB = 0b00000000; // todos los pines son salidas en el puerto B
TRISA = 0b11111111; // todos los pines son entradas en el puerto A
while(1)
{

// if(((PORTA|0xFD)==0xFF)&&((PORTA|0xFB)==0xFF)) //infinity loop
if(PORTAbits.RA1==1 || PORTAbits.RA2==1)
{
PORTB = 0x02; // Enciende el led
}
else
{
PORTB = 0x00; //Enciende el motor para saber que no está pulsado
}

}
}

Sé que los pragma están comentados, he decidido tocar la configuración de los bits por que me es mas sencillo pero me gustaría hacerlo por código. Algún dato más...cristal a 20 MHz...y no sé me ocurre que más podaís necesitar, lo que sea me lo pedis y os lo proporciono, gracias

Responder
fj_sanchez
Respuestas: 1083
(@fj_sanchez)
Ardero
Registrado: hace 19 años

Muy buenas, suele ser un error muy común cuando se está usando por primeras veces el MPLAB. Lo que tienes que hacer es cambiar de modo "debug" a "release" en el menú desplegable de la barra de herramientas. Tras eso, vuelve a compilar la aplicación y ya deberías de poder programarlo sin problemas. Si aún así no te funciona prueba a desactivar el debugger y selecciona el ICD2 en el menú de Programmer. Programas con eso y a correr.

Un saludo.

Responder
ubanov
Respuestas: 195
(@ubanov)
Estimable Member
Registrado: hace 16 años

Pues hoy me han llegado el arduino y el modem bluetooth que había pedido. En concreto el bluetooth es éste:

http://www.sparkfun.com/commerce/product_info.php?products_id=582 " onclick="window.open(this.href);return false;

Me temo que al final me equivoqué y no pedí el que traía conector rpsma, que tendría más alcance ( el dongle usb tampoco tiene, asi que no serviría tampoco para mucho).
[...]
Ya me contáis que os parece!!!

tiene muy buena pinta... yo quería hacer algo parecido, pero desde Linux. El caso es que desde linux no me puedo conectar a los conversores BT que tengo (son unos muy viejos que compré cuadno no existían los GPS BT, y con eso conseguí conectarme a él por cable). El caso es que estaría dispuesto a comprarme otro adaptador, pero si supiese que anda. Sabes si el tuyo anda en linux?!? o no has hecho prueba

Responder
victorblue
Respuestas: 64
(@victorblue)
Trusted Member
Registrado: hace 16 años

Perdon por el retraso,

Pues he probado un adaptador bluetooth usb con el ubuntu; me reconoce como dispositivo usb pero no termina de conectar al modem bt. He pedido uno a dealextreme y de paso he apañao un adaptador por cuatro perras y ya tendre otro para probar, por 8 dolares, no hay dolor!

El que he probado es conceptronics, aunque no se el chip que trae. Me esperare a recibir el de 8 dolares a ver si va a la primera y si no ya me pondré a que funcione; espero no tener que hacer ingenieria inversa, pero mi proyecto va en Linux porque uso el interfaz video4linux para la cámara inalámbrica.

Responder
Página 13 / 14
Compartir: