Ch592 risc-v adc (Partie de message déplacée)

Bonjour,
depuis février, le soc a probablement été testé ? Sur papier il fait envie ! ... mais je n'ai vu qu'un github en chinois pour son portage dans l’environnement Arduino ; je serais bien intéressé par un retour d'expérience avant de tenter à mon tour. Si oui merci par avance !

Le portage sous IDE arduino ne concerne pas les cartes, il concerne le microcontrôleur.
Le portage a été fait par Espressif, le concepteur de l'ESP32-C3.
Il faut de préférence chercher les informations du coté d'Espressif.

La mise en œuvre du micro peut varier selon les concepteurs de carte.
Par exemple des cartes n'ont pas des grandes performances en matière de Wifi, ce n'est pas dû au portage "arduino", c'est dû au mauvais choix d'antenne.

Ce n'est pas une généralité, mais les meilleures performances sont le plus souvent obtenues avec des cartes équipées de modules comprenant le micro sous boîtier métallique et l'antenne sur circuit imprimé.

@ 68tjs
Merci pour cette mise au point (tiens ? Espressif a fait le portage d'une puce concurrente ?)
Je crois bien que µC et carte sont encore aussi confidentiels l'un que l'autre mais c'est déjà sur le premier qu'un retour d'expérience m'intéresserait.
12 ADC c'est pas courant ! (voire 14 ??), une RTC, 8 interruptions, 60MHz...
Bluetooth mais pas de wifi... bon, ça reste bigrement intéressant. Pourvu que tout ça soit accessible sans devoir être un Earlephilhower.

Sauf erreur, aucun fil dans ce forum (tant Fr que En) sur ce µC, ou soc. Il ne faudrait pas flooder celui-ci consacré au C3, mais peut-être "Professeur Mephisto" pourrait-il en créer un s'il repasse par là et qu'il a défriché la chose ?

Absolument pas.
La puce s'appelle ESP32-C3.
Comme il existe des puces : ESP32, ESP32-C1, ESP32-C2, ESP32-S1, ESP32-S2, ... plus toutes celles que j'oublie

@68tjs

ah désolé... malentendu par ma faute. Dans mes recherches j'avais switché sur cette carte :
https://fr.aliexpress.com/item/1005006117859297.html?
on ne risquait pas de se comprendre ! (en tous cas c'est bien celle-ci qui aurait toutes les caractéristiques qu'il me faudrait, notamment les ADC. Pourvu qu'ils soit précis !)

Il aurait été préférable de créer un nouveau sujet, celui dans lequel tu t'es inséré n'avait rien à voir avec cette carte.

Je ne connais ni cette carte ni son microcontrôleur qui n'est pas un ESP.
Ce que je peux dire c'est que l'assemblage du micro est un assemblage maison.

Le CI n'étant pas blindé, les résultats seront moins bons.
De combien : impossible à dire, cela dépend de la réalisation de la carte et de l'environnement.
L'antenne est une antenne maison, espérons qu'elle fonctionne mieux que d'autres antennes maison. Concevoir une implantation pour hyperfréquence est un vrai métier.

Pour moi la précision des ADC d'un microcontrôleur est secondaire.

Ce n'est pas le rôle d'un microcontrôleur.

  • Ou une précision moyenne est suffisante et alors la qualité des ADC des microcontroleurs est satisfaisante.
  • Ou il faut une grande précision, ou des performances pointues, et alors, il existe des CI spécialisés communiquant en I2C, SPI, qui feront un bien meilleur travail.

Si tu veux continuer sur ce sujet, créé un nouveau sujet.

Faut pas rêver.
C'est un ADC avec 12 canaux en entrée
Le datasheet ici

Pourquoi @ProfesseurMephisto créerait un fils de discutions sur une carte développement qu'il n'utilise probablement pas?

Si tu veux avoir des avis sur cette carte de développement, c'est plutôt à toi de le créer.
Si certains ont déjà expérimentés cette carte, il se manifesterons surement.

J'ai le même avis que @68tjs si tu veux de la précision, il ne faut pas ce tourner sur celui des microcontrôleur, encore moins ceux intégrant une communicateur à 2.4GHz je pense.
Après il faudrait que tu précise, qu'elle précision tu attends et ton contexte, par exemple si tu peux éteindre les communications radio, pendant les mesures.

Je pense que c'est un sujet en soit et qu'il faudrait même que tu crée deux sujet distinct :slight_smile:

Exactement. Et je n’utilise pas plus la carte citée initialement puisque la partie wifi n’est pas assez fiable.
Je ai gardé une (deux ?) en fond de tiroir et offert l’autre à un de mes élèves. Faudra que je lui demande ce qu’il en a fait à la rentrée…

1 Like

héhé... paske, clairement (non ?), je me suis mélangé les pinceaux entre les deux cartes µC-espressif/µC- WCH :stuck_out_tongue_winking_eye:

@fdufnews
merci pour le lien. (J'avais !). Mais ce que je n'ai pas c'est le niveau pour décrypter :
"12-bit analog to digital converter /12 external analog signal channels and 2 internal signal channels"

Pour préciser en effet mon besoin de précision : ça n'est pas de l'ADC 12bits (illusoire ?) mais une mesure fiable pour la mesure de TRES basse-tensions (si possible à partir de 5 sur échelle 1024 en 5V) DE PLUS pas mal polluées. Pour qu'un filtrage (logiciel) reste possible, encore faut-il que l'incertitude sur l'ADC soit acceptable, Ce qui n'est pas le cas avec les EPS32 (par expérience des WROOM que je devais doubler d'un MUX TCA9548), contrairement aux AVR des Arduino's ou µC des Teensy's.

Je ne sais pas si ça répond à ta question mais les pages 117/154 et suivantes de la doc montrent un schéma de l'ADC. Un multiplexeur analogique choisit 1 entrée parmi les 16 14 possibles (dont 2 mesurent des tensions internes au µC, 12 autres étant connectées à des broches externes AIN0~AIN5 et AIN8~AIN13, Figure 2-1 page 10/154 et Figure 7-1 page 52/154. Je ne sais pas ce qu'il advient de AIN6 et AIN7, le tableau ADC Input Channel Select Register (R8_ADC_CHANNEL) page 118/154 dit que les valeurs possibles sont 00h-0Dh pour AIN0~AIN13 puis 0Eh pour VBAT et 0Fh pour temperature sensor TS)

Si tu veux mesurer des tensions faibles, tu peux probablement jouer avec les gains et d'autres paramètres (Table 15-2 page 119/154)...

Merci Etienne_74.
Tes commentaires pointent exactement sur mes questions, ce qui m'a poussé à y regarder de plus près et c'est décidément alléchant.
Je vais disparaître de ce fil car c'est vrai que cette carte est hors sujet. Pour ce qu'elle coûte, je vais en rentrer une et on verra bien mais ça va être du sport avec IDE spécifique et rien d'existant on dirait pour une communication CAN...
Éventuellement en effet, j'ouvrirai un sujet.

Cette carte n'est absolument pas hors sujet.
Elle est maintenant sur un fil séparé et indépendant.

Du moment que l'on parle de microcontrôleur qui se programme avec l'IDE Arduino c'est pleinement le sujet.
D'autres peuvent être intéressés par récolter des informations sur ce microcontrôleur.

Ce qui était hors sujet, c'était d'utiliser un fil de discussion existant avec des sujets sans rapport avec.
C'est maintenant rectifié, tu peux continuer sur ce microcontrôleur.

Je revient sur l'ADC.
La datasheet des micros Atmel/Microchip est très claire sur les erreurs des ADC.
D'autres concepteurs sont moins précis, pourtant les erreurs évoquées par Atmel s'appliquent à tous les ADC.
Je te conseille de lire celle de l'atmega328p.

Tu aura la liste de tous les défauts d'un ADC.
Tu verra qu'il existe des défauts systématiques comme une erreur de non-linéarité ou de gain qu'aucun moyennage ne pourra faire disparaitre et des erreurs dites "aléatoires" qu'un moyennage peut faire disparaitre.
En gros tu fais une mesure à ± 5 lsb.
A mon avis vouloir être parfait dans l'entourage de 0 V tient de l'appareil de mesures, pas du microcontrôleur.

Ce n'est pas parce qu'un micro sur une carte donnée donne une valeur constante que cette valeur est juste, cela veut simplement dire que l'implantation et le routage des pistes sur la carte est faite selon les règles du concepteur du micro et n'ajoute pas du bruit.

On trouve le micro atmega328p sur des cartes Uno et sur des cartes nano.
C'est le même composant et pourtant le résultat de la mesure analogique est bien plus stable sur une nano que sur une UNO.

salut , toutes les "chances" en effet que ce sera sportif (voire olympique)
il faut déjà vérifier que tu puisses téléverser , pas certain qu'un bootloader USB soit installé (sauf s'il vient de la fabrication du MCU )
il vaudra peut-être mieux en effet utiliser l'IDE du fabricant , c'est selon les fonctionnalités qu'on veut , plus "facile" qu'un portage arduino nécessairement incomplet
il est clair qu'un module de très bonne facture (WeAct) , avec cette puissance et le BLE , c'est alléchant à ce prix , mais il y aura des contreparties , je m'installe
(je préfère dire ADC au lieu de CAN , pour éviter la confusion avec le bus série)

Merci pour ces explications (ainsi que pour la régularisation de ma situation !)

Je n'ai jamais pensé à chercher la part des responsabilités, dans mes résultats de mesures, entre µC et bruitage de la source mais au total je suis bien bien au delà de 5 lsb (j'utilise des teensy 3.2 pour mes mesures, sur 10bits - ils ont plusieurs intérêts dont celui de disposer de deux ADC pouvant fonctionner simultanément).
Ce qui amène cette question sur ce point que je ne comprends pas : "vouloir être parfait dans l'entourage de 0 V tient de l'appareil de mesures, pas du microcontrôleur"
... car le µC est précisément l'instrument de mesure ! (?)

Salut Marco !

Concernant le bootloader, à priori, lorsque je lis "full-speed USB host and device controller", ça doit vouloir dire qu'il est implémenté ?

CAN : je parlais bien de communication CAN (bus, donc). Car c'est bien l'exemple qu'avec ces cartes au stade confidentiel, l'absence de librairies, indépendamment même du portage éventuel, rend extrêmement problématique tout ce qui n'est pas trivial.

Autre constatation en creusant un peu plus avant, je vois que tout le support disponible et très fort orienté vers le BLE.

Le µC est ce qui te permet de faire des mesures,
Pour autant un µC n'est pas ce qu'on appelle un appareil de mesure.

Un voltmètre qui mérite la qualification "appareil de mesure" n'utilise ni les mêmes composants ni les mêmes schémas qu'une carte µC.
Tu ne peux pas attendre d'une carte à 4 € les performances d'un appareil à 100 ou 1000 €.

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