D-STAR Modem

DSC02809

Par F4GOH : f4goh@orange.fr

Caractéristiques :

  • Modem 4800bps
  • Compatible D-STAR pour le mode DATA sans matériel ICOM.
  • FAST et SLOW mode
  • Banque mémoire pour 16 Répéteurs et 16 « your call sign »
  • Afficheur LCD 4×20
  • Utilisable directement avec D-rats
  • Compatible avec RS-MS1A (liaison bluetooth : module HC-06)
  • Utilisable avec un TRX disposant de la prise packet
  • Cout 50€

Le modem est basé sur les circuits suivants :

  • Arduino NANO
  • Module NODEMCU 0.9 ESP8266
  • CMX589

Pcb available mail me :  f4goh@orange.fr

1 Introduction

Cela fait maintenant presque un an que je m’intéresse à la transmission de données numériques en FM avec d’un TRX classique disposant de la connexion Packet (mini din 6 broches).

Mon objectif étant de transmettre un fichier informatique en simplex, j’ai découvert la GMSK (Gaussian Minimum Shift Keying), puis différents protocoles qui utilisent cette technologie.

2 Six mois d’étude

Pendant six mois, je n’ai investi dans aucun matériel ICOM. Je me suis seulement intéressé au protocole D-STAR et notamment du fameux principe du FEC (Forward error correction), élément clé du système destiné à corriger les erreurs de transmission d’une information sur une voie de communication numérique, un peu comme dans le WSPR et le JT65HF.

https://github.com/f4goh/CONVOLUTION

Après avoir réalisé mon programme FEC sur Arduino et la fabrication d’un Modem GMSK avec un MX589 et un arduino , j’ai tenté d’écrire un protocole de communication permettant de transmettre une image.

https://hamprojects.wordpress.com/2015/08/29/gmsk-experiments/#more-252

Malgré la réussite de mon objectif qui consistait, je le rappelle à transmettre une image ou un fichier numérique, je savais que je pouvais améliorer le débit et le protocole.
Plusieurs OM m’ont alors demandé si le système que j’avais développé était compatible avec D-STAR car très proche. Réponse : oui et non à la fois.

Devant les interrogations que je me posais quant à l’amélioration de mon programme, je me suis dit qu’il était temps d’investir dans le pocket ID-51d’Icom. Peut-être que l’analyse du matériel me donnerais de nouvelles idées.


3 Découverte des logiciels d’échange de données

Lors d’un échange de fichier ou d’image, il est possible d’utiliser deux logiciels :

–    D-RATS libre d’utilisation, fonctionnant sur PC. L’ID-51 est configuré en modem
–    RS-MS1A sous Android, L’ID-51 est configuré en protocole CI-V ou modem

id51use

Après Analyse du fonctionnement de l’ID51 en modem, j’ai constaté qu’il était possible d’implanter le même protocole dans mon modem. Je pourrais donc utiliser D-rats sans matériel ICOM tout en ayant une compatibilité D-star.


4 Intérêt du modem

Une fois le modem relié à un TRX classique, il est facile d’utiliser le logiciel de transfert D-Rats ou RS-MS1A sur android.

Je n’ai alors plus besoin de mon ID-51 pour échanger des données numériques comme des fichiers ou des images. Le test a été fait en simplex avec 2 modems identiques et les résultats sont concluants.

modem_using


5 Description du schéma

modem esp gmskV2

L’ensemble s’articule autour du célèbre CMX589. L’utilisateur aura le choix entre 2 micro-contrôleurs :

  • L’Arduino nano
  • NODEMCU 0.9 ESP8266

Pourquoi ?

Et bien cela permet de transformer l’ ensemble initialement prévu pour le mode DATA en Hotspot en programmant le firmware de DVMEGA dans l’arduino puisque le schéma est compatible avec le shield DV GMSK.

pcbmodemnu

L’ESP8266 dispose plus de mémoire RAM, cela permet de décoder l’HEADER d’une trame D-STAR et de l’afficher sur l’écran LCD 4 x 20 lignes.

De plus l’ESP8266 dispose du WIFI. Cela me sera utile pour mes expérimentations futures.

Il faudra bien penser à retirer le cavalier J6 lors de l’utilisation de l’esp8266. J6 est présent qu’avec un Arduino NANO.

Les transistors Q1 et Q2 réalisent une adaptation de niveau pour la ligne I²C.

J7 permet de brancher un module Bluetooth afin d’utiliser le logiciel RS-MS1A sur android.

Le circuit imprimé sera bientôt disponible sur Ebay, mais il me reste quelques PCB (esp8266 seul, sans Arduino). Si vous en voulez un exemplaire, merci d’en faire la demande par mail. (les firmwares seront mis à jour)

modem cms


6 Programmation des micro-contrôleurs

l’ensemble des firmwares de l’ESP et de l’Arduino sont téléchargeables sur github

L’arduino se programme avec l’utilitaire Xloader. Sélectionner le fichier à programmer puis cliquer sur Upload.

  • gmskDSTAR_TX_RXserial_ID51V1.0.cpp.hex (modem d-rats ou RS-MS1A)
  • dvmega_dvnode_V151A_UNO.hex (hotspot classique)

upload

En ce qui concerne l’ESP8266, il faudra utiliser ESP8266Flasher.exe fourni et suivre les copies d’écran ci-dessous:

Attention bien veiller a programmer l’ESP à nu c’est à dire sans être connecté au PCB afin de ne pas perturber le CMX589, car celui ci génère des signaux sur les sorties du CMX pendant la programmation !!

esp prog

  • 1: sélectionner le fichier gmskDSTAR_TX_RXserial_ID51V1.0_ESP_VERSION.cpp
  • 2: choisir le bon port COM (A noter que les drivers ch340-CH341 de l’esp sont fournis dans le fichier drivers ch341_hl-340.zip
  • 3: cliquer sur Flash

7 Initialisation préliminaire

Il faudra en premier lieu, utiliser un terminal comme HTERM pour programmer votre indicatif et la liste des répéteurs que vous voulez utiliser.

Pour cela vous devez modifier avec libre office, le fichier exemple f4goh.csv

Le fichier f4goh.ods explique le contenu des différents champs de données, mais c’est bien le fichier .csv qu’il faudra personnaliser.

config eeprom

Procéder comme il suit pour charger votre fichier csv dans l’EEPROM du micro-contrôleur :

  • Lancez HTERM 9600 bps sur le bon port COM.
  • Réinitialiser le micro-contrôleur  : cliquez sur DTR pour l’Arduino , RTS pour l’ESP
  • Vous avez 5 secondes pour taper la touche m (puis valider par la touche entrée) afin d’entrer dans le menu de programmation EEPROM.
  • Touche 1 puis entrée.
  • Cliquez maintenant sur Send File, sélectionner votre csv, puis Start.
  • Vous pouvez ensuite vérifier le contenu de l’EEPROM (touche 2, entrée).
  • Le menu 3 et 4 permettent d’inverser le signal RX, TX en fonction de votre TRX.
  • Le menu 5 sélectionne le mode FAST/SLOW data.
  • Le menu 6 vous permet de sélectionner la ligne « code touche » de votre Repeater.
  • Le menu 7 vous permet de sélectionner la ligne « code touche » de your call sign .
  • Une fois terminé touche 0 (zéro) pour quitter et vérifier la programmation.
boot menu 01
m, Entr pour accéder au menu

Paramètrage de Hterm :

  • 9600 bauds
  • newline at CR+LF
  • décocher show newline characters
  • Type ASC
  • RTS pour le reset avec un esp8266
  • DTR pour le reset avec un Arduino nano

Guide d’utilisation rapide en odt

boot menu 02
Chargement du fichier csv
boot menu 03
Vérification de la programmation touche 2

A noter que les coordonnées GPS, SSID etc…sont pour le moment facultatives et seront utilisées pour faire du D-PRS prochainement.

Dès que l’on quitte le menu les informations sélectionnées s’affichent sur l’écran LCD.

Liste des permutations TX/RX de quelques transceivers

config


8 utilisation du clavier

Le clavier Analogique est composé de boutons poussoirs et de résistances.

keyboard

Une fois le clavier connecté sur J5, il sera possible de changer  les informations suivantes :

  • your call sign (touche UP/DOWN)
  • (FAST/SLOW) (touche Mode)

il faudra utiliser la touche SAVE pour sauvegarder les modifications avant émission. Si vous voulez changer de répéteur la touche TX envoie une trame équivalente à la touche PTT d’un ID-51.


Il faudra choisir au démarrage du logiciel RS-MS1A le mode bluetooth (other).

Si vous connectez un module bluetooth, la ligne du port COM vers le PC est inutilisable, prévoir alors une alimentation 5V sur le connecteur J1

DSC02734


Liens utiles :

73 et bon transfert de fichier


Essais ADRASEC 72

20160223_162208low
Valise ADRASEC 72
situation
Matériel utilisé lors des essais

Le test s’est déroulé de la manière suivante :

  • Distance 10km
  • Puissance station mobile 20W
  • Puissance station fixe 50W
  • Simplex
  • Mode FAST data (495 octets/s)
  • Utilisation de D-rats avec transfert de fichier (jpg, odt, zip)
  • Utilisation de RS-MS1A (bluetooth) avec transfert d’image (jpg)

Aucun problème de transfert, les fichiers d’une taille moyenne de 50ko ont pu être facilement échangés.

D-rats transfert les données par paquets avec accusé de réception automatique. si des paquets sont perdus, il sont automatiquement retransmis. Ce n’est pas le cas pour RS-MS1A sur tablette, mais le transfert des images est plus rapide et l’on a un aperçu instantané.

D-STAR Modem

7 réflexions sur “D-STAR Modem

  1. Jean-Pierre dit :

    Eh bien voilà encore un très très beau travail.. ça c’est du radioamateurisme de pointe!
    Bravo pour tous ces développements et la mise à disposition de la communauté, qui à elle seule prends déjà beaucoup de temps.
    Encore merci et cordiales 73
    Jean-Pierre F1EDG

    J’aime

  2. gilbert odouard ADRASEC30/48 dit :

    vu votre article aprs dans qst decembre curieux je suis venu sur votre site et un grand bravo pour votre travail (un hobby bien sur)

    J’aime

Laisser un commentaire