Yaesu FT-8900R Repair – Part 01

While visiting family in Espanola, the three of us (Julie, Felix and I) stayed with one of Julie’s cousins (Denis), who as it happens is a fellow ham (VE3OOZ). Back in May, Denis showed me some of his radio gear and lamented that he had a nice quad-band radio which had the magic smoke escape. I asked Denis to save the radio from the scrap bin if he was planning to throw it away. In an attempt to save the radio, Denis sent it away to be assessed and if practical, have it repaired.

Work order for repair of FT-8900R

Work order for repair of FT-8900R

Well .. the radio came back from the repair shop with a ~$100 invoice saying that they were unable to repair the radio as the final amplifier requires a special soldering tool (which apparently the repair shop does not have access to). Looking at the FET, I am unable to imagine what kind of “special tool” is required.

At the conclusion of our visit in Espanola, Denis offered up the “box full of parts” for me to attempt my first modern radio repair!

The problem: the radio would key-up but would not produce any RF at the antenna port. The likely cause: a blown final amplifier.

Rigol DS2202 200MHz oscilloscope using home-made short ground lead and probe tip for high-frequency measurements.

Rigol DS2202 200MHz oscilloscope using home-made short ground lead and probe tip for high-frequency measurements.

My first order of business was to prepare my oscilloscope for high-frequency probing at an impedance of 50Ω. I rummaged through my box of connectors which a very generous ham (Ted) gave me a few years ago. My quest was for an in-line 50Ω termination. With the scope termination impedance matched to the radio, I turned my attention to the probe itself.

When working with high frequency waveforms, it is useful to keep the ground lead as short as possible which meant fabricating an on-probe ground leg out of some scrap wire.

200MHz probe with small wire wrapped around probe ground to provide short lead.

200MHz probe with small wire wrapped around probe ground to provide short lead.

Short ground legs are commercially available and have the advantage of being made of spring-steel which is a godsend. My poor rendition of a ground spring used a length of tinned copper wire wrapped multiple times around a golf-tee as a form. I then transferred the coil end onto the scope probe and bent up the long remainder of the wire into a lead form as shown in the image.

Having spring steel would have made life a whole lot better as it turns out. Too bad I am cheap!

Basic test setup with radio and a Bird 300W 50Ω dummy load.

Basic test setup with radio and a Bird 300W 50Ω dummy load.

With the oscilloscope ready for action, I prepared the radio which meant powering it up and reducing the RF output power to 5W on all bands.

Recall that VHF/UHF is quite bad for the eyes as they absorb the RF energy at a disproportionately higher rate than the rest of your body!

I also terminated the radio antenna port into a 50Ω dummy load to provide a resistive load for the RF to meet with both safety and regulatory requirements. My initial transmission included my callsign and “testing” just to be above-board with the whole process.

Yaesu FT-8900R guts showing primary area of interest for probing 2m and 70cm amplification stages (area shown in red box).

Yaesu FT-8900R guts showing primary area of interest for probing 2m and 70cm amplification stages (area shown in red box).

My initial test at 144.400MHz had the probe at the final FET and did not produce a waveform on the oscilloscope screen – it did however show the DC bias on the FET for normal operation. Time to change the probe inputs to AC coupling! (oops)

I then consulted the service manual for the radio in order to determine the signal path for 2m. The radio operates on four bands and so it would be important to check the output for all four bands as there are bound to be at least a few possible paths. The hope is to find a common fault which is ideally less involved and cheaper to repair.

Factory service manual showing 2m and 70cm signal paths.

Factory service manual showing 2m and 70cm signal paths.

As per the documentation:

144 MHz Signal
The adjusted speech signal from Q1054 is passed through the transistor switch Q1501 (BU4066BCFV) to varactor diodes D1076 and D1077 (both HVC365), which frequency modulate the transmitting VCO, made up of the VHF-VCO/B Q1109 (2SC5375) and D1078 (HSC277).

Probing the waveform at the gate of Q1139 (also confusingly shown as Q1039 in schematics).

Probing the waveform at the gate of Q1139 (also confusingly shown as Q1039 in schematics).

The modulated transmit signal is passed through buffer amplifiers Q1100 and Q1111 (both 2SC5374) and diode switches D1075 (HSC277) and D1128 (DAN235E) to the pre-drive amplifier Q1139 (2SK2596).

5W (intended) 144.400MHz waveform showing 1.5Vpp (500mV vertical scale) when probing the gate of Q1138 (also shown as Q1039).

5W (intended) 144.400MHz waveform showing 1.5Vpp (500mV vertical scale) when probing the gate of Q1139 (also shown as Q1039).

The amplified transmit signal from Q1139 is passed through the diode switch D1139/D1140 (both HSC277) and the driver amplifier Q1137 (2SK2975) to diode switch D1133 (RLS135), then finally amplifier by power amplifier Q1134 (RD70HVF1) up to 50 Watts of power output. These three stages of the power amplidier’s gain are controlled by the APC circuit.

The 50-Watt RF signal is passed through a low-pass filter network to the antenna switching relay RL1001 (G5A237P), then passed through a high-pass filter network and another low-pass filter network to the ANT jack.”

The results shown indicate that the modulated audio is making it as far as Q1139 (the pre-drive amplifier) which is taking a 1.5Vpp signal and effectively amplifying it to 28Vpp.

Probing the waveform at the drain of Q1139 (also confusingly shown as Q1039 in schematics).

Probing the waveform at the drain of Q1139 (also confusingly shown as Q1039 in schematics).

Checking the drain of Q1139, the 144.400MHz signal was observed to have a peak-to-peak voltage of 28.2V

This means that we can feel reasonably certain that the pre-driver amplifier is fine and is passing the appropriate signal level on to the next amplification stage.

5W (intended) 144.400MHz waveform showing 28.2Vpp (5v vertical scale) when probing the drain of Q1138 (also shown as Q1039).

5W (intended) 144.400MHz waveform showing 28.2Vpp (5v vertical scale) when probing the drain of Q1139 (also shown as Q1039).

Between the stages are a series of filter elements and diode switches. The easiest circuit element to check are the inductors as they should have a low in-circuit resistance and in the correct signal path, should pass the RF signal with some ease.

The diodes can be checked with a VOM in-circuit by using the (often) built-in diode check function. Being sure to test the diodes in both possible orientations, my first check would be for complete opens (that is no conductivity in either direction).

Before starting on the individual components, it is worthwhile to check the input side of the next amplification stage (the gate of Q1137) to see if we have a reasonable signal at that pin.

5W (intended) 144.400MHz waveform showing 28.6Vpp (5v vertical scale) when probing the left side of L1141

5W (intended) 144.400MHz waveform showing 28.6Vpp (5v vertical scale) when probing the left side of L1141

Upon scoping the gate of Q1137, it was found that there was no appreciable signal at that pin. Time to go back through the signal path and take some measurements at various points.

The first verification was the left side of L1141 to ensure that the same signal leaving Q1139 actually lands at the inductor. Sure enough, we have a good waveform and so to ensure that the

5W (intended) 144.400MHz waveform showing 28.0Vpp (5v vertical scale) when probing the right side of L1141

5W (intended) 144.400MHz waveform showing 28.0Vpp (5v vertical scale) when probing the right side of L1141

inductor is passing the signal, the right side was scoped and the output captured.

The voltage on the right side of L1141 was 28.0Vpp and the waveform looked very good. C1727 was the next component in the signal path, so it made sense to continue proving the signal as it progressed through the filtering / switching stage.

The results were interesting to say the least.

5W (intended) 144.400MHz waveform showing 27.2Vpp (5v vertical scale) when probing the bottom side of C1727

5W (intended) 144.400MHz waveform showing 27.2Vpp (5v vertical scale) when probing the bottom side of C1727

At the bottom side of C1727, a nice clean 27.2Vpp signal was observed. On the other side of C1727, there was a significant drop in voltage.The signal was measured to be 9.76Vpp. The voltage dropped across C1727 was 17.44V

5W (intended) 144.400MHz waveform showing 9.76Vpp (2v vertical scale) when probing the top side of C1727

5W (intended) 144.400MHz waveform showing 9.76Vpp (2v vertical scale) when probing the top side of C1727

Although my oscilloscope is rated (and calibrated) to 200MHz, it has been tested to be within the 3dB range beyond 350MHz and so I am fairly comfortable in the measured waveform voltage.

Does this decrease in voltage across C1727 concern me? Time to have a look at the value for C1727.

The service manual lists the capacitance to be 33pF with a 50V rating.

The expected current through a 50Ω resistor with a voltage drop of 17.44V is 0.35A (I = 17.44 / 50Ω) and thus, using this current, we can calculate the expected voltage drop across the capacitor and compare it against the measured value. First, we will need to calculate the impedance (capacitive reactance) of the capacitor.

Recall that capcitors improve in their ability to pass AC signals as capacitance and frequency increase, therefore, the reactance decreases. This informs us to use the following equation:

Xc = 1 / (2 π C) therefore Xc = 1 / (6.28 * 144E6 * 33E-9) = 0.033Ω

According to Ohm’s Law, the expected voltage drop should be: 0.01V (V = 0.35A x 0.033Ω) versus the observed 17.44V. With a voltage drop of 17.44V across an (expected) 0.033Ω the current would be 528A (I = 17.44v / 0.033Ω) which is impossible for this tiny capacitor. Looks like this capacitor is suspect!

… more to follow

Posted in General | Tagged , , | 5 Comments

DSP232+ and the RTS / CTS fix

If you own a Timewave DSP-232+ TNC and are trying to connect to it using a USB to serial adapter, then you have likely come across issues when trying to operate in KISS mode. No matter what the settings, it appears that the DSP-232+ requires hardware flow control using the RTS (ready to send) and CTS (clear to send) control lines.

RS232 pinouts

RS232 pinouts

Most USB to serial adapters that I’ve worked with do not have the facility to use the RTS / CTS lines. One solution would be to replace the passive DB-9 serial plug with a DB9-USB-M which acts as a USB to serial converter that allegedly supports RTS / CTS.

DSP232+ RS232 schematic

DSP232+ RS232 schematic

In this case, I plan to short out RTS to CTS on the DSP232+ circuit board, fooling the DSP232+ into believing there is hardware flow control from the host. Looking on page 275 of the DSP232+ manual, the schematic for the RS232 port is shown.

Looking to make the hardware flow control fix a temporary measure, I would like to short out the RTS and CTS pins with a jumper wire. This is most easily accomplished by looking for convenient connection points in the circuit.

The RTS line (pin 7) and CTS line (pin 8) are shown as connecting to decoupling capacitors C11 and C15 respectively.

To short the RTS and CTS lines, we will look for the “high side” of the decoupling capacitors on the circuit board.

Location of C11 and C15 on DSP232+ circuit board

Location of C11 and C15 on DSP232+ circuit board

Looking at the PCB, the manufacturer was kind enough to label the components on the top-side. The red arrows in the accompanying image indicate the “high side” of the capacitors (note the thick ground-plane on the opposite side of the SMD caps?).

Using a thin piece of insulated wire, I will solder one leg to the capacitor C11 (lower right) and insert the other bare end into the via shown at C15.

C11 to C15 jumper soldered in to short RTS to CTS

C11 to C15 jumper soldered in to short RTS to CTS

With the jumper in place, we can test the DSP232+ with a USB to serial adapter, putting the TNC into KISS mode and waiting to see packets in the command line.

I will admit that my solder job at C11 is not the most beautiful sight to behold, but it will work for this test.

Notice also I’ve got some bodge wires – they connect the DB9 connector to their signal-appropriate nodes on the PCB. The old USB to serial style adapter which came with this DSP232+ was fried and the traces were lifted, necessitating a repair job to make the unit functional.

DS1216C and U5 stackedIn other news, I finally received the DS1216C that I’ve been waiting to try as a RTC for the DSP232+. The Dallas parts never did work when I tried to parallel them with the EPROM U5 shown in the above image. The DSP232+ boots normally with the DS1216C stack as shown and so I used some hot-glue to hold everything in place as the DS1216C has less than stellar mounting to the original socket.

Posted in General, Operating, Project | Tagged , , , , , , | 1 Comment

DSP-232+ and KISS operation

While I wait for my DS1243Y-120+ samples to arrive, I thought I would spend a bit of time working with my DSP-232+ and a Raspberry Pi. Although the DSP-232+ is capable of acting as a standalone system, I would like to press it into service as a simple TNC for VHF packet and APRS use. One plan is to have a Raspberry Pi acting as an iGate for APRS.

To begin, I connected a USB-to-RS232 adapter to the Pi and the TNC. This was a simple task and allows the Pi to communicate with the TNC at RS232 levels. The DSP-232+ does not communicate at TTL levels and so the USB to serial adapter bridges that gap nicely.

The distribution I am using on the Pi at the time of writing is Rasbian Jessie and uses kernel 4.1. After installing the distribution, I updated the packages by running the commands:

sudo apt-get update
sudo apt-get upgrade

After the updates are completed (which may take quite some time), I installed a number of AX.25 tools which are central to packet operation and the Raspberry Pi. This is done by issuing the command:

sudo apt-get install screen build-essential python-serial sqlite3 python-dev soundmodem libax25 libax25-dev ax25-tools ax25-apps libax25-dev

With the AX.25 packages installed, we are ready to start modifying the system to match our setup. To start, I edited the axports file to create a virtual radio port which will communicate with the radio via the DSP-232+ TNC.

sudo vi /etc/ax25/axports

One particular note – the axports file must not contain any blank lines! Be sure to keep this in mind when editing the file. My axports file simply contains the line:

0       VE3BUX-1        9600   128     4       TNC1

This creates a radio port (numbered zero) which has a data rate (to the TNC – not over the air) of 9600bps which matches my TNC settings. The next two values are “paclen” and “maxframe”.

“paclen” sets up the length of packets, smaller being used in more challenging (noisy) situations and on HF. As a general guide, it is suggested to use 128 as a default (particularly when using nodes or digipeaters). A value of 255 can be used for very low-noise environments and for direct connections. In my case, the DSP-232+ has a default paclen of 128 for 1200 baud VHF packet (p82 of the manual).

“maxframe” is one of the values which determines how data is sent in general. A good starting point is to use a maxframe of 4 as a default for VHF – perhaps as high as 7 for ideal conditions. For HF or marginal to poor conditions, a setting of 2 or even 1 is suggested.

With the axports file edited to our needs, we can now create the KISS port for the Pi to interface with. To create the interface, we need to know where the serial port exists in our /dev system. In my case, the USB device can be addressed as:

/dev/ttyUSB0

We will attach our KISS port 0 to the system and assign it an IP address of 44.128.0.2

Something to note is that you can assign a private IP4 address to the port – I selected the 44.0.0.0/8 network block as AMPRNet is specifically for Amateur Radio. You can request a 44 network IP address by using the AMPRNet portal.

sudo kissattach /dev/ttyUSB0 0 44.128.0.2

Until I can have an IP address assigned, I will “piggyback” on the network as 44.128.0.2 which should not be an issue as there is essentially zero packet activity in my area (aside from APRS).

If you run the command:

ifconfig

You should see an ax port in your network configuration list:

ifconfig sample output

ifconfig sample output

Next, we can test our configuration by tuning into the APRS frequency 144.390MHz and watching for packets:

sudo axlisten -a -c
axlisten sample output

axlisten sample output

A neat daemon which runs in the background is mheardd which listens for packet stations and stores the data in the file /var/ax25/mheard/mheard.dat which will store  the last 100 callsigns as well as the last heard date & time. To run the daemon, type:

sudo mheardd

At any time  you can use the mheard command to recall the callsigns your system has decoded from packet data.

mheard

The output of which will look like:

mheard test output

mheard test output

Once you are able to see packet data, you are in business! This opens up a world of possibilities for you – APRS iGate, Packet BBS, etc …

Posted in General, Project | Tagged , , , , , , , , , , | Leave a comment

Modifying a Timewave DSP-232+

Now that I have a feedline to the attic, I can really start to make use of my radio and its accessories. Some time ago I picked up a Timewave DSP-232+ TNC / full featured radio modem. I thought it might be fun to hook up the TNC and set up a packet / APRS station, so I started reading the DSP-232+ manual once again.

U5 EEPROM installed in DSP-232

U5 EEPROM installed in DSP-232

DS1216C real time clock

DS1216C real time clock

While perusing the manual, I noticed an entry in ch4 p10 which mentions that it would be possible to add a DS1216C SmartWatch clock chip from Dallas Semiconductor (now Maxim). The real-time clock would allow the DSP-232+ to operate without a computer and to keep accurate time. Interested in such a possibility, I looked up the part and found that it was discontinued. There are sources for these microchips out there but I was happy to try to use an alternative. According to the Maxim website, it is possible to replace the DS1216C with a newer realtime clock chip such as the DS1244Y-70+.

U5 and DS1244Y+70 microchips

U5 and DS1244Y+70 microchips

I ordered a couple of DS1244Y samples from Maxim and they arrived only a few days later. I have got to say that I am extremely grateful that the electronics industry provides engineering samples – this is a phenomenal resource and I often make us of it. It is a wise investment as many designers tend to use the parts which they sample and use in the prototyping phase of a project for their final design. I certainly do so whenever practical.

Chip stack dry-fit

Chip stack dry-fit

With the replacement RTC in-hand, I was ready to install the chip in the DSP-232. The old part (DS1216C) was a “pass-through” type where the existing EPROM (U5) would be inserted on top of the RTC and the RTC-U5 combo would be re-installed in the U5 socket. It is somewhat common to have a RTC and a RAM/ROM chip combo as the RTC often provides non-volatile ram in a design. The DS1244Y, while also a 600-mil DIP package, is not a pass-through design.

Reading U5 EPROM - M27C512

Reading U5 EPROM – M27C512

Prior to soldering the chips together, I thought it prudent to press my MiniPro TL866 programmer into service.

 

While tinkering in the past, I have let the magic smoke out of many microchips and I did not wish to repeat the experience. This ROM has data that I am unable to replace. As such, I like to keep binary files that contain a bit-wise copy of all data for the PROMS that I can get my hands on. You’d be amazed at the code / data that I have collected over the years.

MiniPRO programmer settings

MiniPRO programmer settings

I inserted the ST Microelectronics M27C512 one-time program EPROM into the reader and fired up the MiniPro.exe (v6.5). You may have to update the firmware on the programmer as I did – this is to improve stability and performance and is highly recommended.

 

Selecting “Select IC (S)” then “Search and Select”, I typed in the chip’s identification M27C512, selected ST on for the “manufactuory” and then the DIP28 device.

MiniPro TL866 read/write results

MiniPro TL866 read/write results

The read process proceeded very quickly and have the “Ok” result.

Being weary of the results, I often do a second read to confirm that there were no issues. In the past, I’ve saved corrupted data when a misleading read result was obtained.

The MiniPro TL866 is a very budget friendly programmer and is well worth buying on eBay, despite the obvious issues with translation, etc. The unit and software support a large number of manufacturers and chipsets.

MiniPro data screen for M27C513 PROM

MiniPro data screen for M27C513 PROM

Once you select “Cancel” from the read / write screen, the downloaded data is available for inspection and storage.

I always verify the data by selecting “Device (D)” and then “Verify (V)”. This performs a second read cycle and verifies that the displayed data matches the second data download.

Once the data verifies as good, I save it in both HEX and BIN formats.

MiniPro file load options

MiniPro file load options

One note – if you load the data later, it is important to know whether you should change the “Clear buffer when loading the file” drop-down box. In this case, when I loaded the HEX file to verify that the saved data is also valid (yes I am paranoid), I had to select “Clear buffer with 0x00” to ensure the data matched what was present on the PROM.

With the data safely stored on my NAS server, I was confident that I could proceed with the actual creation of the chip-stack. I had considered rolling out a PCB to house parallel sockets for the microchips but decided that I was too impatient to make the CAD drawing and knew of a much quicker (albeit less elegant solution).

Chip stack soldered together

Chip stack soldered together

A quick and dirty solution to running microchips in parallel (in the DIP package) is to simply stack them and solder the leads together. After slightly bending the leads outward on the top unit, you can sandwich the two (or more) microchips. Once bent and in position, it is a simple matter to solder the leads together to retain the stacked formation.

While I could have tested the chip stack as a dry-fit, I have run into problems doing so in the past. It is possible to have a poor connection which misleads you when you are working with the stack.

Chip stack installed in U5 socket of theDSP-232

Chip stack installed in U5 socket of the DSP-232

In hindsight, I should have at least tried the dry-fit method prior to soldering the chips together.

Very eager to fire up the DSP-232+ and set the RTC, I installed the chip-stack just as the PROM was previously installed and fired up the unit.

“Christmas tree lights”

That is an expression you never hope to utter, let alone see. The expression describes the unintended state of the display and diagnostic lights when something bad or unexpected happens.

The DSP-232+ would not boot with the chip stack installed. I tried moving the stack forward and still no luck. I decided that the addition of the “drop in equivalent” DS1244Y RTC was the culprit. Sadly, the only good method of de-installing the chip stack which was available to me was to cut off all of the leads of the DS1244Y and then remove the lead remnants from the U5 (M27C512) with a soldering iron one-by-one, destroying the DS1244Y.

Doh! Thankfully the kind people at Maxim Integrated agreed to send more than one DS1244Y RTC. With my spare RTC, I will be running the two chips in parallel on a breadboard so that I can determine:

  • is there a pin difference between the DS1244Y and the DS1216C which prevents operation?
  • can I bodge the DS1244Y and the M27C513 (U5) PROM together with a minimum of connections
U5 breadboarded to DSP-232

U5 breadboarded to DSP-232+

The bread-boarding process is slow and a bit clunky but it should work. I hope to compare both datasheets for the DS1244Y and DS1216C to see something that jumps out as an incompatibility.

I’ve already verified that the PROM is readable in its prototype (on a breadboard) state. In some cases, such a method would not work – mostly high frequency stuff and it generally fails due to distributed capacitance in the breadboard. High speed stuff requires special consideration about ground planes and minimizing capacitance between leads / components – something which is impossible with a conventional solderless bread-board.

Ribbon jumpers for solderless breadboard

Ribbon jumpers for solderless breadboard

I need to get more jumpers before I can proceed – I need 28 in total. Looks like a good time to scan Amazon for some ribbonized jumpers!

I’ve also got a slightly different RTC on the way. The only obvious difference between the DS1244Y and the part I have on order appears to be a difference in memory structure.

As I continue this project, I will be sure to post another update.

Stay tuned for more!

Posted in General, Project | Tagged , , , , , , , , | 5 Comments