M
myf
Apprenti
Ces articles décrivent pas à pas la mise en place de l'enregistrement de mesures (de tension) et de commandes de relais par un pc sous linux.
Le multimètre employé est un ut-61 d'uni-trend, certains (pas tous) de ces modèles ont la possibilité d'ajouter une interface pour pc, série ou usb. Le cable employé est ici une liaison usb de référence ut-d04 à commander séparément. L'ensemble coûte autour de 60eur = 50eur + 10eur, par exemple sur labay. Ces expériences sont décrites avec le modèle ut-61e qui effectue 2 mesures par seconde à 4.5 décimales et 22000pts.
Le logiciel d'acquisition des données, pour ce contrôleur est sigrok, il reçoit les données par le cable du contrôleur et les transmet sur la "sortie standard" de la machine, c'est d'abord l'affichage sur simple terminal pour comprendre le fonctionnement de l'ensemble. Ce logiciel libre décode un grand nombre de multimètres et sort les données de façon a-priori homogène. Son site internet est http://sigrok.org/. La liste des multimètres qu'il décode est http://sigrok.org/wiki/Supported_hardware#Multimeters.
La carte à 8 relais commandées par le pc est un modèle classique en vente sur aliexpress.com ou ebay.fr. Celui employé a un circuit imprimé en rouge et demande un cable usb d'imprimante pour le relier au PC : d'un côté une prise carrée, et de l'autre la prise usb-1 ou usb-2 classique. Chacun de ces relais est RT avec 3 contacts électriques : commun, repos et travail.
Sur une machine sous linux-ubuntu, Le logiciel de commande de cette carte est usbrelay.
Le fil de discussion https://www.usinages.com/threads/capacite-de-piles-et-daccumulateurs-rectangulaires-de-9v.127600/ montre une photo de l'ensemble et décrit les résultats de l'expérience, cet article détaille au contraire la méthode employée pour obtenir ces résultats.
Installation et initialisation des logiciels
Ces deux logiciels font partie de la distribution ubuntu standard. Ils s'installent directement sur la machine par
sudo apt-get install sigrok
sudo apt-get install usbrelay
On peut vérifier que ces programmes sont installés en lançant la commande sigrok-cli et usbrelay dans un terminal... mais il reste à passer les bons paramètres de commande !
L'interface entre le pc et le contrôleur demande une initialisation particulière qui n'est pas effectuée par sigrok-cli. J'en décris pas-à-pas une méthode. En premier brancher le cable usb ut-d04 du controleur sur le pc, la commande "lsusb" renvoie alors la liste de tous les périphériques usb avec ce nouveau cable :
~$ lsusb
...
Bus 006 Device 003: ID 1a86:e008 QinHeng Electronics HID-based serial adapater
...
Les numéros Bus 006 et Device 003 dépendent du pc, "ID 1a86:e008" est la signature du cable ut-d04 branché.
Le programme de configuration du câble est écrit ici dans le langage Python et utilise une bibliothèque pour la prise usb. D'autres méthodes sont décrites sur internet... Mais cette méthode marche bien sur mon pc.
Si le langage python3 n'est pas installé sur la machine, la commande ubuntu ci-dessous installe et configure l'ensemble.
sudo apt-get install python3 python3-usb
Le programme ci-dessous d'une vingtaine de lignes configure ce cable usb :
Le plus simple est de couper/coller ces lignes de "#!/usr..." jusqu'à "...exit(0)" dans un fichier, par exemple init-uni-t.py
Ensuite de le rendre exécutable par chmod a+x init-uni-t.py, puis de le lancer par ./init-uni-t.py
~$ ./init-uni-t.py
port usb : 006/003
La dernière ligne affichée reconnaît l'interface branchée. La boucle "for" du programme permet de configurer tous ces cables usb branchés à ces multimètres ut-61. Le texte "aucune interface uni-t" indique que le pc ne reconnaît pas le cable branché, il reste à trouver pourquoi...
Cette commande est à relancer chaque fois que ce cable est rebranché sur le pc. On peut le lancer plusieurs fois de suite sans risque.
Remarquons que l'autre extrémité du cable ne comporte aucun contact électrique. Le contrôleur envoie ses mesures à l'interface par une diode-électro-luminescente LED. L'isolation électrique du PC par rapport au multimètre est complète.
Selon les modèles, il faut alors passer le multimètre en mode mesure, c'est par défaut le cas du ut61-e, mais pas des autres modèles. La vérification se fait sur l'écran du multimètre : il apparaît alors le pictogramme d'un écran d'ordinateur sur l'affichage lcd du contrôleur.
Enfin, cette première ligne "sigrok-cli ...." avec tous ses paramètres envoie les mesures faites sur le PC. La configuration la plus difficile est terminée!
~$ sigrok-cli --driver=uni-t-ut61e:conn=1a86.e008 --continuous
P1: 0.0 mV DC AUTO
P1: 0.0 mV DC AUTO
P1: 0.0 mV DC AUTO
...
Pour la petite histoire un couper/coller malencontreux m'a fait mettre une fois ut61c à la place de ut61e dans la ligne ci-dessus... cela empêche la communication alors que la LED du mutimètre éclaire faiblement en cadence... Les autres numéros sont ceux de l'interface obtenus par lsusb.
J'espère avoir décrit toutes les étapes, faites il y a quelques mois, pour obtenir ces mesures sous ubuntu. N'hésitez pas à commenter et questionner !
La commande de la carte à relais est beaucoup plus simple.
Il faut d'abord la brancher sur un adaptateur 12V, n'importe lequel ou presque convient. Remarquons sur la photo de l'autre fil de discussion le condensateur électrolytique que j'ai branché en parallèle sur l'alimentation, car l'adaptateur mural employé est une récupération "très très bas de gamme"...
Ensuite la commande est ~$ usbrelay HW553_0x = [0|1] où x=[1|2|3|4|5|6|7|8], par exemple
usbrelay HW554_8=1 ou usbrelay HW554_8=0. Sur ma carte une diode rouge s'allume quand le relais est activé.
C'est tout pour aujourd'hui ! Le prochain article portera plus sur l'enregistrement des mesures.
édition du 05/01/2020 - reprise de l'indentation du code Python
Le multimètre employé est un ut-61 d'uni-trend, certains (pas tous) de ces modèles ont la possibilité d'ajouter une interface pour pc, série ou usb. Le cable employé est ici une liaison usb de référence ut-d04 à commander séparément. L'ensemble coûte autour de 60eur = 50eur + 10eur, par exemple sur labay. Ces expériences sont décrites avec le modèle ut-61e qui effectue 2 mesures par seconde à 4.5 décimales et 22000pts.
Le logiciel d'acquisition des données, pour ce contrôleur est sigrok, il reçoit les données par le cable du contrôleur et les transmet sur la "sortie standard" de la machine, c'est d'abord l'affichage sur simple terminal pour comprendre le fonctionnement de l'ensemble. Ce logiciel libre décode un grand nombre de multimètres et sort les données de façon a-priori homogène. Son site internet est http://sigrok.org/. La liste des multimètres qu'il décode est http://sigrok.org/wiki/Supported_hardware#Multimeters.
La carte à 8 relais commandées par le pc est un modèle classique en vente sur aliexpress.com ou ebay.fr. Celui employé a un circuit imprimé en rouge et demande un cable usb d'imprimante pour le relier au PC : d'un côté une prise carrée, et de l'autre la prise usb-1 ou usb-2 classique. Chacun de ces relais est RT avec 3 contacts électriques : commun, repos et travail.
Sur une machine sous linux-ubuntu, Le logiciel de commande de cette carte est usbrelay.
Le fil de discussion https://www.usinages.com/threads/capacite-de-piles-et-daccumulateurs-rectangulaires-de-9v.127600/ montre une photo de l'ensemble et décrit les résultats de l'expérience, cet article détaille au contraire la méthode employée pour obtenir ces résultats.
Installation et initialisation des logiciels
Ces deux logiciels font partie de la distribution ubuntu standard. Ils s'installent directement sur la machine par
sudo apt-get install sigrok
sudo apt-get install usbrelay
On peut vérifier que ces programmes sont installés en lançant la commande sigrok-cli et usbrelay dans un terminal... mais il reste à passer les bons paramètres de commande !
L'interface entre le pc et le contrôleur demande une initialisation particulière qui n'est pas effectuée par sigrok-cli. J'en décris pas-à-pas une méthode. En premier brancher le cable usb ut-d04 du controleur sur le pc, la commande "lsusb" renvoie alors la liste de tous les périphériques usb avec ce nouveau cable :
~$ lsusb
...
Bus 006 Device 003: ID 1a86:e008 QinHeng Electronics HID-based serial adapater
...
Les numéros Bus 006 et Device 003 dépendent du pc, "ID 1a86:e008" est la signature du cable ut-d04 branché.
Le programme de configuration du câble est écrit ici dans le langage Python et utilise une bibliothèque pour la prise usb. D'autres méthodes sont décrites sur internet... Mais cette méthode marche bien sur mon pc.
Si le langage python3 n'est pas installé sur la machine, la commande ubuntu ci-dessous installe et configure l'ensemble.
sudo apt-get install python3 python3-usb
Le programme ci-dessous d'une vingtaine de lignes configure ce cable usb :
Le plus simple est de couper/coller ces lignes de "#!/usr..." jusqu'à "...exit(0)" dans un fichier, par exemple init-uni-t.py
Ensuite de le rendre exécutable par chmod a+x init-uni-t.py, puis de le lancer par ./init-uni-t.py
~$ ./init-uni-t.py
port usb : 006/003
La dernière ligne affichée reconnaît l'interface branchée. La boucle "for" du programme permet de configurer tous ces cables usb branchés à ces multimètres ut-61. Le texte "aucune interface uni-t" indique que le pc ne reconnaît pas le cable branché, il reste à trouver pourquoi...
Cette commande est à relancer chaque fois que ce cable est rebranché sur le pc. On peut le lancer plusieurs fois de suite sans risque.
Remarquons que l'autre extrémité du cable ne comporte aucun contact électrique. Le contrôleur envoie ses mesures à l'interface par une diode-électro-luminescente LED. L'isolation électrique du PC par rapport au multimètre est complète.
Selon les modèles, il faut alors passer le multimètre en mode mesure, c'est par défaut le cas du ut61-e, mais pas des autres modèles. La vérification se fait sur l'écran du multimètre : il apparaît alors le pictogramme d'un écran d'ordinateur sur l'affichage lcd du contrôleur.
Enfin, cette première ligne "sigrok-cli ...." avec tous ses paramètres envoie les mesures faites sur le PC. La configuration la plus difficile est terminée!
~$ sigrok-cli --driver=uni-t-ut61e:conn=1a86.e008 --continuous
P1: 0.0 mV DC AUTO
P1: 0.0 mV DC AUTO
P1: 0.0 mV DC AUTO
...
Pour la petite histoire un couper/coller malencontreux m'a fait mettre une fois ut61c à la place de ut61e dans la ligne ci-dessus... cela empêche la communication alors que la LED du mutimètre éclaire faiblement en cadence... Les autres numéros sont ceux de l'interface obtenus par lsusb.
J'espère avoir décrit toutes les étapes, faites il y a quelques mois, pour obtenir ces mesures sous ubuntu. N'hésitez pas à commenter et questionner !
La commande de la carte à relais est beaucoup plus simple.
Il faut d'abord la brancher sur un adaptateur 12V, n'importe lequel ou presque convient. Remarquons sur la photo de l'autre fil de discussion le condensateur électrolytique que j'ai branché en parallèle sur l'alimentation, car l'adaptateur mural employé est une récupération "très très bas de gamme"...
Ensuite la commande est ~$ usbrelay HW553_0x = [0|1] où x=[1|2|3|4|5|6|7|8], par exemple
usbrelay HW554_8=1 ou usbrelay HW554_8=0. Sur ma carte une diode rouge s'allume quand le relais est activé.
C'est tout pour aujourd'hui ! Le prochain article portera plus sur l'enregistrement des mesures.
édition du 05/01/2020 - reprise de l'indentation du code Python
Dernière édition: