Posts

8 Tone generation

Image
Every decent telephone system needs to give feedback to it's user as to it's current operational status. This ha s been done since  time immemorial  by using progress tones. I only need three types of progress tones; a  steady tone for showing the exchange is ready for a call, a ringing cadence progress tone, usually two short bursts of tone separated by a second, and a "fast busy" cycling tone to show a false number has been dialed. So what we will need is some way to generate these tones and have them fed to the user operating the phone.  I'm sure there are very many ways to generate a simple sine wave but I have a job lot of NE555 timer IC's so that's where I'm going to start. Using a NE555 timing calculator (this one  is my favorite as you can enter the desired frequency and it will generate the options for the resister/capacitor combination to achieve it). I'm not too concerned about the cycle lengths since I'm going to feed both outputs ...

8 Input Shift Registers and Pulse Dialing

Image
On the Arduino I have only a limited amount of IO pins, 20 in all. This would probably be enough pins if I just wanted 4 inputs for call sensing, 2 for pulse and off hook detection and the rest to operate the relays but I want to add a DTMF transceiver and to connect to an outside line so I'm going to need quite a few more. Enter stage right the  74HC165 shift in register for the inputs. This has 8 inputs which will be configured as per the map below... #define ShIn_L1_OH_Pin 128 // call sense line 1 #define ShIn_L2_OH_Pin 64  // line 2 #define ShIn_L3_OH_Pin 32 #define ShIn_L4_OH_Pin 16 #define ShIn_OH_Pin 8 // source phone off hook and used for the pulse dial train #define Dest_Phone_OH_Pin 4 // call answered, ie destination phone off hook //#define Call_Progress_Pin 2 // not used #define External_Ring_Pin 1  // incoming call from outside exchange #define SHIN_CLEAR 0  // used to check no inputs are active With the shift register IC at the top right, below shows t...

7 Call Sensing

Image
Now I have power I can start to building the first component of the exchange - call sense control. I add in the the 3w 1k resistor that will feed power to the four lines. When a handset is lifted the line is energized and so will operate the quad ILQ74 optocoupler that will eventually fit into the 16 pin socket. Below the socket are the diodes, the 1w 1k resistors and 10k pull-up resistors for each line that will operate the optocoupler. Also present is the 4 way socket that will hold the  Panasonic AQW210EH  solid state dual relay  the will switch out the call sense lines once a handset is lifted. The other relay will be used to "bridge" the source and destination phones between the radial capacitor when a call is connected.  The lesson to learn here is always check the data sheet as I made a mistake in the wiring feeding the optocoupler. From the picture above I have the feed going from top to bottom, in on pin 1, out on 2, in on 3, out on 4 and so on. In rea...

6 Pwr Supply

Image
So the first thing to do is find a decent transformer. I think the telephone exchange gods must have been smiling on me the day I started my search on eBay as pretty quickly found me a decent 240v to 36v/18v transformer for a reasonable price that would be just the job. A few days later it's mine and we are ready to go.  For the 36v feed, DC conversion is via a bridge rectifier and ripple removal by use of a 1000uf capacitor which I think gave me around 44v DC. I used a LM317  VR. and arranged the resistors to give me pretty much 36v, as near to the required 40v on Andrews design as I can get. This is at the very limits of the VR but it seems to work ok. When I do get to connect a phone I do get a bit of hum but it's not too intrusive. I recently found out much better ripple rejection can be achieved using a capacitor multiplier, so maybe that's something for version III.  The other rectifier and capacitor are for the 18v feed that I'll use for the 5v components via ...

5 The Plan Revisted

Image
So by now I've made a couple of projects and gained a good understanding the ways of the telephone network. Based on what I had learnt what would be nice would be to revisit the Plan 7 and think of a way to make it work properly, as it was designed to work. What I really needed was some kind of method to get connected into something that would detect the dial pules, de-code them and route calls to the desired phone on a telephone network. And the same thing but going in the other direction. Then I could use the extension phone properly in that I could dial out from it and transfer calls to it. What I really needed was a DIY telephone exchange. So really the point to this blog is that I just wanted to make a few notes about my journey from knowing nothing about electronics and telecom systems to actually building a working telephone exchange of my own.  I'm afraid it's not going to be a detailed "how to" type of thing and I'm not going to release any of my cod...

4 The Balancing Trick

Image
Before I get on to the actual development of the DIY Telephone Exchange it's worth taking a little detour to take a look at the science between linking two phones so a call can take place. This mechanism is done by running a bi-direction signal over two single wires so a conversation can take place. This is known as duplexing and is covered in more detail below. A more efficient way to do this would be to use four wires, but that would add a vast amount of expense for the telephone operator given the amount of extra cable required.  If you like old GPO phones and you have ever wondered how they work, wonder no more. In this beautifully simple explanation the riddle wrapped up in an enigma is revealed. Another fascinating site about telecoms can be found at  epanorama . It's one of those places that looks like it hasn't changed since the early 90's but it still has some extremely relevant information. A  DAA is a really neat solution to a problem by "de-skilling...

3 Direct Access Arrangements

Image
I had been looking for a new hobby for a while. Something to fill a couple of hours between coming home and watching the News at Ten. I can't remember where I came across the Arduino, it just kind of drifted into my life, but as a new hobby this could be perfect. I bought a Starter Pack and got going. I learnt enough to get beyond the simple projects, ie flashing LED's, that kind of thing, to realize I wanted to do stuff that would interface with my telephone system. If you have an interest in old GPO stuff then at some point you are bound to come across TIM , the GPO speaking clock. A project  was launched back in 2000 to recreate the speaking clock using micro-electronics but by the time I found out about it it was long since over. So what better than to build my own? I come from a computer science background so had become fluent in C a very long time ago; programming the clock using the Arduino wasn't an issue. I could digitize a human voice recording and store it on EEP...