Está en la página 1de 15

SELECCIÓN DE HARDWARE,

DIAGRAMA DE BLOQUES,
PERIFÉRICOS, COMUNICACIONES

ALUMNOS:

Cárdenas Tannia 65119/0

Zubía Camilo 64490/3

Ance Noemi 60932/0

AYUDANTES:

Walter Jose Aroztegui


1. OBJETIVO:

Elegir de forma coherente los componentes del diseño, lógica de programación y


comunicaciones para lograr un producto eficiente y robusto.

2. DETERMINACION DE CONDICIONES DE ÉXITO:

 Búsqueda de librerías apropiadas para el correcto uso de los sensores.


 Acondicionamiento del entorno de programación para un manejo óptimo de archivos.
 Programación de los microcontroladores maestros y esclavos.
 Correcta comunicación entre periféricos y microcontrolador.
 Correcto análisis de alimentación y potencia necesaria para el funcionamiento.

3. PROTOTIPO:

FIG 1: Esquema de funcionamiento

4. SELECCIÓN DE SENSORES:

4.1 Sensor de dióxido de carbono:

La diferencia entre los distintos tipos de sensores MQ es la sensibilidad a cierta gama


de gases, más sensibles a algunos gases que a otros, pero siempre detectan a más de
un gas, por lo que es necesario revisar los datasheet para escoger el sensor adecuado
para nuestra aplicación.
Detección de:

• Amoníaco (NH3)
• Óxidos de nitrógeno (NOx)
• Alcohol
• Sulfuros
• Benceno (C6H6)
• Monóxido de carbono (CO)
• Humo.

MQ 135 Tensión de operación: 5 V


Corriente de operación: 150mA
Temperatura de operación: -20°C~70°C
Humedad de operación: <95%RH
MQ7 Tensión de Operación: 5V DC
Tensión de Calentamiento: 5V (hi) y 1.4V (low)
Resistencia de carga: regulable
Resistencia de calentamiento: 33 Ohm
Concentración de Oxigeno: 21%
Mq2 Tensión de Operación: 5V DC
Temperatura de trabajo: -20 ℃ ~ +55 ℃
Humedad: ≤ 95% RH
Contenido de oxigeno ambiental: 21%
Consumo: 150mA a 5V.

El MQ7 calienta y en su interacción con el CO se genera una variación de la resistencia y


necesita una resistencia de carga (RL) para cerrar el circuito y generar un divisor resistivo.

La resistencia RL varía la sensibilidad del mismo.

Rs/RL = (Vc - VRL) / VRL

VRL =VC* RL/ (RS +RL)

Donde:

Rs es la resistencia superficial del sensor.

RL es la resistencia de carga.

Vc es la tensión de alimentación del circuito.

VRL es la tensión medida a través de la resistencia de carga.


RL calibrada en 10Kohm.

Rs entre 2-20 Kohm.

Vc tensión de alimentación, 5V.

La VRL variará desde 0 a cierta fracción de Vc, dependiendo la lectura y la calibración.

4.2 Sensor de temperatura y humedad:

DHT22 Tensión de operación: de 3,3 V a 6 V Rango de


temperaturas: -40º C a 80º C Precisión: ±0,5º C
Resolución: 16 bit
Muestras/segundo: 0,5
DHT11 Tensión de operación: de 3 V a 5,5 V
Rango de temperaturas: 0º C a 50º C
Precisión: ±2º C
Resolución: 8 bit
Muestras/segundo: 0,5

El sensor DHT11 se comunica con el microcontrolador (Arduino UNO


Atmega328P) a través de una comunicación serie. One Wire, se trata de un
único pin que envía tanto la información como la sincronización de la señal.
En el protocolo se envían 40 bits de información, que consisten en 5
valores de 8 bits cada uno (1 valor 1 byte): En orden más significativo, menos
significativo: primeros parte entera de la humedad, parte decimal de la
humedad, parte entera de la temperatura, parte decimal de la temperatura
y un checksum para validar los datos.
El microcontrolador inicia la comunicación enviando un pulso al sensor. El
que debe mantenerse en bajo durante al menos 18 ms y luego cambiar a
alto durante 20-40 μs para esperar la respuesta del sensor. El sensor
responde con un pulso en bajo de 80 μs y luego un pulso en alto de 80 μs.
Una vez sincronizados, comienza la transmisión de los datos.

Cada bit se transmite de forma independiente. Siempre se envía un pulso


en bajo de 50 μs, seguido de un pulso en alto cuya duración diferencia entre
un '0' y un '1'. Un pulso en alto de aproximadamente 26-28 μs representa un
'0', mientras que un pulso en alto de aproximadamente 70 μs representa
un '1'.

4.3 PERIFÉRICO DE COMUNICACIÓN:

ESP 32 ESP 8266

Velocidad del 802.11n hasta 150 Mbps Hasta 72,2 Mbps


WiFi

Protocolo WiFi 802,11 b/g/n (2,4 Ghz) 802,11 b/g/n (2,4 Ghz)

GPIO 36 17

ADC SAR de 12 bits SAR de 10 bits

SPI/I2C/I2S/UART 4/2/2/3 2/1/2/2

FLASH (externo) 4Mbytes (también disponible más alto) 4Mbytes

ROM 448 kB de ROM para el arranque y las No hay ROM programable


funciones básicas

Protocolos de IPv4, IPv6, SSL, IPv4, TCP/UDP/HTTP/MQTT


red TCP/UDP/HTTP/FTP/MQTT

Rango de -40°C ~ +85°C -40°C ~ 125°C


temperatura de
funcionamiento

Tensión de 2.5V ~ 3.6V 2.5V ~ 3.6V


funcionamiento

Corriente Promedio: 80 mA Valor medio: 80 mA


operativa
4.4 MICROCONTROLADOR:

Arduino Microcontrolador: ATMega328P.


UNO Velocidad de reloj: 16 MHz.
Tensión de trabajo: 5V.
Pinout: 14 pines digitales (6 PWM) y 6 pines analógicos.
1 puerto serie por hardware.
Memoria: 32 KB Flash (0,5 para bootloader), 2KB RAM y
1KB Eeprom
Arduino Microcontrolador: ATMega2560.
MEGA Velocidad de reloj: 16 MHz.
Tension de trabajo: 5V.
Pinout: 54 pines digitales (15 PWM) y 16 pines analógicos.
3 puertos serie por hardware.
Memoria: 256 KB Flash (8KB para bootloader), 8KB RAM y
4KB Eeprom

FIG 2: Esquema de conexión


4.5 COMUNICACIÓN DE SENSORES:
 I2C:
En el bus Cada dispositivo dispone de una dirección, que se emplea para
acceder a los dispositivos de forma individual. Esta dirección puede ser fijada
por hardware (en cuyo caso, frecuentemente, se pueden modificar los
últimos 3 bits mediante jumpers o interruptores) o totalmente por software.
El bus I2C tiene una arquitectura de tipo maestro-esclavo. El dispositivo maestro
inicia la comunicación con los esclavos, y puede mandar o recibir datos de
los esclavos. Los esclavos no pueden iniciar la comunicación (el maestro tiene
que preguntarles), ni hablar entre si directamente.
Es posible disponer de más de un maestro, pero solo uno puede ser el maestro
cada vez. El cambio de maestro supone una alta complejidad, por lo que no
es algo frecuente.
El bus I2C es síncrono. El maestro proporciona una señal de reloj, que mantiene
sincronizados a todos los dispositivos del bus. De esta forma, se elimina la
necesidad de que cada dispositivo tenga su propio reloj, de tener que
acordar una velocidad de transmisión y mecanismos para mantener la
transmisión sincronizada (como en UART)

Ventajas
Requiere pocos cables
Dispone de mecanismos para verificar que la señal hay llegado
Desventajas
Su velocidad es media-baja
No es full duplex
No hay verificación de que el contenido del mensaje es correcto

 SPI:

El bus SPI tiene una arquitectura de tipo maestro-esclavo. El dispositivo


maestro (master) puede iniciar la comunicación con uno o varios dispositivos
esclavos (slave), y enviar o recibir datos de ellos. Los dispositivos esclavos no
pueden iniciar la comunicación, ni intercambiar datos entre ellos directamente.
En el bus SPI la comunicación de datos entre maestros y esclavo se realiza en
dos líneas independientes, una del maestro a los esclavos, y otra de los
esclavos al maestro. Por tanto la comunicación es Full Duplex, es decir, el
maestro puede enviar y recibir datos simultáneamente.

Otra característica de SPI es que es bus síncrono. El dispositivo maestro


proporciona una señal de reloj, que mantiene a todos los dispositivos
sincronizados. Esto reduce la complejidad del sistema frente a los sistemas
asíncronos.

Por tanto, el bus SPI requiere un mínimo de 3 líneas.

Ventajas:
 Alta velocidad de trasmisión (hasta 8 Mhz en Arduino) y Full Duplex
 Los dispositivos necesarios son sencillos y baratos, lo que hace que esté
integrado en muchos dispositivos.
 Puede mandar secuencias de bit de cualquier tamaño, sin dividir y sin
interrupciones.
Desventajas:
 Se requiere 3 cables (SCK, MOSI y MISO) + 1 cable adicional (SS) por cada
dispositivo esclavo.
 Solo es adecuado a corta distancias (unos 30cm)s
 No se dispone de ningún mecanismo de control, es decir, no podemos
saber si el mensaje ha sido recibido y menos si ha sido recibido
correctamente.
 La longitud de los mensajes enviados y recibidos tiene que ser conocida
por ambos dispositivos

Para lograr nuestros objetivos utilizaremos la comunicación I2C.


5 ANALISIS DE CONSUMO:

El modo de funcionamiento del dispositivo es la toma de datos cada cierto tiempo que
dependiento de las necesidades del conusmidor pueden variar de dias a meses, por ello
podemos pensar en dos modos de uso diferentes:

1: Inicamos la toma de datos cada detrminado tiempo utizando la funcion sleep del
microcontrolador

2: Usamos un transistor en modo on/off para encender o apagar el microcontrolador

Con estas dos opciones estamos teniendo un control sobre el consumo del dispositivo.

5.5 El consumo del DHT11:

[1] [Cuadro de características eléctricas del DHT11]

Tendrá un consumo de corriente por cada segundo, tiempo que tarda en realizar el censado,
de I=1mA.

A una tensión de 5V, el consumo de potencia será: P=5mW

5.2 El consumo del MQ7:


[2] [Cuadro de características eléctricas del MQ7]

Un consumo del sensor de gas es de 350mW por minuto, por periodo de muestreo en un
segundo consume:

I=5,8mA

P=5,83mW promedio por cada tiempo de activación.

5.3 El consumo del ATMega328P:

[3] [Cuadro de características eléctricas del ATMega328P

El ATMega328P solo será activado por un periodo de tiempo reducido, en el restante tiempo se
desconectará la alimentación. Por cada lectura de un segundo consumirá una I=0.3mA a una
tensión de V=5V. P=1.5mW consumo promedio por cada tiempo de activación.

5.4 El consumo del ESP32:

Si utilizamos un modo de bajo consumo mientras este no está activado.


Podremos reducir al mínimo utilizando el modo Deep-Sleep que es despertado mediante el
timer RTC, y lograr una corriente I=20uA. Esto dura 300 segundos y luego vuelve a dormirse.

[4] [Cuadro de características eléctricas del ESP8266]

Mientras está en funcionamiento y transmitiendo mediante WiFi, el consumo eligiendo el peor


caso es de I=170AW.

El consumo del ESP8266 será en su modo activación (podemos estimar que tardará 1 segundo
entre que se comunica con el esclavo y le pide el dato, para luego enviarlo mediante wifi) y en
su deep mood tendrá un consumo de 20uA cada 300segundos.

Consumirá una corriente promedio entre su funcionamiento activado y su modo sleep.

I=Isleep*tsleep + Iactivo*tactivo = 20uA*300seg+170mA*1seg

I=176mA
5.5 Consumo BC237:

Este sería el transistor elegido para la opción de funcionamiento 2, en el caso que los
datos que tomemos sean muy distantes en el tiempo.

[5] [Cuadro de características eléctricas del BC237]

El consumo de corriente en saturación será de Ic=500mA.

En términos de la Potencia Disipada, esta es aproximadamente: P=Vce*Ic P=300mW

Elemento DHT11 MQ7 ATMega32 ESP8266 BC327 Total


8P
Sleep - - - 6mA - 6mA
Sensado y 1mA 5,8mA 0,3mA 170mA 500mA 677mA
enviado
datos
Corriente 1mA 5,8mA 0,3mA 176mA 500mA 683mA
Promedio

*Sleep mode: Cada 300 segundos sale y vuelve a entrar en este modo. En cada hora,
consumira 36mA.

*Al estar el Arduino en serie con el transistor, consumire como maximo 500mA y hare una
lectura que consume 677mA,por lo que mi consumo por hora sera 713mA.
5.6 ALIMENTACIÓN DE LOS CIRCUITOS:

ESP 32

Poseemos dos niveles de tensión distintas, el del ESP8266 que funciona con 3,3V y el del Arduino
UNO que funciona con 5V. El ESP32 debe controlar la base del transistor que activara al Arduino.
Éste, no puede soportar o brindar una corriente de saturación para el transistor de 500mA. Por
ello utilizamos un relé que controla la alimentación del Arduino, y este relé es controlado por el
transistor.

La configuración de Emisor Común permite al transistor ganar tensión respecto a la colocada


en base. El mismo lo haremos trabajar en saturación y corte para así lograr encender y apagar
al Arduino.

Según las características del BC327: (cuadro 5).

Para saturar al transistor requiero una corriente de base de: Ib=50Ma, y para cortarlo requiero
una corriente nula Ib=0es decir cortar la tensión de salida del ESP32. Con estos datos solo
queda determinar cómo obtener la corriente de saturación de base.

Para ellos requiero una Rb especifica. Su valor se despeja de

Vesp= IB*RB+VBE

RB= (Vesp-VBE)/IB

Con VBE=0,7V , IBsat=50mA y Vesp=3,3V

RB= 52mA.
Opción 1: Utilizar dos baterías distintas, para cada nivel de tensión. Conectando el ESP8266 a
3,3V y el Arduino UNO y el transistor a 5V.

Opción 2: Utilizar una misma batería de 5V y mediante un convertidor lograr derivar de 5V a


3,3V

En este caso utilizaremos un regulador de tensión LM317, el cual permite controlar desde una
entrada de 5V una salida variable entre 1,2 y 37V.

ESP
32

-Power Bank: Tiene que garantizar la corriente mínima y no cortarse. Al valor teórico se le
aplica un factor de corrección entre 70-80% para obtener un valor más realista.

Si mi consumo total es de 713mA, con un power bank de 20.000mAH, podremos tener hasta 24
horas de autonomía.

6 DIAGRAMA DE ESTADOS:
7 Bibliografía:
[1] DHT11: https://pdf1.alldatasheet.com/datasheet-
pdf/view/1440068/ETC/DHT11.html
[2] MQ7: http://www.datasheet.es/PDF/694312/MQ7-pdf.html

[3] ATMega328P:https://pdf1.alldatasheet.com/datasheet-
pdf/view/241077/ATMEL/ATMEGA328P.html

[4] ESP8266: https://pdf1.alldatasheet.com/datasheet-


pdf/view/1148030/ESPRESSIF/ESP8266EX.html

[5] BC327: https://pdf1.alldatasheet.com/datasheet-pdf/view/2883/MOTOROLA/BC327.html

Relé: https://pdf1.alldatasheet.es/datasheet-pdf/view/1132639/SONGLERELAY/SRD-05VDC-SL-
C.html

LM317: https://pdf1.alldatasheet.com/datasheet-pdf/view/1147586/ARTSCHIP/LM317.html

También podría gustarte