ads

20 martie 2017

Kenwood AT-300 ATU to ICOM Radio - II

In a previous post I wrote about a devil plan to connect a Kenwood AT-300 Automatic antenna tuner to an ICOM 7300 radio.

Here is the connection diagram (again, by hand) and the final iteration of the code.




// This is a simple sketch to controll a Kenwood AT-300
// from an ICOM radio.
// Compatible with: IC-7000, IC-7100, IC-7200, IC-7300, IC-706, IC-703

/* See the schematic on http://yo3hjv.blogspot.com/2017/03/kenwood-at-300-atu-to-icom-radio-ii.html
*/

// This program is beer-ware (buy me a beer when you see me) and i will //appreciate
// March 2017, Adrian YO3HJV, rev 7.0
///////////////////////////////////////////////////////////////////////////////////

// Define input and output

// ICOM RADIO

  int KEY = 10;
  int START = 2;    // for ISR

// KENWOOD  AT 300 TUNER

  int TS = 11;
  int TT = 12;

// LED indicators for debugging

  int GREEN = 6;
  int YELL = 4;

// SOME VARIABLES for future development
  int Istart = 0;    // check if TUNE is issued by the ICOM radio. StandBy at 5V, goes LOW
  int Ktt = 0;       // check if Tuner Start is issued by the Kenwood ATU. StandBy at 5V, goes LOW
  unsigned long duration;  
///////////////////////////////////////


void setup()
{
// SETUP WHICH ARE OUTPUTS AND WHICH ARE INPUTS
    //LEDs
    pinMode(GREEN, OUTPUT);
    digitalWrite (GREEN, HIGH);
    pinMode(YELL, OUTPUT);
    digitalWrite (YELL, HIGH);

    //ICOM
    pinMode(START, INPUT_PULLUP);
    pinMode(KEY, OUTPUT);
    digitalWrite (KEY, HIGH);

    //KENWOOD
    pinMode(TT, INPUT_PULLUP);
    pinMode(TS, OUTPUT);
    digitalWrite (TS, HIGH);  
}


void loop(){  
     if (digitalRead(START) == LOW)  {
             Tune();          // Execute external function TUNE
             delay (500);
             StandBy ();      // Execute external function StandBy     
     }
}


   void Tune () { 
     do {
         digitalWrite (YELL, LOW); // Light LED
         digitalWrite (TS, LOW);   // init ATU
         delay(150);               // wait for ATU uC to reset
         digitalWrite (KEY, LOW);  // start Tx RF 
         delay(300);               // keep Tx RF for at least 300 msec 
     }         
          while (digitalRead(TT) == LOW) ;  // TUNE untill TT is HIGH again
          }


   void StandBy () {
            digitalWrite(KEY, HIGH);
            digitalWrite (TS, HIGH);
            digitalWrite (YELL, HIGH); // Shut down LED
            delay(500);
   }

Later edit:

This is the final look after some work on a test PCB. I let the USB port accesible for future development:



09 martie 2017

Kenwood AT-300 ATU to ICOM Radio - I

Well, I have a Kenwood Automatic antenna tuner AT-300 and some ICOM Radios (IC-7300 and IC-703+) and I want to use them.
I tried to find on internet something already made but no chance. Looks like the Kenwood AT-300 is very rare or the fellow hams are using it as is intended, with a Kenwood radio.

It's not my case so, after a couple of years of thinking, I put myself together and I start to explore the possible solutions to connect the ATU to my IC-7300 radio.

First, the radio has a START and a KEY line and the "0" logic is +5V and the '1" logic is 0V. Same as the AT-300 which is good. The Kenwood AT-300 has the same voltage logic but the signals are TS and TT.

Basically, the Kenwood tuning procedure is:
-The TUNE on the radio is pressed
-The radio pulls down the TS line AND start transmitting around 10W CW.
-The AT-300 respond by pulling the TT down after about 100 msec. ONLY IF RF IS PRESENT.
-If a tuning solution is found, the tuning stops and the TS line is pulled up to 5V.
-After 15 seconds, the radio stops the RF and pulls up the TS.
-If the TT is still up, the radio return TUNING ERROR. If the TT pulls up BEFORE the TS, the radio show TUNED.

For bypass, the TS is pulled down  for 500 msec. WITHOUT RF. To put the tuner in circuit, repeat this sequence.

The ICOM radios, have a slighty different "tuning protocol":

-The radio pulls down the START line.
-The tuner pulls down the KEY, causing the radio to transmit 10 W CW
-If the tuner found a tuning solution, the KEY is pulled up. From what I found using the Codan 9350 antenna, there is no time limit for keying the radio!
-If there is no tuning solution, the KEY is pulled up, then down for 70 msec.  and then up again (and rest up).

The solution seems that is to "alter" the KEY and TS sequence with a microcontroller (Arduino).
Something like this:

-Press TUNE on the radio
-The radio pull down START
-The uC detect the START and pull down TS
-uC pull down KEY to transmit 10W CW
-uC monitors TT and pull up the KEY if the TT goes UP.
-If TT is still down after 15 seconds, the uC execute "TUNE FAIL" sequence as expected by ICOM radios.

Already made the test board. initially i thought to put some optocouplers for TS/TT and START KEY but after monitoring the voltages I saw no problem to connect them directly to the Arduino digital ports (max 5V). Of course, the signal lines are connected through some 470 nH inductors and the uC pins have 10 nF capacitors to the ground.

I believe this interface will be good to use it also on IC-7000 (have one and i will test it) and IC-7100.

Stay "tuned" for the next step!

73 de Adrian YO3HJV

LATER EDIT

Here is the first version of the code. Simple tuning, start and stops at the TUNE command from the Radio front panel command.

About the hardware:
The lines are directly connected to the Arduino board and the lines from the ICOM radios are tied up to +5V with 4k7 resistors in order for the radio to "see" the external ATU!
Be aware that, if the output power is not set to be between 5-15W, the radio will turne to the INTERNAL ATU instead of the external, even with the lines pulled UP!


// Define input and output

// ICOM RADIO

  int KEY = 10;
  int START = 2;  // I plan to use the ISR to measure the START duration in the future versions

// KENWOOD  AT 300 TUNER

  int TS = 11;
  int TT = 12;

// LED indicators for debugging

  int GREEN = 6;
  int YELL = 4;

// SOME VARIABLES
  int Istart = 0;    // check if TUNE is issued by the ICOM radio. StandBy at 5V, goes LOW
  int Ktt = 0;       // check if Tuner Start is issued by the Kenwood ATU. StandBy at 5V, goes LOW
  unsigned long duration;  // For further development

void setup()

{

// SETUP WHICH ARE OUTPUTS AND WHICH ARE INPUTS
    //LEDs for visual debugging
    pinMode(GREEN, OUTPUT);
    digitalWrite (GREEN, HIGH);
    pinMode(YELL, OUTPUT);
    digitalWrite (YELL, HIGH);

    //ICOM radio
    pinMode(START, INPUT_PULLUP);
    pinMode(KEY, OUTPUT);
    digitalWrite (KEY, HIGH);

    //KENWOOD ATU
    pinMode(TT, INPUT_PULLUP);
    pinMode(TS, OUTPUT);
    digitalWrite (TS, HIGH);

 
  Serial.begin (9600);

}


void loop(){
 
   // duration = pulseIn(START, LOW);  // for further development

     if (digitalRead(START) == LOW)  {

             Tune();
             delay (1000);
             StandBy ();            
     }
}


   void Tune () {

     do {
         digitalWrite (YELL, LOW); // Light LED
         digitalWrite (TS, LOW);   // Kenwood ATU, please init
         delay(10);
         digitalWrite (KEY, LOW);  // Radio, start Tx RF  please
     }        
          while (digitalRead(TT) == LOW) ;   // Do TUNE while TT is LOW if HIGH the tune seq is                                                                            // halted for tuning solution or for fault
          }


   void StandBy () {
            digitalWrite(KEY, HIGH);
            digitalWrite (TS, HIGH);
            digitalWrite (YELL, HIGH); // Shut down LED
   }



01 martie 2017

ICOM IC-7300 thermal dissipation of the FPGA chipset

I was curious about the rubber sheet on the FPGA chipset. Some people say that is good for thermal dissipation. Therefore, I put an infrared thermal camera at work and took some pictures of that chipset (Altera Cyclone IV FPGA with 55k logic units) .
When powered, the flexible rubber sheet shows that the temperature is almost at the room temperature.

Here is the board explained in the user manual of the radio.
You can see on the right side of the FPGA a small Al radiator. That is the ADC circuit, 14bit Linear Technology LTC2208-14, sampling at ~124 Msps. This chip is one of the the hottest chipset on the board at around 50 Celsius. The hottest is the 3V regulator, by the way!

A big surprise came when I ripped the rubber sheet and I found the FPGA at around 50 Celsius also! 

I also measured the resistance of that rubber sheet to see if there is some electrical properties but found that the Ohm-meter showed hundred of kOhms.

A quick conclusion: I am not sure about the purpose of that rubber adhesive sheet! Looks more like a thermal insulator than a radiator so I put it back!













Postări populare

OnLine logbook YO3HJV

www.hrdlog.net