Aide fonctionnement GPS

Bonjour à tous,

Je suis sur un projet avec des pcb custom et j'en suis a la programmation. J'ai sur ce PCB un esp8266 12E ainsi que d'une puce GPS Quectel L76-L. Je n'arrive pas a m'y connecter et à récupérer des données depuis celui-ci. Voici un aperçu de ma carte.

J'ai testé les tensions au multimètre et la puce est bien alimentée en 3,17v comme l'esp mais je ne trouve rien d'autre.
J'ai testé plusieurs codes classiques mais je n'y arrive toujours pas. Un exemple :

#include <TinyGPS++.h>
#include <SoftwareSerial.h>

const int rxPin = 3;
const int txPin = 1;

TinyGPSPlus gps;

SoftwareSerial ss(rxPin, txPin);

void setup() {
  Serial.begin(9600);
  ss.begin(9600);
}

void loop() {
  while (ss.available() > 0) {
    if (gps.encode(ss.read())) {
      Serial.print("Longitude: ");
      Serial.println(gps.location.lng(), 6);
      Serial.print("Latitude: ");
      Serial.println(gps.location.lat(), 6);

      float myvalue1 = gps.location.lng();
      float myvalue2 = gps.location.lat();
    }
  }
}

Toute information est la bienvenue, n'hésitez pas si vous souhaitez obtenir plus de renseignements.
Merci d'avance

@alexandree,

:warning:
Post mis dans la mauvaise section, on parle anglais dans les forums généraux. ➜ déplacé vers le forum francophone.

Merci de prendre en compte les recommandations listées dans "Les bonnes pratiques du Forum Francophone".

Bonsoir @alexandree

Le schéma serait plus utile à ce stade que l'implantation pour montrer les connections

  1. Pas de test sur plaque d'essai avant de passer à la carte imprimée ? (c'est 'casse gueule' )
    En général on réalise une carte après avoir validé le montage

  2. pour SoftSerial mieux vaut utiliser une bibliothèque adaptée aux ESP8266 (voir les exemples pour les particularités d'utilisation)
    GitHub - plerup/espsoftwareserial: Implementation of the Arduino software serial for ESP8266

  3. choix de GPIO problématique pour la liaison au GPS :

Les GPIO1 et 3 servent à la liaison série matérielle (utilisée pour la communication avec l'ordinateur) , ajouter par dessus un port série logiciel n'est pas très heureux, embrouilles assurées....

Bonjour @al1fch
Désolé pour ma réponse tardive.
Je sais, j'ai fait ça n'importe comment, je suis bête.
Voici le schéma qui n'est pas correct. J'avais confié ce travail a un freelance mais ce n'est pas du tout terrible. C'est pour ça que j'ai envoyé l'implantation qui, elle, me semble correcte.

Je n'arrive pas a obtenir de données concluantes même avec espsoftwareserial :
Rx cnt error, tx = 0x8c Rx cnt error, tx = 0x8d Rx cnt error, tx = 0x8e Rx cnt error, tx = 0x8f Rx cnt error, tx = 0x90 Rx cnt error, tx = 0x91

Que puis-je faire pour sauver mes PCB ?
Merci grandement pour votre aide

Il est important de ne pas relier simultanément deux composants ( CH340 et GPS sur le RX et le TX du module ESP12 comme l'a fait ton 'freelance'

1)Je commencerai par couper les deux pistes reliant actuellement le GPS au module ESP12

  1. j'utiliserai la bibliothèque SoftSerial dédiée aux ESP et je configurerai ce SoftSerial sur deux GPIO libres pour avoir un TX et un RX totalement dédiés au GPS

  2. Je relierai par fil les RX et TX du GPS aux TX et RX du SoftSerial, pas ceux du CH340

Je comprend.
Par exemple, je devrais couper les pistes entre le gps et l'esp actuelles (RX et TX), relier les pins 11 et 7 au TX et RX de mon gps et le définir dans softserial ?

De plus auriez vous des conseils pour couper et relier de nouvelles pistes facilement ?
Merci encore

oui, c'est ça

pendant que tu éditais j'ai complété mon message précédent pour y localiser une coupure facile
(une coupure au cutter permet si l'envie t'en prends de rétablir par un pont de soudure les connections initiales....)

Pour SoftSerial 'special ESP' (espsoftwareserial) je propose d'utiliser GPIO13 et GPIO14 qui sont libres sur la carte et n'ont pas de contraintes particulières d'utilisation.

Voir les exemples d'utilisation de ce SoftSerial pour ESP et découvrir les divers paramètres à passer dans son .begin() (n'utilsant maintenant que des ESP32 qui ont plusieurs UARTS j'ai perdu de vue SoftwareSerial)

Après cette séparation des signaux série tu pourrais même tester ton GPS 'à la main, au clavier' en mettant temporairement dans l'ESP8266 un sketch qui fait un 'pont' entre les deux paires Rx/Tx de l'ESP8266; la paire 'hardware' et la paire 'software'

Autre sujet que ton 'freelance' ne semble pas très bien connaitre : la contrainte d'utilisation d'un régulateur linéaire LD1117 qui , pour fournir une tension régulée de 3,3V a besoin , selon ses fabricants, d'au moins 4,3V en entrée. CE n'est pas le cas si , comme indiqué sur le schéma ce régulateur LD1117 est alimenté par deux accus au format 18650 montés en parallèle, accus probablement en technologie Li-On dont la tension en décharge tourne autour de 3,7V.....

->Forte probabilité pour que ton montage soit parfois sous-alimenté avec une tension instable sensiblement inférieure à 3V

Sans avoir encore regardé le reste ce que je vois fait déjà penser à un travail de débutant qui joue au 'pro' et se forme sur le dos de ses clients.....il n'y a pas eu d'essais sérieux, au mieux sa réalisation a pu par chance 'tomber en marche'

Alors que puis je faire ? Retirer le régulateur et mettre un fil pour compléter le circuit ?

Le schéma ne correspond pas du tout au pinout donc les pins ne sont pas réellement au même endroit : est ce que les gpio 11 et 7 n’ont eux aussi aucune contrainte comme les 13 et 14 ?

Merci beaucoup

Ces 2 GPIO ne sont pas disponibles ( comme tous les GPIO6 à 11)
sous le capot métallique du module ESP-12 ces 6 GPIO servent déjà à connecter l'ESP8266 à sa mémoire flash SPI externe, raison pour laquelle ils ne sont pas accessibles sur les modules ESP-12 les plus courants

Il semble que tu ait un GPIO disponible : celui qui gère une DEL à travers R19.....DEL dont l'autre electrode ne parait pas connectée...

Régulateur : le schéma montre un LD1117
Avec des accus Li-On chargés à bloc (= 4,2V) tu peux espérer 3,3V en sortie de régulateur. C'est à peu près ce que tu indiques dans ton message initial avec 3.17V , donc un régulateur qui commence à 'décrocher'

Remplacer le LD1117 par un fil n'est pas à faire , les 4,2V (LI-ON chargés à bloc) risqueraient de détruire l'ESP8266 et peut être le GPS

Dans l'idéal il faudrait remplacer le LD1117 par un régulateur réellement 'low drop' , capable de fournir 3,3V régulés avec 3.6V entrée....... je n'ai pas en tête de référence en boitier SOT223 (comme l'est probablement ton LD117) ça ne veut pas dire que ça n'existe pas......
SOT223

N.B : par formation puis par habitude j'utilise exclusivement les schémas pour analyser les montages , pas évident si le schéma n'est pas d'équerre avec le montage.....

Le gpio avec R19 ne correspond pas à une del mais a un buzzer (donc le circuit est utilisé). Sinon je me contenterai des GPIO 13 et 14.
En tout cas, tu m’as appris quelque chose, je me suis toujours demandé pourquoi les pins du bas n’étaient pas accessible sur des cartes de dev esp !

Pour le régulateur, je vais me renseigner. Quand tu dis « low drop » tu veux dire LDO ? Car si c’est le cas, il me semble que le LD1117 est LDO !

Joyeux Noël d’ailleurs !!

L'ancètre des régulateurs linéaires , le LM7805, avait un 'dropout' de 2V
Avec 1,1V de 'dropout' le LM1117 a été qualifié à sa sortie de LDO
Que dire des références qui maintenant proposent 0.3V 'encore plus LDO' ?

Oui, bien sûr mais avec un dropout de 1.1V cela le disqualifie pour fournir du 3.3V à partir d'un accu LiIon.
D'ailleurs, si on réfléchie bien, la plage de fonctionnement d'un accu LiIon c'est 4.3 à 3.3V environ donc aucun LDO ne permettra d'exploiter toute la capacité de l'accu. Si on accepte de perdre un peu d'autonomie et qu'on se limite à 3.6V pour la limite basse, avec un très bon LDO on peut peut-être y arriver mais il faut s'assurer que le LDO ne chute pas plus de 300mV lorsque le WiFi est actif et que la consommation est de plusieurs centaines de milliampères, sinon tu vas te prendre des plantages incompréhensibles de manière aléatoire.

Je suis un peu perdu. Il faudrait alors que je trouve un régulateur de quel type ? Et de quel niveau de dropout ?

Un drop-out de 0,2V (pour le courant effectif fourni) permettrait d'utiliser une partie significative de la courbe de décharge d'un accu LI-On

Un exemple : Les diverses cartes ESP de chez LOLIN/WEMOS (ainsi que d'autre fabricants) utilisent un ME6211 dont le drop-out est annoncé à 0.28V pour un courant de sortie de 100mA et 0,? pour un courant de sortie de 200mA

Vois ici pour d'autres références :
http://riton-duino.blogspot.com/2018/11/les-regulateurs-ldo.html

Le courant maxi à fournir est une donnée importante dans la sélection du régulateur, as-tu une idée de sa valeur dans ton cas ?

La consommation max de la carte sera de plus ou moins 450ma (au démarrage à cause de l’esp) et de plus ou moins 175ma en utilisation normale.
J’ai tester de faire quelques soudure mais j’ai beaucoup de mal. J’ai réussi à obtenir quelques données du gps mais elle n’étaient pas concluantes car les coordonnées n’étaient pas détectées, seulement les satellites et leurs infos.

Attention , d'après le schéma , avec R2=1kOhm ton 4056 est programmé pour un courant de charge de 1,2A

Deux remarques

  1. c'est l'extrème limite du courant que peut supporter un TP4056, pas très prudent ...... pourquoi le choix cette valeur extrème pour le courant de charge ?

  2. pour considérer que la charge est terminée , et éviter la surcharge fortement déconseillée pour un accu Li-On, le TP4056 doit constater que le courant qui sort sur sa sortie BAT devient inférieur à 120mA........ (le dixième du courant de charge)

PB : si le courant qui va vers le reste du montage reste à 175mA (ESP-12 + GPS) le TP4056 ne saura pas interrompre la charge

le 'freelance' qui a conçu ton montage est plus que négligent , y compris sur cette partie 'charge d'accu' du projet comme on a pu le voir pour Rx/Tx et pour l'alimentation

si ça continue on va bientôt finir le jeu des 7 erreurs......

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.