Testes a transformadores de corrente de núcleo dividido (SCT)

O vídeo apresenta os testes realizados a transformadores de corrente de núcleo dividido compostos de conversor de corrente AC para tensão DC. Recorreu-se a um conversor analógico/digital ADS1115 (ncd.io) e um Raspberry, para “ler” a corrente indiretamente e assim calcular a potência. Um multímetro digital e um wattímetro digital serviram como auxiliares a este teste.

Os transformadores em teste são os SCT010T-D 5A/5VDC, SCT010T-D 10A/5VDC, SCT010T-D 50A/5VDC e SCT013 20A/1V.

Saídas Digitais (Relés + Open-Collectors)

Este é mais um circuito com o Raspberry PI e alguns sensores e transdutores. Pretende-se testar saídas digitais (relés e open-collectors) e um conversor digital-analógico de 0 a 10 volts. O circuito ainda inclui um sensor de luz e outro de CO2, temperatura e humidade.

Esquema de blocos simplificado

Esquema de blocos mais pormenorizado

«Zoom» às ligações nas placas de saídas digitais

Relés
Open-Collectors

Endereços dos sensores e transdutores

Endereços pré-definidos ou configurados através de jumpers:

I2C – RL812s = 0x20
I2C – OC805s = 0x27
MCP4725 = 0x60
TSL2591 = 0x29
SCD30 = 0x61

Objectivo de cada sensor e transdutor:

i2c – RL812S: Relés (Saídas digitais)
i2c – OC805S: Open Collectors (Saídas digitais)
DAC 10V – MCP4725 (Conversor Digital-Analógico)
TSL2591: Sensor de luz
SCD30: Sensor de Temperatura, Humidade e CO2

Interface adaptadora para módulos NCD: OUTPI2

«National Control Devices is an electronics manufacturer on the cutting edge of the IoT industry focusing on interfacing the analog world with digital electronics. NCD products unite the digital with the analog enabling you to monitor and control your environment.»

Saídas digitais: Relés

Saídas Digitais: Open-Collectors

«Each output is open collector that can support 500mA of load current and up to 50V.»

«…the VCC and GND of loads must be supplied into the boards via +V and GND terminals.»

Frame

«São enviados dados a partir do raspberry para a placa de saída Open-Collectors via barramento I2C. O primeiro byte é o endereço definido para a placa. O segundo byte é a informação que define o estado de cada saída. O bit ‘0’ do segundo byte controla a saída O / C1. O valor ‘1’ do bit significa saída desativada e o valor ‘0’ significa saída ativada. »

Hiperligações úteis

TSL2591:
https://github.com/adafruit/Adafruit_CircuitPython_TSL2591
https://learn.adafruit.com/adafruit-tsl2591/python-circuitpython

SCD30:
https://github.com/Wappsto/IoT_RapidPrototyping/tree/master/co2
https://www.hackster.io/bfboyles/homemade-co2-sensor-unit-22a9d8

MCP4725:
https://store.ncd.io/product/1-channel-0-10v-dac-digital-analog-converter-i²c/
https://github.com/adafruit/Adafruit_CircuitPython_MCP4725

I2C OC PCF8574 / I2C-OC805S
https://www.ereshop.com/shop/index.php?main_page=product_info&products_id=806

I2C Relay 12V 1A PCF8574 / I2C-RL812S
https://www.ereshop.com/shop/index.php?main_page=product_info&products_id=790

Interface I2C / OUTPI2
https://store.ncd.io/product/i2c-shield-for-raspberry-pi-3-pi2-with-outward-facing-i2c-port/

Diversos:
http://wiki.seeedstudio.com/Seeed_Gas_Sensor_Selection_Guide/
https://learn.adafruit.com/i2c-addresses/the-list
https://github.com/ControlEverythingCommunity
https://store.ncd.io/
https://i2cdevices.org/ | https://i2cdevices.org/devices | https://i2cdevices.org/addresses

Bibliotecas

sudo pip3 install adafruit-circuitpython-tsl2591
sudo pip3 install adafruit-circuitpython-mcp4725

Código para testar sensores e transdutores

Sensores de gases

Pretende-se detetar diversos tipos de gases, luminosidade, temperatura e humidade. Para tal foi utilizado um raspberry pi com diversos sensores, entre eles:

  • MQ9: Mónoxido de carbono (CO), gás de carvão (Metano/CH4) e gás liquefeito (LPG);
  • MQ5: LPG, gás natural, gás de cidade;
  • MQ3: Vapor de álcool
  • MQ2: LPG, butano, propano, metano, álcool, hidrogénio [gás combustível]
  • CCS811: eCO2 e compostos orgânicos (TVOC)
  • TSL2591: Luz
  • SGP30: eCO2, TVOC
  • SCD30: CO2, temperatura e humidade

No esquema de blocos simplificado abaixo representado podemos ver que o protocolo de comunicação utilizado entre sensores e o Raspberry PI é o I2C:

Esquema de blocos

Os módulos sensores de gás da série MQx são módulos que integram um sensor e um conversor analógico-digital. Estes podem ser interligados facilmente, desde que se cumpra com a correta ligação física e desde que os endereços sejam corretamente selecionados de forma a evitar conflitos nas comunicações.

A representação genérica de cada sensor de gás MQx (módulo da NCD*) e a definição do endereço pode ser consultada aqui:

* «National Control Devices is an electronics manufacturer on the cutting edge of the IoT industry focusing on interfacing the analog world with digital electronics. NCD products unite the digital with the analog enabling you to monitor and control your environment.»

Os endereços dos módulos de gás MQx são configuráveis e para este circuito/montagem foram definidos os seguintes endereços:

MQ9 = 0x50
MQ5 = 0x52
MQ3 = 0x51
MQ2 = 0x54

Endereços pré-definidos nos restantes sensores:

CCS811 = 0x5a
TSL2591 = 0x29
SGP30 = 0x58
SCD30 = 0x61

Os módulos da NCD interligam-se ao barramento do Raspberry PI através do módulo OUTPI2, através de uma ficha apropriada e os restantes podem-se interligar ao barramento do modo habitual.

OUTPI2
Raspberry PI com o módulo OUTPI2
Atenção: Verificar se a ligação em cada módulo/sensor está a ser efetuada sempre com os pinos/fios GND para o lado de fora, de acordo com a figura.

Hiperligações úteis

MQ9:
https://github.com/ControlEverythingCommunity/ADC121C_MQ9
https://shop.controleverything.com/products/carbon-monoxide-combustible-gas-sensor
https://store.ncd.io/product/mq-9-carbon-monoxide-combustible-gas-sensor-adc121c-12-bit-adc-i2c-mini-module/

MQ3:
https://github.com/ControlEverythingCommunity/ADC121C_MQ3
https://store.ncd.io/product/mq-3-alcohol-sensor-adc121c-12-bit-adc-i2c-mini-module/

MQ2:
https://store.ncd.io/product/mq-2-propane-butane-methane-alcohol-gas-sensor-adc121c-12-bit-adc-i2c-mini-module/

MQ5:
https://store.ncd.io/product/mq-5-lpg-lng-natural-gas-iso-butane-propane-gas-sensor-adc121c-12-bit-adc-i2c-mini-module/

CCS811:
https://learn.adafruit.com/adafruit-ccs811-air-quality-sensor/python-circuitpython

TSL2591:
https://github.com/adafruit/Adafruit_CircuitPython_TSL2591
https://learn.adafruit.com/adafruit-tsl2591/python-circuitpython

SGP30:
https://learn.adafruit.com/adafruit-sgp30-gas-tvoc-eco2-mox-sensor
https://learn.adafruit.com/adafruit-sgp30-gas-tvoc-eco2-mox-sensor/circuitpython-wiring-test
https://github.com/adafruit/Adafruit_CircuitPython_SGP30

SCD30:
https://github.com/Wappsto/IoT_RapidPrototyping/tree/master/co2
https://www.hackster.io/bfboyles/homemade-co2-sensor-unit-22a9d8

Interface I2C:
https://store.ncd.io/product/i2c-shield-for-raspberry-pi-3-pi2-with-outward-facing-i2c-port/

Diversos:
http://wiki.seeedstudio.com/Seeed_Gas_Sensor_Selection_Guide/
https://learn.adafruit.com/i2c-addresses/the-list
https://github.com/ControlEverythingCommunity
https://store.ncd.io/
https://i2cdevices.org/

Bibliotecas a instalar

sudo pip3 install adafruit-circuitpython-ccs811
sudo pip3 install adafruit-circuitpython-tsl2591
sudo pip3 install adafruit-circuitpython-sgp30

Código fonte do programa teste, para todos os sensores

Eis os resultados que podemos obter na sequência da execução do programa de teste:

foto do ecrã

Raspberry PI + SCD30 + TSL2561

Monitorizar CO2, temperatura e humidade com um sensor SCD30 e a luminosidade com o TSL2561.

Bibliotecas a instalar e software exemplo de “acesso” ao sensor TSL2561:
$sudo pip3 install adafruit-circuitpython-tsl2561

Um programa exemplo para o sensor SCD30:
https://github.com/Wappsto/IoT_RapidPrototyping.git
Pode ser feito o download deste modo:
$sudo git clone https://github.com/Wappsto/IoT_RapidPrototyping.git

Programa teste resultante da combinação e integração dos exemplos atrás referidos e disponibilizados: download do programa teste dos sensores SCD30 e TSL2561 e script auxiliar optional.

O circuito:

Raspberry PI + TSL2561 + BME280

Download do Sistema Operativo Raspbian

Copiar imagem do S.O. para micro-sd (com win32diskimager)

Ativar i2c

  • $sudo raspi-config
  • Ativar protocolo i2c: Interfacing Options –> I2C

Atualizar versão atual ou/e para nova versão

  • $sudo apt-get update && sudo apt-get upgrade

Instalar bibliotecas relativas ao sensor TSL2561 e BME280

  • $sudo pip3 install adafruit-circuitpython-tsl2561
  • $sudo pip3 install adafruit-circuitpython-bme280
Feito com a aplicação Fritzing: https://sourceforge.net/projects/fritzing-portable/

Fonte Python: