Arduino Controlled GPS Corrected VFO

Alles over zelfbouwprojecten.
Bericht
Auteur
ON5DRE
Berichten: 191
Lid geworden op: 30 sep 2014, 12:05
Roepletters: ON5DRE
Locatie: Vlaams Brabant

Arduino Controlled GPS Corrected VFO

#1 Bericht door ON5DRE »

een ontwerp van W3PM ( http://www.knology.net/~gmarcus/Si5351.html )

Dit heb ik deze week nagebouwd, en het principe werkt prima !
origineel bedoeld als VFO, met de mogelijkheid om deze via FLL te locken aan een 1PPS signaal van een GPS ontvanger.
via deze manier bekom je een heel goedkope, vrij accurate, instelbare VFO. De stabiliteit is grotendeels afhankelijk van
de korte termijns-drift van de oscillator op het Si5351 printje.
Ik heb een filmpje gemaakt van mijn testopstelling : https://youtu.be/Pg_Ei7bKniU

Dit is enkel een testopstelling, ik ga de outputs nog anders programmeren, het geheel in een RF dichte behuizing zetten,
en ik wil nog een temperatuuroventje maken voor de Si5351, eventueel in combinatie met de Arduino, omdat deze
uiteindelijk ook stabiel moet blijven tijdens de frequentiemetingen die hij doet.
het plan is om dit uiteindelijk te gebruiken als LO voor mijn Icom-910, want die drift enorm tijdens meteor-scatter of EME.
uiteraard ga ik nog experimenteren met een bandpass filter op de uitgang van de Si5351, want dit signaal is niet ideaal...
De GPS locator en klok op het display zijn een mooie extra bonus natuurlijk :-)

mvg,
Kevin ON5DRE.

Gebruikersavatar
pa0ejh
Berichten: 1889
Lid geworden op: 05 mei 2008, 13:23
Roepletters: PA0EJH
Locatie: Brunssum

Re: Arduino Controlled GPS Corrected VFO

#2 Bericht door pa0ejh »

Hallo Kevin.

Mooi ontwerp, bedankt voor de Link, ik ga het zeker nabouwen.
Heb al zo'n SI5351 print van SV1AFN.
73's Egbert PAØEJH. Licensed since 1971.
En meer dan 50 Jaar radio-actief

PE1CID
Berichten: 66
Lid geworden op: 11 mar 2011, 13:24
Roepletters: PE1CID

Re: Arduino Controlled GPS Corrected VFO

#3 Bericht door PE1CID »

Hallo kevin,

Bedankt voor de link en ik ben begonnen om het in eerste instantie na te bouwen en om er vervolgens een paar eigen wensen in te bouwen.

In het QEX-artikel schrijft Gene dat hij de NMEA processing af zet om conflicten in de software en fouten in de frequentie teller te voorkomen. Na het bekijken van de software zie ik dat de interrupt service routine voor de 1 PPS veel te groot is. Dit is waarschijnlijk de bron van de problemen. Als ik alles binnen heb (de GPS ontvanger is nog onderweg) ga ik eerst eens kijken of ik verbeteringen in de software kan maken. Ik zal deze aanpassingen ook aan Gene mailen. Daarnaast zal ik ze ook hier publiceren.

Ik ben heel benieuwd wat het uiteindelijke resultaat zal zijn.

73,
Jan PE1CID

Gebruikersavatar
ton.blokker
Berichten: 158
Lid geworden op: 29 nov 2005, 16:17
Roepletters: Pa0klt
Locatie: Enkhuizen
Contacteer:

Re: Arduino Controlled GPS Corrected VFO

#4 Bericht door ton.blokker »

Een heel leuk idee, vooral omdat de Si5351 drie frequentie uitgangen heeft.
Dus een gebruiken voor referentie en de ander variabel als vfo.
Het blokvormige uitgangssignaal is daarbij geen echt bezwaar en indien gewenst gemakkelijk
tot een sinus om te vormen.
Een ander probleem maakt de Si5351 niet echt geschikt als meng oscillator in hoogwaardige toepassingen.
In tegenstelling met de Si570 geeft de Si5351 bij elke frequentie andere valse signalen die helaas behoorlijk sterk kunnen zijn en niet weg te filteren.

Zie ook: http://www.ra3apw.ru/proekty/si5351-spectrum/
Ton PA0 KLT
Lid van de VERON
en de BENELUX QRP CLUB
http://www.pa0klt.nl/

ON5DRE
Berichten: 191
Lid geworden op: 30 sep 2014, 12:05
Roepletters: ON5DRE
Locatie: Vlaams Brabant

Re: Arduino Controlled GPS Corrected VFO

#5 Bericht door ON5DRE »

ik heb er nog een beetje mee verder gedaan.
de uitgang die origineel op 10.066666 MHz geprogrammeerd stond, heb ik naar 30,2 MHz geprogrammeerd.
het signaal dat nu rechtstreeks uit de Si5351 komt, zie je op foto "sig1.jpg".
dit is niet bijster mooi, dus heb ik een bandpass filter gemaakt op 30,2 MHz, die zie je op foto "bpf.jpg".
Na deze bandpass filter, zie ik een signaal op foto "sig2.jpg".
In het spectrum heb ik nog niet gekekeken, dat zal nog eens moeten gebeuren.

Heeft er iemand enig idee of zulk een signaal "proper" genoeg is om als LO te gebruiken ?

Mvg,
Kevin ON5DRE.
Bijlagen
signaal VOOR de 30,2MHz bandpass filter.
signaal VOOR de 30,2MHz bandpass filter.
de 30,2 MHz bandpass filter.
de 30,2 MHz bandpass filter.
signaal NA de 30,2MHz bandpass filter.
signaal NA de 30,2MHz bandpass filter.

PE1CID
Berichten: 66
Lid geworden op: 11 mar 2011, 13:24
Roepletters: PE1CID

Re: Arduino Controlled GPS Corrected VFO

#6 Bericht door PE1CID »

Gene, W3PM, heeft een nieuwe versie van de software (5.3) uitgebracht.

Zie: http://www.knology.net/~gmarcus/index.html

73,
Jan, PE1CID

ON5DRE
Berichten: 191
Lid geworden op: 30 sep 2014, 12:05
Roepletters: ON5DRE
Locatie: Vlaams Brabant

Re: Arduino Controlled GPS Corrected VFO

#7 Bericht door ON5DRE »

bedankt voor de info Jan, ik ga het nog eens even bekijken.

mvg,
Kevin ON5DRE.

PE1CID
Berichten: 66
Lid geworden op: 11 mar 2011, 13:24
Roepletters: PE1CID

Re: Arduino Controlled GPS Corrected VFO

#8 Bericht door PE1CID »

Dag Kevin,

De grootste verschillen zijn:
- De 1pps ISR (Interrupt Service Routine) is veel kleiner geworden en duur van de ISR is van 33 ms naar max 10 us gegaan.
- Het afhandelen van het display gebeurt nu in de main-loop.
- Alle delays zijn uit de code verwijderd.

Het real-time gedrag van de code is hierdoor veel verbeterd. Ik heb het nog niet geprobeerd maar ik verwacht dat afhandelen van de NMEA data van de GPS ontvanger nu altijd kan en niet alleen tijdens het opstarten. Ik heb nog meer ideeën maar moet het project even laten liggen in verband met gebrek aan tijd.

73,
Jan

Gebruikersavatar
PaulusV
Berichten: 15
Lid geworden op: 10 okt 2013, 16:35
Roepletters: PD0RPI
Locatie: Eygelshoven

Re: Arduino Controlled GPS Corrected VFO

#9 Bericht door PaulusV »

Ik ben ook bezig met dit project.
De nieuwe softwareversie werkt inderdaad veel beter.
Ik heb alleen een ander probleem (zowel in de oude als in de nieuwe versie):
Wanneer de GPS werkt en de klok in beeld verschijnt, wordt die niet met één seconde per seconde opgehoogd, maar met 11 tot 14 seconden per seconde. In de oude softwareversie was dat 32 seconden per seconde.
Iemand enig idee waar dit door komt?
Ik maak overigens gebruik van een VK2828U7G5LF-gpsmodule.

PE1CID
Berichten: 66
Lid geworden op: 11 mar 2011, 13:24
Roepletters: PE1CID

Re: Arduino Controlled GPS Corrected VFO

#10 Bericht door PE1CID »

Dag Paulus,

Het lijkt er op dat je vaker dan een keer per seconde een interrupt krijgt.

In de oude versie wordt de klok in de ISR (Interrupt Service Routine) van de 1PPS verhoogd. In de nieuwe versie van de software wordt er in de ISR een vlag gezet die in de main loop getest en gereset wordt. Dan wordt ook de tijd aangepast.

Kijk eens naar de volgende punten.
- Is de PPS uitgang van de GPS ontvanger aangesloten op de juiste pin van de Arduino Nano?
- Klopt de frequentie (1 Hz) van het PPS signaal? Bij deze GPS ontvanger is dat instelbaar.
- Je kunt in de ISR twee regels code toevoegen. Als eerste regel code in de ISR een niet gebruikte digitale pin hoog zetten en als laatste regel code in de ISR deze pin weer laag zetten. Daarna op een oscilloscoop het signaal van deze pin bekijken. De frequentie moet ook 1 Hz zijn en de pulsduur 33 ms bij de oude software en 7 tot 10 us bij de nieuwe software.

Laat maar weten wat de resultaten zijn.

73,
Jan PE1CID

Gebruikersavatar
PaulusV
Berichten: 15
Lid geworden op: 10 okt 2013, 16:35
Roepletters: PD0RPI
Locatie: Eygelshoven

Re: Arduino Controlled GPS Corrected VFO

#11 Bericht door PaulusV »

Hallo Jan,

Bedankt voor je input: naar aanleiding van jou bericht kon ik een aantal zaken testen.
Alles was goed aangesloten;
De GPS geeft netjes elke seconden een puls van ca. 2,4 V / 50 ms af.
Ik heb een eenvoudige sketch geschreven die bij elke interrupt een teller ophoogt en de tellerwaarde naar de seriële poort schrijft. Dan wordt netjes elke seconde de teller met 1 opgehoogd. Helemaal goed dus. Totdat ik op pen 0 (RX) de TX-lijn van de GPS aansluit. Dan slaat de teller op hol en wordt elke keer dat de GPS data stuurt meerdere keren opgehoogd. Het lijkt er dus op dat de datalijn van de GPS storing veroorzaakt.
Enig idee hoe dat kan en wat ik eraan kan doen?

73,

Paul, PD0RPI.

PE1CID
Berichten: 66
Lid geworden op: 11 mar 2011, 13:24
Roepletters: PE1CID

Re: Arduino Controlled GPS Corrected VFO

#12 Bericht door PE1CID »

Dag Paul,

Nu wordt het lastiger.

- Blijft het PPS signaal "netjes" als de seriële dat wordt verstuurd? Oftewel is er mogelijk overspraak.
- Doe je nog ergens iets in je code met D0?
- Haal het PPS signaal eens los en kijk eens of de tijd dan nog steeds veranderd.

Je kunt die eenvoudige sketch eens opsturen. Dan kan ik die eens bekijken.
Op woensdagavond 22 maart ben ik in Schimmert maar ik verwacht dat er dan weinig tijd zal zijn om het uitgebreid door te spreken. Ik sta dan voor de zaal. :wink:

73
Jan PE1CID

pe1cmo
Berichten: 2070
Lid geworden op: 21 mar 2015, 19:42
Roepletters: pe1cmo
Locatie: Ayamonte (spanje)
Contacteer:

Re: Arduino Controlled GPS Corrected VFO

#13 Bericht door pe1cmo »

Jullie hebben het over 2.4V data en als je clock op 3.3V of 5V draait is die spanning mogelijk de boosdoender. Dan is het niet een volledige 1 die binnenkomt.

Bekijk dat eens (misschien loos alarm, maar je weet nooit. Ik heb dat ook wel eens gehad in een andere schakeling met Cmos op 5V en 3.3V data dat één punls als 3 werd geteld)
EA7/PE1CMO
Ayamonte España

Gebruikersavatar
PaulusV
Berichten: 15
Lid geworden op: 10 okt 2013, 16:35
Roepletters: PD0RPI
Locatie: Eygelshoven

Re: Arduino Controlled GPS Corrected VFO

#14 Bericht door PaulusV »

Hmm...die 2,4 V zou idd nog wel eens het probleem kunnen zijn.
Ik had nog een levelshifter liggen, maar daar krijg ik het niet mee aan de praat.
Helaas..het weekend is voorbij en voorlopig kom ik er weer niet aan toe.
Bedankt voor het meedenken. Bij nieuwe ontwikkelingen zal ik weer posten.

73,

Paul, PD0RPI

PE1CID
Berichten: 66
Lid geworden op: 11 mar 2011, 13:24
Roepletters: PE1CID

Re: Arduino Controlled GPS Corrected VFO

#15 Bericht door PE1CID »

Dag Paul,

Ik heb de datasheets van jou GPS ontvanger en die van mij eens vergeleken. Ik gebruik een Ublox Neo 7.

Bij jou GPS ontvanger staat voor het output signaal:
min: 2,4 V; nom: 2,8 V; max: 3,3 V.

Bij de Ublox Neo 7 staat:
Min: VCC - 0,4 V.
Dus de minimum spanning van het output signaal bij 3,3 V is dus minimaal 2,9 V.

De datasheet van de Atmega328 vermeldt dat een hoog signaal op een input pin minimaal 0,6 * Vcc moet zijn. Bij 3,3 V voedingsspanning wordt dat dus 1,98 V.

Het llijkt er op dat de uitgangsspanning van jouw GPS ontvanger wel volgdoende zou moeten zijn maar wel aan de lage kant is. Op dit moment denk ik dat je daar moet zoeken.

Groeten,
Jan PE1CID

Plaats reactie