Anomalie N°32 - AIREL46/SCAO GitHub Wiki

Fiche d'anomalie N°32 - Microconrôleur MKR wifi 1010

Solution

Forum Arduino

Liens

voir tuto

voir SPI

Arduino 101

SWD

SD Card Module with Arduino

SD Card Module with Arduino

Matériel concerné

2 X plateforme MKR wifi 1010

Constat

La plateforme MKR wifi 1010 n'exécute plus le programme de son firmware. En outre, le téléversement d'un nouveau programme fait l'objet d'une erreur : "No new serial port detected".

The MKR wifi 1010 platform no longer executes its firmware program. Additionally, there is an error when uploading a new program: "No new serial port detected".

  • Les 2 MKR wifi 1010 sont hors service.
  • La led verte est allumée normalement.
  • Les 2 leds jaunes s'allument faiblement et simulent un phénomène de pompage.
  • Téléverser un nouveau firmware est devenu impossible
  • avec le 2ème MKR wifi 1010, le niveau sonore du bip est très faible.

In-circuit Serial Programmer (ISP)

L'ISP est constitué, selon le câblage du schéma ci-dessous, des éléments suivants :

  • une plateforme Arduino 101 (dans laquelle est téléversée le sketch ArduinoISP) raccordée à l'ordinateur par un câble USB
  • la plateforme MKR wifi 1010 dont le bootloader a été effacé
  • dans le menu outil, la commande "graver la séquence d'initialisation" (bootloader).

Le détail de la procédure est donné parle tuto ArduinoISP.

ISP ISP

Le déroulement de la procédure donne le résultat suivant :

  • Starting download script... Flashing is taking longer than expected Try pressing MASTER_RESET button ATTENTION: BLE firmware is being flashed DO NOT DISCONNECT THE BOARD . . . . . . . . . . . . . . ATTENTION: RTOS firmware is being flashed DO NOT DISCONNECT THE BOARD . SUCCESS: Upload completed

La procédure aboutit avec succès, par contre le bootloader chargé est celui dédié à une plateforme BLE (Bluetooth Low Energie - Arduino 101) et non à une plateforme MKR wifi 1010.

Conclusion : la tentative a échoué.

N.B. :

un paragraphe du tuto semble ambigu :

"If all the wires are set, you need to switch to the board type you want to program with the bootloader. This step is mandatory to select the proper bootloader code and the fuses configurations. The programming procedure checks the signature of the microcontroller before any writing action is taken, but many boards share the same microcontroller and each board has its own bootloader. The port remains the one of the ArduinoISP."

Analyse

Mesures des tensions continues

  • Vusb = 4.88 V stable
  • Vbat = 3.963 V stable
  • V33 = 3.274 V stable

Commandes via la console

  • lsusb

Bus 001 Device 009: ID 2341:0054 Arduino SA

La commande détecte correctement le MKR wifi 1010.

  • dmesg

[ 2631.860787] usb 1-3: new full-speed USB device number 7 using xhci_hcd [ 2632.010014] usb 1-3: New USB device found, idVendor=2341, idProduct=0054 [ 2632.010018] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 2632.010022] usb 1-3: Product: Arduino MKR WiFi 1010 [ 2632.010025] usb 1-3: Manufacturer: Arduino LLC

La commande détecte correctement le MKR wifi 1010.

  • ls -l /dev/ttyACM0

crw-rw---- 1 airel dialout 166, 0 nov. 29 12:14 /dev/ttyACM0

La commande détecte correctement le port utilisé par le MKR wifi 1010.

  • arduino-cli upload -p /dev/ttyACM0 --fqbn arduino:samd:mkrwifi1010 SCAO/Arduino/e-p-wifi

No new serial port detected.

La commande ne permet pas le téléversement d'un nouveau firmware.

Historique de la panne

La panne est apparue à la suite de l'installation de 3 interfaces, chronologiquement :

Ces 3 interfaces ont été installées pour limiter le courant sur les entrées/sorties du MKR wifi 1010, ce courant ne doit pas dépasser 7 mA.

Vérification des interfaces

Interface speaker

Interface speaker le 09/08/2020

  • Déconnecter la sortie D10 du microcontrôleur (extrémité de la résistance de 470 Ohms)
  • insérer un milliampéremètre entre le collecteur du transistor et le 3.3V
  • simuler le signal avec le 3.3V et mesurer le courant = 59 mA
  • un léger grésillement est entendu en provenance du speaker
  • l'interface est OK.

Interface Celduc

Interface Celduc le 23/10/2020

  • Déconnecter la sortie D18 du microcontrôleur (extrémité de la résistance de 4.7 KOhms)
  • simuler le signal avec le 3.3V et insérer un milliampéremètre
  • vérifier l'excitation du relais Celduc (led jaune du relais allumée)
  • mesurer le courant = 0.00 mA (bizare !)
  • l'interface est OK.

Interface P230V

Interface P230V le 05/11/2020.

  1. Isolation galvanique (Ohmètre) :
  • sortie chargeur + par rapport à la phase et par rapport au neutre -> les deux OK
  • sortie chargeur - par rapport à la phase et par rapport au neutre -> les deux OK
  • sortie chargeur + par rapport aux 3 points du connecteur de sortie 3.3V, P230V et GND les 3 OK
  • sortie chargeur - par rapport aux 3 points du connecteur de sortie 3.3V, P230V et GND les 3 OK
  1. vérification du câblage : OK

  2. essais et mesures :

a) mesures à l'entrée de l'optocoupleur :

  • tension sortie chargeur : 5.34 V
  • courant débité par le chargeur : 18.46 mA
  • tension aux bornes de la diode de l'optocoupleur : 1.202 V

b) mesures en sortie de l'optocoupleur :

  • tension V33 : 3.275
  • courant V33 (chargeur connecté) : 1.39 mA
  • courant V33 (chargeur déconnecté) : 0.03 mA
  • tension sur le collecteur du transistor avec le chargeur non connecté :
    • P230V non appliqué sur D11 : 1.606 V
    • P230V appliqué sur D11 : 2.628 V
  • tension sur le collecteur du transistor avec le chargeur connecté :
    • P230V non appliqué sur D11 : 0.066 V
    • P230V appliqué sur D11 : 0.079 V.
  1. conclusion : la présence de la tension 230 volts (P230V) est exprimée en logique négative par une tension proche de zéro.

Solution

  • remplacer les transistors par des optocoupleurs.