Source de tension variable / Alimentation de précision

Bonjour Gérard,

Sur ma dernière simulation publiée, il y a cet ampli inverseur (simulation à 9.99V)

Tout à fait d’accord avec toi, mais l’exercice intellectuel en valait la peine.

Désolé, cette simulation a été publiée pendant que je rédigeais mon dernier message sinon je l’aurais vue.

Reste la solution avec Arduino nano et ADC pour minorer le nombre de composants et se passer des résistances de précision, est-ce une option pertinente?

Le problème avec le AD7845 proposé plus haut, c’est qu’il coûte cher… (environ 15€) :mrgreen:
Et il y a la programmation en C++ du nano à faire.
Je n’ai pas connaissance d’un simulateur permettant cette option (à part peut-être les dernières versions d’Isis qui sont hors de portée de ma pension de retraite :laughing: )
Attendons Mister Sylvain et sa solution basée sur un FPGA.
Aucune solution n’est à mon avis ni meilleure ni moins chère que celle que j’ai proposée initialement.

Si le schéma initial en intéresse certains, je veux bien faire le dessin du PCB et m’occuper d’en faire graver une certaine quantité (10 minimum).
Dites moi si vous êtes intéressés par MP.

En recherchant un DAC 12 bits économique, j’ai trouvé le MCP4821-E/P à moins de 2€60 TTC la pièce (par paquet de 2) chez RS particuliers: boitier DIP8, référence de tension interne, bus SPI donc ne monopolise que 2 pins de l’Arduino nano
? forum.arduino.cc/index.php?topic=571712.0
? arduinoos.com/2017/10/direct … ds-part-7/

plaindds_mcp4921_a[1].jpg
Sur ce schéma il s’agit d’un MCP4921, c’est quasi le même avec un MCP4821 hormis le fait que la référence est interne.
Sinon il existe des « breakout boards » à base de MCP4725, pour 1€ Fdp inclus, dont le bus I2C ne monopolise que 2 ou 3 pins de l’Arduino. Le hic, c’est que c’est la tension d’alimentation qui sert de référence!
Alimenté par la référence de tension « boostée » du dernier schéma publié, ce dernier écueil devrait pouvoir être éliminé!

Screen_Shot_2014-09-10_at_12.21.12_PM[1].jpg

Adafruit et Sparkfun commercialisant aussi cette plaquette, on devrait pouvoir trouver des exemples de programme tout fait sur le net:
? learn.adafruit.com/mcp4725-12-b … th-arduino
? learn.sparkfun.com/tutorials/mc … -guide/all

MCP4725-Arduino-Module-Tutorial-Hook-Up[1].png

Ces nouveaux arguments devraient permettre de réduire certaines réticences!

En attendant les évolutions d’autres solutions, je bosse sur le futur PCB issu des premiers schémas avec le pont diviseur.
Voilà une ébauche de celui-ci en vue 3D (dimensions 100 x 70)

Référence 3D.jpg

Et le schéma sous un format plus conventionnel que celui de la simulation
référence schéma.jpg

Dimensions du PCB et implantation des composants :

reference board.jpg

Bonjour à tous,
J’ai fait un tableau pour avoir une idée du prix de revient de ce montage

J’ai regardé les prix chez RS Composants et chez TME.
Pour rappel, les frais de port sont offerts le WE chez RS alors qu’il faut ajouter environ 7€ chez TME.
Il y a aussi tout intérêt à commander les 3 commutateurs rotatifs sur Ebay, Aliexpress ou Amazon.
Un exemple de prix sur Ebay.fr (avec le bouton…) : https://www.ebay.fr/itm/RS26-selecteur-de-canal-rotatif-1-pole-position-12-selectionnable-avec-bouton-H-/273617612719
Mais en cherchant bien, on peut trouver encore moins cher.
Les LM324 (ou TL074 ou TL084) sont aussi moins chers chez les chinois.
Je n’ai pas affiné les recherches outre mesure, chacun étant intéressé pourra faire ses propres recherches (et pourquoi pas, en faire profiter la communauté)
Pour les références de tension, il y a le choix entre les références suivantes compatibles broche à broche:
LT1236
REF102
AD587
Et peut être d’autres aussi.
Pour le PCB, je me chargerai de le fournir (port compris) pour 3€
Quoi qu’il en soit, l’ensemble des composants y compris le PCB reviendrait entre 25 et 30€.

Composants référence tension.jpg

Bonjour Jean Paul
Ton projet avance bien et sur je serai en retard avec mes 2 vues de ce probleme tres interessant au demeurant.
Néanmoins , bien entendu, sans vouloir te donner des conseils pense au découplage et aux compensations en température.
Je ne les ai pas quantifiees mais notre Raffou saura le faire bien mieux que moi.
Je m’y remets , le CPLD est fait, juste un petit prototype
Bonne journee a tous et si, d’autres ont des idees ou remarques elles sont les bienvenues
Sylvain

Bonjour JP, bonjour à tous.

La version Arduino Nano se doit d’être minimaliste:

  • Matriçage des 10 contacts des 3 commutateurs rotatifs.
  • Il aurait été possible d’utiliser 3 des sorties PWM de l’Arduino mais:[list][*]elles doivent être suivies des 3 filtres passe-bas et du sommateur déjà proposés et simulés, ce qui complexifie le schéma et va à l’opposé de la simplicité recherchée en augmentant le nombre de composants nécessaires,
  • l’amplitude des signaux PWM est liée à celle de l’alimentation de l’ATmega et non pas à une tension de référence fiable.
    [/:m][]Un DAC MCP4821 serait une solution nettement plus optimale:* avec 4096 échelons pour une référence interne de 2048 mV et un gain fixé à 2 pour l’amplificateur incorporé, ce DAC délivre donc en sortie 1mV par échelon,
  • suivi d’un amplificateur booster (TCA0372) dont le gain est fixé à 2,5, on obtient alors 10 mV pour 4 échelons, soit 10 volts pour 4000 de ces échelons.
    [/*:m][/list:u]
    Exemple de raccordement (arbitraire) des contacts des 3 commutateurs sur les pins de l’Arduino Nano:

Le prototype avec un Arduino nano V3, je n’avais sous la main que des commutateurs 3 circuits 4 positions ce qui limite actuellement l’expérimentation à 4 chiffres au lieu de 10 par commutateur:


Au départ je pensais pouvoir utiliser des procédures de la bibliothèque « keypad » livrée en standard avec l’IDE Arduino. Les commutateurs étant alors déclarés comme 3 claviers 1×10 partageant les mêmes horizontales au lieu d’un seul clavier matricé 3×10n, à l’instar de l’exemple « HelloKeypad3 » Cette configuration permettait de définir les contacts et les pins de l’Arduino indépendamment des commutateurs.

Je me suis vite aperçu que cette bibliothèque conçue pour des claviers dont les contacts sont fugitifs dysfonctionnait avec des contacts permanents. J’ai donc dû écrire la fonction de scrutation des contacts, elle renvoie une valeur numérique comprise entre 0 et 999, sans filtrage des rebonds (« debouncing ») puisque les contacts sont quasi permanents et prévus pour être scrutés toutes les 500 ms.

Le croquis de test avec la fonction de scrutation, les contacts de même rang doivent être câblés en // mais les pins associées ne sont pas figés, ils sont redéfinissables.

Ce qu’affiche le croquis de test, quand on agit sur les commutateurs:

Un des problèmes gênant pour la suite, c’est qu’il reste peu de pins disponibles sur l’Arduino Nano avec les contacts des commutateurs organisés en matrice 3×10. Une solution simple pour gagner 4 ports digitaux supplémentaires serait de remplacer la puce ATmega328 par sa version récence, la version PB comme l’a fait Elektor avec son Uno R4.

L’Arduino Nano n’est pas en reste, il a lui aussi un challenger avec le Piksey Nano.
Deux nouvelles broches ont été ajoutées dans le même alignement que les existantes et à l’opposé du connecteur USB. Ce qui porte leur nombre à 2×16 et permet d’accéder aux deux derniers ports digitaux offert par la puce version PB tout en restant compatible avec l’Arduino Nano de base.


En tenant compte des ces 4 ports digitaux supplémentaires, ce nouveau schéma de principe avec un Piksey Nano permettrait, en réaffectant les fils de la matrice 3×10, de dégager jusqu’à 5 pins comme sorties PWM.


Une alternative bien plus économique que le Piksey Nano est le clone Nano compatible vendu par Thinary Electronic sur AliExpress. Bien que ce ne soit pas indiqué explicitement dans l’annonce, les photos incluses montrent qu’il est bien équipé de la puce ATmega328 version PB.
Tel quel, il permet déjà de récupérer 2 ports digitaux supplémentaires (les entrées analogiques A6 et A7 qui, avec cette version PB, peuvent être aussi configurés en entrée/sortie digitale).
Les pattes 3 et 6 de la puce, qui étaient redondantes avec les pattes 5 (GND) et 4 (Vcc), sont maintenant devenues des ports digitaux. Comme elles sont reliées à rien du tout sur ce clone, autant les relier à deux nouvelles broches logées opportunément dans deux des trous (de fixation?) en bout de plaquette à l’instar des deux extra-pins du Piksey Nano.
Voici donc mon ersatz de Piksey Nano réalisé à partir du clone nano compatible acquis chez Thinary Electronic:


Bon maintenant, on ne peut pas exploiter ces nouvelles ressources aussi facilement, l’IDE Arduino standard ne connaît pas cette évolution de l’ATmega, il faut donc lui adjoindre un package spécifique.
J’ai donc préféré charger celui prévu pour l’Uno R4 d’Elektor’ qui me paraissait plus abouti. En fin de compte j’ai été aussi obligé de charger celui conçu pour le Piksey car la programmation du bootloader dysfonctionnait avec ce premier package.

Le support sur la maquette de test n’a pas été épargné non plus par cette évolution, les bornes en vis à vis du reset ont dû être délaissées afin de pouvoir décaler deux blocs à vis d’un cran et ainsi accéder aux deux nouvelles pins du clone Nano compatible.
Les 13 fils de la matrice des contacts ont été câblés à l’instar du nouveau schéma de principe, ce qui a permis de constater immédiatement que les 4 nouvelles pins étaient bien fonctionnelles.


Coté croquis, pour l’instant pas d’évolutions transcendantes, juste la modification de la déclaration des pins consécutive au nouveau matriçage des contacts:

Ainsi que l’ajout d’une présomption dans la détection de changement de position des commutateurs :

Bonjour à tous, bonjour Gérard,
Très intéressant ce clone de Piksey sur Ali :wink:
Le seul hic! avec ce clone c’est les 2 soudures à réaliser sur la puce Atmega qui ne sont pas à la portée de tout le monde.
Pour y palier, on pourra aussi utiliser le véritable Piksey (pour les maladroits) moyennant 10€ de plus
Et en regroupant le tout sur un PCB, y compris les 3 commutateurs rotatifs, le module DAC et les alimentations 5V et +/- 15V on arriverait à un ensemble compact facile à câbler et pas trop onéreux.
Je vais commander le matériel nécessaire pour câbler un PCB proto de mon côté.

Je ne sais pas où en est l’ami sylvain avec sa solution basée sur un CPLD.

A suivre donc…

Edité : je n’ai pas trouvé de module câblé avec un MCP4821, il faudra probablement s’orienter vers un module MCP4725 alimenté par une référence de tension 5V « boostée » telle que LT1236-5 par exemple.

@Gérard :
Il me faudrait les dimensions du module du clone Piksey pour réaliser l’empreinte PCB ( je suppose que le pitch des pins est de 2.54 mm) mais je n’ai pas l’écartement en largeur… :mrgreen:

Bonjour à tous, bonjour JP.

Le compatible Nano vendu par Thinary Electronic est plutôt un clone d’Arduino Nano puisqu’il n’a que 2×15 pins. D’après ce que j’ai pu lire sur le net, ce n’est pas le seul. Certains vendeurs chinois livrent aussi des clones de Nano équipés d’ATmega328-PB mais c’est une loterie car rien n’est indiqué dans leurs annonces.

Le soudage des deux fils sur la puce n’est pas évident mais avec une loupe d’atelier et une panne de fer très fine, on y arrive assez facilement, témoin cette photo des miennes:

GrosPlanSoudures.JPG
Avec le grossissement on s’aperçoit que les fils ne sont pas bien centrés sur les pattes de la puce. J’ai utilisé du fil pour mini-wrapping que je tenais d’une main pendant que je soudais de l’autre. Peut-être aurais-je dû les immobiliser avec un point de colle, puis les rectifier/centrer avant de les souder. La prochaine fois je tenterai de souder du fil émaillé si j’arrive à obtenir un décapage bien franc de l’émail.

Mon plus gros souci a été la programmation du bootloader sur le clone Nano Compatible. J’ai d’abord tenté de le faire avec mon programmeur TL866 II plus et son logiciel dernière version (8.51). L’ATmega328 version PB y est bien répertorié mais ça ne fonctionne pas en ICSP, faut probablement utiliser le support Textool comme ici: tosiek.pl/arduino-nano-with-atm … e-support/

J’ai ensuite tenté de le faire avec l’IDE Arduino dernière version et un programmeur USBasp V2.0.

usbasp.jpg
L’USBasp n’était pas reconnu avec Windows10, c’était un problème de signature du driver USB et j’ai du remplacer l’existant (quadmeup.com/working-solution-f … -10-64bit/).

Après avoir enfin installé le bon driver, la programmation du boot-loader s’effectuait bien à partir de l’IDE Arduino sur un clone Nano standard (ATmega328 non suffixé) mais pas sur le clone compatible de Thinary pour un problème de création de fichier avrdude.log. A un moment donné j’ai eu l’intuition de changer de package car l’article d’Elektor plutôt loquace sur le contenu et l’installation de celui-ci, était muet sur sur cette opération et n’évoquait qu’évasivement la présence du fichier nécessaire à l’intérieur.
Et là, bingo, j’ai pu programmer le bootloader inclu dans le package du Piksey (un optiboot) dans le clone compatible Thinary et par la suite y téléverser un croquis en sélectionnant à nouveau le package Elektor.

Il existe une plaquette toute prête à base de MCP4921 chez Microe. Sinon il existe un challenger au MCP4821, c’est le MCP4721 quasi identique sauf qu’il nécessite une référence externe.
Pourquoi un module tout câblé? Alors que MCP4821 et 4721 existent en boitier DIP8 (chez RS particuliers)?

C’est standard au pas de 2,54 entre pins y compris les 2 extra-pins, l’écartement entre rangées est aussi au standard Arduino Micro, il est de 6 pas soit 15,24 mm.

J’ai mis le schéma au propre, (effectivement, le MCP4921 existe en boitier conventionnel dont je me suis servi sur le schéma)
J’ai ajouté une référence 5V externe LT1236-5 elle aussi en boitier DIP8
Voilà ce que ça donne pour le moment en espérant ne pas avoir fait d’erreur…

Quand ce sera bon et vérifié, je tracerai le PCB et j’en ferai graver quelques uns à distribuer.
piksey nano.jpg

Schéma avec une meilleure définition…

piksey nano.jpg

Je n’ai pas implanté l’alimentation 5V du Piksey mais si il ne consomme pas trop peut-être pourra-t-il être alimenté par la référence 5V « boostée ».

A voir…

Bonjour a tous

il y a pas mal d’évolution depuis le début , les vacances vous ont réussi :laughing:
je vient de recevoir une partie du matériel pour la réalisation première avec les résistances 0.1%
dans un premier temps ce sera sur une plaque d’essais
cette version me convient bien pas trop compliqué :bulb:

cdlt
laurent

Bonjour Laurent,
Ne t’inquiètes pas, je ferai graver les PCB de la 1ère version comme je l’avais dit.
Celle-ci c’est pour le fun et pour faire fumer les neurones, il en faut pour tous les goûts. :laughing:

Une simulation d’une version 5V « boostée » par un darlington PNP TIP127 avec une charge de 1.5 A.
Le courant débité par la référence de tension est inférieur à 1 mA (courbe rouge)

référence boostée.jpg

Jean Paul
oui il en faut pour tous les goûts heureusement
mais c’est pas mal la version avec les machins Arduino
cela doit améliorer la précision et le câblage
en plus modifiable a volonté :bulb:

cdlt
laurent

Voilà en gros ce que pourrait donner le PCB

piksey board.jpg