Source de tension variable / Alimentation de précision

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

Bonsoir à tous, bonsoir JP.

Est-ce possible de modifier l’implantation et prévoir des cavaliers de configuration pour avoir le choix entre un MCP4921 et un 4821 voir même un 4822 (2×DAC’s)?
Il n’y a que l’utilisation de la broche 6 qui diffère!

Bonsoir,
Jean Paul a raison aucune solution n’est ni meilleure ni moins bonne seuls dependent les criteres de choix.
De mon cote j’avais proposé 2 autres possibilités:
-une methode statistique FPGA et filtre mais pas de résistances
-l’autre le 11 Aout avec ARduino et un DAC
Aujourd’hui ce ne sera pas ARDUINO mais simplement un ATmega 328,boitier DIP, avec l’horloge interne pas besoin de quartz , programmé en C ou C++
Dans ce cas il y aura assez de broches pour les commutateurs 10 positions. il existe d’ailleurs des commutateurs qui codent directement en BCD et meme si l’on veut garder les anciens pourquoi ne pas utiliser un petit circuit: encodeur de priorite (contraire de decodeur) style 74HC147 vous allez gagner 6 fils sur 10.
Egalement pourquoi ne pas utiliser des roues incrementales et un afficheur LCD tout cela rentre dans un mini
Vous voyez on ne s’arrete pas
Pour ma part j’ecrit en C et j’utilise CVAVR comme IDE c’est tres efficace d’autres compilateurs existent, gratuits.
J’essaierai de faire un prototype d’ci 15 jours
Bonne soirée
Sylvain
PS Arduino peut se programmer en C.

Bonsoir Sylvain,
Je ne pense pas qu’un afficheur soit nécessaire, les index 0 à 9 des 3 commutateurs donnant directement la valeur de la tension de sortie.
Ce serait compliquer inutilement le schéma.
Quand à utiliser des commutateurs rotatifs BCD, le prix pique un peu les yeux… (13€54/pièce chez RS) :mrgreen:
https://fr.rs-online.com/web/p/commutateurs-rotatifs/0256250/

Par contre, on attend ta solution avec intérêt.

Bonsoir à tous, bonsoir Sylvain.

Je suis en train de regarder s’il est possible de réécrire mon bout de programme en mBloc, (Scratch pour Arduino).
Toutes ces étiquettes colorées imbriquées les une dans les autres, c’est quand même du plus bel effet et bien plus agréable à regarder qu’un texte de mots abscons en noir sur papier blanc.

Scratch_button_en[2].png

Bonjour à tous, bonjour Gérard,
La nuit ne m’a pas porté conseil, aussi j’ai plusieurs interrogations en suspend:
Avec une référence 5 V « boostée » servant aussi à alimenter le Piksey le LSB sera de 1.220703125 mV (5000 mV / 4096)
Comment atteindre le pas minimum de 10 mV? (facteur de multiplication de 8.192)
Si on utilise une référence 4.096V, le problème sera plus simple à résoudre sauf qu’il faudra du 5V pour le Piksey, à moins qu’il fonctionne avec 4.096 V.
Quelque chose m’échappe…
J’ai bien trouvé cette page issue de la datasheet mais je m’y perds un peu…

MCP4921.jpg

Bonjour à tous, bonjour JP.

Extraits du datasheet de l’ATmega328-PB:
• Operating Voltage:
– 1.8 - 5.5V
• Speed Grade:
– 0 - 4 MHz @ 1.8 - 5.5V
– 0 - 10 MHz @ 2.7 - 5.5V
– 0 - 20 MHz @ 4.5 - 5.5V

29.3 Speed Grades.PNG.jpg
Donc le pseudo Picsey devrait fonctionner à 4,096 volts, cadencé à 16 MHz, il devrait encore être dans la zone grise de sécurité. Par contre il faudra choisir un seuil de brown-out adéquat s’il doit rester validé.

Mais la solution la plus sure serait de ne pas mélanger les torchons et les serviettes : une alimentation en 5 volts d’un coté et une référence fiable (2,048 ou 4,096 volts) de l’autre, pour éviter la contamination de la seconde par la première. Dans ce cas, nul besoin d’un transistor pour renforcer la référence!

La précision de la référence intégrée au MCP4821 est de ± 2% (40 mV/2048 mV) et sa dérive de 50 ppm/°C, Celle du MCP1541 du schéma DAC click Microe avec MCP4921 n’est que du double (± 1%).

1322663145_dac_sche[1].jpg
Déjà une référence extérieure adaptée à la résolution du DAC (2048 ou 4096 mV) serait impérative pour obtenir au final 10 mV pile poil tous les 4 échelons. Une meilleure précision avec une dérive moindre en température serait aussi nécessaire. Par exemple chez RS, j’ai trouvé la REF191 (2,048V) et la REF198 (4,096V) avec une précision de 0,05% et une dérive inférieure 5 ppm mais ce ne sont pas les seules. Le hic, c’est qu’aucune n’est en boitier DIP8, au mieux en CMS au pas de 1,27.

C’est bien ce que je pense aussi, il faut utiliser une référence avec une tension de sortie compatible puissance².
Le circuit MAX6241ACPA+ pourrait convenir, bien qu’un peu cher il est en boitier DIP8 avec une tolérance de +/-0.02%.
Après évidemment les REF198 ou REF191 sont bien moins chers mais difficilement soudables pour certains d’entre-nous.

Là ou ça coince un peu, c’est les 3 alimentations nécessaires au projet en ajoutant un 5V spécifique pour l’ATmega.
Je réfléchis à comment s’en affranchir simplement…

Bonjour tous
La sieste porte conseil
Les commutateurs BCD valent 5 euros les 10 à HK, on gagne 6 entrées
Personne n’a relevé l’encodeur 74147 , assez meconnu, on gagne 6 entrées et on conserve vos commutateurs 10 positions
Si l’on utilise un codage incremental il faut un afficheur, nous sommes en relatif par rapport à un commutateur qui est absolu
Pourquoi ne pas utiliser un ATmega 328 en boitier DIP avec son Bootstrap Arduino ?
A bientôt pour de prochaines aventures
Sylvain
PS en relisant mes mails j’ai trouvé quelques fautes d’orthographe que bien sur vous corrigerez et pardonnerez

Je reviens à ma 1ère version basée sur des résistances.
Je viens de commander 10 PCB pour la somme pharaonique d’environ 10€ (port compris) suivant cette dernière mouture.
Les personnes intéressées peuvent me passer commande par MP (je vends chaque PCB 3€ port compris, la poste française n’étant pas aussi généreuse que la poste chinoise… :mrgreen: ).
reference 3D.jpg
reference board.jpg

C’est quand même le maillon de la chaine qui devrait et doit être le plus performant. Le prix à payer pour une telle précision et un rare boitier DIP8 maintenant inusité vaut bien un petit sacrifice!

Quelque soit la solution à base de µC, Arduino ou autre, il me semble difficile d’y échapper et ce n’est pas ce qui est le plus onéreux, témoin ce qui est proposé en ce moment sur eBay :

Et un module +5 volts à 1€10 Fdp inclus.


Plus un module ±15 volts à 2€41 Fdp inclus


Evidemment il devrait y avoir un surcoût du circuit-imprimé dû à la surface supplémentaire nécessaire si jamais ces modules étaient fixés dessus.