开云体育

calibration routine fixed (raduino v1.0.2)


 

As reported by many others in earlier threads, the calibration routine Ashhar's raduino sketch v1.01 on Github isn't working.
There were two issues:
1. the correction factor is not calculated properly
2. the value is stored in EEPROM, but it is never fetched during start up.

In addition, the sketch didn't compile with the newer v2 library for the Si5351

I corrected Ashhar's original Raduino sketch in order to fix the above issues. See attached (raduino_v1.0.2.ino)

@Ashhar: perhaps you can consider to place this on your Github page?

73, Allard PE1NWL


 

Let me try it today
- f

On 7 Mar 2017 6:45 a.m., "Allard PE1NWL" <pe1nwl@...> wrote:
As reported by many others in earlier threads, the calibration routine Ashhar's raduino sketch v1.01 on Github isn't working.
There were two issues:
1. the correction factor is not calculated properly
2. the value is stored in EEPROM, but it is never fetched during start up.

In addition, the sketch didn't compile with the newer v2 library for the Si5351

I corrected Ashhar's original Raduino sketch in order to fix the above issues. See attached (raduino_v1.0.2.ino)

@Ashhar: perhaps you can consider to place this on your Github page?

73, Allard PE1NWL




 

Thanks Ashhar,

The corrections I made are only related to the calibration routine and the
newer Si5351 library. No other bug corrections or improvements. I left the
rest of the code in tact as much as possible.

If you decide to put it in your Github page, then I'd suggest to also
include the following note in the README.md file:

"NOTE: This sketch is based on version V2 of the Si5351 library. It will
not compile with V1!"

As this his also caused confusion with some users recently.

73, Allard PE1NWL


 

Hi Allard,


Where can I find the Si5351 library please? There are several libraries available and I feel a bit confused :(


73, Elia M0ZHN


Stephan Lauffer
 

Hi Elia,

look into the comment in the raduino.ino source...



...there you can read:

"[...] You can download and install it from [...]"

73, Stephan dc8lz

Am 07.03.2017 um 11:03 schrieb Yaya via Groups.Io:

Hi Allard,


Where can I find the Si5351 library please? There are several libraries
available and I feel a bit confused :(


73, Elia M0ZHN


 

Hi Stephan,


Thank you for the link, I downloaded the library and the sketch compiles nicely!


73, Elia M0ZHN


Lawrence Macionski
 

I thought there was something "not right" when I did the calibration on my BITX40V3. But I don't have your flight time in the cockpit.

Short and sweet of this message- Because of popularity since start of 2017. It's time to release a minimum revised BITX40V3 recommended hardware-software updates - like adding the cap in the final for 2nd harmonic suppression and other necessary items. Such as a Raduino V1.0.2? sketch. as that will also evolve.

Perhaps on HFSIGS.COM - a timeline page .... this, that or the other was adopted on this date... it's hard to follow on groups.io. I am sure everyone would want a "standard" as of this date page..

Larry W8LM


 

Hello,

I compiled last raduino.ino, but have problem how to connect on lcd.

Can make and sketch how to connect arduino and lcd 16x2.


Best regards

Matjaz


 

The LCD connections are shown on the schematic available here:


--
Ion

VA3NOI


 

Dear Ashhar,

I have just created a pull request on your Github repository.
So that you can easily review the changes I made.
If you agree with the changes, please merge with your bitx40 master. So that the rest of the bitx40 community can use it as a 'standard' raduino code from your Github page.

Thanks, 73
Allard PE1NWL


 

@Ashhar,

Sorry I know you're a busy man, but did you find some time to try it already?
Would be great if you could have a look at my Github pull request and merge it - thanks
73, Allard PE1NWL


jmlynesjr@gmail.com
 

Does this version also include the tuning dead band fix?

James



 

Hi James,

earlier in this thread:

"The corrections I made are only related to the calibration routine and the
newer Si5351 library. No other bug corrections or improvements."

73, Allard PE1NWL


 

I assume by "dead band fix" you mean this: ?/g/BITX20/message/22349

Well worth doing. ?Gives the tuning pot a bit of hysterisis. ?Does away with the constant flicker between adjacent frequencies due to noise in the ADC when the knob is not being rotated, but otherwise leaves functionality and feel exactly as Ashhar had coded it. ?t works by inhibiting a reverse in direction of the tuning pot until that reversal has traveled through what would normally be 5 steps in frequency of 50hz each. ?For example, assume we have been tuning up in frequency and stop the knob at 7200.000 khz. ?A bit of noise comes in from the ADC, and the frequency pops up to 7200.050 khz. ?Another bit of noise comes in that would normally bring it back down to 7200.000 khz, but this is ignored because it does not reach the 5 tick threshold. ?A light touch on the knob might bring it a bit further up to 7200.100 khz. ?Reversing the direction of the knob, it travels through 5 steps before any change in frequency occurs, on the 6'th step the frequency goes back down to 7200.050 khz. ?If we leave the knob in that position, a bit of ADC noise might lower it further to 7200.000 khz, but noise will not raise the frequency. ?I recommend operating with the original code at first until the noise at the pot has been evaluated and minimized with bypass caps and perhaps short shielded wiring. ?Then enable this new code by recompiling the sketch. ?The frequency will still move a little bit after taking your hand off the knob, but can only move in one direction.

To implement the change, replace this part of the code as posted by Ashhar on github:

  // the tuning knob is at neither extremities, tune the signals as usual
  else if (knob != old_knob){
     frequency = baseTune + (50l * knob);
     old_knob = knob;
     setFrequency(frequency);
     updateDisplay();
  }

with this:

  // the tuning knob is at neither extremities, tune the signals as usual
  else if (knob != old_knob){
    static char dir_knob;
    if ( (knob>old_knob) && ((dir_knob==1) || ((knob-old_knob) >5)) ||
         (knob<old_knob) && ((dir_knob==0) || ((old_knob-knob) >5)) )   {
       if (knob>old_knob) {
            dir_knob=1;
            frequency = baseTune + (50l * (knob-5));
       } else {
            dir_knob=0;
            frequency = baseTune + (50l * knob);
       }
       old_knob = knob;
       setFrequency(frequency);
       updateDisplay();
    }
  }

Note that there is one more "}" not included in the code snippets above to close out the function doTuning(). ?I chose to represent the complete "else" clause with balanced parenthesis, that final "}" is not part of the else clause.

I'm on the road, won't be updating the file myself. ?But the above change does work.

Jerry, KE7ER

?



On Fri, Mar 10, 2017 at 08:58 am, <jmlynesjr@...> wrote:

Does this version also include the tuning dead band fix?

?


 

Hey maybe we should fork a branch for cutting edge changes? Then Ashhar can merge in changes he feels should be in the main branch.


 

Yeah that's exactly what I did, see my branch at


I'm now waiting for Ashhar to merge this release.

Next change I may want to work on is the flutter fix as suggested by Jerry.

73, Allard PE1NWL

On Fri, March 10, 2017 19:17, peatmoss wrote:
Hey maybe we should fork a branch for cutting edge changes? Then Ashhar
can merge in changes he feels should be in the main branch.


jmlynesjr@gmail.com
 

Let me hear a BIG DUH!

I posted while the code was still printing. Otherwise I would have seen that the Tuning Flutter fix was not included. I started with Allard's file and added Jack's version along with a header block that I use at the top of my code files. Compiles clean, but still waiting on delivery...

At some point I want to create an SSB only version by hacking out all the currently unused code. That should free up some memory for other enhancements.

James

Aside: I'm normally a chipKIT(Arduino clone based on Microchip's PIC32 processors - fast with large memory) user and I use a different IDE - UECIDE(uecide.org). It was fairly easy to install the Arduino Nano plug-ins into UECIDE.




 

I have just released raduino_v1.0.3 which includes Jerry's "flutter fix" for improved tuning as well.
Works well on my BITX40, no flutter anymore. Thanks Jerry!

Download it from

73, Allard PE1NWL


 

Allard and the gang,
I have been Terribly busy with the Lamakaan anniversary going on. I have your code, but to quote knuth 'i have only proved the code to be workint, not tried it'. Give me a few more days and I will work a few stations with this code before pulling it into my main.
The main branch is also where Lila picks up her code to burn into the raduinos being shipped. A mistake could cost a lot of heartache.
- f

On 11 Mar 2017 5:58 a.m., "Allard PE1NWL" <pe1nwl@...> wrote:
I have just released raduino_v1.0.3 which includes Jerry's "flutter fix" for improved tuning as well.
Works well on my BITX40, no flutter anymore. Thanks Jerry!

Download it from

73, Allard PE1NWL




 

Hi Ashhar,
many thanks. Understood about your time constraints. Take your time, I
fully agree that it's a must to do a thourough field test before taking it
into production.

Meanwhile several builders are already using the improved code and so far
no problems have been reported related to the changes. There are perhaps
some other optimisations that could still be done but I may address them
in a later version. My objective is just to debug and optimize the basic
code, not to add new features. So that it can used as a "standard" that
you can burn into the new raduinos, and from where builders can go for
further hacking/enhancement etc.

73, Allard PE1NWL

On Sun, March 12, 2017 05:01, Ashhar Farhan wrote:
Allard and the gang,
I have been Terribly busy with the Lamakaan anniversary going on. I have
your code, but to quote knuth 'i have only proved the code to be workint,
not tried it'. Give me a few more days and I will work a few stations with
this code before pulling it into my main.
The main branch is also where Lila picks up her code to burn into the
raduinos being shipped. A mistake could cost a lot of heartache.
- f

On 11 Mar 2017 5:58 a.m., "Allard PE1NWL" <pe1nwl@...> wrote:

I have just released raduino_v1.0.3 which includes Jerry's "flutter fix"
for improved tuning as well.
Works well on my BITX40, no flutter anymore. Thanks Jerry!

Download it from

73, Allard PE1NWL