Lars Welcome to time-nuts and that's one way to make a splash from the start by creating something and then sharing it. Thank you and again welcome. Paul WB8TSL
On Tue, Feb 11, 2014 at 1:23 PM, Lars Walenius <[email protected]>wrote: > I have long thought I should make my first post to the Time-Nuts forum. > Being very grateful to everything I learned here. > > > > > > I have tried to attach a picture showing one of my two Arduino GPSDO > Shields . The first one I put together in 2011. It only needs two HCMOS > circuits (HC390+HC4046), one diode and passive components. Still it has > 1nsec resolution. > > > > From the simplified schematic it can be seen that the TIC uses a HC4046 > very similar to the Shera controller but instead of using a digital counter > I just added a diode and RC-net that goes directly into one of the 10-bit > AD channels. So the TIC has about 1nsec resolution and 1usec range when the > HC4046 is fed with 1MHz from the HC390. The linearity of the TIC is quite > good as I use the 1.1Volt ADC range. 500ns gives a reading of about 530 if > 1000ns is a reading of 1000. See also the picture that shows a hanging > bridge measured with the board. Scale is AD value but is very close to 1ns > per bit. > > > > To get a broader TIC range I added a 5MHz input to timer 1 in the Arduino. > Sorry to say I am not a good programmer so I have managed to get it to read > the timer and add usecs to the analog nsec value but sometimes I get a > wrong value so I am not using it to regulate yet. > > > > As DAC I use two 8-bit PWMs in the Arduino Uno. They are summed by two > resistor and to get ripple down I have a two-pole RC lowpass filter. My > measurements with a Keithley 2000 6 digit DMM indicates at least 13-14bits > monotonic range with 1% resistors. The internal 5Volt in the Arduino UNOs > seems to have about or maybe less than 100ppm/C drift. With my OCXO I use > only a 10ppb (1E-8) range so I get better than 1E-12 resolution and less > than 1E-12/°C extra from the DAC. For the LPRO Rb I use 1ppb range so it > gives better than 1E-13 resolution and less than 1E-13/°C extra from the > DAC. > > > > I also read temperature of the OCXO or Rb I discipline. The program can > correct for temperature drift if needed. I have used it for the OCXO I > have, an old CEPE that look similar to an 8663, but not for the LPRO. My > LPRO have about 7E-13/°C tempdrift and 7E-14/mbar pressure drift so > pressure drifts gives more problem for me. > > > > For the LPRO, that seems to need about 7000secs timecontant, I also found > a new problem when I was testing that for the first time during Christmas. > The problem was a truncation error with long time constants and heavy > prefiltering that gives an apparent change in timecontant and damping (more > ringing). It is not solved in my code yet. So right now I use 1000secs as > time constant for the LPRO also. > > > > About my program: > > -The 1PPS gives an interrupt that starts almost all of the program and > first reads the TIC ADC > > -Uses a prefilter after the TIC (Now set to one forth of time constant in > my code ) > > -Uses a PI loop > > -Senses four dipswitches for 16 different timecontansts between 100 and > 30000secs > > -Senses four other dipswitches to set e.g fast locking (50 sec Tc), hold, > max-, min-, mid-dac value for tests > > -Has a missed PPS counter (increments if more than 1.1secs since last PPS) > > -Has a PPS lock indication that turns on if the TIC value is within > 500+-x for more than five time constants > > -Sends out time, DAC value, temperature, missed PPS and Locked every > second on the serial line > > -It also sends out the last 144 averaged 5minutes and 3hour TIC-values, > DACvalue and temperature with one each of the values each second so after > 300seconds all stored values are sent to the serial line. From the Arduino > serial monitor it is rather easy to copy-paste to e.g. Excel for further > processing. > > -It starts with the last stored 3 hour DAC-value if the EEPROM is not > empty at start or if the board is reset. If the EEPROM is empty it starts > with a value set in the program. > > > > > My Arduino GPSDO shield is far from ready but probably very useful for > those who like to experiment and have a GPS with 1PPS out and an OCXO with > a voltage control input and 10MHz TTL level output. > > > > > Lars Walenius > _______________________________________________ > time-nuts mailing list -- [email protected] > To unsubscribe, go to > https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts > and follow the instructions there. > _______________________________________________ time-nuts mailing list -- [email protected] To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts and follow the instructions there.
