[minima] Re: Ver.0.030 code problems

  • From: <jerry@xxxxxxxxxxxxxxxx>
  • To: minima@xxxxxxxxxxxxx
  • Date: Sat, 29 Mar 2014 12:39:10 -0700

Thomas, attached are tests I did, including the testing.ino that Mac
sent me. We were checking to see if the chip would change frequencies.
It did, I made three tests. All with my original board. With the new
board, I loaded ver. 0.030 and got the results attached as,
"newdigoboard". This is when I thought maybe my board had a trace that
was bad, and I took my soldering iron and was going to pull solder down
the traces to thicken them.  I didn't realize that I still had the power
to the board on and when I touched the soldering iron to the trace I
fried the si570. So I'm back to one board. But when I started up the
ver. 0.030 before I fried the chip, it said I had a comm error.  My old
board never gave that message. Before I loaded ver 0.030 on the new
board the testing sketch was the same as the old board.  I bought both
chips from DigiKey and they have the same "CAC000141G" on the chip. I
will run any tests you need me to. Jerry

K5LRU
Harwood, Texas

> -------- Original Message --------
> Subject: [minima] Re: Ver.0.030 code problems
> From: Thomas Sarlandie <thomas@xxxxxxxxxxxxx>
> Date: Sat, March 29, 2014 1:26 pm
> To: "minima@xxxxxxxxxxxxx" <minima@xxxxxxxxxxxxx>
> 
> 
> Frank, Jerry,
> 
> I think at this point we are pretty sure that the bug is because we are
> using different variants of the Si570. I am working on it now to make a
> v0.0.4 that would work for everyone.
> 
> Jerry, to help me test my changes, can you send me the output of the serial
> console when you start your second minima?
> 
> Every Si570 is different and I will run the maths manually to make sure
> there is no bug in the source code anymore.
> 
> thanks!
> thomas
> 
> 
> On Sat, Mar 29, 2014 at 10:52 AM, Frank <w4nhj@xxxxxxxxxxx> wrote:
> 
> >  Jerry,
> >
> > I use a Mac, you know I believe Thomas also uses a Mac.  I wonder if you
> > have hit on something.
> >
> >  Frank - W4NHJ
> >
> > -
> > On 3/29/14, 1:14 PM, jerry@xxxxxxxxxxxxxxxx wrote:
> >
> > Frank, thanks for sending the files, I will compare the code to mine.
> > What operating system do you run your Arduino software with? Jerry
> >
> > K5LRU
> > Harwood, Texas
> >
> >
> >  -------- Original Message --------
> > Subject: [minima] Re: Ver.0.030 code problems
> > From: Frank <w4nhj@xxxxxxxxxxx> <w4nhj@xxxxxxxxxxx>
> > Date: Sat, March 29, 2014 11:03 am
> > To: minima@xxxxxxxxxxxxx
> >
> >
> > Jerry,
> >
> > I tested my digital board with the V0.03 firmware and it works.  I could
> > send you the three files I have and you can see if that works.  Perhaps
> > something was changed in the firmware that is on Github now, but I doubt it.
> >
> > Frank - W4NHJ
> >
> > -
> > On 3/29/14, 11:34 AM, Celso - PY2XT wrote:
> >
> >  Hi Jerry and folks,
> >
> > I have the same problem with my digital board, just like you.
> >
> > I will continue researching and wait for help from more experienced friends.
> >
> > 73 to all.
> >
> > Celso - PY2XT.
> >
> >
> > De: jerry@xxxxxxxxxxxxxxxx
> > Enviada: Sábado, 29 de Março de 2014 07:02
> > Para: minima@xxxxxxxxxxxxx
> > Assunto: [minima] Ver.0.030 code problems
> >
> > I bought a new si570, built a new digi-board, and guess what, I still
> > have the same problem. The si570 is frozen at 56.3 Mhz. I got a test
> > sketch from Mac (I put my callsign in the code to make sure I was
> > pulling up the right file through Arduino) see attachment, and I am able
> > to change the frequency of the si570 with the sketch which proves the
> > I2C bus is working OK. The chip puts out a clean signal at around 2.84v
> > peak to peak, (see attachments). With Farhan's original sketch, the
> > si570 will tune. I think I've read everything there is on the internet
> > about the I2C buss, and I don't think that's my problem, unless it is
> > running too fast with the new version code. I made my own digi board
> > pcb, but it was from Adrian's design, so it should be the same as
> > everyone else. The voltages on the si570 are at 3.274. I'm out of ideas.
> > I need help. Jerry
> >
> > K5LRU
> > Harwood, Texas
> >
> >
> >
> >
> >
> >

Attachment: 15mhz_test.png
Description: PNG image

Attachment: 34.2mhz_test.png
Description: PNG image

Attachment: 2014-03-27_0223.png
Description: PNG image

Attachment: newdigoboard.png
Description: PNG image

/*
 * Wire is only used from the Si570 module but we need to list it here so that
 * the Arduino environment knows we need it.
 */
#include <Wire.h>
#include <LiquidCrystal.h>

#include <avr/io.h>
#include <stdlib.h>
//#include <math.h>
#include "Si570.h"

#define FREQ_XTAL (114292532l)
#define SI570_I2C_ADDRESS 0x55
#define SI570_STARTUP_FREQUENCY 56320000L  // Most Ham Si570 have this startup 
frequency.
//#define SI570_STARTUP_FREQUENCY 10000000L // My Si570 has this startup 
frequency.  Select as appropriate.
#define SI570_NEW_FREQUENCY 34200000L
Si570 *vfo;

/*
 The 16x2 LCD is connected as follows:
    LCD's PIN   Raduino's PIN  PURPOSE      ATMEGA328's PIN
    4           13             Reset LCD    19
    6           12             Enable       18
    11          10             D4           17
    12          11             D5           16
    13           9             D6           15
    14           8             D7           14
*/
LiquidCrystal lcd(13, 12, 11, 10, 9, 8);
char printBuff[32];

void setup() {
  // Initialize the Serial port so that we can use it for debugging
  Serial.begin(115200);
  Serial.println("Si570 test starting! K5LRU");

  // Initialize the LCD.
  lcd.begin(16, 2);
  printBuff[0] = 0;
  lcd.setCursor(3, 0);
  lcd.print("Si570 Test");

  // The library automatically reads the factory calibration settings of your 
Si570
  // but it needs to know for what frequency it was calibrated for.
  // Looks like most HAM Si570 are calibrated for 56.320 Mhz.
  // If yours was calibrated for another frequency, you need to change
  // that at the #define statement at the top of this sketch.
  vfo = new Si570(SI570_I2C_ADDRESS, SI570_STARTUP_FREQUENCY);

  if (vfo->status == SI570_ERROR) {
    // The Si570 is unreachable. Show an error for 3 seconds and continue.
    lcd.setCursor(0, 1);
    lcd.print("Si570 comm error");
    delay(3000);
  }

  // This will print some debugging info to the serial console.
  vfo->debugSi570();

  //set the initial frequency
  vfo->setFrequency(SI570_NEW_FREQUENCY);
  
}

void loop(){
}

Other related posts: