dimecres, 22 de febrer del 2012

GPSDO (V) : Oscil·lant...

Avui he portat a terme les primeres proves sobre l'oscil·lador de rubidi, no havia pogut avançar més perquè no disposava d'una font d'alimentació capaç d'oferir una eixida de 15 V, i he hagut de construir-ne una utilitzant peces d'antics projectes. Finalment he aconseguit subministrar les tensions requerides al mòdul de l'oscil·lador i he observat la seua resposta mesurant els senyals de sortida amb un multímetre.

Sobre el connector DB-9 la pata 3 oferix una tensió lògica depenent de l'estat de validesa dels senyals d'eixida (val +5V quan els senyals no són vàlids, i quasi 0V quan sí que ho són). L'oscil·lador comença el període d'arranc consumint una elevada corrent de la línia de 15V, aproximadament 1,5 A, i després d'un curt temps de calentament arriba a una temperatura d'operació correcta (de l'ordre de 50-60ºC). Poc després, la línia de la pata 3 canvia la seua tensió per tal d'indicar que els senyals de rellotge són bons i estables, referenciats a la ressonància dels àtoms de rubidi. A continuació us mostre el vídeo de l'oscil·lador adaptant-se a la ressonància, disculpeu per la baixa qualitat:


La primera mesura sobre el senyal de 1 puls per segon dóna una lectura correcta, així que comprove el senyal de 10 MHz, amb resultats igualment correctes. Determine aleshores, a falta de connectar-lo a l'ordinador, que aquest oscil·lador funciona correctament i és conforme a les especificacions del fabricant.

L'oscil·lador principal de rubidi haurà de variar la seua freqüència per tal de mantindre's sincronitzat amb el senyal de temps tramés pel sistema GPS a llarg termini, i aquest efecte s'aconseguix amb un bucle enganxat en fase, també conegut com PLL (Phase Locked Loop), implementat sobre el microcontrol·lador.

Fins al moment disposem d'un senyal de GPS filtrat, i per tant poc variable, que es compararà amb una versió dividida de l'oscil·lador principal, ja que l'elevada freqüència d'aquest dificulta la comparació directa. El principi és el següent: cada segon el microcontrolador compta els fronts ascendents del senyal procedent de l'oscil·lador dividit per 16 (a 625 kHz) que es produïxen dins d'una finestra d'uns 2 milisegons. Ací s'obren dues possibilitats:
  1. El compte actual és major o menor que l'anterior : L'oscil·lador principal té una freqüència superior (o inferior) a la nominal, i s'haurà d'aplicar una correcció proporcional a l'error per tal de frenar-lo (o accelerar-lo).
  2. El compte es manté aproximadament igual a l'anterior : L'oscil·lador principal està al voltant de la freqüència nominal. Les correccions a aplicar es reduïxen per tal de minimitzar l'error. La constant de temps del filtre augmenta paulatinament per incrementar la precisió reduïnt la diferència entre els senyals de GPS successius.
L'objectiu de l'algoritme de sincronització és arribar a l'estat on aquest compte es mantinga constant durant un temps prolongat, i serà tant més eficient com major siga el temps sense variacions. Cal aclarir que la tecnologia utilitzada al comptador imposa un error de +-1 cicle.

Pròxims pasos: Escriure el codi per implementar els filtres digitals (el PLL) i continuar les proves amb l'oscil·lador de rubidi amb l'objectiu d'arribar a mantindre'l connectat durant llargs períodes de temps. Per a aconseguir-ho hauré de millorar la nova font d'alimentació, o crear-ne una altra, i gestionar adequadament la temperatura dels components, ja que actualment la topologia lineal fa que es dissipe una gran quantitat d'energia en els transistors de pas, elevant la temperatura d'aquestos a més de 70ºC.

[ACTUALITZACIÓ 25/02 21:48] : Acabe d'aconseguir comunicar l'ordinador amb el mòdul d'oscil·lador de rubidi a través del port sèrie que incorpora per primera vegada. Aquesta comunicació m'ha permés obtenir el valor d'offset (diferència de freqüència respecte de la nominal (10 MHz)), que en aquesta unitat estava fixat a zero. Ajustant aquest valor d'offset es pot definir amb molta exactitud la freqüència d'eixida de l'oscil·lador per tal d'adaptar-lo al senyal GPS.