Difference between revisions of "Projets:Lab:2020:PiHPSDR"
(→Le contrôleur I2C) |
(→Le contrôleur I2C) |
||
Line 141: | Line 141: | ||
Il est vivement conseillé de souder les réseaux résistifs avant le circuit SOIC. | Il est vivement conseillé de souder les réseaux résistifs avant le circuit SOIC. | ||
− | Une erreur de routage lors de la conception du pcb -qui sera corrigée dans la version 2.0- exige que l'on gratouille un plan de masse sur le coté du circuit intégré, et que l'on y soude une queue de composant qui court-circuite les trois broches d'adressage | + | Une erreur de routage lors de la conception du pcb -qui sera corrigée dans la version 2.0- exige que l'on gratouille un plan de masse sur le coté du circuit intégré, et que l'on y soude une queue de composant qui court-circuite les trois broches d'adressage. |
+ | |||
+ | L'étape suivante se limite à installer les multiples condensateurs de filtrage et découplage, sans ordre particulier. | ||
=== Les boutons et encodeurs === | === Les boutons et encodeurs === |
Revision as of 18:29, 29 June 2020
Page référencée dans Passion : Radio Radios logicielles, transmissions numériques, expérimentations HF
Section "HermesLite v.2.0 et ses satellites"
Contents
Une console de pilotage de SDR pour la famille OpenHPSDR
A base de Raspberry Pi, cette console servira de terminal d'appoint (IHM) en opération mobile ou portable, et permet aux nouveaux venus dans le monde des radios logicielles de se faire à un mode opératoire "encore avec quelques boutons".
Par qui ?
L'idée est née des cerveaux de John Melton G0ORX pour la partie logicielle et du tandem Kjell Karlsen LA2NI/Laurence Baker G8NJJ pour ce qui concerne l'aspect "hardware". Projet dévoilé à l'occasion de la SDR Academy de Friedrichshafen en 2016 , puis mis à jour en 2018
Le circuit imprimé utilisé par l'équipe radio de l'Electrolab a été dessiné par Mathis Schmieder, DB9MAT, transposition issue des schémas open source fournis par les membres du groupe OpenHPSDR mentionnés plus avant.
Pour qui ?
- - Ce montage est abordable aux débutants possédant un bon fer à souder et quelques accessoires pour composants à montage de surface (flux, loupe ou binoculaire, pinces précelle, fil de brasure de 0,3mm, une panne de fer "aiguille" et une panne de fer "mahousse costaud", de la tresse à dessouder et... c'est à peu près tout.
- - Pour les opérateurs de stations mobiles ou portables en premier chef, eux qui ne veulent pas faire courir de risque à leur ordinateur portable coûteux et fragile
- - Pour les "vieux" radioamateurs qui ont encore besoin de tourner une molette et presser des boutons durant une période d'adaptation
- - Pour les groupes de contesteurs souhaitant travailler en "multi" -avec un transceiver home made, cela va sans dire.
- - Pour les radioclubs qui disposent de plusieurs SDR répartis sur un réseau local -généralement rangés en baie 19'- et souhaitant offrir accès à ces appareils sans nécessiter de présence physique dans la salle radio.
- - Pour toux ceux, de manière plus générale, qui doivent administrer un cluster de SDR
- - Pour toute personne cherchant à encastrer une "visu" dans un panneau de contrôle façon "centrale nucléaire"... c'est badass en diable
- - Pour ceux, enfin, qui considèrent le PiHPSDR comme un périphérique totalement inutile, donc absolument indispensable
- - Toute personne qui estime que le prix d'un raspi, de son écran, de quelques encodeurs et boutons et d'un logiciel open source je justifie pas une facture de 700 dollarsport non compris
Les ressources
L'Electrolab tient à disposition des personnes intéressées un pcb de 140x260 mm destinée à supporter un écran tactile "officiel", un Raspberry Pi (3, 3B, 3B+, 4), quelques boutons et encodeur et l'alimentation multitension du système (entrée générique 12V)
Un second pcb est à l'étude qui servira de "façade" à la console et n'aura strictement aucune fonction électronique spécifique. C'est une extension purement cosmétique, qui peut être remplacée par une plaque d'aluminium usinée/fraisée avec l'une des CNC Charly Robot ou travaillé à la lime et à la perceuse.
Le dépôt github héberge les schémas et routage pcb de la carte principale
La File:Bom interactive.zip facilite la collecte des composants et guide pas à pas au montage de la carte
Le manuel utilisateur du contrôleur, édité par Apache Labs, facilite la prise en main du logiciel principal.
PiHPSDR, le logiciel de prise de contrôle à distance du SDR à l'origine de la conception de cette console. Le source du logiciel est disponible sur le dépot Github de John Melton
Ce n'est pas le seul client OpenHPSDR capable de tourner sur Raspberry Pi. Citons également
Quisk de James Alstrom N2ADR qui fonctionne merveilleusement bien avec le Hermes Lite V1 et V2. Les instructions d'installation ne nécessitent pas une connaissance approfondie de Linux
Le source Python est ouvert, et peut être récupéré sur le dépot Pypi.org
Sparks SDR est "closed source" mais non payant. C'est un programme développé pour l'environnement Windows et porté sous Linux. Le lobiciel est particulièrement bien adapté aux modes numériques multibandes, et intègre directement les décodeurs wspr, JT9-65 et FT8, et pourrait bien se voir adjoindre Codec2/FreeDV et l'émission-réception SSTV.
GNU Radio pour les plus courageux. Nécessite une cross-compilation. Ne pas perdre de vue que GRC est assez gourmand en ressources, le Raspberry n'est donc qu'une machine d'appoint, il ne faut pas s'attendre à des performances exceptionnelles.
GQRX devrait a priori également fonctionner, puisqu'il a été prouvé que ce client Linux léger tournait également en liaison avec une carte Red Pitaya et gateware Pavel Denim
Pourquoi
PiHPSDR est une console de "compromis". Petite puissance de traitement, taille réduite, interface de commande plus développée que ce que l'on peut espérer d'un écran tactile, coût d'usage très réduit minimisant les risque de banqueroute personnelle en cas d'accident matériel, la console PiHPSDR est conçue pour
- - Les amateurs de station mobile "avec des boutons"
- - Les personnes qui recherchent une commande radio "pour le salon" plus pratique qu'un ordinateur portable
- - Les bricoleurs qui n'ont pas la place d'un écran-clavier sur leur atelier et qui veulent monitorer une ou plusieurs bandes durant une session de bricolage
Comment
Plumez énergiquement un Raspberry pi 3 ou de préférence 4.
Ajoutez délicatement un écran tactile "officiel". Son prix est un peu élevé, mais son système de fixation n'existe nulle part ailleurs
Incorporez progressivement une alimentation multitensions qui fournira au Pi un 5V idéal à partir de n'importe quelle source située entre 7 et 16V
Saupoudrez une bonne poignée de contacts fugitifs connectés au bus I2C du Raspberry. Il simplifieront certaines actions telles que la mise en marche/arrêt, le basculement émission/réception, la sélection des filtres, des bandes, des modes.
Disposez agréablement quelques encodeurs pour les réglages habituels : volume, fréquence etc. Le réglage de fréquence peut s’accommoder d'un 600 ou d'un 400 points par révolution
Soudez et vissez le tout sur un pcb unique qui servira de support mécanique et de liant au ingrédients ci-avant détaillés
Ajoutez une façade lisible
Burinez vivement le noyau et le logiciel selon les instructions qui suivront, servez chaud.
Guide de montage rapide
Principe de fonctionnement
Les transceivers de la famille OpenHPSDR utilisent une liaison Ethernet qui encapsule à la fois les paquets I/Q de chaque récepteur virtuel émis par le coeur du SDR, et un certain nombre de signaux de service destinés à commander des extensions matérielles, tantôt des commutations d'antennes, tantôt des filtres passe-bas ou passe-haut, tantôt un atténuateur ou un préampli...
C'est également par le biais de cette liaison ethernet que l'opérateur radio peut piloter les fonctions purement "signal" de la radio logiciel : nombre de récepteurs actifs, filtres numériques, type de démodulation locale, sélection de bande de fréquence, réglage de la fréquence, passage en émission, redirection logicielle avec des modulateurs/démodulateurs tiers -freeDV, télex, SSTV, ft9 etc.
Le Hermes Lite V2 est en grande partie compatible avec la première version de cet ensemble de protocoles (nommé, par le plus grand des hasards, "protocole 1").
A la mise sous tension du SDR, une négociation d'établit entre la radio et le terminal de contrôle et relie les deux appareils via une liaison tcp/ip. Le terminal en question est constitué d'un ordinateur monocarte (SBC, single board computer) de type Raspberry Pi (modèle 3 ou 4) et de son écran tactile 7 pouces.
Sur cet ordinateur s'exécute un logiciel client (conçu pour le noyau Linux du Raspberry) qui remplit à la fois toutes les fonctions de traitement radio (gestion des filtres logiciels et matériel, des fréquences, de la démodulation du signal etc) et la supervision d'une interface homme-machine simplifiée limitée à une vingtaine de boutons et 4 encodeurs rotatifs, dont un encodeur optique à haute résolution.
Les encodeurs rotatifs sont directement connectés sur les gpio du rapsberry. Les boutons, en revanche, sont chaînés sur un bus I2C, lequel dialogue avec le "master" qu'est le raspberry lui-même.
L'alimentation
La totalité de l'alimentation repose sur un circuit LMZ22005. C'est un circuit unique d'alimentation à découpage, qui accepte n'importe quelle tension en dessous de 20 V et qui délivre.... ce que l'on souhaite. Dans notre cas, le 5V destiné à alimenter le Raspberry Pi, l'écran et le circuit d'interface boutons/I2C.
Le démarrage du terminal PiHPSDR s'effectue par simple appui sur le bouton de mise sous tension SW1 qui met à la masse la gate de Q2, lequel transistor débloque à son tour le FET de puissance FDD6685 et ouvre le circuit vers le régulateur à découpage
La qualité des résistances utilisées dans le pont de réglage de tension (R9, R10, R11) est importante. Si possible, il faut employer des composants à 1%.
Le montage ne pose pas de problème majeur :
- Soudez en premier lieux le régulateur principal, le fet de puissance, puis les passifs (condensateurs, résistance, diode de protection... )
- Soudez les composants passifs périphériques.
- Branchez une alimentation 12 V sur le connecteur J1, mettez la carte sous tension en créant un court-circuit momentané sur les pastilles de l'emplacement SW1 -coté face du pcb, en haut, à droite. La diode D3 doit s’allumer.
- Avec un voltmètre, vérifiez que la tension sur J5 1 & 3 et J6 1 soit bien de 5V +/-2% quelle que soit la tension d'entrée, de 10 à 18V.
- Débranchez l'alimentation.
Le contrôleur I2C
Ce circuit sert d'interface entre les boutons-poussoir et le bus I2C du Raspberry Pi.
Il est vivement conseillé de souder les réseaux résistifs avant le circuit SOIC.
Une erreur de routage lors de la conception du pcb -qui sera corrigée dans la version 2.0- exige que l'on gratouille un plan de masse sur le coté du circuit intégré, et que l'on y soude une queue de composant qui court-circuite les trois broches d'adressage.
L'étape suivante se limite à installer les multiples condensateurs de filtrage et découplage, sans ordre particulier.