Ik heb een relay aangesloten op een ESP32 dev. bordje.
Het is een 1 kanaals relay die uiteindelijk 220 volt moet schakelen.
Dit is de sketch
int relay_pin = 23;
void setup() {
pinMode(relay_pin, OUTPUT);
}
void loop() {
digitalWrite(relay_pin, 1); // turn the LED on (HIGH is the voltage level)
delay(30000); // wait for a minute
digitalWrite(relay_pin, 0); // turn the LED off by making the voltage LOW
delay(30000); // wait for a minute
}
De ESP32 wordt door usb gevoed vanuit laptop.
Het relay heeft 3 pinnen, VCC verbonden met de VIN op esp32, GND verbonden met de GND op de esp32, de IN verbonden op pin 23 van de esp32.
Het rode ledje op de relay brand altijd en geeft aan dat het relay van stroom is voorzien, de groene led op de relay brand als relay gesloten is en gaat uit als deze open is.
Maar de groene led blijft altijd aan en relay schakelt dus niet, terwijl mijn multimeter geen stroom meet na 1 minuut en na 1 minuut wel stroom meet op pin 23.
Als ik de draad op 23 met de hand erin en eruit doe schakelt relay wel.
Waarom schakelt relay niet op het moment dat pin 23 geen stroom krijgt??
Kan je een linkje posted naar het relais dat je hebt. Ook graag een schema (evt met de hand getekend) Meestal is de stroom die je van een Dev bordje krijgt niet echt voldoende om het relais te voeden, hoewel dat hier niet echt van toepassing lijkt aangezien je het wel handmatig kan schakelen.
ESP32 krijgt voeding via usb. Het relay heeft 3 pinnen. VCC zit op de 3,3 volt van de ESP en de GND van relay zit op GND van de ESP. De IN van relay zit op RX van de ESP32.
De rode led is aan dus relay krijgt voeding. De groene led is ook aan, circuit gesloten, GND en RX geeft 0 Volt aan. Na 1 minuut is GND en RX 3,3 Volt groene led is ook uit maar je hoort geen klik. Circuit zou open moeten zijn maar volgens multimeter dus dicht.
Als Het Relay z'n stroom krijgt van de 3.3v pin van de ESP dan is de kans groot dat de voltage regelaar (die het voltage van 5v naar 3.3v omzet) te veel belast wordt. Eigenlijk zou het Relais via een aparte voeding gevoed moeten worden, maar toch op z'n minst via de 5v van de USB.
Maar in je sketch heb je de relay pin gedefineerd als 23.
de RX pin is pin 3. Althans volgens de pinout.
Op de manier zoals jij omschrjjft werkt dit relay. Alleen is de vraag hoe ik dat kan testen.? Kan er wel 5 volt opzetten maar waar haal ik dan de stuurstoom vandaan zonder gebruik te maken van de esp.?
Grote kans dat voor de stuurstroom 3.3v wel voldoende is. De stuurstroom schakelt een transistor die het relais aanstuurt. Mocht de 3.3v toch niet genoeg zijn, dan kan je eventueel een 7400 serie logische poort gebruiken om het voltage naar 5v op te hogen.
De sketch is geschreven voor positieve logica, maar het relais werkt negatief. Dat staat ook in de advertentie op Ali, zij het in een schier onbegrijpelijke zin. Zo moet het worden:
digitalWrite(relay_pin, 0); // turn the LED on
delay(30000); // wacht 30 sec.
digitalWrite(relay_pin, 1); // turn the LED off
delay(30000); // wacht 30 sec.
De output van de ESP is maximaal 3.3V, en dat is te weinig om het relais uit (!) te doen schakelen. Je hebt een of andere level-converter nodig die er 5V van maakt. Een transistor plus twee weerstanden is al genoeg, maar er zijn ook complete prints te koop (zowel bij Ali als in Nederland).
PS.: Ali zegt dat er een optocoupler in zit, maar die zie ik niet...
Dat eenvoudigste oplossing is om een 74HCT04 te gebruiken en deze met 5v te voeden. Als je het signaal door 2 gates heen stuurt is de logical weer zoals die was, maar in dit geval kan het zelfs handig om maar 1 gate te gebruiken, zodat de logica omgekeerd is en aan dus 5v+
Tot op zekere hoogte, er zitten 3 pinnen op. Echter wanneer er geen voedingsstroom is staat het relais al aan en schakelt het uit. etc. het is ook lastig uit te leggen. Ik vraag me trouwens af of the transistor een PNP is, want in dat geval zou je de pinMode op INPUT kunnen zetten ipv van de pin HIGH. Dat zou overigens niet echt verstandig zijn omdat je de pin dan blootsteldt aan 5v.
Alle hartelijk dank voor jullie inzet om het probleem op te lossen.
Gisterenavond nog even bezig geweest en heel gek werkt 1 relais via bovenstaand foto.
Al meerdere malen zo gedaan en toen werkte het niet, nu in een keer wel.
Maar ik heb nog een tweede relais en die klikt 2 keer maar daarna niet meer, maar de groene led gaat wel aan en uit.
Het is dus op deze manier wel onstabiel.
Op internet nog het een en ander uitgezocht en een level shifter is idd een oplossing.
Bijvoorbeeld deze:
Heb ook nog wat anders geprobeerd, de ESP gevoed met 5 Volt via de VIN pin, maar dan komt er maar 2,4 volt uit de controle pin ofwel de stuurstroom.
Dat zou toch ook 3,3 volt moeten zijn??