As mentioned in the first article, the new programmer's hardware is built entirely on a double-sided PC board. This board is coded 07112021 and is designed to be "free standing" rather than mounted in a box.

Both the DB25 socket for the parallel cable (CON1) and the socket for the plugpack cable (CON2) are mounted directly on the rear edge of the board. The 32-pin ZIF socket which accepts the EPROMs (or adaptor sockets) is mounted centrally near the front.

To make it freestanding, the board is fitted with six small rubber feet for support. Four of the feet attach to the corners of the board, while the remaining two are fitted just to the front and rear of the ZIF socket.

We decided on this method of construction so that the programmer would be easy to put together. However, with a "naked" PC board, there's obviously no protection for the components against physical damage.

Perspex panel

Ideally, a full-size Perspex front panel could be mounted above the PC board to provide this protection. However, this wasn't really feasible here because there would have to be a large rectangular cutout to allow full access to the ZIF socket and its operating lever. And even with such a cutout, it would still be quite awkward to insert and remove EPROMs (and their socket adaptors) because the panel would have to be mounted quite high to clear the electrolytic capacitors and relays.

Because of this complication, we decided to compromise by using a "half-panel", as shown in the photo. This provides protection for just over half the board and allows for full identification of the six mode indicator LEDs. It also provides a guide for fitting 32-pin and 28-pin EPROMs without restricting access to the ZIF socket.

This Perspex "half-panel" mounts above the PC board on four M3 tapped spacers (12.5mm long). These also form the "nuts" for the M3 machine screws which are used to attach four of the board's rubber mounting feet. The 12.5mm spacing ensures that the panel just nicely clears the LEDs, the quartz crystal case and the DB25 socket.

Fig.6 shows the dimensions of the Perspex front panel. The large rectangular section that's removed from the lefthand side ensures that it clears the ZIF socket.

Main board assembly

Because the main PC board is double-sided, there are no conventional wire links to be fitted. Ideally, it should come with plated-through holes but if not, you will have to solder some of the component leads on both sides of the board. In addition, you will have to fit short wire links through the "via" holes in various locations on the board and solder them on both sides.

To simplify the assembly, we've marked all of the critical component leads and "via" positions with a red dot on the parts layout diagram - see Fig.8. If your board doesn't have plated-through holes, it's simply a matter of soldering each component lead on both sides of the PC board where ever there's a red dot.

Alternatively, if there's no component lead, you have to fit a wire link (or pin) through the board.

Of course, if your board has plated-through holes, you don't have to worry about any of this - the through-board connections are already there.

Before starting the assembly, check both sides of the PC board carefully for hairline bridges between tracks or pads. There are lots of tracks running between IC pads on both sides, so check these "close-clearance" locations in particular.

Once you've done that, you can start by fitting the wire "vias" (assuming that you're not using a plated-through board). This involves fitting a wire "pin-through" (or "via") in every position that's marked with a red dot and is separate from any components. There are 110 of these wire "vias' by the way - sorry about that!

Once the "vias" are in, fit PC terminal pins to the board at the three clock frequency test points. These go down in the front righthand corner of the board, between IC11 and IC12.

The resistors and diodes can go in next. Be sure to fit the diodes with the correct polarity and note that 10 of them are 1N4004 power diodes. The remaining three diodes (D1, D12 & D13) are 1N4148 (or similar) types.

Note that some of the resistor leads have to be soldered on both sides of the board (ie, if the board doesn't have plated-through holes). Table 1 shows the resistor colour codes but its also a good idea to check each one using a digital multimeter before installing it.

Once all the resistors are in, you can install the capacitors. Install the smaller capacitors first and finish with the five larger electrolytic types in the top lefthand corner of the board. Make sure that the electrolytics go in the right way around (otherwise, they can go "kaabooom").

The two miniature relays are next and these will only mount on the board one way around. However, you may need to straighten their pins a little before they'll all go through the board holes. The relays are identical, so they can go in either position.

Now for the semiconductor devices. The best procedure here is to fit the regulators first, then the ICs and finally the transistors and LEDs.

The regulators all mount horizontally, with their leads bent downwards by 90 degrees about 6mm away from the regulator packages. Their mounting tabs are each secured to the board using a 6mm x M3 machine screw and nut. There's no need to apply any heatsink compound to the underside of each device, although a thin smear will help keep them cool.

Note that the pins of all three regulators should be soldered to the pads on both sides of the board if there's no through-hole plating.

You can now install all the ICs. Be sure to fit the correct IC to each location and make sure they are all oriented correctly. They all face in the same direction, with pin 1 at bottom left.

Fit the PNP transistors first

There are 15 transistors in all - 12 PN100 NPN types and three PN200 PNP types. To make sure that you don't mix them up (which would cause the programmer to misbehave in strange ways), it's best to fit the three PN200s first. These go in the positions shown for Q5, Q9 and Q14, in the front-left quadrant of the board.

Orientate the transistors as shown and push them down as far as they will comfortably go before soldering their leads. Once they are in, you can fit the PN100s in the remaining positions.

The six red LEDs are fitted in two rows of three immediately to the right of IC15. Note that they all have their anode leads towards the "inside" of the group - ie, the two rows face in opposite directions. They should all be installed so that their bodies are 8mm above the board surface, so that their tops will be just below the Perspex front panel when it's later fitted.

Note the wire "via" just to the right of the LEDs. This connects all the LED anodes to the +5V supply rail. Be sure to fit this via if your board doesn't have plated-through holes, otherwise none of your mode indicator LEDs will work!

The remaining green LED (LED7) is used for power indication and is mounted just to the left of IC10. It should also sit 8mm above the board, its anode lead towards IC19.

The 4.0MHz quartz crystal and ZIF socket can go in next. Push the crystal all the way down onto the board and solder its leads quickly, so that you don't overheat the crystal inside. The ZIF socket must be installed with its operating lever on the left.

Make sure that all the pins of the ZIF socket pass through the PC board before soldering it into place.

Finally, you can complete the board assembly by installing the DB25 connector (CON1) and the power socket (CON2). Note that the holes for CON2's lugs really need to be small slots. If necessary, they can be filed to shape using a jeweller's rat-tail file, so that the socket fits easily.

Table 1: Resistor Colour Codes
No. Value 4-Band Code (1%) 5-Band Code (1%)
1 1MΩ brown black green brown brown black black yellow brown
1 330kΩ orange orange yellow brown orange orange black orange brown
1 220kΩ red red yellow brown red red black orange brown
1 150kΩ brown green yellow brown brown green black orange brown
1 120kΩ brown red yellow brown brown red black orange brown
1 11kΩ brown brown orange brown brown brown black red brown
19 10kΩ brown black orange brown brown black black red brown
1 5.6kΩ green blue red brown green blue black brown brown
1 4.7kΩ yellow violet red brown yellow violet black brown brown
2 3.9kΩ orange white red brown orange white black brown brown
1 2.2kΩ red red red brown red red black brown brown
1 1.2kΩ brown red red brown brown red black brown brown
1 820Ω grey red brown brown grey red black black brown
7 470Ω yellow violet brown brown yellow violet black black brown
2 240Ω red yellow brown brown red yellow black black brown
3 220Ω red red brown brown red red black black brown
22 100Ω brown black brown brown brown black black black brown
1 10Ω brown black black brown brown black black gold brown

Quick inspection

At this stage it's a good idea to carefully inspect all of your soldered joints on both sides of the board. Check to ensure that you haven't made any dry joints or left solder bridges to cause problems later on.

Once you are satisfied that everything is OK, you can fit the six rubber to the board. As mentioned earlier these mount on the underside of the board using 6mm x M3 machine screws. The two mounting screws on the lefthand side of the board are then fitted with normal M3 hex nuts on the top, while the remaining four take the 12.5mm tapped spacers used to support the Perspex front panel.

Front panel

If you buy a complete kit, chances are the Perspex front panel will come pre-cut with screen-printed lettering. However, we'll assume here that you're making the panel yourself.

The front panel is made from 3mm thick Perspex sheet and all the dimensions are shown in Fig.6. Note that the four mounting holes (A) are countersunk, to take the 6mm x M3 countersink-head screws which attach the panel to its support spacers.

When the panel has been cut to shape, drilled and has its edges nicely smoothed (a sharp perspex edge can cut you almost as readily as glass), try sitting it on the support spacers. The panel should just clear the tops of the LEDs and the quartz crystal case. If it doesn't clear the LEDs, desolder their leads and move them down.

If your crystal's case is just a whisker taller than 12.5mm, even with it mounted down hard against the board, don't despair. The solution to this involves nothing more than placing a small flat washer on the top of each support spacer before you fit the front panel. This increases the board-to-panel spacing by almost a millimetre, which should be more than enough to clear the crystal case.

Don't attach the front panel at this stage - that step comes later, after the check-out procedure.

Check-out time

You are now ready to power up the programmer and quickly check it for correct hardware operation - at least in terms of the basics. To do this, you'll need to fit the correct 2.5mm plug to the 12V 1A plugpack lead, so that it can mate with connector CON2.

Before actually applying power, set your DMM (or multimeter) to measure DC voltage and connect its negative lead to the earthy side of the board. The top of the mounting screw for REG1 is a convenient point to make this connection.

Now apply power and check first that the green power LED is glowing. If it is, use the DMM to check the voltages at the cathode ends of D2, D5 & D4. These should measure about +17.5V, +18V and +35V respectively.

If the LED isn't glowing, or if any voltage is not even near its correct value, switch off immediately and look for wiring mistakes. The most likely cause of any trouble is fitting one or more diodes, transistors or ICs the wrong way around

Note that at this stage, there may also be a number of the red LEDs glowing. That's because the programmer isn't connected to either a PC printer port or an EPROM. Don't worry about this - it's to be expected.

If all is well so far, try measuring the voltages at the output pins of REG1, REG2 and REG3. The output of REG1 should be within a few millivolts of 5.00V, because this is the supply line for most of the programmer's ICs and LEDs. However, the outputs of REG2 and REG3 can be at various levels, depending on the state of their control circuits in this "no-PC-connected" state.

For example, the output of REG2 can be at any of three different voltage levels - 3.7V, 5.7V or 6.95V - depending on the control signals applied to transistors Q1 and Q2. So if you measure any of these three voltages or very close to them, REG2 and its switching circuitry are probably working correctly.

Similarly, the output of REG3 can be at either of two voltage levels, depending on the control signal applied to transistor Q3: 21.2V or 12.95V. So if you measure either of these voltages or very close to them, REG3 and its switching circuitry are probably working correctly too.

If everything is OK so far, check the voltage at pin 14 of the 14-pin ICs, pin 16 of the 16-pin ICs and pin 20 of the 20-pin ICs. These should all measure +5V.

The last quick check you can perform at this stage is to use an oscilloscope or a frequency counter to check the clock signals at the three test points in the front righthand corner of the board. As indicated on the overlay diagram (Fig.6), you should be able to measure 4MHz, 2MHz and 1MHz signals respectively on the three terminal pins.

If you are using an oscilloscope, it should also show these signals to be square-waves with an amplitude of close to 5V peak-to-peak. If so, your crystal clock oscillator and timing divider are working correctly and your programmer is ready for final testing with the software. We'll discuss this in Pt.3 next month.

There are some more hardware tests you can carry out before connecting the programmer to a PC but these require a "dummy printer port" test jig like the one we plan to describe next month in a separate small article. This simple little gizmo will allow you to check the programmer's pulse timing, configuration and mode decoding circuitry, if you wish.

It can also be used to check out printers but you'll have to wait until next month for more information on this device.

Table 2: Capacitor Codes
Value IEC Code EIA Code
100nF 100n 104
1nF 1n 102
100pF 100p 101
33pF 33p 33

The socket adaptors

The small socket adaptors are designed to allow the programmer to also handle EPROMs in 24-pin DIL and 32-pin PLCC packages, as well as the 28-pin and 32-pin DIL devices which plug directly into the main ZIF socket.

There are three of these adaptors - one for 24-pin DIL devices and the other two for PLCCs. So why do we need two different adaptors for PLCC devices? The reason is that although all devices with capacities up to 2Mb are in 32-pin packages, the 1Mb and 2Mb devices have different connections compared to the 64-512Kb devices.

Another adaptor is required for the 24-pin DIL devices for almost the same reason. Although they're physically compatible with a 32-pin socket, these devices have more connection differences than the programmer's configuration circuits can handle. The adaptor overcomes this problem.

Fig.9 shows the parts layout diagrams for the three adaptors. There's very little in them and all three use wire-wrap sockets with long tails to form 32-pin "plugs" that fit into the programmer's main ZIF socket. The 24-pin adaptor then has a 24-pin ZIF socket of its own to take that size of EPROMs, while the two PLCC adaptors have standard 32-pin PLCC sockets instead.

Note that we've used standard 32-pin PLCC sockets because ZIF sockets for PLCCs are very expensive - about $150 each! Fortunately, it's quite easy to insert PLCC devices into the standard sockets by hand and then remove them again with low-cost extractor tools (like the DSE T-4655).

Apart from the wire-wrap "plugs" and their interconnected sockets, the only other items on each adaptor board are a single wire link and a 100nF multilayer monolithic bypass capacitor, on the EPROM Vcc line. So they're each easy to put together.

Reading test jig

During the programmer development, we also made up a little plug-in jig to test the unit's read mode operation. However, although this device is handy, you shouldn't really need one unless it's for servicing the programmer at a later stage. For that reason, we're providing the circuit and board overlay diagram for those readers who want to build one up.

Fig.10 shows the circuit details, while Fig.11 shows the parts layout on the PC board. Basically, it's a very simple "dummy EPROM" with only one address (or every address). It simply provides a pullup resistor for each data pin of the 32-pin EPROM socket, plus a set of eight DIP switches so that you can manually set each pin to either a "1" or a "0". This allows you to set up a data byte which can be read back by the computer software by sending the appropriate instructions.

Note, however, that because the jig "jams" its data on the programmer's internal data bus lines, it can't be left plugged in while you're trying to download configuration bytes, timing register bytes or write data bytes. It's purely to provide a data byte for testing the read functions.

Whether or not you build one of these little jigs is up to you. It won't cost you much but on the other hand, you don't really need one unless your programmer develops a fault.

Software

That's all for now. Next time, we plan to give you details of the Visual Basic for DOS software that's been developed to run the programmer.

Parts List

1 PC board (double-sided with plated-through holes), code 07112021, 178 x 127mm
1 4.00MHz quartz crystal (X1)
1 12V 1A AC plugpack supply
1 DB25F socket, 90° PC-mount
1 DC connector, 2.5mm PC-mount
2 12V SPDT miniature relays, PC mount
1 32-pin zero insertion force (ZIF) IC socket
6 12.5mm-diameter rubber feet
9 M3 x 6mm machine screws, round head
5 M3 nuts
4 M3 tapped spacers, 12.5mm long
4 M3 x 6mm machine screws, CSK head
1 Perspex sheet, 95 x 127mm (3mm thick)

Semiconductors

1 74HC245 octal buffer (IC1)
1 74HC157 4 x 2 multiplexer (IC2)
1 74HC138 3-to-8 decoder (IC3)
3 74HC00 quad NAND gate (IC4, IC16, IC19)
4 74HC04 hex inverter (IC5, IC12, IC15, IC17)
4 74HC373 octal latch (IC6, IC7, IC8, IC9)
2 74HC74 dual flipflop (IC10, IC11)
2 74HC161 4-bit PL counter (IC13, IC14)
1 74HC02 quad NOR gate (IC18)
12 PN100 NPN transistors (Q1, Q2, Q3, Q4, Q6, Q7, Q8, Q10, Q11, Q12, Q13, Q15)
3 PN200 PNP transistors (Q5, Q9, Q14)
3 1N4148 switching diodes (D1, D12, D13)
10 1N4004 1A power diodes (D2-D11)
6 3mm red LEDs (LED1-LED6)
1 3mm green LED (LED7)
1 7805 positive 5V regulator (REG1)
2 LM317 adjustable regulators (REG2, REG3)

Capacitors

3 2200μ 25V PC electrolytic
1 470μF 63V PC electrolytic
1 100μF 16V PC electrolytic
1 2.2μF 35V tag tantalum
24 100nF multilayer monolithic
5 1nF metallised polyester
2 100pF NPO ceramic
2 33pF NPO ceramic

Resistors (0.25W 1%)

1 1MΩ
2 3.9kΩ
1 330kΩ
1 2.2kΩ
1 220kΩ
1 1.2kΩ
1 150kΩ
1 820Ω
1 120kΩ
7 470kΩ
1 11kΩ
2 240Ω
19 10kΩ
3 220Ω
1 5.6kΩ
22 100Ω
1 4.7kΩ
1 10Ω

The following downloads are available for this article:


jerkasmarknad.se  | Expressn  | lankar
Aftonbladhet  | Svenska Dagbladhet  | Sökmotoroptimeringstävling  | Expressn  | Alla Sidor  | Internetvärd  | Freefind
precharge projectnet  | precharge projectnet  | precharge projectnet  | precharge projectnet  | precharge projectnet  | precharge projectnet
Kassaskåp  | Kassaskåp  | kassaskåp  | Kassaskåp  | Kassaskåp  | Kassaskåp  | Kassaskåp
Kassaskåp  | KassaskåpsPoolen AB  | Kassaskåp  | SafeClub.se  | Kassaskåp  | Kassaskåp
vildblomma  | kista blogmole  | CPayscom-2  | Kista Tower  | jerka1950  | cultur25  | jullan2044  | jerspa  | vildblomma
carcasherdotcom  | carcasherdotcom  | Parkteatern  | sweden  | submitforce  | coca-cola  | africa  | violin jm
art  | serial  | kista tower  | wood  | jerka  | sweden  | info  | Vorgermilten.eu  | info  | Sub Leksaker
Incoming  | Outgoing  | javajerka  | Axanator  | Phalle  | Retardin  | Vorgermilten
backlinks  | ingmar bergman  | saab  | midi  | mp3  | convert  | links  | links
search18  | tsunami  | krogsnusk  | nostalgipalatset  | search engines  | big serch engines  | ax links
toppsites  | toplists  | news  | portal  | blog  | photography  | instruments  | mylava
music  | anna lindh  | chernobyl  | resistor  | mobira  | eu  | index.php  | Inlänkar
portal  | links  | search  | submitforce  | submitforce  | incoming links  | deadheads  | leksaker
violin 2  | portal  | blog  | cncat links  | news online  | precharge projectnet  | Carcasherdotcom Seocontest  | Carcasherdotcom Seocontest