Tot voor kort had ik een domoticasysteem IPX800. Deze is helemaal in de prak gedraaid & ik heb toen beslist om die eruit te gooien en te vervangen door telerupteurs, geschakeld op 12v DC. In tweede fase wil ik nu ook die telerupteurs kunnen bedienen vanaf een arduino. Bedoeling is om later (fase 3) alles te koppelen met een Home Assistant via MQTT.
Hiervoor heb ik 2 modules gemaakt: eentje om 12v te kunnen schakelen (sturen van de telerupteur via een mosfet IRLB8721) en eentje om 12v te kunnen lezen (lezen van het indrukken van een knop met 12v via optocoupler PC817C).
Ik had alles getest en dit leek goed te werken tot op het moment dit ik nu alles inbouw in de zekeringkast. Mijn module voor het lezen van de knoppen (ik had er een 10-kanaals module van gemaakt) lijkt beetje bij beetje te degraderen en er zijn ondertussen verschillende kanalen die niet meer werken.
Ook voor het schakelen had ik een module met 8 kanalen gemaakt en waarvan er nu eentje niet meer werkt (misschien toeval?).
Is er iemand die ervaring heeft met dergelijke schakelingen & mij kan zeggen wat ik verkeerd doe?
In bijlage het schema voor het schakelen van 12v en het schema voor het detecteren van het indrukken van de knoppen (van telkens 1 kanaal).
Dank bij voorbaat,
Peter

De mosfet wordt niet goed open gestuurd. Daardoor gaat hij slecht geleiden en dan wordt hij warm. Zoals het nu zit wordt ge Gate-spanning beperkt door de led, op iets van 2.5 Volt. En dat zit precies op de grens waarbij de mosfet begint te geleiden.

Als je de Gate direct doorverbindt met GPIO dan wordt het al een pak beter. Dan krijgt de Gate 5V van de Raspberry Arduino. Maar eigenlijk is dat nog niet genoeg.

De weerstand moet wel blijven zitten, maar alleen voor de LED.

De optocoupler wordt opgeblazen door de condensator. Die zit nu over de weerstand, en die weerstand zit er juist in om te voorkomen dat de opto-coupler teveel stroom krijgt.

Maar nu moet eerst de condensator geladen worden voordat de weerstand zijn werk kan doen. En dan is er even geen enkele stroom-beperking op het moment dat de schakelaar dicht gaat. Dat vindt de opto niet fijn.

Dus je met de condensator ofwel over de optocupler zetten, ofwel over de voeding.

Op maandag 4 augustus 2025 13:56:55 schreef deKees:
De mosfet wordt niet goed open gestuurd. Daardoor gaat hij slecht geleiden en dan wordt hij warm. Zoals het nu zit wordt ge Gate-spanning beperkt door de led, op iets van 2.5 Volt. En dat zit precies op de grens waarbij de mosfet begint te geleiden.

Als je de Gate direct doorverbindt met GPIO dan wordt het al een pak beter. Dan krijgt de Gate 5V van de Raspberry. Maar eigenlijk is dat nog niet genoeg.

De weerstand moet wel blijven zitten, maar alleen voor de LED.

OK, ik ga dit zo veranderen.
Bedankt voor de input!

Op maandag 4 augustus 2025 14:02:02 schreef deKees:
De optocoupler wordt opgeblazen door de condensator. Die zit nu over de weerstand, en die weerstand zit er juist in om te voorkomen dat de opto-coupler teveel stroom krijgt.

Maar nu moet eerst de condensator geladen worden voordat de weerstand zijn werk kan doen. En dan is er even geen enkele stroom-beperking op het moment dat de schakelaar dicht gaat. Dat vindt de opto niet fijn.

Dus je met de condensator ofwel over de optocupler zetten, ofwel over de voeding.

Ik dacht op die manier een lowpass filtertje te hebben...
Bedankt voor de input

De IRLB8721 is een logic level fet, die op 3.3v of 5v prima is aan te sturen zoals getekend.
Alleen de led direct op de i/o pin zetten met een eigen serieweerstand van 1k5 of zo, zoals 'ie nu zit is het een veel te zware/onnodige belasting.

Bij de opto kun je de condensator ook over de led heen zetten.

Een low pass filter kan je perfect softwarematig maken (voor Arduino/ESP bijvoorbeeld EZButton). Waarom een arduino en geen ESP32 of RPi? Bij een arduino moet je er nog eens netwerk mogelijkheid aan vast knopen.

Een ESP32 en een PCA9555 (16 IO maar beperkter output) I2C expander voor de input en een PCA9671 voor de output (16 output à 25mA). Meer snelheid, meer geheugen en WiFi + BT aanwezig. Stuur de Mosfets met een optocoupler en 12V. Volledig galvanische scheiding en geen probleem met open sturen. Die optocoupler en enkele weerstanden kosten ook niet het einde van de wereld. Met een 2mA led parallel kan je ook nog zien welke uitgangen gestuurd worden.

De IRL8721 doet het wat mij betreft met 5V prima. Maar met 3.3V is het op het randje.

Met een 10V gate signaal doet ie comfortabel 10A (zonder koeling). Met 3.3V is het maar 1-3A. (met gegevens die je uit een "typical output characteristics" grafiek moet halen: Geen garanties! )

Maar goed, als ie alleen een relaisje moet sturen zal het wel gaan.

@Dekees: De raspberry pi is een 3.3V apparaat.

Control up to 32 relays, solenoids or similar loads over I2C using MCP23017 GPIO expanders and ULN2803 drivers.

https://www.pcbway.com/project/shareproject/MCP23017_Based_32_Ch_Relay…

Met 2 I/O pinnen van je Arduino 32 relais aansturen.

@rew Inderdaad, foutje. TS begon over een Arduino. Dat kan ook 3V3 zijn trouwens.

Je zou ook eens kunnen kijken naar MOSFET opto's, die kunnen AC en DC schakelen.
Voorbeeldje:
Infineon PVG612

Die kan 1 Ampere AC schakelen en 2 Ampere DC bij 60V max, zit in een simpele 6 pin DIP behuizing. Aansturing is als van een gewone opto: 5 mA typical, 25 mA max. Forward voltage van de LED 1,5 Volt max dus makkelijk aan te sturen met een Arduino of Raspberry.

Daarmee zou je dan de telerupteur(s) kunnen schakelen.

Op maandag 4 augustus 2025 16:27:04 schreef Arco:
De IRLB8721 is een logic level fet, die op 3.3v of 5v prima is aan te sturen zoals getekend.
Alleen de led direct op de i/o pin zetten met een eigen serieweerstand van 1k5 of zo, zoals 'ie nu zit is het een veel te zware/onnodige belasting.

Bij de opto kun je de condensator ook over de led heen zetten.

thx, zo ga ik het doen.

Op maandag 4 augustus 2025 16:41:41 schreef buckfast_beekeeper:
Een low pass filter kan je perfect softwarematig maken (voor Arduino/ESP bijvoorbeeld EZButton). Waarom een arduino en geen ESP32 of RPi? Bij een arduino moet je er nog eens netwerk mogelijkheid aan vast knopen.

Een ESP32 en een PCA9555 (16 IO maar beperkter output) I2C expander voor de input en een PCA9671 voor de output (16 output à 25mA). Meer snelheid, meer geheugen en WiFi + BT aanwezig. Stuur de Mosfets met een optocoupler en 12V. Volledig galvanische scheiding en geen probleem met open sturen. Die optocoupler en enkele weerstanden kosten ook niet het einde van de wereld. Met een 2mA led parallel kan je ook nog zien welke uitgangen gestuurd worden.

Ik ben van plan om nog meer kanalen te koppelen & maak eigenlijk gebruik van een arduino Mega. De verbinding via kabel stoort niet, de switch staat net onder de kast & poorten vrij. Kabel is nog steeds zekerder dan wifi hé.

PCA9671 kan je er 64 adresseren. Dus 64*16=1024 leds op 2 pennen. PCA9555 kan je er 8 van adresseren of 128 I/O op dezelfde 2 pennen.

Heb hier een aantal ESP32 aan WiFi hangen. Deze zijn net zo stabiel als het netwerk. Zijn ze niet stabiel, ligt het meestal aan de programmeur en bugs in het programma.

De PCA9505/06 heeft 40 i/o in een chip. (15mA max per pin)