Archives par mot-clé : SSTV

Balise WSPR autonome avec Arduino chez W3PM

Hier j’ai laissé tourné WSPR sur 30 mètres pour voir si la propagation était revenue à un niveau correct sur cette bande. Cela m’a aussi permis de valider les performances de l’OCF Dipole sur le 30 mètres où en principe elle ne devrait pas fonctionner…

Réception WSPR 19 mars 2012 sur 30m (http://xv4y NULL.radioclub NULL.asia/wp-content/uploads/2012/03/WSPR_19mars2012_30m NULL.jpg)En lisant la partie “blog” du site WSPRnet.org (http://wsprnet NULL.org/) je suis tombé sur un OM qui parlait d’une balise autonome WSPR autour d’un Arduino. Intéressé, j’ai creusé un peu et j’ai trouvé une mine d’information sur le site de W3PM (http://www NULL.knology NULL.net/~gmarcus/). Cet OM a fait un excellent travail autour de WSPR en concevant des émetteur-récepteur mais aussi en utilisant des Arduino Uno et Arduino MEGA pour piloter un DDS. Il a aussi conçu le même style de générateur WSPR pour la platine QRSS de G0UPL/G0XAR (http://xv4y NULL.radioclub NULL.asia/2010/08/16/kit-balise-qrss/) mais sur un micro-contrôleur PIC. C’est cette dernière qui m’intéresse le plus mais je n’ai pas de PIC.

J’avoue que pour l’instant je n’ai pas encore eu l’occasion de regarder en détails comment me servir de toutes ces infos. Je me pencherai sur ce projet courant mai. Générer une séquence WSPR “manuellement” est possible car K1JT fournit le petit programme adéquat. Il faut ensuite moduler correctement la fréquence pour un shift de 1 à 3 Hz (positif et négatif, 4 symboles en tout). La difficulté pour les transmissions de séquences WSPR étant de devoir être calé à la seconde près sur les minutes paires sinon aucune trame n’est décodée… Une horloge asservie à un GPS résout le problème, mais je n’en ai pas. W3PM semble utiliser aussi un récepteur de signaux WWBV (disponible à bas prix) mais ça ne marchera pas très bien hors des USA.

A noter que F4GKA (http://www NULL.itsrainingelephants NULL.com/2012/03/04/fabrication-dun-mept/) s’intéresse aussi à ce problème et utilise lui une échelle de 4 résistance comme DAC pour piloter la varicap (une LED sur la balise de G0UPL).

Dernière chose, voici k6HX qui a construit une balise SSTV à partir d’un Arduino (http://brainwagon NULL.org/2009/07/23/success-robot36-encoder-works/). Bon, en fait il génère un fichier son (WAV) sur PC et l’Arduino en déclenche la lecture sur l’AudioShield… mais il y a de l’idée.

Réception ARISSAT-1 suite… (MAJ)

Capture télémétrie ARISSAT sur Mac OS X (http://xv4y NULL.radioclub NULL.asia/wp-content/uploads/2011/08/ARISSAT-TLM NULL.png)
Télémétrie ARISSAT-1

Bon, après avoir loupé quelques passages car j’avais m..douillé dans les réglages de la carte son (OS X gère mal la carte du son du Dell Mini9 que j’utilise pour ça), je confirme que le protocole BPSK-1000 de KA9Q est très robuste! A chaque passage, même bas sur l’horizon, je décode des trames de télémétrie. Le sat a l’air en relative bonne santé et même si ça batterie le fait se couper dès qu’il est en éclipse, lors des passages où il est suffisamment illuminé par le soleil tout fonctionne nominalement. Le risque c’est que son IHU étant assez complexe mais pas très robuste car elle utilise des composants grand public, elle ne supporte pas très bien ce régime. Bon, de toutes façons sur une orbite basse le satellite retombera dans un avenir proche malheureusement…

Réception SSTV de ARISSAT, qualité très faible (http://xv4y NULL.radioclub NULL.asia/wp-content/uploads/2011/08/22Aug2011-154130 NULL.png)
Image B1 reçue de ARISSAT-1

Pour la réception des images SSTV c’est une autre histoire. Tout d’abord mon expérience de la SSTV est lointaine, et une image envoyée toutes les 2 minutes ça laisse peu d’occasion de s’entraîner par jour. Ensuite même si en FM on entend facilement le sat ce qui est très démonstratif, avoir un signal suffisamment clair pendant 36 secondes n’est pas si facile. Mon meilleur résultat c’est l’image à peine B1 ci-contre. On devine le cartouche “ARISSAT” en haut et la courbure de la Terre en bas… mais il faut de l’imagination!

J’ai commencé à modifier mon antenne pour lui donner un peu plus de gain et espérer améliorer le bilan de liaison sur les passages à faible élévation. Les prochains jours me seront plutôt favorables avec 2 à 3 passage “de jour” à des heures où je ne suis pas QRL. Par contre pour le fading du à la rotation du sat, il me faudrait une antenne à polarisation circulaire… mais ça c’est une autre histoire. Finalement je pensais pas y consacrer autant de temps mais le trafic satellite c’est prenant quand même et je me met à rêver de faire une antenne 144/432MHz pour opérer sur VO-52… Cela dit la propagation redevient correcte en HF (pile-up de stations W hier sur 17m, Christian de TL0A sur 12m ce soir) et j’aurai peut-être plus à faire plus bas en fréquence…

Image partielle reçue B3 de ARISSAT (http://xv4y NULL.radioclub NULL.asia/wp-content/uploads/2011/08/23Aug2011-143932 NULL.png)
Image partielle reçue B3 de ARISSAT

Aujourd’hui (mardi), j’ai eu le temps d’améliorer mon antenne. Elle n’est pas belle mais faudra quand même que je prenne une photo. Les 3 à 6db en plus font la différence et j’ai enfin une image SSTV qui ressemble à quelque chose. Le problème cette fois c’est que le satellite passait derrière la maison et que donc je ne pouvais tourner l’antenne convenablement… En plus le téléphone a sonné juste quand le sat est apparu et j’ai loupé le démarrage de l’image. Enfin, c’est encourageant tout de même.

Dernière chose, pensez à faire un don à l’AMSAT-NA pour ces projets de sat en orbite basse. Pour chaque 3$ que vous versez, la DARA verse 1$ en plus. J’ai fait un don de 6$, c’est peu, mais si chacun fait le même geste des choses deviennent réalisables…

Réception ARISSAT-1

Le petit Paul est un expert en “passe visible” d’ISS. Si le ciel est dégagé et si bien entendu ISS est visible à une heure “décente”, vous pouvez être sûr que mon gamin va la trouver dans le ciel. Il a du la voir une vingtaine de fois, et du coup s’intéresse fortement à tout ce qui touche les satellites. Je ne lui ai pas encore parlé de Kepler, mais il en connaît un bout pour ses quatre ans.

Vue en coupe ARISSAT-1Quand le lancement effectif d’ARISSAT-1 (http://www NULL.arissat1 NULL.org/) a été annoncé, j’ai tout de suite su que ça aller lui faire plaisir. Dès le deuxième jour vers 7h du matin j’ai donc emmené ma femme et les gamins dans le jardin pour entendre très clairement les voix sur 145,950 MHz qui passaient à 300 km au dessus de nos têtes. J’ai beau avoir une petite expérience en trafic satellite d’il y a 10 ans (QSO avec MIR à l’époque), je reste toujours ébahi de pouvoir recevoir sur un portable avec une antenne fouet un oiseau qui envoie quelques milliwatts à plusieurs centaines de kilomètres dans l’espace.

La prochaine étape c’était de recevoir la télémétrie (http://www NULL.arissattlm NULL.org/) et les images SSTV (http://www NULL.amsat NULL.org/amsat/ariss/SSTV/) du sat. Le problème c’est que les passes au dessus de mon QTH se faisait à des horaires impraticables ou quand le sat était en éclipse et basculait en mode basse puissance. Peu à peu les horaires sont redevenus intéressants mais les batteries du satellite ont lâché et il passe donc de moins en moins de temps en basse haute-puissance.

Après avoir remis mon FT-100 en service et modifié l’antenne 6 mètres (une jungle-job ou G4ZU) pour la rendre utilisable sur le 2 mètres (ajout d’un brin en open-sleeve), j’ai enfin réussi à recevoir 2 trames consécutives de télémétrie BPSK-1000 dont vous avez une copie plus bas. Le truc c’est de se caler sur la balise CW pour qu’elle soit dans les 500Hz, et en corrigeant régulièrement l’effet Doppler (dans les 10KHz d’excursion totale lors d’une passe à élévation élevée) le logiciel décode sans difficultés des signaux dont la BF est claire mais qui ne font pas bouger le S-mètre.

Par contre je n’ai pas réussi à avoir d’image SSTV exploitable. Le QSB est fort et sur les quelques secondes que dure une image en mode ROBOT-36, il est facile de louper le code VIS de départ ou d’avoir des parts importantes de l’image oblitérées par le bruit.

Je ne m’avoue pas vaincu, dès lundi je vais essayer d’améliorer un peu l’antenne (ajout d’un réflecteur pour le 2 mètres) mais avec seulement une à deux passes utiles de moins de 10 minutes par jour, ce n’est pas évident de valider les modifications.
Malheureusement les batteries et panneaux solaires se dégradent vites sur le satellite et il va passer de moins en moins de temps en mode haute-puissance, j’espère avoir un peu de chance lors de mes prochains essais.

mission_time = 2534
mission_mode = HIGH PWR  

ihu_temps
rf temp = 0x69 (56 c)
control_panel temp = 0x8c (46 c)
experiment temp = 0x8e (45 c)
bottom_cam temp = 0xd9 (31 c)
top_cam temp = 0x78 (51 c)
ihu_enclosure temp = 0xb6 (37 c)
battery temp = 0xc9 (33 c)
psu_pcb temp = 0x76 (52 c)
ihu_pcb temp = 0x7d (50 c)  

Power
Voltage = 0x038c (36.056V)
Current = 0x01f6 (-0.012A)
Battery is Discharging
batt_status ref2p5_raw =1f9
PSU Vdd =5.064
net raw = -276608 

batt_history
chrage raw = 41051
dischrg raw = 317831  

Camera
Coulombs = 3217181
Current = 0x0060 (0.095A)
status1 = OFF
status2 = OFF
status3 = OFF
status4 = OFF  

experiment power_info
Coulombs = 18A954B (0)
Current = 0x028f (0.195A)
status = 3  

ihu power_info
Coulombs = 108B6BA (0)
Current = 0x0062 (0.097A)
status = ACTIVE  

sdx power_info
Coulombs = 1D9A072 (0)
Current = 0x00f9 (0.247A)
status = ACTIVE  

ps5v power_info
Coulombs = 3882D94 (0)
Current = 0x0251 (0.587A) 

ps8v power_info
Coulombs = 28035A5 (0)
Current = 0x01cd (0.456A)
status = ACTIVE 

rf power_status
status = ACTIVE  

spare power_status
status = ACTIVE
psu_status
osc_status = 12
xtal_failed_cnt = 0
pin_disturbs = 0
ihu_frc_resets = 0
sdx_auto_turn_ons = 0
ihu_recoveries = 0x0 (0)
low_batt_camera_shutdowns = 0x0 (0)
i2c_wcol_errors = 0
i2c_overflow_errors = 0
i2c_bad_msg_cnt = 0
i2c_bus_idle_resets = 0
i2c_bus_hang_resets = 0
dbl_cmd_first_second_mismatch = 0
ppt_poll_busy = 0
ihu_recoveries = 0x0 (0)  

ppt_status

+X PPT 1
Energy = 918077
Solar temp = 0xcf (32 c)
Diode temp= 0xa5 (40 c)
Ind_temp = 0x9c (42 c)
Fet temp = 0x3fb (-93 c)
sp_current_adc_raw = 0x0079 (0.118A)
sp_voltage_raw = 0x008b (35.795V)
osc_ccp_current_setpt = 0x0010 (0.032V)
Age = Old
corrupt = 2  

-X PPT 2
Energy = AAA90C
Solar temp = 0xae (38 c)
Diode temp= 0xa7 (40 c)
Ind_temp = 0x9f (42 c)
Fet temp = 0x3d1 (-61 c)
sp_current_adc_raw = 0x000e (0.014A)
sp_voltage_raw = 0x00a3 (41.975V)
osc_ccp_current_setpt = 0x0010 (0.032V)
Age = Current
corrupt = 1  

+Z PPT 3
Energy = 5A6AA4
Solar temp = 0x1dd (1 c)
Diode temp= 0xa6 (40 c)
Ind_temp = 0x9f (42 c)
Fet temp = 0x3fd (-100 c)
sp_current_adc_raw = 0x0004 (0.004A)
sp_voltage_raw = 0x00b2 (45.838V)
osc_ccp_current_setpt = 0x0011 (0.034V)
Age = Current
corrupt = 0  

-Y PPT 4
Energy = A1748D
Solar temp = 0xae (38 c)
Diode temp= 0x92 (44 c)
Ind_temp = 0x8c (46 c)
Fet temp = 0x398 (-46 c)
sp_current_adc_raw = 0x0001 (0.001A)
sp_voltage_raw = 0x009f (40.945V)
osc_ccp_current_setpt = 0x0010 (0.032V)
Age = Current
corrupt = 0  

+Y PPT 5
Energy = 9B6F2F
Solar temp = 0xc6 (34 c)
Diode temp= 0x91 (45 c)
Ind_temp = 0x87 (47 c)
Fet temp = 0x3fa (-91 c)
sp_current_adc_raw = 0x0006 (0.006A)
sp_voltage_raw = 0x00af (45.065V)
osc_ccp_current_setpt = 0x0010 (0.032V)
Age = Current
corrupt = 2  

-Z PPT 6
Energy = 31FF74D
Solar temp = 0x50 (65 c)
Diode temp= 0x8d (46 c)
Ind_temp = 0x70 (54 c)
Fet temp = 0x3fd (-100 c)
sp_current_adc_raw = 0x007a (0.119A)
sp_voltage_raw = 0x0093 (37.855V)
osc_ccp_current_setpt = 0x006e (0.217V)
Age = Current
corrupt = 0  

Calculated telemetry values
batt_volts = 0xe0d (35.97V )
batt_curr = 0xffffff7c (-0.02A)
RF (8V) current = 0x103e (4158.00A)
ihu_encl_temp_cb = 0x24 36
control_panel_temp_c = 0x2e (46)