24 aprilie 2015

RYRYRY VY QRP test beacon de YO3HJV

This night I finished my small RTTY Beacon based on an Arduino Uno and a AD-9850 DDS.
The tuning frequency is 14.088 kHz, USB.
RTTY is sent with 170 Hz shift and 45.5 Baud.
The RF power is around 170mW from a small MSA-0886 amplifier.
The antena is a Hustler 4BTV vertical.

The message is:

RYRYRY VY QRP rtty test beacon de YO3HJV de YO3HJV de YO3HJV QTH LOC KN25UC KN25UC KN25UC. PSE SWL REPORT TO yo3hjv AT wait 10 seconds sk

I am playing around with bites to implement the Carriage return and Line feed.

Please send SWL report to my e-mail adress or comment on this post.

TNX de YO3HJV and SRY 4 QRM.

11 aprilie 2015


Well, from time to time i like to take a swap to entire HF range to see what is new.
The reporting system used is:
Frequency <> MODE<> Quality<>Signal Strenght<> Observation
This evening, at 21:00 LT, 18:00 UTC:

5.403,5 kHz USB 2-3 S4-S7 QRM  G3WGG
5.372 kHz CW 5 S8-S9                 GM4KGK DE G4LNA 
5.380 kHz USB 5 S9 QSB             Swedish hams but unidentified. No phonetic alphabet heard but some "QSL, QSL"...
6.530 - 6.560 kHz LSB 5 S5-9      Some Italian pirates
8.744 kHz USB 4 S1                     Bangkok Maritime service with weather bulletin (automatic voice)
8.819 kHz USB 5 S9+20               Taskent Meteo (VOLMET) with meteo (clearly the lady was reading)
9.280 kHz AM 5 S9+20                Egypt Radio - someone pluged the connector from the transmitter because there was only hum there.
10.000 kHz, USB 5 S7 QSB           ITALCABLE musical hour signal.
10.450 - 1070 USB                         same Russian pirates...

12.842 kHz CW 5 S8 QSB              CQ de HLO, Korean Maritime Beacon

05 aprilie 2015

ICOM IC-703+ and Tokyo HyPower HL-45B

I am the happy owner of a Tokyo HyPower HL-45B HF+6m 50W amplifier and a happier owner of an ICOM IC-703. To be the happiest owner of both, I decided to make them work together as a single unit.

One must know that the HL-45 was made to be the perfect companion of FT-817 and, as consecquence, the HL-45B will change band filters when connected to the radio based on the voltage swing present on the ACC connector.

Also, the power needed to have around 45 W at the output of the amplifier is just 2.5W.

Therefore, we have to work around the amplifier; fortunately, there are trimpots and the procedure is well explained in the user manual.
Today we will deal with the band changing and not the ALC!

A little homework first...

How is the information about band changing passed away from the Yaesu FT-817 radio to the amplifier?
Well, with the help of the little ACC (accessory) connector on the back of the radio!
Looking on the Yaesu FT-817 Operating Manual (page 5), we will see that on the ACC the upper right pin holds the "band" semnification.
The information is analogue, by sending a voltage according to the following table:

Band   Specified  Measured
160m    0.33        0.336
80m     0.66        0.692
40m     1.0         1.03
30m     1.3         1.31
20m     1.6         1.65
17m     2.0         2.00
15m     2.3         2.34
12m     2.7         2.61
10m     3.0         2.95
6m       3.3         3.31

2m       3.7         3.64
70cm     4.0         3.93

I had have  two FT-817 and sold them without measure the band voltage so we have to rely on  data from  Bob Wolbert website
We can easy observe that the voltage is increasing with the frequency.
We don't need the 2m and 70 cm on our box so we keep in mind that the control voltage will be between 0 and 3.5V. This will be important later and will simplify the output of the interface box.

The ICOM IC-703+ outputs band information very similar with the FT-817 but only in principle because the voltage swing is opposite!
The voltage is decreasing with the frequency.

    Band         Output Voltage
  160 m            7.0-8.0
  80m              6.0-6.8
  40m              5.0-5.8
  20m              4.0-4.8
  17m +15m      3.0-3.8
  12m + 10m     2.0-2.8
  6m                 1.0-1.9

  30m               0 - 1.0

There is no similarity and nor symmetry between the two transceivers so we say "goodbye" to any analog solution.
I cannot think to anything but a micro controller solution for translating the IC-703+ band voltage to a FT-817 one.
So, I did some tests with a Arduino UNO first.
The first step was to make a voltmeter able to measure from 0 to 8V. Some precautions are to be taken into account because the ADC input accept only 0-5V and we have to measure above that.
Also, a good resolution have to be maintained to be able to measure tenth's ov Volt for a reliable operation.
The code is very simple and reliable.
I used the serial debugging to check it.

I will not enter into details as the code is below and is fully commented; instead, I will only insist on the important details.

First of all, the input and the output has to be very well protected to RF. On both, INPUT and OUTPUT, there will be small RF LC filters.
The power will be taken from the radio itself; on the pin 8 of the ACC from the IC-703+, there is a 12V/1A available.
The nicest thing is that the 12V is avilable only when the radio is powered from the ON/OFF push button!

I tought that will be nice to have the band information on a small 2x16 LCD display. It is not mandatory and can be missed in favor of a more compact case. I used a I2C one to save some extra pins on the Arduino board.
For the final design I choose an Arduino NANO board as is small enough and have USB input for further development of the interface.

For the output I was in dilemma for several days. A first tought was to rectify PWM on an output pin and to calibrate the parameters of the PWM to have the required voltage. On a second tought I reject this solution because PWM (even rectified and filtered) is not a good thing when working on HF.
After a few days, I remember the solution used in audio mixer; potentiometers on a common rail. Some particular measures has to be taken but the ideea was there!
So I put it on a paper; looks good!
I had to have a digital port for each band. Fortunately, for some bands, the voltage needed on the HL-45B is the same and we don;t have to free to much Arduino pinouts.
If you look at the ICOM band voltage and on the HL-45B band filters, you will see that they use the same logic. The 10m band and the 12 m band share the same filters, the same thing with 15 m band and the 17 m band and with the 20 m band and the 30 m band.

So we need only 7 pins...

Here is the schematic for the output "mixer".

I use diodes to keep the unused trimpots out of the circuit when not used and put Bourne multiturn trimpots for a good precision on the output voltage. Each output trimpot is a 10 Ko potentiometer and the diodes can be anything for small signals like 1N4148 or Germanium. I used some EFD diodes (germanium) as they are cheapt and ave them in my junk box...

On the input, I made a simple divider, also with a multiturn potentiometer. This is a 25Ko potentiometer but we need to protect somehow the ADC input. I did this with a resistor and a Zenner diode (5V3).

Note that in the picture is a little mistake! The input is taken from the pin#5 on the ICOM IC-703+ ACC and not the pin#8!

The "power supply" is made with a 78L05 precision regulator. This is important but not too much as affects also the ADC reference. A good decoupling is a key for a smooth and clean measurement and function.

About the PCB

I usually made my PCB's by hand using a water resistant ink.
First of all, I put all the components on a test board to have an ideea about the places where to put holes. Mark them and make all the holes. After that, trace the routes between them. Most of the schematic is in my head so i don't have a PCB print. Sorry for that but nothing is critical as there are no very high frequencies there!

OK. We made the hardware, uploaded the software into the Arduino. What next?
Well, there is some calibration envolved here.

First of all, turn to ground the cursor of the input  potentiometer on the interface board (25Ko).

Put a simple 25 Ko potentiometer on a 9V battery (calibration potentiometer). Connect the cursor to the INPUT of the board and "-" from the battery to the GROUND.
With a good voltmeter set the potentiometer to read  precisely 8V on the INPUT point. Leave it like that and check the voltage on the serial screen on the Arduino IDE.
You should read 8.00 V.
 If not, slightly turn the input potentiometer to the ADC until 8.00V is printed on the screen. The value will swing around 8V, it is normal. This is due to the ADC noise but there is no need to average that values.

The input is now calibrated and you must proceed to the OUTPUT CALIBRATION.
Put the voltmeter to the output.

1. 160 m band. Set the calibration potentiometer for 7.5V input and set P7 until you read 0.33V on output.
2. 80 m band. Set the calibration potentiometer for 6.5V input and set P6 until you read 0.66V on output.
3. 40 m band. Set the calibration potentiometer for 5.5V input and set P6 until you read 1V on output.
4. 20+30 m band. Set the calibration potentiometer for 4.5V input and set P6 until you read 1.4V on output.
5. 17+15m band. Set the calibration potentiometer for 3.5V input and set P6 until you read 2.15V on output.
6. 12+10 m band. Set the calibration potentiometer for 2.5V input and set P6 until you read 2.8V on output.
7. 6 m band. Set the calibration potentiometer for 1.5V input and set P6 until you read 3.3V on output.

8. 20+30 m band checkout. Set the calibration potentiometer  for 0.5V and check (don't set anything!) if  you read 1.4V on output.

Now your interface box is ready to use it! Make two nice cables to connect them to the radio and to the THP HL-45B and good luck on DX!

A word about the code...
At each else-if function, the software set the in-use pin AND no-use pin. This is a form of latch to have a continuous voltage at the output. I checked with a scope and everything is nice and smooth... This was my main worry about this setup!

For more details, leave a question at the Comments!
73 de Adrian, YO3HJV

//                        Radio interface box for automatic band //change
// of an Tokyo HyPower HL-45B amplifier
// when working with a ICOM IC-703+ transceiver
// Please check the link below for more details.
// By Adrian Florescu, YO3HJV, 2015
// This program is released in public domain a "Beerware" (if you //use it, you will buy me a beer when we'll meet)
// Is free to use it for ham and non-profit.
// If you consider to use it on a commercial application, please //come talk with me, we'll find a way...
// Oh, be aware, I am not responsible if you fry your precious IC-703+ but I might buy it for a decent price!

 // This are for I2C LCD
 // uncomment if it isn't needed


#define I2C_ADDR    0x27
#define BACKLIGHT_PIN     3
#define En_pin  2
#define Rw_pin  1
#define Rs_pin  0
#define D4_pin  4
#define D5_pin  5
#define D6_pin  6
#define D7_pin  7

#define  LED_OFF  0
#define  LED_ON  1

LiquidCrystal_I2C    lcd(I2C_ADDR, En_pin, Rw_pin, Rs_pin, D4_pin, D5_pin, D6_pin, D7_pin);

 // Some variables to be used in the main loop
 //also, here we define the pinout of the Arduino board

  int m160m = 12;
  int  m80m = 11;
  int  m40m = 10;
  int  m30m20m = 9;
  int  m17m15m = 8;
  int  m12m10m = 7;
  int  m6m = 6;

    int potPin = 0;    // Analog input from the IC-703+
    int potValue = 0;  // value read from the pot
    void setup() {
      // We define the LCD type and start the LCD
      //light the backlight LED
  lcd.setBacklightPin(BACKLIGHT_PIN, POSITIVE); 

      // initialize serial communications at 9600 bps:
      // this is only for debugging purpose. Uncomment if needed
      // this is the pinout set
      // we will use them as a whole because we want to have the latched when
      // proper band is selected
      pinMode(m160m, OUTPUT);
      pinMode(m80m, OUTPUT);
      pinMode(m40m, OUTPUT);
      pinMode(m30m20m, OUTPUT);
      pinMode(m17m15m, OUTPUT);
      pinMode(m12m10m, OUTPUT);
      pinMode(m6m, OUTPUT);
    void loop() {

//Some information to remember

// ICOM Band change voltage
//  Band MHz                 Voltage
//   30m                0  ~ 1.0V
//   6m (unofficial)       1.0 ~ 2.0V
//   10 & 12m               2.0 ~ 3.0V
//   17 & 15m               3.0 ~ 4.0V
//   20m               4.0 ~ 5.0V
//   40m                  5.0 ~ 6.0V
//   80m               6.0 ~ 7.0V
//   160m               7.0 ~ 8.0V

/* YAESU FT-817 band selection voltage
Band      Voltage

160m         0.33
80m          0.66
40m           1.0

  30m           1.3   paired
  20m           1.6   paired
    17m           2.0   paired
    15m           2.3   paired
       12m           2.7   paired
       10m           3.0   paired
6m            3.3


 // read the input on analog pin 0:
  int sensorValue = analogRead(A0);
  // Convert the analog reading (which goes from 0 - 1023) to a voltage (0 - 8V):
  float voltage = sensorValue * (8 / 1023.0);   // "8" because 8V is the maximum voltage on the input voltage divider
                                                // on the A0 pin we will have maximum 5 V.

  // print out the value you read:
  // just for debugging. Uncomment if needed
  // Serial.println(voltage);
  // delay(1000);    // This is to have a smooth reading on serial

// if - else if functions for each band

  if (voltage < 0.8){
    lcd.print("Band Sel: ");
      lcd.print ("20+30m");
      digitalWrite(m160m, LOW);   
      digitalWrite(m80m, LOW);
      digitalWrite(m40m, LOW);
      digitalWrite(m30m20m, HIGH);    //
      digitalWrite(m17m15m, LOW);
      digitalWrite(m12m10m, LOW);
      digitalWrite(m6m, LOW);

  else if (voltage > 1.1 && voltage < 1.9){
          lcd.print("Band Sel: ");
          lcd.print ("    6m");
      digitalWrite(m160m, LOW);   
      digitalWrite(m80m, LOW);
      digitalWrite(m40m, LOW);
      digitalWrite(m30m20m, LOW);
      digitalWrite(m17m15m, LOW);
      digitalWrite(m12m10m, LOW);
      digitalWrite(m6m, HIGH);   //  
  else if (voltage > 2.1 && voltage < 2.9){
          lcd.print("Band Sel: ");
          lcd.print ("10+12m");
      digitalWrite(m160m, LOW);   
      digitalWrite(m80m, LOW);
      digitalWrite(m40m, LOW);
      digitalWrite(m30m20m, LOW);
      digitalWrite(m17m15m, LOW);
      digitalWrite(m12m10m, HIGH);
      digitalWrite(m6m, LOW);   //
  else if (voltage > 3.1 && voltage < 3.9){
          lcd.print("Band Sel: ");
      digitalWrite(m160m, LOW);   
      digitalWrite(m80m, LOW);
      digitalWrite(m40m, LOW);
      digitalWrite(m30m20m, LOW);
      digitalWrite(m17m15m, HIGH);  //
      digitalWrite(m12m10m, LOW);
      digitalWrite(m6m, LOW);       
  else if (voltage > 4.1 && voltage < 4.9){
         lcd.print("Band Sel: ");
      digitalWrite(m160m, LOW); 
      digitalWrite(m80m, LOW); 
      digitalWrite(m40m, LOW);
      digitalWrite(m30m20m, HIGH);   //
      digitalWrite(m17m15m, LOW);
      digitalWrite(m12m10m, LOW);
      digitalWrite(m6m, LOW);     
  else if (voltage > 5.1 && voltage < 5.9){
         lcd.print("Band Sel: ");
         lcd.print("   40m");
      digitalWrite(m160m, LOW); 
      digitalWrite(m80m, LOW); 
      digitalWrite(m40m, HIGH);   //
      digitalWrite(m30m20m, LOW);
      digitalWrite(m17m15m, LOW);
      digitalWrite(m12m10m, LOW);
      digitalWrite(m6m, LOW);       
  else if (voltage > 6.1 && voltage < 6.9){
          lcd.print("Band Sel: ");
          lcd.print("   80m");
      digitalWrite(m160m, LOW);
      digitalWrite(m80m, HIGH);   //
      digitalWrite(m40m, LOW);
      digitalWrite(m30m20m, LOW);
      digitalWrite(m17m15m, LOW);
      digitalWrite(m12m10m, LOW);
      digitalWrite(m6m, LOW);        
  else if (voltage > 7.1){
          lcd.print("Band Sel: ");
          lcd.print("  160m");
      digitalWrite(m160m, HIGH);  //
      digitalWrite(m80m, LOW);  
      digitalWrite(m40m, LOW);
      digitalWrite(m30m20m, LOW);
      digitalWrite(m17m15m, LOW);
      digitalWrite(m12m10m, LOW);
      digitalWrite(m6m, LOW);
  // We write on the LCD the transceiver type
  // We display the voltage read.
  // For debugging purposes. Uncomment if needed

   delay(300);   // This is to have a smooth operation

02 aprilie 2015

Kenwood R-5000 filter add-on

A few days ago, Tony, YO3FXF came to our laboratory with a very nice looking Kenwood R-5000 Communications Receiver.
He asked us to install the optional filters and gave us a YK-88SN and a YK-88C IF filters.
The first one is a SSB  1.8kHz SSB filter while the second one is a 500Hz CW filter.
Both of them (like the other two already installed filters) are centered on 8,830.7 kHz and compatible with other Kenwood transceivers (TS-440, TS-430 etc.)  
Another thing Tony asked us was to take some pictures while working in the radio. So we documented the operation. 

First step was to take a look to the Kenwood R-5000 Service manual.
We learn that the filters are connected one after another, in cascade. 
The wider filters are maintained into the circuit wjile selecting the narrower ones. This method is credited with mode efficiency in rejecting unwanted signals.

Preparing for opening the upper panel.

Inside view.
The IF and audio board with a lot of conectors and wires.

Old style power supply with a bulky transformer, rectifier filtering and stabiliser.

We put a label on each connector. On the PCB is a small number circled. That is the connector numer.
Some of the wired connectors are not connected, hence the "NC" on that!

All the wires removed from the PCB. 
Some sort of Christmas tree appears!

The bare circuit board outside the case
The filters are prepared to be installed.

We marked the screws with a black permanent ink to know from where was removed.

It looks that someone removed at one time some filters. Might be some flux marking from the factory.

We soldered the new filters on their places.
On the "M1" we put the YK-88SN and on the "N", the YK-88C. We also clean the solder with isop. alcohol.
A close inspection revealed that we did a good job.
By the way, the original soldering was made with no-ROHS alloy.
We could work at abt.370 Celsius degrees; less thermal stress on the board and filters.

Some pictures with the new filters installed.

We also put the jumpers in the "Filter YES" position.

A quick test with a small antenna result in a "All OK".

73 de YO3HJV

You can download the user manual for Kenwood R-5000 here.

Arhivă blog

OnLine logbook YO3HJV

Ham News