Monday, August 29, 2011

Yagi Antenna 88-108 MHz

This antenna below is a construction of an Yagi antenna calculated for the FM broadcasting band 88 - 108 MHz. The central frequency used for 100MHz. You can extrapolate easily below for others frequency grace to values of diagrams. This antenna is less difficult to construct than the one presented on the previous page.


Description
The goal of this page is to help you to construct an antenna, not to make the theory of this one, theory complex strong to staying it. Here are some definitions of basis therefore. The name of axis of an antenna call the BOOM. The antenna uses a dipole says " trombone " that is the only element a few delicate to achieve. Contrary to what lets believe diagrams above the two tubes of the trombone are not to dish " but disposed perpendicularly to the axis of the antenna. On the photo below taken perpendicularly to the antenna one doesn't see the two tubes, but in " alone appearance " one. Directors increase the directivity of the antenna (sense of the arrow) but as the gain, it is because of them that with 4 elements the antenna to a Gain of 6dB and 5 elements procures a Gain of 8dB. The reflector return the bundle of wave " collected " by directors toward the dipole, but his major role is to protect the antenna against the parasitic signals coming from the rear. In any case an antenna must be raised in relation to background to work well. 1 to 2 length of work wave is counseled. For F = 100 MHz, the Length of wave is 3Meters (9.85 feet).Source: Radio Meteor

See more: FM Transmitter
read more "Yagi Antenna 88-108 MHz"

Tunable Dipole Antenna For FM Broadcast

This is a simple dipole antenna for FM broadcast. It can be tune for 88-108 MHz frequency range. It's very clear and easy to build. For more gain it can be stacked (2 or 4 antennas and used power divider for distributing RF energy).

How to construct:
  • Solder all copper pieces before attaching to the 1/2[inch] plastic T.
  • The aluminum tubing is attached to the copper fitting with 2 self-tapping #6 screws, 1/2[inch] long, one on each side.
  • The antenna element to which the ground side of the SO239(=PL259) is attached always points downwards.
  • Tune the antenna by adjusting the lengt of the adjustable elements. Length in inches is equal to 2952 divided by the frequency in MHz



Visit Free Radio

See more : Video Modulator - PLL FM Transmitter - FM Antenna
read more "Tunable Dipole Antenna For FM Broadcast"

250W Power Amplifier with the BLF548 for 100 - 450 MHz

The BLF548 is a balanced N-channel enhancement mode vertical D-MOS transistor in a SOT262 package, especially designed for use in wideband amplifiers up to 500 MHz. The transistor is capable to deliver 150 W nominal output power at a supply voltage of 28 Volts. Due to the low output capacitance the attainable bandwidth will exceed 300 MHz.

A balanced transistor was chosen in order to reduce the second harmonic from transmitter (due to the push-pull effect) and to reduce the number of required components. The criteria for chosen MOSFETs over bipolar transistors are; high power gain, high load mismatch capabilities, low noise and easy biasing.

Schematic Circuit



Printed Circuit Board (PCB)  and Layout




Download BLF548 Application Note
read more "250W Power Amplifier with the BLF548 for 100 - 450 MHz"

Sunday, August 28, 2011

QRP Operating at Crater Lake National Park


After three weeks, 5300 miles and 12 western states Beth and I are back in Rochester. I took along my K1 in a lunch bag so that I'd be ready for any ham opportunities.

One of our tourist stops was Crater Lake in southeastern Oregon. On August 19 I found a tree stump overlooking the lake, threw a 32' length of wire into a nearby tree and got on 20 meters. My location was on the western rim of the 5 mile wide caldera with the water around 800' below me. After a few CQs I worked Jim, W0CML, near Denver. Once he swung his beam around he was nice copy at 589 and I was 579. After supper that evening I operated on 40 from in front of our cabin at Mazama Village, 7 miles and about 1000' below the rim. Tim, AD7AN, in San Diego gave me a 529 while he was 579 for me.

"Picnic table QRP" continues to be a fun way to spend some spare time while traveling.
read more "QRP Operating at Crater Lake National Park"

Monday, August 15, 2011

An Arduino and RS485

I love being a student! It gives you tonnes of perks, such as free industrial samples from semiconductor companies. I just got my order of MAX485 ICs through the post this morning, so I've spent the day playing around with Arduino and RS485 comms. I'm now going to share my experiences with you


The aim of this demo is to simulate some serial data on an Arduino and send it via RS485 to a computer.

RS485? Say what?
485 is a standard very similar to RS232 (the serial port used on an Arduino and your PC). RS485 improves upon 232 by removing the limitation of distance (up to 4000ft) and allows more than two devices to communicate using a single line, though it does this at the cost of using more wires between the devices

What you'll need for this demo:
  • 2x MAX485 ICs (or equivalent)
  • 1x Arduino
  • 1x breadboard (2 preferably)
  • Jumper wires
  • 2x 150R resistors
  • FTDI cable or breakout board

Ok, so how's it done?
For this you're going to need a Maxim MAX485 (or equivalent) IC. This IC will take RS232 signals and perform the voltage level conversions required to turn them into 485 signals.

The MAX485 has 8 pins:
  1. RO - Receiver out
  2. RE - Receiver enable (enabled when this pin is LOW)
  3. DE - Driver enable (enabled when this pin is HIGH)
  4. DI - Driver in (the transmitter pin)
  5. GND - Ground (0V)
  6. A - Connect to pin A of the other 485 IC
  7. B - Connect to pin B of the other 485 IC
  8. Vcc - Power, in my case +5V
I'm not going to go into the basics on breadboarding, but you should place one MAX485 on each breadboard (or on two halves of one breadboard).
  • Wire up the power and ground. Try to use a battery for the transmitter. You can take power from the FTDI board for the receiver. This proves that there's only two wires (the comm) wires going between the devices.
  • Wire pin A to the other pin A
  • Wire pin B to the other pin B
  • On each IC, a 150R resistor goes between pin A and B
  • On the receiver side, wire pin RE to 0V
  • On the transmitter side, wire pin DE to 5V
  • On the transmitter, wire digital pin 0 (TX) from the Arduino to DI
  • On the receiver, wire pin RO on the 485 to the RX pin of the FTDI board
Ok.. that's about it as far as wiring goes. Now for some code.

Code:
The code for this project is reallllly simple. We're just wanting to simulate some data coming from the Arduino, and pick it up using the FTDI. I uploaded this simple sketch to my Arduino:

#define LED_PIN 13;
int i;
boolean b;

void setup() {
Serial.begin(57600);

i = 0;
b = false;
pinMode(LED_PIN, OUTPUT);

Serial.println("Init() complete");
}

void loop() {
i ++;

Serial.println(i);

b = !b;
digitalWrite(LED_PIN, b);

delay(1000);
}



Upload that to your Arduino and you should see the LED flashing roughly every 1 second. This means that it's sending serial data every 1 second. Now plug in your FTDI board to the PC and open up serial monitor in the Arduino IDE. If you have everything wired correctly, you'll see a number appearing in the window each time the Arduino sends something. Cool eh?


[UPDATE]
Handling two way communications:
The MAX485 and equivalents are only half duplex, meaning that they only support sending data in one direction at a time. This is fine, but it means you're going to need to account for that in your code.

It is possible to get full duplex versions of the MAX485 (I can't remember the part number right now). These bypass the need for any of the stuff below, but you will need four wires running between each device. Not a problem if you're running short distances, but it gets expensive if you have ~4000ft of cable. Anyway, it's pretty easy to get past the limitations of half duplex...

Remember the RE and DE pins? They specify whether the chip is in receive (RX) or transmit (TX) mode. If we control these from a pin on the Arduino we can leave the chip in RX mode, wait till something is received, and then change to TX mode to reply. Luckily the DE pin has a NOT gate on it, so you can drive both pins from one pin on your Arduino.

Note: From this point on you will need two Arduinos, as the FTDI board can't control the MAX485 in the way we want.

If you take a wire from your Arduino's digital pin 2, and wire it to DE, and then take another jumper wire and wire DE to RE, that will handle the TX/RX mode of the chip. Do this for both chips.

One of your Arduinos will need to be the master of the "network". This is typical in 485 applications, where there are several slave devices taking cues from a master. The master will query a slave, then change to RX mode. The slave will receive the command, and change to TX mode to send its response. After the response both devices change back to their normal mode.

At this point in your project you should probably specify exactly what a "command" is. They usually go along the lines of:
[START BYTE][COMMAND][PARAMS][END BYTE]
or even:
[START BYTE][DEVICE NUMBER][COMMAND][PARAMS][END BYTE]

It's up to you to specify what the start byte and end byte are. You also have to specify how long and what the commands are (1 byte will provide 255 commands), and how long the parameters are (whether they're a fixed length or not).

Below, I'll use 0xFF (255) as the start and end bytes, and 0x01 as the command (send status). The slave device will be number 0x05. Params are optional and may be any length (zero or more whole bytes).

The resulting communications between the two devices would look something like this:
StepMasterSlave
1Prepare command
0xFF 0x05 0x01 0xFF
Waiting
2Send commandWaiting
3Change to RX mode
Set pin 2 to LOW
Receive serial data
0xFF 0x05 0x01 0xFF
4WaitingParse serial data
Start byte ok, ID byte OK, command = send status, end byte ok
5WaitingChange to TX mode
Set pin 2 to HIGH
6WaitingSend response (0x05 = ID, 0x01 = status ok)
0xFF 0x05 0x01 0xFF
7Receive serial dataChange back to RX mode
Set pin 2 to LOW
9Change back to TX mode
Set pin 2 to HIGH
Waiting
10Parse data....Waiting


This is just an example of very basic comms between two device, but you can do a lot with it. I'm using something similar for my Arduino Backplane Experiment, only with I2C instead of serial.

I haven't gotten around to writing the code for two-way communications yet. Hopefully I've explained it well enough so you can have a stab at it. If anyone's feeling really stuck, give me a shout in the comments or on Twitter (@paddypluggedin) and I'll try and throw some code together
read more "An Arduino and RS485"

Monday, August 8, 2011

Arduino Backplane Experiment

Just as an experiment I thought I'd try this...


My motivation:

Pictured above is an Allen Bradley SLC-500 PLC. We use these a lot in work to automate industrial processes. They're very expensive, and all they are is a simple motherboard connecting daughter boards. The first slot is the CPU and does all the processing, and the rest of the cards are "dumb" cards which add different kinds of inputs or outputs, counters, comms, etc. Have I mentioned that they're very expensive?

My hope is to copy this modular, "slot in" design, so someone could just slide in a new pre-programmed module in their rack. This concept could be used to add:
  • Additional digital or analog IO
  • A real time clock
  • EEPROM card
  • Pre-built sensor cards
  • Dedicated counter modules
  • GPS modules
  • Ethernet, or XBee or other RF comms
  • Flash storage cards
  • Motor, servo and stepper drivers
  • RS485 comms card
Each of these "cards" would be a board with the appropriate pins brought out and connectors to suit its configured purpose. They would come pre-programmed, so you just slot them in and they work.

The whole idea is not dissimilar to the Arduino "shield" idea, but I'm using I2C to connect them instead of all the pins. The trouble with the stackable shield idea is that pretty soon you'll get two cards that want to use the same pin, and then they can't be used together. Using I2C you have a theoretical limit of 255 devices


Above you can see my half-finished product. I've used a bunch of Arduino Pros, which have a 6 pin header on one side supplying power and serial comms. This plugs into an 8-pin female header on the motherboard. The remaining two pins are the I2C pins (analog 4 and 5), which I had to bring down using some wire and a couple of pins.

Each of these cards will eventually be configured to perform a particular task

Motherboard
The motherboard itself is a bit of strip board, connecting each of the pins to the corresponding pin of every daughter board (with the exception of the serial pins, 'cos serial can't work that way).

There's a set of male headers beside every card, this basically brings out the serial pins so I can connect my FTDI board to each card for debugging (not all are wired yet).

There should also be a 3-pin header beside each board for addressing (see the next section)

Oh I almost forgot, hiding away between the two leftmost boards is an I2C RTC module. I do plan to use this later...

Addressing
In order for I2C to work, each slave device needs a unique address. I don't want to have to reprogram the individual daughter cards after they've been configured, so I've brought down digital pins 11-13 to the motherboard. These pins will be either wired to +5v or 0v, depending on which slot they're in. These 3 inputs are then used to calculate the I2C address, giving 8 possible addresses.

Demo
In the picture you can see three of the Pros connected to a Duemilanove as the main CPU. As a very simple test program I have the CPU turning on the LED on each of the expansion boards in turn, then waiting, and turning them off again, to create a kind of chaser effect.

Eventually there'll be 5 Pros connected to the backplane (I don't have enough female header strips to complete the board today). I honestly don't know what I'm going to do with it afterwards, but I think this demonstrates a good proof of concept and I hope someone can think of a good use for this arrangement :).

[UPDATED] Source code:
The code's still not quite finished yet, but it now supports all the basic pin commands, except with an extra parameter to specify the card you want to address:
  • digitalRead()
  • digitalWrite()
  • analogRead()
  • pinMode()
I've left in the "turn on LED" and "turn off LED" commands for good measure. The hardware addressing still isn't implemented yet either because I've run out of PCB headers.

CPU code - here
Expansion board code - here

More photos


As always, comments, suggestions and fan mail are greatly appreciated
read more "Arduino Backplane Experiment"

Saturday, August 6, 2011

FM Stereo Encoder With RC4200 Multiplexer IC

This circuit is stereo encoder for stereo modulation fm broadcast. The Basic component for stereo multiplexing is a single RC4200 IC. The textbook way of processing and encoding a stereo signal for FM transmission goes like this:

1) Take both channels and low-pass-filter them at 15kHz, with steep rolloff;
2) Apply pre-emphasis. Depending on the part of the world, it should have either a 75µs or a 50µs time constant;
3) Strictly limit the audio level to ensure that overdeviation cannot happen;
4) Create a stable, clean 38kHz sine wave;
5) Subtract the right channel from the left channel, and multiply the result with the 38kHz carrier;
6) Create a clean 19kHz sine wave, phase-locked to the 38kHz one;
7) Add the left channel, right channel, the (L-R)*38kHz signal, and the 19kHz signal, with specific amplitudes.

There are several ways to implement this algorithm. Modern factory made transmitters often do the whole thing digitally, in a DSP. But it's still less expensive and simpler to do in the analog domain. That can be done in various ways too, and far too many transmitters these days use ultra cheap, mediocre methods like hard-switched multipliers based on CMOS switches. They do work, but are very noisy! My design instead uses a true, high quality analog multiplier for that task. As a result, the signal from my transmitter is as good as the very best signals I can receive locally, and MUCH better than the bulk of them!

Here is the schematic diagram. You probably won't be able to read it at this resolution, so better click on it, save it in full resolution, print it, and refer to it for the following explanation. If you have trouble opening the large version, right-click on the diagram, so you can save it to disk, then open it using IrfanView or any other GOOD image viewer. This is valid for all drawings on this page. The full resolution drawings are large, and depending on the amount of memory in your computer, some web browsers cannot open them and will report a broken link.

The two single-ended line-level audio signals enter through feedthrough capacitors, and are welcomed by an LC low-pass filter to get rid of any RF that could be on them. In each channel there is a buffer stage, and then a combined pre-emphasis and soft limiter stage. The advantage of doing the limiting and the pre-emphasis in one step is that it avoids overdeviating from loud treble sounds, or having loud bass sounds flatten out the treble, without the need of a multiband limiter. The gain of the non-limited portion of the audio signals is adjustable by means of trimpots. Then comes a six-pole low pass filter that removes signals above 15kHz.

A 74HC4060 chip derives the 38kHz and 19kHz signals, as square waves, from a custom-made quartz crystal. Two resonant circuits using ferrite pot cores turn these square waves into very clean, low noise sine waves. Trimpots allow to set the levels, while the adjustable cores of the inductors allow precise tuning. Jumpers allow to disable each of these signals for testing and adjustment purposes.

A rather old fashioned, but low-noise and low-distortion analog multiplier chip modulates the L-R signal, produced by an op amp differential amplifier, onto the 38kHz subcarrier. This circuit has three adjustments for balance. Its output level is adjustable too. The signals that are necessary only for stereo can be disconnected for testing by means of a jumper.

The output adder combines the L signal, R signal, (L-R)*38kHz signal, and the pilot tone. The first two signals are fixed at this stage, while the (L-R)*38kHz can be adjusted by its own trimpot, and the pilot tone by the trimpot before its LC circuit. Then there is a final level adjustment, used to set the deviation of the transmitter, and then a buffer stage with low output impedance, that drives the output through a resistor to avoid instability from capacitive loads.

There is an additional circuit which consists basically of a dual superdiode detector with a time constant and driver with adjustable output. This circuit picks up the complete multiplex signal just before the final level control, and produces a DC signal to directly drive a small meter, for deviation indication. This is a most important tool for the transmitter operator to set the proper audio level during routine operation!

Here is the printed circuit board. Click on it to get it in high resolution.... It's seen "through the board", so you can print it directly and place the ink in contact with the copper to get a correct sided copper pattern.


The entire circuit is built on this single-sided PCB. Only a few jumper wires are necessary, so it's not worthwhile making a dual sided PCB for this.


And this is a crude parts overlay, just to see where a part goes. Exactly which part goes where, is something you will have to work out with the schematic! Don't be lazy! Source: FM Transmitter 80W

You may wanna reading Transistor FM Transmitter
read more "FM Stereo Encoder With RC4200 Multiplexer IC"

Monday, August 1, 2011

iPhones are great things

Just spent £1.79 on an app to blog from my phone. Lets see how it goes...



-- Post From My iPhone
read more "iPhones are great things"