viernes, 25 de noviembre de 2016

Avance Proyecto Fan and Plate


En anteriores entradas al Blog se había explicado, varios aspectos uno de ellos es la construcción física de la planta la cual fue realizada en un material especial llamado Fibra de vidrio, con un grosor de 1.6mm y diseñada en un Software CAD llamado SolidWorks, cada pieza fue diseñada en dicho programa y además cortada por Taladros CNC, esto con el fin de minimizar al máximo los errores mecánicos los cuales podían influir en el diseño del controlador.

También se mencionó el uso de chumaceras con rodamientos las cuales se encargan de ubicar la lámina en un eje central y dar la libertad de giro que se requiere.

El ventilador usado tiene las siguientes características:

Nombre de la marca: VAKIND
Ruido: 19-25dB
Dimensiones: 50mmx15mm
Tensión: DC 12V
Corriente: 0.06A
Velocidad: 3000-7500 RPM

El Arduino usado en el proyecto es el Arduino Nano.
Características del Arduino Nano

  • Microcontrolador: ATmega328
  • Voltaje de operación: 5V
  • Voltaje de entrada (recomendado): 7-12V
  • Voltaje de entrada (máximo): 6-20V
  • Pines de entrada/salida digital: 14 (6 se pueden usar como PWM)
  • Pines de entrada análogos: 8
  • Corriente DC por cada pin de entrada/salida: 40mA
  • Memoria Flash: 32KB (2KB usados por el Bootloader)
  • SRAM: 2KB
  • EEPROM: 1KB
  • Frecuencia de reloj: 16MHZ
El sensor usado es un MPU6050, es un sensor de movimiento que posee un acelerometro y un giroscopio en los 3 ejes (x,y,z) con una alta precisión. Posee ADC internos de 16 Bit y se maneja por I2C desde cualquier microcontrolador como Arduino. Dentro de una de las ventajas que cabe mencionar, es que este integrado posee conversores analógicos digitales por cada uno de los ejes de cada uno de los sensores para obtener los valores en simultaneo con un rango de hasta 2000°/s para el giroscopio y hasta +- 16g para el acelerometro.
Características Técnicas:

Giroscopio:
• Digital-output X-, Y-, and Z-Axis angular rate sensors (gyroscopes) with a user-programmable full-scale range of ±250, ±500, ±1000, and ±2000°/sec
• External sync signal connected to the FSYNC pin supports image, video and GPS synchronization
• Integrated 16-bit ADCs enable simultaneous sampling of gyros
• Enhanced bias and sensitivity temperature stability reduces the need for user calibration
• Improved low-frequency noise performance
• Digitally-programmable low-pass filter
• Gyroscope operating current: 5mA
• Standby current: 5
μA
• Factory calibrated sensitivity scale factor
Acelerometro:
• Digital-output triple-axis accelerometer with a programmable full scale range of ±2g, ±4g, ±8g and ±16g
• Integrated 16-bit ADCs enable simultaneous sampling of accelerometers while requiring no external multiplexer
• Accelerometer normal operating current: 500
μA
• Low power accelerometer mode current: 10
μA at 1.25Hz, 20μA at 5Hz, 60μA at 20Hz, 110μ
A at 40Hz
• Orientation detection and signaling
• Tap detection
• User-programmable interrupts
• Free-fall interrupt
• High-G interrupt
• Zero Motion/Motion interrupt
• User self-test


Aunque lo que miden los sensores internos son aceleraciones lineales y angulares, pero el procesador interno es capaz de realizar cálculos sobre marcha para entregar información más útil como los ángulos de inclinación con respecto a los 3 ejes principales.

Conexiones del Sensor al Arduino Nano

Pines del MPU 6050     Pines del Arduino Nano
SDA                                               A4
SCL                                                A5
VCC                                               5V
GND                                             GND
INT                                                 D2

El módulo se conecta al Nano usando I2C los cuales corrsponden a los pines A5-A4 del Arduino, el pin INT es para realizar los cálculos de los filtros, con los que cuenta este tipo de sensor para disminuir el ruido en las mediciones.


Se toma el programa de prueba para el MPU6050, llamado MPU6050_RAW que lo que hace es leer e imprimir sin procesar los datos que los acelerometros y giroscopios le envían al Arduino, arrojando estas medidas.

Se puede observar que hay 6 valores. Los 3 primeros corresponden a los acelerometros y los 3 últimos a los giroscopios.

Al estar pegado el sensor a la lámina se verá con rapidez cual es cada uno de los ejes.

Posteriormente se uso otro programa llamado DMP6 los cuales arrojan otras medidas.
Cuando se ejecuta dicho programa se debe esperar más o menos 10s para que los valores se estabilicen y tengan sentido.


El texto que aparece en cada línea "ypr" corresponde a las iniciales en ingles de los tres angulos de referencia Yaw, Pitch y Roll.



En la pantalla LCD se puede observar el dato arrojado por el MPU6050.

Bibliografía
http://www.prometec.net/usando-el-mpu6050/
https://charlietherobot.com/2015/11/02/interfacing-mpu-6050-with-arduino/

lunes, 7 de noviembre de 2016

Proyecto Fan and Plate

Diseño  y Construcción de un Fan and Plate


Requerimientos de Fabricación

1) Planta: la planta será un sistema mecánico compuesto por una lamina dispuesta verticalmente y adosada en su parte inferior a un eje que puede rotar. La lamina podrá rotar sobre este eje entre 0° y 60°. En reposo la lámina debe permanecer con un angulo de 0°.

2) Sensor y Etapa de Adecuación: para determinar el valor actual del angulo de la lamina se precisa medirlo a través de un sensor.

3) Actuador y Etapa de Potencia: el giro de la lámina se producirá por el flujo de aire generado por un ventilador adosado a un motor, cuya potencia se variará a través de un interruptor electrónico.

4) Controlador: se hará un equivalente discreto de un controlador PID analógico y se implementara mediante ecuaciones de diferencia. Los parámetros del controlador (Kp, Ki y Kd) se pueden obtener mediante diversos métodos. Uno muy popular es la sintonía experimental de Ziegler-Nichols.

Diseño-Parte Física

El diseño físico de la planta fue realizado en un Software CAD (Diseño Asistido por Computadora) para modelado mecánico en 3D, llamado SolidWorks.

En la Fig.1 se puede observar el diseño de la planta con sus respectivos componentes, tal como el motor y dos chumaceras.
Fig. 1 Planta [Fan and Plate]
En la Fig.2 se encuentra una imagen de una Chumacera con Rodamiento 8mm KFL08 y un Motor DC 9V-200mm.

Las chumaceras son usadas para ubicar la lámina en un eje central y dar libertad de giro con un limitado grado de fricción.
El motor es usado con una adaptación de aspas para impulsar la lámina, la cual rotara sobre su eje entre 0°-60°.  

Fig. 2 Chumacera + Motor
En la Fig.3 Se visualiza una imagen completa de la parte física de la planta, realizada en SolidWorks.

Fig. 3 Planta

Fig.4 Montaje Físico Lateral

Fig.5 Montaje Físico Frontal

Implementación a Nivel de Hardware

La planta esta conformada por un sensor, controlador y actuador, en este caso se va a realizar el hardware del actuador (motor) y su respectiva etapa de potencia.

Etapa de Potencia

Regulador Convencional

En los reguladores de tensión, la salida siempre es menos que la tensión de entrada.
En la mayoría de los casos es el dispositivo que se encuentra entre la entrada y la salida es un transistor de paso o circuito integrado que realiza la función de regulador.
Al existir una caída de tensión entre la entrada y la salida de estos reguladores, ha una perdida de potencia en ellos.
Está pérdida de potencia es:
Como hay pérdida de potencia, la eficiencia de estos reguladores es baja.
La eficiencia esta dada por:
Dicha eficiencia ronda entre el 50 y el 70%

En un regulador convencional, el transistor de paso trabaja en la región activa, en consecuencia hay una disipación de potencia constante que se expresa de esta forma:
En la siguiente imagen se muestra un circuito regulador de tensión el cual utiliza un transistor en serie con la carga.

Regulador Conmutado

En esta parte del proyecto se describirá de modo simple, la conexión de un Mosfet a un circuito digital para controlar un Motor de baja Tensión continua (DC).

Los Mosfet de potencia son componentes electrónicos que nos permiten controlar corrientes muy elevadas.
Al igual que los transistores BJT un transistor Mosfet dispone de tres terminales de salida llamados:

ØGate (Puerta), similar a la base del BJT.
ØSource (Fuente), similar al emisor del BJT.
ØDrain (Drenaje), similar al colector del BJT.

Transistor Mosfet


Los transistores FET presentan 3 modos de funcionamiento:

ØCorte, el transistor se comporta como un circuito abierto entre Source y Drain.
RDS esta determinada por VGS, pero ICS es nula, por lo que la potencia disipada es 0.

ØSaturación, se comporta como un cortocircuito entre Source y Drain.
IDS es grande, pero RDS es muy pequeña, por lo que la potencia disipada es muy pequeña.

ØZona Lineal, se comporta como una resistencia de valor variable.
IDS puede ser muy grande, y RDS “no es pequeña”, por lo que la potencia disipada puede ser muy grande.

Funcionamiento

El funcionamiento de los transistores Mosfet se basa en la creación de un canal de conducción entre Source y Drain dentro de un único material semiconductor. El ancho de dicho canal es controlado por el terminal Gate.
El Gate del transistor se comporta como un condensador. Es decir, el transistor necesita absorber una cierta cantidad de carga eléctrica para cambiar de modo de trabajo.
Para saturar al Mosfet es necesario:

ØSuperar un umbral en la tensión en la Gate (VGS).
ØProporcionar la carga suficiente para que el Mosfet se sature.

¿Por qué un Mosfet y no un BJT?

El estado de un transistor FET se controla por la tensión aplicada en Gate, a diferencia de los
BJT cuyo estado dependía de la corriente que circulaba por la base. Por lo tanto, los FET son
dispositivos controlador por tensión, mientras que los BJT son dispositivos controlados por corriente.

Otra ventaja es que en modo de saturación los transistores MOSFET se comportan como una
resistencia de muy pequeño valor, mientras los BJT siempre imponen una caída de tensión. Esto
permite a los transistores MOSFET manejar enormes cargas con poca disipación de energía.

En general los tiempos de conmutación son más rápidos que los BJT, además generan menos ruido y
son menos sensibles a la temperatura.


Mosfet con Arduino



¿Cómo elegir el Mosfet para Arduino?

Para Elegir un Mosfet para Arduino se debe tener en cuenta que las salidas de Arduino operan a la tensión nominal de 5v o 3.3v y proporcionan una corriente máxima de 40mA, siendo el máximo recomendable 20mA.
La mayoría de MOSFET tiene una tensión nominal Vgs de 10V, por lo que a los 5V que proporciona la salida de Arduino la intensidad máxima que puede proporcionar MOSFET es mucho menor a su intensidad nominal.
Modelos habituales de MOSFET son el IRF520, IRF530 e IRF540, con una intensidad nominal Id, respectivamente 9.2A, 14A y 28A. Sin embargo, al emplear estos transistores con un Arduino y una Vgs de 5V, los valores de Id caen a 1A, 2A, y 11A.
Por otro lado la serie N, IRF520n, IRF530n e IRF540n, con una intensidad nominal Id de 9.7A, 17A y 33A, al conectarlos directamente con Arduino y una tensión Vgs de 5V,los valores de Id caen a 3A, 11A y 12A, mejor que los anteriores pero muy lejos de ser espectacular.

Para resolver esto, existe un tipo especial de condensadores MOSFET llamados transistores de nivel lógico (logic level), diseñados específicamente para conmutar a las bajas tensiones típicas en TTL. Por contra, precio es algo superior a los MOSFET habituales.
Así, la serie de transistores lógicos IRL520, IRL530 y IRL540 saturan sin problemas a 5V proporcionando una Id, respectivamente, de 9.2A, 15A, y 28A.

Circuito Implementado en el Proyecto


La salida PWM- Pin (9) del Arduino  es conectada a la entrada del Optoacoplador 4n25, un dispositivo de emisión y recepción el cual funciona como un interruptor activado mediante la luz emitida por el diodo Led que satura el fototransistor, trasladando el pulso del PWM a la salida del optoacoplador. Dicho componente se utiliza para aislar electricamente el Arduino de la parte de potencia del circuito, para evitar daños en la salida del dispositivo.
La siguiente etapa consiste de un Mosfet de nivel lógico “Canal N” IRL520, en el montaje se emplean dos resistencias necesarias para el buen funcionamiento del sistema.
La resistencia de Gate (RG) limita la corriente que demanda el Gate, es decir al usar valores mas grandes de resistencias habra menor intensidad y por ende menor consumo en el Arduino, pero por otra parte si se disminuye el valor de RG favorece las transiciones más rápidas, evitando que el transistor pase menos tiempo en la zona lienal, lo que se traduce en menos temperatura en las conmutaciones es por ello que se recomienda valores habituales entre 470- 4.7K
La resistencia de Source (RS) pone el transistor a tierra (GND), cuando el pin esta en un estado indeterminado (alta impedancia), por ejemplo en el arranque del programa, se puodrian provocar encendidos y apagados del Mosfet. Un valor de resistencia de 100K a 1M llevria al Gate a tierra.

Señales Analógicas en Arduino (PWM)


El procedimiento para generar un señal analógica es el PWM (Pulse –Width Modulation) señal de modulación por ancho de pulso.
Donde:
-PW (Pulse Width) o ancho de pulso, representa al ancho (en tiempo) del pulso.
-Length / period (Periodo), o ciclo, es el tiempo total que dura la señal.
La frecuencia se define como la cantidad de pulsos (Estado ON/OFF) por segundo.
Existe otro parámetro asociado que define a la señal PWM, denominado “Duty cycle”, ciclo de trabajo, el cual determina el porcentaje de tiempo que el pulso (o voltaje aplicado esta en estado activo (ON) durante un ciclo.


Si el ciclo de trabajo es del 25% se pasa el 25% de su periodo arriba y el 75% abajo.
Si se observa la Figura , la tensión de la señal siempre va de 0-5V, lo único que varía es el tiempo que está en ON/OFF.
Las señales PWM son comúnmente usadas para el control de velocidad de motores DC si se decrementa el ciclo de trabajo sobre la señal de control del circuito de potencia que actúa sobre el motor, disminuye su velocidad.
La frecuencia de los pines es de 490 Hz, excepto el 5 y el 6 que es de 980 Hz para el Arduino UNO.
Esta frecuencia es muy baja para ser utilizada en el control de motores es por ello que se cambia haciendo uso de un registro TCCR1B = TCCR1B & B11111000 | B00000010

Código

const int Pot=0; //Potenciometro conectado al Pin A0
const int Pwm=9; //PWM conectado al Pin D9
int Frecuencia;
void setup() {
TCCR1B = TCCR1B & B11111000 | B00000010;    // frecuencia de pulso 3921.16 Hz modifica pwm 9 y 10
pinMode (Pwm,OUTPUT); // Se define el PWM como una salida
}
void loop() {
Frecuencia=analogRead(Pot);   //Lectura del Potenciometro
Frecuencia=map(Frecuencia,0,1023,12,242);
analogWrite(Pwm, Frecuencia);
}


Bibliografía

Luis Llamas
Ingeniería, Informática y Diseño
CONTROLAR GRANDES CARGAS CON ARDUINO Y TRANSISTOR MOSFET
http://www.luisllamas.es/2016/07/arduino-transistor-mosfet/

Inventable
http://www.inventable.eu/como-conectar-un-mosfet-a-un-microcontrolador/