The microwave transmitter consists of following blocks:
30 - 6000 MHz synthesizer with power amplifier
The microwave transmitter consists of following blocks:
Top Layer (L1)
image/png - 253.94 kB - 03/30/2017 at 13:52
Inner Layer 2 (L3)
image/png - 181.86 kB - 03/30/2017 at 13:52
Bottom Layer (L4)
image/png - 166.58 kB - 03/30/2017 at 13:52
Inner Layer 1 (L2)
image/png - 161.47 kB - 03/30/2017 at 13:52
Adobe Portable Document Format - 229.54 kB - 03/28/2017 at 13:06
It's kinda shame to be RF engineer and not own a decent spectrum analyzer... Well, it's on my Christmas wishlist since I was 10, but noone bothered to buy me one so far. RTL-SDR was interesting tryout, but definitely not satisfying enough. Luckily, my local hackerspace has a nice little Agilent E4411B, 9kHz-1.5GHz spectrum analyzer, so I decided to give it a try.
I wanted to see how the signal looks like after every block of the cascade. That's why I used a standard oscilloscope probe instead of SMA cable. Of course, it's a very unprofessional approach in RF engineering, but I needed quick-and-dirty way to investigate my board. Hopefully, if I reduce the frequency low enough, the RF black magic will spare me some meaningful insight.
And here's the spectrum of my signal, directly at the MAX2871 output. It doesn't look bad at all! It's very narrow banded and stable over the time. It's only weakness is that it's..er..weak. It peaks to -25 dBm, while the datasheet specifies it should be minimum -5 dBm. What could make it this small? Bad soldering? Some capacitive leakage that I'm not aware of?
The following table shows the signal power after each element in the circuit:
|1st switch||-29 dBm|
|2nd switch||-32 dBm|
|PE43711 (set to 0 dB att)||-32 dBm|
|Power amp||-43 dBm|
|Coupler and connector||-43 dBm|
And we have a winner! The biggest damper is, ironically, power amplifier. I assume it's only one more bad soldering job, as many others on board.
So, the next task is, obviously, to rework the power amp. And for the future testing, stay out of RTL-SDR based spectrum analyzers.
Verifying that all components are working properly enables me to run the first functional test of the MW transmitter - frequency synthesis. In the repo, there is "Basic" example that configures MAX2871, attenuation, filter and ADC for RSSI detectors (even though the latter ones do not work, presumably).
The configuration is set as follows:
I intentionally set the DIVA so high so that I can measure the output frequency with my RTL-SDR dongle. With 5 dBm there should be no problem detecting some signal.
The "Basic" example makes user choose register content readout and turning on/off the RFOUT.
However, things didn't go as planed. Good things first: there was some output, and I could control it (turn it on/off) with my program. Bad things: The signal was very low, way below the expected 5dBm level. And it was also very wideband and filled with spurious content. Here's an example screenshot from RTL-SDR that runs "spectrum analyzer" program.
I cannot say that the basic functionality test has been passed, so the further investigations and debugging must take place. I'm just not sure where to start looking from. Is the MAX chip configured poorly (it shouldn't be, I used configuration from datasheet example) or do I get some terrible damping from my circuit?
After verifying the main chip, MAX2871, it would be nice to see if other components work as well.
First, I tested 4PST switch SKY13322-375LF. The switch is controlled with 4 parallel inputs that switch RF input to one of four outputs. I wrote a simple code that allows user to chose (and change) desired output and measured the connection between input and corresponding output. I was hoping to hear that lovely "beep" when I send certain character on the serial terminal. Guess what, it didn't work. There was short circuit to the GND from all outputs. Bad soldering job with my reflow oven. After the rework, everything worked fine.
Second thing was the attenuation chip PE43711. It is controlled over SPI and attenuation can be set in steps of 0.25 dB with more or less precision over the frequency range. The attenuation is calculated as an 8-bit word/4. Since the chip doesn't provide any data output, I only could test it with a multimeter. I measured input and output resistance as well as resistance from input to output with various settings. My observations are in the table below:
|Attenuation, dB||R in||R out||R 1-2|
So, the resistance changes when different setting is chosen. I guess this suggests that SPI and chip work.
Power amplifier doesn't provide any meaningful testing options - I can only hope it works when it is powered on.
RSSI detectors are weird. I can measure detected signal using the ADC on Teensy. However, measured voltage is somewhere around 0.3 - 0.5V, even though there is signal at the input. Interestingly, the measured value drops to 0 when I put the voltmeter on the output pins. I have no explanation at the moment. My only guess is that troublesome soldering of BGA chips resulted in bad joints and ADC input measures any picked up voltage. Voltmeter probably than acts as a pull-down resistor and sets the measured value to 0.
Overall, since synthesizer, switches, filters, attenuation and power amp work, I can hope to see generated signal with a spectrum analyzer. When I get one.
It really took a long time to get the damn MAX chip working. Although I made it set MUX line high or low, I couldn't make it talk to me via SPI. On the scope, this line looked like nonsense:
In the process of investigating, I managed to burn 3 Teensy boards and 2 MAX chips. Don't ask how. I consulted tech support of Maxim Integrated as well. They were really friendly and prompt reacting (thanks Mohammed). But, before I got the answer from them, I decided to try one thing.
MUX bits are distributed in two registers. MUX is in reg 5 while MUX[2:0] in reg 2. My initial code was writing reg2 first and reg5 later. For no clever reason, I decided to switch the order of writing. Guess what? Problem solved.
Synthesizer MAX2871 can be configured using SPI on one of its six 32-bit registers. To test if everything works fine, I wrote a prompt Arduino program that runs the SPI bus and configures these registers in very simple way: setting pin MUX of the MAX2871 high or low. This is done by setting adequate bits of registers 0x5 and 0x2. this pin can also be configures as SPI data out (MISO) pin that reads out the contend of the only read register, 0x6. The read data is chip ID, ADC code and VCO status.
The program initializes the chip (programing all registers twice) and toggles MUX pin high and low every two seconds. After user input on serial port, the program displays read data from the above mentioned register. However, while the pin toggles fine, what led me to believe that SPI works as it should, read out makes troubles. It reads code that makes no sense. Still to be checked.Read more »
After my honeymoon trip and triathlon race, I finally found the time to fix those bugs. Broken LDO was replaced by some similar 3V3 LDO in SOT 32-5 package from an older project. It did the job well, and 3V3 as well as other voltage, were present at their places.
RF detector on the other hand was a bit more difficult thing to find. Log detector LMH2110 that I lost was available only from Digikey, that would charge me additional $20 for shipping on $1 of chips. The retailer that has lower shipping costs in my country, RS components, only offers another chip in the same package with the same pinout: LMH2120. Thing is, this is a linear detector. But, since it was cheaper solution, I decided to give it a try. I'll worry about log/lin issues later.
It was the same pain soldering it as before. However, I didn't use hot plate, although I planned to do so. I've put a bit of solder on those tiny BGA pads and covered them with flux. Then, I placed the chips, carefully under the microscope. And finally, I soldered them using the hot air gun, high temperature but very low air speed. I usually don't use microscope when working with SMT, but for chips this size, it was detremental. In any case, chips got soldered, though I'm not 100% sure if they're placed in the right way.
The soldering process went on mostly well, no tombstones, no misplaced components and no excesive solder...however, some bugs were found and caused me a couple of hours of annoyance:
These are all bugs I found so far. I examined the board and believe that it main parts should work properly. I could test out the VCO, attenuator and switches, but I cant solder the Teensy on board before all my reworking is done. So, when new detectors arrive, I'll give it a test try.
Friday evening is fun evening for some, but soldering evening for me. In the coworking space with my beer and curious passerby I patiently sat and manually placed every single component, ruining my eyes and hurting my back. This is how the process went:
So, today I received the PCBs from OSH park, the last thing I was waiting. It has been a month since the order. What to say about it? DigiKey parts arrived within two days, OSH Stencils arrived within a week and pcbs within a month. See the geometrical progression there? I assume they would arrive sooner had I payed for a priority shipping, but this is a hobby project, therefore no rush. Now, to the lab and get on with soldering!
Today, I've completed all orders: PCBs (OSH Park), stencils (OSH Stencils) and components (Digikey). These are the total costs:
|PCB (4 layers, 3.5"x1.4")||€44.20|
|Stencils (3mil kepton, 1" margins) + shipping||€14.50|
|Components (ICs, some inductors)||€55.50|
Not a cheap hobby. Still, it's in the price range of cheaper RF synthesizers obtainable on Alibaba or Ebay. However, this synthesizer offers on board power meters that can be used for level control as well as scalar network analysis.