Jag vill koppla denna krets så att jag kan läsa av strömbrytarens läge med vanlig 3.3V-logik (från utgångarna märkta GND och SIGNAL). Först tänkte jag mig en vanlig pull-up av SIGNAL till Vcc (3.3V), men då kommer optokopplaren att få sisådär 20,7V över sig och det räcker såklart till att aktivera den (så att den alltid är aktiv, även när brytaren är öppen).
Den bästa lösningen jag har kommit på är att sätta en diod på SIGNAL-utgången och sedan en pull-up-resistor. Men då kommer den låga logiknivån att ligga på 0,7V vilket bara är 0,1V under maximal spänning för en nolla. Och kablarna till brytaren och tillbaka är flera meter... inte bra!
V1 lägger alltid ut 24 volt? Logiken som ska finnas nånstans bort till höger ska enbart läsa signalen, aldrig skicka ut den?
Så som det ser ut nu så petar du ju ut typ 23 volt till din logik, men det kanske den tål. Seriemotstånd och inbyggda skyddsdioder på ingången kanske på den kanske?
Varför switchar du jorden iställer för 24'volten till opton? Om du swicthar 24 volten istället så är det väl bara att låta logiken läsa av paralellt med opton?
24V är maxspänningen, men jag kommer inte att ha kontroll över den spänning som används till slut.
Sen glömde jag en väsentlig detalj: det finns ett inbyggt seriemotstånd i optokopplaren som begränsar strömmen till 5 mA. I ett annat fall kanske den vill ha 12V och drar 10 mA, d.v.s. det kommer att vara olika beroende på vem som använder kretsen.
Det är bl.a. därför jag switchar jorden. En annan anledning är att servomotordrivaren som optokopplaren sitter i har en anslutning för +24V och flera ingångar som aktiveras genom att jorda dem.
En extremt enkel lösning (fast kanske lite dyr) är att helt enkelt koppla en till optokopplare paralellt med den första. Sen kopplar du din 3.3 volts logik till utgångarna på den nya optokopplaren, men en lämplig pullup.
Det blir rena kinderägget, tre saker i en lösning. :-)
1 Signalöverföring (det som var det ursprungliga problemet)
2 Nivåskiftning (kan säkert vara bra att ha)
3 Galvanisk isolation (fast det kanske är onödigt)
Jo det hade ju funkat bra om V1 alltid hade gett 24V Jag har funderat på det men optokopplare är dyra och jag har dessutom inte lyckats hitta någon ytmonterad (på ELFA).
En tanke är ju att sätta en schmitt-trigger efter diod och pull-up-resistor. Undrar vad de har för spec vad gäller högsta spänning för låg nivå? Måste läsa lite datablad
En vanlig skräpig PC815 har ju ett CTR som bara varierar mellan 350 och 1600 när If varierar mellan 0.1 mA och 10 mA. Och den pallar upp till 50 mA If.
Om du designar den för ett If på säg 40 mA vid 24 volt så kommer den att fungera fint ända ner till några få volt i matningsspänning, särskilt med tanke på att du inte kommer att belasta utgången på den med mer än pulluppen som ju kan vara rätt så högohmig.
Värre är kanske ytmonteringen, men nog måste det väl att rätt enkelt få tag på ytmonterade optokopplare? Eller?
Men nu kom jag på en sak! Det är ju hur enkelt som helst! Flytta dioden till Vcc-benet! Då blir låg nivå 0V och hög nivå 3,3-0,7 = 2,6V, och det är 0,6V högre än lägsta tillåtna höga nivå!
Nja det blir 3.3 + 0.7 = 4 volt om du tar en vanlig diod, men om du tar en schottkydiod så kan du komma undan med ca 0.4 volt exempel BAT85.
Alternativ att du använder en transistor och några motsånd, eller ULN28XX och några motstånd.
4V hade varit ok (kretsen är 5V-kompatibel), men det blir faktiskt nästan 24V (eftersom optokopplaren ligger i serie).
Däremot är det ju en underbar idé med schottkydioden, om jag använder den istället för D1 i schemat. Då blir låg nivå 0,4V vilket borde funka, och kresten skyddas mot överspänning via D1 och pull-up:en.