¿ªÔÆÌåÓý

Rarduino WAY off Freq ... there is more


 

Hi all,

my Bitx40 is good with analogue VFO. Now, I'm finding more curious things with the Raduino's Si5351. When I was looking at the waveform, noticed some intermittent glitches at the bottom part. I was able to trigger at some undershoots, changed time base and found that there is a brief pause in the generated waveform of about 740 us (microseconds), and that pause repeats itself every 38 ms.

I'm still hoping that this is software related problem, I just didn't have time to try different libraries, as Jerry suggested earlier. Also, I hope that someone who know this creature (Si5351, HI) little better might have better clue of what's going on here.

Thanks,

Goran VE6GPO


 

I don't know of anything inside the Si5351 that might cause a pause every 38ms like that. ?Could be the Nano is off the rails, and continuously reprogramming the Si5351. ?Look at pins 8 and 9 of the Nano with your scope, which are the i2c clock and data for programming the Si5351. ?I'd expect them to be quiet if you aren't tuning the radio. ?If they are not quiet, could try shorting pin 9 to ground while it is working, this is fair to do since it is an open-drain signal, shorting to ground should keep the Nano from successfully writing to the Si5351. See if that pause is still happening when pin 9 is shorted to ground.

Nobody else is reporting this problem, so it probably isn't the library. ?I was seeing a factor of 4 on the VFO freq in Allard's problem also, thought that might be related. ?But I'm pretty sure Allard's problem has now been figured out. ?This one I'm still guessing on.


On Mon, Feb 13, 2017 at 07:56 pm, Goran VE6GPO wrote:

I'm still hoping that this is software related problem,

?


 

The Si5351 library may assume it is the only i2c master, and thus ok to drive the SCL clock both high and low. ?So might be safer to short SDA at Nano pin 8 to ground, or find some way to halt the Nano completely. ? (Though shorting either pin to ground is probably ok.)


On Mon, Feb 13, 2017 at 08:34 pm, Jerry Gaffke wrote:

could try shorting pin 9 to ground while it is working, this is fair to do since it is an open-drain signal,

?


 

An Si5351 costs around $1USD. ?If that Nano seems to be otherwise behaving and nobody else has a similar problem, that suggests it might be a bad Si5351. ?But it won't be easy to swap out if you don't have the tools to work with such small pins. ?Best bet then is to become friends with somebody so equipped.


I haven't seen much here about rework, here's a few hints. ?To remove a part like that, I'd mask off all but the Si5351 using tinfoil, then hit it with a hot air gun. ?A hobby store embossing heat gun might work. ?Nudge the part gently to see when it moves, then pick it off the board with a pair of tweezers. ?Don't tug at it or the pads will separate from the board. ?Then clean the pads off with flux and solder wick ? Wash with alcohol. ?

If you plan to do a bunch of rework, might be worth investing in some ChipQuik. ?I've never used it myself, but have heard it works well. ?It is a special low temperature solder, you heat up all the pins one at a time and mix some ChipQuik with the existing solder. ?Then you only have to heat things up a little beyond where water boils before it is molten and you can pick the part off the board and clean the pads.

The Si5351 has very small pins, the ideal tool is a temperature controlled soldering iron with the smallest conical tip you can find. ?I use a Weller NT1 tip for most of my soldering. ?Get some really thin solder so it is easy to apply just a little bit, down around 0.4mm in diameter. ?Traditional tin/lead solder is much easier to use than the higher temperature ROHS stuff. ?Solder down one corner pin first, and get the part straight. ?Then solder down the other pins. ?I often use a water soluble liquid flux in addition to the flux in the solder. ?Then wash the board very thoroughly when done, especially if you are using a corrosive flux, as it can chew through a copper trace in a matter of days.

Many experimenters these days squirt solder paste across the pads, set the parts in place, then hit it with a heat gun. ?The motlen solder sticks to the pads on the board, and pulls the part exactly into place through surface tension. ?You can solder an entire board all at once with this method. ?Works great for a fine pitched part like the Si5351. ?Don't use too much paste or you will wind up with a bunch of solder bridges. ? ?



 

hold off that thought. there maybe some simpler problem. it is unlikely that the si5351 is behaving perfectly well but goes on and off if it is blown. norndoes this seem like a nano problem for the same reason. i would check the power levels and reprogram the nano.
each raduino has been programmed and checked for stable output on the scope as well as a calibrated frequency counter before being shipped.
as a prof used to say : dont look for a zebra, look for a horse. the explanation s are often simpler than thought.
- f

On 15-Feb-2017 10:04 am, "Jerry Gaffke via Groups.Io" <jgaffke=[email protected]> wrote:

An Si5351 costs around $1USD.? If that Nano seems to be otherwise behaving and nobody else has a similar problem, that suggests it might be a bad Si5351.? But it won't be easy to swap out if you don't have the tools to work with such small pins.? Best bet then is to become friends with somebody so equipped.


I haven't seen much here about rework, here's a few hints.? To remove a part like that, I'd mask off all but the Si5351 using tinfoil, then hit it with a hot air gun.? A hobby store embossing heat gun might work.? Nudge the part gently to see when it moves, then pick it off the board with a pair of tweezers.? Don't tug at it or the pads will separate from the board.? Then clean the pads off with flux and solder wick ? Wash with alcohol. ?

If you plan to do a bunch of rework, might be worth investing in some ChipQuik.? I've never used it myself, but have heard it works well.? It is a special low temperature solder, you heat up all the pins one at a time and mix some ChipQuik with the existing solder.? Then you only have to heat things up a little beyond where water boils before it is molten and you can pick the part off the board and clean the pads.

The Si5351 has very small pins, the ideal tool is a temperature controlled soldering iron with the smallest conical tip you can find.? I use a Weller NT1 tip for most of my soldering.? Get some really thin solder so it is easy to apply just a little bit, down around 0.4mm in diameter.? Traditional tin/lead solder is much easier to use than the higher temperature ROHS stuff.? Solder down one corner pin first, and get the part straight.? Then solder down the other pins.? I often use a water soluble liquid flux in addition to the flux in the solder.? Then wash the board very thoroughly when done, especially if you are using a corrosive flux, as it can chew through a copper trace in a matter of days.

Many experimenters these days squirt solder paste across the pads, set the parts in place, then hit it with a heat gun.? The motlen solder sticks to the pads on the board, and pulls the part exactly into place through surface tension.? You can solder an entire board all at once with this method.? Works great for a fine pitched part like the Si5351.? Don't use too much paste or you will wind up with a bunch of solder bridges. ? ?



 

You're right, could still be something simple. ?He should check the 5v and 3.3v volt rails on the Raduino.

This is a continuation of an earlier thread, where he reports that it sort of works but at only one quarter of the expected VFO freq. ?Very weird. ??/g/BITX20/message/21886?

Reassuring to hear that they all get checked thoroughly before being shipped.

Jerry?


On Tue, Feb 14, 2017 at 08:53 pm, Ashhar Farhan wrote:

hold off that thought. there maybe some simpler problem. it is unlikely that the si5351 is behaving perfectly well but goes on and off if it is blown. norndoes this seem like a nano problem for the same reason. i would check the power levels and reprogram the nano.
each raduino has been programmed and checked for stable output on the scope as well as a calibrated frequency counter before being shipped.
as a prof used to say : dont look for a zebra, look for a horse. the explanation s are often simpler than thought.
- f

?


 

I'll check rails when I get home. I'm powering the Raduino from bench-top power supply set to about 12.5 V, but that shouldn't really matter since there is 7805 to regulate, right? I'll check for ripple on that PS, and on both Nano rails (3.3 and 5). Besides being off frequency, these 'pauses' every 38 ms (~ 26 Hz) were producing nasty sound from the speaker when connected to the Bitx mixer. Now with analogue VFO Bitx sounds really clean, as it should be.

It doesn't seem that Nano is going into reset because display is fine, always showing e.g. "A: 7.1000 LSB", and it changes nicely when pot changes, although frequency is ~5 times lower than it should be. I did reprogram the Nano once, with same results, and since it's very strange problem, wanted to get to the bottom of it before doing it again and fixing it without knowing what's really going on :) Just my curiosity.

Again, I'll do more thorough testing and let you know.

Goran VE6GPO


 

You seem to know how to use that scope, and have a good idea of how this works. ?You'll probably figure it out. ?If you want hints, here's what I'd be looking for:

Ashhar is right, triple check that the 5v and 3.3v supplies are clean down on the Raduino. ?Yes, 12.5v should be fine going in.

Whenever the tuning pot changes the VFO frequency, the Nano will write to registers on the Si5351. ?Perhaps you have too much noise from the tuning pot into the Nano, so the Nano is continuously updating the Si5351 at 26hz? ? Look at the SDA, SCL lines from Nano to Si5351, see it there is traffic there, when things are stable those wires should be pulled high to 3.3v. ?If you do see traffic, perhaps hack the sketch so it ignores the tuning pot and updates the Si5351 once every second, always writing the same frequency. ?Perhaps somebody else out there with a Raduino and a scope can tell us if they see similar gaps in the VFO's output when the tuning pot is turned. ?I believe there have been reports of Raduino tuning causing noise in the receiver audio, though that my have been mostly noise from updates to the display. ?Look hard for cold solder joints using bright lighting and magnification.


Regarding the initial complaint of a VFO freq that is 5x lower than it should be, I only have wild guesses:

1) ?Power supply trouble on that 3.3v rail. ?This seems an unlikely cause.

2) ?Dirt on those SDA,SCL lines from the Nano, but I doubt that would give consistent results like this.

3) ?Perhaps most Si5351's power up with one of the output dividers in a particular state, your's powers up in a different state. ?And the Si5351 library has a bug, isn't initializing the register that controls that output divider?

2) The 25mhz oscillator into the Si5351 isn't operating properly. ?You might look for a 25mhz signal at the crystal with a 10x scope probe. ?It is possible the act of probing it will shut it down, but I don't think so. ?

4) Some weird failure within the Nano ? Perhaps even writing a fresh sketch to it somehow doesn't program the flash correctly, resulting in a bug where it writes to the Si5351.

3) You have a hardware failure in the Si5351


Since you had been beating your head against this for several days, I sent that post about putting in a new Si5351 in part to warn you that it might not be a trivial task. ?Ashhar says all these units get checked before shipping, an Si5351 failure should not happen very often. ?But could happen.

If you don't want to deal with it, might be worthwhile to ask hfsignals if they would take it back. ?They might want to figure this out themselves, just to make sure it does not happen on future units. ?But may only want it back if you have not been making mods to it.

It's a tough problem.


Jerry, KE7ER



On Wed, Feb 15, 2017 at 11:17 am, Goran VE6GPO wrote:

I'll do more thorough testing and let you know.

?


 

Finally got some time to work on this. Checked ripple coming in, between 10-20 mV on the 12 V line coming in. Measured 5.08 V and 3.28 V on 5 and 3.3 rails, ac coupled on the scope seems clean. There is a traffic on SDA line whenever pot is moved. It stops when pot is moved to any of the ends and reading gets to the limit (6.99 or 7.50), or sometimes when . Wasn't able to scope 25 MHz crystal.

Loaded Nano with the following code, from etherkit github readme page, slightly modified, see highlighted comments:

/*--------------------------*/

#include <EEPROM.h>

#include <Wire.h>

#include <si5351.h>

Si5351 si5351;

/*-----------------------------*/

void setup() {

? // put your setup code here, to run once:

? Serial.begin(9600);

? si5351.init(SI5351_CRYSTAL_LOAD_8PF,25000000l,0);

? Serial.println("*Initiliazed Si5351\n");

? si5351.set_freq(1000000000ULL, SI5351_CLK2); // 10 MHz on clock 2

? si5351.set_freq(500000000ULL, SI5351_CLK1); ?// ?5 MHz on clock 1

? si5351.set_freq(100000000ULL, SI5351_CLK0); ?// ?1 MHz on clock 0

? delay(10);

}

/*-----------------------------*/

void loop() {

? // put your main code here, to run repeatedly:

? si5351.update_status();

? Serial.print("SYS_INIT: ");

? Serial.print(si5351.dev_status.SYS_INIT);

? Serial.print(" ?LOL_A: ");

? Serial.print(si5351.dev_status.LOL_A);

? Serial.print(" ?LOL_B: ");

? Serial.print(si5351.dev_status.LOL_B);

? Serial.print(" ?LOS: ");

? Serial.print(si5351.dev_status.LOS);

? Serial.print(" ?REVID: ");

? Serial.println(si5351.dev_status.REVID);

}

/*----------------------*/

What I'm measuring is: 2.110 MHz on CLK2, 1.055 on CLK1, 211 kHz on CLK0. All three outputs are about 4.74 times lower than set in the sketch. And the same 740 us pauses every 38 ms, on all three outputs (almost) perfectly lined up with each other (couple of cycles difference).

Then, I unsoldered Nano ( so, no returning to hfsigs, I guess, but I want to thank Ashhar for all the work he's doing :) and had a spare Arduino. Wired 3.3, GND, A4, and A5 from Arduino to the Raduino board (now without Nano) and got it going with the sketch above - results were the same as above. So, definitelly not a Nano problem. I'll be getting one of those Adafruit breakout boards with Si5351, but before that I'm going to try Adafruit library, hoping that it may resolve the issue. But, that will happen tomorrow ...

Goran VE6GPO