2

Click here to load reader

Circuito com arduino e optoacopladores

Embed Size (px)

Citation preview

Page 1: Circuito com arduino e optoacopladores

Questão 1: Cicuito controlador de temperatura

O Circuito acima é formado por um sistema embarcado o Arduino, sensor detemperatura o LM35, resistores, transistores e opacopladores. O arduino é a interface que recebe asleituras do sensor de temperatura onde a partir dessa leitura ele aumenta ou diminui as saídas dePWM. Em nossa aplicação foi feita uma simulação no software Proteus, onde um motor simula acarga que o ventilador e um outro sensor com um voltimetro simula o aquecedor. Os transistor foiutlizado de pontencia por causa da pontencia da carga, o transistor foi o TIP33 e o opacoplador foi oTIL 143, A biblioteca utilizada do proteus foi a do arduino Uno.

O circuito basicamente simula uma encubadora que foi proposta pelo exercicio, quandoa temperatura fica abaixo da temperatura proposta que é de 36 graus um sinal de PWM no pino 10do arduino é aumentado fazendo o aquecedor aumentar sua temperatura aquecendo a encubadora.Quando a temperatura aumenta de 36 graus o PWM do pino 11 é aumentado fazendo aumentar aventilação da encubadora com consequencia diminuido a temperatura. Os opacopladores foramutilzados para proteção do sistema enbarcado e assim aperfeiçoando os resistores foram escolhidode modo que limitase a corrente de base dos transistores. O codigo foi desenvolvido no IDE doarduino que é programado em c/c++ para fazer a simulação. Veja o codigo abaixo.

// declaração das constantesconst int sensorPin = A0; // pino de entrado do sensorconst int ledPin1 = 10; const int ledPin2 = 11; // // saidas PWM do arduino

// variables:

Page 2: Circuito com arduino e optoacopladores

int sensorValue = 0; int sensorMin =0 ; int sensorMax = 1023;

void setup() { }

void loop() { // leitura do sensor sensorValue = analogRead(sensorPin);

// mapea a entrada do sensor sensorValue = map(sensorValue, sensorMin, sensorMax, 0, 255) sensorValue = constrain(sensorValue, 0, 255);

// converti 255 para 100 // 92 - 36 if (sensorValue < 92 ){ analogWrite(ledPin1,255);// aquecedor analogWrite(ledPin2,0); }else if(sensorValue > 92) { analogWrite(ledPin2,255);// ventilador analogWrite(ledPin1,0); }}