Vous êtes sur la page 1sur 0

1

Captulo2
DescripcindeComponentesUtilizados

2.1Arduino

Arduino es un prototipo electrnico de plataforma abierta de fcil uso que consta


bsicamentedeunaplacadecircuitoimpresoquecontieneunmicrocontroladordela
marcaATMELquecuentaconsuficientesentradasysalidasanlogasydigitalespara
cubrir las necesidades del proyecto. Arduino posee una gran cantidad de ventajas a
comparacindeotrosmicrocontroladores:
Vieneenunaplacadondetodoestlistoparaempezaraserutilizado.
Esmuyfcildeprogramar
El costo del microcontrolador no es tan elevado a comparacin de otros
microcontroladores.
La plataforma de Arduino al ser un sistema de Open Source ha permitido que
muchas personas se interesen en proyectos novedosos y que por lo mismo
compartan sus proyectos en internet, como por ejemplo el uso de un control
Nunchuk. Mediante Arduino es ms fcil controlar el acelermetro del Nunchuk
juntamenteconlosdosbotonesextrasyeljoystickparaaplicacionesfuturas.

De esta manera al finalizar esta tesis con el conocimiento obtenido en este


proyecto se pueden seguir desarrollando aplicaciones sobre estos sensores tanto
comoparaestevehculocomoparaotrasaplicaciones.

Figura2.1:ArduinoDuemilanove
El sistema Arduino utilizado en esta tesis, se muestra en la figura 2.2, este fue
programado mediante el Software: Arduino 0013, ver figura 2.3, gracias a este
programayalhardwareconelquecuentaArduinofueposiblehacerlalecturadelos
sensores y generar la accin de los actuadores. Arduino est basado en 3 partes
principalesmediantelascualesestedispositivosecomunicaconelexterior:Unaparte
de entradas y salidas digitales ubicada en la parte superior, una parte de entradas
anlogas y una parte de pines de voltajes ubicadas en la parte inferior de Arduino,
estassemuestranclaramenteenlafiguras2.4y2.5.
As mismo, la descripcin de las terminales con que cuenta el sistema Arduino se
describenenlastablas2.1,2.2y2.3

Figura2.2:InterfazdelprogramaArduino.

Figura2.3:PinesdigitalesArduino

Figura2.4:Pinesanlogosydevoltaje.
Tabla1:PinesDigitalesUsados
PinesAnlogos Aplicacin
3 PWMMotor1
4 Activacinmotores
5 PWMMotor2

5
6 PWMMotor3
7 SensorUltrasnico
9 PWMMotor5

Tabla2:PinesanlogosArduino
PinesAnlogos Aplicacin
4 DatosNunchuk
5 SealrelojNunchuk

Tabla3:PinesdeVoltajeArduino
PinesdeVoltaje Aplicacin
Gnd. Tierra
5V 5VoltsUltrasnico
3V3 3.3VoltsNunchuk

El sistema Arduino posee dos opciones diferentes de alimentacin, una es por medio
del cable USB y la otra es mediante una entrada de voltaje la cual puede ser
suministrada de entre 5V y 12V para un rendimiento optimo, la primera opcin nos
permiteademsdealimentarloconectarloalacomputadoraparaasserprogramado
ascomotambinenviardatoshacialacomputadorapormediodelpuertoserial.

Figura2.5:FuentesdealimentacinArduino.Izquierda:USB,Derecha:Alimentacinexterna

Conrespectoalvehculopropuestoparaestatesisalsernecesarioqueesteenelaire
requiereforzosamentequenoestsujetadoanadaporlotantolaopcindeconexin
por medio de USB para transmisin de datos no estar disponible y no se podrn
visualizar las variables utilizadas en la computadora por el momento ya que en esta
tesisnoseconsideraelenvodedatosdemanerainalmbricasinembargoestosera
posibleparafuturasaplicaciones.

2.2SensoresUltrasnicos

Despusdeanalizarvariasopcionesparadeterminarladistanciaalaqueelvehculose
encuentra con respecto al suelo se decidi utilizar un sensor ultrasnico con la
posibilidad de medir hasta 4 metros de distancia con una gran precisin, su
funcionamiento bsico es el envo de pulsos ultrasnicos los cuales al rebotar contra
un objeto producen un eco que es recibido por el sensor para de esta manera
determinarladistanciaalobjeto.

Figura2.6:SensorultrasnicoSRF05.
Estesensorultrasnico,mostradoenlafigura2.7,tiene2manerasparafuncionar[7]:
Modo1Sealdeactivacinydeecoendiferentespines
Enestemodoseutilizanterminalesindependientesparalasealdeactivacin
y para la seal de retorno del eco. Para activar este modo se debe dejar la
terminaldemodosinconexin
1
.

Figura2.7:Mododeconexin1
2
.

1
InformacinobtenidaenlahojadedatosdelSRF05.
2
Figuraobtenidograciasalahojadedatosdelsensorenespaol.

8
Elprimermodoeselmsfcildeutilizarvindolodesdelapticadelaprogramacin
ya que se cuenta con terminales independientes para la entrada y para la salida, sin
embargosisevedesdeelpuntodevistadeconexiones,implicaquesalgandoscables
y no uno solo desde el Arduino hacia el sensor SRF05. La figura 2.9 muestra el
diagramadetiemposquedebeconsiderarsecuandoelsensorestsiendoutilizadoen
elmodo1.

Figura2.8:Diagramadetiemposenmodo1
3
.

Modo2Sealdeactivacinyecodiferente

En este modo se utiliza un solo pin para las seales de activacin y eco lo que nos
permitereducirelnmerodeterminalesquedebenutilizarseenelmicrocontrolador.

3
Diagramaobtenidograciasalahojadedatosdelsensorenespaol.

9
Para utilizar este modo es necesario conectar la terminal de modo a la tierra del
Arduino.
4

Figura2.9:Mododeconexin2
5

Enestemodolasealdeoperacinylasealdelecoseenvanporlamismaterminal,
porlotantoesnecesarioconfigurarelpincomoemisoryreceptorteniendoencuenta
eltiempoquesetomaparaenviaryrecibirelpulso.Estepinenunprincipiodebeser
declaradocomoemisorysolopuedesercambiadoareceptorhasta700Sdespusde
haber finalizado la seal de activacin. El diagrama de tiempos para que el sensor
funcioneenelmodo2semuestraenlafigura2.11

4
Informacinobtenidaenlahojadedatos.
5
Figuraobtenidaenlahojadedatosenespaol

10

Figura2.10:DiagramadetiemposenModo2
6

ParapodermedirladistanciaenelArduinoseutilizaunafuncinllamadaPulseInla
cual lee un pulso en estado HIGH o LOW sobre la terminal apropiada, y segn la
programacin,esperaaqueelpinsepongaenestadolgico1o0esdecirdetecta
uncambiodeflancopositivoonegativoycuandostellegaseiniciaunacuentaquese
parar en cuanto se detecte otro cambio, entonces la funcin entregar como
resultado un valor en microsegundos. Esta instruccin funciona correctamente entre
valoresde10sa3minutos[8].
ElfuncionamientobsicodelainstruccinPulseineselsiguiente:
i nt pi n = 7;
unsi gned l ong dur at i on;

voi d set up( )
{
pi nMode( pi n, I NPUT) ;
}

6
Diagramaobtenidoenlahojadedatosenespaol

11

voi d l oop( )
{
dur at i on = pul seI n( pi n, HI GH) ;
}

Apartirdeestafuncinsepuedecalcularladistancia,paraestoesnecesarioteneren
cuentaqueelecoqueserecibeesunpulsoporlotantosuanchoesproporcionalala
distancia con respecto al objeto, este sensor si no detecta nada en 30s su nivel
cambiaaestadobajo.Paracalcularladistanciaencmsedebetenerencuentaquela
velocidaddelsonidoes340m/so29microsegundosporcentmetro.
Elsonidollegahastaelobjeto,rebotayregresacomoecoporloquesetomaeltiempo
en milisegundos y se divide entre 29 para obtener la distancia y despus dividimos
entre dos porque solo queremos la distancia que a el pulso le tomo regresar o en
llegar,nolas2[9].
Para calcular la distancia en pulgadas es necesario seguir un proceso similar, pero es
necesariorevisarlashojasdedatos,estasnosproporcionandosdatosimportantes:el
sonidoviajaa1130piesporsegundoyserecorren73.746microsegundosporpulgada,
por lo tanto para obtener una distancia en pulgadas es necesario dividir la seal que
nos da entre 74 para obtener la distancia total y finalmente dividir entre 2 para
obtenerladistanciadelsensoralobjeto
7
.
En el cdigo del programa solo es necesario aplicar las siguientes frmulas para
obtenerlasdistanciasencentmetrosyenpulgadas.

7
InformacinobtenidaconelejemplodePINGquevieneenlapginadeArduino.

12



l ong msPul gadas( l ong mi cr osegundos)
{
r et ur n mi cr osegundos / 74 / 2;
}

l ong msCent i met r os( l ong mi cr osegundos)
{

r et ur n mi cr osegundos / 29 / 2;
}

Elresultadodeestasmedicionessenosdapormediodelpuertoserialporloquesolo
es necesario activar la funcin de monitoreo serial en la interfaz del programa del
Arduino. El cdigo completo de cmo medir la distancia con estos sensores se puede
verenelApndiceA
8
.

2.3Nunchuk

El vehculo que se propuso en esta tesis tiene 4 brazos ubicados a 90 cada uno
formandounaX,elsistemadecontrolpropuestonecesitadetectarlainclinacindelos
motores por lo tanto es necesario un dispositivo capaz de medir al menos dos ejes
paratomardosbrazoscomoelejeXylosotrosdoscomoelejeY.

8
EstecdigoseencuentraenelApndiceAenlapagina78.

13

La mayora de los acelermetros disponibles en el mercado son para aplicaciones de


montajesuperficial,aunqueelpreciodeestosdispositivosaumentasegnlacantidad
de ejes que pueden medir, debido a esto se decidi utilizar el acelermetro del
Nunchuckyaqueconestedispositivopuedemedir3ejes:X,YyZytienelaventaja
deestarenuncircuitoimpresoycuentacondosbotonesyunJoysticktodoestoenun
preciode400pesosaproximadamente.

Figura2.11:ElacelermetrodelNunchuk,losbotonesyeljoystick.
9

Figura2.12:unacelermetrocomercialmontadoenplacasuperficial.

9
Figuragraciasalapgina:http://gear.ign.com/articles/748/748146p1.html

14

En las imgenes 2.12 y 2.13 se puede ver que los acelermetros son similares y de
tamaos reducidos, pero el que viene montado en el circuito impreso del Nunchuk
posemuchasventajasacomparacindeunsimpleacelermetro.
Un acelermetro es un dispositivo que mide fuerzas de aceleracin estticas como la
constantedegravedadqueseejercesobreuncuerpoodinmicascomolainclinacin
queseaplicasobreunacelermetro.
Estos dispositivos funcionan porque debido a la medicin de aceleracin esttica
debido a la gravedad se puede encontrar un ngulo al que el dispositivo est siendo
movido con respectoa la tierra, ydebidoa laaceleracindinmicasepuedesaberla
direccinconlaqueseestmoviendo[10].
Existen muchos tipos de acelermetros pero dos de los ms importantes y comunes
son los de efecto piezoelctrico y los de efecto capacitivo. Los acelermetros
piezoelctricos se valen de estructuras microscpicas de cristales los cuales al ser
excitadosporfuerzasdeaceleracinproducenunvoltajedeterminadoqueseusapara
saber la inclinacin, los acelermetros de efecto capacitivo contienen micro
estructuras separadas una de otra por una distancia determinada por lo que poseen
unacapacitanciafija,peroestasalseralejadasoacercadasporefectodelainclinacin
producirnuncambioenlacapacitanciaelcualesusadoparasaberlainclinacin
10
.

10
InformacinobtenidaenDimensionEngineering.

15
}
El Nunchuk es un control que trabaja en conjunto con otro control de la consola Wii llamado
Wiimote. El Nunchuk cuenta con un acelermetro de 3 ejes, un control anlogo o Joystick y
dosbotones[11].

Figura2.13:ControlNunchuk.
11

ParapoderconectarloalArduinoesnecesariosaberculessonlospinesquesetienen
queutilizar,estecontrolensuconectorcuentacon6pinesdeloscualessolo4llegan
hastaelcircuitoimpresodondeseencuentraelacelermetro.

Figura2.14:ConectordelcontrolNunchuk.

Figura2.15:diagramadeconexindelNunchuk.
12

11
Figuragraciasalapgina:http://www.wiili.org.

16

Lospinesdeconexinsonlossiguientes:
Tabla4:PinesNunchukysuconexin
#dePin Descripcin Arduino
1 Datos Pin4anlogo
2 Noconectado Noconectado
3 3.3V 3.3V
4 sealdeReloj Pin5anlogo
5 Noconectado Noconectado
6 Tierra Tierra

En internet existen muchas pginas de informacin que exponen pblicamente los


programasqueusaronparapoderutilizarelacelermetroyloscontrolesdelNunchuk,
incluso existen libreras que pueden ser utilizadas para medir la aceleracin en el
acelermetroperonotodasestasfuentessonconfiablesylamayoradeesasnodicen
la manera en la que se conecta el Arduino con el Nunchuk por lo que existe la
posibilidaddedaaralgunodeellos.
DebidoaestefactorexistalaposibilidaddenoconectarcorrectamenteelNunchuky
daarlo, pero investigando [11] se pudo conectar correctamente adems de que
proporcionouncdigo medianteelcual se haba logrado obtenerdatosprovenientes
del Nunchuck. La tarea ahora consista en utilizar correctamente este programa,
adaptarlo a las necesidades del proyecto, depurarlo quitando las partes que no se
necesitaban, entender cmo funcionaba y en cierta manera mejorar su

12
Diagrama obtenido en la pgina: www.wiili.org en la seccin Wiimote/Extension
Controllers/Nunchuk

17
funcionamientoalcambiarlaestructuraoriginaldndoleunenfoquedeprogramacin
orientadoaobjetos.

Laestructuradeprogramacinrenovadasemuestraacontinuacindondesolamente
seasignanlastareasarealizaryelcdigoquerealizatodosepresentaenlapartefinal
delcdigoparatenertodomsordenadoyestructurado.
voi d set up( )
{
begi nSer i al ( 19200) ;
Wi r e. begi n ( ) ;
Nunchuk_i ni t ( ) ; / / i ni ci aci n par a el Nunchuk
pul seWi dt h = mi nPul se; / / ancho de pul so se r educe al m ni mo

}



voi d l oop( )
{
/ / I nt er val o de t i empo deseado par a que se act i ve l a f unci n
/ / de i ncl i naci n del Nunchuk

t ++;
i f ( t == 25 )
{

i ncl i naci on( ) ;

}

del ay( 20) ;

}


ElcdigocompletodecmocontrolarelNunchukseencuentreenelapndiceB
13
.
Estecdigonosdalosresultadosdelainclinacindelos2ejesquenecesitamos,eleje
X y el eje Y, y debido a las modificaciones realizadas sobre el programa los valores

13
CdigodelNunchuckenApndiceBenlapagina80.

18
entregados ahora estn dados en forma de porcentaje en donde el valor de 50 es el
centrodelosdosejes.

AnteriormentelosvaloresdadosporelNunchukeranlossiguientes:
Tabla5:RangodevaloresdelNunchuk.
Ejes Mnimo Mximo Rangodevalores
X 10 163 153
Y 10 163 153

Estos valores por medio de una regla de 3 fueron adaptados para realizar un
porcentajedeinclinacinyunporcentajedePWMparalosmotores.

Con estas pequeas funciones agregadas al programa es ms fcil administrar las
variablesqueserecibenparapoderascontrolarlosmotoresysaberlainclinacindel
dispositivo. La inclinacin con respecto a los ngulos y al valor de porcentaje de
inclinacinentregadopormediodelArduinoeselsiguiente:
Tabla6:InclinacindelejeX

x<50 x>50
Inclinacin PWM Inclinacin PWM
0 50 0 50
2.1 49 1 51
2.4 48 1.7 52

19
3.3 47 2.8 53
4.5 46 4.7 54
5.5 45 5.9 55
6.5 44 6.9 56
7.5 43 7.9 57
8.5 42 8.9 58
9.5 41 9.9 59
10.5 40 10.9 60
12.6 39 12.9 61
13.9 38 13.9 62
14.8 37 15.3 63
15.9 36 16.3 64

Enlatabla7sepuedeobservarcmocambianlosdatosdeporcentajedeinclinacin
del acelermetro en donde los valores menores a 50 significan que el acelermetro
est siendo girado a la izquierda y los valores mayores a 50 significan que este est
inclinndosehacialaderecha.

Figura2.16:InclinacindelejeXdelacelermetro.

20

Figura2.17:GraficadelcomportamientodelejeX.

EnlagraficamostradaenlaFigura2.18sepuedevercomportamientoconrelacinal
ngulo deinclinacin delacelermetro y del% quese manejaen el programaparala
inclinacindesde0a100.

Tabla7:InclinacindelejeY
Y<50 Columna1 Y>50 Columna2
0 50 0 50
2.6 49 0.3 51
3.8 48 1.8 52
4.7 47 2.7 53
5.8 46 3.9 54
6.8 45 4.8 55
7.9 44 5.9 56
8.9 43 6.9 57
9.9 42 7.9 58
11.1 41 8.9 59
12.2 40 9.9 60
14.3 39 12.3 61
15.5 38 13.3 62

21
16.5 37 14.3 63
17.6 36 15.7 64

Los datos en la tabla 8 muestran los valores obtenidos para la inclinacin del
acelermetro respecto al eje Y adems del porcentaje de inclinacin, donde los
valores menores a 50 significan que el acelermetro est siendo girado hacia atrs y
losvaloresmenoresa50significanqueesteestinclinndosehaciaadelante.

Figura2.18:inclinacindelacelermetroenejeY.

22

Figura2.19:GraficadelcomportamientodelejeX.

2.4Motores

En esta tesis se utilizaron dosdiferentes tiposde motores, los primeros fuerondeDC


especiales para aviones de radio control, elegidos as para que pudieran proveer la
fuerza necesaria para levantar el prototipo, los segundos motores que se utilizaron
fueronsincepilladodeusoexclusivoparahelicpterosde4hlicesalosladoscomoen
nuestroprototipo,estosmotoresposeenunamayorcapacidadporloquesuusoesel
indicadoparaestatesis.

23

Figura2.20:MotoresdeDCparaavionesRC.

Figura2.21:MotoresBrushless.
2.4.1MotoresDC

Elprimertipo de motores con cepilladotienen un pesode 10gr conun dimetro de


28mmyunlargode5cm,estossealimentanconunvoltajevariabledeentre6y12
voltsidealmente,aunquefueronprobadosa18voltsparaversideestamaneralos4
juntospodanlevantarlaestructurasinelusodepionesyengranesparaconectarlas
hlices.

24
Este tipo de motores son dispositivos electromotrices que convierten la energa
elctrica en movimiento mecnico, estos basan su funcionamiento en la accin de
campos magnticos opuestos que hacen girar el rotor (eje interno) en direccin
opuestaalestator(imnexternoobobina),conlocualcuandosteessujetadoporsu
superficieelejedelrotoreslonicoquegiraydeestamaneraescomogeneramosel
movimientohacialashlices[12].

Para cambiar la direccin del motor solo es necesario cambiar la polaridad de


alimentacin, pero para hacer que este vare su velocidad sin perder fuerza es
necesariocontrolarlopormediodePWMyunpuenteH.

Tabla8:Caractersticasmotorconcepillado
Corriente: 2A
Peso: 70gr
Dimetro: 28mm
Largo: 50mm

Estosmotoresa18voltstenanunpicodecorrientede2.6Ayseestabilizabana2A
porlocualelcontroldeestosmotoressepodarealizarpormediodeunpuenteHde
lafamiliaL293.

2.4.2MotoresBrushless

25

Losmotoressincepilladoestnhechosparaunagraneficienciayunbajopesodebido
a que son para uso especfico de aeromodelismo, los 4 motores que se utilizaron
fueron de la marca HIMAX modelo HC28120650
14
. Estos motores tienen las
siguientescaractersticas:

Tabla9:CaractersticasMotorBrushless
Potencia: 150W
IdelESC: 10A
Peso: 64gr
Dimetro: 28mm
Largo: 40mm

Losmotoressincepilladoaltenerunagranpotenciayconsumirunagrancantidadde
corrientesetienenquecontrolarporunESC(ElectronicSpeedController)ynoporno
porunpuenteH.
Este tipo de motores, a diferencia de los otros no utilizan escobillas para realizar el
cambiodepolaridadenellossinoquelohacenmedianteunprocesodeconmutacin
electrnicaynomecnica.Losmotoresaltenerescobillasdisminuyenelrendimiento,
producencaloryruido.
Los motores sin cepillado se alimentan con una seal trifsica que realmente es una
combinacin de pulsos que hacen que la seal de DC tenga una componente de AC,
pero se les clasifica como motores de DC porque poseen imanes permanentes los

14
DatosdelosmotoresobtenidosenlapginadeDraganFly.

26
cuales reciben pulsos en una determinada manera haciendo que el campo secuencial
giremsrpidoomslentoalaumentarodisminuirlafrecuenciadelospulsos.
Enlosmotoresconvencionalesalaumentarelvoltajeseaumentalavelocidadperoen
estosno,aqulosESCsubministranlacorrientenecesariaparalavelocidadqueseelija
seafija[13].

Algunasventajasprincipalesdeestosdispositivossonlassiguientes:
Mayoreficiencia
Mayorrendimiento
Conmutacinelectrnica
Mayorpotenciaparaelmismotamao
Rangodevelocidadelevadoalnotenerlimitacinmecnica.

2.5ControlesElectrnicosdeVelocidad(ElectronicSpeedController)

Un ESC es usado principalmente para controlar motores por medio de radio control,
pero en este caso lo utilizaremos solamente para poder variar la velocidad del motor

27
por medio de una seal PWM proveniente del Arduino. Los ESC trabajan
principalmente por medio de FETs (Field Effect Transistors) debido a que son ms
rpidos para hacer transiciones adems de que pueden soportar una corriente de
entre 15 a 25 A, lo cual no se puede lograr fcilmente con puentes H. El ESC que se
utilizoenestatesisfueelmodelo:Phoenix25delamarcaCastleCreationselcual
tienelassiguientescaractersticas[14]:

Tabla10:CaractersticasESC
Voltaje 12.6a19.2V
Corriente: 25A
Conmutacin: 11000Hz
Peso: 17gr
dimensiones: 3.5x2x.4cm

Estos ESC tienen la caracterstica de ser controlados por microprocesadores lo que


permite un mejor desempeo de los motores, cuentan tambin con sistemas de
seguridadydelimitacindecorrienteparaqueendadocasodequeaalgnmotorle
llegueafaltarlasealdePWMautomticamenteseapagueparanodaarse.

28

Figura2.22:ESC.
Los reguladores de velocidad (ESC) para su funcionamiento bsicamente miden el
tiempo de 1ms a 2ms como un servo estndar y lo transforman en un mximo y
mnimodeRpmparaelmotor
15
.

2.6PuenteH

Un puente H es un circuito electrnico que nos da la posibilidad de girar en ambos


sentidosunmotorelctricodecorrientedirecta.ElnombredepuenteHdedebeala
colocacin de 4 interruptores y dependiendo de la combinacin de estos se puede
realizarqueelmotorgireenunadireccinoenotra.

15
DatosobtenidosdelapginaERadiocontrol.

29

Figura2.23:PuenteH.

Figura2.24:AccionesdelosinterruptoresenunpuenteH[15].
En la Figura 2.25 el primer circuito hace que el motor gireen una direccin debido al
voltaje recibido, en cambio en la otra figura el voltaje entra al motor inversamente y
hace que este gire en la otra direccin. Una pequea tabla muestra las acciones
correspondientesenlosinterruptores:

Tabla11:AccionesdelosinterruptoresenpuenteH

S1 S2 S3 S4 Accin
1 0 0 1 Elmotorgiraenavance
0 1 1 0 Elmotorgiraenretroceso
0 0 0 0 Elmotorsedetieneporinercia
0 1 0 1 Frenadorpidodemotor

30
ParapodercontrolarunmotoresrecomendableusarunpuenteHparacadamotorya
que estos alimentados a 18 V tienen una corriente de pico de 2.6 A y una corriente
establede2A.AlprincipioseutilizaronpuentesHdelmodeloL239Dqueincluyeuna
proteccindediodosylaposibilidaddecontrolar4motores,sinembargoseutilizoun
puente H para cada motor y no limitar la corriente en el integrado pero de todas
manerasesemodelodepuenteH nodabalosrequerimientosdecorrienteasquese
prosiguiautilizarelmodeloL293Belcualalnotenerunaproteccindediodospuede
soportarlasnecesidadesdecorrientedelosmotores[16].

A continuacin se presenta un diagrama que muestra cmo conectar fcilmente los


motoresmediantelospuentesHyelcontrolPWMprovenientedelArduino.

Figura2.25:Esquemticodeunmotor,unArduinoyunpuenteHL239D[17].

31

Figura2.26:Motor,ArduinoypuenteHL239D
16
.

2.7PWM

PWM son las inciales en ingls de Pulse Width Modulation cuya traduccin es
Modulacin por Ancho de Pulso, esta principalmente sirve para controlar el ciclo de
trabajodeunasealperidica,confinesdetransmitirinformacinatravsdeuncanal
decomunicacionesoparacontrolardelacantidaddeenergaqueseenva

a una carga y un ejemplo de esto es que los motores que se utilizaron es esta tesis
fueroncontroladosporPWM.

16
Figuradelaconexinsugeridaporlapgina:http://gestaltung.fhwuerzburg.de

32

Figura2.27:ControlPWMdeunaseal[18].

La frecuencia de una seal se puede definir como la cantidad de pulsos en estado


encendidooapagado quehaypor segundo, estetambineselinverso delperiodo y
viceversa.

Elperiodose mideensegundos y la unidadde medida sonlosHertz los cualessonel
inversodelaunidaddetiempo,lossegundos.

UnparmetroimportantedentrodelPWMeselciclodetrabajoqueeninglsesDuty
Cycle el cual determina el porcentaje de tiempo que el pulso est en estado activo
duranteunciclo.LasealPWMseutilizaparacontrolarcircuitosanalgicos.Elperiodo

33
y la frecuencia del tren de pulsos pueden determinar la potencia entregada a dicho
circuito.
En un Arduino la seal de salida PWM nos permite cambiar el ciclo de trabajo o el
tiempo que el pulso est activo utilizando la funcin analogWrite(). El siguiente
programaesunmuestrasencilladecmosepuedenmodificarintervalosdetiempoa
travsdelafuncindigitalWrite()[19].

i nt di gPi n = 10; / / pi n di gi t al 10
voi d set up( )
{
pi nMode( di gPi n, OUTPUT) ; / / pi n en modo sal i da
}
voi d l oop( )
{
di gi t al Wr i t e( di gPi n, HI GH) ; / / asi gna el val or HI GH al pi n
del ay( 500) ; / / esper a medi o segundo
di gi t al Wr i t e( di gPi n, LOW) ; / / asi gna el val or LOWal pi n
del ay( 500) ; / / esper a medi o segundo
}

ElprogramaanterioreslaformamsbsicadeaplicaruncontrolPWMacualquierpin
del Arduino, pero existe una funcin especfica que solo se puede aplicar a 6 pines
digitalesdelArduino(3,5,6,9,10y11),estafuncinsellamaanalogWrite()[20].

Con esta funcin lo que se logra es generar una seal cuadrada estable de un
determinadociclodetrabajohastaquesevuelvaaaplicarlamismafuncinenelpin,
losvaloresdelciclodetrabajovandesde:

34
0=Siempreapagado 255=Siempreencendido
0=0Volts 255=5volts

Elfuncionamientobsicodelcontroldemotoreseselsiguiente:

i nt Mot or = 9; / / Mot or conect ado en pi n 9


i nt val = 0; / / val or ent r e 0 y 255

voi d set up( )
{
pi nMode( Mot or , OUTPUT) ; / / Pi n de mot or como sal i da
}

voi d l oop( )
{
anal ogWr i t e( Mot or , val ) ; / / Se asi gna el ci cl o de t r abaj o al mot or
}

El cdigo completo con el cual se controlaron los cuatro motores viene en el


apndice
17
.

17
Cdigoutilizadoparacontrolarlos4motoresenelapndiceCenlaPgina84.

Vous aimerez peut-être aussi