Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2644 connectés 

 


 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  82  83  84  85  86  87
Auteur Sujet :

[CONSEIL] le Topic du Conseil - Fer à souder/station/multi/pince....

n°469356
rat de com​bat
attention rongeur méchant!
Posté le 06-06-2025 à 16:24:14  profilanswer
 

Reprise du message précédent :
Plop :o
 
Question microscope: Sur le mien la plaque plastique dans le socle, là où on pose ce qu'on veut regarder, est bien abîmée à forcer de souder dessus. Sur Ali je vois des remplacements mais pas en métal, juste du plastique (bof) ou du verre. Quelqu'un a déjà testé ces trucs en verre et notamment si ça résiste au fer à souder sans se fissurer ou autre?
 
Exemple pris au pif: https://www.aliexpress.com/item/4000716767059.html


---------------
Ne laissez pas mourir vos sujets en cours de route!
mood
Publicité
Posté le 06-06-2025 à 16:24:14  profilanswer
 

n°469363
froggycorp
Posté le 06-06-2025 à 17:49:59  profilanswer
 

Tu as la réponse en commentaire :

Citation :

Tout allait bien. Vente d'ail et commande. C'était shvidko.


 
:D

n°469464
rat de com​bat
attention rongeur méchant!
Posté le 08-06-2025 à 12:18:48  profilanswer
 

Oui bon les traductions auto ratées c'est pas exactement nouveau, tout comme les commentaires farfelus sur les sites de vente. :o
 
Un retour sur ces socles en verre et leur résistance à la chaleur / aux différences de température?


---------------
Ne laissez pas mourir vos sujets en cours de route!
n°469478
TotalRecal​l
Modérateur
Posté le 08-06-2025 à 16:43:27  profilanswer
 

Hello,
Ce matin je suis tombé sur un truc à une brocante : un énorme fer à souder Weller. Il pèse genre 600g, je vous laisse imaginer le bestiau :o
La panne est morte, mais je me suis dit que ça pouvait être sympa sur les plans de masse récalcitrants (etc), là où la station peine un peu.
https://i.ibb.co/3yzfZw58/IMG-20250608-105844.jpg
La panne est un énorme cylindre métallique, dont l'extrêmité semble complètement flinguée (je ne comprends pas trop ce que je regarde, peut être qu'elle a été arrachée à la base, pour ça ils ont vraiment dû y aller comme des bourrins vu le diamètre, et qu'après il a servi à fondre du plastique :D)
https://i.ibb.co/qMQY21ss/IMG-20250608-105905.jpg
https://i.ibb.co/hFPphR3k/IMG-20250608-105912.jpg
Branché, ça chauffe bien et ça suce 190W.

 

Je m'étonnais de ne trouver aucune référence sur le manche (mais le truc était clairement trop qualitatif pour être une contrefaçon) avant de me rendre compte qu'elle est sur l'embase métallique de l'élément chauffant :
https://i.ibb.co/9kvRYDCB/IMG-20250608-110119.jpg
https://i.ibb.co/JFkQRxG6/IMG-20250608-110150.jpg

 

Apparemment c'est un Si175 : https://fr.rs-online.com/web/p/fers [...] er/6109377 , 175W et vendu entre 80 et 130€ d'après ce que j'ai vu.

 

Les pannes n'ont pas l'air faciles à trouver (sauf à 35€ pièce :d), et je ne sais pas ce que ça vaut en usage électronique (jamais rien utilisé d'aussi gros). La page RS mentionne trois références, mais il doit manquer des chiffres, la 3e n'existe pas du tout sur google par exemple :sarcastic:

 

Quelqu'un a une expérience de ce genre de machin pour de la "grosse" électronique, ou même pour fondre un petit bain d'étain (etc) ? A votre avis ça vaut le coup de lui trouver une panne ? Un fournisseur correct pour ça ?


Message édité par TotalRecall le 08-06-2025 à 17:21:26

---------------
Topic .Net - C# @ Prog
n°469481
rat de com​bat
attention rongeur méchant!
Posté le 08-06-2025 à 18:01:33  profilanswer
 

Ca serait pas un fer pour souder genre des gouttières?

 

Edit dit de vérifier la température de la panne / du corps chauffant avant d'attaquer de l'élec avec. :o

Message cité 1 fois
Message édité par rat de combat le 08-06-2025 à 18:03:06

---------------
Ne laissez pas mourir vos sujets en cours de route!
n°469482
TotalRecal​l
Modérateur
Posté le 08-06-2025 à 18:27:28  profilanswer
 

Oui c'est prévu :d.
Je pensais aussi à un outil de plombier qui travaille à l'étain. Mais la page RS parlait d'usage en électricité aussi. J'ai pas cherché longtemps mais j'ai rien trouvé qui ressemble à une notice détaillée, limite la page RS est ce que j'ai vu de plus complet.


Message édité par TotalRecall le 08-06-2025 à 18:28:23

---------------
Topic .Net - C# @ Prog
n°469483
rat de com​bat
attention rongeur méchant!
Posté le 08-06-2025 à 18:45:19  profilanswer
 

Curieux ce bestiau, c'est vrai qu'on trouve pas grand chose sur internet et le site Weller ne connais pas non plus. :??:


---------------
Ne laissez pas mourir vos sujets en cours de route!
n°469484
jimbofarra​r
Poreux de la cafetière
Posté le 08-06-2025 à 18:58:45  profilanswer
 

rat de combat a écrit :

Ca serait pas un fer pour souder genre des gouttières?
 
Edit dit de vérifier la température de la panne / du corps chauffant avant d'attaquer de l'élec avec. :o


Les fers de zingueurs sont plutôt de l’ordre du kilowatt et à gaz


---------------
Bien des Shubs et des Zouls furent calcinés dans les profondeurs de l'énorme Sloar, en vérité, je vous le dis !
n°469487
kronoob
Posté le 08-06-2025 à 19:45:48  profilanswer
 

J'ai trouvé cette page eBay : https://www.ebay.com/itm/134892777216
Mais je ne sais pas si le Marksman SP175 est équivalent au SI175.


---------------
Achat - Ventes/Feedback
n°469499
rat de com​bat
attention rongeur méchant!
Posté le 08-06-2025 à 22:18:12  profilanswer
 

A propos des "VAT" Brymen dont je parle dans le FP, j'ai appris tout à l'heure que c'est en fait des DDT (détecteurs de tension): https://forum.hardware.fr/forum2.ph [...] #t73020716
Après pour un particulier ça reste très bien si on s'en sert correctement.


---------------
Ne laissez pas mourir vos sujets en cours de route!
mood
Publicité
Posté le 08-06-2025 à 22:18:12  profilanswer
 

n°469512
rat de com​bat
attention rongeur méchant!
Posté le 09-06-2025 à 09:21:49  profilanswer
 

Je reviens sur mon histoire de plaque ronde pour microscope: Je ne trouve pas de plaque métallique en diamètre 95mm épaisseur 5mm sur Ebay et Cie. Il y a des sites qui proposent de la découpe sur mesure, mais c'est pas donné: Pour de l'acier standard genre 15€, pour de l'inox plus du double et il faut rajouter les fdp. A votre avis, ça vaut le coup/coût ou je tente le truc Ali en verre? Après j'ai peur que ça éclate en contact avec le fer à souder et les morceaux de verre bah c'est vilain. :o Mais je suis pas trop fan de remettre une nouvelle plaque plastique qui sera abîmée rapidement aussi...
 
 :??:


---------------
Ne laissez pas mourir vos sujets en cours de route!
n°469514
M4vrick
Mad user
Posté le 09-06-2025 à 09:41:11  profilanswer
 

rat de combat a écrit :

Je reviens sur mon histoire de plaque ronde pour microscope: Je ne trouve pas de plaque métallique en diamètre 95mm épaisseur 5mm sur Ebay et Cie. Il y a des sites qui proposent de la découpe sur mesure, mais c'est pas donné: Pour de l'acier standard genre 15€, pour de l'inox plus du double et il faut rajouter les fdp. A votre avis, ça vaut le coup/coût ou je tente le truc Ali en verre? Après j'ai peur que ça éclate en contact avec le fer à souder et les morceaux de verre bah c'est vilain. :o Mais je suis pas trop fan de remettre une nouvelle plaque plastique qui sera abîmée rapidement aussi...
 
 :??:


 
Tu n'as pas un bout de PCB qui traine que tu peux recouper? la fibre de verre résiste bien à la chaleur.
Sinon je peux t'usiner une plaque en alu si tu n'es pas pressé, ca te coutera juste les frais de port et un peu de patience le temps que je m'en occupe au fablab (genre une ou deux semaines).
 
@TotalRecall  
Ton fer me fait penser à un vieux fer pour l'électrotechnique, je crois qu'on en avait au lycée en section electrotech pour souder les gros trucs genre transistor de puissance avec énorme plan de masse.


---------------
--== M4vr|ck ==--
n°469516
rat de com​bat
attention rongeur méchant!
Posté le 09-06-2025 à 09:45:35  profilanswer
 

M4vrick a écrit :

Tu n'as pas un bout de PCB qui traine que tu peux recouper? la fibre de verre résiste bien à la chaleur.

Il faudrait un PCB de 5mm d'épaisseur :o et recouper la fibre de verre j'aimerai éviter (poussières).

M4vrick a écrit :

Sinon je peux t'usiner une plaque en alu si tu n'es pas pressé, ca te coutera juste les frais de port et un peu de patience le temps que je m'en occupe au fablab (genre une ou deux semaines).

Il me faudrait 5mm d'épaisseur, si tu sais faire ça j'accepte volontiers! :jap: Il faudra voir pour l'envoi, vu le poids en lettre ça doit coûter une fortune, donc MR et Paypal?


---------------
Ne laissez pas mourir vos sujets en cours de route!
n°469537
kronoob
Posté le 09-06-2025 à 13:27:07  profilanswer
 

Non, en alu ca sera assez léger pour une expédition sous lettre à bulle.


---------------
Achat - Ventes/Feedback
n°469538
rat de com​bat
attention rongeur méchant!
Posté le 09-06-2025 à 13:30:02  profilanswer
 

Ah ok. :o  
 
M4vrick, n'hésite pas de me contacter par MP pour voir les détails. :jap:


---------------
Ne laissez pas mourir vos sujets en cours de route!
n°469539
froggycorp
Posté le 09-06-2025 à 13:33:14  profilanswer
 

Sinon LBC ? tu dois pouvoir trouver des chutes à pas cher.
J'en avais trouvé comme cela

n°469541
rat de com​bat
attention rongeur méchant!
Posté le 09-06-2025 à 13:36:39  profilanswer
 

Faudrait un sacré coup de bol je pense pour trouver une chute avec exactement les bonnes dimensions non? Je ne suis absolument pas équipé pour usiner du métal.


---------------
Ne laissez pas mourir vos sujets en cours de route!
n°469549
M4vrick
Mad user
Posté le 09-06-2025 à 14:09:07  profilanswer
 

Pour l'épaisseur tu peux trouver quelque chose à mettre dessous, je suis pas sûr d'avoir de la tôle de 5mm en alu.
C'est vraiment critique l'épaisseur ?


---------------
--== M4vr|ck ==--
n°469554
rat de com​bat
attention rongeur méchant!
Posté le 09-06-2025 à 14:21:46  profilanswer
 

C'est critique pour avoir une surface plane au niveau du microscope. Peut-être 2mm+3mm si c'est pas trop demandé? :o Sinon je verrai pour trouver "quelque chose", je veux pas abuser de ta gentillesse non plus!


---------------
Ne laissez pas mourir vos sujets en cours de route!
n°469559
Tronklou
❤❤ Vrp Bambulab à mi-temps ❤❤
Posté le 09-06-2025 à 14:42:19  profilanswer
 

Un bed alu d'imprimante 3D ?  
C'est pratiquement ce qu'il y a de plus plan et tu trouve des trucs pas cher en petite taille ( delta pour du rond, sinon carré ).


---------------
Victime de girafophobie, mais se soigne.
n°469562
M4vrick
Mad user
Posté le 09-06-2025 à 15:28:59  profilanswer
 

Je te tien au courant suivant ce que je trouve.


---------------
--== M4vr|ck ==--
n°469565
rat de com​bat
attention rongeur méchant!
Posté le 09-06-2025 à 16:06:17  profilanswer
 

Merci! :jap:


---------------
Ne laissez pas mourir vos sujets en cours de route!
n°469567
froggycorp
Posté le 09-06-2025 à 16:12:56  profilanswer
 

rat de combat a écrit :

Faudrait un sacré coup de bol je pense pour trouver une chute avec exactement les bonnes dimensions non? Je ne suis absolument pas équipé pour usiner du métal.


 
Don't know, faut zieuter qui sait ?
Ensuite un petit coup de scie, non ? :)

n°469572
rat de com​bat
attention rongeur méchant!
Posté le 09-06-2025 à 16:38:44  profilanswer
 

T'as dû rater qu'il me faut un truc rond? :o Même avec une scie cloche 95mm de dia c'est pas gagné... Je vais tranquillement attendre le retour de M4verick, c'est pas urgent non plus. :o

 

PS: bed alu imprimante 3D j'ai regardé aussi, mais pas en 95mm non plus sans compter l'épaisseur qui serait probablement pas la bonne.


Message édité par rat de combat le 09-06-2025 à 16:39:19

---------------
Ne laissez pas mourir vos sujets en cours de route!
n°469575
TotalRecal​l
Modérateur
Posté le 09-06-2025 à 17:07:20  profilanswer
 

rat de combat a écrit :

Curieux ce bestiau, c'est vrai qu'on trouve pas grand chose sur internet et le site Weller ne connais pas non plus. :??:


kronoob a écrit :

J'ai trouvé cette page eBay : https://www.ebay.com/itm/134892777216
Mais je ne sais pas si le Marksman SP175 est équivalent au SI175.


Elles sont vraiment énormes [:ddr555].  
Merci d'avoir trouvé ça, ça donne des idées de ref en plus : MT40, MTG40, Marksman...

M4vrick a écrit :


@TotalRecall  
Ton fer me fait penser à un vieux fer pour l'électrotechnique, je crois qu'on en avait au lycée en section electrotech pour souder les gros trucs genre transistor de puissance avec énorme plan de masse.


Oui c'est pour ça que je me disais qu'il peut faire le job en élec de puissance, mieux que ma station Hakko 888 qui peine clairement sur les grosses pièces/plans de masses.
 
Mais je m'étonne aussi de pas trouver plus d'infos que ça, pourtant il n'a pas l'air d'avoir plus de 10 ans ce fer et c'est du Weller, on devrait trouver ça. Mais l'état est peut être trompeur sur l'âge réel, sinon il serait mieux référencé. Je m'attendais à trouver plein de pannes substituables, y compris sur Ali ou autre, mais très peu de résultat (j'ai pas cherché bcp).
Pour info il m'a coûté 3€, donc si je galère à trouver des pannes pour un prix à deux chiffres il finira sur lbc :p
 

M4vrick a écrit :


Tu n'as pas un bout de PCB qui traine que tu peux recouper? la fibre de verre résiste bien à la chaleur.
Sinon je peux t'usiner une plaque en alu si tu n'es pas pressé, ca te coutera juste les frais de port et un peu de patience le temps que je m'en occupe au fablab (genre une ou deux semaines).


Voir ça auprès d'un fablab ou machin assimilé ça aurait justement été mon conseil, à défaut d'artisan équipé de ce qu'il faut. Ou même un centre de formation, etc, parfois ils sont serviables si ça permet de faire bosser quelqu'un sur un truc en rapport avec la formation.
Si c'est fait par une machine automatique je te conseille d'en prendre plus d'un à la fois, ça sera toujours ça de gagné.
Pour l'épaisseur, tu peux mettre un truc en dessous je pense, quitte à mesurer le résultat (pied à coulisse) pour t'assurer que le résultat final est homogène.


---------------
Topic .Net - C# @ Prog
n°470775
Bersac
Posté le 03-07-2025 à 20:59:33  profilanswer
 

Ca faisait un petit moment que je n'avais pas dépensé mes sous dans l'électronique, depuis que je me suis fâché avec AE. Ces derniers temps, c'était plutôt de l'outillage pour la mécanique auto, afin de maintenir en état ma vieille merguez.
 
Je me suis laissé tenter par le Peak Atlas ESR70 Gold. Il est tout mimi, rapide, pratique mais cher au poids. Je n'en avais pas réellement besoin mais il faut bien se faire plaisir, n'est-ce pas ?
 
J'ai fait quelques mesures comparatives avec de DER DE5000 à 100 kHz. Parfois on est très proche, parfois moins. Tout dépend de la capa. De toute façon, ce n'est pas le même usage. L'ESR70 permet dans une certaine mesure des tests en circuit. Auparavant, j'utilisais le MESR-100 chinois (le noir), pas mal pour le prix, mais il ne mesure pas la capacité. En complément, il fallait un multimètre.
 
Contrairement à un LCR mètre classique, le Peak mesure une capacité comme un multimètre.
 
Vous trouverez une explication détaillée dans cette vidéo que j'ai résumé en une image pour les plus pressés :
 
https://rehost.diberie.com/Picture/Get/f/406091
 
A noter que la fréquence peut varier de 48 à 100 kHz d'après les specs.
 
Edit : rajout lien Peak Atlas dans le texte pour ceux qui ne connaissent pas.

Message cité 2 fois
Message édité par Bersac le 03-07-2025 à 21:01:39
n°470778
Aline BOQS
Alsacobéquois.
Posté le 04-07-2025 à 01:54:53  profilanswer
 

Bersac a écrit :


Edit : rajout lien Peak Atlas dans le texte pour ceux qui ne connaissent pas.


Je crois que mon pote Vince en a réparé un, et la compagnie lui a envoyé un modèle supérieur, gratiche.  


---------------
-=* Feedback de Liline *=- _._ -=* Ptit bazar à Liline *=-  
n°470840
rat de com​bat
attention rongeur méchant!
Posté le 04-07-2025 à 15:03:01  profilanswer
 

Bersac a écrit :

Contrairement à un LCR mètre classique, le Peak mesure une capacité comme un multimètre.

Ah, j'avais pas conscience que les LCR mesurent différemment des multis. :jap: Par contre la méthode "charge CC et mesure du temps" doit y'avoir moyen avec un micro, mais bon, vu que chaque multi digne de ce nom sait le faire...


---------------
Ne laissez pas mourir vos sujets en cours de route!
n°470861
Bersac
Posté le 04-07-2025 à 15:56:50  profilanswer
 

Comme j'avais eu l'occasion d'écrire ici il me semble, la première réaction que j'ai eue en recevant mon premier LCR mètre est : c'est quoi cette bouze :)
 
J'ai donc creusé le fonctionnement de ces bêtes. Voici une petite synthèse non exhaustive pour ceux qui seraient intéressés.
 
LCR mètre classique
Un LCR mètre classique, comme le DER DE-5000 par exemple, mesure l’impédance complexe Z = U(t) / I (t). Pour cela, il applique un signal variable, de type sinusoïdal de préférence, et détermine l’impédance apparente |Z| et l’angle de déphasage courant-tension. Il peut ensuite calculer la partie réelle et la partie imaginaire de l’impédance, et connaissant la fréquence de mesure, la capacité ou l’inductance. Il fournit également les facteurs D et Q qui sont de simples rapports entre réactance et résistance.
 
Testeur ESR de composants
Un testeur ESR de composants, comme le Peak ESR70, le MESR-100 ou les testeurs chinois, mesure l’impédance apparente |Z| à une fréquence aussi proche que possible de la résonance. Ainsi, les composantes réactives s’annulent et la valeur correspond donc à l’ESR. Problème, la fréquence de résonance varie selon le type de condensateur radial ou axial, l’électrolyte,  sa tension nominale, sa capacité, ...  
 
100 kHz est un compromis généralement fixé par le fabricant. Dans le cas de l’ESR70, la fréquence de mesure peut à priori varier de 48 à 100 kHz, ce qui est mieux adapté aux condensateurs de faible capacité. Le but de ces testeurs est d’évaluer le plus facilement possible, et à moindre coût, l’état de santé d’un condensateur électrolytique et non de fournir des valeurs précises.
 
Leur possibilité de mesurer en circuit pour certains, consiste à appliquer un signal de tension inférieure au seuil de conduction d’une jonction semi-conductrice pour perturber le moins possible la mesure. Bien entendu, si d’autres composants sont placés en parallèle du condensateur à tester, cette mesure est perturbée, voire impossible. Ainsi, on ne dessoudera uniquement les composants douteux pour un contrôle plus approfondi.
 
J'ai zappé certains aspects mais n'hésitez pas à poser des questions, j'y répondrai dans la limite de mes connaissances.

n°470865
rat de com​bat
attention rongeur méchant!
Posté le 04-07-2025 à 16:03:35  profilanswer
 

lien mis dans le FP, merci :jap:


---------------
Ne laissez pas mourir vos sujets en cours de route!
n°470866
rat de com​bat
attention rongeur méchant!
Posté le 04-07-2025 à 16:05:37  profilanswer
 

Sinon un grand merci à M4verick pour la fabrication gratuite (hors fdp évidemment) de deux disques métalliques pour mon microscope. :jap:  
 
Petit soucis et mise en garde: Elles sont un poil trop grandes, en effet le disque d'origine fait pas 95mm mais env. 94,5mm de diamètre seulement. Donc dans le doute bien mesurer et (faire) fabriquer un disque un peu plus petit. Je vais régler ça à coup de Dremel quand il fera moins chaud...


---------------
Ne laissez pas mourir vos sujets en cours de route!
n°470869
M4vrick
Mad user
Posté le 04-07-2025 à 16:22:28  profilanswer
 

De rien :jap:
 
C'était pas grand chose à fabriquer et ca rend service :D


---------------
--== M4vr|ck ==--
n°471465
rat de com​bat
attention rongeur méchant!
Posté le 14-07-2025 à 16:37:36  profilanswer
 

Plop :o
 
"chapeau" aux ingés de chez Kunkin qui visiblement alimentent le transceiver RS232 ("UT3232" ) de la charge électronique KP184 à travers le signal RTR (ready to receive, pin 7 du connecteur). :whistle: On notera que le UT3232 a une tension d'alimentation "abs. max." de 6V alors que le RS232... Ouais. :o
 
Je dépose ça ici car 1) c'est (à mon avis) bien HB et 2) il faut ce signal sinon l'interface série ne va pas fonctionner. En effet les signaux en interne passent par un isolateur (ADuM), mais visiblement les ingés voulaient économiser un petit DC/DC isolé. En plus pour sortir le PCB en question (pour modification) il faudrait démonter les MOSFET de puissance, pas très envie de faire ça moi. Ca me semble mal parti pour un mod (facile) vers USB...


---------------
Ne laissez pas mourir vos sujets en cours de route!
n°471468
TotalRecal​l
Modérateur
Posté le 14-07-2025 à 19:19:25  profilanswer
 

Ah ouais, pourtant c'est un machin à 150€, je sais bien que les fabricants asiatiques low cost sont pas à une économie douteuse près, mais quand même...


---------------
Topic .Net - C# @ Prog
n°471469
rat de com​bat
attention rongeur méchant!
Posté le 14-07-2025 à 19:29:05  profilanswer
 

J'ai beau chercher, j'ai pas vu de diode Z qui pourrait suffire pour rendre ce bricolage "acceptable" (RS232 c'est limité en courant non?). :o


---------------
Ne laissez pas mourir vos sujets en cours de route!
n°471527
rat de com​bat
attention rongeur méchant!
Posté le 15-07-2025 à 20:42:08  profilanswer
 

Câble spécial (et spécialement HB, prototype et version finale en même temps :o ) pour pouvoir interfacer la KP184 par USB:
 
https://img.super-h.fr/images/2025/07/15/bac7ff617cf0c675c14e14824a8fd67c.th.jpg https://img.super-h.fr/images/2025/07/15/dd320e83c3bb562905e2eb5edd179691.th.jpg
 
composants: Un convertisseur USB-série CH340, un MAX232 (montage insecte mort) avec ses 5 condensateurs 1µF, un câble 4 fils et un connecteur DE-9 femelle de récup.
 
Rien de spécial, si ce n'est que les 3,3V (le CH340 à un régulateur interne et j'ai testé, il peut facilement fournir quelque mA) vont vers la broche 7 du DE-9 pour alimenter (plus "correctement" que la "méthode Kunkin" ) le UT3232 interne au KP184.
 
Si j'avais eu un MAX3232 CMS en stock (ou autre qui fonctionne en 3,3V) j'aurais pu mettre tout le bazar RS232 à l'intérieur du connecteur; mais là avec du DIP c'était pas gagné et il aurait fallu un câble 5 fils pour amener aussi 5V pour le MAX232 (qui ne fonctionne qu'en 5V). Ou alors il aurait fallu planquer en plus genre un 1117-3,3V dans le connecteur, pas gagné vu la place disponible.
 
Voilà. :whistle: C'est pas génial avec ce passage (inutile) par les niveaux RS232; mais comme je disais pour modifier la KP184 en interne il faudrait démonter les MOSFET de puissance pour pouvoir sortir le PCB et je le sens pas trop.
 
Je peux fournir plus de détails sur demande.


---------------
Ne laissez pas mourir vos sujets en cours de route!
n°471591
rat de com​bat
attention rongeur méchant!
Posté le 17-07-2025 à 17:15:54  profilanswer
 

Plop :o

 

J'ai pondu du code C pour pouvoir commander la KP184 par RS232 et j'ai fait un effort (en utilisant libserialport de chez Sigrok) pour pondre un truc qui devrait fonctionner sous Windows aussi (non testé). :o

 

Si ça intéresse du monde je colle une étiquette "GPLv3" au code et je le publie ici... Quelqu'un?

 

Edit dit que vous devez savoir manier un compilateur C.


Message édité par rat de combat le 17-07-2025 à 17:16:29

---------------
Ne laissez pas mourir vos sujets en cours de route!
n°471596
froggycorp
Posté le 17-07-2025 à 20:21:09  profilanswer
 

Sinon tu files la ligne pour le compilateur ?
Gcc toto tutu.c ? :)

n°471602
rat de com​bat
attention rongeur méchant!
Posté le 17-07-2025 à 21:20:53  profilanswer
 

kp184 - un outil pour faciliter la commande de la KP184 par RS232 à travers le language (script) de votre choix
 

Code :
  1. /*
  2. This program, called kp184, is meant to facilitate communication with Kunkin KP184 electronic load
  3. using serial port (RS232). It can be used from any (script) language you are familiar with.
  4. Copyright (c) 2025 rat de combat - first published on forum.hardware.fr
  5. This program is free software: you can redistribute it and/or modify it under the
  6. terms of the GNU General Public License as published by the Free Software Foundation,
  7. either version 3 of the License, or (at your option) any later version.
  8. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
  9. without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  10. See the GNU General Public License for more details.
  11. You should have received a copy of the GNU General Public License along with this program.
  12. If not, see <https://www.gnu.org/licenses/>.
  13. */
  14. /*
  15. PROGRAM: kp184 Copyright (c) 2025 rat de combat - first published on forum.hardware.fr
  16. DEPENDENCY: libserialport, hosted by Sigrok project at https://sigrok.org/ - see there for compiling it
  17. SUPPORTED OS: Linux (tested), Windows (untested), maybe others (untested) depending on libserialport
  18. COMPILATION (Linux, assuming libserialport.h and libserialport.so are in the same directory, adjust as needed): gcc -Wall -Wextra -Werror -I. -L. -Wl,-rpath=. -o kp184 kp184.c -lserialport
  19. USE: kp184 COMMAND [ARGUMENTS]
  20. kp184 v                            -> show _v_ersion and copyright on stdout
  21. kp184 i SERIAL_PORT BAUDRATE NODE  -> _i_nit, to be called first once, creates a small internal config file in current directory
  22. kp184 c                            -> _c_leanup, to be called at end of script, removes the file created above (file can be removed manually too)
  23. kp184 s on|off                     -> _s_witch load on/off
  24. kp184 m MODE VALUE                 -> change _m_ode to MODE (v|c|r|p) and set voltage/current/power/resistance to VALUE (double)
  25. kp184 r                            -> _r_ead mode and real voltage and current and print on stdout
  26. Always check return value, will be non-zero on error. See #define at the beginning of code.
  27. The firmware of the KP184 does not seem very good/stable and the documentation is really sparse (and bad quality), so YMMV using this program. Add plenty of checks to your own scripts. Never run the load without your physical presence/surveillance.
  28. */
  29. #include <stdlib.h>
  30. #include <stdio.h>
  31. #include <stdint.h>
  32. #include <stdbool.h>
  33. #include <string.h>
  34. #include <libserialport.h>
  35. #ifdef WIN32
  36. #include <windows.h>
  37. #else
  38. #include <time.h>
  39. #endif
  40. //return values
  41. #define ERR_NO_ERROR 0
  42. #define ERR_NEED_ARGUMENTS 1
  43. #define ERR_INVALID_COMMAND 2
  44. #define ERR_INVALID_ARGUMENT 3
  45. #define ERR_FOPEN_CONF_FILE 4
  46. #define ERR_FWRITE_CONF_FILE 5
  47. #define ERR_FREAD_CONF_FILE 6
  48. #define ERR_REMOVE_CONF_FILE 7
  49. #define ERR_LIBSERIALPORT_ERROR 8
  50. #define ERR_INVALID_RESPONSE 9
  51. #define ERR_INVALID_CRC 10
  52. #define NAME_CONFFILE "kp184_conf"
  53. #define SIZE_NAME_SERIAL_PORT 50
  54. #define DEBUG_SHOW_BYTES 0
  55. #define DELAY_MS_BETWEEN_COMMANDS 200 //minimum value?
  56. #define TOOL_VERSION "0.1"
  57. typedef struct
  58. {
  59.     char port_name[SIZE_NAME_SERIAL_PORT+1];
  60.     uint32_t baudrate;
  61.     uint8_t node;
  62. } config_file_t;
  63. //do not change
  64. #define CMD_READ_SINGLE_REG 0x03
  65. #define CMD_WRITE_SINGLE_REG 0x06
  66. #define REG_LOAD_ON_OFF 0x010E
  67. #define REG_LOAD_MODE 0x0110
  68. #define REG_CV_SETTING 0x0112
  69. #define REG_CC_SETTING 0x0116
  70. #define REG_CR_SETTING 0x011A
  71. #define REG_CW_SETTING 0x011E
  72. #define REG_U_MEASURE 0x0122
  73. #define REG_I_MEASURE 0x0126
  74. #define MODE_CV 0x00
  75. #define MODE_CC 0x01
  76. #define MODE_CR 0x02
  77. #define MODE_CP 0x03
  78. static struct sp_port * port=NULL;
  79. static void check_abort(const enum sp_return ret)
  80. {
  81.     if(ret<0)
  82.     {
  83.         fprintf(stderr, "kp184: something went wrong with libserialport (code %d)\n", ret);
  84.         exit(ERR_LIBSERIALPORT_ERROR);
  85.     }
  86. }
  87. static void close_free_port(void)
  88. {
  89.     if(port!=NULL)
  90.     {
  91.         check_abort(sp_close(port));
  92.         sp_free_port(port);
  93.     }
  94. }
  95. static void wait_ms(const uint_fast32_t ms)
  96. {
  97. #ifdef WIN32
  98.     Sleep(ms);
  99. #else
  100.     struct timespec ts;
  101.     ts.tv_sec=ms/1000;
  102.     ts.tv_nsec=(ms%1000)*1000000;
  103.     nanosleep(&ts, NULL);
  104. #endif
  105. }
  106. static uint16_t compute_crc(uint8_t const * ptr, uint_fast8_t len_data)
  107. {
  108.     uint_fast8_t i;
  109.     uint16_t crc=0xFFFF;
  110.     while(len_data--)
  111.     {
  112.         crc^=(*ptr);
  113.         for(i=0; i<8; i++)
  114.         {
  115.             if(crc&1)
  116.             {
  117.                 crc>>=1;
  118.                 crc^=0xA001;
  119.             }
  120.             else
  121.                 crc>>=1;
  122.         }
  123.         ptr++;
  124.     }
  125.     return crc;
  126. }
  127. static void set_crc(uint8_t * buffer, uint_fast8_t len_data)
  128. {
  129.     uint16_t crc=compute_crc(buffer, len_data);
  130.     buffer[len_data++]=(crc>>8)&0xFF;
  131.     buffer[len_data]=crc&0xFF;
  132. }
  133. static bool is_good_crc(uint8_t const * buffer, uint_fast8_t len_total)
  134. {
  135.     uint16_t computed_crc=compute_crc(buffer, len_total-2);
  136.     uint16_t real_crc=((uint16_t)(buffer[len_total-2])<<8)|buffer[len_total-1];
  137.     return computed_crc==real_crc;
  138. }
  139. static config_file_t read_conf_file(void)
  140. {
  141.     FILE * f=fopen(NAME_CONFFILE, "rb" );
  142.     if(f==NULL)
  143.     {
  144.         fprintf(stderr, "kp184: read_conf_file: could not open internal config file %s\n", NAME_CONFFILE);
  145.         exit(ERR_FOPEN_CONF_FILE);
  146.     }
  147.     config_file_t conf;
  148.     if(fread(&conf, sizeof(config_file_t), 1, f)!=1)
  149.     {
  150.         fprintf(stderr, "kp184: read_conf_file: could not read from internal config file %s\n", NAME_CONFFILE);
  151.         exit(ERR_FREAD_CONF_FILE);
  152.     }
  153.     fclose(f);
  154.     return conf;
  155. }
  156. static void open_port(void)
  157. {
  158.     if(port!=NULL)
  159.         return;
  160.    
  161.     config_file_t conf=read_conf_file();
  162.    
  163.     check_abort(sp_get_port_by_name(conf.port_name, &port));
  164.     check_abort(sp_open(port, SP_MODE_READ_WRITE));
  165. }
  166. static void prepare_single_reg_write(uint8_t * buffer, const uint32_t reg_addr, const uint32_t value, uint8_t * response)
  167. {
  168.     config_file_t conf=read_conf_file();
  169.     uint8_t * ptr=buffer;
  170.     *(ptr++)=conf.node;
  171.     *(ptr++)=CMD_WRITE_SINGLE_REG;
  172.     *(ptr++)=(reg_addr>>8)&0xFF;
  173.     *(ptr++)=reg_addr&0xFF;
  174.     *(ptr++)=0x00;
  175.     *(ptr++)=0x01;
  176.     *(ptr++)=0x04;
  177.     *(ptr++)=(value>>24)&0xFF;
  178.     *(ptr++)=(value>>16)&0xFF;
  179.     *(ptr++)=(value>>8)&0xFF;
  180.     *(ptr++)=value&0xFF;
  181.     set_crc(buffer, 11);
  182.     uint8_t * ptr_response=response;
  183.     *(ptr_response++)=conf.node;
  184.     *(ptr_response++)=CMD_WRITE_SINGLE_REG;
  185.     *(ptr_response++)=(reg_addr>>8)&0xFF;
  186.     *(ptr_response++)=reg_addr&0xFF;
  187.     *(ptr_response++)=0x00;
  188.     *(ptr_response++)=0x01;
  189.     *(ptr_response++)=0x04;
  190.     set_crc(response, 7);
  191. }
  192. static void prepare_single_reg_read(uint8_t * buffer, const uint32_t reg_addr)
  193. {
  194.     config_file_t conf=read_conf_file();
  195.     uint8_t * ptr=buffer;
  196.     *(ptr++)=conf.node;
  197.     *(ptr++)=CMD_READ_SINGLE_REG;
  198.     *(ptr++)=(reg_addr>>8)&0xFF;
  199.     *(ptr++)=reg_addr&0xFF;
  200.     *(ptr++)=0x00;
  201.     *(ptr++)=0x04;
  202.     set_crc(buffer, 6);
  203. }
  204. static void send_data(uint8_t const * buffer, uint_fast8_t len)
  205. {
  206.     open_port();
  207. #if DEBUG_SHOW_BYTES
  208.     uint_fast8_t i;
  209.     printf("transmitting %u bytes: ", len);
  210.     for(i=0; i<len; i++)
  211.         printf("%02X ", buffer[i]);
  212.     printf("\n" );
  213. #endif
  214.     check_abort(sp_blocking_write(port, buffer, len, 100));
  215.     check_abort(sp_drain(port));
  216. }
  217. static uint_fast8_t receive_data(uint8_t * const buffer, uint_fast8_t len_max)
  218. {
  219.     open_port();
  220.     enum sp_return ret=sp_blocking_read(port, buffer, len_max, 250);
  221.     check_abort(ret);
  222.     if((uint)ret!=len_max)
  223.     {
  224.         fprintf(stderr, "kp184: expected %u bytes but received %u bytes\n", len_max, (uint)ret);
  225.         exit(ERR_INVALID_RESPONSE);
  226.     }
  227. #if DEBUG_SHOW_BYTES
  228.     uint_fast8_t i;
  229.     printf("received %d bytes: ", ret);
  230.     for(i=0; i<ret; i++)
  231.         printf("%02X ", buffer[i]);
  232.     printf("\n" );
  233. #endif
  234.     if(!is_good_crc(buffer, ret))
  235.     {
  236.         fprintf(stderr, "kp184: invalid CRC in response\n" );
  237.         exit(ERR_INVALID_CRC);
  238.     }
  239.     return ret;
  240. }
  241. static void check_response(uint8_t const * const real, uint8_t const * const expected, uint_fast8_t len)
  242. {
  243.     if(memcmp(real, expected, len))
  244.     {
  245.         fprintf(stderr, "kp184: invalid response\n" );
  246.         exit(ERR_INVALID_RESPONSE);
  247.     }
  248. }
  249. static void do_init(int nb, char ** args)
  250. {
  251.     if(nb!=3)
  252.     {
  253.         fprintf(stderr, "kp184: init: missing or too many argument(s)\n" );
  254.         exit(ERR_NEED_ARGUMENTS);
  255.     }
  256.    
  257.     char * port_name=args[0];
  258.     uint_fast32_t baudrate=atoi(args[1]);
  259.     uint8_t node=atoi(args[2]);
  260.     struct sp_port *port;
  261.     check_abort(sp_get_port_by_name(port_name, &port));
  262.     check_abort(sp_open(port, SP_MODE_READ_WRITE));
  263.     check_abort(sp_set_baudrate(port, baudrate));
  264.     check_abort(sp_set_bits(port, 8));
  265.     check_abort(sp_set_parity(port, SP_PARITY_NONE));
  266.     check_abort(sp_set_stopbits(port, 1));
  267.     check_abort(sp_set_flowcontrol(port, SP_FLOWCONTROL_NONE));
  268.     config_file_t conf;
  269.     strncpy(conf.port_name, port_name, SIZE_NAME_SERIAL_PORT);
  270.     conf.port_name[SIZE_NAME_SERIAL_PORT]='\0';
  271.     conf.baudrate=baudrate;
  272.     conf.node=node;
  273.     FILE * f=fopen(NAME_CONFFILE, "wb" );
  274.     if(f==NULL)
  275.     {
  276.         fprintf(stderr, "kp184: init: could not create internal config file %s\n", NAME_CONFFILE);
  277.         exit(ERR_FOPEN_CONF_FILE);
  278.     }
  279.     if(fwrite(&conf, sizeof(config_file_t), 1, f)!=1)
  280.     {
  281.         fprintf(stderr, "kp184: init: could not write to internal config file %s\n", NAME_CONFFILE);
  282.         exit(ERR_FWRITE_CONF_FILE);
  283.     }
  284.     fclose(f);
  285. }
  286. static void do_cleanup(void)
  287. {
  288.     if(remove(NAME_CONFFILE)<0)
  289.     {
  290.         fprintf(stderr, "kp184: cleanup: failed to remove internal config file %s\n", NAME_CONFFILE);
  291.         exit(ERR_REMOVE_CONF_FILE);
  292.     }
  293. }
  294. static void do_switch(int nb, char ** args)
  295. {
  296.     if(nb!=1)
  297.     {
  298.         fprintf(stderr, "kp184: switch: missing or too many argument(s)\n" );
  299.         exit(ERR_NEED_ARGUMENTS);
  300.     }
  301.     char * state=args[0];
  302.     uint32_t val;
  303.     if(!strcmp(state, "on" ))
  304.         val=1;
  305.     else if(!strcmp(state, "off" ))
  306.         val=0;
  307.     else
  308.     {
  309.         fprintf(stderr, "kp184: switch: invalid argument %s\n", state);
  310.         exit(ERR_INVALID_ARGUMENT);
  311.     }
  312.    
  313.     uint8_t cmd[13];
  314.     uint8_t expected_response[9];
  315.     prepare_single_reg_write(cmd, REG_LOAD_ON_OFF, val, expected_response);
  316.     send_data(cmd, 13);
  317.     uint8_t response[9];
  318.     receive_data(response, 9);
  319.     check_response(response, expected_response, 9);
  320. }
  321. //CAUTION: we might get rounding errors with double, we really should avoid floating point here...
  322. static void do_set_mode(int nb, char ** args)
  323. {
  324.     if(nb!=2)
  325.     {
  326.         fprintf(stderr, "kp184: mode: missing or too many argument(s)\n" );
  327.         exit(ERR_NEED_ARGUMENTS);
  328.     }
  329.     char mode=args[0][0];
  330.     uint32_t mode_bin;
  331.     uint32_t reg_value;
  332.     double value_double=atof(args[1]);
  333.     uint32_t value_u32;
  334.     switch(mode)
  335.     {
  336.         case 'v': mode_bin=MODE_CV; reg_value=REG_CV_SETTING; value_u32=(uint32_t)(value_double*1000); break;
  337.         case 'c': mode_bin=MODE_CC; reg_value=REG_CC_SETTING; value_u32=(uint32_t)(value_double*1000); break;
  338.         case 'r': mode_bin=MODE_CR; reg_value=REG_CR_SETTING; value_u32=(uint32_t)(value_double*10); break;
  339.         case 'p': mode_bin=MODE_CP; reg_value=REG_CW_SETTING; value_u32=(uint32_t)(value_double*100); break;
  340.         default:
  341.             fprintf(stderr, "kp184: mode: invalid mode '%c'\n", mode);
  342.             exit(ERR_INVALID_ARGUMENT);
  343.             break;
  344.     }
  345.     uint8_t cmd[13];
  346.     uint8_t expected_response[9];
  347.     prepare_single_reg_write(cmd, REG_LOAD_MODE, mode_bin, expected_response);
  348.     send_data(cmd, 13);
  349.     uint8_t response[9];
  350.     receive_data(response, 9);
  351.     check_response(response, expected_response, 9);
  352.     wait_ms(DELAY_MS_BETWEEN_COMMANDS);
  353.    
  354.     prepare_single_reg_write(cmd, reg_value, value_u32, expected_response);
  355.     send_data(cmd, 13);
  356.     receive_data(response, 9);
  357.     check_response(response, expected_response, 9);
  358. }
  359. static void do_read_mode_and_value(void)
  360. {
  361.     uint8_t cmd[8];
  362.     prepare_single_reg_read(cmd, REG_LOAD_MODE);
  363.     send_data(cmd, 8);
  364.     uint8_t response[9];
  365.     receive_data(response, 9);
  366.     uint8_t mode_bin=response[6];
  367.     if(mode_bin>3)
  368.     {
  369.         fprintf(stderr, "kp184: invalid mode\n" );
  370.         exit(ERR_INVALID_RESPONSE);
  371.     }
  372.     const char mode[4]={'V', 'C', 'R', 'P'};
  373.     printf("MODE: C%c - ", mode[mode_bin]);
  374.     wait_ms(DELAY_MS_BETWEEN_COMMANDS);
  375.     prepare_single_reg_read(cmd, REG_U_MEASURE);
  376.     send_data(cmd, 8);
  377.     receive_data(response, 9);
  378.     uint32_t raw_voltage=(((uint32_t)response[3])<<24)|(response[4]<<16)|(response[5]<<8)|response[6];
  379.     printf("REAL_VOLTAGE: %06.3fV - ", (float)raw_voltage/1000);
  380.     wait_ms(DELAY_MS_BETWEEN_COMMANDS);
  381.     prepare_single_reg_read(cmd, REG_I_MEASURE);
  382.     send_data(cmd, 8);
  383.     receive_data(response, 9);
  384.     uint32_t raw_current=(((uint32_t)response[3])<<24)|(response[4]<<16)|(response[5]<<8)|response[6];
  385.     printf("REAL_CURRENT: %06.3fA\n", (float)raw_current/1000);
  386. }
  387. int main(int argc, char ** argv)
  388. {
  389.     if(argc<2)
  390.     {
  391.         fprintf(stderr, "kp184: wrong usage: kp184 COMMAND [ARGUMENTS]\n" );
  392.         exit(ERR_NEED_ARGUMENTS);
  393.     }
  394.     atexit(&close_free_port);
  395.     char cmd=argv[1][0];
  396.     switch(cmd)
  397.     {
  398.         case 'v':
  399.             printf("kp184 version %s - Copyright (c) 2025 rat de combat\n", TOOL_VERSION);
  400.             break;
  401.    
  402.         case 'i':
  403.             do_init(argc-2, &argv[2]);
  404.             printf("OK\n" );
  405.             break;
  406.         case 'c':
  407.             do_cleanup();
  408.             printf("OK\n" );
  409.             break;
  410.        
  411.         case 's':
  412.             do_switch(argc-2, &argv[2]);
  413.             printf("OK\n" );
  414.             break;
  415.         case 'm':
  416.             do_set_mode(argc-2, &argv[2]);
  417.             printf("OK\n" );
  418.             break;
  419.         case 'r':
  420.             do_read_mode_and_value();
  421.             break;
  422.         default:
  423.             fprintf(stderr, "kp184: invalid command '%c'\n", cmd);
  424.             exit(ERR_INVALID_COMMAND);
  425.             break;
  426.     }
  427.    
  428.     return ERR_NO_ERROR;
  429. }


---------------
Ne laissez pas mourir vos sujets en cours de route!
n°471603
rat de com​bat
attention rongeur méchant!
Posté le 17-07-2025 à 21:23:46  profilanswer
 

froggycorp a écrit :

Sinon tu files la ligne pour le compilateur ?
Gcc toto tutu.c ? :)

Chose faite, mais pour Linux et mon logiciel uniquement; il faut aussi compiler libserialport... Et le site Sigrok ne charge plus depuis cet après-midi...
 
Je viens de poster le code, GPLv3+, en espérant que ça puisse servir à quelqu'un dans l'état ou comme base pour de futurs développements (merci de respecter la licence).
 
Oui c'est en anglais, forcément, hfr est accessible depuis le monde entier. Au pire utilisez un traducteur auto... :o  
 
Je suis preneurs de retours et notamment un test sous Windows.


---------------
Ne laissez pas mourir vos sujets en cours de route!
n°471609
TotalRecal​l
Modérateur
Posté le 17-07-2025 à 22:33:01  profilanswer
 

T'as pas un Github ou autre pour partager ça ?
Si tu veux (seulement si tu veux) je mets ça sur un repo du mien avec juste ça dessus, ça sera bcp plus facilement trouvable qu'au milieu des 80 pages d'un thread d'un forum français :d


---------------
Topic .Net - C# @ Prog
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  82  83  84  85  86  87

Aller à :
Ajouter une réponse
 

Sujets relatifs
Conseil concernant la domotiqueconseil pour maison full connectéé
Plus de sujets relatifs à : [CONSEIL] le Topic du Conseil - Fer à souder/station/multi/pince....


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)