FXGPSPIO
X.Fenard
(Boitier RX2010 selectronic)
Derniere remise a jour: 2005/03/20
ATENTION l'AUTEUR NE SERAIT PAS RESPONSABLE DU SYSFONCTIONNEMENT DU MONTAGE et des CONSEQUENCES DE CE DYSFONCTIONNEMENT.
Ce montage n'est pas révolutionnaire, avec l'aide d'un GPS et d'un fichier donnant les positions
"d'intérêts" (POI = point of intérêt) il signale que l'objet "intéressant" est proche.
Cette réalisation est freeware, elle a été conçus pour être d'un coût minimum et ouvert.
Le récepteur GPS est incontournable, son prix, en version OEM environ 100 euros, avec 20 euros pour le
montage, on arrive a moins de 150 euros.
Caractéristiques principales:
- Completement autonome (sans PC,..)
- Informations lumineuses et sonores
- Trois niveaux d'alerte
- Faible encombrement
- Module "clef "
- 127 PIOs dans une EEPROM 24C08
- Alimentation du récepteur GPS
- Possibilité de "marquer" un point (a venir)
- Dialogue avec le PC dans les deux sens (remise a jour POI et lecture point marqué)
- Dialogue RS485 et reception GPS en simultannée (Récuperation info par la RS485)
- Mode transparent(2): NMEA->RS485 toutes vitesses, ou NMEA (4800)-> RS485 (9600)
- Envoi de fichier de trames NMEA par le PC vers le boitier (test)
- Logiciel PC simple, fonctionnant sur tous les PC en BASIC
- Interface I2C commandable a distance par le reseau RS485 (24Cxx ou tout composant I2C)
- Codage compacte, extension possible (2/3 V20050317)
- Alimentation protégée contre inversion de polarité
Ce montage est compatible avec les modules du réseau 485 décrit sur le site.
La version de la platine FXGPSPOI RS232 permet de relier directement le module au PC sans qu'il soit
nécessaire d'avoir une interface RS232/RS485.
Cliquez pour voir le plan (version RS485 V00)
La description.
Le MontageLe schéma est simple, le PIC 16F628 gère trois leds: une verte, une jaune, une rouge pour indiquer la
distance au radars. Sa liaison série est utilisée pour le dialogue RS485 (avec le PC lors des mise a jour) un UART logiciel sur le port B0 recupere les informations du récepteur GPS a 4800 bits/s.
Entrée logique, polarite inverse (type RS232: Vnegatif--masse->1, Positif V>3V ->0)
Le récepteur GPS doit avoir une sortie NMEA, l'information de positionnement est transmise au module,
le PIC 16F628 la compare avec la liste des points contenu dans une 24C08 ou 24C16.
Alimentation
Le module est protégé contre les inversions de polarites, par une diode. Le régulateur 78L05 assure
l'alimentation du montage. Le second régulateur est destiné a l'alimentation du récepteur GPS. La encore
toutes les solutions sont possible en fonction de la tension nécessaire a l'alimentation du récepteur.
Avec un 7805 et une LED verte on a 7 volts. Pour 9 volts, il suffit de le remplacer par un régulateur 7809
et de mettre un strap a la place de la LED. Il est possible d'ajouter dans le boitier une self de filtrage
si nécessaire, pour éviter de parasiter le récepteur GPS.
Version proto utilisez le fichier dans le zip
Schéma de cablage du connecteur 15 points
Le montage n'utilise qu'un seul connecteur, on y connecte soit le récepteur GPS soit le câble vers le PC.
La patte 5 du connecteur 15 points a la masse informe le PIC de sa configuration
Pour faire la liaison en RS485 il suffit de sertir un câble plat 9 points sur le câble 15 points
Cote boîtier, le connecteur est MALE, ainsi cote voiture, ou le 12 volts est présent, le connecteur est Femelle.
15 points |
9 points RS485 |
Signaux |
9 points PC |
1 |
|
LEDR |
|
9 |
|
LEDJ |
|
2 |
|
LEDV |
|
10 |
|
+LED |
|
3 |
|
+HP |
|
11 |
|
-HP |
|
4 |
1 |
|
|
12 |
6 |
GPS NMEA |
|
5 |
2 GND |
GND |
5 GND |
13 |
7 |
+GPS |
|
6 |
3 |
|
|
14 |
8 GND |
GND |
5 GND |
7 |
4 +12V |
+12V |
|
15 |
9 RS485 |
RS485/RS232 |
3 TX |
8 |
5 RS485 |
RS485/RS232 |
2 RX |
Fonctionnement dans la voiture
A la mise sous tension les trois LEDS ainsi que le Haut Parleur fonctionne, ce qui permet de vérifier le fonctionnement du module.
En fonctionnement la LED VERTE Clignote ou la LED ROUGE Flash. Le flash indique un fonctionnement du module SANS réception correcte du GPS. Le clignotement, une réception correcte GPS.
Si rien n'est a signaler, la LED VERTE est allumée, a l'approche c'est la JAUNE, très proche on passe en ROUGE.
Enfin lorsque on est sur le point, un signal sonore (HP) se fait entendre.
Le programme de Mise a jour
Il a été écris en QBASIC. L'interpréteur fonctionne sur tous les PC, les vieux les modernes. Il suffit de démarrer avec une disquette DOS et le QBASIC dessus lancer le programme "rad485FX.BAS".
Il fonctionne aussi sous W98 dans une fenêtre DOS (pas testé pour les autres).
La version d'integration est: Ver2005/03/05 (voir en bas de l'écran).
Exemple d'affichage: visualisation du contenu de l'EEPROM
Lecture des informations GPS par la RS485
Pour voir ces informations il suffit de faire un vidage de la RAM, a partir de l'adresse 0x70 : Heure,Minute,Seconde et V/A: trame valide ou non.
Les applications peuvent recuperer ces informations en utilisant les commandes reseaux de lecture memoires.
Adresse du module
Par defaut, il est a l'adresse 1, le programme BASIC utilise cette adresse (modifiable voir dans le menu systeme).
Il est possible et obligatoire de lui assigner son adresse (unique) dans le reseau RS485.
Utilisation
Il faut toujours commencer par initialiser la liaison:
Sélectionner COM1 ou COM2
Pour vérifier le dialogue faire ensuite un Test Ping il doit répondre par: Ping OK.
SANS CETTE REPONSE ne pas aller plus loin.
Ca ne fonctionnera pas mieux et en plus les temporisations ralentiront le retour des messages d'erreurs.
Visualisation de la mémoire du PIC
Un Dump mémoire permet de voir le contenu de la mémoire du PIC16F628.
Le reste des fonctions n'est pas utilisé pour cette application.
Sélection EEPROM
Pour:
Effacer l'EEPROM (30 secondes)
Voir son contenu par page de 256 octets
Charger les PIOs.
Nomenclature
C1 |
10uF /25V |
C2 |
100nF |
C3 |
100nF |
C5 |
22pF |
C6 |
22pF |
D1 |
1N4004 |
IC1 |
PIC16F628/20 |
IC2 |
78L05 |
IC3 |
78XX(suivant GPS) |
IC4 |
MAX481CPA /LTC485 |
IC5 |
24C08 |
LED1 |
LED3MM (cf text GPS) |
LED2 |
LED3MM |
LED3 |
LED3MM |
LED4 |
LED3MM |
Q1 |
XTAL 8Mhz /20MHZ V20050317 |
R1 |
1K |
R2 |
10K |
R3 |
10K |
R4 |
10K |
R5 |
220 |
R6 |
22K |
R7 |
22K |
R8 |
4K7 |
R9 |
4K7 |
T1 |
BC547 |
Con |
DB15 femelle |
Boitier |
RX2010 Selectronic |
Prototype
La version présentée est la version prototype V00, la version V01 est la version a jour ( dans les fichiers)
V01:
- plus de resistance sous le boitier du PIC
- gestion de l'EEPROM: Bug sur RA5 (correction) et gestion de WR de l'EEPROM.
Informations diverses:
Le boîtier est "vu" comme une clef. En utilisation normale il n'a pas a être ouvert.
Facile a mettre en place et a extraire pour la mise a jour des PIOs ou bien la lecture des "enregistrements".
Les leds sur la platine (boîtiers fermés) ne sont pas nécessaires, mais cela n'est pas gênant pour installer des leds externes qu'elles soient présentes.
Une version du programme légèrement différente utilisera une bi led tricolore a la place des trois leds, plus facile a intégrer dans le tableau de bord.
Adaptateur RS232:
Voici le montage en remplacement du circuit LTC485 pour le faire fonctionner en RS232.
Il suffit de le connecter sur la COM1 du PC.
Gestion des POIs
Evidement le plus simple consiste a utiliser les programmes tous fait.
Les cartes ainsi que ces programmes ne sont pas données
On peut aussi charger tous les POI, mais il y en a quelques centaines
Il faut une Eeprom de 64,128K bits.
On fait travailler le PIC pour rien ca ralentit la recherche
et sa sert a rien puisqu'on y va jamais sur ces POI!.
Voici une solution simple permettant la maîtrise de son fichier de POI.
On peut facilement trouver sur le WEB:
-La position de toutes les villes de France,
-Des fichiers de positions au format ASC ou OV2 (de la société TOMTOM)
-Des programmes de conversions ASC OV2.
Avec des fonctions du programme BASIC et un éditeur de texte on peut effectuer
les manipulations necessaires.
Pour réduire le nombre de POI, il suffit de faire un filtrage sur une ZONE géographique.
On choisit quatre villes, par exemple BEAUVAIS pour la latitude NORD,
BRIVE pour le SUD, REIMS pour la longitude EST et NANTES pour l'OUEST.
Une fois la "boite" définit, on place ces valeur dans le programme BASIC (voir dans le programme)
Il suffit ensuite de choisir dans le menu ASC pour, partant d'un fichier de POI , obtenir UNIQUEMENT les POI
qui se trouvent dans la zone. Avec cette méthode le nombre de POI est passé de 250 a 50.
Les fichier ASC sont du texte, editable. Il suffit de faire des "copier coller" pour joindre plusieurs zones.
Dossier de fabrication: HEX, cuivre version 20050317...
Le fichier ZIP: RS485 schema, PCB,implant V01Dans cette version RS232 le LTC485 a été remplace par deux transistors
branchement directe sur le PC non teste.
Le fichier ZIP: RS232 schema, PCB,implant V01Programme de test (HEX_PIC+BASIC): test LED,HP,EEPROM,DIALOGUE PC,chargement des POIs
Le fichier ZIP: HEXPIC 16F628 et QBASICProgramme version 20050320:
Le fichier ZIP: HEXPIC 16F628 et QBASICA suivre...