Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Sensor de temperatura múltipla

Componentes e suprimentos

DS18B20
× 8
parafusos
× 1
Arduino Nano R3
× 1
experimento pcb
× 1
resistor 4,7k
× 1
terminal de parafuso de 2 portas
× 1
SparkFun RS232 Shifter - SMD
× 1
Caixa impressa em 3D
× 1
fio
× 1

Ferramentas e máquinas necessárias

Impressora 3D (genérica)
chave de fenda

Aplicativos e serviços online

Arduino IDE

Sobre este projeto


Eu precisava ler as temperaturas em várias posições. A temperatura deve ser analisada em um sistema domotica (Crestron / AMX). A solução não deve custar muito. Desta forma, decidi usar sensores DS18B20 porque são amplamente disponíveis e bastante baratos. Por último, mas não menos importante, é um sistema de ônibus.

Os sensores são conectados a um Arduino Nano. A saída serial do Arduino (ttl) é convertida para RS232 para torná-la compatível com o sistema domotica.

Para deixar tudo bonito, projetei um estojo e imprimi-o na minha impressora 3D Zortrax M200.





Perguntas? Sinta-se a vontade para perguntar!


Código

  • MultiTempSensor v1.0.0
MultiTempSensor v1.0.0 Arduino
Código Arduino
 / * Código MultiTempSensor por WT040 O código do sensor é baseado nos exemplos de Rik Kretzinger e alguns outros trechos de codeHistory:v0.1.1 27/11 / 2016v0.1.5 04/12/2016 versão de pré-lançamento v1.0.0 04 / 12/2017 release version * /// Include's # include  #include  // Constantes # define SENSOR_PIN 12 # define READ_TIMER 10000 // 10 segundos // OneWire oneWire (SENSOR_PIN); Passe nossa referência oneWire para os sensores Dallas Temperature.DallasTemperature (&oneWire); // Sensor Adresses DeviceAddress Sensor1 ={0x28, 0xFF, 0x89, 0x0F, 0x61, 0x16, 0x03, 0x40}; DeviceAddress Sensor2 ={0x28, 0xFF, 0xE2, 0x0F , 0x61, 0x16, 0x03, 0x21}; DeviceAddress Sensor3 ={0x28, 0xFF, 0x38, 0xB3, 0x60, 0x16, 0x03, 0xEA}; DeviceAddress Sensor4 ={0x28, 0xFF, 0xA4, 0xBE, 0x60, 0x16, 0x03, 0xE1 }; DeviceAddress Sensor5 ={0x28, 0xFF, 0xFE, 0x13, 0x61, 0x16, 0x03, 0x56}; DeviceAddress Sensor6 ={0x28, 0xFF, 0x89, 0xBA, 0x60, 0x16, 0x03, 0xFB}; DeviceAddress Sensor7 ={0x28, 0xFF, 0xFA, 0xB C, 0x60, 0x16, 0x03, 0xD1}; DeviceAddress Sensor8 ={0x28, 0xFF, 0x57, 0xB1, 0x60, 0x16, 0x03, 0x93}; int amountOfSensors =8; // variável para verificar a quantidade de sensores no barramento uma vez em um whileint counterCheckBus =0; void setup () {// inicia a porta serial para mostrar os resultados Serial.begin (9600); // display_Running_Sketch (); printProgramName (); Serial.print ("Inicializando a Versão da Biblioteca de Controle de Temperatura"); Serial.println (DALLASTEMPLIBVERSION); Serial.print ("Procurando por"); Serial.print (amountOfSensors); Serial.println ("sensores ..."); // Inicializa a biblioteca de medição de temperatura sensores.begin (); // define a resolução para 10 bits (pode ser de 9 a 12 bits. quanto menor é mais rápido) sensores.setResolution (Sensor1, 10); sensores.setResolution (Sensor2, 10); sensores.setResolution (Sensor3, 10); sensores.setResolution (Sensor4, 10); sensores.setResolution (Sensor5, 10); sensores.setResolution (Sensor6, 10); sensores.setResolution (Sensor7, 10); sensores.setResolution (Sensor8, 10); getSensorsOnBus (); Serial.println ("Sistema inicializado");} void loop () {counterCheckBus ++; atraso (READ_TIMER); Serial.println (); if (counterCheckBus ==360) {getSensorsOnBus (); counterCheckBus =0; } sensores.requestTemperatures (); Serial.print ("Sensor 1:"); printTemperature (Sensor1); Serial.println (); Serial.print ("Sensor 2:"); printTemperature (Sensor2); Serial.println (); Serial.print ("Sensor 3:"); printTemperature (Sensor3); Serial.println (); Serial.print ("Sensor 4:"); printTemperature (Sensor4); Serial.println (); Serial.print ("Sensor 5:"); printTemperature (Sensor5); Serial.println (); Serial.print ("Sensor 6:"); printTemperature (Sensor6); Serial.println (); Serial.print ("Sensor 7:"); printTemperature (Sensor7); Serial.println (); Serial.print ("Sensor 8:"); printTemperature (Sensor8); Serial.println ();} void printTemperature (DeviceAddress deviceAddress) {float tempC =sensores.getTempC (deviceAddress); if (tempC ==-127,00) {Serial.print ("Erro do sensor!"); } else {Serial.print ("C:"); Serial.print (tempC); }} void printProgramName () {String path =__FILE__; barra interna =path.lastIndexOf ('\\'); String programName =path.substring (barra + 1); int dot =programName.lastIndexOf ('.'); nome_do_programa =nome_do_programa.substring (0, ponto); Serial.print ("\ nVersão do programa:"); Serial.println (nome do programa);} void getSensorsOnBus () {Serial.print ("Número de sensores encontrados no barramento:"); Serial.println (sensores.getDeviceCount ());} 

Peças personalizadas e gabinetes

Caixa para impressão 3D - caixa para impressão bottom3D - caixa para impressão top3D - montagem sub-d 9

Esquemas

esquemático básico, sem módulo rs232

Processo de manufatura

  1. Sensor de temperatura DS18B20
  2. Registrador de temperatura Raspberry Pi
  3. Sensor de temperatura Python e Raspberry Pi
  4. Temperatura do Raspberry Pi e sensor de luz
  5. Sensor de temperatura Raspberry Pi
  6. DasFilisera Green House
  7. MotionSense
  8. Impressora 3D Segurança contra incêndio
  9. CoroFence - Detector Térmico🖖
  10. Sensor de temperatura do rolamento | detector