Met de step-up uit de vorige post en wat verdere microcontroller-magie (sinus PWM-en) is het mogelijk een T65 telefoon te laten rinkelen. Dat zou bijvoorbeeld bij toneel of theater gebruikt kunnen worden, ware het niet dat we inmiddels modernere telefoons hebben. Ik gebruik het hier vooral als demonstratie van wat er kan met een step-up en een sinustabel, maar ik snij wat bochtjes kort af. Het is dus geen kant-en-klaar nabouwbaar project.
Als je een GSM modem in een T65 wilt inbouwen om mobiel te bellen met je draaischijftelefoon, of als je een intercomsysteem met meerdere T65’s wilt opzetten, heb je hier niet genoeg aan, maar het kan misschien een deeltje van je project worden.
Goed. Eerst maar eens een filmpje van het resultaat. Tuur niet naar de oscilloscope, plaatjes van het scherm volgen later:
(Als onderstaande ingebedded video niet werkt, kun je dezelfde video op youtube kijken)
Dan de techniek:
Hoe?
Een telefoonlijn biedt normaalgesproken -48 Vdc aan en om de telefoon te laten rinkelen wordt daar in te telefooncentrale 60 tot 105 Vrms bij 20 Hz mee in serie gezet. Of 25 Hz, in Europa. Hoewel ik in Europa woon heb ik in eerste instantie 20 Hz gebruikt voor de demo (ik las pas over het frequentieverschil tijdens het schrijven van de blogpost.) Wordt je telefoonlijn niet gemaakt door een telefooncentrale, maar door bijvoorbeeld een Fritz!box, dan is dat 35 Vdc en als belspanning 32 Vrms.
(Er zal normaalgesproken wel wat spanningsval zijn over de bedrading tussen telefooncentrale en huis, en als de ‘centrale’ in je huis staat in de vorm van een kabelmodem/gateway/fritsbox heb je die spanningsval niet.)
Een schema van het binnenste van een T65:
Omdat de condensator in de telefoon (C1) gelijkstroom blokkeert, heb ik niet de moeite genomen om -48 VDC in serie te zetten die er daarna toch weer af gaat. Sterker nog: ik maak niet eens AC: de spanning wisselt niet van polariteit. (Zie scope-plaatjes verderop)
Voor een T65 en dergelijke eenvoudige toestellen maakt dat niet uit. De condensator in serie met de bel lost dat wel op. Voor modernere telefoons waar electronica in zit gaat dat niet werken. (Zo’n modern toestel heeft waarschijnlijk de -48VDC nodig en zal misschien ook onblij worden van de DC component in het belsignaal. Ik weet niet of het stuk gaat, maar ga er maar van uit dat het op zijn minst Niet Werkt en ook wel eens Stuk Zou Kunnen Gaan. Niet mij boos opbellen als je telefoon stuk gegaan is, dus. Dit is een kort afgesneden bocht. U bent gewaarschuwd.)
Don’t try this at home
Probeer dit dus niet op een modernere telefoon. Of op zijn minst: wordt niet kwaad als ‘ie stuk gaat. Misschien nog beter: Probeer dit geheel niet. En wordt überhaupt niet kwaad. En ik ga er van uit dat als je dit werkend krijgt, je ook het benul hebt om van spanningsvoerende delen af te blijven.
Het voor het 20Hz gedeelte van het filmpje gebruikte schema staat hierboven (maar er is een verbetering mogelijk, zie verderop).
Met een ietwat aangepaste step-up uit de vorige blogpost maak ik een DC spanning van ongeveer 150 V. Met een tweede PWM kanaal van de microcontroller wordt een PWM signaal gemaakt, waarbij de pulsbreedte uit een sinus-tabel wordt gehaald. De sourcecode staat op github: Sourcecode van telefoonrinkelaar. Het 5Vtt PWM signaal uit de microcontroller wordt door Q2,Q3,Q4 niveau-vertaald tot een ongeveer 150 Vtt PWM signaal, R5 en C3 vormen een laagdoorlaatfilter. Op de basis van Q5 wordt zo een ongeveer sinusvormig signaal aangeboden. Q5 dient als emittervolger / bufferversterker. R6 dient als bleederweerstand voor de condensator in de T65 en wordt dus rechtstreeks met de telefoon verbonden.
De belspanning is ongeveer 110 Vtt onbelast. Tijdens het rinkelen van de telefoon is het ongeveer 50 Vtt met 60V DC offset. Op de oscilloscope ziet dat er als volgt uit:
Het lijkt in de verte wel op een sinus, maar bij belasting gebeurt er wat raars.
Hoe kan het beter
Via emittervolger Q5 kan alleen stroom worden geleverd aan de bel in te telefoon, en geen stroom worden opgenomen. Als een extra transistor (Q6) wordt toegevoegd kan er ook stroom opgenomen worden en blijft de golfvorm tijdens het rinkelen een stuk mooier:
De onbelaste spanning blijft gelijk.
Q6 gaat geleiden als de spanning op de emitter (de belspanning die aan de telefoon wordt aangeboden) hoger is dan de spanning op de basis. In dat geval dient R7 als extra belasting van de uitgang (belspanning), die dus stroom kan opnemen. Zo kan de uitgangsspanning weer omlaag, ook als daar een inductieve of capacitieve last op is aangesloten.
Om de sinusvorm sinusvormiger te maken, zou je de PWM frequentie kunnen verhogen en/of een beter filter kunnen toepassen. (Let wel op dat het in dat topic over andere frequenties gaat).
Hoe kan het slechter
Als je nog een bocht verder afsnijd, kan het ook met de sourcecode uit deze andere git gist. Het schema wordt dan simpeler:
De ‘sinus’ voor de belspanning wordt dan gemaakt door het setpoint van de schakelende regelaar te veranderen, waar ik het in die vorige blogpost over had, maar zelfs op een relatief trage 20 Hz wil dat niet mooi werken. Omdat de voeding niet kan sinken (alleen stroom kan leveren en niet kan opnemen) rinkelt de telefoon ook niet. Als een extra last wordt toegevoegd rinkelt de telefoon wel, ik gebruikte daarvoor een neonlampje. Maar de golfvorm wordt extreem lelijk. Zie onderstaande oscillogrammen.
En waarschijnlijk wil die telefoon op een blokgolf ook wel rinkelen, maar het ging me hier juist om een demonstratie van het PWM-en van een sinus.
Sinustabel
De sinustabel komt in beide gevallen uit dit stukje python, al zijn er ook online tooltjes te vinden om sinus tabellen te maken (zoekterm: Sine LUT).
Overige Opmerking(en)
Je zou hiermee ook op een heel ingewikkelde manier beide elektroden van een neonlampje kunnen laten oplichten (schema), maar dat kan ook op een eenvoudiger manier. Meer daarover in een volgende post.
Leave a Reply