Vous êtes sur la page 1sur 23

Kevin Rivera Baldiviezo

Ervin Salazar Rocha

Giovanni Challapa Villca


Control inalámbrico de un motorizado mediante acelerómetro para
personas con capacidades diferentes

Integrantes: Ervin Salazar R. C6428-9

Giovanni Challapa V. C5880-7

Kevin Rivera B. A17528-5

CBBA,BOLIVIA
Introducción. -

El propósito del proyecto es reflejar un modelo de silla de ruedas eléctrica (Prototipo) para
personas con capacidades distintas, parapléjicos , etc . El control se realizara en un guante y con el
componente Adxl 335 (acelerómetro) que es un control de posición en 3 ejes X, Y , Z el cual será el
sensor principal del sistema, en su mayoría las sillas de ruedas eléctricas tienden a tener un control
(joystick) con el cual direccionan la silla pero esto dificulta el manejo para algunas personas, es por
ello se realizó este prototipo.
Objetivos:

Realizar un prototipo de una silla de ruedas

Realizar el sistema de control para dicha silla de ruedas (prototipo).

Materiales.

Materiales y equipo utilizado

Resistencias

Cables de conexion

Regulador 7805
Cristal de cuarzo (16MHz)

Atmega 16

HT12D Y HT12E (DECODER Y ENCODER)


Modulo tx y rx

Fuente de Alimentación(5Vdc-12Vdc-24Vdc)

L293D (controlador para motores)

AcelerometroADXL335
HK15138 Standard Analog Servo

Multímetro

Marco teórico. -

Características generales del ATmega16/16L

*Microcontrolador AVR de 8 bit de alto rendimiento y bajo consumo.

* Arquitectura RISC avanzada.


- 131 instrucciones. La mayoría de un simple ciclo de clock de ejecución.
- 32 x 8 registros de trabajo de propósito general.
- Capacidad de procesamiento de unos 16 MIPS a 16 MHz.
* Memorias de programa y de datos no volátiles.
- 16K bytes de FLASH autoprogramable en sistema.
Resistencia: 1.000 ciclos de escritura / borrado.
Operación de lectura durante la escritura.
- 512 bytes de EEPROM.
Resistencia: 100.000 ciclos de escritura / borrado.
- 1K bytes de SRAM interna.
- Bloqueo (cerradura) programable para la seguridad del software.

* Interface JTAG.
- Mantenimiento de eliminación de errores On-Chip.
- Programación de FLASH, EEPROM, fusibles y bits de bloqueo a través de
la interface JTAG.
- Capacidades de Boundary Scan de acuerdo con el Standard (norma) JTAG.

* Características de los periféricos.


- Dos Timer/Contadores de 8 bits con prescaler separado y modo comparación.
- Un Timer/Contador de 16 bits con prescaler separado, modo comparación y
modo de captura.
- Comparador analógico On-Chip.
- Timer watchdog programable con oscilador separado On-Chip.
- Interface serie SPI maestro/esclavo.
- USART serie programable.
- Contador en tiempo real con oscilador separado.
- ADC de 10 bit y 8 canales.
8 canales de terminación simple
7 canales diferenciales sólo en el encapsulado TQFP.
2 canales diferenciales con ganancia programable a 1x, 10x o 200x.
- 4 canales de PWM.
- Interface serie de dos hilos orientada a byte.
* Características especiales del microcontrolador.
- Reset de Power-on y detección de Brown-out programable.
- Oscilador RC interno calibrado.
- Fuentes de interrupción externas e internas.
- 6 modos de descanso: Idle, reducción de ruido ADC, Power-save,
Power-down, Standby y Standby extendido.

* I/O y encapsulados
- 32 líneas de I/O programables.
- PDIP de 40 pines, TQFP y MLF de 44 pines.
* Tensiones de funcionamiento.
- 2.7 - 5.5V (ATmega16L).
- 4.5 - 5.5V (ATmega16).

* Niveles de velocidad.
- 0 - 8 MHz (ATmega16L).
- 0 - 16 MHz (ATmega16).

Acelerómetro ADXL335

El sensor acelerómetro ADXL335 nos permite medir la aceleración en los tres ejes espaciales X,Y,Z.
Es un sensor compacto y de tamaño muy reducido. Funciona a 3.3v y normalmente lo
encontramos en forma de módulo con los componentes necesarios para su conexión directa a la
placa Arduino.

El rango capaz de medir este sensor es de -3G a +3G (G=aceleración de la gravedad, 1G=9.8m/s2)
El sensor se conecta a tres entradas analógicas, una por cada eje de medición, el conector VCC se
conecta a 3.3v

Con los valores de aceleración podemos medir la velocidad, detectar “sacudidas“, detectar
“gestos” o analizar movimientos como andar o correr (podómetro). Un ejemplo del uso de
acelerómetros es el famoso mando de la videconsola Wii (a parte de acelerómetros incluye otros
sensores como giroscopios)

Con el sensor ADXL335 además de obtener los valores de aceleración, mediante algunos cálculos
trigonométricos (que ArduinoBlocks realiza automáticamente) podemos obtener los valores de
rotación: roll (ángulo de rotación en ejex X) y pitch (ángulo de rotación en eje Y).
El valor de yaw (ángulo de rotación en eje Z) no podemos calcularlo sólo con un acelerómetro
pues en este sentido de giro la aceleración por efecto de la gravedad no varía, por lo que
necesitaríamos otros sensores más sofisticados que combinan acelerómetros con giroscopios o
sensores magnéticos (IMU).

Características del HT12D


El Circuito integrado HT12D es un decodificador serial de datos para aplicaciones de control
remoto. Este circuito es especialmente util para ensamblar dispositivos receptores de control
remoto que usan canales de RF o medios infrarrojos como medio de transmisión. El circuito
convierte un flujo de datos serial en 4 bits de datos de salida. Durante el proceso de recepción se
realiza una comparación de la dirección en el flujo de datos con la dirección seleccionada
localmente antes de colocar los cuatro bits de salida en los pines correspondientes.

 Voltaje de operación 2.4 a 12V


 Bajo consumo de corriente en Standby
 Capaz de decodificar 12 bits de información
 Ajuste de dirección binaria
 Decodifica 8 bits de dirección y 4 bits de datos
 Oscilador integrado que solor equiere un resistor de 5% de tolerancia
 Pin de salida de recepcón válida
Características del HT12E:
El Circuito integrado HT12E es un codificador (encoder) serial de datos para aplicaciones de
control remoto. Este circuito es especialmente util para ensamblar dispositivos transmisores de
control remoto que usan canales de RF o medios infrarrojos como medio de transmisión. El
circuito codifica 4 bits de datos y 8 bits de dirección en un flujo de datos que es transmitido en
forma serial a través de un módulo de radio frecuencia o señales infrarrojas. La señal debe ser
recibida con el decodificador correspondiente (HT12D).

 Voltaje de operación 2.4 a 12V


 Bajo consumo de corriente en Standby
 Capaz de codificar 12 bits de información
 Ajuste de dirección binaria
 Codifica 8 bits de dirección y 4 bits de datos
 Oscilador integrado que solor equiere un resistor de 5% de tolerancia
 Pin de salida de recepcón válida
Módulo TX:
 Voltaje de Operación: 3.5V~12V
 Entrada de datos: TTL
 Corriente de trabajo: Máximo <= 40mA (12V), mínimo <= 9 mA (3.5V);
 Alcance: 20 metros~200 metros (a mayor voltaje, mayor potencia de transmisión)
 Potencia de transmisión: 10 mW (5V);
 Frecuencia de transmisión: 433MHz
 Tasa de transferencia de datos: 4KB/seg
 Baud Rate recomendado: 2400
 Modulación: ASK/OOK
 Antena (no incluida): Alambre de cobre de 25cm (recomendado)
 Pines de salida: DATA(TX)/VCC/GND
Módulo RX:
 Voltaje de Operación: 5V DC
 Consumo de corriente: 4mA
 Sensibilidad del receptor: -105dB
 Frecuencia de recepción: 433MHz
 Modulación: ASK/OOK
 Principio de funcionamiento: Receptor Superregenerativo
 Antena (no incluida): Alambre de cobre de 25cm~32cm (recomendado en forma de espiral)
 Pines: GND/DATA(RX)/VCC
L293D

El Circuito Integrado L293D y L293 incluye en su interior 4 drivers o medio puente H. La corriente
máxima que el L293 puede manejar es de 1A a voltajes desde 4.5 volts a 36 volts, mientras que
la corriente constante es de 600 mA.
Todas las entradas del Circuito Integrado L293D son compatibles con TTL, por lo que pueden
manejarse con la mayoría de los micro controladores y circuitos lógicos del mercado. La salida de
los drivers puede activarse y desactivarse en pares, mediante señales de habilitación. Cuando se
presenta un 1 lógico en los pines de habilitación, las señales correspondientes de salida estarán
activas y en fase con la señal de entrada. Cuando las entradas de habilitación presentan un estado
lógico 0, las salidas se encuentran en estado de alta impedancia.
Gracias a que este circuito integrado es capaz de producir corriente bidireccionales es útil en
aplicaciones que requieran controlar la dirección de giro y potencia de motores de DC, inclusive
también pudiera utilizarse para controlar Relés, motores de paso bipolares, solenoides y cualquier
otro dispositivo electrónico de corriente contínua.

Características del Circuito Integrado L293D :


 Corriente de salida de 600 mA
 Corriente pico de salida 1 A por canal (no repetitiva).
 C.I. que consta con 16 pines
 Alta inmunidad al ruido electrónico
 Alimentación de 45. a 36v
 Protección contra exceso de temperatura
 Diodos de protección incorporados

HK15138 Standard Analog Servo


Spec.
Torque: 3.8kg @ 4.8v, 4.3kg @ 6v
Weight: 38g
Speed: 0.21 / 60deg @4.8v, 0.17 / 60deg @ 6v
Voltage:4.8v~6v

Tablas de calibración para ADXL335

ESTABLE INICIO:

Vref= 5V X Y Z
PRUEBA 1 330 360 351
PRUEBA 2 324 321 360
PRUEBA 3 330 330 360
PRUEBA 4 328 332 370
PRUEBA 5 324 324 354
PRUEBA 6 300 300 360
PRUEBA 7 310 315 365
PRUEBA 8 310 310 370

AVANZAR

VRef=5V X Y Z
PRUEBA 1 360 340 370
PRUEBA 2 370 342 360
PRUEBA 3 360 330 355
PRUEBA 4 368 335 360
PRUEBA 5 310 300 330
PRUEBA 6 325 290 325
PRUEBA 7 320 280 335
REVERSA

Vref=5V X Y Z
PRUEBA 1 310 335 385
PRUEBA 2 300 315 360
PRUEBA 3 315 315 380
PRUEBA 4 290 320 370
PRUEBA 5 290 320 385
PRUEBA6 320 345 385

GIRO DERECHA

Vref=5V X Y Z
PRUEBA 1 340 290 370
PRUEBA 2 330 290 360
PRUEBA 3 330 280 330
PRUEBA 4 340 288 355
PRUEBA 5 327 284 327
PRUEBA 6 330 270 330
PRUEBA 7 280 240 330

GRIO IZQUIERDA

Vref=5V X Y Z
PRUEBA 1 320 365 310
PRUEBA 2 300 345 330
PRUEBA 3 305 335 335
PRUEBA 4 327 360 340
PRUEBA 5 290 340 320
ESTABLE INICIO

Vref=3V X Y Z
PRUEBA 1 500 485 600
PRUEBA 2 499 500 615
PRUEBA 3 505 510 625

AVANZAR

Vref=3V X Y Z
PRUEBA 1 550 485 580
PRUEBA 2 610 590 600
PRUEBA 3 570 510 605

REVERSA

Vref=3V X Y Z
PRUEBA 1 500 485 580
PRUEBA 2 460 497 600
PRUEBA 3 420 510 603

GIRO DERECHA

Vref=3V X Y Z
PRUEBA 1 500 420 480
PRUEBA 2 530 400 499
PRUEBA 3 547 380 620
GIRO IZQUIERDA

Vref=3V X Y Z
PRUEBA 1 500 550 540
PRUEBA 2 520 600 590
PRUEBA 3 540 630 630

Procedimiento

1) Revisar la hoja de especificaciones de cada componente antes de utilizarlo, ver su correcto


funcionamiento Conocer los voltajes de toleración en alimentación, esto para evitar daños a los
componentes.

2) Realizar pruebas de todos los sensores y actuadores para verificar su correcto funcionamiento
antes de unir todo el sistema.

3) Realizar una verificación del atmega 16 grabando un programa básico para encender un led,etc

4)Calibrar el acelerómetro ADXL335 haciendo pruebas y tomando datos de los rangos que abarca
todos sus movimientos ( adelante , reversa ,derecha , izquierda).

5)Probar el sistema completo con leds como verificadores antes de conectar los motores

6) Armar el prototipo de la silla de ruedas con cañerias de agua de ½ pulgada

7) Acoplar los motores con las llantas que se utilizaran y posteriormente terminar de armar el
prototipo con las ruedas listas para la prueba

8) Realizar pruebas con el rango de alcanze que llegara a tener los modulos TX y RX.
Código en Atmel estudio:

#define F_CPU 16000000UL

#include<avr/io.h>

unsigned int leer_adc(unsigned char entrada_adc)

ADMUX=entrada_adc|(1<<REFS0);

ADCSRA|= (1<<ADSC);

while ((ADCSRA & 0x10)==0);

ADCSRA|=(1<<ADIF);

return ADCW;

void ADCinit()

{ADCSRA|=(1<<ADEN)|(1<<ADPS1)|(1<<ADPS2)|(1<<ADPS0);

void PWM_init()

{TCCR0 = (1<<WGM00) | (1<<WGM01) | (1<<COM01) | (1<<CS00);

DDRB|=(1<<PB3);

DDRD|=(1<<PD7);

void main()

DDRC=0b11111111;

int muestra1,muestra2,muestra3,x,y,z;
int ervin;

PWM_init();

ADCinit();

while(1)

muestra1=leer_adc(0);

x=muestra1;

muestra2=leer_adc(1);

y=muestra2;

muestra3=leer_adc(2);

z=muestra3;

if (x>=500 && x<=549 && y>=485 && y<=520 && z>=595 && z<=620 )

{ PORTC=0;

if (x>=10 && x<=490 && y>=480 && y<=515 && z>=576 && z<=610)

//OCR0=240;

//OCR2=240;

PORTC=10;

if (x>=550 && x<=1000 && y>=480 && y<=515 && z>=550 && z<=615)

PORTC=5;
}

if (x>=495 && x<=550 && y>=10 && y<=415 && z>=475 && z<=650)

//OCR0=240;

//OCR2=240;

PORTC=9;

if (x>=500 && x<=555 && y>=550 && y<=1000 && z>=540 && z<=650)

{ //OCR0=240;

//OCR2=240;

PORTC=6;

//if(X Y Z) DIAGONAL DERECHA

//{

//OCR0=255;

//OCR2=240;

//}

//if(X Y Z) DIAGONAL IZQUIERDA

//{

//OCR0=240;

//OCR2=255;

//}
Conclusiones y recomendaciones:

 Se realizo con éxito el sistema para el manejo de una silla de ruedas prototipo realizado
con tubos de cañería.
 Se necesito servomotores para lograr el movimiento del prototipo ya que motores dc no
poseen mucho torque para mover el prototipo. Para ello se utilizaron servosmotores de
4.3kg
 Tener en cuenta la calibración del sensor para un buen funcionamiento del sistema
 Alimentar con 9V de referencia para el controlador del motor (L293d).
 Los módulos de TX y RX pueden aumentar el rango de transmisión añadiendo una antena
de cobre en espiral.
 El acelerómetro es recomendable utilizar un voltaje de referencia a 3V para un mejor
control.
 Se trabajo el código para un PWM pero no se implemento en el proyecto porque se
requiere de otro atmega

Vous aimerez peut-être aussi