Journal Pocket Science Lab, une carte d'expérimentation GPLv3

Posté par  . Licence CC By‑SA.
10
12
jan.
2019

De passage au 35C3, j'ai découvert une carte qui n'était pas une carte dédiée au développement matériel et donc programmable comme un arduino, mais qui offrait à la place un ensemble
de ports et capacités préprogrammées dédiées à l'expérimentation: La PSLab (Pocket Science)

printboard

Ce projet open source trouve son origine dans la rencontre d'un développeur matériel indien et de l'organisation FOSSasia qui organise de nombreux évènements et workshops open source, comme son nom l'indique, en Asie. (c'est d'ailleurs sur leur stand qu'un workshop était proposé).

La carte est GPLv3 et au format shield Arduino Mega propose des fonctions d'expérimentation basiques telles que
- Voltmètre
- Source de tension (jusque 5V) et source de courant (3.3mA.. bof)
- Generateur de signal et PWM
- Interfaces I2C, SPI, UART pour les capteurs classiques

Et d'autres à mon avis bien plus intéressant pour un usage en dehors du cercle éducatif:
- Oscilloscope 4 canaux -16 à +16v (devient un oscilloscope portable enregistreur couplé à l'app!)
- Analyseur logique 4 canaux à 4MHz
- Mesure de capacitance

La carte dispose aussi d'un emplacement ESP8266 préprogrammé pour une utilisation
sans fil optionnelle. (apparemment une économie nécessaire pour les marchés émergents)
Je doute par contre du bluetooth annoncé qui n'est normalement pas sur cette puce..

Une app Android transforme donc un téléphone ou tablette
en oscilloscope, voltmètre ou tout autre expérimentation, via un cable OTG.
Oscilloscope sous android

Mais aussi, une API Python 3 complète
(quoique l'interface a quelque problème de dépendances à cause de webkit sur Debian)

En ayant testé un bout de temps, il y a quelque brochages mal placés au dos alors qu'on les branche par le dessus, et apparemment certains bugs sous Android (*), mais ça marche plutôt pas mal pour un usage amateur. Une autre carte sur base de cortex serait en préparation.

PSLab.io
Schema materiel
Source firmware

(*) Je dois dire que j'étais plus concerné par le fait de brancher électriquement une carte en OTG à mon mobile que d'installer une app avec des bugs :)

  • # Commentaire supprimé

    Posté par  . Évalué à 8. Dernière modification le 12 janvier 2019 à 02:17.

    Ce commentaire a été supprimé par l’équipe de modération.

    • [^] # Re: Bande passante de la fonction oscilloscope

      Posté par  . Évalué à 3. Dernière modification le 12 janvier 2019 à 11:39.

      Tu n'indiques pas la fréquence maximale des signaux affichables en mode oscilloscope (c'est à dire la bande passante), or c'est une caractéristique déterminante. Réponse : bande passante théorique de 1 MHz, en pratique 666 kHz, voire 500 kHz, pour une restitution du signal nettement meilleure (explications sourcées ci-après).
      

      En regardant dans le code firmware, on voit qu'ils activent une clock externe.
      La spec de la puce, elle, donne 500.000 samples/s pour les entrées ADC
      https://www.microchip.com/wwwproducts/en/PIC24EP256GP204#additional-features
      Ce serait donc cette valeur et l’échantillonnage fait en interne par la puce en X4 ?

      • [^] # Commentaire supprimé

        Posté par  . Évalué à -1. Dernière modification le 12 janvier 2019 à 15:29.

        Ce commentaire a été supprimé par l’équipe de modération.

        • [^] # Re: Bande passante de la fonction oscilloscope

          Posté par  . Évalué à 1.

          au passage, je suppose qu'il s'agit de composants externes au µC

          mouai… mais non

          Les schémas de la cartes sont dispos (en fait tout le projet Kicad donc on est bien sur du libre), et il n'y a rien à l'extérieur du MCU qui puisse échantillonner à 2MHz (il n'y a qu'un buffer en entrée et un ampli paramétrable). J'ai vérifier parce que j'espérai trouver un ADC externe.
          Tant qu'à se lancer dans des suppositions non vérifiées, on aura qu'à dire que le microcontrôleur est capable d'échantillonner plus vite mais en réduisant la précision (du genre 8 bits). Ce ne serait pas le premier du genre. A voir dans le user manual (pas le temps, et il est trop tard).

          Pour l'horloge externe, c'est normal vu que les horloges internes des microcontrôleurs sont généralement ajustées à 1% (quand elles sont ajustées, sinon c'est la fête). D'ailleurs de mémoire ce n'est pas suffisant pour faire de l'USB2. Le moindre quartz externe est capable de réduire l'imprécision d'un facteur 100 (celui-ci est à 20ppm soit 0.002%).

          Dernier point, est-ce que tu as vraiment besoin de tout traduire et expliquer ? je veux dire quand tu m'explique le terme ADC, j'ai vraiment l'impression que tu me prend pour un con incapable de faire une recherche google/wikipedia/whatsoever… ça devient lourd.

          Les vrais naviguent en -42

          • [^] # Re: Bande passante de la fonction oscilloscope

            Posté par  . Évalué à 2.

            Vu que ça semble construit sur les même entrées, ça implique que l'analyseur logique est aussi limité à des signaux de 500KHz, non ?

            • [^] # Re: Bande passante de la fonction oscilloscope

              Posté par  . Évalué à 1. Dernière modification le 13 janvier 2019 à 12:54.

              je ne vois pas pourquoi ce serai le cas. Il ne s'agit pas d'une limitation en bande passante mais du temps que met l'ADC à numériser l'entrée. Celui-ci converti bit par bit du poids fort au poids faible.

              Dans le cas des entrées numériques, c'est la vitesse que met le CPU à stocker les données qui sera ici le point limitant.

              Les vrais naviguent en -42

    • [^] # Re: Bande passante de la fonction oscilloscope

      Posté par  (site web personnel) . Évalué à 1.

      Pour avoir été à la présentation du PocketLab, la première remarque de mes collègues était sur ces 2 MSPS. Les concurrents chez Seeedstudio font les DSO, dont les 3 premiers utilisent le stm32f103 pour faire le sampling, tandis que dans la derniere version du Quad, le sampling est fait avec un FPGA et monte à 72 MSPS.

      Sinon, pour 1.5EUR tu peux aussi flasher un bluepill avec la fonction d'oscilloscope:

      https://satoshinm.github.io/blog/180105_stm32scope_building_an_amazing_10_oscilloscope_with_an_stm32_blue_pill_lcd_touchscreen_and_stm32-o-scope_software.html

    • [^] # Re: Bande passante de la fonction oscilloscope

      Posté par  (site web personnel) . Évalué à 3. Dernière modification le 15 janvier 2019 à 10:20.

      Shanon c'est 2x, mais j'ai l'impression que vous oubliez les harmoniques du signal. Par exemple, un signal à 1 MHZ, peut être restituer complètement sampler à 2 MHZ si le signal est sinusoïdale. Mais il faudrait avoir 4x si le signal est triangulaire pour attraper la première harmonique. Si c'est un signal carré, il faut beaucoup plus. La fréquence la plus élevée est liée au "front" du carré. Si la montée est de 1ns, la fréquence la plus élevée est donc de 1 Ghz.

      "La première sécurité est la liberté"

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.