Está en la página 1de 9

Por ser hardware abierto, la comunidad aporta mucho al desarrollo de

nuevos mdulos y entre ellos encontramos algunos como los siguientes:


Sensor de rotacin: es bsicamente
un potencimetro conectado a una
resistencia fija y con un conector de
tres pines el cual permite conectar una
salida anloga y alimentarlo con VCC y
GND.
Suele ser usado para determinar la
posicin de un motor, ya sea servo
motor, paso a paso, DC, entre otros.

Sensor de Sonido: este sensor


cuenta con un micrfono, un
amplificador operacional LM386 y un
potencimetro, lo que permite capturar
cualquier sonido a su alrededor y
convertirlo en una seal anloga de
salida de 0V a VCC que se puede
convertir con el arduino en una seal
de 0 a 1024 en resolucin ADC.
Existen diferentes aplicaciones para
este tipo de sensor que se relacionan
con la captura de audio.

Sensor de humo: este sensor se


usa en sistemas de deteccin de
incendios, es un sensor que detecta
humo y gas, puede ser calibrado a
travs de un potencimetro y su
seal de salida puede ser conectada
a una entrada anloga del mdulo de
desarrollo Arduino.
Este tipo de sensor tiene versiones
MQ-2, MQ-3, MQ4 entre otras y se
diferencian por el tipo de sustancia
que detectan, gas metano, alcohol,
gas propano.

Sensor de Golpe: este sensor est


diseado para deteccin choques o
tambin se le conoce como sensor
de percusin y entrega una seal
digital cuando detecta un cambio.
Este sensor puede ser conectado a
una entrada digital de una tarjeta de
desarrollo arduino y detectar la
seal que se genera cuando existe
algn golpe.
Bsicamente se detecta la
deformacin del resorte interno.
Por ahora hemos explicado estos 4
sensores que pueden ser de gran
utilidad para tus proyectos y con esto damos una breve revisin de
los mdulos que posiblemente no conoces y que existen para Arduino.
En un siguiente articulo describiremos ms sensores, mantente conectado con
nosotros para que puedas aprender mucho ms al respecto.
http://www.prometec.net/sensor-agua/
CONTROL VELOCIDAD Y SENTIDO DE MOTOR DC

(26/11/13)
En este tutorial vamos a controlar la velocidad y el sentido de un
motor DC a travs de un potencimetro desde Arduino.
Material
-Arduino Uno
-Motor DC
-Potencimetro
-L293D (driver motores)
-Fuente alimentacin externa
Motor DC
Un motor de corriente continua convierte la energa elctrica en mecnica. Se
compone de dos partes: el estator y el rotor.

El estator es la parte mecnica del motor donde estn los polos del imn.
El rotor es la parte mvil del motor con devanado y un ncleo, al que llega la
corriente a travs de las escobillas.
Cuando la corriente elctrica circula por el devanado del rotor, se crea un
campo electromagntico. Este interacta con el campo magntico del imn del
estator. Esto deriva en un rechazo entre los polos del imn del estator y del
rotor creando un par de fuerza donde el rotor gira en un sentido de forma
permanente.
Si queremos cambiar el sentido de giro del rotor, tenemos que cambiar el
sentido de la corriente que le proporcionamos al rotor; basta con invertir la
polaridad de la pila o batera.

L293D
Para controlar un motor DC desde Arduino, tendremos que usar un driver para
motores para proporcionarle ms corriente al motor ya que las salidas del
Arduino slo dan 40mA. De esta manera, con el driver podemos alimentar el
motor con una fuente de alimentacin externa.
El L293D es un integrado para controlar motores DC que usa el sistema puente
en H. Qu es el puente en H? Es un sistema para controlar el sentido de giro
de un motor DC usando cuatro transistores. En la imagen vemos que los
transistores se comportan como interruptores y dependiendo que transistores
conducen y cules no cambia la polarizacin del motor, y con esto el sentido de
giro.

El L293D tiene dos puentes H y proporciona 600mA al motor y soporta un


voltaje entre 4,5V y 36V tal y cmo pone en el datasheet.
En el datasheet tambin hay el esquema que vamos a usar.

Nosotros usaremos la parte de la izquierda (los diodos externos en el L293D


estn dentro). Cmo se aprecia en la imagen, los pins 3 y 6 son las salidas y se
conectan a los bornes del motor. Y los pins 2 y 7 son las entradas donde
conectaremos las salidas del Arduino. Dependiendo que valor ponemos entre
los pins 2 y 7 el motor girar en un sentido o en otro.
Control velocidad a travs de PWM
Hasta este punto sabemos cmo controlar el sentido de giro del motor DC a
travs del L293D. Pero y la velocidad de giro? En este proyecto lo que
haremos es controlar la velocidad y el giro del motor con un solo
potencimetro.

Para hacerlo utilizaremos el PWM (vase PWM). Sabemos que hay que atacar
los pins 2 y 7 del L293D desde dos salidas del Arduino. En estas dos salidas
habr un PWM a cada una. Pero tenemos que invertir un PWM. Qu quiere
decir invertir? Pues que cuando en un PWM tengamos un pulso a un valor alto,
en el otro PWM el mismo pulso sea valor bajo. En la imagen lo entenderemos
de una manera ms grfica.

MONTAJE

-Pins 4,5,12,13 del L293D a masa.


-Juntar las masas del Arduino y de la fuente de alimentacin externa.

-Pin 8 del L293D a 9V de la fuente de alimentacin externa. Es el voltaje que


proporciona al motor.
-Pin 16 del L293D a 5V. Es la alimentacin del L293D, pude alimentarse
directamente desde la alimentacin que proporciona el Arduino.
-El potencimetro pude ser de cualquier valor.
PROGRAMA
1
/*
2
www.diymakers.es
3
by A.Garca
4
Control velocidad y sentido motor DC
5
Tutorial en: http://diymakers.es/control-velocidad-y-sentido-de-motor-dc/
6
*/
7
8
int pin2=9; //Entrada 2 del L293D
9
int pin7=10; //Entrada 7 del L293D
10 int pote=A0; //Potencimetro
11
12 int valorpote;
//Variable que recoge el valor del potencimetro
13 int pwm1;
//Variable del PWM 1
14 int pwm2;
//Variable del PWM 2
15
16 void setup()
17 {
18
//Inicializamos los pins de salida
19
pinMode(pin2,OUTPUT);
20
pinMode(pin7, OUTPUT);
21 }
22
23 void loop()
24 {
25
26
//Almacenamos el valor del potencimetro en la variable
27
valorpote=analogRead(pote);
28
29
//Como la entrada analgica del Arduino es de 10 bits, el rango va de 0 a 1023.
30
//En cambio, la salidas del Arduio son de 8 bits, quiere decir, rango entre 0 a 255.
31
//Por esta razn tenemos que mapear el nmero de un rango a otro usando este cdigo.
32
pwm1 = map(valorpote, 0, 1023, 0, 255);
33
pwm2 = map(valorpote, 0, 1023, 255, 0); //El PWM 2 esta invertido respecto al PWM 1
34
35
//Sacamos el PWM de las dos salidas usando analogWrite(pin,valor)
36
analogWrite(pin2,pwm1);
37
analogWrite(pin7,pwm2);
38
39 }

http://panamahitek.com/control-de-velocidad-de-motor-dc-por-potenciometro/

También podría gustarte