• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Sterowanie przekaźnikiem z opóźnieniem
#1
Witajcie towarzysze,
mam problem otóż mam ładowarkę na 230v która non stop się wyłącza. Zrobiłem małego boxa w nim układ z watomierzem , a Arduino ma tym sterować. Jeżeli bierze prąd (więcej niż 1000W) ma się nic nie zmieniać, na A0 jak nie ma poboru jest 5V jak się pojawia to spada. Problem w tym że czujnik musi się odświeżać co 1 sekundę a reszta nawet 15 sekund i totalnie nie wiem jak to zrobić, nie jestem programistą więc może wy Mirki mi pomożecie Smile

Kod:
#include <TimerOne.h>
int sensorValue = analogRead(A0);
void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
  Timer1.initialize(1000000);          // 1 second
  Timer1.attachInterrupt(callback);    // Set callback
}

//kiedy ładowarka jest wyłączona jest 5v
//żeby
int callback(){
  delay(10000);
  analogWrite(3, 255);
  if (sensorValue< 500) {
      Serial.println("Off");
      analogWrite(3, 0);
  }
  else analogWrite(3, 255);
  Serial.println(sensorValue);
}
void loop() {

}
 
Odpowiedź
#2
Może ładowarkę naprawić, wymienić. Bo to co chcesz zrobić to podpieranie walącej się stodoły.
 
Odpowiedź
#3
Niestety jest to nietypowa 2000w ładowarka kosztująca nawet 3000zł, ogólnie to możliwe że to nawet nie jej wina tylko informacja z bms. Ogólnie o problemie długo by mówić, wróćmy do tematu Arduino i kodu Smile
 
Odpowiedź
#4
Co to znaczy czujnik musi się odświeżać co sekundę a reszta co 15s.
Może prosty if wystarczy, ale opisz co ma robić program bo z tego co piszesz nie mogę wydedukować.
 
Odpowiedź
#5
Chodzi o to żeby w zależności od poboru prądu Arduino sterowało przekaźnikiem (pin D3), watomierz robi resztę podaje napięcie (5V) wtedy gry nie ma obciążenia. Ładowarka bierze prąd dopiero po chwili takie 5-8 sekund jak wykryje napięcie. Opóźnienie 1 sekunda powoduje że ładowarka nie nadarza zatrybić a więcej niż 8 sekund powoduje że dostaje stary odczyt z watomierza co nie uruchamia zmiennej.
 
Odpowiedź
#6
Czyli jak watomierz podaje 5V to przekaźnik na pinie D3 musi odłączyć i załączyć napięcie????
 
Odpowiedź
#7
odłączyć na 3 sekundy i załączyć
 
Odpowiedź
#8
Takie coś w wersji demo (z delay) można zrobić na jednym if.
void setup ()
{
pinMode(D3, OUTPUT);
}
void loop ()
{
if (analogRead(A0 > 500)
{
digitalWrite ( D3, LOW ); // jak wyłączasz przekaźnik stanem niskim
delay 3000;
digitalWrite ( D3, HIGH ); // jak załączasz przekaźnik stanem wysokim
delay 10000;
}
}

Mogą być jakieś literówki ale to powinno działać
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości