Sei sulla pagina 1di 194

ESCUELA TCNICA SUPERIOR DE INGENIERA

CIVIL E INDUSTRIAL

Proyecto Fin de Carrera


DESARROLLO DE UN VEHCULO ELCTRICO DE
CONTROL MANUAL Y REMOTO.

Titulacin: Ingeniera Tcnica Industrial. Especialidad Electrnica Industrial


Alumno: Jorge De Len Rivas
Tutor: D. Jess Miguel Torres Jorge

28 de Junio de 2013

Agradecimientos
Me gustara empezar dedicando este proyecto a la memoria de mis abuelos y de mi
to que tanto me ensearon cuando era pequeo y me atrajeron a este mundo de la
electrnica.
Quiero expresar mi agradecimiento, por su insustituible ayuda en este proyecto, a
mi tutor, Jess Torres.
Y expresar tambin mi gratitud al resto de personas que me han ayudado a lograr
mi objetivo. Algunas me han ayudado aportando material, otras una mano, o las dos,
cuando ha hecho falta montarlo algo y otras me han dado los empujones anmicos cuando
ms me han hecho falta.
Sin el apoyo de todos ellos, no lo hubiese conseguido.
Muchas gracias a todos.

[] En un mundo donde hay ms ordenadores que personas, tenemos que comprender como funcionan las
cosas, ya no para poder arreglarlos, sino, sencillamente, para poder comprender como funciona nuestra vida.
Y yo creo que es una necesidad..
David Cuartiles. Arduino: The Documentary. 2010.

Parte I
Memoria

ESCUELA TCNICA SUPERIOR DE INGENIERA


CIVIL E INDUSTRIAL

Proyecto Fin de Carrera


DESARROLLO DE UN VEHCULO ELCTRICO DE
CONTROL MANUAL Y REMOTO.
TOMO I
Memoria
Titulacin: Ingeniera Tcnica Industrial. Especialidad Electrnica Industrial
Alumno: Jorge De Len Rivas
Tutor: D. Jess Miguel Torres Jorge

28 de Junio de 2013

ndice
1. INTRODUCCIN: ............................................................................................ 1
1.1 Marco general del proyecto: ........................................................................................................................ 1
1.2 Objetivos: ......................................................................................................................................................... 3
1.2.1 Etapas del proyecto .......................................................................................................................................... 4
1.3 Estructura de la memoria: ............................................................................................................................ 6
2. MARCO Y ASPECTOS GENERALES: ............................................................. 7
2.1 Descripcin general del proyecto: .............................................................................................................. 7
2.2 Software y hardware abierto: ....................................................................................................................... 8
2.2.1 Arduino: .......................................................................................................................................................... 9
2.2.2 ISIS Proteus: ................................................................................................................................................ 15
2.2.3 DIPTrace: .................................................................................................................................................... 16
2.2.4 LiveCode Community 6.0: .......................................................................................................................... 16
3. ANLISIS DE OTROS VEHCULOS CONSTRUIDOS, DISEO Y
FABRICACIN DEL PROTOTIPO: .................................................................... 17
3.1 Go-karts: ......................................................................................................................................................... 17
3.2 Vehculos estudiados: .................................................................................................................................. 18
3.2.1 CapKart: ....................................................................................................................................................... 18
3.2.2 TinyKart: ...................................................................................................................................................... 21
3.2.3 Alexei 6x6: .................................................................................................................................................. 21
3.2.4 NeurotiKart: ................................................................................................................................................. 22
3.3 Diseo y construccin: ............................................................................................................................... 23
4. DISEO DE LA ELCTRONICA DEL VEHCULO ................................... 33
4.1 Idea general: ................................................................................................................................................... 33
4.2 Arduino MEGA 2560: ................................................................................................................................ 35
4.3 Mdulo Ethernet: ......................................................................................................................................... 38
4.4 Panel de control: ........................................................................................................................................... 39
4.4.1 Interruptor selector de modo: ........................................................................................................................ 40
4.4.2 Interruptor selector marcha: ......................................................................................................................... 48
4.4.3 Acelerador de moto: ...................................................................................................................................... 51
4.4.4 Thumb joystick: ............................................................................................................................................ 52
4.4.5 Displays 7 segmentos: ................................................................................................................................... 55
4.4.6 Panel LED informativo: ............................................................................................................................. 58
4.4.7 PCB Panel de Control: ................................................................................................................................ 60
4.5 Sistema de direccin: ................................................................................................................................... 60
4.6 Sistema de traccin: ..................................................................................................................................... 66
4.6.1 Puente H: ..................................................................................................................................................... 69
4.7 Protecciones: .................................................................................................................................................. 87
4.8 Conexiones elctricas y secciones de cable: ........................................................................................... 89
5. DISEO DEL SOFTWARE PARA ARDUINO .............................................. 92
5.1 Esquema general: ............................................................................................................................................. 92
5.2 Local 1: ............................................................................................................................................................ 93
5.3 Local 2: ............................................................................................................................................................ 93
5.4 Remoto: ............................................................................................................................................................. 95
5.5 Avance: ............................................................................................................................................................. 96
5.6 Retroceso: .......................................................................................................................................................... 96
5.7 Paro: ................................................................................................................................................................. 97

5.8 Letrero: ............................................................................................................................................................. 97

6. DISEO DEL SOFTWARE PARA EL DISPOSITIVO MVIL .................... 99


6.1 Introduccin ...................................................................................................................................................... 99
6.2 Comunicacin ................................................................................................................................................. 100
6.3 Estructura del programa ............................................................................................................................... 101
6.3.1 Carta Inicio: ............................................................................................................................................... 101
6.3.2 Carta Configuracin: ................................................................................................................................. 102
6.3.3 Carta Conduccin: ..................................................................................................................................... 103
7. CONCLUSIONES Y RESULTADO: ............................................................ 106
8. BIBLIOGRAFA: ........................................................................................... 108

MEMORIA 14

ndice de ilustraciones
Ilustracin 1.1 Dispositivo de control de velocidad "chino" ..................................... 2
Ilustracin 1.2 Diagrama de flujos de las etapas del proyecto. ................................... 4
Ilustracin 1.3 Procedimiento de desarrollo del vehculo ........................................... 6
Ilustracin 2.1 Elementos de control del vehculo ...................................................... 8
Ilustracin 2.2 Miembros del Arduino Team ............................................................ 10
Ilustracin 2.3 Comparacin entre la placa Arduino y la BASIC Stamp .................. 10
Ilustracin 2.4 Comparativa de precios entre el chip ATMega y el BASIC ...............11
Ilustracin 2.5 Primera placa de wiring......................................................................11
Ilustracin 2.6 Primer prototipo de placa Arduino ................................................... 12
Ilustracin 2.7 IDE. Entorno de desarrollo de Arduino ............................................ 13
Ilustracin 2.8 Primera placa de Arduino oficial ....................................................... 14
Ilustracin 2.9 Diferentes modelos de placas de Arduino......................................... 15
Ilustracin 2.10 Arduino + mdulo Ethernet ............................................................ 15
Ilustracin 3.1 Modelos de Go-Karts de madera ....................................................... 17
Ilustracin 3.2 Modelos de Go-Karts ms elaborados............................................... 18
Ilustracin 3.3 CapKart .............................................................................................. 19
Ilustracin 3.4 Diferencial del CapKart ..................................................................... 19
Ilustracin 3.5 Batera del CapKart ........................................................................... 19
Ilustracin 3.6 Motor del CapKart y esquema de proteccin.................................... 20
Ilustracin 3.7 Caja del ultra-condensador................................................................ 20
Ilustracin 3.8 Detalles del TinyKart......................................................................... 21
Ilustracin 3.9 Detalles del Alexei 6x6....................................................................... 22
Ilustracin 3.10 NeurotiKart ...................................................................................... 23
Ilustracin 3.11 Componentes principales de un kart ............................................... 24
Ilustracin 3.12 Planos de un chasis casero .............................................................. 25
Ilustracin 3.13 Distintas fotos del miniquad............................................................ 26
Ilustracin 3.14 Detalles del miniquad ...................................................................... 27
Ilustracin 3.15 Organizacin del kart ...................................................................... 27
Ilustracin 3.16 Detalle del soporte para motor ........................................................ 28
Ilustracin 3.17 Manillar y brazo de la direccin ...................................................... 29
Ilustracin 3.18 Tornillos del vehculo ...................................................................... 30
Ilustracin 3.19 Detalle del eje trasero ....................................................................... 31
Ilustracin 3.20 Diseo del barstool .......................................................................... 32
Ilustracin 4.1 Entradas y salidas necesarias ............................................................ 34

MEMORIA 15

Ilustracin 4.2 Estructura del programa ................................................................... 37


Ilustracin 4.3 Arduino Mega .................................................................................... 38
Ilustracin 4.4 Ethernet shield .................................................................................. 38
Ilustracin 4.5 Elementos del panel de control ......................................................... 39
Ilustracin 4.6 Selector de modo ............................................................................... 40
Ilustracin 4.7 Voltajes para el selector de modo ...................................................... 41
Ilustracin 4.8 Divisor de tensin .............................................................................. 41
Ilustracin 4.9 Conexiones del selector de modo ...................................................... 42
Ilustracin 4.10 Conexiones del selector de modo en la protoboard ........................ 45
Ilustracin 4.11 Selector de marcha ........................................................................... 48
Ilustracin 4.12 Conexiones selector de marcha ....................................................... 49
Ilustracin 4.13 Conexiones del selector de marcha en la protoboard ...................... 50
Ilustracin 4.14 Acelerador de moto .......................................................................... 51
Ilustracin 4.15 Conexiones acelerador de moto ....................................................... 51
Ilustracin 4.16 Thumb joystick ................................................................................ 52
Ilustracin 4.17 Ejes del thumb joystick.................................................................... 52
Ilustracin 4.18 Conexiones thumb joystick e interruptores fin de carrera .............. 53
Ilustracin 4.19 Conexiones thumb joystick en la protoboard .................................. 53
Ilustracin 4.20 Valores de los potenciometros para las acciones ............................ 54
Ilustracin 4.21 Displays de 7 segmentos .................................................................. 55
Ilustracin 4.22 Conexiones de los displays .............................................................. 56
Ilustracin 4.23 Conexin display ctodo comn ..................................................... 58
Ilustracin 4.24 LED SMD ........................................................................................ 58
I Ilustracin 4.25 Posicin LEDs indicadores .......................................................... 59
Ilustracin 4.26 Diseo PCB para el panel de control .............................................. 60
Ilustracin 4.27 Sistema de direccin hidralico ...................................................... 61
Ilustracin 4.28 Funcionamiento de un servomotor ................................................. 62
Ilustracin 4.29 Actuador elctrico para la direccin ................................................ 63
Ilustracin 4.30 Puente H con LM298 y datos tcnicos ............................................ 63
Ilustracin 4.31 Rectas de carga del actuador elctrico ............................................ 64
Ilustracin 4.32 Sistema de direccin del vehculo ................................................... 65
Ilustracin 4.33 Resistencia pull-down del interruptor fin de carrera....................... 66
Ilustracin 4.34 Primer motor utilizado .................................................................... 68
Ilustracin 4.35 Comparacin entre el primer motor y el segundo ........................... 68
Ilustracin 4.36 Desgaste en el neumtico para la colocacin del motor ................. 69

MEMORIA 16

Ilustracin 4.37 La letra H formada por la ubicacin de los conmutadores en el


circuito ....................................................................................................................... 70
Ilustracin 4.38 Circulacin de la corriente segn las llaves que se cierren ............. 70
Ilustracin 4.39 Primer puente H creado .................................................................. 71
Ilustracin 4.40 Datos necesarios para el funcionamiento de los MOSFETs .......... 71
Ilustracin 4.41 Etapa BJT ........................................................................................ 73
Ilustracin 4.42 Respuesta de la etapa BJT ............................................................... 74
Ilustracin 4.43 Etapa BJT con motor y respuesta de la etapa ................................. 74
Ilustracin 4.44 Etapa radiofrecuencia y resultado ................................................... 75
Ilustracin 4.45 Etapa radio frecuencia y resultados ................................................ 75
Ilustracin 4.46 Configuracin PWM Arduino .......................................................... 76
Ilustracin 4.47 Resultado etapa 7.8125 kHz............................................................. 76
Ilustracin 4.48 Etapa optoacoplador y resultado ..................................................... 77
Ilustracin 4.49 Distintas pruebas para la activacin del N-MOS ............................ 78
Ilustracin 4.50 Puente H de Gary L. Chemelee ....................................................... 79
Ilustracin 4.51 Grficas para la optimizacin del optoacoplador ............................ 80
Ilustracin 4.52 Esquema conexin optoacoplador .................................................. 81
Ilustracin 4.53 Resultados Puente H definitivo....................................................... 82
Ilustracin 4.54 Placa para los optoacopladores ....................................................... 83
Ilustracin 4.55 Diodo en paralelo con inductancia.................................................. 84
Ilustracin 4.56 Diodo en paralelo con resistencia en serie ...................................... 85
Ilustracin 4.57 Diodo empleado en el proyecto ....................................................... 85
Ilustracin 4.58 Colocacin de los diodos de proteccin .......................................... 86
Ilustracin 4.59 Interruptor magnetotrmico ............................................................ 87
Ilustracin 4.60 Fusible de car audio empleado........................................................ 88
Ilustracin 4.61 Conexiones del vehculo .................................................................. 89
Ilustracin 4.62 Caja de control ................................................................................. 91
Ilustracin 4.63 Conexiones de los MOSFETs y el mototr ....................................... 91
Ilustracin 5.1 Esquema general ............................................................................... 92
Ilustracin 5.2 Modo "Local 1" ................................................................................. 93
Ilustracin 5.3 Modo "Local 2"................................................................................. 94
Ilustracin 5.4 Modo "Volante" ................................................................................ 94
Ilustracin 5.5 Modo "Remoto"................................................................................ 95
Ilustracin 5.6 Funcin "Avance" ............................................................................. 96
Ilustracin 5.7 Funcin "Retroceso" ........................................................................ 96
Ilustracin 5.8 Funcin "Paro" ................................................................................. 97

MEMORIA 17

Ilustracin 5.9 Funcin "Letrero"............................................................................. 98


Ilustracin 6.1 Conexin va wifi ............................................................................. 100
Ilustracin 6.2 Estructura del programa .................................................................. 101
Ilustracin 6.3 Carta "Inicio" ................................................................................... 101
Ilustracin 6.4 Carta "Configuracin" .................................................................... 102
Ilustracin 6.5 Carta "Conduccin"........................................................................ 103
Ilustracin 6.6 Carta "Conduccin"........................................................................ 103
Ilustracin 6.7 Acelermetros del mvil .................................................................. 104
Ilustracin 6.8 Modo "Avance" activado ................................................................ 105

MEMORIA 18

ndice de tablas
Tabla 2.1 Modos de funcionamiento del vehculo ..................................................... 8
Tabla 3.1 Comparativa vehculos ya construidos ...................................................... 23
Tabla 4.1 Entradas y salidas necesarias .................................................................... 35
Tabla 4.2 Conexiones Serial del Arduino .................................................................. 37
Tabla 4.3 Pines para interrupciones externas del Arduino ....................................... 37
Tabla 4.4 Pines seleccionados ................................................................................... 40
Tabla 4.5 Conexiones selector de marcha ................................................................. 48
Tabla 4.6 Valores para un display.............................................................................. 57
Tabla 4.7 Valores resistencias para los LEDs ........................................................... 60
Tabla 4.8 Datos tcnicos del motor ........................................................................... 66
Tabla 4.9 Secciones de cable calculadas ................................................................... 90

MEMORIA 19

1. INTRODUCCIN:
Es bastante difcil imaginar el mundo actual sin los medios de transporte que nos
rodean y utilizamos a diario. Sin ellos seguiramos desplazndonos a pie o sobre animales y,
por supuesto, nos sera imposible recorrer las largas distancias en el tiempo que empleamos
diariamente.
En las ciudades ms masificadas del mundo, el coche es el medio de transporte ms
usado pero debido a la gran cantidad de contaminacin que generan y el movimiento
social, que cada vez est adquiriendo ms importancia, de concienciacin social sobre el
cuidado del medio ambiente la gente, al igual que los fabricantes de vehculos, se han dado
cuenta de que es hora de empezar a cambiar para poder vivir en un ambiente menos
nocivo.
Es por ello, que desde la dcada anterior, y junto con la alerta de las existencias de
petrleo han tomado ms importancia en la sociedad actual los vehculos de energas
alternativas. De entre todas las alternativas los vehculos que ms auge tienen son los
hbridos y elctricos.
1.1 Marco general del proyecto:
Este proyecto de fin de carrera ha fijado su objetivo en la realizacin de un
prototipo de vehculo elctrico capaz de desplazar a una persona por una ciudad sin
generar ningn tipo de contaminacin ayudando a mejorar la calidad de vida.
Durante los ltimos aos con la gran reduccin en los precios de los componentes
electrnicos, la gran evolucin que han tenido los microcontroladores y la espectacular
evolucin de informacin en internet son incontables los proyectos que se pueden
encontrar de vehculos elctricos caseros que se han creado.
Los circuitos que gobiernan estos vehculos tambin han evolucionado en gran
medida, en un principio solo eran posibles para gente que poseyese elevados
conocimientos de electrnica y pudiese elaborar sus propias placas, pero a da de hoy con el
auge de la industria china se pueden encontrar los circuitos ya montados de forma que solo
hace falta instalarlo en el vehculo y conectarle las entradas y salidas tal y como se muestra
en la figura 1.1.

MEMORIA

Ilustracin 1.1 Dispositivo de control de velocidad "chino"

Sin embargo estos mdulos que se pueden adquirir tienen sus limitaciones y solo
ofrecen un sentido de giro a las ruedas. Y para un coche esto es insuficiente, un coche debe
poder moverse tanto hacia delante como marcha atrs o quedarse quieto. Tambin necesita
de una direccin que por norma general suele ser manual, pero lo ideal es crear una que
funcione de manera electrnica para gente con discapacidad que se vea incapaz de mover
un volante.
La idea que ayud a impulsar este proyecto como proyecto de fin de carrera surge a
raz de un artculo publicado en el blog de bricogeek.
Con su estupendo y elegante acabado el Chibikart hace que sus desarrolladores se
sientan como nios en el MIT. Es una variacin (evolucin?) del tinyKart y utiliza dos potentes
motores elctricos bobinados y hechos a medida que van incrustados dentro de una pequea rueda.
El resultado es absolutamente impresionante. Est claro que en un proyecto as no vale la pena
hacerse uno solo sino dos para darse una pachanga! No os perdis la mini carrera nocturna en un
aparcamiento del MIT con estos dos bichos... no tiene precio.
Bueno vale, me pido uno, o mejor dos, para navidades (para ir adelantando tiempo) !
En l se muestra la evolucin del primer diseo que haba hecho el MIT
(Massachusetts Institute of Technology) de un go-kart.
La mayora de los vehculos caseros creados suelen emplearse para el disfrute
personal y suelen fabricarse una nica vez. Con este proyecto se pretende sentar las bases
para crear un movimiento que ayude a la gente a fabricar sus propios vehculos.
Los requisitos que se han de conseguir es que sea un vehculo elctrico de pequeo
tamao fcil de manejarse, sobre todo para personas con discapacidad, que tenga

MEMORIA 2

autonoma suficiente para un uso diario y, por supuesto, sea de bajo costo y siempre en la
mente la idea del open-hardware.
En este proyecto se prototipar un vehculo con las ideas mencionadas
anteriormente.
1.2 Objetivos:
El objetivo principal de este proyecto es crear un diseo de vehculo con los
componentes elctricos y electrnicos necesarios para su funcionamiento autnomo y dar
toda la informacin necesaria para que la gente que lo desee pueda producir el suyo propio.
La mayor de las expectativas del proyecto es que el prototipo sea capaz de cumplir los
objetivos del diseo y su funcionamiento sea aceptable. Se realizan los trabajos y objetivos
del proyecto siguiendo una secuencia lgica para el procedimiento. Dicha secuencia se
puede observar en el esquema 1.1.

MEMORIA

Documentacin

Estudio elementos
necesarios

Construccin
chasis

Diseo hardware

Diseo software
para Ardunio
Diseo software
para Android
Ilustracin 1.2 Diagrama de flujos de las etapas del proyecto.

1.2.1

Etapas del proyecto

Por orden cronolgico, las etapas del proyecto fueron la documentacin y estudio
de vehculos ya construidos, el estudio de los circuitos elctricos y de los componentes
necesarios, el estudio y diseo del vehculo, el estudio de la tarjeta Arduino, anlisis de las
comunicaciones de red local y servidor-cliente, desarrollo de software y hardware para
cumplir los requisitos y sus pruebas de funcionamiento y finalmente la implementacin del
vehculo.
Documentacin y estudio de vehculos ya construidos:
Se adquiere y revisa diversa informacin de algunos de los vehculos creados por
diferentes personas u organizaciones y se analizan sus puntos fuertes y los dbiles para
tenerlos en cuenta en el diseo final.

MEMORIA 4

Estudio de los circuitos elctricos y de los componentes necesarios:


Se dedic bastante tiempo a la labor de estudiar, encontrar y adaptar los circuitos
elctricos para el control del motor, de la direccin, un panel de informacin, los
actuadores necesarios, los sensores, tarjeta controladora Arduino y mdulo de Ethernet.
Diseo y construccin de la estructura del vehculo:
Con la informacin recabada en los dos apartados anteriores se busc el mejor
diseo del vehculo para proceder a su construccin.
Estudio de la tarjeta Arduino:
Se estudi toda la informacin referente al microcontrolador, una placa Arduino y
el mdulo Ethernet.
Anlisis de las comunicaciones de red local y servidor-cliente:
Se analizaron como es la estructura de las redes locales y sus configuraciones, as
como se comporta una estructura servidor-cliente.
Desarrollo de software:
Se realizaron los cdigos y programas necesarios para ejecutar el control del
vehculo y el enlace. Para ello hubo que programar el cliente en una aplicacin para el
sistema operativo Android y el servidor junto con el control del vehculo en la placa
Arduino.
Desarrollo de hardware:
Se desarroll el hardware necesario. Se disearon y fabricaron las siguientes placas:
una placa controladora para el puente H, otra para la seleccin de modos, marcha y luces,
otra para los LEDs indicadores de estado del coche, y otra para indicar la posicin del
acelerador.
Requisitos del diseo:
El vehculo a implementar deba de cumplir una serie de criterios y especificaciones
para su correcto funcionamiento y su uso a posterior. Entre estos criterios se encuentran su
funcionalidad y su bajo coste. Adems los dispositivo a fabricar deber ser capaz de tener
una autonoma suficiente para su uso diario y capaz de soportar climatologa adversa, por
lo que debern estar protegidos contra los efectos del viento, la lluvia, el sol, la humedad y

MEMORIA

posibles agresiones fsicas. La autonoma resulta un factor muy importante, y se debe


pensar que el dispositivo ha de poder funcionar el suficiente tiempo como para no
quedarse sin energa a mitad del recorrido.
Pruebas:
En esta etapa se comprueba el funcionamiento del prototipo desarrollado y se
observan sus capacidades. Se realizan medidas de alcance con el cliente-servidor, pruebas
de duracin de las bateras y de manejabilidad. Con todas estas pruebas realizadas se
estudian posibilidades para mejorar el vehculo.

DOCUMENTACIN

ESTUDIO
COMPONENTES
NECESARIOS

DISEO VEHCULO

DISEO SOFTWARE

DISEO HARDWARE

FUNCIONA
CORRECTA-
MENTE?

FIN

NO

Ilustracin 1.3 Procedimiento de desarrollo del vehculo

1.3 Estructura de la memoria:


Para la elaboracin de este documento se ha utilizado el programa Microsoft Office
como sistema de preparacin de documentos para la impresin de alta calidad. Se ha
estructurado en tres partes: la primera contiene la memoria. El pliego de condiciones y el
presupuesto se encuentran en la segunda y en la ltima parte se han incluido algunos
anexos con los listados de programas, los esquemas electrnicos realizados y algunas hojas
de datos de especial inters. La primera parte que contiene la memoria del proyecto se ha
comenzado con esta introduccin, se sigue con la descripcin del marco del proyecto y una
introduccin general de las partes del mismo. Seguidamente se describen en 4 captulos
separados, anlisis de otros vehculos construidos, diseo y fabricacin del prototipo,
desarrollo y prueba de toda la electrnica del control, estructura del cdigo implementado
en Arduino y estructura del programa creado para los dispositivos mviles.. El siguiente
captulo contiene los resultados obtenidos tanto de las distintas pruebas realizadas como
frente a los objetivos planteados.

MEMORIA 6

2. MARCO Y ASPECTOS GENERALES:


En este captulo se realiza una descripcin general del proyecto, as como de los
aspectos ms genricos del proyecto, tratndose temas como el uso del software y
hardware abierto.
2.1 Descripcin general del proyecto:
Se trata de un vehculo capaz de funcionar de manera autnoma, cuya conduccin
pueda realizarse sentado en el mismo o con una comunicacin mediante el estndar 802.11,
Wi-fi, con un dispositivo que utilice el sistema operativo Android y acte como cliente.
En la figura 2.1 se muestra esquemticamente las partes del sistema. En la parte de
electrnica es donde se ha realizado la mayor parte del desarrollo del proyecto. Consta de
una etapa con optoacopladores para aislar el Arduino del circuito de potencia, un puente H
para controlar los dos sentidos de avance, otro puente H para el actuador lineal de la
direccin y la tarjeta de Arduino con el mdulo Ethernet. La conexin entre los puente H y
el procesador se hace a travs de los pines de entrada y salida de ste ltimo. El Arduino y
el mdulo Ethernet se encargan del envo y la recepcin en paquetes TCP/IP por Ethernet
a travs del router instalado. Por medio de la antena del router se genera una seal Wi-fi
con la que se enlaza al dispositivo cliente.
A grandes rasgos, tenemos un proyecto en el que se usarn tanto salidas del tipo
booleano como PWM, entradas analgicas y conexiones mediante red local. Donde har
falta implementar circuitos de electrnica digital y de potencia, configurar la velocidad de
trabajo del Arduino para que el motor funcione correctamente y crear una red servidorcliente.
A continuacin se muestra un esquema del sistema de control del coche y como
circula el envo de informacin. Adems se incluye una tabla con los modos de
funcionamiento.

MEMORIA

Modo

Traccin

Local 1

Acelerador de moto Manual

Local 2

Eje Y Thumbpad

Remoto Telfono mvil

Direccin

Eje X thumbpad
Telfono mvil

Tabla 2.1 Modos de funcionamiento del vehculo

Ilustracin 2.1 Elementos de control del vehculo

2.2 Software y hardware abierto:


Se han realizado todos o casi todos los objetivos de este proyecto utilizando
software y hardware libre o en versiones gratuitas. Lo que ha resultado eficaz, verstil y
funcional. El software libre o abierto es todo aquel que cumpla con las cuatro libertades,
libertad de usar el programa para cualquier propsito, libertad para poder estudiar,
modificar el programa y adaptarlo a nuestras necesidades, libertad de distribuir
libremente copias del software y libertad para mejorar el cdigo y hacer pblicas dichas
mejoras con la finalidad de que la comunidad de usuarios se beneficie.
MEMORIA 8

De un mismo modo es aplicable la cualidad de libre a todo aquel hardware cuyas


especificaciones, esquemas e informacin referente a su fabricacin y uso sean de carcter
pblico.
La idea del open-hardware nace debido, a que por culpa de la estandarizacin y del
sistema de patentes, se cierra la posibilidad para mucha gente la oportunidad de aprender
como funcionan las cosas y queda reservado a un grupo de gente, que son los hackers, que
por tener mayores conocimientos tcnicos, o se sentan con la capacidad de abrir un
elemento electrnico y mirar que es lo que haba dentro. Y, es que el hardware-abierto
significa volver a mirar que hay dentro de las cosas, pero hacerlo de una forma que est
permitido, o sea, que sea ticamente correcto, que sea legal, y que permita mejorar la
educacin. Entonces el hardware-abierto es un sistema que permite a la gente educarse en
como funcionan las cosas. En un mundo donde hay ms ordenadores que personas,
tenemos que comprender como funcionan las cosas, ya no para poder arreglarlos, sino,
sencillamente, para poder comprender como funciona nuestra vida. Y yo creo que es una
necesidad.. David Cuartiles. Arduino: The Documentary. 2010.
En este proyecto se decide realizar todos los trabajos, que sean posibles, con
herramientas tanto de software como de hardware libre. Los elementos usados se describen
brevemente en las siguientes subsecciones.
2.2.1

Arduino:
Arduino comenz como un proyecto en el Instituto de Diseo Interactivo de Ivrea

(IDII o Ivrea), Italia, en 2005. Pero su origen est ya estaba presente en otros proyectos en
los que haban trabajo sus creadores.
El equipo de desarrollo de Arduino est formado por: Massimo Banzi (diseador y
creador web), David Cuartielles (ingeniero electrnico), Tom Igoe (profesor at New York
University's Interactive Telecommunications Program (ITP)), Gianluca Martino (diseador
y fabricante de las placas) y David Mellis (ingeniero en el MIT).

MEMORIA

Ilustracin 2.2 Miembros del Arduino Team

El objetivo era crear una herramienta para los estudiantes que fuera ms moderna
de las que haba disponible en el mercado, sobre todo, porque la herramienta que usaba
todo el mundo, se llamaba BASIC Stamp.

Ilustracin 2.3 Comparacin entre la placa Arduino y la BASIC Stamp

Una placa de BASIC Stamp costaba unos 80 (alrededor de 119$) as que resultaba
muy caro para los estudiantes que no queran gastar dinero en comprar muchas placas tan

MEMORIA 10

caras, por lo que empezaron a buscar alternativas, adems estaban trabajando en


processing. As que decidieron hacer un simil de este lenguaje de programacin en
hardware.

Ilustracin 2.4 Comparativa de precios entre el chip ATMega y el BASIC

Con esta idea naci la plataforma wiring y a partir de su finalizacin, el team


Arduino empez a buscar como hacerla ms simple, barata y sencilla de usar.

El

proyecto Arduino naci con filosofa open source, pero sta idea se hizo ms imperativa
con el rumor de que Ivrea pudiese cerrar por falta de fondos. Fue por ello que sus
creadores apostaron, s o s, por hacer una plataforma open-hardware; con el objetivo de
que sus progresos no quedaran olvidados en una caja y se crease una gran comunidad de
desarrollo y conocimiento, tal y como se conoce a la plataforma hoy en da.

Ilustracin 2.5 Primera placa de wiring

Cuando Massimo Banzi y David Cuartielles comenzaron a colaborar, ya con la idea


del open-hardware, pasaron de discutir sobre lo que tenan que hacer a como deban
hacerlo. Massimo Banzi haba realizado una serie de proyectos con una determinada
MEMORIA 11

tecnologa y David Cuartielles con otra diferente, debatieron sobre cual era la mejor y
decidieron probar la tecnologa de Massimo Banzi debido a su mejor compatibilidad con
diferentes sistemas operativos.
A continuacin, David Cuartielles revis el hardware, en el que encontr un par de
bugs, los arreglaron y empez el diseo de fabricacin de placas.
El proceso de diseo de la placa dur nicamente dos das y el resto del tiempo se
dedic al software.
En la nueva etapa del proyecto se uni al equipo (formado hasta ahora solo por
Massimo Banzi y David Cuartielles) David Mellis, posteriormente entr Tom Igoe como
consejero y por ltimo lleg Gianluca Martino, que era quien poda producir las placas.
As fue como se form el equipo, aadiendo gente segn sus habilidades.

Ilustracin 2.6 Primer prototipo de placa Arduino

Cuando David Mellis entr en el proyecto, todava seguan usando las placas wiring
creadas por Hernando Barragn y su objetivo era poder portar los programas que se
creaban a un procesador ms barato.
David Mellis se encarg de escribir un montn de capas de compatibilidad para que
todos los programas antiguos funcionasen en el procesador nuevo.
MEMORIA 12

El resultado de todas las horas de programacin y compilacin fue el IDE o


Integrated Development Environment.

Ilustracin 2.7 IDE. Entorno de desarrollo de Arduino

Tom Igoe se enter, a principios del 2005, que se estaba desarrollando una
alternativa en hardware al processing. En junio de 2005, coincidi que fue a Ivrea a dar una
charla sobre otro tema y aprovech para que le enseasen el desarrollo hasta la fecha de la
placa de Arduino. En cuanto la vio apost por ella y se lo hizo saber al equipo de
desarrollo.
Unos meses despus de volver a Estados Unidos, recibi un correo desde Ivrea en
el que le decan que queran lanzar Arduino de forma global y le pedan su ayuda. De esta
forma fue como entr como consejero.
Tras el primer prototipo de Arduino, el equipo tena la necesidad, o al menos la
intencin, de empezar a fabricar algo de forma ms profesional, ms comercial, porque el
primer ejemplo se mont solo para que pudiese continuar su desarrollo. Cuando Massimo
Banzi y David Cuartielles decidieron que el prototipo funcionaba, era necesario crear un
lote mayor para su produccin.

MEMORIA 13

Ilustracin 2.8 Primera placa de Arduino oficial

As que decidieron crear un lote de 200 unidades y Gianluca Martino realiz una
serie de modificaciones para poder realizar su produccin en serie.
Como era una primera prueba, llegaron a un acuerdo con la escuela, el Instituto de
Diseo Interactivo y el K3 de Maluno, para comprar 50 unidades cada uno. Fue un buen
principio.
Tras anunciarse un poco y hablar con conocidos el movimiento se puso en marcha.
En 2010 se estimaban unas ventas de tarjetas oficiales de Arduino de 250.000, sin contar
sus clones chinas. A da de hoy el nmero de placas oficiales ha crecido de forma
exponencial.
Actualmente Arduino tiene 17 placas oficiales y siguen en constante evolucin y
desarrollo, mejorando los diseos e integrando mejores procesadores.

MEMORIA 14

Ilustracin 2.9 Diferentes modelos de placas de Arduino

Ilustracin 2.10 Arduino + mdulo Ethernet

A parte de las placas oficiales tambin salen extensiones (shields) para conectar
sensores, actuadores, mdems,
2.2.2

ISIS Proteus:
ISIS Proteus es un programa de diseo y simulacin incluido en el paquete de

desarrollo de Proteus. En este paquete tambin se incluyen otros mdulos como: ARES

MEMORIA 15

(Diseo de PCB), VSM (Simulador Virtual de Modelado) y Electra (Autoruteado). Aunque


para este proyecto solo se utilizar ISIS.
ISIS Proteus es una de las aplicaciones de simulacin de circuitos ms potentes que
se pueden encontrar en el mercado a nivel de usuario. Su mayor punto fuerte es la
capacidad de poder correr programas creados para microprocesadores y la veracidad de sus
simulaciones.
En un principio para este proyecto se utilizaron alternativas gratuitas o con versin
de estudiante como fueron LTspice IV y CADENCE PSpice. Estos dos programas
tambin son dos referentes en el campo de la simulacin pero al contrario del ISIS los
resultados que mostraban no eran fieles a la realidad, lo que provoc en el proyecto un
retraso de un mes hasta que se cambi el programa de simulacin.
Segn los datos obtenidos, LTspice y ORCAD decan que los MOSFET podran
trabajar perfectamente hasta 40kHz y las etapas con BJT tambin, sin embargo la
implementacin fsica y Proteus mostraron que no eran ciertos esos datos.
2.2.3

DIPTrace:
DipTrace es un software DEA(Diseo Electrnico Asistido, EDA Electronic

Design Assit) creado para realizar diagramas de conexiones y placas impresas (PCB Printed
Circuit Board). La primera versin se lanz en agosto de 2004. La ltima versin, 2.3, es de
octubre de 2012. DipTrace cuenta con los siguientes mdulos para sus distintas funciones:
editor de esquemticos, editor de PCB, editor de componentes, editor de pattern
(footprints), autoruteo de pistas, vista previa de PCB en 3D.
Las versiones gratuitas de DipTrace son completamente funcionales excepto
porque tienen un lmite de 300 pines y dos capas (a parte de la alimentacin y tierra) por
PCB.
2.2.4

LiveCode Community 6.0:


LiveCode Community es una aplicacin open source y utiliza como lenguaje de

programacin LiveCode inspirado en HyperTalk.


El lenguaje fue lanzado en 2001 y est basado en la tecnologa MetaCard. LiveCode
es multiplataforma (iOS, Android, Mac OS X, Windows y Linux).

MEMORIA 16

3. ANLISIS DE OTROS VEHCULOS CONSTRUIDOS, DISEO Y


FABRICACIN DEL PROTOTIPO:
Como en todo proceso de diseo es necesario buscar referencias para encontrar
soluciones adecuadas al problema. Adems de que se puede hacer un proceso ms eficaz
observando los problemas que han surgido en los otros proyectos.
La idea en la que centr el diseo y la bsqueda de prototipos fueron los go-karts.
3.1

Go-karts:
Un go-kart es un tipo de vehculo pequeo y sin suspensin. stos se pueden

encontrar con diferentes diseos (de madera, metal, tuberas,...) y motores.


La gente suele asociar los go-karts con nios pequeos, pero ni mucho menos, gente
de todas las edades compite con go-karts y, a menudo, los utilizan como base para,
posteriormente, subir a categoras ms avanzadas del deporte del motor.

Ilustracin 3.1 Modelos de Go-Karts de madera

Las carreras de go-karts son populares en Norte Amrica y Europa, tanto es as, que
sus numerosas competiciones son reguladas por la FIA (Federacin Internacional de
Automovilismo, la misma que rige la F1).
Los ms simples suelen denominarse billy kart o soap-box kart y no son ms que una
simple caja, o armazn, con ruedas y direccin. stos vehculos no suelen tener motores y
estn destinados a las carreras que se realizan tirndose desde lo alto de una colina.

MEMORIA 17

Ilustracin 3.2 Modelos de Go-Karts ms elaborados

Los go-karts motorizados se pueden encontrar con diferentes tipos de motores: de


combustin de 4 tiempos, de combustin de 2 tiempos, que utilicen alcohol o gas propano
como combustible o elctricos.
Estos vehculos son lo suficientemente adaptables para ser utilizados en distintos tipos
de superficie. En Estados Unidos suelen usarse sobre todo para caminos de tierra con ruedas
de tacos, en el norte de Europa con ruedas de clavos para las pistas de hielo, y como no,
siempre se podrn usar sobre asfalto.
3.2

Vehculos estudiados:
A continuacin se muestran varios de los vehculos construidos que se estudiaron para

observar sus puntos fuertes y dbiles.


3.2.1

CapKart:
El Cap Kart fue el segundo vehculo creado en el Campus de Verano de
Ingeniera del Centro Edgerton, en verano de 2008. En un go-kart elctrico con una
batera y un ultra-condensador basado en el almacenamiento de la energa. La batera
aporta la alimentacin de forma constante, mientras que el ultra-condensador se usa a
modo de turbo, inyectando un extra de potencia.

MEMORIA 18

Ilustracin 3.3 CapKart

El proyecto empez a partir de un chasis de kart. ste es grande, fuerte y


relativamente ligero. Posteriormente, para mejorar el control del coche en los giros
lentos, se le aadi en 2010 un diferencial al eje trasero.

Ilustracin 3.4 Diferencial del CapKart

Ilustracin 3.5 Batera del CapKart

MEMORIA 19

La fuente de energa principal del kart es un pack de bateras de litio-ion de


12V Thundersky. El peso de la batera era de 20 kg, mientras que una de cido-plomo
pesaba 72 kg.

Ilustracin 3.6 Motor del CapKart y esquema de proteccin

Ilustracin 3.7 Caja del ultra-condensador

El nombre que tiene el coche proviene del ultra-condensador de 110F y 16V


que acta como turbo. Cuando est completamente cargado es capaz de entregar
14000 J de energa. Esta energa equivale solo al 0,25% que almacenan las bateras,
pero es la equivalente a de la energa cintica para que el kart vaya a 45 km/h.
El motor del coche es un motor de 48Vdc de D&D Motor System. La
capacidad para variar la fuerza del campo elctrico del motor es ajustable mediante la
curva par-velocidad. A bajas velocidades, el campo del motor entrega el par mximo
por cada amperio. A altas velocidades, el campo se debilita para reducir la fuerza
electromotriz que se genera y permite que el motor gire ms rpido con la misma
tensin. La fuerza del campo se puede controlar de manera manual o automtica. El
motor pesa 25 kg y puede llegar a producir 13 hp (10kw).

MEMORIA 20

3.2.2

TinyKart:
El tinyKart nace en el 5 campus de verano de Ingeniera del Centro Edgerton,
en el verano de 2011. Es un go-kart ultra ligero que se construy como una alternativa
ms pequea del Cap Kart. El Cap Kart es ideal para conducir al aire libre, pero tena
el inconveniente de que pesa 90 kg y con su tamao no pasa a travs de las puertas.
Por el contrario, el tinyKart pesa slo 25 kg y puede ser transportado fcilmente por
una persona.

Ilustracin 3.8 Detalles del TinyKart

El primer paso para aligerar el peso respecto al Cap Kart fue crear un chasis
completamente con aluminio de 3 mm. de espesor. Adems la parte delantera y trasera
pueden separarse con unos simples tornillos. Por lo que el chasis es mucho ms
flexible y con la robustez suficiente para soportar el peso del kart con un conductor.
El sistema de traccin del tinyKart consiste en una batera especial de 39.6V,
6.9Ah LiFePO4, dos controladores de motores Kelly KBS36101 y dos motores
brushless EMP C6374-200. Los motores se conectan a los controladores Kelly
mediante unos sensores de efecto Hall. Las ruedas traseras reciben la transmisin
gracias a una correa.
3.2.3

Alexei 6x6:
El coche diseado en el instituto Jaume I est diseado principalmente para
nios pequeos. Su estructura consiste bsicamente en un cajn de madera con el
diseo exterior que se le quiera dar. Su denominacin 6x6 viene por las 6 ruedas que

MEMORIA 21

lleva en total el coche. Tres por lado y todas ellas motrices, lo que hace que su
conduccin sea similar a la de un vehculo oruga. Por lo que, a pesar de no tener una
alta velocidad si tiene una gran maniobrabilidad. Los motores son DC de 20A MD03.
Se puede controlar tanto sentado en el vehculo como a distancia, mediante una
conexin bluetooth (mdem Bluetooth SmirfBlue) y una aplicacin para Android.
Toda la electrnica est controlada por un Arduino Mega.

Ilustracin 3.9 Detalles del Alexei 6x6

3.2.4

NeurotiKart:
La base de la construccin del NeurotiKart es un motor de carrito de golf de
48Vdc. Todo nace a partir de ah. Se hizo una estructura con tubo redondo metlico,
todo soldado. Y para la direccin, traccin y frenado se utiliz material de los karts.

MEMORIA 22

Ilustracin 3.10 NeurotiKart

Una vez analizados los distintos vehculos podemos observar a continuacin


una tabla con sus caractersticas esenciales:
Modelo

Traccin

Direccin

Control

CapKart

Motor DC

Manual

Manual

TinyKart

Motor Brushless

Manual

Manual

Alexei 6x6

6 Motores DC

NeurotiKart

Motor DC

Manual / Automtica Manual / Remoto

Manual

Manual

Tabla 3.1 Comparativa vehculos ya construidos

Con estos datos se decidi que el prototipo ira impulsado por un motor DC y
su direccin y control tendran la opcin de elegir entre un control manual o remoto.
3.3

Diseo y construccin:
La idea para comenzar con el diseo del chasis era seguir el punto de partida que

haban usado la mayora de proyectos similares. Partir de un chasis de kart y adaptarlo a las
necesidades.

MEMORIA 23

Lamentablemente, viviendo en Tenerife el acceso a las ofertas de segunda mano es


muy escaso, incluso buscando en la isla de enfrente, Gran Canaria, las ofertas eran escasas y de
precio elevado. Mientras que en la pennsula era posible encontrar un kart completo desde
200, aqu por 500 solo se poda obtener el chasis de ste. A lo que habra que aadir luego el
sistema de direccin, de frenado, las ruedas y sus llantas, lo que incrementaba bastante ms
el precio inicial.

Ilustracin 3.11 Componentes principales de un kart

La alternativa que se encontr fue realizar un chasis, partiendo de cero, usando los
planos homologados por la Federacin Internacional de Automovilismo (FIA).
La complicacin que tenan los chasis regulados por la FIA es que toda la estructura se
ha de realizar con perfil tubular y en algunos tramos debe tener una curvatura especfica.
Adems de que an usando este modelo de chasis habra que, posteriormente, adaptarlo para
el motor elctrico, la disposicin de las bateras y los elementos electrnicos.
Para evitar realizar un chasis tan laborioso y que llevara muchas horas de trabajo en el
diseo y su construccin, a parte de tener que buscar un suministrador de los materiales; se
sigui buscando esquemas de chasis de karts caseros y que, preferiblemente, tuviesen lneas
simples y empleasen perfil hueco rectangular.

MEMORIA 24

Las ventajas de encontrar un esquema de chasis con estas caractersticas significara


ahorrar bastante tiempo en su fabricacin. Al tener formas simples no hara falta ninguna
dobladora de tubos y el corte de los tubos sera, mayoritariamente de 45, un corte muy simple
y fcil de realizar con una radial. Adems, un perfil rectangular tiene una superficie de contacto
mayor y ms continua, lo que hace que sea ms fcil de soldar que el perfil tubular.
Idealmente recomiendan que los chasis de los vehculos se fabriquen con chasis
tubular para un mejor reparto de las fuerzas, pero en este proyecto no es fin hacer una
comparativa entre los distintos tipos de chasis sino que se busca el ms sencillo de fabricar y, a
la vez, sea resistente.

Ilustracin 3.12 Planos de un chasis casero

Mientras se realizaban los diseos del chasis a fabricar se present la oportunidad de


poder aprovechar un miniquad que iba a ir al desgace.
Los quads son vehculos de cuatro ruedas todo-terrenos (ATV, All-terrain vehicle)
parecidos a una motocicleta. Los quad proceden de los primeros triciclos (o hart-trick), los
cuales disponan de dos ruedas traseras y una delantera.

MEMORIA 25

Ilustracin 3.13 Distintas fotos del miniquad

El quad ofrecido estaba indicado para personas inferiores a 1,70m., pues sus
dimensiones eran reducidas. Como sistema de frenado empleaba un disco de freno en el eje
trasero. En el interior del chasis, debajo del asiento del piloto, iba alojado un motor de 49cc.
de combustin interna. El sistema de traccin estaba compuesto por un pin de 9 dientes en
el eje del motor, otro pin, este de 32 dientes, en el eje trasero y una cadena, uniendo ambos
elementos, para transmitir el movimiento. Tanto el eje trasero como el delantero posean un
muelle que ofreca una suspensin independiente a los ejes del chasis central.

MEMORIA 26

Asiento

Disco de
freno

Suspensin
trasera

Suspensin
delantera

Motor
Ilustracin 3.14 Detalles del miniquad

Con el quad en posesin cambi la forma de afrontar el diseo, ahora el objetivo era
aprovechar la mayor cantidad de elementos del quad para el vehculo elctrico.
Despus de realizar varios diseos se decidi aprovechar tanto el eje delantero como el
trasero y realizar un chasis central nuevo donde alojar las bateras, la electrnica y, en
principio, el motor.

Brazo
direccin

Electrnica y
router

Motor

Bateras
Ilustracin 3.15 Organizacin del kart

MEMORIA 27

A la hora de buscar el soporte para el motor surgi el problema de instalar su tensor.


En los vehculos de traccin mediante cadena o correa, en el que el motor est en el chasis
central y el sistema llega hasta el eje trasero y ste tiene suspensin independiente, es necesaria
la instalacin de un tensor. La finalidad del tensor es mantener siempre la cadena con tensin,
de forma, que aunque hayan irregularidades en el terreno siempre se asegure una tensin en la
cadena para que la transmisin sea ptima.

Ilustracin 3.16 Detalle del soporte para motor

Para poder simplificar el sistema y ahorrar el montaje del tensor y su mantenimiento,


se decidi modificar el eje trasero de forma que pudiese colocarse el motor sobre esta pieza.
Realizando esto el motor oscilara de la misma forma que el eje trasera y la cadena podr
instalarse de forma parecida a una bicicleta convencional.
Otro punto a tener en cuenta para la fabricacin del chasis era la direccin del
vehculo. Haba que mantener la opcin de poder manejar el vehculo mediante el manillar o
bien mediante un actuador elctrico. Hubo que soldar un enganche al eje de la direccin y otro

MEMORIA 28

al chasis central para poder instalar el nuevo brazo de la direccin, adems de alargar el
manillar para que fuese cmodo su manejo.

Ilustracin 3.17 Manillar y brazo de la direccin

Para ayudar a minimizar el tamao del chasis, en lugar de situar el asiento a ras del
chasis y detrs, o a los lados de ste las bateras, se decidi levantar el asiento y colocar las
bateras debajo, ganando de esta forma comodidad y facilidad en la conduccin..
A parte de las modificaciones pertinentes para poder adaptar el vehculo al proyecto
hubo que realizarle una puesta a punto a las partes que se reutilizaron. Hubo que cambiar
todos los tornillos del coche debido a su mal estado y se aprovecharon para poner arandelas
en los tornillos que servan como anclaje para articulaciones y tuercas de seguridad en todos
ellos.

MEMORIA 29

Ilustracin 3.18 Tornillos del vehculo.

Adems el eje trasero estaba en muy malas condiciones, presentaba una desviacin y
los cojinetes estaban en tan mal estado que provocan que se frenase el vehculo, se le realiz
una buena limpieza y engrase que provoc una gran mejora en el rendimiento. Antes de este
mantenimiento el eje girando en vaco necesita una corriente de 6 amperios, una vez realizada
la labor el consumo disminuy hasta menos de 2 amperios.

MEMORIA 30

Ilustracin 3.19 Detalle del eje trasero

Una vez terminada la estructura del coche se procedi a su anlisis para poder
encontrar los puntos a mejorar en un siguiente diseo.
Para empezar, su peso es excesivo, teniendo en cuenta que an se debe de sentar una
persona. Un chasis de aluminio reducira bastante el peso, incluso se podra combinar con
partes de PVC, como el soporte del asiento, que es an ms ligero.
Segundo, el sistema de cada eje con suspensin hace que su tamao resulte algo
excesivo. Crear un chasis en el que los ejes estn integrados a ste lo hara ms compacto y,
seguramente, ms manejable.
Tercero, si no fuese necesaria la conduccin manual, se podra prescindir del manillar,
simplificando el sistema de direccin.

MEMORIA 31

Posiblemente para el siguiente diseo se parta de los prototipos basados en un


taburete y sin suspensin. De esta forma se eliminan los ejes independientes y la direccin se
coloca de forma vertical. El resultado es un vehculo ms alto, pero ms compacto y ligero.

Ilustracin 3.20 Diseo del barstool

MEMORIA 32

4. DISEO DE LA ELCTRONICA DEL VEHCULO


La parte del diseo electrnico, seleccin de componentes, programacin y realizacin
de PCBs es donde ms tiempo se ha invertido de todo el proyecto.
En el se explican las funciones que se desean implementar y los componentes que se
han escogido para cumplir los requisitos. Tambin se explican las pruebas de hardware que se
han realizado para verificar su funcionamiento y su implementacin con la tarjeta de control
Arduino.
4.1

Idea general:
Como ya se ha explicado en captulos anteriores se desea tener la posibilidad de poder

manejar el vehculo de diferentes maneras por lo que es necesario disponer de un elemento


que ofrezca la posibilidad de alternar entre los modos disponibles, tambin hay que
seleccionar los elementos que acten como aceleradores y que permitan el movimiento de la
direccin. Adems es necesario entregar informacin al usuario del estado de las salidas y
otros datos para que sepa que el funcionamiento es el correcto. A continuacin se muestra un
esquema detallado de la idea general del apartado de la electrnica para poder escoger la placa
de Arduino que se adapte a las necesidades.

MEMORIA 33

Thumb
Joystick

Displays
(12 SD)

Traccin
(2 SA)
Direccin
(2 SD)

(2 EA)
Acelerador
moto

LEDs
control

(1 EA)

(7 SD)

Selector
modo

Luces
pulsador
(1 ED)

(1 EA)

Selector
marcha

Luces
(1 SD)

uControlador

(1 EA)

Ilustracin 4.1 Entradas y salidas necesarias

En el grfico anterior se muestran las salidas y entradas necesarias que deber manejar
la placa de Arduino. A pesar de todos los modelos diferentes de placas de Arduino en la parte
del microprocesador solo se puede escoger entre dos alternativas.
Una vez elegida la placa hay que pensar como se organizar la electrnica. Para el
sistema de traccin y la direccin es necesario que el actuador gire en los dos sentidos, por ello
deben llevar una etapa previa denominada puente H. El conjunto de elementos para
seleccionar los distintos modos de funcionamiento, para rdenes de actuacin al Arduino y
para mostrar informacin se situarn en una placa denominada panel de control.

MEMORIA 34

Decodificador

Traccin

Displays
Puente H

Thumb-Joystick

Modo
Marcha

Puente H

Luces
Acelerador moto

Direccin

Ilustracin 4.2 Estructura del programa

Microprocesador Entradas

Entradas/Salidas digitales Salidas

analgicas (EA)

(ED/SD)

analgicas (SA)

ATmega 328

14

ATmega 2560

16

54

14

Necesidades
5

1/22

Tabla 4.1 Entradas y salidas necesarias

Debido al elevado nmero de salidas digitales necesitadas se ha de escoger una placa


que tenga un microprocesador ATmega 2560 y la nica placa que lo posee es la Arduino
MEGA 2560. As que todo el desarrollo electrnico se centrar en torno a esta controladora.
4.2

Arduino MEGA 2560:


La placa Arduino MEGA 2560 es una placa basada en el microcontrolador ATmega

2560. Tiene 54 entradas/salidas digitales (de las cuales 14 pueden usarse como salidas PWM),

MEMORIA 35

16 entradas analgicas, 4 UARTS (puertos serial), una velocidad de reloj de 16MHz (1


instruccin ejecutada cada 62,5 microsegundos), conexin USB (tipo A) y un botn de reset.

Pines de potencia:
La placa se puede alimentar tanto por el USB (5 voltios) como por el conector Jack de
2.1mm (la tensin positiva va al pin central y la tierra se sita fuera) que incorpora. La
seleccin de la alimentacin la realiza el Arduino automticamente.
Si se utiliza el conector Jack se puede alimentar en un rango de 6 a 20 voltios, aunque
lo recomendable es aplicar entre 7 y 12 voltios debido a que incorpora un regulador
7805 en su interior que se encarga de filtrar la entrada y obtener de ella 5 voltios
estables y filtrados. Tambin se puede utilizar el pin denominado Vin para alimentar la
placa de la misma manera.
Los pines marcados como 5V ofrecen una salida de 5 voltios para los elementos que
se conecten a la placa y sean aptos para esta alimentacin.
El pin marcado como 3V3 ofrece una salida de 3,3 voltios y una corriente mxima
de 50mA.
Los pines marcados como GND sirven para conectar otros elementos a la tierra del
Arduino.

Memoria:
El microcontrolador dispone de una memoria flash interna de 256kB para almacenar
el cdigo de programa (aunque 8kB son usadas para el bootloader), tambin dispone
de 8kB de SRAM y 4kB de memoria EEPROM.

Entradas y salidas:
Cada uno de los 54 pines del MEGA puede ser utilizado como entrada o salida,
trabajan a 5 voltios y pueden aportar o recibir un mximo de 40mA. Tambin
disponen de una resistencia pull-up que viene desconectada por defecto. Adems hay
ciertos pines que disponen de funciones extras:
Comunicacin serial:

MEMORIA 36

Puerto Serial Rx (Recibe) Tx (Transmite)


0

19

18

17

16

15

14

Tabla 4.2 Conexiones Serial del Arduino

Interrupciones externas: Los siguientes pines se pueden configurar para interrupciones


externas y configurar su activacin (flanco de subida, flanco de bajada, cambio de
estado, estado bajo).
Interrupcin Pin
0

21

20

19

18

Tabla 4.3 Pines para interrupciones externas del Arduino

PWM:
Los pines del 2 al 13 y del 44 al 46 ofrecen una salida PWM de 8 bits. Esto significa
que se puede conseguir una salida de valor analgico de entre 0 y 5 voltios con 256
(28) valores intermedios.

SPI (Serial Peripheral Interface):


Los pines 50 (MISO), 51 (MOSI), 52 (SCK) y 53(SS) son los que se emplean para
establecer una conexin SPI.
Adems para poder crear una comunicacin del Arduino con cualquier dispositivo por
va Ethernet debemos conectar la shield de Ethernet.

MEMORIA 37

Ilustracin 4.3 Arduino Mega

4.3

Mdulo Ethernet:
La Arduino Ethernet Shield permite a una placa Arduino conectarse a internet.
Est basada en el chip Ethernet Wiznet W5100. El Wiznet W5100 provee de una pila
de red IP capaz de TCP y UDP. Soporta hasta cuatro conexiones de sockets
simultneas.
La Ethernet shield dispone de unos conectores que permiten conectar a su vez
otras placas encima y apilarlas sobre la placa Arduino.
Arduino usa los pines digitales 10, 11, 12, y 13 (SPI) para comunicarse con el
W5100 en la Ethernet shield. Estos pines no pueden ser usados para e/s genricas.
La shield provee un conector Ethernet estndar RJ45.
El botn de reset en la shield resetea ambos, el W5100 y la placa Arduino.

Ilustracin 4.4 Ethernet shield

MEMORIA 38

4.4

Panel de control:
El motivo de instalar un panel de control en el vehculo es que el usuario pueda

indicarle al microcontrolador en que modo desea que acte, le enve las rdenes de
movimiento y que adems el microcontrolador pueda indicarle de forma lumnica el estado de
determinadas salidas.
A continuacin se muestra un grfico con los elementos que interactan entre el
usuario y la placa de Arduino.

Ilustracin 4.5 Elementos del panel de control

MEMORIA 39

4.4.1

Interruptor selector de modo:


El interruptor de seleccin de modo es un interruptor
rotativo de hasta 16 posiciones. Para este caso se ha configurado de

Ilustracin 4.6
Selector de modo

tal forma que solo puede acceder a 4 posiciones.


Su objetivo es que el usuario alterne entre sus estados para

seleccionar el modo en que quiere que trabaje el Arduino.


La conexin del switch se realizar de forma en la que se suelen conectar los
potencimetros a los puertos analgicos, de esta forma en vez de ocupar 4 entradas
digitales solo emplearemos una nica entrada y segn su valor de tensin entraremos
en un modo u otro.
Lo primero que necesitamos hacer es saber la relacin de los pines del
interruptor con las posiciones de ste.
Una vez obtenida la relacin entre las entradas y las salidas seleccionamos los pines
de forma que se podamos elegir 4 posiciones distintas pero contiguas en la rotacin.
Por ello se han escogido las siguientes:

Posicin

Pines

0
1
2
3
Tabla 4.4 Pines seleccionados

Ahora necesitamos obtener 4 valores de tensin ms o menos equidistantes sabiendo


que tendremos una tensin de alimentacin de 5 voltios.

MEMORIA 40

0V

1,25V

Modo 1

2,5V

Modo 2

3,75V

Standby

5V

Remoto

Ilustracin 4.7 Voltajes para el selector de modo

En el grfico anterior podemos observar los voltajes comprendidos entre los


distintos modos. Para calcular bien los valores de tensin utilizaremos la Ley de Ohm y la
frmula para los divisores de tensin.

=
!"# =

! + ! !"

Ilustracin 4.8 Divisor de


tensin

A continuacin se muestra un grfico con el esquema general de la conexin


para que se comprendan mejor los clculos que se van a hacer.

MEMORIA 41

Ilustracin 4.9 Conexiones del selector de modo

Analizando el grfico X.X (de los modos) podemos darnos cuenta de


que para el modo Remoto podemos emplear 5 voltios, por lo que nos sirve con
alimentar la entrada analgica del Arduino directamente.
Tambin observamos que para el modo Local 1 podemos poner la entrada a
0 voltios (tierra) y tendramos preparada esa opcin.
Entonces nos quedara para los modos Local 2 y Standby. Para ello
podemos calcular el valor en tercios de 5 voltios.
5

1
= 1,6667
3

2
= 3,3335
3

Comparando los valores de tensin obtenidos de esta forma con los


requeridos, se ha acertado en el clculo y para el modo Local 2 necesitaramos un
divisor de tensin con una relacin de 1/3 y para el modo Standby una relacin de
2/3.
Hagamos ahora el clculo utilizando la frmula del divisor de tensin.

MEMORIA 42

2 !"#$!! =

!
!"#$!! ! + ! = ! !"
! + ! !"

!"#$!! ! + !"#$!! ! = ! !" !"#$!! !


= ! !" !"#$!! ! = !
= !

!" !"#$!!
!
!"#$!!

5 1,667
! = 2,125!
1,667

Se ha obtenido como resultado que R2 debe ser 2,125 veces mayor que R4.
Calculemos ahora el valor para el modo Standby.
!"#$%&' =

!
!"#$%&' ! + ! = ! !"
! + ! !"

!"#$%&' ! + !"#$%&' ! = ! !" !"#$%&' !


= ! !" !"#$%&' ! = !
= !

!" !"#$!"#
!
!"#$%&'

5 3,335
! = 0,499!
3,335

Se ha obtenido como resultado que R3 debe ser 0,499 veces mayor que R4.
El valor de R4 se escoge segn convenga, en este caso escogeremos 3k65
Ohms. Por lo que nos quedan los siguientes resultados:
! = 2,125 ! = 2,125 3650 = 7756
! = 0,499 ! = 0,499 3650 = 1821,35
Lamentablemente los valores obtenidos no son valores comerciales que
disponemos por lo que tenemos que aproximar a los valores disponibles ms cercanos,
obteniendo al final:
! = 7500
! = 2000
De nuevo calculamos las tensiones de salida para comprobar que se cumplen
los requisitos:

MEMORIA 43

2 !"#$!! =

!
3650
!" =
5 = 1,63
! + !
7500 + 3650

!"#$%&' =

!
3650
!" =
5 = 3,23
! + !
2000 + 3650

Como era de esperar, se obtienen las tensiones necesitadas.


Para el valor de la resistencia del modo Local 1 basta con que pongamos una
resistencia de 33k Ohms que al tener 10 veces el valor de R4 actuar dividiendo entre
10 la tensin de 5 voltios.
Ahora calculamos el valor de la tensin de salida:
1 !"#$!! =

!
3650
!" =
5 = 0,49
! + !
33000 + 3650

Y para finalizar, en el modo Remoto no aadimos ninguna resistencia y dejamos


que lleguen los 5 voltios directos a la entrada del Arduino.

Pruebas de verificacin de hardware.


Siguiendo el esquema representado en la figura X.X (esquema de fritzing) y
con los componentes que se han calculado se realiza el siguiente montaje en
una protoboard.

MEMORIA 44

Ilustracin 4.10 Conexiones del selector de modo en la protoboard

La prueba para verificar que el circuito funciona correctamente consiste en


colocar un multmetro entre el nodo de unin de todas las resistencias y tierra.
Se verifica que el esquema muestra los valores calculados.

Diseo del software:


Arduino tiene un comando llamado map que resulta muy til para este caso.
El comando map se invoca de la siguiente manera:
Variable1 = map(variable1, fromLow, fromHigh, toLow, toHigh)
o value: el nmero (valor) a mapear.
o fromLow: el lmite inferior del rango actual del valor.
o fromHigh: el lmite superior del rango actual del valor.
o toLow: lmite inferior del rango deseado.
o toHigh: lmite superior del rango deseado.
En nuestro caso:
SELECTOR_POS = map(SELECTOR_POS, 0, 1023, 0, 3)

MEMORIA 45

Con esto se consigue que los 1024 valores que tiene el conversor A/D de la
entrada analgica se agrupen en 4 bloques. Por eso se seleccionaron los valores
de resistencia anteriores.
A continuacin se muestra el cdigo implementado para su funcionalidad.

void loop(){
//En el programa principal se chequea continuamente el valor del
interruptor de modo y segn su posicin se va a una rutina u otra.
SELECTOR_POS = analogRead (SELECTOR);

//Variable

para guardar la posicion del selector de modo


SELECTOR_POS = map (SELECTOR_POS, 0, 800, 0, 3);
//Mapeamos el valor para tener solo 4 casos
switch (SELECTOR_POS) {

//Segun sea el valor

iremos a un caso o a otro


case 0:
local1();

//Vamos al modo local1

break;

//Salimos del switch

case 1:
local2();
volante();

//Vamos al modo local2


//Vamos a la direccin

break;
case 2:
standby();

//Vamos al modo standby

break;
case 3:
remoto();

//Vamos al modo remoto

MEMORIA 46

break;
};
Lo bueno de emplear el comando map, es que nos da una salida que solo
variar entre 4 nicos valores y resulta bastante ptimo si se emplea junto al
comando switch. De no haberlo usado tendramos que haber implementado un
cdigo preguntando siempre por el valor y viendo si se cumple la condicin de
que la tensin de entrada est dentro de los umbrales que deseemos.

void loop(){
//En el programa principal se chequea continuamente el valor del
interruptor de modo y segn su posicin se va a una rutina u otra.
SELECTOR_POS = analogRead (SELECTOR);

//Variable

para guardar la posicion del selector de modo


if (SELECTOR_POS < 256)
local1();
else if (SELECTOR_POS >= 256 && SELECTOR_POS < 512)
local2();
else if (SELECTOR_POS >= 512 && SELECTOR_POS < 768)
standby();
else
remoto();
};
Se puede apreciar como, a pesar de funcionar perfectamente, la forma
implementada es ms ptima y clara. Si por ejemplo quisisemos ir al modo
Remoto con switch iramos directamente mientras que en el ltimo cdigo
primero miraramos si el valor esta en Local 1, luego en Local 2 y
Standby para al final comprobar que se puede entrar en Remoto. El

MEMORIA 47

programa entrara pero se ha realizado de una forma que tarda ms tiempo en


entrar.
4.4.2

Interruptor selector marcha:


Cuando nos encontramos en el modo Local 1 solo usamos el
acelerador de moto para dar potencia al motor pero no tenemos ninguna
forma de decir si queremos ir avanzar, parar o retroceder. Por eso se ha

Ilustracin 4.11
Selector de marcha

instalado un interruptor con el que poder elegir entre estas tres opciones.
La conexin del interruptor seguir la misma metodologa que en el

interruptor de seleccin de modo pero en este caso es mucho ms sencillo y se


conectar a la entrada analgica A1. Seguiremos aplicando la misma filosofa que en el
caso anterior, aprovechar una entrada analgica para poder leer los distintos valores.
Como solo necesitamos 3 valores y viendo que antes pudimos aprovechar los
dos valores de los extremos solo nos har falta calcular un valor de tensin. El valor
ms fcil de calcular es la mitad, 2.5 voltios.
Marcha

Tensin

Conexin

Avance

0 Voltios

Tierra

Paro

2,5 Voltios

Divisor de tensin

Retroceso

5 Voltios

Directa

Tabla 4.5 Conexiones selector de marcha

Hay una regla no escrita para los divisores de tensin y que se cumple siempre para
hallar la mitad de una tensin. Siempre que queramos obtener la mitad de la tensin de
entrada debemos colocar en serie dos resistencias iguales, de esta forma caer la misma
tensin en las dos resistencias y obtendremos la salida esperada. A continuacin se hace el
desarrollo terico y se ensea el esquema de la conexin.

MEMORIA 48

Ilustracin 4.12 Conexiones selector de marcha

!"#$ =

!
!"#$ ! + ! = ! !" !"#$ ! + !"#$ !
! + ! !"

= ! !" !"#$ ! = ! !" !"#$ ! = !


! = !

!" !"#$
!"#$

5 2,5
! = !
2,5

Observamos como matemticamente se cumple lo que se dijo anteriormente.

Pruebas de verificacin de hardware.


Siguiendo el esquema representado en la figura X.X (esquema de fritzing) y
con los componentes que se han calculado se realiza el siguiente montaje en
una protoboard.

MEMORIA 49

Ilustracin 4.13 Conexiones del selector de marcha en la protoboard

Y al igual que con el ejemplo anterior, con la ayuda de un multmetro se


comprueba que obtenemos las tensiones calculadas.

Diseo del software:


void loop(){
int sentido_pos = analogRead (SENTIDO);

//Leemos el

selector de avance-paro-retroceso
sentido_pos = map (sentido_pos, 0, 1023, 0, 2);

//Mapeamos el

valor para asignarlo a nuestras 3 opciones


switch (sentido_pos){
//En el caso de que tengamos un 0 iremos a avance(), con un 1
iremos a paro() y con un 2 iremos a retroceso().
case 0:
avance();
break;
case 1:
paro();
break;
case 2:

MEMORIA 50

retroceso();
break;
}
}
4.4.3

Acelerador de moto:
En el modo Local 1 gobernaremos el coche con el
interruptor de seleccin de marcha y un acelerador de moto

Ilustracin 4.14 Acelerador


de moto

instalado en el manillar. Este acelerador no es ms que un


potencimetro colocado en una empuadura y con retorno al
origen. Su conexin se realizar en la entrada analgica 2.

Ilustracin 4.15 Conexiones acelerador de moto

Para este componente no hace falta realizar ningn clculo. Solo es necesario
conectarlo adecuadamente e implementar el cdigo. La conexin se muestra en el
siguiente diagrama:

Diseo del software:

void loop (){


int valor = analogRead (pot)/4;
analogWrite(motor, valor);
Serial.println (valor);
}
Para tener una forma fcil de comprobar que la implementacin no tiene
ningn error imprimimos por la consola serial el valor que se lee del potencimetro.

MEMORIA 51

Nos debe de dar un valor de 0 para 0 voltios y 1023 para 5 voltios. Si la placa donde se
realiza la prueba tiene holguras o algunas conexiones flojas es posible que los valores
varen constantemente entre valores prximos.
4.4.4

Thumb joystick:
Si se ha seleccionado la opcin para que la tarjeta Arduino
trabaje en el modo Local 2 esto implica que tendremos que utilizar
como medio de control tanto para la traccin como para la direccin el
thumb joystick.
Ilustracin 4.16
Thumb joystick

Este joystick est formado por dos potencimetros, uno se


desplaza en el eje Y y otro en el eje X. Tiene la ventaja de que siempre

retorna al punto medio de los dos ejes.


En el eje Y se implementa el control de la traccin y en el eje X la direccin
elctrica del vehculo, de esta forma el control resultar ms natural pues se asemeja al
control de un coche teledirigido.

Eje Y = Traccin

Eje X = Direccin

Ilustracin 4.17 Ejes del thumb joystick

Al igual que en el caso del acelerador de moto, colocaremos la salida de los


potencimetros en las entradas analgicas. Se asignar el pin A3 para la traccin y A4
para la direccin tal y como se muestra en el diagrama.
Hay que sealar los dos interruptores de fin de carrera que se deben colocar en
los extremos del actuador lineal para que cuando ha llegado a los extremos, el control
no siga enviando tensin y provoque que se rompa el actuador.

MEMORIA 52

Ilustracin 4.18 Conexiones thumb joystick e interruptores fin de carrera

Ilustracin 4.19 Conexiones thumb joystick en la protoboard

Estos dos interruptores deben de tener una resistencia de 10k conectada a tierra que
acta en configuracin pull-down, con esto se asegura que cuando no est cerrado el pin
del interruptor est a 0 voltios.

Diseo del software:


En este caso la parte del hardware no tiene ningn problema sin embargo en el
cdigo es ms complejo.

MEMORIA 53

Avance
Y>=525
Izquierda

Paro

Derecha

X<=500

487<Y<525

X>=525

Retroceso
X<=487

Ilustracin 4.20 Valores de los potenciometros para las acciones

Debemos dejar claras las pautas comportamiento para el comportamiento de


los potencimetros.
void local2(){
JOYSTICK_TRAC_POS

analogRead

(JOYSTICK_TRAC);

//Miramos la posicion del eje Y del joystick


if (JOYSTICK_TRAC_POS < 500)

//Si el valor que

leemos del joystick es menor que 500, quiere decir que tenemos el
joystick bajado y vamos a retroceso()
retroceso();
else if (JOYSTICK_TRAC_POS > 525)

//Si el valor que

leemos del joystick es mayor que 525, quiere decir que tenemos el
joystick subido y vamos a avance()
avance();
else

//De lo contrario, si el joystick se

encuentra entre 500 y 525, no estamos tocando el jooystick y vamos


a paro()
paro();
}
void volante () {
int posgiro1 = analogRead (JOYSTICK_DIRE);

//Creamos

una variable interna para leer el valor del eje X del joystick

MEMORIA 54

if (posgiro1 < 500 && digitalRead (GIRO_IZQUIERDA_TOPE) ==


HIGH ) {

//Si tenemos el joystick girado a la izquierda y no est

activo su FDC entramos en el bucle


digitalWrite (GIRO_DERECHA, LOW);

//Apagamos

el led de giro a la derecha


digitalWrite (GIRO_IZQUIERDA, HIGH);

//Encendemos

el led de giro a la izquierda


}
else if (posgiro1 > 525 && digitalRead (GIRO_DERECHA_TOPE)
== HIGH) {

//Si por el contrario tenemos el joystick girado a la

derecha y no est activo su FDC entramos en el bucle


digitalWrite

(GIRO_IZQUIERDA,

LOW);

//Apagamos el led de giro a la izquierda


digitalWrite

(GIRO_DERECHA,

HIGH);

//Encendemos el led de giro a la derecha


}
else {

//En cualquier otro

caso, siginifica que no estamos moviendo el joystick sobre el eje X


digitalWrite (GIRO_IZQUIERDA, LOW);

//Ponemos a

baja la salida del giro a la izquierda


digitalWrite (GIRO_DERECHA, LOW

//Ponemos a

baja la salida del giro a la derecha


}
}

4.4.5

Displays 7 segmentos:
Para ayudar a una mejor experiencia de conduccin se ha
creado un pequeo panel formado por 3 displays de 7 segmentos
para que el usuario sepa en cada momento la posicin en que se

Ilustracin 4.21 Displays


de 7 segmentos

encuentra el acelerador para saber si el vehculo est respondiendo


como el desea o todava puede exigir ms rendimiento.

MEMORIA 55

Un display 7 segmento est formado, como su nombre indica, por 7 segmentos


que se pueden encender o apagar individualmente. Y cada segmento tiene forma de
lnea.
Aunque externamente su forma difiere considerablemente de un diodo LED
(diodos emisores de luz) tpico, internamente estn constituidos por una serie de
diodos LED con unas determinadas conexiones internas, estratgicamente ubicados de
tal forma que forme un nmero 8.
A cada uno de los segmentos que forman el display se les denomina a, b, c, d,
e, f y g y estn ensamblados de forma que se permita activar cada segmento por
separado consiguiendo formar cualquier dgito numrico.
Adems se usar un decodificar BCD/7 segmentos entre la tarjeta Arduino y
cada display. El uso de un decodificador significa un ahorro importante de pines. Si
activsemos directamente los segmentos desde el Arduino utilizando los 3 displays
necesitaramos 21 pines (7 pines 3 displays) sin embargo, al utilizar codificadores de
binario a decimal solo necesitamos 12 pines (4 pines 3 displays).

Ilustracin 4.22 Conexiones de los displays

Un decodificador BCD/7 segmentos se encarga de traducir un nmero en


binario (Binary Code Decimal) para activar las salidas correspondientes en el display y
que su representacin sea la correcta.

MEMORIA 56

A continuacin se muestra una tabla con el nmero en decimal, en binario y las


salidas del display.
Decimal

Binario

Display

A B C D a b c d e f

1 1 1 1 1 1 0

0 1 1 0 0 0 0

1 1 0 1 1 0 1

1 1 1 1 0 0 1

0 1 1 0 0 1 1

1 0 1 1 0 1 1

1 0 1 1 1 1 1

1 1 1 0 0 0 0

1 1 1 1 1 1 1

1 1 1 0 0 1 1

Tabla 4.6 Valores para un display

Como se aprecia en la tabla anterior es necesario 4 salidas para poder disponer


de los nmeros del 0 al 9. Con 3 salidas tendramos solo hasta 7.
Para el proyecto se han escogido displays de ctodo comn en lugar de nodo
comn. Como su nombre indica, todos los segmentos tienen el ctodo comn. Esto
significa que siempre estn conectados a tierra y se activan cuando se cierra el circuito
en su ctodo, tal y como se muestra en la siguiente imagen.

MEMORIA 57

Ilustracin 4.23 Conexin display ctodo comn

Conforme se han elegido los displays de ctodo comn, es necesario que el


decodificador sea compatible con stos. Para ello se ha escogido el circuito integrado
HCF4511.
Como ya se ha descrito anteriormente, este circuito traducir la salida en
binario del Arduino para que se muestra el nmero que corresponda sobre los
displays.
A continuacin se muestra el esquemtico realizado para el funcionamiento del
mismo.
Este chip presenta tres patillas adicionales para activar o desactivar el display,
probar todos los segmentos o que parpadee. Haciendo caso al datasheet para que el
display funcione correctamente la patilla (5) Lamp Enable debe estar a tierra (0 voltios)
y las patillas (4) Blanking Input y (3) Lamp Test Input a alta (5 voltios).
4.4.6

Panel LED informativo:


Se decidi implementar una serie de LEDs para poder informar al
conductor el estado de conduccin del vehculo. Estos indicaran las salidas
correspondientes al sistema de traccin y de direccin del vehculo.

Ilustracin 4.24
LED SMD

Se opt por elegir LEDs del tipo SMD que ocupan un espacio
menor y ofrecen una luminosidad igual que un LED THD.

Los colores escogidos fueron blanco, azul, verde y rojo y su colocacin y


significado se pueden ver en la siguiente imagen.

MEMORIA 58

Traccin
avance
Tope
izquierda

Giro
izquierda

Giro
derecha

Paro

Tope
derecha

Traccin
retroceso
Ilustracin 4.25 Posicin LEDs indicadores

Segn el color de cada LED el consumo de tensin y corriente es distinto, as que


ahora se realizar el clculo aplicando la Ley de Ohm (V=IR) para que cada LED tenga su
resistencia adecuada y no se funda.
Color

Tensin Corriente

Azul

3-3,3

20mA

Blanco

3,0-3,2

20mA

Rojo

2,1-2,3

20mA

Verde

3,2-3,4

20mA

Resistencia

Valor comercial

3,3
= 165
0,02

150

3,2
= 160
0,02

150

2,3
= 115
0,02

91

3,4
= 170
0,02

150

Tabla 4.7 Valores resistencias para los LEDs

MEMORIA 59

4.4.7

PCB Panel de Control:


En un principio se dise una PCB a doble cara con todos los componentes
nombrados anteriormente para que el Servicio de Electrnica la implementase pero
debido a problemas en la tramitacin se tuvo que modificar el diseo para poder
realizarlo uno mismo, pues no se dispona de insoladora a doble cara.

Ilustracin 4.26 Diseo PCB para el panel de control

Es por ello que el diseo se parti en 4 mdulos. El Thumb Joystick ira en un


mdulo, los LEDs informativo en otro, el interruptor selector de modo, de marcha y
el pulsador de luces en un tercero y por ltimo los displays en otro ms.
De todas formas en los anejos del proyecto se incluyen los esquemas y diseos
para realizar el panel de control tanto con tecnologa THD y displays de ctodo comn
como con tecnologa SMD y displays de nodo comn.
4.5

Sistema de direccin:
Para el sistema de direccin automtico del coche se plantearon diversas opciones de

implementacin.

MEMORIA 60

Depsito

Bomba

Filtro
de
presin
Vlvula
descarga

Vlvula
Seleccin

Cilindro
Ilustracin 4.27 Sistema de direccin hidralico

La primera opcin que se manej fue crear un pequeo sistema hidrulico. Para la
implementacin de este sistema era necesario aadir una serie de elementos extras para que el
sistema funcionase. Estos componentes se pueden apreciar en la siguiente imagen:
El problema de este sistema es que, a parte de resultar bastante caro, necesita tener una
presin constante en el sistema de forma que el sistema reaccione de forma casi instantnea.

MEMORIA 61

Por motivos similares tambin se desecho el implementar un circuito neumtico.


La siguiente alternativa sopesada fue aadir un servomotor como los utilizados en
aeromodelismo. Estos motores tienen la gran ventaja de tener un cable de control que enva
un seal codificada (un pulso PWM) indicndole la posicin en la que debe situarse.

Ilustracin 4.28 Funcionamiento de un servomotor

El problema que presentan es que su capacidad de esfuerzos es limitada y adems se


necesitara crear una estructura especfica para l en el chasis.
La opcin que se observ que poda rendir de forma ms ptima era instalar un
actuador lineal. Un actuador lineal elctrico es un dispositivo que convierte el movimiento de

MEMORIA 62

rotacin de un motor de corriente continua de baja tensin en movimiento lineal, es decir, los
movimientos de empuje y tiro.
De las opciones que ofreca el mercado se opt por escoger el modelo A-track 1 de X
mm de extensin y 24 voltios de alimentacin de la compaa Warner Electric.

Ilustracin 4.29 Actuador elctrico para la direccin

La eleccin de escoger el actuador de 24 voltios en lugar de 12 voltios fue debido a


que la corriente que demandar ser menor pues la potencia es igual al producto de la tensin
por la corriente (P = V I), por lo que para la misma potencia a mayor tensin menos
corriente ser necesaria.
Esta eleccin tambin vena condicionada por el controlador que se iba a utilizar para
la accin de extensin y retraccin. Un puente H implementado por el circuito integrado
L298N. Este chip es capaz de aguantar picos de 3 amperios y una carga constante de 2
amperios. Adems de soportar hasta 50 voltios en su entrada. A continuacin se pueden
observar los valores mximos del L298N y una foto de ste.

Ilustracin 4.30 Puente H con LM298 y datos tcnicos

MEMORIA 63

Sabiendo que el controlador del actuador tena esas caractersticas se mir en los datos
del fabricante las cargas que exigan los modelos de actuadores (el de 12 voltios y el de 24).

Ilustracin 4.31 Rectas de carga del actuador elctrico

Se puede apreciar claramente como para una misma carga la corriente exigida en el
caso del actuador de 12 voltios llega a ser el doble que para el otro modelo, adems de que con
el segundo modelo nunca se llegar a trabajar en los valores mximos del controlador.
Adems el sistema de direccin dispondr de dos interruptores fin de carrera para
indicar cuando se ha alcanzado el giro total de la direccin y no se contine enviando seal al
actuador tal y como se aprecia en el siguiente esquema:

MEMORIA 64

Fin de
carrera

Arduino

Actuador
L298N

Alimentacin

Ilustracin 4.32 Sistema de direccin del vehculo

Cuando se instal el sistema de direccin se hizo patente la falta de resistencias pull-down en


los interruptores fin de carrera para que la seal que recibiese el Arduino correspondiese
exactamente con el valor que deba emitir el interruptor.
Con la resistencia pull-down forzamos a que la entrada est siempre a baja a no ser que
el interruptor se cierre y deje pasar la corriente. Son de vital importancia para evitar cambios
de estado producidos por ruidos elctricos o variaciones en la fuente de alimentacin.

MEMORIA 65

Ilustracin 4.33 Resistencia pull-down del interruptor fin de carrera

4.6

Sistema de traccin:
Todo el diseo de traccin gira en torno al motor que ira instalado en el coche. Lo

primero que se tuvo que decidir fue elegir el tipo de motor a emplear de corriente continua, de
corriente continua e imanes permanentes o paso a paso. La eleccin fue un motor de imanes
permanentes cuyas caractersticas principales se muestran en la siguiente tabla:
Caractersticas

800W / 36V

Consumo sin carga

< 2,8 A

RPM sin carga

3500

Par

2,8 Nm

RPM con carga

2800

Corriente con carga

< 27

Eficiencia

> 78%

Tabla 4.8 Datos tcnicos del motor

MEMORIA 66

Los motores de imanes permanentes no tienen un devanado de campo en el bastidor


del estator, en lugar de ste se colocan una serie de imanes permanentes para proporcionar el
campo magntico contra el que interacta el campo del rotor para producir par. Debido a que
este campo es fijo, no se puede ajustar para controlar la velocidad de giro del motor. Los
motores con imanes permanentes son convenientes en motores en miniatura para eliminar el
consumo de energa del devanado de campo.
Para minimizar el peso y el tamao general, se pueden utilizar imanes de alta energa a
base de neodimio u otros elementos, la mayora como son la aleacin de neodimio-hierroboro.
Las ventajas que ofrecen los motores dc frente a un motor paso a paso es que su
control se implementa de forma ms sencilla y el cambio en el sentido de giro y de aceleracin
es mucho ms rpido. Por su parte, los motores paso a paso nos ofrecen un control casi total
sobre ellos, pudindoles indicar en todo momento cuanto queremos avanzar y adems
ofreciendo mucho ms par.
Buscando por los distintos vendedores de motores se pudo observar que para las
caractersticas que se exigan (mover un peso bastante elevado con agilidad) lo ms indicado
era utilizar un motor dc, pues a duras penas existe algn modelo de motor paso a paso
econmico para mover los aproximados 120 kilos del vehculo y su ocupante.
Leyendo referencias de otros karts elctricos construidos muchos han elegido un
motor de 24 voltios y 250 watios. Debido al elevado nmero de proyectos con este motor se
decidi escoger en un primer momento ese modelo.

MEMORIA 67

Ilustracin 4.34 Primer motor utilizado

Ms adelante, cuando se realizaron las primeras pruebas se comprob que ese motor
era insuficiente para este proyecto y al final se tuvo que obtener uno nuevo. En este caso sera
un motor de 36 voltios y 800 watios.

Ilustracin 4.35 Comparacin entre el primer motor y el segundo

MEMORIA 68

Como el nuevo motor no estuvo contemplado desde el principio, al acoplarlo se


present un nuevo problema. Su longitud era tan grande que en la posicin que se situ
rozaba con el neumtico trasero izquierdo por lo que se tuvo que limar los tacos de la rueda
que se vean afectados.

Ilustracin 4.36 Desgaste en el neumtico para la colocacin del motor

4.6.1

Puente H:
El puente H o H bridge es la solucin en sistemas donde el sentido de giro es una

necesidad de operacin. En el diseo del puente H influyen numerosos factores como la


inercia del sistema mecnico, la velocidad en respuesta, el sistema de frenado,
Tambin conocido como puente completo, adopta la letra H para su nombre debido a la
forma que presenta dentro de un circuito esquemtico simplificado, como se observa debajo. En
la barra central se encuentra ubicado el motor y en cada rama lateral ascendente o descendente
se ubican los conmutadores que, activados de una manera apropiada, brindarn al sistema los
movimientos necesarios para que el motor pueda girar en un sentido u otro.

MEMORIA 69

+VCC

Lado Superior Derecho

Lado Superior Izquierdo


(HSL)

SW1

SW2

(HSR)

M
Lado Inferior Derecho
Lado Inferior Izquierdo SW4

SW3

(LSL)

(LSR)

Ilustracin 4.37 La letra H formada por la ubicacin de los conmutadores en el circuito

Como se observa en la imagen existen 4 interruptores que se deben manejar de forma


apropiada para lograr el giro adecuado del motor.

+VCC

Lado Superior Derecho

Lado Superior Izquierdo


(HSL)

SW1

SW2

(HSR)

M
Lado Inferior Derecho
Lado Inferior Izquierdo SW4
(LSL)

SW3

(LSR)

Ilustracin 4.38 Circulacin


de la corriente
segn
las llaves que se cierren
movimientos
sobre el
motor

Para conectar el motor y hacerlo girar se deben activar las llaves de conmuntacin por
pares opuestos en lo que respecta a los lados y a posicin (superior o inferior). Un error en la
activacin que permita la conexin de elementos superiores e inferiores de un mismo lado
provocar que permita la conexin de elementos superiores e inferiores de un mismo lado
provocar una descarga muy rpida de las bateras o, en el peor de los casos, destruir los
elementos que forman las llaves conmutadoras. Para un giro seguro en uno de los dos
sentidos, debemos cerrar SW1 y SW3 (lnea roja), observando que SW2 y SW4 (lnea azul)

MEMORIA 70

permanezcan abiertos. En el caso inversio sera SW2 y SW4 cerradas, mientras que SW1 y
SW3 debern permanecer abiertas.
Para poder operar con el motor permitiendo un funcionamiento de giro en ambos
sentidos se sustituirn las llaves conmutadoras por transistores MOSFET. Existen diseos con
transistores de canal P en los lados superiores y de canal N para los inferiores. La ventaja de
este concepto de diseo es que las tensiones necesarias para activar los gates de los
transistores de canal P se podrn sacar directamente de la alimentacin utilizada para el motor.
Tambin se puede utilizar transistores de canal N en los lados superiores del puente. En esta
caso la tensin necesaria para activar los gates deber provenir de un elevador de tensin que
funcione por encima del valor nominal de alimentacin del motor.
El primer modelo de puente H que se realiz para el proyecto se describe en la imagen
siguiente:
+VCC = 36V

Lado Superior Izquierdo

Lado Superior Derecho

(HSL)

IRFZ44N (HSR)

IRFZ44N

M
Lado Inferior Izquierdo
(LSL)

IRFZ44N

Lado Inferior Derecho


IRFZ44N

(LSR)

Ilustracin 4.39 Primer puente H creado

Para obtener un giro determinado se emplearon 4 transistores MOSFET IRFZ44N de


canal N y que debern comportarse como llaves conmutadoras. Tal como se desprende de la
hoja de datos del transistor para que conduzca a pleno, ofreciendo la menor resistencia entre
el drenador y la fuente, la tensin de puerta respecto a la fuente deber ser ms positiva y del
orden de los 2 a 4 voltios.

Ilustracin 4.40 Datos necesarios para el funcionamiento de los MOSFETs

MEMORIA 71

Atendiendo a los datos que ofrece el fabricante de los mosfet que estima una cada de
tensin entre drenador y fuente de 1,3 voltios y que la tensin suministrada por las bateras
ser de 36 voltios (un poco ms en plena carga), al motor le llegarn aproximadamente 34,7
voltios. Lo ideal sera poder obtener 36 voltios en el motor pero no se puede obtener otro
voltaje debido a la limitacin que ofrecen las baterias.
Para que en la fuente puedan existir los 34,7 voltios tericos, en la puerta se deben de
aplicar una tensin entre 36,7 y 38,7 voltios, es decir, entre 2 y 4 voltios por encima de la
tensin de la fuente. De lo contrario, la tensin necesaria para activar el transistor a la mxima
conduccin se descontar de la tensin de alimentacin y al motor le llegarn 32,7 voltios o
menos. De este modo, se tendr una mxima circulacin de corriente a travs de drenadorfuente para hacer girar el motor al mximo, con una diferencia de potencial de 2 voltios o ms
entre estos dos terminales del transistor. Esto, equivale, segn la frmula de la potencia, que 2
voltios multiplicados por la mxima corriente del motor ser la potencia que disipar en forma
de calor el transistor.
En un caso ideal del motor a pleno rendimiento, estarn circulando a travs de l 28
amperios. Aplicando la frmula de la potencia, habra una disipacin de 56 watios,
redondeando 60 watios. Cada transistor es capaz de soportar 49 amperios, pero solo 50 watios
de disipacin debido a su encapsulado. En principio con 2 transistores en paralelo debera
funcionar el sistema correctamente porque cada uno disipara 30 watios pero para ms
seguridad se ha decidido colocar 5 mosfets en paralelo, disipando cada uno 12 watios que est
por debajo del umbral de seguridad que establece el fabricante. Esta condicin de seguridad
dice que para una mayor duracin de los transistores stos solo trabajen a un 40% de la
potencia mxima que soporten (20 watios).
Una alternativa para no tener un menor voltaje en el motor es la incorporacin en el
sistema de un elevador de tensin dc-dc que aumente los dos voltios necesarios para elevar la
tensin en las puertas.
Para controlar la apertura de las puertas y con ello el sentido de giro y la velocidad del
motor se utilizar PWM. El problema es que como se ha comentado anteriormente, las
puertas necesitan un voltaje aproximado de 35 voltios y el Arduino solo es capaz de entregar
un PWM de 5 voltios de amplitud.

MEMORIA 72

Para solucionar este problema se cre la etapa amplificadora con transistores BJT que
se muestra en la siguiente imagen.

Ilustracin 4.41 Etapa BJT

A continuacin se detalla el funcionamiento de la etapa. Lo primero que cabe resear


es que los dos transistores son complementarios. El BD139 es NPN y el BD140 PNP. El
primer transistor se encarga de dejar pasar la tensin de 36 voltios en periodos inversos a la
seal de PWM que enva el Arduino debido a su configuracin NPN. Por su parte el transistor
PNP se encarga de invertir la seal que genera el transistor BD139, ofreciendo de esta forma
un pulso idntico al que introduce el Arduino pero con una tensin de pico de 36 voltios. A
continuacin se muestran dos grficas. La primera con una frecuencia de PWM de 500 Hz que
es el PWM que genera el Arduino sin modificar sus registros y la segunda con una frecuencia
de 31374 kHz. El color amarillo corresponde a la tensin en la base del transistor Q1, el color
azul al colector del mismo transistor y el rojo al colector del transistor Q2.

MEMORIA 73

Ilustracin 4.42 Respuesta de la etapa BJT

Se comprueba como en la segunda grfica los tiempos de subida y bajada en los


transistores afectan al rendimiento pues su zona de trabajo ptima es hasta los 20 kHz. A
pesar de estos problemas que generan los 31374 kHz en los transistores se decidi probar la
etapa con el motor, creando el siguiente montaje y obteniendo el resultado que se muestra a
continuacin:

Ilustracin 4.43 Etapa BJT con motor y respuesta de la etapa

Se comprueba como los transistores no logran cerrar del todo debido a la alta
frecuencia y por tanto, el motor se queda funcionando continuamente a pesar de variar el ciclo
de trabajo. As que se descart esta opcin.
Para intentar conseguir que el motor funcionase se buscaron unos nuevos transistores
que trabajasen a una frecuencia mayor, para ello se buscaron transistores de radiofrecuencia
cuyo orden de trabajo llega a los megahercios.

MEMORIA 74

Los transistores elegidos para esta nueva prueba fueron: 2N2219A como NPN y
2N2905 como PNP. Los valores de las resistencias se mantuvieron constantes.

Ilustracin 4.44 Etapa radiofrecuencia y resultado

Se comprueba como en este caso, a pesar de que los transistores trabajan muy por
debajo de su rango de frecuencia mxima tambin tienen problemas con el paso de corte a
conduccin. En el montaje completo de una rama se vuelve a apreciar claramente el efecto.

Ilustracin 4.45 Etapa radio frecuencia y resultados

Se vuelve a poner de manifiesto como, a pesar de ser los transistores de radio


frecuencia no resultan ptimos para este trabajo.

MEMORIA 75

Viendo que no se consegua de ninguna forma la forma de onda adecuada en el motor


hubo que bajar la frecuencia de trabajo. Se modific el registro del Arduino para que generase
un PWM de 7.8125 kHz. En la imagen inferior se puede ver la lnea de comando modificada.

Ilustracin 4.46 Configuracin PWM Arduino

En un principio terminaba en 0x01, al poner el 0x02 el prescaler se divide entre 8 y se


obtiene el PWM de la frecuencia deseada.
La etapa que se emple en este caso fue con los transistores de radio frecuencia. El
resultado de la simulacin, con un motor conectado, fue el siguiente:
Se puede observar como los ciclos de trabajo estn ms marcados, aunque solo llegan
en un breve instante de tiempo a cortar completamente la seal.

Ilustracin 4.47 Resultado etapa 7.8125 kHz

A pesar de que con todas las pruebas realizadas el resultado no ha sido el esperado se
decidi seguir trabajando sobre el diseo la ltima etapa. La siguiente modificacin que se
realiz fue incorporar un optotransistor para tener aislada el pin del Arduino y que en caso de
que se produjese algn pico de corriente inverso ste quedase protegido y fuese el
optotransistor el que sufriese el dao. El chip elegido fue el CNX82, el parmetro ms crtico
para su eleccin fue la tensin colector-emisor (VCE) capaz de soportar, en la prctica debe
ser mayor a 30 voltios. La configuracin utilizada con el transistor se conoce como colector-

MEMORIA 76

abierto (open.-collector). Adems se sustituy el transistor superior por uno de canal P (PMOS).
Los P-MOS se eligen de manera complementaria a los N-MOS, al igual que cuando se
trabaja con transistores BJT y se utilizan NPN y PNP.
A diferencia de los N-MOS, los P-MOS trabajan con tensiones negativas respecto a la
fuente pero la magnitud de sus valores es la misma que la de sus complementarios. En este
caso se emple un P-MOS IRF9540.
Incorporando este P-MOS su activacin resulta mucho ms sencilla que la de un NMOS pues ste necesita una cada de tensin del orden de 2 a 4 voltios para abrirse. La cada
de tensin se obtiene incorporando una resistencia entre la fuente y la puerta.

Ilustracin 4.48 Etapa optoacoplador y resultado

Se puede comprobar que la salida para este caso se aproxima bastante a la esperada a
pesar de que se aprecia bastante ruido en la puerta de los MOSFETs. An as en este circuito
todava se presenta un problema. La resistencia R2 se encarga de bajar la tensin necesaria
para que la puerta del MOSFET superior entre en plena conduccin pero provoca que el
MOSFET inferior presente 33 voltios entre la puerta y la fuente, lo que supone que disipar
924 watios (33 voltios 28 amperios) algo que supone una difcil tarea de disipar. Es necesario,
por tanto, tener que rebajar la tensin en la puerta del transistor inferior. Cualquiera de las
soluciones que se presenta a continuacin no mostr el resultado esperado, o bien llevaban la
tensin de las puertas a tierra, o la reducan correctamente pero entraban en conflicto con las
capacidades parsitas de la puerta de los MOSFETs y stos no se descargaban correctamente y
quedaban cerrados todo el periodo haciendo que el motor no deje de girar.

MEMORIA 77

Ilustracin 4.49 Distintas pruebas para la activacin del N-MOS

MEMORIA 78

La solucin se encontr en la pgina web de Gary L. Chemelec de Canad, aunque el


esquema se puede encontrar en numerosos sitios web.

Ilustracin 4.50 Puente H de Gary L. Chemelee

Este circuito tiene una clara diferencia respecto y es que la activacin de los N-MOS se
realiza cuando se abren los P-MOS, se podra decir que con este mtodo las puertas de los NMOS se abriran ms tarde que las de los P-MOS y la reaccin del motor no sera instantnea.
Realizando las pruebas se ha comprobado que ese tiempo es despreciable y no afecta al
funcionamiento del motor.
Al igual que en todos los modelos probados anteriormente, hay que obtener una
tensin adecuada en las puertas para que la potencia disipada sea la menor posible.
Mirando la hoja de datos que nos proporciona el fabricante, son necesarios 100nA
para abrir la puerta del transistor. Como tenemos 5 transistores en paralelo, ser necesario que
circulen 500nA. Por lo que obtendremos el siguiente valor de resistencia:
= =

36 32
=
= 8

0,5

Tambin es necesario calcular la resistencia del optoacoplador para que pueda circular
esa corriente. Para ello es necesario mirar la grfica que nos ofrece el fabricante.

MEMORIA 79

Ilustracin 4.51 Grficas para la optimizacin del optoacoplador

En nuestro caso debemos mirar primero la grfica de la derecha, nosotros queremos


que por el colector circulen como mnimo 0,5mA. Ese valor lo tenemos que mirar sobre el eje
Y, lo proyectamos en el eje X y obtenemos un valor entre 4 y 5mA por el LED,
aproximaremos mejor a 5mA para no quedarnos cortos. Trasladndonos ahora a la grfica de
la derecha, sobre el eje X buscamos 5mA y proyectamos sobre el eje Y. Esto se traduce en que
aplicando una entrada de 1 voltio a la entrada del optoacoplador permitir circular la corriente
necesaria para abrir las puertas de los P-MOS.
Sabemos que el Arduino en cada salida proporciona 5 voltios y hasta 40mA. Por lo
cual debemos colocar una resistencia adecuada capaz de reducir la tensin de salida del
Arduino a la exigida por el optoacoplador.
=

!"# !"# 5 1
=
=
= 800

!"#
5

Como en el mercado no se encuentra ese valor exacto utilizaremos una resistencia con
tolerancia del 1% con valor 787 Ohms. Si hubisemos seleccionado una de valor superior
estaramos reduciendo la corriente que pasa por el circuito y podra no ser suficiente para abrir
las puertas.
Para obtener la tensin en las puertas de los N-MOS se implement un divisor de
tensin.
!"#$ =

!
!"#$
!
3
!
!"#$
=

=
! + !
!"!" ! + ! 36 1,4 ! + !
0,08 ! + ! = ! 0,08 ! + 0,08 ! = !

MEMORIA 80

0,08 ! = 1 0,08 ! ! =

1 0,08
! ! = 11,5 !
0,08

Con la relacin obtenida, si asignamos a R2 el valor de 1k R1 deber valer 11,5k


aunque por valores comerciales se coger una de 10k.
A continuacin se muestra el esquema que se dise con estos elementos.

Ilustracin 4.52 Esquema conexin optoacoplador

En la grfica se puede observar de color amarillo la tensin de entrada al


optoacoplador despus de la resistencia, de color azul la tensin en la puerta del P-MOS, de
color rojo la tensin de la puerta del N-MOS y de color verde la tensin a la entrada del
motor. Las lneas azules horizontales muestran el valor de la magnitud respecto a tierra.
En la parte de la grfica que muestra la seal del motor se pueden apreciar importantes picos
de corriente inversa, para compensar este sistema es necesario incorporar unos diodos de libre
circulacin.

MEMORIA 81

Ilustracin 4.53 Resultados Puente H definitivo

A continuacin se pueden observar una serie de fotos de la placa realizada.

MEMORIA 82

Ilustracin 4.54 Placa para los optoacopladores

Diodos de libre circulacin:


Los diodos de libre circulacin tambin pueden ser denominados como diodo
snubber, flyback diode o diodo supresor.
Estos diodos son empleados para eliminar las corrientes inversas. Estas suceden
cuando hay un cambio brusco de tensin en una carga inductiva.
Podemos simplificar el caso que nos afecta a dos estados. En el primero el MOSFET
ha estado cerrando el circuito durante un largo periodo de tiempo y el motor, que es una carga
inductiva, se ha cargado de energa y se comporta como un cortocircuito. La corriente est
desplazndose del terminal positivo del motor al negativo a travs de la bobina. Cuando se
deja de alimentar la puerta del MOSFET, sta se cierra. En ese momento el motor intentar
que ese cambio brusco en la alimentacin no se haga efectivo aplicando toda su energa
almacenada al circuito. Esto provoca que se cree un potencial negativo donde antes era
positivo y viceversa en el otro terminal del motor.

MEMORIA 83

Un diodo de libre circulacin soluciona este problema creando una rama paralela que
descarga toda la energa almacenada hasta que sta se descarga por las prdidas en el circuito y
la cada en el diodo.

Ilustracin 4.55 Diodo en paralelo con inductancia

Cuando el circuito se cierra de nuevo, el diodo se polariza en inversa y no afecta al


rendimiento del circuito. Al abrirse de nuevo el circuito, el diodo se polarizar en directa al
motor, permitiendo circular a la corriente almacenada en un loop temporal mientras quede
energa almacenada.
La tensin a travs del motor disminuir en funcin de la cada en el diodo. El tiempo
de duracin de stas corrientes inversas vara en funcin del tamao de la inductancia pero
suele ser del orden de los milisegundos.
Para seleccionar un diodo ideal, el primer punto de referencia es que aguante elevados
picos de corriente (de esta forma podr aguantar grandes transiciones de voltaje sin quemarse),
el segundo una tensin de polarizacin mnima y que la tensin caiga toda de nuevo en la
inductancia y el tercer punto sera la corriente de pico inversa capaz de soportar. Dependiendo
del sistema que se est tratando, en algunas ocasiones las tensiones que se generan pueden ser
del orden de 10 veces de la nominal, por lo que es importante hacer un clculo elevado del
elemento.
Cuando el sistema funciona con corriente continua, el diodo puede causar un retraso
en el corte de la corriente cuando se abre el circuito. Si la frecuencia del sistema es crucial, se
puede colocar una resistencia con valor muy bajo en serie con la inductancia para ayudar a
disipar la energa de la bobina ms rpido.

MEMORIA 84

Ilustracin 4.56 Diodo en paralelo con resistencia en serie

Ilustracin 4.57 Diodo empleado en el proyecto

Para el proyecto, debido al desconocimiento del vehculo con carga se ha optado por
colocar unos diodos de gran capacidad. El modelo seleccionado ha sido un diodo de potencia
de recuperacin estndar, 70HF(R) Series.
Este diodo es capaz de soportar 70 amperios de manera continua y hasta picos de
1200 amperios.

MEMORIA 85

A continuacin se muestran unas imgenes de la colocacin de los diodos en el


vehculo.

Ilustracin 4.58 Colocacin de los diodos de proteccin

MEMORIA 86

4.7

Protecciones:
A la hora de proteger todo el vehculo de algn cortocircuito que pudiese ocurrir en el

vehculo se han colocado dos tipos de protecciones: un magnetotrmico y tres fusibles.


Un interruptor magnetotrmico, es un dispositivo capaz de interrumpir la corriente
elctrica de un circuito cuando sta sobrepasa ciertos valores mximos. Su funcionamiento se
basa en dos de los efectos producidos por la circulacin de corriente elctrica en un circuito: el
magntico y el trmico (efecto Joule). El dispositivo consta, por tanto, de dos partes, un
electroimn y una lmina bimetlica, conectadas en serie y por las que circula la corriente que
va hacia la carga.
Al circular la corriente por el electroimn, crea una fuerza que, mediante un dispositivo
mecnico adecuado, tiende a abrir el contacto, pero slo podr abrirlo si la intensidad que
circula por la carga sobrepasa el lmite de intervencin fijado. Esta parte es la protectora frente
a cortocircuitos.
La otra parte est constituida por una lmina bimetlica que, al calentarse por encima
de un determinado lmite, sufre una deformacin y pasa a la posicin sealada en lnea de
trazos lo que, mediante el correspondiente dispositivo mecnico, provoca la apertura del
contacto.

Ilustracin 4.59 Interruptor magnetotrmico

MEMORIA 87

Un fusible es un dispositivo, constituido por un filamento o lmina de un metal


o aleacin de bajo punto de fusin que se intercala en un punto determinado de una
instalacin elctrica para que se funda, por Efecto Joule, cuando la intensidad de corriente
supere, por un cortocircuito o un exceso de carga, un determinado valor que pudiera hacer
peligrar la integridad de los conductores de la instalacin con el consiguiente riesgo de
incendio o destruccin de otros elementos.

Ilustracin 4.60 Fusible de car audio empleado

MEMORIA 88

4.8

Conexiones elctricas y secciones de cable:

Panel de control

Direccin

Bateras
Control

MOSFETs

Fusibles

Magnetotrmico

Motor

Router

Arduino
Panel de control

Direccin

+24

Direccin

MOSFETs

Optoacopladores

+12

Ilustracin 4.61 Conexiones del vehculo

MEMORIA 89

En los esquemas anteriores se pueden observar las conexiones que se realizarn entre
los distintos dispositivos que componen el vehculo.
Para los clculos de la seccin de los clculos se debe emplear la siguiente frmula:
=

Donde:

S = seccin del cable.

L = Longitud del cable.

I = Corriente mxima.

= conductividad del cobre (1/56).

= Cada de tensin (en voltios).

Tensin Elementos

Corriente

Longitud

mxima
Arduino

1A

2 metro

Cada de

Seccin

Seccin

tensin

calculada

instalada

1% = 0,12

0,6mm2
1,5mm2

+12
Router

1A

2 metro

1% = 0,12

0,6mm2

+24

Direccin

1,5 A

2 metros

1% = 0,24

0,44mm2

1mm2

+36

Motor

30 A

2 metro

1% = 0,36

9mm2

10mm2

Tabla 4.9 Secciones de cable calculadas

Para todas las seales digitales se ha utilizado cable de comunicacin, pues est
comprobado que su seccin es suficiente en el proyecto.

MEMORIA 90

Ilustracin 4.62 Caja de control

Ilustracin 4.63 Conexiones de los MOSFETs y el motor

MEMORIA 91

5. DISEO DEL SOFTWARE PARA ARDUINO


A continuacin se muestran los diagramas de flujo del programa creado en la tarjeta
Arduino para el control y las comunicaciones de todo el proyecto.
5.1

Esquema general:
Al arrancar el Arduino lo primero que realiza es la configuracin del mismo, asignar

pines de entrada y salida, configurar el puerto servidor y las comunicaciones.


A continuacin entra en el loop principal y est chequeando constantemente el
interruptor de selector de modo para entrar en los distintos modos de conduccin.

Inicio Arduino

Configuracin

Selector de
modo?

Local 1

Local 2

Standby

Remoto

Volante

Ilustracin 5.1 Esquema general

MEMORIA 92

5.2

Local 1:
En el modo de conduccin Local 1 se emplea el acelerador de moto para la traccin,

con el interruptor de seleccin de marcha se escoge el sentido de sta y la direccin se realiza


de forma manual.
Local 1

Selector
marcha?

Avance

Paro

Retroceso

Ilustracin 5.2 Modo "Local 1"

5.3

Local 2:
El modo de conduccin Local 2 emplea el thumb joystick para controlar tanto la

traccin como la direccin. Lo primero que se realiza es la comprobacin del eje Y del joystick
para chequear el sentido de la marcha y la velocidad, a continuacin se verifica el estado del eje
X para realizar las operaciones que correspondan en la direccin.

MEMORIA 93

Local 2

Joystick
eje Y?

Avance

Paro

Retroceso

Ilustracin 5.3 Modo "Local 2"

Volante

Joystick
eje X?

Izquierda

Paro

Derecha

Ilustracin 5.4 Modo "Volante"

MEMORIA 94

5.4

Remoto:
Al activar el modo Remoto el Arduino se queda a la espera de que haya un cliente

conectado para recibir datos. Una vez que los ha recibido el primer campo corresponde con el
sentido de giro de la traccin y el segundo con la velocidad. El tercer campo es el valor de la
direccin y el ltimo corresponde a encender o apagar las luces.
Remoto

Recibir datos

Traccin?

Avance

Paro

Retroceso

Direccin?

Izquierda

Paro

Derecha

Enviar datos
Ilustracin 5.5 Modo "Remoto"

MEMORIA 95

5.5

Avance:
La funcin de Avance escribe sobre el pin de avance un PWM correspondiente al

valor de la consigna del acelerador. A continuacin llama a la funcin Letrero.

Avance

Salida = Acelerador

Letrero

Ilustracin 5.6 Funcin "Avance"

5.6

Retroceso:
La funcin de Retroceso escribe sobre el pin de retroceso un PWM correspondiente

al valor de la consigna del acelerador. A continuacin llama a la funcin Letrero.


Retroceso

Salida = Acelerador

Letrero

Ilustracin 5.7 Funcin "Retroceso"

MEMORIA 96

5.7

Paro:
La funcin de Paro pone a 0 el estado de los dos pines de la traccin. A

continuacin llama a la funcin Letrero.

Paro

Salida = 0

Letrero

Ilustracin 5.8 Funcin "Paro"

5.8

Letrero:

En la funcin Letrero se comprueba el valor de consigna del acelerador para poder


mostrar cada dgito en su correspondiente display.

Letrero

Acelerador?

Unidades

Decenas

Centenas

Ilustracin 5.9 Funcin "Letrero"

MEMORIA 98

6. DISEO DEL SOFTWARE PARA EL DISPOSITIVO MVIL


6.1

Introduccin
Para el desarrollo de la aplicacin del dispositivo de control mvil se utiliz el

programa LiveCode Community en su versin 6.0, la cual es gratuita y se puede descargar


en http://livecode.com/download/
LiveCode es un entorno de desarrollo grfico. Utiliza un lenguaje de programacin
orientado a eventos. Adems incluye un simulador para poder depurar mejor el cdigo.
La programacin orientada a eventos consiste en crear diversos eventos cuya
ejecucin va determinada por los sucesos que ocurren en el sistema, definidos por el
usuario o que provoquen ellos mismos.
Cuando se inicializa el programa se llevan a cabo las inicializaciones y dems cdigo
inicial y a continuacin el programa quedar bloqueado hasta que se produzca algn
evento. Cuando alguno de los eventos esperados por el programa tenga lugar, el programa
pasar a ejecutar el cdigo correspondiente a esa accin.
En LiveCode no hace falta asignar ningn tipo de variable, basta con nombrarlas y
el programa le asignar el formato ms eficiente segn el contenido de sta. La
organizacin de la memoria es totalmente automtica.
Las aplicaciones creadas son multiplaformas, pueden ser creadas para: Mac,
Windows, Linux, iOS y Android.
Los programas en LiveCode tienen una estructura organizada en una baraja
principal y distintas sub-barajas. Cada baraja y sub-baraja puede estar, a su vez, formada
por distintas tarjetas llamadas cartas.
Haciendo una simplificacin de este sistema se puede definir la baraja principal
como el conjunto del programa en s y las cartas como cada una de las distintas pantallas
que se muestran al usuario segn las acciones que realice. Del mismo modo, en las subbarajas se incluyen las configuraciones o clases para los distintos objetos y cartas que
forman la baraja principal. Por ejemplo si en todas las cartas va a mostrarse un mismo
botn que realiza la misma accin basta crearlo una vez en una sub-baraja y llamarlo en
cada carta.
Debido a lo simple del programa que se ha creado en el proyecto no han hecho
falta crear sub-barajas y consta de la baraja principal y 3 cartas.

MEMORIA 99

A pesar de que LiveCode es un programa muy potente, no todas las funciones que
incorpora estn disponible para el desarrollo de aplicaciones mviles. Este problema qued
patente al tener que modificar todo el diseo del programa por no poder implementar una
comunicacin TCP/IP entre el Arduino y el dispositivo mvil.
Por ello se tuvo que realizar la conexin entre ambos elementos mediante el envo y
recepcin de peticiones HTTP.
6.2

Comunicacin
La comunicacin entre el control del coche y el usuario ha sido uno de los puntos

ms difciles de crear en el proyecto pero uno de los puntos fuertes de ste.


Existen numerosos proyectos similares a ste pero cuya conexin se realiza
mediante bluetooth. Si se hubiese escogido esta opcin simplemente hubiese bastado con
escoger las libreras oportunas y adaptarlas al proyecto pero se hubiese tenido una gran
restriccin y es que los bluetooth incorporados en los mviles solo tienen un alcance de 10
metros.
Por eso se ha optado por colocar un router wifi en el coche con el estndar WiFi G
(802.11b) capaz de ofrecer una conexin de hasta 100 metros.

Router

LA

Arduino

Mvil
Ilustracin 6.1 Conexin va wifi

En la imagen superior se puede observar el esquema de conexin de


comunicaciones del proyecto.

MEMORIA 100

6.3

Estructura del programa


Como se ha comentado en el punto anterior el programa solo est formado por la

baraja principal y 3 cartas.


Baraja
Carta 1:
Inicio

Carta 2:

Carta 3:

Configuracin

Conduccin

Ilustracin 6.2 Estructura del programa

Se puede observar en el grfico anterior que desde la carta Inicio se puede


acceder a las otras dos restantes, mientras que desde las otras dos solo se puede volver a la
carta Inicio. Esto es porque la estructura elegida para el programa consiste en una
pantalla principal que da la opcin de poder entrar en cada una de las dos cartas.
6.3.1

Carta Inicio:

Ilustracin 6.3 Carta "Inicio"

MEMORIA 101

Se pueden apreciar los dos botones que nos llevan a las otras dos cartas. Adems
hay un campo en la esquina superior derecha que indica la URL que tiene asignada el
programa para conectarse con el Arduino.
Tambin se incluye una configuracin inicial cuando se inicia el programa que
asigna la siguiente URL por defecto: http://192.168.1.2:1025. Se ha incluido tambin un
aviso que salta al iniciar al programa que comunica la direccin predefinida por si el usuario
la desconoce o necesita cambiarla.
6.3.2

Carta Configuracin:

Ilustracin 6.4 Carta "Configuracin"

La carta Configuracin es la ms sencilla de todas. En ella solo se muestra dos


campos para rellenar correspondientes a la direccin URL de conexin.
Si los dos campos no son rellenados no se podr volver a la carta Inicio saltando
un aviso que lo indique. Por el contrario, si se han rellenado los dos campos al presionar el
botn Volver muestra la URL ingresada y regresa a la carta anterior.

MEMORIA 102

6.3.3

Carta Conduccin:

Ilustracin 6.5 Carta "Conduccin"

La carta Conduccin es la ms compleja de todas. Est compuesta por diferentes


elementos de informacin y actuacin.
A continuacin se muestra un esquema simplificado de la carta.

Men

URL Conectada

LED

Informacin
Luces

Acelerador

Marcha

Direccin

Ilustracin 6.6 Carta "Conduccin"

MEMORIA 103

Los iconos de color rojo muestran iconos que generan eventos en el programa
mientras que los de color azul ofrecen informacin sobre el estado del coche.
Cuando entramos en la carta, hasta que no se presiona el botn acelerador o
direccin no se empieza a realizar una conexin entre el mvil y el Arduino. En ese
momento se genera otro evento oculto (background) que va contando el tiempo que
transcurre mientras se realiza la conexin, si ese tiempo supera los 40 milisegundos el
indicador LED cambia a color amarillo indicando que la conexin est tardando ms de
lo normal. Y si la conexin falla se pone de color rojo.

Ilustracin 6.7 Acelermetros del mvil

La imagen que se muestra del avin se hace necesaria para entender como se
maneja el vehculo desde el mvil. Los tres ejes que se muestran en la imagen corresponden
con las medidas que obtiene el girscopo del mvil cuando movemos ste.
Al coger el mvil de forma horizontal como obliga la aplicacin la aceleracin del
vehculo se realiza girando ste a travs del eje Y que equivale al Pitch Axis del avin y la
direccin se realiza girando sobre el eje X, Roll Axis.

MEMORIA 104

Cuando se activa uno de los dos iconos, para acelerar o girar, se activa el girscopo
del mvil y lee los datos del sensor comparndolos con los que tena guardados
anteriormente. Estos datos se envan al Arduino mediante URL.
Durante el desarrollo del programa se intent que el vehculo se moviese hacia
delante o hacia atrs segn la posicin del mvil que sera un control mucho ms intuitivo
del vehculo pero al inicializar el girscopo de nuevo se generaba un cambio de variable en
el sentido opuesto de giro que inmediatamente se reverta indicando al Arduino el sentido
de avance correcto. Debido a este problema y con la intencin de que los Mosfets que
controlan el motor no sufriesen en exceso se colocaron en la pantalla los botones de
Avance, Paro y Retroceso. De esta forma se obliga al vehculo a ir en el sentido
seleccionado o a pararse. Adems para evitar confusiones el sentido de giro seleccionado se
queda oculto para que el usuario sepa que solo puede seleccionar las otras dos opciones y
de este modo conozca el sentido del coche y no repita una orden.

Ilustracin 6.8 Modo "Avance" activado

En la imagen superior se puede observar como ha desaparecido la opcin de Avance


porque es la que est activa en ese momento.

MEMORIA 105

7. CONCLUSIONES Y RESULTADO:
Inicio este captulo con una breve valoracin personal ya que a lo largo de todas las
etapas del desarrollo del proyecto se han obtenido una serie de aprendizajes que quiero que
queden recogidas en este documento. La mayora de las mismas son apreciaciones
obtenidas del trabajo diario en el laboratorio y de la resolucin de los problemas que all
surgieron.
La primera de todas sin duda es que se necesita bastante tiempo para
estudiar, comprender y entender los diversos componentes que se necesitan para llevar a
cabo un proyecto desde cero. No solo la parte electrnica que es la que ms se ha
desarrollado en este proyecto. Al terminarlo te das cuenta de todas las mejoras que se
pueden realizar, que es preferible dedicar ms tiempo a los estudios previos y realizacin de
pequeas maquetas que puedan ayudar a identificar problemas en lugar de creer en una
idea inicial y desarrollarla sin analizar sus puntos fuertes y dbiles.
Del mismo modo, se hacea necesario comentar la cruda realidad en el mundo de la
electrnica. Te puedes pasar varios das diseando un circuito electrnico, calculando sus
componentes, comprobando que los clculos son correctos, realizando simulaciones en el
ordenador y corrigiendo los fallos que se detectan. Pero, a pesar de todo ese desarrollo
previo, es difcil que el circuito funcione correctamente en el primer montaje. Y es
necesario buscar soluciones alternativas y nuevos componentes para lograr que el circuito
funcione como se desea. Debido al elevado nmero de veces que ha sido necesario buscar
soluciones, esto ha provocado un incremento de conocimientos constantes. Si los circuitos
hubiesen funcionado a la primera, o se hubiesen comprado ya funcionando, no se hubiesen
aprendido los problemas que tienen las aplicaciones de conmutacin segn la frecuencia de
trabajo, o porque es ms fcil utilizar un dispositivo controlado por tensin que por
corriente o los sistemas de proteccin que se pueden incorporar como los
optoacopladores.
Tambin ha resultado muy interesante aprender el lenguaje de programacin que
actualmente se est utilizando para crear aplicaciones mviles multiplataformas y que te
obliga a aprender a pensar de una nueva manera. Ya la programacin no se realiza de un
modo lineal, se escriben los eventos que son necesarios para que todo el programa se
ejecute y, a continuacin todos estos se relacionan mediante llamadas y pueden estar
ejecutndose de trasfondo, en primer plano o estar latentes hasta que son llamados.

MEMORIA 106

Adems de que existen distintas capas en el programa y se puede estar en una nica capa
con sus eventos o, por el contrario, estar en varias capas simultneamente.
Otra valoracin que considero importante, no solo es necesario dominar un campo
para la realizacin de un proyecto, se ha puesto de manifiesto en el resultado final del
proyecto el desconocimiento en conceptos de mecnica y materiales. Todo el rendimiento
del proyecto se ha visto mermado por el mal clculo y diseo de la estructura. No solo por
el desconocimiento de materiales y mtodos de clculo, si no tambin por no saber enfocar
el diseo a una solucin eficaz.
Para concluir este apartado, se hace necesario el poder expresar la gran satisfaccin
de poder haber realizado este proyecto pero sta es, an mayor, cuando se puede realizar
un repaso a todo el proceso y comprobar todas las experiencias y conocimientos
adquiridos.
Como se ha escrito en la memoria, el proceso de construccin ha resultado bastante
duro y con bastantes contratiempos que han producido tener que modificar el diseo y
tener que reducir las expectativas finales.
Ha sido un pequeo fracaso el no haber conseguido que el sistema trabajase a una
frecuencia mayor, a pesar de las alternativas probadas. O el no poder usar un gate-driver
para el control de los MOSFET.
A pesar de no estar contento con el diseo de la estructura del coche, esta servir
para que en el prximo diseo se tengan en cuenta todos sus puntos dbiles o los
elementos que no son prcticos para poder mejorarlo.
Ha sido interesante poder

descubrir una plataforma capaz de desarrollar

aplicaciones para diferentes plataformas con un mismo cdigo. Lo cual simplifica mucho el
proceso y no hace necesario aprender los lenguajes especficos de cada plataforma.

MEMORIA 107

8. BIBLIOGRAFA:

Albert Malvino y David J. Bates, "Principios de Electrnica. 7 edicin", Mc


GrawHill, 2007.

Bogdan Grabowski, Prontuario de Electrnica, Paraninfo Thomson Learning,


1999

Michael Margolis, Arduino Cookbook, 1 edicin, OReilly, 2011.

Jean Franois Machut, Seleccin de componentes de electrnica, 2 edicin,


Marcombo, 2007.

http://www.arduino.cc

http://www.neoteo.com

http://www.forosdeelectronica.com

http://www.livecode.com

http://bricogeek.com

http://www.wikipedia.org

chemelec.com

MEMORIA 108

Parte II
Pliego de condiciones y presupuesto

ESCUELA TCNICA SUPERIOR DE INGENIERA


CIVIL E INDUSTRIAL

Proyecto Fin de Carrera


DESARROLLO DE UN VEHCULO ELCTRICO DE
CONTROL MANUAL Y REMOTO.
TOMO II
Pliego de condiciones y presupuesto
Titulacin: Ingeniera Tcnica Industrial. Especialidad Electrnica Industrial
Alumno: Jorge De Len Rivas
Tutor: D. Jess Miguel Torres Jorge
28 de Junio de 2013

9. PLIEGO DE CONDICIONES:
En este captulo se recoge el conjunto de normas y acciones que se debern llevar a cabo
en la realizacin del proyecto.
Los trabajos de elaboracin de la electrnica y programacin del proyecto se llevarn a
cabo en el laboratorio, en donde se dispondr de todo el material y equipos necesarios para la
realizacin del mismo.
Se utilizarn herramientas de software y hardware libre para la realizacin del proyecto y
la posterior utilizacin del dispositivo, siempre que exista posibilidad.
El cdigo del programa servidor ir instalado en la memoria del controlador maestro,
aunque ste ser adjuntado junto con el cdigo de la aplicacin mvil que si habr de ser alojado
por el usuario en su dispositivo cliente.
Se adjuntarn todos los cdigos de los programas realizados y esquemas de PCBs que se
distribuirn con el dispositivo.

10. PRESUPUESTO:
Se presupuestan en este apartado todos los componentes electrnicos, elctricos y elementos
necesarios para la reproduccin del proyecto con excepcin del dispositivo mvil. Las horas
de trabajo son calculadas en funcin de los crditos de la asignatura.
Concepto
Hora de trabajo
Material vario
Cadena
Silln
Estructura silln
Tornillo 912 Allen 10x40
Arandela INOX plana 10
Tuerca seguridad M10
Tuerca hexagonal M8
Tuerca seguridad M8
Tornillo 912 Allen 8x40
Tornillo 912 Allen 8x50
Tornillo 912 Allen 8x30
Tornillo 10x2
Tornillo 16x3
Arandela seguridad 2mm
Arandela 3mm




Magnetotrmico tetrapolar
Portafusible car-audio
Portafusible aereo
Fusible car-audio 40A
Fusible 5A
Ampermetro panel 30ADC
Ampermetro panel 5ADC
Voltmetro panel 50VDC
Voltmetro panel 36VDC
Voltmetro panel 15VDC
Cable 10mm2
Cable 1,5mm2

Precio Ud.
Cantidad
Parte mecnica
20,00
10
60,00
1
10,00
1
12,00
1
8,00
1
0,57
10
0,08
20
0,18
10
0,07
10
0,10
6
0,39
2
0,45
2
0,28
2
2,00
1
2,00
1
2,00
1
2,00
1


Total

Subtotal
200,00
60,00
10,00
12,00
8,00
5,70
1,60
1,80
0,70
0,60
0,78
0,90
0,56
2,00
2,00
2,00
2,00

elctrica

Parte
30,80
4,28
0,51
0,70
0,20
19,90
9,90
3,07
3,07
3,07
1,82
0,25


1
1
2
1
2
1
2
1
1
1
8
20

310,64

30,80
4,28
1,02
0,70
0,40
19,90
19,80
3,07
3,07
3,07
14,56
4,90

Cable 2x0,75mm2
Cable manguera 6 hilos
Cable manguera 10 hilos
Cable manguera 8 hilos
Terminal redondo 0,75mm2
Terminal redondo 1,5mm2
Terminal redondo 8mm2
Puntera 0,75mm2
Puntera 1,5mm2
Puntera 3mm2
Puntera 10mm2
Funda termorretractil 0,75mm2
Funda termorretractil 2mm2
Funda termorretractil 4mm2
Motor 800W 30A
Actuador lineal
Acelerador de moto
Thumb joystick
Arduino MEGA
Ethernet Shield
Router 2 mano
Batera 15Ah
MOSFET IRFZ44N
MOSFET IRF9540
Optoacoplador CNX82
Resistencias THD varias
Resistencias SMD varias
LEDs 3mm
Baquelita 100x150
Conector 4 pines
Conector 8 pines

0,61
0,71
0,91
0,81
0,18
0,20
0,30
0,19
0,25
0,30
0,60
0,49
0,75
0,80
92,00
83,00
9,99
3,10
56,00
28,50
10,00
30,00
1,28
1,50
0,96
0,03
0,03
0,17
6,50
3,40
4,60

8
4
2
2
4
4
2
20
10
10
20
2
2
2
1
1
1
1
1
1
1
3
10
10
2
6
10
2
1
1
1

4,88
2,84
1,82
1,62
0,72
0,80
0,60
3,80
2,50
3,00
12,00
0,98
1,50
1,60
92,00
83,00
9,99
3,10
56,00
28,50
10,00
90,00
12,80
15,00
1,92
0,18
0,30
0,34
6,50
3,40
4,60






Diseo, estudio y montaje




Total



561,86

Otros


Total

8,00

75

600,00

600,00


Total
acumulado

1.472,50

Parte III
Anexos

ESCUELA TCNICA SUPERIOR DE INGENIERA CIVIL


E INDUSTRIAL
Proyecto Fin de Carrera
DESARROLLO DE UN VEHCULO ELCTRICO DE
CONTROL MANUAL Y REMOTO.
TOMO III
ANEXOS
Titulacin: Ingeniera Tcnica Industrial. Especialidad Electrnica Industrial
Alumno: Jorge De Len Rivas
Tutor: D. Jess Miguel Torres Jorge
28 de Junio de 2013

ANEXO A
ESQUEMAS Y PCB
Figura A.1

Esquema panel de control THD

Figura A.2

PCB panel de control THD cara superior

Figura A.3

PCB panel de control THD cara inferior

Figura A.4

Esquema panel de control SMD

Figura A.5

PCB panel de control SMD cara superior

Figura A.6

PCB panel de control SMD cara inferior

Figura A.7

Esquema para la PCB de interruptores

Figura A.8

PCB para los interruptores cara inferior

Figura A.9

PCB para los interruptores cara inferior

Figura A.10 Esquema para los LEDs SMD


Figura A.11 PCB para los LEDs SMD
Figura A.12 Esquema para los displays en SMD
Figura A.13 PCB para los displays en SMD cara superior
Figura A.14 PCB para los displays en SMD cara inferior

Ilustracin A.1 Esquema panel de control THD

Ilustracin A.2 PCB panel de control THD cara superior

Ilustracin A.3 PCB panel de control THD cara inferior

Ilustracin A.4 Esquema panel de control SMD

Ilustracin A.5 PCB panel de control SMD cara superior

Ilustracin A.6 PCB panel de control SMD cara inferior

Ilustracin A.7 Esquema para la PCB de interruptores

Ilustracin A.8 PCB para los interruptores cara inferior

Ilustracin A.9 PCB para los interruptores cara inferior

Ilustracin A.10 Esquema para los LEDs SMD

Ilustracin A.11 PCB para los LEDs SMD

Ilustracin A.12 Esquema para los displays en SMD

Ilustracin A.13 PCB para los displays en SMD cara superior

Ilustracin A.14 PCB para los displays en SMD cara inferior

ANEXO B
Cdigos fuente
B.1

Cdigo Arduino

B.2

Cdigo LiveCode Carta Inicio

B.3

Cdigo LiveCode botn modo

B.4

Cdigo LiveCode botn configuracion

B.5

Cdigo LiveCode botn volver

B.6

Cdigo LiveCode botn pulgar

B.7

Cdigo LiveCode botn giro

B.8

Cdigo LiveCode botn retroceso

B.9

Cdigo LiveCode botn paro

B.10

Cdigo LiveCode botn avance

B.11

Cdigo LiveCode botn volver

B.12

Cdigo LiveCode carta conduccin

B1. Cdigo Arduino


/* Programa para el control de un vehiculo remoto */
/* Jorge De Leon Rivas */
/* PFC ITI-Electronica Industrial Curso 2012-2013 */
/* LIBRERIAS */
#include <SPI.h>
#include <Ethernet.h>
String mensaje;
String line;
/* ENTRADAS ANALOGICAS */
int SELECTOR
REMOTO)

= A0; //Selector para el modo (LOCAL1, LOCAL2, STANDBY o

int ACELERADOR_M
int SENTIDO

= A2; //Acelerador del manillar

= A1; //Selector AVANCE/RETROCESO

int JOYSTICK_TRAC

= A3; //Aceleracion del vehiculo con el joystick (retroceso/paro/avance)

int JOYSTICK_DIRE

= A4; //Direccion del vehiculo con el joystick (izquierda/paro/derecha)

/* SALIDAS DIGITALES */
int MOTOR_RETR

= 7; //Pin PWM para el retroceso del motor

int MOTOR_AV

= 13; //Pin PWM para el avance del motor

int GIRO_IZQUIERDA

= 14; //Pin para el giro hacia la izquierda de la direccion

int GIRO_DERECHA

= 15; //Pin para el giro hacia la derecha de la direccion

int LED_AVANCE

= 36; //Led indicador avance motor

int LED_PARO

= 37; //Led indicador "punto muerto"

int LED_RETROCESO
int LED_IZQ

= 32; //Led indicador del giro hacia la izquierda

int LED_IZQ_TOP
int LED_DCHA

= 33; //Led indicador que la direccin est girada al mximo a la izquierda


= 34; //Led indicador del giro hacia la derecha

int LED_DCHA_TOP
int LUCES

= 35; //Led indicador retroceso motor

= 38; //Led indicador que la direccin est girada al mximo a la derecha

= 39; //Pin para las luces del vehiculo

/* ENTRADAS DIGITALES */

int LUCES_PULSADOR

= 2; //Pulsador para ACTIVAR/DESACTIVAR las luces

int GIRO_IZQUIERDA_TOPE= 19; //Interruptor FDC que indica que la direccin ha llegado al
tope izquierdo
int GIRO_DERECHA_TOPE = 18; //Interruptor FDC que indica que la direccin ha llegado al
tope derecho

/* VARIABLES GLOBALES */
int ACELERADOR_M_POS = 0; //Variable que nos indica la posicin del acelerador del
manillar.
int SELECTOR_POS
= 0; //Variable que nos indica la posicion del selector de modo (L1, L2,
STBY, RMT). Es global para letrero() ver de que entrada lee.
int JOYSTICK_TRAC_POS = 0; //Variable que nos indica la posicion del joystick de traccion
/* VARIABLES VIRTUALES */
int TRACCION_VIRTUAL
de avance

= 0;

//Variable que nos indica la posicion del acelerador virtual

int DIRECCION_VIRTUAL

= 0;

//Variable que nos indica el giro a la izquierda virtual

int LUCES_VIRTUAL

= 0;

/* VARIABLES DISPLAYS */
int U1

= 42;

int U2

= 43;

int U3

= 44;

int U4

= 45;

int D1

= 46;

int D2

= 47;

int D3

= 48;

int D4

= 49;

int C1

= 50;

int C2

= 51;

int C3

= 52;

int C4

= 53;

const int NUMEROS [] [4]= {


los displays

//Array de arrays para obtener la combinacion de los 4 pines de

{HIGH}, {HIGH}, {HIGH}, {HIGH},

//0

{HIGH}, {HIGH}, {HIGH}, {LOW},

//1

{HIGH}, {HIGH}, {LOW}, {HIGH},

//2

{HIGH}, {HIGH}, {LOW}, {LOW},

//3

{HIGH}, {LOW}, {HIGH}, {HIGH},

//4

{HIGH}, {LOW}, {HIGH}, {LOW},

//5

{HIGH}, {LOW}, {LOW}, {HIGH},

//6

{HIGH}, {LOW}, {LOW}, {LOW},

//7

{LOW}, {HIGH}, {HIGH}, {HIGH},

//8

{LOW}, {HIGH}, {HIGH}, {LOW}

//9

};
/* VARIABLES CONEXIONES ETHERNET */
String recibido;

//String para los caracteres enviados por el cliente

byte mac[] = {0xDE,0xAD,0xBE,0xEF,0xFE,0xED}; //Direccion MAC del Arduino


IPAddress ip(192, 168, 1, 2);

//Direccion IP del Arduino

EthernetClient client;

//Declaramos la variable para identificar al cliente

EthernetServer server(80);

//Abrimos el puerto para las comunicaciones

/* RUTINA DISPLAYS (LETRERO) */


//La rutina de los displays se encarga de leer la varible del acelerador que corresponda y mostrar su
posicin en los 3 displays 7 segmentos
void letrero () {
int acelerador = 0;

//Declaramos una variable que llamamos acelerador

if (SELECTOR_POS == 0)
acelerador del manillar

//Si estamos en el modo L1 que lea la posicion del

acelerador = (ACELERADOR_M_POS);
1023
//
//

//Multiplicamos por 4 para tener el valor de 0 a

else
Aqui tiene que leer la condicion para el modo L2 que lea la posicion del acelerador
int valor = map (acelerador, 0, 1023, 0, 100);
int unidades = valor % 10;
int decenas = valor / 10;

//Valor de las unidades


//Valor de las decenas

int centenas = valor / 100; //Valor de las centenas


digitalWrite (U1, NUMEROS [unidades][0]);
digitalWrite (U2, NUMEROS [unidades][1]);
digitalWrite (U3, NUMEROS [unidades][2]);

//Salida por el display de unidades

digitalWrite (U4, NUMEROS [unidades][3]);


digitalWrite (D1, NUMEROS [decenas][0]);
digitalWrite (D2, NUMEROS [decenas][1]);
digitalWrite (D3, NUMEROS [decenas][2]);
digitalWrite (D4, NUMEROS [decenas][3]);
digitalWrite (C1, NUMEROS [centenas][0]);
digitalWrite (C2, NUMEROS [centenas][1]);
digitalWrite (C3, NUMEROS [centenas][2]);
digitalWrite (C4, NUMEROS [centenas][3]);
}
/* MODOS MOTOR */
//En los modos de motor se realizan las acciones que correspondan segn el modo en el que se est
para aplicar el pwm y la direccin indicada al motor.
void avance(){
//Estamos en el modo en que el motor avanza
//Serial.println("Estoy avanzando");
int acelerador = 0;

//Creamos una variable interna para el valor de PWM.

if (SELECTOR_POS == 3){
que leer un acelerador u otro.

//Depende del modo en el que estemos tendremos

acelerador = analogRead (ACELERADOR_M);


//

//Aqu leemos el acelerador del manillar

Serial.println(ACELERADOR_M);
acelerador = map (acelerador, 191, 865, 0, 255);

//

acelerador = map (acelerador, 47, 215, 0, 255);


Serial.println (ACELERADOR_M);

}
else if (SELECTOR_POS == 0){

//Aqu leemos el joystick y mapeamos su valor

acelerador = analogRead (JOYSTICK_TRAC);


acelerador = map (acelerador, 537, 1023, 0, 255);
}
else if (SELECTOR_POS == 2){
acelerador = TRACCION_VIRTUAL/8
;
//

acelerador = map (acelerador, 537, 1023, 0, 255);

}
// Serial.println(acelerador);

digitalWrite (MOTOR_RETR, LOW);


para que no haya ningn corto.

//Primero ponemos a baja la otra salida del motor

analogWrite (MOTOR_AV, acelerador);


motor

//Por el pin correspondiente aplicamos el PWM al

digitalWrite (LED_RETROCESO, LOW);

//Apagamos el led de retroceso

digitalWrite (LED_PARO, LOW);

//Apagamos el led de parada

digitalWrite (LED_AVANCE, HIGH);


letrero();

//Encendemos el led de avance

//Vamos a la rutina de letrero().

}
void paro(){
//Estamos en el modo que no se aplica ninguna tensin al motor.
//Serial.println("Estoy en modo paro");
digitalWrite (MOTOR_RETR, LOW);

//Ponemos las dos salidas del motor a baja

digitalWrite (MOTOR_AV, LOW);


digitalWrite (LED_RETROCESO, LOW);

//Apagamos el led de retroceso

digitalWrite (LED_AVANCE, LOW);

//Apagamos el led de avance

digitalWrite (LED_PARO, HIGH);


letrero();

//Encendemos el led de parada

//Vamos a la rutina de letrero().

}
void retroceso(){
//Estamos en el modo en que el motor retrocede.
//Serial.println("Estoy retrocediendo");
int acelerador;

//Creamos una variable interna para el valor de PWM

if (SELECTOR_POS == 3){
que leer un sensor u otro

//Depende del modo en el que estemos tendremos

acelerador = analogRead (ACELERADOR_M);

//Aqu leemos el acelerador del manillar

acelerador = map (acelerador, 191, 865, 0, 255);


Serial.println (acelerador);
}
if (SELECTOR_POS == 0){
valor

//Aqu leemos el acelerador del joystick y mapeamos su

acelerador = analogRead (JOYSTICK_TRAC);


acelerador = map (acelerador, 487, 0, 0, 255);

}
if (SELECTOR_POS == 2){
acelerador = TRACCION_VIRTUAL/8;
//

acelerador = map (acelerador, 487, 0, 0, 255);

}
digitalWrite (MOTOR_AV, LOW);
para que no haya ningn corto

//Primero ponemos a baja la otra salida del motor

analogWrite (MOTOR_RETR, acelerador);


al motor
digitalWrite (LED_PARO, LOW);

//Por el pin correspondiente aplicamos el PWM


//Apagamos el led de parada

digitalWrite (LED_AVANCE, LOW);


digitalWrite (LED_RETROCESO, HIGH);
letrero();

//Apagamos el led de avance


//Encendemos el led de retroceso

//Vamos a la rutina de letrero().

}
/* MODO LOCAL1 */
//En el modo local 1 tenemos un interruptor de 3 posiciones que nos indica el sentido del giro del
motor: avance-paro-retroceso.
void local1(){
//Serial.println("Estoy en local1");
ACELERADOR_M_POS = analogRead (ACELERADOR_M);
//Leemos la posicion del
acelerador y la establecemos entre 0-255 (el valor analgico es de 1024 valores y el de pwm de 256)
ACELERADOR_M_POS = ACELERADOR_M_POS/4;
int sentido_pos = analogRead (SENTIDO);

//Leemos el selector de avance-paro-retroceso

// Serial.println(sentido_pos);
sentido_pos = map (sentido_pos, 0, 1000, 0, 2);
opciones

//Mapeamos el valor para asignarlo a nuestras 3

switch (sentido_pos){
//En el caso de que tengamos un 0 iremos a avance(), con un 1 iremos a paro() y con un 2 iremos a
retroceso().
case 0:
retroceso();
break;
case 1:
paro();
break;
case 2:

avance();
break;
}
}
/* MODO LOCAL2 */
//En el modo local 2 todo el coche se maneja desde el joystick, tanto el avance y el retroceso como la
direccin. Pero en esta rutina solo nos fijamos en la traccin del coche
void local2(){
//Serial.println ("Estoy en local2");
JOYSTICK_TRAC_POS = analogRead (JOYSTICK_TRAC); //Miramos la posicion del eje X del
joystick
//Serial.println (JOYSTICK_TRAC_POS);
if (JOYSTICK_TRAC_POS < 487)
//Si el valor que leemos del joystick es menor que
500, quiere decir que tenemos el joystick bajado y vamos a retroceso()
retroceso();
else if (JOYSTICK_TRAC_POS > 537)
//Si el valor que leemos del joystick es mayor que
525, quiere decir que tenemos el joystick subido y vamos a avance()
avance();
else
//De lo contrario, si el joystick se encuentra entre 500 y 525, no
estamos tocando el joystick y vamos a paro()
paro();
}
/* MODO STANDBY */
//En el modo standby, como no se puede introducir una interrupcin mediante una entrada analgica,
activamos un transistor que si active una entrada digital y ponemos el Arduino en modo sleep.
void standby(){
//Serial.println("Estoy en stanby");
}
/* MODO REMOTO */
//En el modo remoto se realiza una conexin del arduino via ethernet con un router wifi para que se
pueda controlar desde un dispositivo con Android
void remoto(){
int sentido;

int acelerador;

//Esta variable nos da el mapeo y nos da el valor para enviar al movil

if (!client || !client.connected()){
//Serial.println("Aqui");
acelerador = 0;
client.stop();
client = server.available();
}
if (client) {
// an http request ends with a blank line
line = String();
boolean current_line_is_blank = true;
while (client.connected()) {
if (client.available()) {
char c = client.read();
line += c;
// if we've gotten to the end of the line (received a newline
// character) and the line is blank, the http request has ended,
// so we can send a reply
if (c == '\n' && current_line_is_blank) {
// send a standard http response header
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/plain");
// print all the files, use a helper to keep it clean
//ListFiles(client, 0);
acelerador = map (TRACCION_VIRTUAL, 0, 2046, 0, 100);
if (sentido == 1){
//Si el valor que leemos del joystick es menor que 500, quiere
decir que tenemos el joystick bajado y vamos a retroceso()
mensaje += "AVANCE ";
}
else if (sentido == 2){
//Si el valor que leemos del joystick es mayor que 525, quiere
decir que tenemos el joystick subido y vamos a avance()
mensaje += "RETROCESO ";
}
else{

mensaje += "PARO ";


}
mensaje += acelerador;
mensaje += " ";
if (DIRECCION_VIRTUAL > 700){
//Si el valor que leemos del joystick es
menor que 500, quiere decir que tenemos el joystick bajado y vamos a retroceso()
mensaje += "DERECHA ";
}
else if (DIRECCION_VIRTUAL < 300){
//Si el valor que leemos del joystick es
mayor que 525, quiere decir que tenemos el joystick subido y vamos a avance()
mensaje += "IZQUIERDA ";
}
else{
mensaje += "RECTO ";
}
client.print("Content-Length: ");
client.println(mensaje.length());
client.println();
client.print(mensaje);
Serial.println(mensaje);
//ListFiles(client, 0);
//

client.stop();
mensaje = String();
break;
}
if (c == '\n') {
if (line.startsWith("GET")) {
int beginIdx = line.indexOf('?');
if (beginIdx != -1) {
int id1 = line.indexOf(',', ++beginIdx);
sentido = line.substring(beginIdx, id1).toInt();

//

TRACCION_VIRTUAL = line.substring(beginIdx, idx).toInt();

//
TRACCION_VIRTUAL = TRACCION_VIRTUAL/2;
//Se divide entre 2
porque el valor que entrega el movil es entre 0 y 2046 para tener mas resolucion
beginIdx = id1 + 1;
int id2 = line.indexOf(',', beginIdx);

TRACCION_VIRTUAL = line.substring(beginIdx, id2).toInt();


//
TRACCION_VIRTUAL = TRACCION_VIRTUAL/2;
//Se divide entre 2
porque el valor que entrega el movil es entre 0 y 2046 para tener mas resolucion
beginIdx = id2 + 1;
int id3 = line.indexOf(',', beginIdx);
DIRECCION_VIRTUAL = line.substring(beginIdx, id3).toInt();
//

DIRECCION_VIRTUAL = DIRECCION_VIRTUAL / 2;
beginIdx = id3 + 1;
int luces = line.substring(beginIdx).toInt();
Serial.println(sentido);
Serial.println(TRACCION_VIRTUAL);
Serial.println(DIRECCION_VIRTUAL);
Serial.println(luces);
}

/* Seleccion del sentido */ //No se si crear uno comun para todos e invocarlo desde todos
los sitios o crear uno en cada funcion
if (sentido == 0)
//Si el valor que leemos del joystick es menor que 500, quiere
decir que tenemos el joystick bajado y vamos a retroceso()
paro();
else if (sentido == 1)
//Si el valor que leemos del joystick es mayor que 525,
quiere decir que tenemos el joystick subido y vamos a avance()
avance();
else{
retroceso();
}
direccionvirtual();
}
// we're starting a new line
Serial.println(line);
line = String();
current_line_is_blank = true;
} else if (c != '\r') {
// we've gotten a character on the current line
current_line_is_blank = false;
}
}

}
// give the web browser time to receive the data
//delay(1);
}

}
/* RUTINA PARA ENCENDER LAS LUCES */
//Tenemos un interruptor en los mandos que acta en forma de interrupcin externa para apagar o
encender las luces.
//Es la interrupcin externa 2 y se sita en el pin 21.
void luces(){
// Serial.println("LUCES");
// boolean luces;
// if (SELECTOR_POS == 1 || SELECTOR_POS == 0)
//

luces = LUCES_PULSADOR;

if (SELECTOR_POS == 2){
if (LUCES_VIRTUAL == 1){
//

Serial.println ("Luces virtuales");


digitalWrite(LUCES, HIGH);
}
else{

//

Serial.println ("Luces virtuales");


digitalWrite(LUCES, LOW);
}

//
//

else
digitalWrite(LUCES, LOW);

}
if (SELECTOR_POS == 3 || SELECTOR_POS == 0){
digitalWrite(LUCES, !digitalRead(LUCES));
}
}

/* DIRECCION VIRTUAL */
void direccionvirtual(){
if (DIRECCION_VIRTUAL < 300 && digitalRead (GIRO_IZQUIERDA_TOPE) != HIGH ) {
digitalWrite (GIRO_DERECHA, LOW);
derecha
digitalWrite (GIRO_IZQUIERDA, HIGH);
izquierda
digitalWrite (LED_DCHA, LOW);
derecha
digitalWrite (LED_IZQ, HIGH);
izquierda
digitalWrite (LED_DCHA_TOP, LOW);
girada al mximo a la derecha

//Apagamos el led de giro a la


//Encendemos el led de giro a la
//Ponemos a baja la salida del giro a la
//Ponemos a alta la salida del giro a la
//Apagamos el led de direccin

//Serial.println ("giroizquierda");
}
else if (DIRECCION_VIRTUAL > 700 && digitalRead (GIRO_DERECHA_TOPE) != HIGH) {
//Si por el contrario tenemos el joystick girado a la derecha y no est activo su FDC entramos en el
bucle
digitalWrite (GIRO_IZQUIERDA, LOW);
izquierda

//Apagamos el led de giro a la

digitalWrite (GIRO_DERECHA, HIGH);


derecha

//Encendemos el led de giro a la

digitalWrite (LED_IZQ, LOW);


izquierda
digitalWrite (LED_DCHA, HIGH);
derecha
digitalWrite (LED_IZQ_TOP, LOW);
girada al mximo a la izquierda

//Ponemos a baja la salida del giro a la


//Ponemos a alta la salida del giro a la
//Apagamos el led de direccin

//Serial.println ("giroderecha");
}
else {
moviendo el joystick sobre el eje X

//En cualquier otro caso, siginifica que no estamos

digitalWrite (GIRO_IZQUIERDA, LOW);


a la izquierda

//Ponemos a baja la salida del giro

digitalWrite (GIRO_DERECHA, LOW);


a la derecha

//Ponemos a baja la salida del giro

digitalWrite (LED_DCHA, LOW);


derecha
digitalWrite (LED_IZQ, LOW);
izquierda

//Ponemos a baja el led de giro a la


//Ponemos a baja el led de giro a la

//Serial.println ("paro");
//Serial.println (posgiro1);
}
}

/* RUTINA PARA LA DIRECCIN */


//En la rutina de direccin el Arduino se encarga de controlar el actuador lineal junto con dos
interruptores FDC para mover la direccin
void volante () {
int posgiro1 = 0;
if (SELECTOR_POS == 0)
posgiro1 = analogRead (JOYSTICK_DIRE);
para leer el valor del eje X del joystick

//Creamos una variable interna

// if (SELECTOR_POS == 2)
//

posgiro1 = DIRECCION_VIRTUAL;

int tope_izq = digitalRead (GIRO_IZQUIERDA_TOPE);


int tope_dcha = digitalRead (GIRO_DERECHA_TOPE);
if (posgiro1 > 537 && tope_izq != HIGH ) {
est activo su FDC entramos en el bucle
digitalWrite (GIRO_DERECHA, LOW);
derecha
digitalWrite (GIRO_IZQUIERDA, HIGH);
izquierda
digitalWrite (LED_DCHA, LOW);
derecha
digitalWrite (LED_IZQ, HIGH);
izquierda
digitalWrite (LED_DCHA_TOP, LOW);
girada al mximo a la derecha

//Si tenemos el joystick girado a la izquierda y no

//Apagamos el led de giro a la


//Encendemos el led de giro a la
//Ponemos a baja la salida del giro a la
//Ponemos a alta la salida del giro a la
//Apagamos el led de direccin

//Serial.println ("giroizquierda");
}
else if (posgiro1 < 487 && tope_dcha != HIGH) { //Si por el contrario tenemos el joystick girado a
la derecha y no est activo su FDC entramos en el bucle

digitalWrite (GIRO_IZQUIERDA, LOW);


izquierda

//Apagamos el led de giro a la

digitalWrite (GIRO_DERECHA, HIGH);


derecha

//Encendemos el led de giro a la

digitalWrite (LED_IZQ, LOW);


izquierda

//Ponemos a baja la salida del giro a la

digitalWrite (LED_DCHA, HIGH);


derecha

//Ponemos a alta la salida del giro a la

digitalWrite (LED_IZQ_TOP, LOW);


girada al mximo a la izquierda

//Apagamos el led de direccin

//Serial.println ("giroderecha");
}
else if (tope_dcha == HIGH){
derecha

//En caso de que la direccin est girada al mximo a la

digitalWrite (LED_DCHA_TOP, HIGH);

//Encendemos el led que lo indica

digitalWrite (GIRO_DERECHA, LOW);


//

digitalWrite (LED_IZQ_TOP, LOW);

}
else if (tope_izq == HIGH){
izquierda

//En caso de que la direccin est girada al mximo a la

digitalWrite (LED_IZQ_TOP, HIGH);

//Encendemos el led que lo indica

digitalWrite (GIRO_IZQUIERDA, LOW);


//

digitalWrite (LED_DCHA_TOP, LOW);

}
else {
moviendo el joystick sobre el eje X

//En cualquier otro caso, siginifica que no estamos

digitalWrite (GIRO_IZQUIERDA, LOW);


a la izquierda

//Ponemos a baja la salida del giro

digitalWrite (GIRO_DERECHA, LOW);


a la derecha

//Ponemos a baja la salida del giro

digitalWrite (LED_DCHA, LOW);


derecha
digitalWrite (LED_IZQ, LOW);
izquierda

//Ponemos a baja el led de giro a la


//Ponemos a baja el led de giro a la

//Serial.println ("paro");
//Serial.println (posgiro1);
}
// Serial.println (digitalRead(GIRO_IZQUIERDA_TOPE));

// Serial.println (digitalRead(GIRO_DERECHA_TOPE));
}
/* CONFIGURACION uC */
//Al setup() solo se entra en el arranque del Arduino y sirve para hacer las condiguraciones que hagan
falta.
void setup() {
TCCR0B = (TCCR0B & 0xF8) | 0x02;
en los pines 7 y 13

//Configuramos el TMR0 para saque el PWM a 7815kHz

//Configuramos los pines segun sean (E/S)


pinMode (MOTOR_AV,

OUTPUT);

//PWM para el avance

pinMode (MOTOR_RETR,

OUTPUT);

//PWM para el retroceso

pinMode (LED_AVANCE,

OUTPUT);

//Led indicador avance motor

pinMode (LED_PARO,

OUTPUT);

//Led indicador "punto muerto"

pinMode (LED_RETROCESO, OUTPUT);


pinMode (LED_IZQ,

OUTPUT);

//Led indicador del giro hacia la izquierda

pinMode (LED_IZQ_TOP, OUTPUT);


a la izquierda
pinMode (LED_DCHA,

//Led indicador retroceso motor

OUTPUT);

//Led indicador que la direccin est girada al mximo


//Led indicador del giro hacia la derecha

pinMode (LED_DCHA_TOP, OUTPUT);


pinMode (LUCES,

OUTPUT);

pinMode (LUCES_PULSADOR,INPUT);
digitalWrite(LUCES_PULSADOR, HIGH);
attachInterrupt(0, luces, RISING);

//Llamada a la interrupcin para las luces.

//attachInterrupt(3, standby, RISING); //Llamada a la interrupcin para el modo sleep.


Serial.begin(9600);

//Iniciamos la comunicacion Serial

Ethernet.begin(mac,ip);
asignadas
server.begin();

//Iniciamos la conexion ethernet con la direccion MAC e IP


//Iniciamos el servidor

Serial.print("servidor en ip: ");


Serial.println(Ethernet.localIP());
}
/* PROGRAMA PRINCIPAL */

//Imprimos por serie el la direccion IP del servidor

void loop(){
//En el programa principal se chequea continuamente el valor del interruptor de modo y segn su
posicin se va a una rutina u otra.
SELECTOR_POS = analogRead (SELECTOR);
selector de modo

//Variable para guardar la posicion del

SELECTOR_POS = map (SELECTOR_POS, 0, 800, 0, 3); //Mapeamos el valor para tener solo 4
casos
//Serial.println(SELECTOR_POS);
switch (SELECTOR_POS) {

//Segun sea el valor iremos a un caso o a otro

case 3:
//

Serial.println("Local 1");
local1();

//Vamos al modo local1

break;

//Salimos del switch

case 0:
Serial.println("Local 2");
//

client.stop();
local2();

//Vamos al modo local2

volante();

//Vamos a la direccin

break;
case 1:
Serial.println("Standby");
standby();

//Vamos al modo standby

break;
case 2:
//Serial.println("Remoto");
remoto();
break;
};
}

//Vamos al modo remoto

B.2 Cdigo LiveCode carta principal


global laURL
on preOpenCard
put "http://192.168.1.2:1025" into laURL
end preOpenCard
on OpenCard
put "La URL es: " & laURL into the field URLField
end OpenCard

B.3 Cdigo LiveCode botn modo


on mouseUp
go to card "conduccion"
end mouseUp

B.4 Cdigo LiveCode botn configuracion


on mouseUp
go to card "configuracion"
end mouseUp

B.5 Cdigo LiveCode botn volver


global laURL
global direccion
global puerto
on mouseUp
put the text of field URLField into direccion
put the text of field PuertoField into puerto
if direccion is empty or puerto is empty then
answer "Rellene los campos"
else
put "http://" & direccion & ":" & puerto into laURL
answer "La URL es:" && laURL
go to card "principal"
end if
end mouseUp

B.6 Cdigo LiveCode botn pulgar


global laURL
global traccion
global alarmID
global emergency
on mouseDown
mobileStartTrackingSensor "rotation rate", false
-- put currentTime into previousTime
put 0 into emergency
put 1 into traccion
-- put 1024 into roll
-- put 0 into pitchRate
-- put 0 into rollRate
-- put 1024 into pitch
send "alarm" to card "conexion" in 200 millisecs
put the result into alarmID
load URL laURL with message "URLDescargada"
-- hide button "ModoVolver"
end mouseDown
on mouseUp
mobileStopTrackingSensor "rotation rate", false
put 0 into traccion
cancel alarmID
-- hide the button ErrorCheck
-- hide the button ConexionCheck
-- show button "ModoVolver"
hide image ledrojo
hide image ledamarillo
show image ledverde
end mouseUp

B.7 Cdigo LiveCode botn giro


global laURL
global giro
global alarmID
global emergency
on mouseDown
mobileStartTrackingSensor "rotation rate", false
-- put currentTime into previousTime
put 0 into emergency
-- put 0 into pitchRate
-- put 1024 into pitch
send "alarm" to card "conexion" in 200 millisecs
put the result into alarmID

put 1 into giro


load URL laURL with message "URLDescargada"
-- hide button "ModoVolver"
end mouseDown
on mouseUp
mobileStopTrackingSensor "rotation rate", false
put 0 into giro
cancel alarmID
-- hide the button ErrorCheck
-- hide the button ConexionCheck
-- show button "ModoVolver"
hide image ledrojo
hide image ledamarillo
show image ledverde
end mouseUp

B.8 Cdigo LiveCode botn retroceso


global velocidad
on mouseUp
put 2 into velocidad
show button avance
show button paro
hide button retroceso
end mouseUp

B.9 Cdigo LiveCode botn paro


global velocidad
on mouseUp
put 0 into velocidad
show button avance
hide button paro
show button retroceso
end mouseUp

B.10 Cdigo LiveCode botn avance


global velocidad
on mouseUp
put 1 into velocidad
hide button avance

show button paro


show button retroceso
end mouseUp

B.11 Cdigo LiveCode botn volver


on mouseUp
go to card "inicio"
end mouseUp

B.12 Cdigo LiveCode carta conduccin


global
global
global
global
global
global
global
global
global
global
global
global

laURL
alarmID
traccion
pitch
roll
previousTime
pitchRate
rollRate
acelerador
emergency
giro
velocidad

on preOpenCard
-- mobileStartTrackingSensor "rotation rate", false
put "http://192.168.1.2:80" into laURL
put laURL into field LabelField
put 0 into roll
put 0 into pitchRate
put 0 into rollRate
put 0 into pitch
end preOpenCard
on URLDescargada pURL, pURLStatus
cancel alarmID
-- rotationRateChanged
if traccion = 1 or giro = 1 then
if pURLStatus is "downloaded" then
//Si se ha descargado la
URL la ponemos en los campos
put the word 1 of URL pURL into field SentidoField
put the word 2 of URL pURL & "%" into field AceleradorField
put the word 3 of URL pURL into field DireccionField

put URL pURL into field NewField


unload URL pURL
poder cargar una nueva
hide image "ledrojo"
show image "ledverde"
hide image "ledamarillo"
else
show image "ledrojo"
hide image "ledverde"
hide image "ledamarillo"
-show button ErrorCheck
-hide button ConexionCheck
end if

//Borramos la URL para

send "alarm" to card "conexion" in 200 millisecs


put the result into alarmID
updateRotation
if emergency = 1 then
put 1024 into roll
put 1024 into pitch
end if
put "http://192.168.1.2:80/?" & velocidad & "," & roll & "," & pitch into pURL
put pURL into field Z1Field
load URL pURL with message "URLDescargada"
end if
end URLDescargada

/* Evento para el led de conexin */


/* Si han transcurrido 40mS desde que se inici la conexin y no se ha
descargado la URL entonces se enciende el led amarillo */
on alarm
hide image "ledverde"
show image "ledamarillo"
hide image "ledrojo"
-- show button ConexionCheck
-- hide button ErrorCheck
-- set the hilite of button ErrorCheck to false
-- set the hilite of button ConexionCheck to true
end alarm
on updateRotation
put the milliseconds into nowTime
-- Integrar los datos del girscopo
if giro = 1 then
add pitchRate * (nowTime - previousTime) to pitch
end if
if traccion = 1 then
add rollRate * (nowTime - previousTime) to roll

end if
put nowTime into previousTime
/* Valores mximos */
/* Roll es el avance del coche, va de 0 a 2046 */
if roll < 0 then
put 0 into roll
end if
if roll > 2046 then
put 2046 into roll
end if
if pitch < 0 then
put 0 into pitch
end if
if pitch > 1023 then
put 1023 into pitch
end if
end updateRotation
on rotationRateChanged x, y, z
if giro = 1 then
put x into pitchRate
end if
if traccion = 1 then
put y into rollRate
end if
put pitch into field XField
put roll into field YField
put y into field ZField
updateRotation
end rotationRateChanged

ANEXO C
Hojas de datos
IFZ44N
IRF9540
CNX82
LM298
DISPLAY 7 SEGMENTOS
HCF4511
74LS48
70HFR120

PD - 94053

IRFZ44N
HEXFET Power MOSFET
!
!
!
!
!
!

Advanced Process Technology


Ultra Low On-Resistance
Dynamic dv/dt Rating
175C Operating Temperature
Fast Switching
Fully Avalanche Rated

VDSS = 55V
RDS(on) = 17.5m

ID = 49A

Description
Advanced HEXFET Power MOSFETs from International
Rectifier utilize advanced processing techniques to achieve
extremely low on-resistance per silicon area. This benefit,
combined with the fast switching speed and ruggedized
device design that HEXFET power MOSFETs are well
known for, provides the designer with an extremely efficient
and reliable device for use in a wide variety of applications.
The TO-220 package is universally preferred for all
commercial-industrial applications at power dissipation
levels to approximately 50 watts. The low thermal
resistance and low package cost of the TO-220 contribute
to its wide acceptance throughout the industry.

TO-220AB

Absolute Maximum Ratings


Parameter
ID @ TC = 25C
ID @ TC = 100C
IDM
PD @TC = 25C
VGS
IAR
EAR
dv/dt
TJ
TSTG

Continuous Drain Current, VGS @ 10V


Continuous Drain Current, VGS @ 10V
Pulsed Drain Current "
Power Dissipation
Linear Derating Factor
Gate-to-Source Voltage
Avalanche Current"
Repetitive Avalanche Energy"
Peak Diode Recovery dv/dt #
Operating Junction and
Storage Temperature Range
Soldering Temperature, for 10 seconds
Mounting torque, 6-32 or M3 srew

Max.

Units

49
35
160
94
0.63
20
25
9.4
5.0
-55 to + 175

A
W
W/C
V
A
mJ
V/ns
C

300 (1.6mm from case )


10 lbfin (1.1Nm)

Thermal Resistance
Parameter
RJC
RCS
RJA

www.irf.com

Junction-to-Case
Case-to-Sink, Flat, Greased Surface
Junction-to-Ambient

Typ.

Max.

Units

0.50

1.5

62

C/W

1
01/03/01

IRF9540, SiHF9540
Vishay Siliconix

Power MOSFET
FEATURES

PRODUCT SUMMARY
VDS (V)

Dynamic dV/dt Rating

- 100

RDS(on) ( )

VGS = - 10 V

Qg (Max.) (nC)

61

Qgs (nC)

14

Qgd (nC)

29

Configuration

Repetitive Avalanche Rated

0.20

Available

RoHS*

P-Channel
175 C Operating Temperature

COMPLIANT

Fast Switching
Ease of Paralleling

Single

Simple Drive Requirements


S

Compliant to RoHS Directive 2002/95/EC

TO-220AB

DESCRIPTION
Third generation Power MOSFETs from Vishay provide the
designer with the best combination of fast switching,
ruggedized device design, low on-resistance and
cost-effectiveness.
The TO-220AB package is universally preferred for all
commercial-industrial applications at power dissipation
levels to approximately 50 W. The low thermal resistance
and low package cost of the TO-220AB contribute to its
wide acceptance throughout the industry.

S
D
P-Channel MOSFET

ORDERING INFORMATION
Package

TO-220AB
IRF9540PbF
SiHF9540-E3
IRF9540
SiHF9540

Lead (Pb)-free
SnPb

ABSOLUTE MAXIMUM RATINGS (TC = 25 C, unless otherwise noted)


PARAMETER

SYMBOL

LIMIT

VDS
VGS

- 100
20
- 19
- 13
- 72
1.0
640
- 19
15
150
- 5.5
- 55 to + 175
300d
10

lbf in

1.1

Nm

Drain-Source Voltage
Gate-Source Voltage
Continuous Drain Current
Pulsed Drain Currenta
Linear Derating Factor
Single Pulse Avalanche Energyb
Repetitive Avalanche Currenta
Repetitive Avalanche Energya
Maximum Power Dissipation
Peak Diode Recovery dV/dtc
Operating Junction and Storage Temperature Range
Soldering Recommendations (Peak Temperature)
Mounting Torque

VGS at - 10 V

TC = 25 C
TC = 100 C

ID
IDM

TC = 25 C

for 10 s
6-32 or M3 screw

EAS
IAR
EAR
PD
dV/dt
TJ, Tstg

UNIT
V
A
W/C
mJ
A
mJ
W
V/ns
C

Notes
a. Repetitive rating; pulse width limited by maximum junction temperature (see fig. 11).
b. VDD = - 25 V, starting TJ = 25 C, L = 2.7 mH, Rg = 25 , IAS = - 19 A (see fig. 12).
c. ISD - 19 A, dI/dt 200 A/s, VDD VDS, TJ 175 C.
d. 1.6 mm from case.
* Pb containing terminations are not RoHS compliant, exemptions may apply
Document Number: 91078
S11-0512-Rev. B, 21-Mar-11

www.vishay.com
1

This datasheet is subject to change without notice.


THE PRODUCT DESCRIBED HEREIN AND THIS DATASHEET ARE SUBJECT TO SPECIFIC DISCLAIMERS, SET FORTH AT www.vishay.com/doc?91000

6-PIN PHOTOTRANSISTOR
OPTOCOUPLERS
CNX82A.W, CNX83A.W, SL5582.W & SL5583.W
DESCRIPTION

PACKAGE DIMENSIONS

The CNX82A.W, CNX83A.W, SL5582.W AND SL5583.W,


consist of a gallium arsenide infrared emitting diode driving a
silicon phototransistor in a 6-pin dual in-line package.

FEATURES

0.270 (6.86)
0.240 (6.10)

Input/Output pin distance 10.16 mm


UL recognized (File # E90700)

APPLICATIONS
Power supply regulators
Digital logic inputs
Microprocessor inputs

NC

NC

CNX82A.W
SL5582.W
PIN 1. ANODE
2. CATHODE
3. NO CONNECTION
4. EMITTER
5. COLLECTOR
6. NO CONNECTION

NC

SEATING PLANE

SCHEMATIC
1

0.350 (8.89)
0.330 (8.38)

0.070 (1.78)
0.045 (1.14)

0.200 (5.08)
0.115 (2.92)

0.154 (3.90)
0.100 (2.54)

0.016 (0.40)
0.008 (0.20)

0.004 (0.10)
MIN

4
CNX83A.W
SL5583.W

PIN 1. ANODE
2. CATHODE
3. NO CONNECTION
4. EMITTER
5. COLLECTOR
6. BASE

0 to 15

0.022 (0.56)
0.016 (0.41)

0.400 (10.16)
TYP

0.100 (2.54) TYP

NOTE
All dimensions are in inches (millimeters)

ABSOLUTE MAXIMUM RATINGS


Parameter
TOTAL DEVICE
Storage Temperature

Symbol

Value

Units

TSTG

-55 to +150

Operating Temperature

TOPR

-55 to +100

Lead Solder Temperature

TSOL

260 for 10 sec

Junction Temperature

TJ

125

Total Device Power Dissipation @ TA = 25C

PD

250

mW

IF

100

mA

VR

5.0

IF(pk)

3.0

140

mW

1.33

mW/C

EMITTER
DC/Average Forward Input Current
Reverse Input Voltage
Forward Current - Peak (1s pulse, 300pps)
LED Power Dissipation @ TA = 25C
Derate above 25C
DETECTOR

PD
VCEO

50

Collector-Base Voltage (CNX83A)

VCBO

70

Emitter-Collector Voltage

VECO

IC

100

mA

Collector-Emitter Voltage

Continuous Collector Current


Detector Power Dissipation @ TA = 25C
Derate above 25C

PD

150

mW

2.0

mW/C

4/13/00

200024D

L298

DUAL FULL-BRIDGE DRIVER

..
..
.

OPERATING SUPPLY VOLTAGE UP TO 46 V


TOTAL DC CURRENT UP TO 4 A
LOW SATURATION VOLTAGE
OVERTEMPERATURE PROTECTION
LOGICAL 0 INPUT VOLTAGE UP TO 1.5 V
(HIGH NOISE IMMUNITY)

DESCRIPTION
The L298 is an integrated monolithic circuit in a 15lead Multiwatt and PowerSO20 packages. It is a
high voltage, high current dual full-bridge driver designedto accept standardTTL logic levels and drive
inductive loads such as relays, solenoids, DC and
steppingmotors. Two enableinputs are provided to
enableor disable the deviceindependentlyof the input signals. The emitters of the lower transistors of
each bridge are connected together and the corresponding external terminal can be used for the con-

Multiw att15

PowerSO20

O RDERING NUMBERS : L298N (Multiwatt Vert.)


L298HN (Multiwatt Horiz.)
L298P (PowerSO20)

nectionof an externalsensing resistor. Anadditional


supply input is provided so that the logic works at a
lower voltage.

BLOCK DIAGRAM

Jenuary 2000

1/13

TDSR1350, TDSR1360
www.vishay.com

Vishay Semiconductors

High Intensity Red Low Current 7-Segment Display


FEATURES
1500 cd typical at 1 mA
Very low power consumption
Wide viewing angle
Grey package surface
Light intensity categorized at IF = 1 mA
Material categorization: For definitions of
compliance please see www.vishay.com/doc?99912
19237

APPLICATIONS

DESCRIPTION
This series defines a new standard for low current displays.
It is a single digit 7-segment LED display utilizing AllnGaP
technology in color red.

Battery driven instruments


Telecom devices
Home appliances

The supreme light intensity allows applications under direct


sunlight or black front designs by using tinted filter glass
in front of the display.

Instrumentation

Typical 1500 cd at 1 mA is best in class performance for


applications with very limited power supply. The maximum
forward current of 10 mA is allowed for an ambient
temperature range of - 40 C to + 85 C without current
derating.

PRODUCT GROUP AND PACKAGE DATA

Crosstalk between segments is possible at drive currents


above 5 mA per segment. Therefore it is recommend to
apply more than 5 mA only under direct sunlight or with
tinted filter glass.

POS terminals

Product group: Display


Package: 13 mm
Product series: Low current
Angle of half intensity: 50

PARTS TABLE
PART

COLOR

LUMINOUS INTENSITY
(cd)
MIN.

WAVELENGTH
at
at FORWARD VOLTAGE at
(nm)
(V)
IF
IF
IF
(mA)
(mA)
MAX.
MIN. TYP. MAX.
MIN. TYP. MAX. (mA)

TYP.

CIRCUITRY

TDSR1350

Red

280

3600

640

1.8

2.4

Common anode

TDSR1360

Red

280

3600

640

1.8

2.4

Common cathode

TDSR1360-IK

Red

1100

3600

640

1.8

2.4

Common cathode

ABSOLUTE MAXIMUM RATINGS (Tamb = 25 C, unless otherwise specified)


TDSR1350, TDSR1360, TDSR1360-IK
PARAMETER

SYMBOL

VALUE

Reverse voltage per segment

TEST CONDITION

VR

DC forward current per segment

IF

10

mA

Peak forward current per segment

tp

Power dissipation

10 s, duty cycle 1/10


Tamb

85 C

Junction temperature
Operating temperature range
Storage temperature range
Soldering temperature
Thermal resistance LED junction/ambient

Rev. 1.3, 17-Apr-13

3 s, 2 mm below seating plane

UNIT

IFM

50

mA

PV

185

mW

Tj

105

Tamb

- 40 to + 85

Tstg

- 40 to + 85

Tsd

260

RthJA

100

K/W

Document Number: 85180


1
For technical questions, contact: LED@Vishay.com
THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE. THE PRODUCTS DESCRIBED HEREIN AND THIS DOCUMENT
ARE SUBJECT TO SPECIFIC DISCLAIMERS, SET FORTH AT www.vishay.com/doc?91000

HCF4511B
BCD TO SEVEN SEGMENT LATCH/DECODER/DRIVER

HIGH OUTPUT SOURCING CAPABILITY (up


to 25mA).
INPUT LATCHES FOR BCD CODE
STORAGE
LAMP TEST AND BLANKING CAPABILITY.
7-SEGMENT OUTPUTS BLANKED FOR BCD
INPUT CODES > 1001
QUIESCENT CURRENT SPECIF. UP TO 20V
STANDARDIZED SYMMETRICAL OUTPUT
CHARACTERISTICS
5V, 10V, AND 15V PARAMETRIC RATINGS
INPUT LEAKAGE CURRENT
II = 100nA (MAX) AT VDD = 18V TA = 25C
100% TESTED FOR QUIESCENT CURRENT
MEETS ALL REQUIREMENTS OF JEDEC
JESD13B "STANDARD SPECIFICATIONS
FOR DESCRIPTION OF B SERIES CMOS
DEVICES"

DESCRIPTION
HCF4511B is a monolithic integrated circuit
fabricated in Metal Oxide Semiconductor
technology available in DIP and SOP packages.
HCF4511B is a BCD to 7 segment decoder driver
made up of CMOS logic and n-p-n bipolar
transistor output devices on a single monolithic
structure. This device combines the low quiescent

DIP

SOP

ORDER CODES
PACKAGE

TUBE

T&R

DIP
SOP

HCF4511BEY
HCF4511BM1

HCF4511M013TR

power dissipation and high noise immunity


features of CMOS with n-p-n bipolar output
transistor capable of sourcing up to 25mA. This
capability allows HCF4511B to drive LEDs and
other displays directly.
Lamp Test (LT), Blanking (BL), and Latch Enable
or Strobe inputs are provided to test the display,
shut off or intensity-modulate it, and store or
strobe a BCD code, respectively. Several different
signals may be multiplexed and displayed when
external multiplexing circuitry is used.

PIN CONNECTION

October 2002

1/13

DM74LS48
BCD to 7-Segment Decoder
General Description
The LS48 translates four lines of BCD (8421) input data
into the 7-segment numeral code and provides seven corresponding outputs having pull-up resistors, as opposed to
totem pole pull-ups. These outputs can serve as logic signals, with a HIGH output corresponding to a lighted lamp
segment, or can provide a 1.3 mA base current to npn lamp

driver transistors. Auxiliary inputs provide lamp test, blanking and cascadable zero-suppression functions.
The LS48 decodes the input data in the pattern indicated in
the Truth Table and the segment identification illustration.

Connection Diagram
Dual-In-Line Package

TL/F/101721

Order Number DM74LS48M or DM74LS48N


See NS Package Number M16A or N16E

C1995 National Semiconductor Corporation

TL/F/10172

RRD-B30M105/Printed in U. S. A.

DM74LS48 BCD to 7-Segment Decoder

January 1992

70HF(R) Series
Vishay Semiconductors

Standard Recovery Diodes


(Stud Version), 70 A
FEATURES

TYPICAL APPLICATIONS

DO-203AB (DO-5)

PRODUCT SUMMARY
IF(AV)

High surge current capability


Designed for a wide range of applications
Stud cathode and stud anode version
Leaded version available
Types up to 1600 V VRRM
Compliant to RoHS directive 2002/95/EC
Designed and qualified for industrial level

70 A

Converters
Power supplies
Machine tool controls
Battery charges

MAJOR RATINGS AND CHARACTERISTICS


PARAMETER

TEST CONDITIONS

IF(AV)

TC

70HF(R)
10 TO 120

140/160

70

70

140

110

IF(RMS)

110
50 Hz

IFSM
I2 t

1200

60 Hz

1250

50 Hz

7100

60 Hz

6450

Range

VRRM
TJ

UNITS

A
A2s

100 to 1200

1400/1600

- 65 to 180

- 65 to 150

ELECTRICAL SPECIFICATIONS
VOLTAGE RATINGS
TYPE
NUMBER

70HF(R)

VOLTAGE
CODE

VRRM, MAXIMUM
REPETITIVE PEAK
REVERSE VOLTAGE
V

VRSM, MAXIMUM
NON-REPETITIVE PEAK
REVERSE VOLTAGE
V

VR(BR), MINIMUM
AVALANCHE
VOLTAGE
V

10

100

200

200

20

200

300

300

40

400

500

500

60

600

720

725

80

800

960

950

100

1000

1200

1150

120

1200

1440

1350

140

1400

1650

1550

160

1600

1900

1750

Document Number: 93521


Revision: 25-May-09

For technical questions, contact: ind-modules@vishay.com

IRRM MAXIMUM
AT TJ = TJ MAXIMUM
mA

15

4.5

www.vishay.com
1

ANEXO D
Glosario

A
Analgica: Se refiere a aquel tipo de electrnica en que las medidas pueden tomar cualquier valor
infinitesimal, en lugar de utilizar lgica digital (todo o nada)
nodo: Parte del diodo que debe tener una tensin mayor para que ste se polarice y pueda
conducir.

B
Bluetooth: Mtodo de comunicacin inalmbrica entre dos dispositivos mediante un enlace de
radiofrecuancia de 2,4 GHz
Booleano: Lgica basada en dos nicos estados. Todo o Nada
Bootloader: Programa sencillo que tiene las funciones necesarias para que arranque el dispositivo.
Brushless: Tipo de motor elctrico que en lugar de usar escobillas funciona mediante el cambio de
polaridad en el rotor.
Bug: Es un error o fallo en un programa de computador o sistema de software que desencadena
un resultado indeseado.

C
Ctodo: Parte del diodo que debe tener una tensin menor para que ste se polarice y pueda
conducir.
Colector abierto o Open-collector: Es un tipo de solucin que se encuentra en numerosos circuitos
integrados. En lugar de aplicar directamente la tensin o corriente de salida, sta se aplica a la
base de un transistor NPN cuyo colector es la salida del circuito. El emisor del transistor se
conecta internamente a tierra.

D
Datasheet: Hoja de datos que proporciona el fabricante del componente para que el usuario sepa
todos los datos relativos al componente.
Devanado: Es el conjunto de espiras destinado a producir el flujo magntico, al ser recorrido por
la corriente elctrica.
Diodo: Un diodo es un componente electrnico de dos terminales que permite la circulacin de la
corriente elctrica a travs de l en un solo sentido.

Display: Es un dispositivo que poseen ciertos aparatos electrnicos que permite mostrar
informacin al usuario de manera visual.

E
Estator: El esttor es la parte fija de una mquina rotativa y uno de los dos elementos
fundamentales para la transmisin de potencia
Ethernet: Es un estndar de redes de rea local para computadores.

F
Fritzing: Es un programa de automatizacin de diseo electrnico libre que busca ayudar a
diseadores y artistas para que puedan pasar de prototipos (usando, por ejemplo, placas de
pruebas) a productos finales.
Fuerza electromotriz: Es toda causa capaz de mantener una diferencia de potencial entre dos
puntos de un circuito abierto o de producir una corriente elctrica en un circuito cerrado. Es una
caracterstica de cada generador elctrico.

G
Gate-driver: Chip que se utiliza para un correcto funcionamiento de las puertas (gates) de los
MOSFETs
Girscopo: Es un dispositivo que sirve para medir cambios en un aparato.

H
Hardware: Se refiere a todas las partes tangibles de un sistema informtico; sus componentes
son: elctricos, electrnicos, electromecnicos y mecnicos.
Hbrido: Es aquel vehculo que utiliza una mezcla de tecnologas para su propulsin (motor de
combustin interna y motor elctrico)

I
Inductancia: Es una medida de la oposicin a un cambio de corriente de un inductor o bobina que
almacena energa en presencia de un campo magntico
Insoladora: Aparato que se utiliza para poder grabar el fotolito sobre la placa de cobre
fotosensible.
iOS: Sistema operativo que desarroll Apple para sus dispositivos mviles.

L
LED: Light Emitter Diode. Acrnimo ingles de diodo emisor de luz.
Loop: Se llama loop al bucle infito del programa principal de Arduino

M
Mac OS X: Sistema operativo que desarroll Apple para sus ordenadores.
Microcontrolador: es un circuito integrado programable, capaz de ejecutar las rdenes grabadas
en su memoria. Est compuesto de varios bloques funcionales, los cuales cumplen una tarea
especfica. Un microcontrolador incluye en su interior las tres principales unidades funcionales de
una computadora: unidad central de procesamiento, memoria y perifricos de entrada/salida.
MOSFET: Transistor de Efecto Campo Metal-xido Semiconductor. es un transistor utilizado para
amplificar o conmutar seales electrnicas.
Multmetro: Dispositivo electrnico que sirve para medir tensiones, corrientes, resistencias, diodos,
condensadores,

O
Optoacoplador: tambin llamado optoaislador o aislador acoplado pticamente, es un dispositivo
de emisin y recepcin que funciona como un interruptor activado mediante la luz emitida por un
diodo LED que satura un componente optoelectrnico, normalmente en forma de fototransistor o
fototriac.

P
PCB: Printed Circuit Board. Placa de circuito impreso. Es la placa donde se implementa
fsicamente el diseo electrnico.
Potencimetro: Resistencia variable.
Protoboard: Placa de pruebas para pruebas electronicas.
PWM: Pulse Width Modulation. Modulacin por Ancho de Pulsos. Es un mtodo para conseguir de
una forma aproximada, seales analgicas a partir de pulsos booleanos digitales.

T
Transistor: es un dispositivo electrnico semiconductor que cumple funciones de amplificador,
oscilador, conmutador o rectificador.

Potrebbero piacerti anche