Sunday, June 1, 2014

Minima - Proposed New Tuning Method

This post is for a few brave (adventuresome) Minima builders/users. This is a "work in progress" and therefore feedback is requested.

Although I have not completed my experimental Minima Transceiver build, I have built the Digital Control Module and have been working on the Arduino software that controls the Display and the rest of the Minima hardware. See my previous blog posts, or at:

Minima Digital Control and VFO Module
Running REV 0.4.erb
One of the modification that I have made is to incorporate Jeff's (KO7M) 1Hz Driver for the Si570. This modification allows for 1Hz Tuning of the my Minima's VFO. Jeff's Si570 code is available on GIT Hub at:


Also, I have been working to modify the Arduino Sketch to provide an Alternate Tuning Method, what I consider a "Near-Normal" tuning method or functionality, for the original Farhan's Minima circuit and hardware. With only the original circuit's tuning POT to work with, functionality is of course somewhat limited.

The original Minima Arduino Sketch (REV 0.4) changes frequency via the Tuning Pot and pre-programmed steps. Tuning rate is dependent on how far from the "center of rotation" the Tuning Pot is turned. To tune "up and down" around a received signal the Tuning Pot must be turned past the Pot's center location, which of course is not typical of a normal receiver. Farhan's original Minima Arduino Sketch (REV 0.4) is available at:


The original Minima Arduino Sketch of VERY functional. But, I as programmer, and like they say: "programmers will be programmers, and they will modify programs", so, I am, what I am  :-)

My goal for this program modification is to maintain the functionality of the original Minima Arduino Sketch and incorporated Jeff's Integer Si570 Driver, which provides High Resolution Tuning (< 1Hz).

My modified Sketch, can replace the original Minima Sketch (REV 0.4) via a normal Arduino IDE compile and download. And if needed, the original Sketch can be re-installed via the same method.

This modified Minima Sketch (REV 0.4.erb) is available on my GIT Hub, at:


This revision ALSO provides the following:
  • This Sketch can be used in place of original Minima REV 0.4 Sketch (but of course, use at your own risk).
  • Provides Eight Digits for Frequency Display
  • Provides 1Hz Tuning Resolution

     Provides a Near-Normal Tuning Method
  • Tuning is accomplished by moving the cursor via the Tuning Pot to the digit that you want to change.
  • Then wait for the underline cursor to start flashing.
  • Then change the digit by turning the Pot left for lower, and right for higher frequency.
  • Near the Stops (the Pot rotational Stops) the digit will change automatically.
  • At the Stops, the digit automatically changes even faster.

After you stop Tuning (i.e., stop changing the digit), the mode switches back to "cursor move mode" for a few seconds, as indicated by the Non-blinking Cursor, then repeats.
  • The cursor can be "parked" to the right of the least digit.

The current Mode is indicated by the cursor style:
  • Blinking Underline Cursor = Digit Change Mode
  • Non-Blinking Underline Cursor = Cursor Move Mode

These modes are ALSO indicated by the far right character on the top line:
  • "*" = Cursor Move Mode
  • "-" = Digit Change Mode
  • "<" = Digit Changing to lower frequency
  • ">" = Digit Changing to hight frequency

Note: If the Cursor Move Mode seems to get lost, move the cursor to each of the two hard Stops to recalibrate cursor movement.

Some new functions on my To-Do list include:
  • Stay Compatable with Original Minima Hardware
  • Provide for Rolling Menus
  • Band Pick from Menus
  • User Defined Frequency Memories
  • User Defined Frequency Tuning Steps (e.g. similar to FT-817's 2.5KHz steps)
  • Transmit Macro (send CW CQ, ID or more)
  • Transmit Mode from Menu
  • Beacon Modes: CW, QRSS, and WSPR-Tx
  • User Defined Operational Preferences; Digit Count, Tuning Rate, etc
  • etc

If you try this initial experimental "REV 0.4.erb", I hope you find it useful.


Have fun !!
and, Provide Feedback !!


UPDATE
Git Hub Repository URL's have been corrected.


--

7 comments:

  1. One suggestion I might put forward would be to change the behavior such that instead of only changing the digit at the cursor to zero the digits to the right of the cursor. The digit at the cursor then increments along and rolls over to the digit to the left. Effectively, you could then increment at 1, 10, 100, 1000 Hz, etc., rather than having to set each digit separately. Just a thought...

    Nice work Eldon.

    73's de Jeff - ko7m

    ReplyDelete
  2. Jeff and All,

    Thanks for the input, actually I was thinking the "Same", but wanted the ability to QSY +1KHz regardless of the current least digits.

    I planning for "user specified modes", so maybe your suggested mode is a good mode to include, where the default mode would be set by the user.

    Thanks,

    ReplyDelete
  3. Jeff,

    The "Zero Lesser Digits" mode can be implemented in one line of code. I tried it and it works fine, maybe it SHOULD be the default.

    Thanks,

    ReplyDelete
  4. Evening Eldon,

    I'm wrestling a bit with the code and could do with a bit of help please. If I enable an encoder (I have a standard EC11 type) and upload the code it goes through the initial Hello screen, then rev screen then hangs on Radiono0.4.erb and stays there until I power off. I have connected up an encoder and on turning it just resets the arduino. I know I'm missing something somewhere but I don't quite know what. Can you help?

    ReplyDelete
    Replies
    1. I have not looked at the code for over a year, but I think the current Rev is "KA01": see the GitHub. Do you have a working Si570 connected? Initiation will not continue without a connection. Sorry my memory of the software is not that current.

      Delete
    2. Hi Eldon, I've had a bit of a wrestle but didn't get it going. I did have a happy connection with the si570 with the 'standard' software. Sounds like that's the best starting point. Perhaps I can have a go with a local ham who is good with this kind of thing. Appreciate you time.

      Alex

      Delete