Olá,
Estou montando um projeto para uma máquina que fabrica filamento 3D através de garrafa PET.
Até o momento o circuito se encontra da seguinte forma:
O circuito ainda não está finalizado, pois desse modo ele apenas liga/desliga o motor, informa o estado no display e informa também o RPM. Porém, ainda será colocado no circuito um controle de temperatura para o bico da impressora através de PID, sensores indutivos para controlar o real RPM e o status do processo de fabricação do filamento e um módulo para conexão com smartphone para funcionar como um supervisório.
Entretanto, com esse circuito já estou com problemas. Consigo ligar o circuito e colocar para funcionar normalmente, mas conforme eu aumento o RPM do motor, o circuito começa a perder força até que desliga tudo (display e motor). Já testei alimentando o circuito apenas com o arduino, tentei alimentando apenas com uma fonte externa de 5V e também tentei com ambos. Porém, em todos os casos acontece o mesmo problema.
Alguém saberia me dizer o que pode estar errado?
Vou deixar o código utilizado até o momento abaixo:
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(32,16,2);
int valor=0;
int botao = 9;
int sensor = 8;
int tip = 10;
int estadoBotao = 0;
void setup(){
pinMode(botao, INPUT);
pinMode(sensor, INPUT);
pinMode(tip, OUTPUT);
lcd.begin(16,2);
lcd.init();
lcd.backlight();
}
void loop(){
estadoBotao = digitalRead(botao);
if(estadoBotao == LOW){
analogWrite(tip,0);
lcd.setCursor(0,0);
lcd.print("EXTRUSORA");
lcd.setCursor(0,1);
lcd.print("DESLIGADA");
delay(1000);
}
else{
lcd.clear();
lcd.print("EXTRUSORA");
lcd.setCursor(0,1);
lcd.print("LIGADA");
valor=map(analogRead(A3),0,1023,0,255);
Serial.print("Valor lido=");
Serial.println(valor);
delay(1000);
analogWrite(tip,valor);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("ROTACAO:");
lcd.setCursor(0,1);
lcd.print(valor);
lcd.print("rpm");
delay(5000);
}
if(digitalRead(sensor) == HIGH){
analogWrite(tip,0);
estadoBotao = 0;
}
}