Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
CIVIL E INDUSTRIAL
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
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
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
MEMORIA 16
MEMORIA 17
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
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
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
MEMORIA
DOCUMENTACIN
ESTUDIO
COMPONENTES
NECESARIOS
DISEO VEHCULO
DISEO SOFTWARE
DISEO HARDWARE
FUNCIONA
CORRECTA-
MENTE?
FIN
NO
MEMORIA 6
MEMORIA
Modo
Traccin
Local 1
Local 2
Eje Y Thumbpad
Direccin
Eje X thumbpad
Telfono mvil
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
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.
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
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.
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.
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
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
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
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
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
MEMORIA 16
Go-karts:
Un go-kart es un tipo de vehculo pequeo y sin suspensin. stos se pueden
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
Vehculos estudiados:
A continuacin se muestran varios de los vehculos construidos que se estudiaron para
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
MEMORIA 19
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.
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.
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
Traccin
Direccin
Control
CapKart
Motor DC
Manual
Manual
TinyKart
Motor Brushless
Manual
Manual
Alexei 6x6
6 Motores DC
NeurotiKart
Motor DC
Manual
Manual
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
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
MEMORIA 25
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
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.
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
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
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
MEMORIA 32
Idea general:
Como ya se ha explicado en captulos anteriores se desea tener la posibilidad de poder
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)
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
Microprocesador Entradas
analgicas (EA)
(ED/SD)
analgicas (SA)
ATmega 328
14
ATmega 2560
16
54
14
Necesidades
5
1/22
2560. Tiene 54 entradas/salidas digitales (de las cuales 14 pueden usarse como salidas PWM),
MEMORIA 35
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
19
18
17
16
15
14
21
20
19
18
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.
MEMORIA 37
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.
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.
MEMORIA 39
4.4.1
Ilustracin 4.6
Selector de modo
Posicin
Pines
0
1
2
3
Tabla 4.4 Pines seleccionados
MEMORIA 40
0V
1,25V
Modo 1
2,5V
Modo 2
3,75V
Standby
5V
Remoto
=
!"# =
! + ! !"
MEMORIA 41
1
= 1,6667
3
2
= 3,3335
3
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
!
3650
!" =
5 = 0,49
! + !
33000 + 3650
MEMORIA 44
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
break;
case 1:
local2();
volante();
break;
case 2:
standby();
break;
case 3:
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
MEMORIA 47
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
Tensin
Conexin
Avance
0 Voltios
Tierra
Paro
2,5 Voltios
Divisor de tensin
Retroceso
5 Voltios
Directa
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
!"#$ =
!
!"#$ ! + ! = ! !" !"#$ ! + !"#$ !
! + ! !"
!" !"#$
!"#$
5 2,5
! = !
2,5
MEMORIA 49
//Leemos el
selector de avance-paro-retroceso
sentido_pos = map (sentido_pos, 0, 1023, 0, 2);
//Mapeamos el
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
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:
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
Eje Y = Traccin
Eje X = Direccin
MEMORIA 52
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.
MEMORIA 53
Avance
Y>=525
Izquierda
Paro
Derecha
X<=500
487<Y<525
X>=525
Retroceso
X<=487
analogRead
(JOYSTICK_TRAC);
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)
leemos del joystick es mayor que 525, quiere decir que tenemos el
joystick subido y vamos a avance()
avance();
else
//Creamos
una variable interna para leer el valor del eje X del joystick
MEMORIA 54
//Apagamos
//Encendemos
(GIRO_IZQUIERDA,
LOW);
(GIRO_DERECHA,
HIGH);
//Ponemos a
//Ponemos a
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
MEMORIA 55
MEMORIA 56
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
MEMORIA 57
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.
MEMORIA 58
Traccin
avance
Tope
izquierda
Giro
izquierda
Giro
derecha
Paro
Tope
derecha
Traccin
retroceso
Ilustracin 4.25 Posicin LEDs indicadores
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
MEMORIA 59
4.4.7
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
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.
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).
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
MEMORIA 65
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
< 2,8 A
3500
Par
2,8 Nm
2800
< 27
Eficiencia
> 78%
MEMORIA 66
MEMORIA 67
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.
MEMORIA 68
4.6.1
Puente H:
El puente H o H bridge es la solucin en sistemas donde el sentido de giro es una
MEMORIA 69
+VCC
SW1
SW2
(HSR)
M
Lado Inferior Derecho
Lado Inferior Izquierdo SW4
SW3
(LSL)
(LSR)
+VCC
SW1
SW2
(HSR)
M
Lado Inferior Derecho
Lado Inferior Izquierdo SW4
(LSL)
SW3
(LSR)
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
(HSL)
IRFZ44N (HSR)
IRFZ44N
M
Lado Inferior Izquierdo
(LSL)
IRFZ44N
(LSR)
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.
MEMORIA 73
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.
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.
MEMORIA 75
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.
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
MEMORIA 78
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
!"# !"# 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
MEMORIA 81
MEMORIA 82
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.
MEMORIA 84
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
MEMORIA 86
4.7
Protecciones:
A la hora de proteger todo el vehculo de algn cortocircuito que pudiese ocurrir en el
MEMORIA 87
MEMORIA 88
4.8
Panel de control
Direccin
Bateras
Control
MOSFETs
Fusibles
Magnetotrmico
Motor
Router
Arduino
Panel de control
Direccin
+24
Direccin
MOSFETs
Optoacopladores
+12
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:
I = Corriente mxima.
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
Para todas las seales digitales se ha utilizado cable de comunicacin, pues est
comprobado que su seccin es suficiente en el proyecto.
MEMORIA 90
MEMORIA 91
Esquema general:
Al arrancar el Arduino lo primero que realiza es la configuracin del mismo, asignar
Inicio Arduino
Configuracin
Selector de
modo?
Local 1
Local 2
Standby
Remoto
Volante
MEMORIA 92
5.2
Local 1:
En el modo de conduccin Local 1 se emplea el acelerador de moto para la traccin,
Selector
marcha?
Avance
Paro
Retroceso
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
Volante
Joystick
eje X?
Izquierda
Paro
Derecha
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
Avance
Salida = Acelerador
Letrero
5.6
Retroceso:
La funcin de Retroceso escribe sobre el pin de retroceso un PWM correspondiente
Salida = Acelerador
Letrero
MEMORIA 96
5.7
Paro:
La funcin de Paro pone a 0 el estado de los dos pines de la traccin. A
Paro
Salida = 0
Letrero
5.8
Letrero:
Letrero
Acelerador?
Unidades
Decenas
Centenas
MEMORIA 98
Introduccin
Para el desarrollo de la aplicacin del dispositivo de control mvil se utiliz el
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
Router
LA
Arduino
Mvil
Ilustracin 6.1 Conexin va wifi
MEMORIA 100
6.3
Carta 2:
Carta 3:
Configuracin
Conduccin
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:
MEMORIA 102
6.3.3
Carta Conduccin:
Men
URL Conectada
LED
Informacin
Luces
Acelerador
Marcha
Direccin
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.
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.
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
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:
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
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
ANEXO A
ESQUEMAS Y PCB
Figura A.1
Figura A.2
Figura A.3
Figura A.4
Figura A.5
Figura A.6
Figura A.7
Figura A.8
Figura A.9
ANEXO B
Cdigos fuente
B.1
Cdigo Arduino
B.2
B.3
B.4
B.5
B.6
B.7
B.8
B.9
B.10
B.11
B.12
int ACELERADOR_M
int SENTIDO
int JOYSTICK_TRAC
int JOYSTICK_DIRE
/* SALIDAS DIGITALES */
int MOTOR_RETR
int MOTOR_AV
int GIRO_IZQUIERDA
int GIRO_DERECHA
int LED_AVANCE
int LED_PARO
int LED_RETROCESO
int LED_IZQ
int LED_IZQ_TOP
int LED_DCHA
int LED_DCHA_TOP
int LUCES
/* ENTRADAS DIGITALES */
int LUCES_PULSADOR
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;
int DIRECCION_VIRTUAL
= 0;
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;
//0
//1
//2
//3
//4
//5
//6
//7
//8
//9
};
/* VARIABLES CONEXIONES ETHERNET */
String recibido;
EthernetClient client;
EthernetServer server(80);
if (SELECTOR_POS == 0)
acelerador del manillar
acelerador = (ACELERADOR_M_POS);
1023
//
//
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;
if (SELECTOR_POS == 3){
que leer un acelerador u otro.
Serial.println(ACELERADOR_M);
acelerador = map (acelerador, 191, 865, 0, 255);
//
}
else if (SELECTOR_POS == 0){
}
// Serial.println(acelerador);
}
void paro(){
//Estamos en el modo que no se aplica ninguna tensin al motor.
//Serial.println("Estoy en modo paro");
digitalWrite (MOTOR_RETR, LOW);
}
void retroceso(){
//Estamos en el modo en que el motor retrocede.
//Serial.println("Estoy retrocediendo");
int acelerador;
if (SELECTOR_POS == 3){
que leer un sensor u otro
}
if (SELECTOR_POS == 2){
acelerador = TRACCION_VIRTUAL/8;
//
}
digitalWrite (MOTOR_AV, LOW);
para que no haya ningn corto
}
/* 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);
// Serial.println(sentido_pos);
sentido_pos = map (sentido_pos, 0, 1000, 0, 2);
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:
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;
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{
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 = 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);
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){
//
//
//
//
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
//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
//Serial.println ("giroderecha");
}
else {
moviendo el joystick sobre el eje X
//Serial.println ("paro");
//Serial.println (posgiro1);
}
}
// if (SELECTOR_POS == 2)
//
posgiro1 = DIRECCION_VIRTUAL;
//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
//Serial.println ("giroderecha");
}
else if (tope_dcha == HIGH){
derecha
}
else if (tope_izq == HIGH){
izquierda
}
else {
moviendo el joystick sobre el eje X
//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
OUTPUT);
pinMode (MOTOR_RETR,
OUTPUT);
pinMode (LED_AVANCE,
OUTPUT);
pinMode (LED_PARO,
OUTPUT);
OUTPUT);
OUTPUT);
OUTPUT);
pinMode (LUCES_PULSADOR,INPUT);
digitalWrite(LUCES_PULSADOR, HIGH);
attachInterrupt(0, luces, RISING);
Ethernet.begin(mac,ip);
asignadas
server.begin();
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
SELECTOR_POS = map (SELECTOR_POS, 0, 800, 0, 3); //Mapeamos el valor para tener solo 4
casos
//Serial.println(SELECTOR_POS);
switch (SELECTOR_POS) {
case 3:
//
Serial.println("Local 1");
local1();
break;
case 0:
Serial.println("Local 2");
//
client.stop();
local2();
volante();
//Vamos a la direccin
break;
case 1:
Serial.println("Standby");
standby();
break;
case 2:
//Serial.println("Remoto");
remoto();
break;
};
}
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
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
!
!
!
!
!
!
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
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
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)
- 100
RDS(on) ( )
VGS = - 10 V
Qg (Max.) (nC)
61
Qgs (nC)
14
Qgd (nC)
29
Configuration
0.20
Available
RoHS*
P-Channel
175 C Operating Temperature
COMPLIANT
Fast Switching
Ease of Paralleling
Single
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
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
6-PIN PHOTOTRANSISTOR
OPTOCOUPLERS
CNX82A.W, CNX83A.W, SL5582.W & SL5583.W
DESCRIPTION
PACKAGE DIMENSIONS
FEATURES
0.270 (6.86)
0.240 (6.10)
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
NOTE
All dimensions are in inches (millimeters)
Symbol
Value
Units
TSTG
-55 to +150
Operating Temperature
TOPR
-55 to +100
TSOL
Junction Temperature
TJ
125
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
VCBO
70
Emitter-Collector Voltage
VECO
IC
100
mA
Collector-Emitter Voltage
PD
150
mW
2.0
mW/C
4/13/00
200024D
L298
..
..
.
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
BLOCK DIAGRAM
Jenuary 2000
1/13
TDSR1350, TDSR1360
www.vishay.com
Vishay Semiconductors
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.
Instrumentation
POS terminals
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
SYMBOL
VALUE
TEST CONDITION
VR
IF
10
mA
tp
Power dissipation
85 C
Junction temperature
Operating temperature range
Storage temperature range
Soldering temperature
Thermal resistance LED junction/ambient
UNIT
IFM
50
mA
PV
185
mW
Tj
105
Tamb
- 40 to + 85
Tstg
- 40 to + 85
Tsd
260
RthJA
100
K/W
HCF4511B
BCD TO SEVEN SEGMENT LATCH/DECODER/DRIVER
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
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
TL/F/10172
RRD-B30M105/Printed in U. S. A.
January 1992
70HF(R) Series
Vishay Semiconductors
TYPICAL APPLICATIONS
DO-203AB (DO-5)
PRODUCT SUMMARY
IF(AV)
70 A
Converters
Power supplies
Machine tool controls
Battery charges
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
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.