HF antenna update

And English and two Dutch review in this article on the CG3000 remote antenna tuner.

I replaced the external LDG YT1200  tuner with a CG3000 remote autotuner, at the same time the end-fed antenna  was replaced by a dipole with 10.50 meter wire on both sides, one leg of the dipole goes to a 8 meter aluminum mast in our garden, the other side of the dipole is grounded,  the tuner feeds the dipole in the center via a twin lead about 1,5 meter in length. On the roof I added a 13.8V wire for the CG3000, loudspeaker cable from the local shop in the street was good enough, near the transmitter I added some ferrite rings and busses on both the coax and the 13.8V power line. The remote autotuner is directly below the X30N as can be seen in the first photo. It is able to get the SWR down to one for all bands between 160 and 10m, you have to see it to believe is, but it worked. It does not perfectly work for all frequencies, around 7.1 MHz the SWR gets down something slightly higher than 1.

This remote autotuner has no maintenance, to tune briefly transmit with at least ~10W AM, or just do a CQ on SSB with 10W which is the minimum for tuning. On the Yaesu you turn the ATU off, and you watch the SWR indicator on the first transmits. After you’ve tuned the antenna you can go QRO up to 200W, I can make 100W, CG antennas is working on a 1KW tuner which undoubtedly comes with a higher price tag. During tuning the SWR meter on the transceiver rapidly goes down to around 1, the manufacturer says that tuning is done within 2 seconds for the first time, repeat the tuning procedure a few times for all new bands and you’re ready. Up to 200 frequencies are memorized when you keep the power supply to the remote tuner on.

The voltages at the antenne wire can become large, some people have put yellow warning stickers on the box, still, antenna lintze is used and this is an isolated wire. The high tension alert is relevant to the ground and the antenna terminal on the CG3000. In my case I do not expect someone to touch one of the wires, moreover I have no yellow warning stickers.

Benefit of remotely tuning an antenna is that the impedance adaptation of the antenna to the transmission line is more realistic. In the old set-up both the transmission line and the antenna were tuned, in the new set-up only the antenna is tuned. I noticed that the inevitable mantle current on the coaxial cable mostly disappeared. My computer display is quite sensitive to these mantle currents, all interference that I witnessed at stripes on the monitor while transmitting with the end-fed antenna have mostly disappeared.

The first image shows the CG3000 on the roof.

cg3000roof

The second image shows the inside the CG3000, it looks like a well made product, the only potential drawback are the rails at the bottom side of the box which are made of the same plastic as the encasing. So for mast mounting the U-shaped brackets should not be tightened more than strictly necessary. We say “vast is vast” in Dutch.

img_3138

On the right you see the antenna connector, the top of the box, on the left you see the ground connector, a four-pinned control/power supply connector of which only 2 pins are needed to provide the 13.8V supply, and you see the PLC plug for the antenna. I’m not sure what the yellow wire is for on the control cable, probably it is an indicator LED. I did not order the control box.

Another result I noticed is that all bands appear really less noisy compared to the end-fed solution. My theory is that the end-fed antenna was affected by anything that enters through the mantle of the coaxial cable, and thus also all QRM that you find inside the house, and that of your neighbor.

My review on zendamateur.com in Dutch

Het review staat hier: link met de titel “Autotuner bij antenne”.

Ik heb mijn end-fed weggehaald, er is nu voor de HF een CG3000 autotuner met 10,5 meter draad naar een mast achter in de tuin. Deze tuner werkt tussen 80m en 10m, meestal krijg ik de SWR rond de 1, en soms is het 1.2 tot 1.5 in de stukken waar de tuner/antenne combinatie het moeilijk heeft.

Tunen doe je door er even 20W AM naar de antenne te sturen, de reden waarom AM het goed doet is dat het signaal er altijd is ook al praat je niet door de microfoon, de 20W is een suggeste van mij, de tuner heeft er genoeg aan en moet een SWR meting doen, bij SSB zou je moeten praten om iets uit je zender te krijgen. Dit zijn de ola ola geluiden op de band dwars door de QSOs heen, niet echt prettig, met AM 20W is het binnen 2 seconden gedaan zonder de ola ola geluiden.

De tuner onthoudt 200 frequenties en interpoleert om het proces te versnellen. Als je over meerdere banden werkt helpt het soms de spanning eventjes van de tuner te halen zodat hij zich weer reset, dit verbetert de SWR’s. Bij SWR’s kleiner dan 1.5 is er geen enkel probleem volgens mij, het gereflecteerde vermogen is dan klein. Om SWR naar gereflecteerd vermogen en voltage om te rekenen gebruik ik de volgende formuletjes

Pr = ((swr-1)/(swr+1))^2 Pz voor het gereflecteerde vermogen
Vr = (swr-1)/(swr+1) Vz voor de spanning die gereflecteerd wordt

Pz en Vz worden door je zender gemaakt, Pr en Vr zijn de gereflecteerde waarden. Bij een SWR van 1 komt er niets terug, vaak is dat het geval, bij SWR=1.2 komt er minder dan 1% van het vermogen terug en 10% van het voltage, bij SWR=1.6 komt ca 5% van het vermogen en 23% van het voltage terug, bij SWR=2 is het 10% van het vermogen en 33% van het voltage. Als je nu met maximaal 100W en een 50 Ohm transmissielijn werkt valt alles wel mee, bij de grotere vermogens zul je de SWR het liefst zo klein mogelijk moeten krijgen,

SWR’s boven de 1.5 zie ik eigenlijk niet, maar, de discussie laat wel zien dat er onvermijdelijk ook bij een draadantenne en deze tuner iets zal terugkomen. De terugwerking komt ongetwijfeld ook via de mantel terug en dat zie ik bij sommige troublespots als een licht streepjespatroon op de display van de PC wat een gratis mantelstroom detector is, ik zie de reflecties eigenlijk alleen in een klein gebiedje rond de 7.1 MHz.

Overal gezien werkt deze oplossing beter dan de end-fed die ik eerder had, de aanpassing vindt namelijk plaats daar waar het het wil hebben, zodat de coax kabel naar de antenne niet ook afgestemd worden. De coax kabel heeft al een impedantie van 50 Ohm, het is de antenne met zijn impedantie karakteristieken die op de kabel aangepast moet worden. En dat doet een remote antenne tuner.

Samengevat:

– Een end-fed is eenvoudig te maken en te installeren, de antenne is goedkoop, er hoeft alleen een coax kabel het dak op.

– De end-fed bij mij gaf marginale resultaten op 80m met vooral veel QRM, en was niet te gebruiken op 15m of de warc banden.

– De end-fed heeft een tuner (bij de ontvanger bij de vorige set-up) nodig bij 80 en 17 meter. Bij 40 20 en 10 meter had mijn end-fed genoeg aan de ATU van je zender

– Een remote autotuner is iets duurder, en er moet een 13.8 Volt voeding naar de antenne (die natuurlijk ook ferriet ringetjes kan gebruiken. Er zijn duurdere autotuners die de spanning via de coax kabel aanleveren, maar daarvoor heb je een T-bias stuk nodig.

– Overal: de nieuwe situatie met de remote tuner werkt makkelijker over meerdere frequentiebanden en de antenne lijkt minder gevoelig voor de lokale QRM in huis. De coax kabel naar de antenne werkt niet als antenne, en dat is bij de end-fed volgens mij wel het geval.

Wat foto’s vind je op mijn blog.
_________________
73 Ernst, PA1EJO, Yaesu FT-991, Icom ID51E, Airspy/Spyverter,
CG3000 autotuner tussen 10 en 80m, VHF/UHF X30N, Indoor waslijn antenne RX only,
Moteino ISM, Arduino, blog: https://ejo60.wordpress.com

(QRN is het oorspronkelijke artikel is natuurlijk QRM, N is natural noise, M is man-made noise)

My review on www.gbantennes.com

Deze tuner stuurt een draad van 10,5 meter aan lopend vanaf het dak van een statief naar de tuin waar een mast staat. De aarddraad is ook 10,5 draad die langs de regenpijp naar uiteindelijk een lagere dakgoot loopt. De tuner werkt zoals ik verwachtte, met 15W AM stemt de tuner de antenna af op de coax kabel, dit gebeurt binnen 2 seconde en daarna heb je er geen omkijken naar. De tuner werkt met 10,5 meter draad tussen 160m en 10m. Het enig mogelijke nadeel is dat de montage rail ook van plastic is, bij mast montage moet de U beugel niet te hard aangedraaid worden denk ik. Een uitgebreider review in het engels staat op mijn blog https://ejo60.wordpress.com/2016/09/18/hf-antenna-update/

Last update: 22-sep-2016.

 

 

 

 

 

ATTINY85

The ATTINY is a 8 pin DIL IC that comes with a bootloader, a USB connector and a power regulator from digisparks. It is good for controlling small arduino projects that fit in 8k of code. The example in this movie makes two LEDs blink and react to a temperature change measured by the NTC.

Last update: 4-sep-2016

Quadcopter summer 2016

Before Aug I had no chance to fly the DJI F450, the first two weeks of august were not ok for flying, so I started in the middle of August.

18-aug-2016: Checked the batteries, compass and IMU calibrated, and it runs again.

On 24-aug and 25-aug I had two more flights, one on the beach and one on the moor. The “Maasvlakte video” dates from 24-aug.

The flight on 25-aug-2016 “Loon op Zand” had two hard landings because of battery capacity problems, either the low voltage level is too high, either I should charge the batteries differently, namely not at 1C but at a 1/2 or less at done prior to 25-aug-2016.

31-aug-2016: “Sunset at Oostvoorne” all went fine on this evening, except for taking off in the last run where I accidentally put it in manual mode, drone drifts in ATT mode at take-off while it is too close, you want to flip to GPS mode, but you execute MANUAL mode and then it is too late. This quadcopter is really sensitive in MANUAL mode.

11-sep-2016 “A few hours on the beach”: Fixed the gimbal (the Feiyu is easy to repair), one cable was disconnected during the last crash, replace a propellor, wait for a wind free day and off we go (10-sep had too much wind, so I took the kite up).

14-Sep-2016: “Beach Oostvoorne” went further south in the hope the beach was empty on a Wednesday afternoon, it pretty much was. Flew over the dunes and returned over the shorelines. Wind up to 4 m/s from the south, temperature 32C.

Trust me, I’m an engineer was the previous title of this blog

 

Rotary encoder on an Arduino

Attach a rotary encoder to an Arduino and make it count when you turn the knob. How does it work?

IMG_3119

The encoder has two lines, an A line on the left, a ground line in the middle, and a B line on the right. A and B output so-called Gray codes when you turn the knob, the Gray codes reveal the sense of rotation, the knob has 24 position in one turn, and with each click line A or B will change like a switch does.

I started to play around with existing Arduino code inspired by an article on circuits at home [link] and I added a few bells and whistles. There are some comments in the code, you will soon learn that there is a state transition table. My  explanation of this table goes in four handwritten sheets after the code.

#define ENC_A 14        // this is analog pin A0
#define ENC_B 15        // analog pin A1 on the arduino Uno
#define ENC_PORT PINC   // ENC_PORT gets all analog pins in one byte
#define TIMEOUT 2       // feel free to experiment around, 2 msec was ok for me
#define DEBUG 0         // 1 gives a bit more output
#define ROTATE 0        // counter from 0 to 255 rotates across boundary or not
#define CLOCKWISE       // undefine if you want a counterclockwise counter

unsigned long int timer = 0;
uint8_t encoder,prevencoder;

void setup() {
  pinMode(ENC_A, INPUT); digitalWrite(ENC_A, HIGH);  // it is A0
  pinMode(ENC_B, INPUT); digitalWrite(ENC_B, HIGH);  // it is A1
  Serial.begin (115200);
  Serial.println("Start");  
}

void loop() {
 static uint8_t counter = 0;      // output of the encoder
 int8_t tmpdata;
 if ((millis() - timer) > TIMEOUT) {
    tmpdata = read_encoder();
    if (DEBUG) {
      if (prevencoder != encoder) BinPrint( encoder );
      prevencoder = encoder;
    }
    if (tmpdata) {
      Serial.println(counter, DEC);
      if (ROTATE) {
        counter += tmpdata;
      } else {
        if ((counter < 255) && (tmpdata == +1)) counter += tmpdata;
        if (  (counter > 0) && (tmpdata == -1)) counter += tmpdata;
      }
    }
    timer = millis();
  }  
}

// returns change in encoder state (-1,0,1) 
int8_t read_encoder()
{
  // put the gray codes in four quadrants and start to count, I checked 
  // this in the following way
  //
  //   01 | 00
  //   -------
  //   11 | 10
  //
  // and the start counting the transitions across the boundaries
  //
  #ifdef CLOCKWISE
    // this is for clockwise turning
    static int8_t enc_states[] = {0,-1,+1,0,+1,0,0,-1,-1,0,0,+1,0,+1,-1,0};   
  #else
     // this is for counterclockwise turning
    static int8_t enc_states[] = {0,+1,-1,0,-1,0,0,+1,+1,0,0,-1,0,-1,+1,0};   
  #endif
  static uint8_t old_AB = 0;                // only does this once actually
  encoder = ENC_PORT;                       // I want to be able to debug
  old_AB <<= 2;                             // remember previous state
  old_AB |= ( encoder & 0x03 );             // form the state byte 
  return ( enc_states[( old_AB & 0x0f )]);  // &0x0f zeros out other bits
}

// shows the state of the encoder ports when we are debugging
void BinPrint( uint8_t copy ) {
  for (int i=0; i<8; i++) {
    if (copy & 0x01) {
      Serial.print("1");
    } else {
      Serial.print("0");
    }
    copy = copy >> 1;
  }
  Serial.println(" ");  
}

Here is the theory:

IMG_3115IMG_3116IMG_3117IMG_3118

Last update: 17-aug-2016