relais probleem, hoe ontstoren?

Hardware die niet past in bovenstaande onderwerpen
Berichten: 11
Geregistreerd: 26 Apr 2015, 19:22

relais probleem, hoe ontstoren?

Berichtdoor Otto » 28 Apr 2024, 20:05

hallo,
na lang tijd ben ik weer eens bezig met m'n arduino solar tracker.
probleem met m'n 4-relay module met optocouplers, chinees modelletje...
ik wil hiermee twee electrische actuators aansturen met 24V, max 3,5 ampere volgens de specs
maar nooit allebei gelijktijdig

opstelling zie bijlage: het optocoupler stukje denk ik goed aangesloten met 2 gescheiden 7805 voedings
opbouw:
De bovenste drie voedingen en het relaisbord zijn bij elkaar gemonteerd
de twee actuators staan bij elkaar, maar minimaal 1 meter bij de voedingen vandaan (in de definitieve opstelling wordt dat 10 meter kabel ertussen
de Arduino /display/rtc en tweede 7805 zijn ook ca 1 mtr van de voedingen en actuators vandaan geplaatst

testprogramma'tje zie bijlage

als ik het geheel opstart zonder 24V spanning werkt het programma goed, alle relais hoor je schakelen en de led's aan/uitgaan
als ik opstart met 24V spanning, werken de actuators, maar loopt het programma binnen enkele loops vast, de ene keer wat korter, de andere keer duurt het wat langer
en nu zijn de actuators nog onbelast...


moet er ergens een diode en/of condensator tussen?? zo ja, wat? waar?
moet ik een beter kwaliteit 4-relais module hebben?? zo ja welk?

waarom gaat dat tekenen in Fritzing zo lastig....
waarom krijg ik steeds melding dat de extensie .fzz, .ino .jpg, .docx niet is toegestaan bij het laden van een bijlage??

schema: kopieren en hier plakken gaat ook niet.... ??

programma:
// D01: Declaratie library's--------------------------------------------------------------------------------

#include <LiquidCrystal_I2C.h>
#include <Wire.h> //http://arduino.cc/en/Reference/Wire

// D02: Declaratie Pinning Arduino--------------------------------------------------------------------------

const int TellerIngang=7; // input pin7 reedsensor horizontaal

const int K1uitAAN=11; // output pin11 relais K1: actuator 36V aan uit
const int K2uitIN=10; // output pin10 relais K2 en K3: actuator draairichting omkeer
const int K3uitIN=9; // output pin4 relais K2 en K3: actuator draairichting omkeer
const int K4horVERT=8; // output pin8 relais K4: keuze actuator horizontaal 36" of verticaal 24"

// D03 : Declaraties variabelen:---------------------------------------------------------------------------

int TelStatusHor1 = LOW; // ingangssignaal van de oost-west sensor
int TelStatusHor2 = LOW; // 2x inlezen (25ms na elkaar) voor anti-dender, debounce
int TelVorigeStatusHor = LOW; // verschil met status geeft opgaande flank detectie
int TelStatusVer1 = LOW; // ingangssignaal van de op-neer sensor
int TelStatusVer2 = LOW; // 2x inlezen (25ms na elkaar) voor antidender, debounce
int TelVorigeStatusVer = LOW; // verschil met status geeft opgaande flank detectie
int TelStandHor = 0; // huidige tellerstand reedrelais oost-west draaien
int TelStandHorNw =0; // nieuwe tellerstand reedrelais oost-west draaien
int TelStandVer = 0; // huidige stand Op-Neer
int TelStandVerNw = 0; // nieuwe stand op-neer

LiquidCrystal_I2C lcd (0x27, 16, 2);

// EINDE DECLARATIES--------------------------------------------------------------------------------------------
// NU VOLGT SETUP, wordt 1x doorlopen-------------------------------------------------------------------------------

void setup() {

// SU01: Instellen Inputs,Output, Startinstellingen-------------------------------------------------------------

pinMode (TellerIngang, INPUT); // =D7

pinMode (K1uitAAN, OUTPUT); // =D11
pinMode (K2uitIN, OUTPUT); // =D10
pinMode (K3uitIN, OUTPUT); // =D9
pinMode (K4horVERT, OUTPUT); // =D8
digitalWrite (TellerIngang, LOW);

digitalWrite (K1uitAAN, HIGH);
digitalWrite (K2uitIN, HIGH);
digitalWrite (K3uitIN, HIGH);
digitalWrite (K4horVERT, HIGH);


// SU02: Opstarten --------------------------------------------------------------------------------
Wire.begin(); // Start I2C
lcd.init(); //Start display
}

//-EINDE SETUP-------------------------------------------------------------------------------------------------------------
//-NU VOLGT LOOP wordt continue doorlopen----------------------------------------------------------------------------------

void loop () {

lcd.setCursor(0,0);lcd.print("Test oost-west "); delay(200); // 36" actuator aan,5 seconden uitschuiven
digitalWrite (K1uitAAN, LOW); // Startrelais aan
delay(5000);
digitalWrite (K1uitAAN, HIGH);
delay (500);

lcd.setCursor(0,0);lcd.print("Test west-oost "); delay(200); // 36" actuator aan,5 seconden inschuiven
digitalWrite (K3uitIN, LOW); delay (500); // omkeerrelais aan
digitalWrite (K2uitIN, LOW); delay (500); // omkeerrelais aan
digitalWrite (K1uitAAN, LOW); // startrelais aan
delay(5000);

digitalWrite (K1uitAAN, HIGH); delay (500);
digitalWrite (K2uitIN, HIGH); delay (500);
digitalWrite (K3uitIN, HIGH); delay (500);
digitalWrite (K4horVERT, HIGH);
delay (500);

lcd.setCursor(0,0);lcd.print("Test neer->op "); delay(200); // 24" actuator aan,5 seconden uitschuiven
digitalWrite (K4horVERT, LOW); delay (500);
digitalWrite (K1uitAAN, LOW);
delay(5000);
digitalWrite (K1uitAAN, HIGH); delay (500);
digitalWrite (K4horVERT, HIGH);
delay (500);

lcd.setCursor(0,0);lcd.print("Test op->neer "); delay(200); // 24" actuator aan, 5 seconden inschuiven
digitalWrite (K4horVERT, LOW); delay (500);
digitalWrite (K3uitIN, LOW); delay (500);
digitalWrite (K2uitIN, LOW); delay (500);
digitalWrite (K1uitAAN, LOW);
delay(5000);
digitalWrite (K1uitAAN, HIGH); delay (500);
digitalWrite (K2uitIN, HIGH); delay (500);
digitalWrite (K3uitIN, HIGH); delay (500);
digitalWrite (K4horVERT, HIGH);
delay (200);
}

Advertisement

Berichten: 4068
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: relais probleem, hoe ontstoren?

Berichtdoor shooter » 29 Apr 2024, 15:48

allereerst even opletten dat je het relais bordje los hebt staan dus alleen de 5V en de GND aan de arduino aansluiten en de 24 V helemaal los dus de gnd en 24 V alleen op het relaisbordje aansluiten. op het relaisbordje zitten vaak een paar ledjes in serie met de optocouplers dus dat zou altijd moeten werken. zelfs zonder 24V voeding.
dan kun je dus de 24V aanzetten en kijken of alles aanblijft. Die 24Volt is inderdaad teveel voor de 7805 en wordt dan warm en stopt ermee. De relais zijn wat sterker maar zouden een diode over de contacten kunnen gebruiken dus pak daar een 1n4001 voor of dergelijk een 4148 is te klein.
en de loop blijft maar rondgaan want er zit geen commando om te sturen
je kunt in de monitor wel kijken wat er als laatste gebeurt (moet je er dan wel inschrijven.
paul deelen
shooter@home.nl

Terug naar Overige hardware

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 3 gasten