uln2803 uitgangen maar dan isolated

Stijnos

Golden Member

Ik heb in mijn huidige ontwerp 2x een uln2803 zitten om 8 flinke relais te schakelen. Nu ondervind ik nogal vervelende verstoring van het schakelen van de relais wat er voor zorgt dat mijn microcontroller vast loopt.
Ik wil mijn microcontroller voeding mede daardoor met een geisoleerde dc-dc convertor scheiden van de 12V relais spanning.
Echter moet ik dan ook mijn uln uitgangen optisch gaan scheiden.
Weet iemand of er een opto is die ook wat vermogen (zoals een relais) direct kan schakelen? Voorkeur gaat uit naar smd met liefst meerdere in 1 package.
Of moet ik persee de ingang van de uln optisch gaan schakelen?
Definieer 'flink relais'... ;) (bijv. spoelstroom)
Arco - "Simplicity is a prerequisite for reliability" - www.arcovox.com
Of het per se moet dat ga je van mij niet horen; als was het maar omdat ik allergisch ben aan het werkwoord "moeten". Maar het zal alleszins veel simpeler zijn om de opto-couplers aan de ingangen van de ULN2803 te zetten. Ik kan me zo gelijk ook geen reden inbeelden om iets anders te willen doen.
hoe beter de vraag geschreven, zoveel te meer kans op goed antwoord
Arco - "Simplicity is a prerequisite for reliability" - www.arcovox.com
Is een betere routing, ontkoppeling en eventueel een zener clamp op de V++ niet gepaster ?

De interferentie zal op een andere manier binnenkomen dan via de 2k7 basisweerstanden in de ULN. Dan helpt het ook niet om enkel daar te scheiden.
Relais en microcontroller uit dezelfde bron voeden (zeker bij grotere relais) is meestal vragen om problemen.
Zeker als de print layout niet optimaal is. (vaak zijn voeingslijnen te dun of verkeerd geroute...)
Je krijgt dan allerlei pieken in Vss en Vdd bij uitschakelen.
Arco - "Simplicity is a prerequisite for reliability" - www.arcovox.com
Stijnos

Golden Member

moet niet inderdaad, maar als je voor een galvanische gescheiden voeding kiest van 2 circuits, dan moet je niet alngs een andere weg die scheiding weer weghalen lijkt me, anders heeft dat ook weinig zin.
De spoel stroom is iets van 100mA max geloof ik, ik moet het exacte antwoord even schuldig blijven.

@Aart, ik ben het helemaal met je eens dat het anders kan, echter heb ik niet heel erg veel tijd om dat allemaal te gaan proberen en kies dan hopelijk voor iets TE oplossing. Ik besef dat dit tegen het zere been is van velen hier, maar dat is een overwogen keuze.

De situatie is als volgt. Ik schakel met een ULN 12V voor 8 finder dinrails relais. Deze relais schakelen 230V in waar vervolgens een dinrail kwh meter met S0 puls uitgang aanhangt. Hierachter kan een voor mij onbekende type en vermogen belasting komen te hangen.

Nu lopen de draden van de relais spoel en de draden van de S0 pulsen door dezelfde goot en hoewel dat uiteraard niet ideaal is, kan ik daar weinig aan veranderen. De ingangs ciruits van de meters zijn als bijgevoegd attachment.

de 12V van de relais maakt via een stepdown ook de 5V voor de micro.
Bij het inschakelen van de relais zie ik een nasty spike op vcc als mede de uitgang van de schmitt trigger
qua layout links een terminal blok voor de 8 relais, met 2 uln die de relais via 12V naar ground schakelen. Rechts een terminal voor de meter ingangen die met een 12V pullup spanning zelf een schakeling naar ground maken.

Iemand layout technische tips ter verbetering? of ontkoppeling?
Ik zou een spike verwachten bij het uitschakelen. Niet bij het inschakelen.
Er is nu echter helemaal geen ontkoppeling op de V++ zichtbaar ? Ik zou een elco van 100 à 1000 uF plaatsen bij de ULN's en de terminal, en die stroomkring gescheiden routen van de rest. Nu lijkt het alsof de relais er in het midden aan hangen.

De S0 uitgangen zullen een optocoupler zijn, de gegeven dimensionering van de weerstanden lijkt onwaarschijnlijk ? Kun je de S0 stroomkringen ook op de print niet wat langer als stroomkring bij elkaar houden ? Het lijkt zo wat zonde. Getwiste bedrading voor zowel optocouplers als relais zal overigens ook schelen voor de interferentie in de goot.

Verder; alle begrip voor tijd-versus-effect uitdagingen e.d. :) Maar als het niet helpt ben je nog verder van huis ?
EricP

LED Hater

Ik denk dat je je eerst af moet vragen waar het probleem zit voordat je maar wat gaat proberen.

Een relais wat inschakelt, is niet zo spannend. Maar het zou kunnen dat je voeding een wat beroerd dynamisch gedrag heeft en ff dipt. Je kunt dat oplossen door de controller voeding te ontkoppelen en bypassen. Ofwel: L in serie (evt. diode?), relatief stevige C, kleine C (de ene voor de lading, de andere om op 'hf' ook wat te doen zeg maar) en dan verder.
Het kan mi. prima uit dezelfde voeding, maar je dient er wel voor te zorgen dat je de boel voldoende gescheiden houdt (al zou je er een andere PSU naast hangen... uiteindelijk komt het uit dezelfde WCD, alleen zorg je nu op deze manier voor scheiding).
Op deze manier kan de 5V gewoon ff doordraaien als de 12 er 'ff niet is' zeg maar. Het leegtrekken van de elco zou de feedback in de regelaar op moeten kunnen vangen - het gaat relatief langzaam, dat mag het punt niet zijn.
Zorg dus ook dat je de GND gescheiden houdt en ze alleen bij de '12 naar 5' voeding aan elkaar hebt hangen.

Een relais wat uitschakelt kan naar zijn. Een oplossing is een diode anti-parallel. De dioden in je ULN2803 zijn leuk. Wellicht ook prima bruikbaar. Maar dan moet die wel kort aan de + van de relais zitten (sorry, heb de layout niet doorgespit... lui... :) ). En ook nog dik genoeg zijn om de stroom te kunnen hebben. Daarnaast dus ook nog ff oppassen met de naastgelegen tracks.
Verder zitten je relais een eind verderop.
Een tijdje geleden was ern een topic van High met Henk mbt. relais in een vierwieler van hem, met een hele boel overwegingen om ze 'centraal' te plaatsen of 'op het relais'.
Mijn overweging:
Voor beiden is wel wat te zeggen. Als je ze 'centraal' plaatst (zoals jij nu hebt), dan zul je een relatief kleine dI/dt hebben in je bekabeling. Immers, een relais is feitelijk iets als een spoel met een weerstand in serie (die koperdraad heeft nou eenmaal weerstand...). Zoals (populair gezegd) een condensator de spanning constant probeert te houden, doet een spoel dat voor stroom. Bij uitschakelen zal de stroom dus in stand blijven, door de diode in de UKN2803 gaan lopen. De dV/dt zal hoog zijn. Immers, om de stroom in stand te houden, zal de spoel (wederom populair gezegd) van polariteit moeten wisselen en zoveel spanning moeten genereren dat de ohmse weerstand en de drop over de diode de 'gewenste' stroom laten lopen.
Zet je de diode bij de spoel, dan zal dI/dt hoger zijn. Immers, de stroom wordt min of meer direct 0 - en gaat door de 'vrijloopdiode' lopen. dV/dt zou je wat lager verwachten. Je hoeft de weerstand van kabel ed. niet meer mee te nemen.

Dan zou je last kunnen hebben van je loads. Veel meer zinnigs dan 'doe wat met een snubber' en 'houd de controller uit de buurt van de relais' kan ik er ff niet van maken.

Als je de kans hebt, dan zou ik het zoeken in voedingen goed gescheiden houden, dat ontkoppelen en bypassen. Gevoelsmatig (maar ik kan dat niet onderbouwen, iemand wel?? of juist niet :) ) vrijloopdioden dicht bij de relais spoel houden.

Die spike op de uitgang van je Schmidt trigger geeft wel te denken. Is dat ellende uit de voeding? Of is dat ellende uit de buitenwereld? Of is het ellende op de voeding uit de buitenwereld?
Je zou de ingang gewoon eens lokaal kort kunnen sluiten (en het kabeltje ff los uiteraard). Dan weet je gelijk waar het vandaan komt. Ik kan me best voorstellen dat als er een nare piek op die IN1 staat, die de voeding van IC3 via de protectie dioden ff mee trekt.
Mocht daar het probleem zitten: een week of wat geleden liep hier ook een topic daarover, waarin ik verwees naar een topic van free_electron uit ik meen 2006 ofzo. Het is in elk geval relevant leesvoer voor je denk ik.
Waarschijnlijk zit het probleem in je schakeling rondom de 74HC14. Althans als je er pieken uit zit komen.
je hebt 3 weerstanden van 10k waardoor bij een open ingang je spanning op 1/3*12V = 4V van de voeding zit: je bent bij 5V al 1 V marge kwijt. Je neg threshold ligt waarschijnlijk ergens op 1.5 V oid, pos theshold 2.5V of zo.

Ik neem aan dat de 74HC14 op 5V draait? Ook neem ik aan dat er een opto voor zit die de pin naar GND trekt, als het kan zo dicht mogelijk bij de ingang van die 74HC14? Klopt dat?

Persoonlijk ben ik geen fan van TTL logic als ingang gebruiken, stoort altijd als de neten wat je ook doet.

Waarschijnlijk is een CD logic IC beter bestand tegen spikes (omdat ze trager zijn).

Als je programma er op vastloopt moet je toch eens naar de voeding gaan kijken.
Henri's Law 1: De wet van behoud van ellende. Law 2: Ellende komt nooit alleen.
Stijnos

Golden Member

@ henri
Is er wat te verbeteren aan de waarden van de weerstanden?
Zou een CD40106 schmitt trigger hex inverter beter zijn dan een 74HC14
Heeft zelfde aansluitingen.

de IN1 ingang wordt door een (ik vermoed) opto in de kwh meter naar ground gesloten.
Echter zit deze wel een 60cm weg van de print.
de 12V van de relais maakt via een stepdown ook de 5V voor de micro.
Bij het inschakelen van de relais zie ik een nasty spike op vcc

Dat moet eerst opgelost worden. Kan aan onvoldoende ontkoppeling, te dunne sporen, of brakke step-down liggen...
Arco - "Simplicity is a prerequisite for reliability" - www.arcovox.com
Lambiek

Special Member

Heb je wel je Vcc aangesloten van je ULN2803, anders werken je interne diodes niet.
Als je haar maar goed zit, GROETEN LAMBIEK.
Thevel

Golden Member

Dat was ook mijn 1e gedachte maar aan de printsporen te zien is de Vcc wel aangesloten.
EricP

LED Hater

een (ik vermoed) opto in de kwh meter
Dat is inderdaad de gebruikelijke constructie. Het lijkt me een veilige aanname.

Voor wat betreft ingangen: ik heb van praktijk mensen altijd geleerd dat je dat zo 'traag' mogelijk moet maken. Zolang je signaal dat natuurlijk toelaat... Hoe trager, hoe minder last van 'ellende' die binnen komt waaien...
Misschien trap ik een open deur in, maar heb je de com (pen 10) aansluiting van de diodes aan de plus van de voedingsrail gelegd?
Ik zou een routing nastreven die meer lijkt op:


Dus de verbindingen waar de relaisstroom en -pulsen lopen apart en niet te smal routen naar de 12V buffer C.
Vanaf daar apart met 12V en gnd naar de power ingang en de stepdown, en vanaf daar verder met een gnd plane en 5V voor het kleinsignaal gebeuren. S0 draden zo ver als praktisch samen gerout.
12V enkel gebruiken voor de relais. Pulldowns weggelaten, stroom voor "S0" wat omhoog gedaan naar 5mA op basis van de veronderstelling dat het een optocoupler betreft. Dat scheelt ook in de interferentie.

Zo houd je de diverse stroomkringen beter bij elkaar. En dus uit elkaar.
Pas op met Eagle, dat wil al die gnd's blij aan elkaar vastknopen en dat is dus niet wat ik bedoel. De eenvoudigste oplossing is het gnd plane niet onder het relaisdeel en de S0 header door te laten lopen.
Op 3 december 2018 16:39:10 schreef Stijnos:
Is er wat te verbeteren aan de waarden van de weerstanden?

Ik zou de pulldown weglaten en er een zener van 5.1V in zetten. Geeft je dan in ieder geval 1V meer storings marge.

Zou een CD40106 schmitt trigger hex inverter beter zijn dan een 74HC14, heeft zelfde aansluitingen.
Misschien, die is in ieder geval een stuk trager (zie ook de opmerking van EricP, die mening deel ik).
Wat dan nog beter is om die ook uit een "schone" 12V te voeden. Je hebt met CMOS 40%/60% *Vcc treshold levels. De stoor marge is dan nog een stuk hoger.
Je krijgt er wel weer een ander probleempje voor terug: De uitgang moet weer aangepast worden van 12V naar 5V level.

de IN1 ingang wordt door een (ik vermoed) opto in de kwh meter naar ground gesloten.
Echter zit deze wel een 60cm weg van de print.
Ik zou die opto zo dicht mogelijk bij de print zetten. Maar nu je het erover hebt: Bedoel je een fotodiode geplakt op de pulse led van de kWh meter? Dan gaat dat natuurlijk niet.

@Aart: Je spanningsregelaar staat gespiegeld getekend! Dit is erg verwarrend. Het is een "ongeschreven" regel dat signalen (of voedingen in dit geval) van links naar rechts lopen en van boven naar beneden.
Henri's Law 1: De wet van behoud van ellende. Law 2: Ellende komt nooit alleen.
Inderdaad, maar hier zit de met 5V gevoede ingangskant links en de 12V uitgangskant rechts.
Nuja, dit soort schetsen is altijd voor de goede verstaander.
De CD40106 en de 74HC14 zijn beide Schmitt triggers. Schakelnivo's ontlopen elkaar weinig. (40106: 1.9 en 2.9v, 74HC14: 1.6 en 2.6v)
Arco - "Simplicity is a prerequisite for reliability" - www.arcovox.com
EricP

LED Hater

@henri62: ik ken de metertjes van TS natuurlijk niet... Maar de exemplaren die ik wel ken... hebben gewoon een optocoupler-uitgang als uitgang. Ofwel: je krijgt de C en E van de tor in de optocoupler tot je beschikking. De A en C van de LED zijn voor de 'meter' en de hele optocoupler zit fysiek in de meter.

Ik ken me prima vinden in die 5V1 zener. Echter, zoek ook nog ff naar die post van f_e. Die had daar een heel uitgesproken en onderbouwde mening over, over hoe dat moest en waarom. Jammer dat we hem nooit meer zien. Veel van geleerd...
Stijnos

Golden Member

nee het is een dinrail kwh meter met een s0 uitgang. Die heeft dus intern een opto. Die kan ik niet dichterbij plaatsen.

Ik heb vanavond nog van alles geprobeerd, maar t levert niks op.

Ik heb over beide ULN's een 1000uF elco geplaatst over de 12V.
een vrijloop diode over 1 relais, om te kijken of dat verschil geeft... helaas.

De el cheapo china switcher van 12 naar 5V vervangen door een ordinaire L7805. Resultaat een 5V met veel minder rimpel, maar verder geen verschil.

de draden van de meters en de relais uit elkaar gelegd, maar ook dat maakt geen verschil.

de grounds van de meters weg gelaten van de print en onder de 12V voeding klem geknoopt.

Hier 2 fotos van de print en de meters met relais.

Ook een scope plaatje, met de verstoring.
Ik zie de verstoring terug op zowel 12V, de 5V als het IN1 signaal. zelfs als ik een relais schakel waarvan de meter niet aan IN1 hangt (overspraak?)
Het vreemde is dat de relais waar aan de uitgangen geen draden hangen geen storing veroorzaken.
Ok, het ligt dus aan de inschakel belasting van de meters dacht ik...
Meters los gekoppeld en rechtstreeks een ohmse belasting aan de relais uitgang (500W lamp), nog steeds dezelfde verstoring.
ok, dus zonder belasting dan? Relais 1 is uitbedraad op een wcd, maar zelfs als daar niks op zit ontstaat er verstoring. Haal ik heel de draden van de relais uitgang weg, dan is er geen verstoring. Het 4e relais verstoort niks..

Ik snap er geen fluit meer van...

voor wat betreft het scope plaatje:
geel is de 12V, paars is de 5V en blauw is gemeten op de IN1 ingang.
dit is bij het inschakelen van het relais dmv het test knopje boven op het relais.

en Aart, de meters krijgen geen 5v maar 12V door hun opto. Deze minlae spanning staat in de spec van de meter. 5V zal ook vast werken, maar bij mij is het 12V.
Lambiek

Special Member

Wat voor een microcontroller gebruik je eigenlijk? Zit het rond de reset_pin allemaal goed?
Als je haar maar goed zit, GROETEN LAMBIEK.
fatbeard

Honourable Member

Storingen die ontstaan bij het inschakelen van een belasting zijn meestal te wijten aan overspraak tussen het geschakelde circuit en het gestoorde circuit, helemaal als je het relais handmatig bedient.
Wat serieus kan helpen:
  1. haal de DC voeding uit de kabelgoot waar ook de 230V belastingen door lopen
  2. breng een ontkoppeling aan op de ingang van de 7805
Voor het ontkoppelen van de 7805 is 10 µF al ruim voldoende, zowel op de ingang als de uitgang; houdt de draden wel kort (als je ze direct, met zeer korte draden, op de pootjes van de regulator soldeert is 100nF al genoeg).

De 'blusdiode' die ik in je opstelling zie heeft een enorme loop, dat werkt als een antenne: houdt de lus van een blusdiode klein.
Geschakelde spoelen (zowel relais en solenoids) op afstand van het schakelend element zijn notoire stoorbronnen: ik heb ooit een opstelling pas 'tam' gekregen door de aansluitdraden naar de solenoid te twisten en een VDR direct op de solenoid-aansluitingen te plaatsen; alle andere oplossingen werkten onvoldoende. YMMV.

Op dezelfde manier kan je groundclip van de scoopprobe storing oppikken: HOUDT DE LUSSEN KLEIN. Hang bijvoorbeeld de GNDclip eens aan de tab van de 7805, draai het draadje om de probe zodat er geen lus van betekenis is en meet nog eens...
Een goed begin is geen excuus voor half werk; goed gereedschap trouwens ook niet.
EricP

LED Hater

Leuk, die elco's, maar... die dingen zijn 'traag' zeg maar.

Die rommel op 'geel'... mwah... niet netjes, maar voor het moment wordt ik er niet nerveus van (puur praktisch gezien hoor, er is ruimte voor verbetering, danwel in meten (lusje probe), danwel op je board). Als om welke reden dan ook die relais ooit tegelijk schakelen, dan gaat dit niet goed. Maar voor nu... eerst die 5V ff. Die zou ook met dit op de ingang gewoon redelijk heel moeten blijven.

Dan zeg je dat paars de 5V is. Als dat echt je 5V is, dan staat daar wat behoorlijk te oscilleren. Dan zou zomaar die 7805 kunnen zijn. Die heeft een kleine C aan de uitgang nodig, maar ook wat aan de ingang om stabiel te zijn. Zie datasheet... Of ik lees je scope plaatje verkeerd natuurlijk :).
Wel raar dat-ie 'onder nul' komt. Waarop ik me dan af vraag... heb je niet ergens rottigheid in je nul? Ik ben al niet zo gecharmeerd van 'alle nul aan elkaar' zoals jij het nu hebt, maar ZO erg kan ik het daar niet uit verklaren.
Je zou eens kunnen kijken wat er tussen de 0 van de voeding en de 0 van bijvoorbeeld de controller gebeurt. Staat dat ook als een malle te stuiteren, dan heb je of een hele mooie antenne met je probe gemaakt of toch ergens een 'bouncing ground' dingetje te pakken.
Maar nogmaals: met wat ik in je 12V zie, snap ik niet dat die 5V zo tekeer gaat. Dat 'kan niet' met een standaard 7805 op het moment dat je die volgens datasheet hebt aangesloten (je loopt lang genoeg mee om de 'kan niet' te snappen... het is gewoon heel raar gedrag wat ik niet in eerste instantie in een 7805 zou zoeken).

Haal inderdaad die voeding eens weg uit de goot. Verder kun je die relais ook prima met de hand bedienen. Staat de boel ook zo te klapperen als je een relais (al dan niet voorzien van meter, al dan niet voorzien van belasting) met de hand indrukt?

Voor IN1 heb ik ff geen hapklare verklaring. Anders dan dat er ergens een onbedoelde koppeling in de bedrading / meter zit. Alhoewel voor je project ongetwijfeld van groot belang, zou ik toch eens beginnen met die 5V koest krijgen. Zolang dat alle kanten uit stuitert, kun je toch niks meten.

[Bericht gewijzigd door EricP op 4 december 2018 10:36:49 (23%)]