Bonjour,
Je fais appel à vos compétences pour m'aider à déterminer le circuit intégré abimé. Sur lequel il n'y a aucune inscription.
Je n'ai pas beaucoup d'expérience pour en déduire le rôle du circuit intégré abimé.
Le 1er circuit intégré a pour référence L9110S (AU1650A), C'est un Driver motor.
Afin de comprendre les branchements de cette tondeuse de mèches à cheveux, je joins des photos.
Est-ce que le circuit cramé sert à réguler la charge de la batterie ou pour le moteur?
Je sais que les boutons poussoirs servent à modifier le sens de rotation du moteur.
Je vous précise qu'il n'y a aucune indication sur le moteur (il a 2 bornes, + et -).
A défaut de déterminer un équivalent du circuit intégré abimé. Pourriez-vous me proposer une alternative pour réparer l'appareil.
Les photos sont lourdes pas acceptées, je passe par un site de transfert de gros fichiers.Photos de la bête (https://www.cjoint.com/c/OBxlfzaCJGh)
En vous remerciant par avance.
Bonjour. C'est un simple moteur DC à balais.
Dans un premier temps, il faut vérifier si le L9110 est bien alimenté en contrôlant la tension entre la masse et les pins 2 & 3 du L9110. Si OK, ensuite appliquer un petit fil de masse alternativement sur la patte 6 et 7 pour voir si le moteur tourne dans un sens puis l'autre. Le schéma du L9110 est joint.
Bonjour,
Je te remercie de t'intéresser à mon problème. Merci aussi pour tes conseils.
En fait quand tout est branché, le L9110S est brûlant. La seconde puce sans référence a claqué.
Je sais que le L9110S, sert à contrôler le moteur.
Je ne sais pas à quoi sert la seconde puce.
La batterie se charge via un chargeur comme celui des téléphones.
Donc normalement, c'est le chargeur qui gère le niveau de charge.
Je suis vraiment embêté. Est-ce un microcontrôleur avec un programme?
ça m'étonnerai pour une simple tondeuse pour retirer les fourches de cheveux.
Sinon, aurais-tu une idée pour remplacer par autre chose ?
Merci beaucoup.
Pour moi, le circuit grillé est un TTL qui sert à piloter les leds. Si le L9110 est brûlant, essaye de débrancher le moteur. Il est peut-être en court-circuit. Rebranche l'alimentation et regarde s'il chauffe encore.
Tu peux aussi dessouder le moteur et le tester sur une alimentation de labo réglée sur 5V/0,5A
Bonjour,
Merci. Je n'ai pas d'alimentation de labo. Cependant, j'ai déjà fait le test avec sa pile lithium 3.7/4.2 V.
Le moteur tourne quand il est bien polarisé mais grogne en polarisation inverser (càd, le + batterie sur - moteur).
il y a en effet 2 minuscules leds à côté de boutons poussoirs. Une idée sur le TTL cramé ?
Le L9110s chauffe beaucoup, surement à cause du ttl cramé.
bonne journée
Es-tu équipé pour dessouder le circuit grillé ?
Si oui, fais-le puis ressoude le moteur et fais l'essai que je t'avais dit:
Appliquer un petit fil de masse alternativement sur la patte 6 et 7 pour voir si le moteur tourne dans un sens puis l'autre.
Pinout du L9110
Je te remercie mais ce n'est pas cette puce qui est en cause.
C'est la seconde puce sans référence qui a claqué (claquage visible).
Après observation et analyse, je pense que la seconde puce joue le rôle d'inverser le sens de rotation du moteur via les boutons poussoirs.
Et, j'avoue ne pas avoir une grande expérience pour en déduire une puce jouant le même rôle.
En tout cas merci beaucoup.
Oui mais en retirant la puce grillée, tu sauras si le L9110 chauffe toujours. Il faut procéder méthodiquement pour analyser la panne.
Merci pour le conseil. J'attends la livraison du fer à air chaud. Je ne suis pas parvenu à retirer la puce grillée avec un fer à souder à panne classique.
Encore merci pour ton implication.
De rien. Tiens-moi au courant
Bonjour,
Je reviens vers toi. Alors puce grillée retirer.
Aucun composant le chauffe. J'ai refait le test du moteur, alimenté à partir de la batterie de l'appareil, soit sous 3.7V. Il tourne dans les 2 sens en inversant les polarités.
En rebranchant la batterie, la carte électronique et le moteur. Aucun signe de fonctionnement même en appuyant sur les boutons poussoirs.
C'est normal, étant donné que j'ai retiré la puce grillée.
cependant, ça ne m'avance pas beaucoup car je n'ai aucune idée sur la puce à utiliser pour remplacer la grillée.
Apparemment, elle sert à piloter les sens de rotation du moteur.
En espérant que tu aies une idée pour une puce de remplacement.
Merci, pour ton aide.
Bonne fin de journée.
On avance. Peux-tu faire une photo du circuit imprimé avec le circuit grillé enlevé, que je puisse voir où vont les pistes ?
Pour gagner du temps, fais aussi un relevé comme ceci sur le circuit grillé :
Quelles sont les pattes qui vont au + et au - de l'alimentation ?
Qu'elles sont les pattes qui vont aux pattes 6 et 7 du L9110 ?
Et où vont les 4 pattes restantes ?
C'est ce qu'on appelle une rétro ingénierie.
Citation de: philchamp51 le Février 26, 2025, 10:28:44 PMOn avance. Peux-tu faire une photo du circuit imprimé avec le circuit grillé enlevé, que je puisse voir où vont les pistes ?
Bonjour, je commence par joindre une photo sans la puce grillée. Pour la rétro ingénierie, bien que ça sera un peu difficile pour moi. Je le ferai dans la journée.
carte sans puce grillée (https://www.cjoint.com/c/OBBiDHblr2h)
stp, comment insérer une photo comme tu l'as fait plus haut.
Mince, la photo est floue. Peux-tu la refaire ?
Pour insérer une photo, tu cliques sur « Cliquez ou déplacez les fichiers ici pour les joindre », juste sous le texte que tu tapes dans Réponse et non dans Réponse rapide.
Mais attention, la photo ne doit pas dépasser 256K, ce qui oblige à la retravailler pour réduire son poids.
Bonsoir, j'ai fait ce qui a été demandé. Pour réduction poids photo, impossible d'avoir moins de 256ko. Donc jointe via site de transfert de fichier.
Photo sans puce grillée (https://www.cjoint.com/c/OBBuyAOOWKh)
Rétro Ingénierie (https://www.cjoint.com/c/OBBuDt4dGRh)
J'espère que ça sera bon.
Merci. Bonne soirée.
Super ! Je regarde ça et je reviens vers toi.
Désolé, il y avait une petite erreur K14 non reliée aux condensateurs. il manquait les mesures que je n'ai pas pu faire. Car la batterie de 3.7v se décharge vite.
Bonjour,
Si nous étions concepteur de ce circuit que mettrions nous à la place de ce composant? D'un côté nous avons un pont en H qui permet l'inversion du sens de rotation du moteur et de l'autre deux poussoirs pour choisir le sens de rotation. Nous pourrions ne rien mettre sauf qu'il faut interdire la commande simultanée des deux sens et c'est peut-être la fonction du composant mystère. Un microcontrôleur pourrait remplir cette fonction.
Personnellement j'aurais privilégié un verrouillage avec des poussoirs RT, sans doute la solution "silicium" est moins chère.
Bonjour,
Merci pour votre réponse. En effet, j'ai testé le moteur en Dc, il tourne dans les 2 sens en inversant les polarités.
Merci d'excuser mon inculture, C'est quoi un bouton Rt? J'ai fait un recherche sur google, à la saisie on me propose "bouton poussoir rts". Il me semble que c'est plutôt pour de l'électrotechnique vu le gabarit.
à moins que ça existe en micro Switch?
Encore merci.
Bonne journée.
C'est moi qui n'ai pas été assez précis. Dans mon vocabulaire RT signifie Repos Travail (personnellement je suis dans le premier mode depuis quelques années!).L'idée est d'utiliser le contact repos d'un bouton pour autoriser le contact travail de l'autre.
Ok,c'est plus clair. Le problème est qu'il n'y a pas beaucoup d'espace pour faire des modifications.
J'ai compris le principe du circuit grillé. Le problème est que je ne trouve pas sa référence. En attendant, tu peux faire fonctionner ta tondeuse en reliant les pattes 2 avec 7 et les pattes 3 avec 6 sur le circuit imprimé. Cela devrait fonctionner sans les leds mais pour dépanner dans un premier temps.
Le temps de continuer à chercher ce circuit qui ressemble à 2 bascules RS en série où on utilise les 4 sorties (2 x 2 complémentaires) comme un master slave flip-flop sans signal d'horloge.
Bien sûr, ne pas appuyer sur les 2 boutons en même temps...
Cela ferait un peu un circuit comme ça (dans mon esprit)
Merci. Aurais-tu une référence de circuit intégré?
Non justement, sinon je te l'aurais donné. As-tu essayé la manip provisoire que je t'ai donné ?
Citation de: philchamp51 le Février 28, 2025, 02:30:45 PMJ'ai compris le principe du circuit grillé. Le problème est que je ne trouve pas sa référence. En attendant, tu peux faire fonctionner ta tondeuse en reliant les pattes 2 avec 7 et les pattes 3 avec 6 sur le circuit imprimé. Cela devrait fonctionner sans les leds mais pour dépanner dans un premier temps.
Le temps de continuer à chercher ce circuit qui ressemble à 2 bascules RS en série où on utilise les 4 sorties (2 x 2 complémentaires) comme un master slave flip-flop sans signal d'horloge.
Bonjour, Si j'ai bien ce que tu m'as demandé de faire: relier les pattes du L9110S, la 2 à 7 et la 3 à la 6.
Pour info, les pattes 2 et 3 sont reliées entre-elles via le circuit imprimé.
Bête et discipliné, j'ai fait exactement ce que tu décris.
Hélas, le moteur ne tourne pas en appuyant sur un seul bouton. J'ai aussi fait le test avec le 2ème bouton, le moteur ne tourne pas non plus.
En direct le moteur tourne. Apparemment, même le L9110S est hors service.
Merci beaucoup. Bon week-end.
Non, c'est sur l'emplacement vide du circuit grillé qu'il faut relier 2 avec 7 et 3 avec 6, pas sur le L9110
Citation de: philchamp51 le Mars 01, 2025, 11:30:20 AMNon, c'est sur l'emplacement vide du circuit grillé qu'il faut relier 2 avec 7 et 3 avec 6, pas sur le L9110
Ok, merci. le moteur tourne sans aucune action sur les boutons. Comme si ces derniers ont été shuntés.
Désolé, j'ai oublié un poussoir entre le moteur et un fil du connecteur du moteur. ce poussoir est actionné par le bras pour pincer la mèche de cheveux.
OK. J'ai regardé la table de vérité du L9110 et les entrées ne doivent pas être en l'air donc voici la modif à faire. Relier les pattes 6 à 3 et 2 à 7 sur le circuit imprimé du circuit grillé et ajouter 2 résistances de 10KOhms sur les pattes 2 & 3 et leur point commun sur la patte 1 (voir schéma)
Bonjour, Je te remercie beaucoup.
J'ajouterai les 2 résistances dés que j'irai mieux.
Une lombalgie m'a cloué au lit.
Je reviendrai aux nouvelles.
Bonne journée.
Bon courage. Moi c'est une sténose lombaire qui me fait dérouiller...
Une sténose lombaire, j'espère que tu ne souffres pas trop.
Depuis mon lit, je fais des recherches de circuit flip flop.
j'ai des 14 broches, ne répondant pas à mon circuit (8 broches).
Je ne suis pas très versé en électronique. Mais j'ai un formation en génie électrique.
Je ne sais analyser le fonctionnement d'un circuit comme tu l'as fait.
Je te mets ce lien d'un vidéo, le NE555 contient une bascule flip-flop (si j'ai bien compris car explication en langue Anglaise qui n'est pas mon fort). Pourrait-on l'adapter à mon circuit?
Démo Utilisation NE555 (https://www.youtube.com/watch?v=3lEN6hEGUmE)
Un autre site (http://www.paturage.be/electro/inforauto/portes/bascule.html)
Merci beaucoup.
Oh oui, ça fait mal. J'attends l'IRM puis l'opération...
Enfin, bref. Le NE555, circuit légendaire ne peut servir à ton appareil malheureusement. Je cherche mais je ne trouve pas ce foutu circuit intégré qui etait en place et pas de schéma électronique sur internet. C'est la galère. Je continue malgré tout.
J'ai trouvé une bonne piste ! En cherchant sur internet « hair clipper schematic », quelqu'un a dessiné un schéma électronique d'une tondeuse. Ce n'est pas exactement ton modèle mais le principe est là.
Le circuit grillé serait un HT48R01C. C'est un micro contrôleur 8 pins. Les pins correspondent à ton circuit imprimé au niveau de l'alimentation et des entrées/sorties.
Cela expliquerait qu'on puisse avoir 2 entrées pour les boutons poussoirs et 4 sorties. 2 vers le L9110 et 2 vers les leds. Avec un micro contrôleur, on peut créer des bascules comme on veut.
Le problème est qu'il faut le programmer avec un code spécifique. Il faut donc connaître le langage de programmation du micro contrôleur et avoir le programmateur adéquat...
Ceci dit, si le code est en C++, il ne sera pas dur à écrire mais il faut quand même acheter ou bricoler un programmateur.
Bonjour,
Le 12F629 de Microchip a un brochage équivalent.
https://ww1.microchip.com/downloads/en/devicedoc/41190c.pdf
Oui, l'ATtiny202 aussi. Il y en a plein mais j'ai pris l'exemple après des tas de recherches, sur une tondeuse existante.
Messieurs bonjour,
Je vous remercie pour le temps passé pour me venir en aide.
@philchamp51: Merci pour ta persévérance. Il se trouve que j'avais acheté un programmateur Tl688ii. Resté à ce jour dans son emballage. Je n'ai jamais appris à m'en servir et encore moins à écrire un programme en C++.
Le seul langage que je maîtrise est le VBA de la suite de Microsoft.
Cependant, cette tondeuse a été très peu utilisée. Je doute que la nouvelle puce tiendra le coup. Je peux toujours tenté le coup.
Apparemment, ce microcontrôleur ne sert qu'à maintenir une polarité pour faire tourner le moteur dans un sens ou dans l'autre.
D'ailleurs je trouve que les leds sont là en gadget. L'essentiel est la rotation du moteur dans le sens choisi.
Je me demande si un Inverseur ne ferait pas l'affaire.
Je monterai les résistances de 10k dès que possible et reviendrai aux nouvelles.
Encore merci à vous tous.
Bonjour,
Si ça peut servir, l'inversion de sens dans les machines à laver se fait souvent selon ce principe :
Bonjour Papyblue,
Je te remercie. J'attends que ma fille m'autorise à faire la découpe.
En effet, ce principe mécanique fera l'affaire.
Merci beaucoup pour le partage.
Bonne journée.
Messieurs Bonsoir,
Finalement, il n'y a pas beaucoup de place pour loger l'inverseur.
Donc on revient sur cette fameuse puce programmable.
Je suis incapable de faire un programme en C++.
J'attends un retour concernant le programme de cette puce.
Si un membre sait le faire, je commande la puce.
Avec mes remerciements anticipés.
Il fait quoi le programme?
Je sais programmer des PIC mais en Basic.
Je suis allergique au C et le Basic fait ce que je lui demande. :laugh:
C'est du C++ sûrement.
Cathodic, as-tu essayé avec les 2 résistances comme indiqué sur mon schéma ?
Bonsoir,
Désolé, non pas encore. Je suis cloué au lit.
Je ferai un gros effort demain sans faute.
Prends soin de toi
J'ai vérifié en attendant et seul l'ATtiny202 peut se programmer avec Arduino IDE en C++. Les autres micro contrôleurs cités ne se programment qu'avec un outil propriétaire.
Je ne pratique que le C++ mais je n'ai pas l'adaptateur pour l'ATtiny202, sinon j'aurais pu faire le programme pas très compliqué. 2 boutons poussoirs commandent 2 x 2 sorties.
Mais essaye déjà la manip avec les résistances.
Bonjour,
Tant bien que mal, je suis parvenu à m'extraire de mon lit.
Dur dur, mais ça valait la chandelle.
J'ai branché les 2 résistances de 10 Ko, comme préconisé.
Une seule led s'allume et un seul bouton est fonctionnel.
Je ne sais pas dans quel sens il tourne. Mais il tourne à l'appui sur le bouton et s'arrête dès qu'on le relâche.
Encore merci et excellente journée.
Citation de: Gérard_68 le Mars 04, 2025, 07:08:24 PMIl fait quoi le programme?
Je sais programmer des PIC mais en Basic.
Je suis allergique au C et le Basic fait ce que je lui demande. :laugh:
Bonjour, Je n'y connais absolument rien au pic. Ni autres puces programmables. le seul langage que je maîtrise est le VBA (visual basic pour application).
Il me semble que le programme s'occupe d'inverser le sens de rotation du moteur via 2 boutons poussoirs.
ou plutôt commande le L9110S pour changer la commande du sens de rotation. Pour info, la moteur ne tourne que si la personne appuie sur un bras qui actionne un autre poussoir à levier.
Merci. Bonne journée.
Citation de: philchamp51 le Mars 05, 2025, 12:23:48 AMJ'ai vérifié en attendant et seul l'ATtiny202 peut se programmer avec Arduino IDE en C++. Les autres micro contrôleurs cités ne se programment qu'avec un outil propriétaire.
Je ne pratique que le C++ mais je n'ai pas l'adaptateur pour l'ATtiny202, sinon j'aurais pu faire le programme pas très compliqué. 2 boutons poussoirs commandent 2 x 2 sorties.
Mais essaye déjà la manip avec les résistances.
J'ai trouvé chez-moi 2 ATtiny85. Est-ce qu'on pourrait les utiliser?
J'ai déniché ce programme ci-joint. Qu'en penses-tu?
edit: ATtiny85 ne sont pas des composants de surface. Donc on les oubli.
Dans le programme, il est question de 2 boutons et d'un levier, aussi un bouton.
Je ne sais pas si ça fait ce que tu souhaites.
Cathodic, bon rétablissement, prend soin de toi.
L'ATTiny85 n'est pas alimenté sur les pins 1 (Vcc) et 8 (GND) mais sur les pins 8 (Vcc) et 4 (GND). Il n'est donc pas compatible.
Il en existe en CMS mais de toute facon, le brochage ne correspond pas.
Le 12F629 :
1 VCC, 8 GND
C'est ce qu'il faut?
Peut-être mais je ne programme pas les PIC. J'ai bien assez avec les ATmega328, les ESP8266, les ESP32 et les STM32 pour tous mes projets.
Je voudrais quand même savoir si la manip avec les 2 résistances fonctionne.
Citation de: cathodic le Mars 05, 2025, 09:48:55 AMBonjour,
Tant bien que mal, je suis parvenu à m'extraire de mon lit.
Dur dur, mais ça valait la chandelle.
J'ai branché les 2 résistances de 10 Ko, comme préconisé.
Une seule led s'allume et un seul bouton est fonctionnel.
Je ne sais pas dans quel sens il tourne. Mais il tourne à l'appui sur le bouton et s'arrête dès qu'on le relâche.
Encore merci et excellente journée.
Bonjour :smiley: , J'avais donné la réponse dans ce post (#48)
Merci beaucoup
Citation de: Gérard_68 le Mars 05, 2025, 08:05:27 PMDans le programme, il est question de 2 boutons et d'un levier, aussi un bouton.
Je ne sais pas si ça fait ce que tu souhaites.
Cathodic, bon rétablissement, prend soin de toi.
Bonjour,
Merci pour ton analyse.
En fait, il y a 2 poussoirs pour choisir le sens de rotation et un autre pour alimenter le moteur.
Or, d'après ce que je lis, il y en a 4 alors qu'il y en a que 3. Donc le programme, je me sera pas utile.
Bonne journée.
Citation de: philchamp51 le Mars 05, 2025, 10:24:45 PMJe voudrais quand même savoir si la manip avec les 2 résistances fonctionne.
La réponse est au post#48. Oui ça fonctionne.
Bonne journée.
Citation de: cathodic le Mars 06, 2025, 09:27:26 AMCitation de: philchamp51 le Mars 05, 2025, 10:24:45 PMJe voudrais quand même savoir si la manip avec les 2 résistances fonctionne.
La réponse est au post#48. Oui ça fonctionne.
Bonne journée.
Ooops, désolé. Je ne me rappelais plus ta réponse. Je gère plusieurs choses en même temps 🤪
Phil, un homme est mono-tâche... :grin:
Citation de: Gérard_68 le Mars 06, 2025, 10:49:56 AMPhil, un homme est mono-tâche... :grin:
:grin: :grin: :grin:
Citation de: cathodic le Mars 06, 2025, 09:23:29 AMCitation de: Gérard_68 le Mars 05, 2025, 08:05:27 PMDans le programme, il est question de 2 boutons et d'un levier, aussi un bouton.
Je ne sais pas si ça fait ce que tu souhaites.
Cathodic, bon rétablissement, prend soin de toi.
Bonjour,
Merci pour ton analyse.
En fait, il y a 2 poussoirs pour choisir le sens de rotation et un autre pour alimenter le moteur.
Or, d'après ce que je lis, il y en a 4 alors qu'il y en a que 3. Donc le programme, je me sera pas utile.
Bonne journée.
Je viens de relire le programme, il n'y a que 3 boutons.
Effectivement, il n'y a que 3 boutons. Il suffit d'enlever tout ce qui se réfère au levier et ajouter 2 sorties pour les leds.
Citation de: philchamp51 le Mars 06, 2025, 08:04:40 PMEffectivement, il n'y a que 3 boutons. Il suffit d'enlever tout ce qui se réfère au levier et ajouter 2 sorties pour les leds.
Bonjour Phil, Je n'attends que ton retour pour commander le microcontrôleur adéquat.
Quant au programme, je l'ai trouvé sur le net. Pourrais-tu le corriger?
Merci. Bonne journée.
Citation de: cathodic le Mars 07, 2025, 08:51:54 AMCitation de: philchamp51 le Mars 06, 2025, 08:04:40 PMEffectivement, il n'y a que 3 boutons. Il suffit d'enlever tout ce qui se réfère au levier et ajouter 2 sorties pour les leds.
Bonjour Phil, Je n'attends que ton retour pour commander le microcontrôleur adéquat.
Quant au programme, je l'ai trouvé sur le net. Pourrais-tu le corriger?
Merci. Bonne journée.
Ok, je regarde ça. Je connais bien le C++ mais je devrais pouvoir me débrouiller. Les instructions sont différentes mais la logique est presque la même.
Bon. Pour être franc, ne connaissant pas trop la programmation PIC 12F629, je me suis fait aider. Le programme que tu as envoyé n'était apparemment pas compatible avec ce micro-contrôleur.
Il y a une pause de 2 secondes pour l'appui entre deux boutons, afin de protéger le moteur et éviter un appel de courant trop grand sur le L9110.
Les pullup 10k sont intégrés dans le micro-contrôleur. Tu peux laisser tes résistances de 2,2 Kohms sur ton circuit. Si les leds n'éclairent pas assez, tu mets des 220 ohms.
Ne pouvant vérifier le code, si tu es équipé pour programmer un 12F629, lance toi !
Sinon, il faut refaire un circuit imprimé ou modifier celui existant (en coupant et en redirigeant des pistes), pour utiliser un ATTINY85-20SU avec le LS9110 et là on pourrait programmer le ATTINY85-20SU avec Arduino IDE.
Bonsoir Phil,
je te remercie pour tout ce que tu as fait.
Je m'attendais à ce que tu me proposes un programme pour l'ATTINY202.
Je t'avais que j'ai un programmateur TL866II plus que je n'ai jamais utilisé.
Je n'y connais rien en programmation, ni en flashage.
N'ayant aussi pas de certitude d'une référence de microcontrôleur et d'un programme.
Je ne peux rien tenter. Car qui ne tente rien, n'a rien.
Tu as fait tout ce que tu pouvais.
Toute ma gratitude.
Bon week-end.
C'est bien un microcontrôleur SMD qui était monté?
Citation de: cathodic le Mars 07, 2025, 08:15:36 PMBonsoir Phil,
je te remercie pour tout ce que tu as fait.
Je m'attendais à ce que tu me proposes un programme pour l'ATTINY202.
Je t'avais que j'ai un programmateur TL866II plus que je n'ai jamais utilisé.
Je n'y connais rien en programmation, ni en flashage.
N'ayant aussi pas de certitude d'une référence de microcontrôleur et d'un programme.
Je ne peux rien tenter. Car qui ne tente rien, n'a rien.
Tu as fait tout ce que tu pouvais.
Toute ma gratitude.
Bon week-end.
De rien. J'ai essayé de faire au mieux.
Bonne continuation
Phil.
Citation de: Gérard_68 le Mars 07, 2025, 08:35:20 PMC'est bien un microcontrôleur SMD qui était monté?
Oui, un SOIC 8
Citation de: Gérard_68 le Mars 07, 2025, 08:35:20 PMC'est bien un microcontrôleur SMD qui était monté?
Bonjour, désolé pour mon retard. C'est un composant de surface.
Je sais programmer des PIC mais pas SMD qui n'est pas sur son application avec la connection qui va bien vers le programmateur.
N'étant pas un connaisseur de ces différentes puces.
J'avoue que je n'ai pas compris grand chose à ce que tu m'as dit.
Je te remercie pour ton retour.
Bonne journée.
Le programmateur doit être relié à 3 broches du PIC : RESET, ICSPDAT (transmission des données) et ICSPCLK (horloge pour la programmation, fournie par le programmateur)
Le problème avec les circuits SMD, c'est de faire ces liaisons autrement que quand le circuit est monté sur la carte avec un connecteur pour le programmateur.
J'espère avoir été plus clair.
C'est à dire qu'il faut acheter un programmateur PICKIT 3 + un adaptateur SOIC8 vers DIP8, apprendre la programmation des PIC et là, ça commence à faire beaucoup pour juste un seul dépannage...
Cathodic, elle vaut cher cette tondeuse ? Est-ce que cela vaut le coup d'investir tout ça pour juste une fois ou bien en racheter une neuve ne serait pas mieux ?
Ou tout simplement, utiliser la méthode avec les deux résistances que je t'ai donné.
J'ai un PICKIT3 mais pas d'adaptateur SOIC/DIP
Citation de: philchamp51 le Mars 11, 2025, 05:38:49 AMCathodic, elle vaut cher cette tondeuse ? Est-ce que cela vaut le coup d'investir tout ça pour juste une fois ou bien en racheter une neuve ne serait pas mieux ?
Bonjour,
En fait, je n'en ai aucune idée de son prix d'achat. Mais elle ne devrait pas dépasser 50€ grand max.
Je n'en fait pas mon cheval de bataille.
Mais je trouve injuste ces pratiques de merde d'effacer les références, pour qu'on ne puisse pas changer le composant défaillant.
Je pense que les petits malins ont prémédité ce maillon faible et ont décidé que la puce n'ait pas de référence.
J'ai commandé L'Attiny85. Je vais tenter le coup avec un arduino nano. Je précise que c'est une première pour moi.
Un micro-inverseur aurait fait l'affaire mais ils sont beaucoup plus cher que les puces.
Perdu pour perdu, je tente le coup. Cela me permettra de découvrir des choses intéressantes.
Pour le programme, je testerai celui que j'ai trouvé sur le Net.
Si ça fonctionne, je reviendrai pour le partage avec la communauté.
Merci pour vous retours
Bonjour,
Si c'est un microcontrôleur, qu'il y ait la référence ou non ne change pas grand chose, car le fabricant ne divulgue pas son code. C'est le problème des équipements électroniques modernes qui ont du code embarqué, sur les composants programmable ( microcontrôleur, fpga ou autres).
Dans ce cas particulier j'ai pas bien compris ou vous avez trouvé le code et pour quel microcontrôleur ?
Jean-Louis
Citation de: loulou31 le Mars 11, 2025, 11:26:07 AMDans ce cas particulier j'ai pas bien compris ou vous avez trouvé le code et pour quel microcontrôleur ?
Bonjour, j'ai consulté beaucoup de pages web. Je ne me souviens pas où exactement j'ai trouvé le bout de code.
Quant au microcontrôleur, je l'ai déjà mentionné (ATtiny85), suggéré par Phil.
Citation de: loulou31 le Mars 11, 2025, 11:26:07 AMSi c'est un microcontrôleur, qu'il y ait la référence ou non ne change pas grand chose, car le fabricant ne divulgue pas son code.
Je suis peut-être naïf. Je trouve ces pratiques abusives. Surtout que les clients ne sont informés au préalable que le produit acheté n'est pas en partie réparable.
Et dire que l'UE a lancé un grand projet de reporting de durabilité. Je n'ai peut-être rien compris. :embarrassed:
Merci.
Bonjour,
La réparabilité vue d'un bidouilleur et vue d'un industriel n'est pas la même.
Il y a d'abord le prix qu'un client accepte de payer par rapport au prix du produit neuf.
Le taux horaire du technicien prend en compte son salaire, les charges, le cout de la structure (bâtiment, électricité, etc) A cela il faut ajouter des couts administratifs (gestion de dossiers) et commerciaux(accueil)
Bref, il y a un cout minimal de 50 euros ce qui fait qu'un produit de 100 euros devient "économiquement" irréparable.
Je suis peut-être en deçà de la réalité car récemment on m'a remboursé une centrale vapeur sous garantie de plus de 100 Euros en me disant que ce produit n'était pas réparable.
Pour nous les bidouilleurs, c'est différent nous sommes presque contents d'avoir quelque chose à réparer, souvent curieux de voir comment c'est fait et très souvent satisfaits d'avoir trouvé la panne et réparé parfois pour seulement quelques centimes.
Je suis tout à fait d'accord avec vous Papyblue, quelle satisfaction d'avoir réparé un appareil.
J'ai sauvé nombre de TV, d'amplis, etc. C'est presque 'jouissif' de trouver la panne, de changer les composants HS et quand la remise sous tension se fait et que cela fonctionne, c'est un vrai plaisir !
Mais quand il n'y a rien à réparer, je suis dans mon labo et j'invente des montages pour être dans ce qui est ma passion, l'électronique.
Pour en revenir à cette tondeuse, je ferais un nouveau circuit imprimé avec de l'électronique à 'ma sauce', rien que me passer le temps et me venger du constructeur :wink:
Mais entre-nous quel gâchis!
Tout devient comme du kleenex.
Quand je dis tout, l'humain aussi.
Bonjour,
Oui c'est regrettable que beaucoup d'appareils soient jetables. Ca l'est pour des raisons économiques....
Je fais partie d'un café bricol et la tres grande majorité de tout ce que l'on depanne ne l'aurait pas été par un professionnel.
Après on pourrait faire des appareils reparables, mais d'un autre côté le prix des équipements a énormément baissé. En 1970 un TV couleur coutait 5000 Francs soit environ 6 mois de salaire au smic.
Jean-Louis
Bonsoir,
Les "repair café" sont une excellente idée pas assez nombreux à mon avis et les gens n'en pas encore ce reflexe.
certains n'ont même pas le reflexe du réparateur: un jour ma belle fille me dit qu'elle a commandé une machine à laver parce que la sienne est en panne.
Je lui demande : elle n'est pas réparable ? elle me répond je ne sais pas il y a un code d'erreur.
je lui dit alors apporte la moi je vais regarder. Je tape dans google le défaut et en quelques secondes jobtiens la cause et la solution.(souvent les équipements ont des faiblesses réccurentes)
je remplace la résistance du capteur à effet hall pour 0 euros et c'est reparti. Ma belle fille a annuler sa commande et économisé 600 Euros.
Citation de: papyblue le Mars 11, 2025, 06:50:23 PMBonsoir,
Les "repair café" sont une excellente idée pas assez nombreux à mon avis et les gens n'en pas encore ce reflexe.
certains n'ont même pas le reflexe du réparateur: un jour ma belle fille me dit qu'elle a commandé une machine à laver parce que la sienne est en panne.
Je lui demande : elle n'est pas réparable ? elle me répond je ne sais pas il y a un code d'erreur.
je lui dit alors apporte la moi je vais regarder. Je tape dans google le défaut et en quelques secondes jobtiens la cause et la solution.(souvent les équipements ont des faiblesses réccurentes)
je remplace la résistance du capteur à effet hall pour 0 euros et c'est reparti. Ma belle fille a annuler sa commande et économisé 600 Euros.
Bien vu et bon réflexe technique
Bonsoir,
Je reviens à la charge :smiley: , j'ai reçu l'Attiny85.
J'ai suivi un tuto pour configurer L'arduino nano en programmateur.
Ne connaissant pratiquement rien au C++. Je sollicite votre aide pour en écrire un.
Je vous rappelle que l'appareil est doté de 2 poussoirs pour le choix du sens de rotation et d'un autre poussoir levier pour la mise en service du moteur. Je suppose qu'il faille inhiber la pression simultanée des 2 poussoirs du choix du sens de rotation.
Si besoin de plus d'information, n'hésitez pas.
Merci.
Citation de: cathodic le Mars 21, 2025, 05:18:58 PMBonsoir,
Je reviens à la charge :smiley: , j'ai reçu l'Attiny85.
J'ai suivi un tuto pour configurer L'arduino nano en programmateur.
Ne connaissant pratiquement rien au C++. Je sollicite votre aide pour en écrire un.
Je vous rappelle que l'appareil est doté de 2 poussoirs pour le choix du sens de rotation et d'un autre poussoir levier pour la mise en service du moteur. Je suppose qu'il faille inhiber la pression simultanée des 2 poussoirs du choix du sens de rotation.
Si besoin de plus d'information, n'hésitez pas.
Merci.
Bonjour.
Je te fais ça et je reviens vers toi.
Par contre, l'ATTiny85 n'est pas compatible broche à broche avec le circuit grillé.
Le circuit grillé a son VCC en pin1 et son GND en pin8, alors que l'ATTiny85 a son VCC en pin8 et son GND en pin4.
Il faudra que tu adaptes l'ATTiny85 sur le circuit imprimé avec des tous petits fils par exemple.
Le câblage se fera ainsi:
Circuit grillé ATTiny85
Pin1 Pin8
Pin2 Pin2
Pin3 Pin3
Pin4 Pin1
Pin5 Pin5
Pin6 Pin6
Pin7 Pin7
Pin8 Pin4
Fais un essai et s'il y a un problème, dis-le moi (si ça fonctionne, dis-le moi aussi)
Philippe.
Le levier n'entre pas en compte dans le programme car c'est un simple interrupteur sur une broche du moteur.
C'est une sécurité en fait. Le moteur ne peut tourner que si on appuie simultanément sur un bouton poussoir et sur le levier.
Citation de: philchamp51 le Mars 21, 2025, 06:30:08 PMPar contre, l'ATTiny85 n'est pas compatible broche à broche avec le circuit grillé.
Le circuit grillé a son VCC en pin1 et son GND en pin8, alors que l'ATTiny85 a son VCC en pin8 et son GND en pin4.
Il faudra que tu adaptes l'ATTiny85 sur le circuit imprimé avec des tous petits fils par exemple.
Le câblage se fera ainsi:
Circuit grillé ATTiny85
Pin1 Pin8
Pin2 Pin2
Pin3 Pin3
Pin4 Pin1
Pin5 Pin5
Pin6 Pin6
Pin7 Pin7
Pin8 Pin4
Fais un essai et s'il y a un problème, dis-le moi (si ça fonctionne, dis-le moi aussi)
Philippe.
Bonsoir Phil, Merci beaucoup. Oui les numéros des pins ne sont pas identiques. Je ferai un test et reviendrai aux nouvelles.
Bonne soirée.
Bonjour Philippe,
Je suis parvenu à téléverser ton programme sur L'ATtiny85.
Pour l'essai j'ai branché le moteur en direct. J'ai retiré le poussoir de mise en service du moteur.
Dès que je branche le connecteur d'alimentation, une diode s'allume.
La pression sur un poussoir fait tourner le moteur. La pression sur le 2éme bouton le moteur s'arrête.
Ce fonctionne est-il dû au fait que le poussoir de mise en service du moteur a été Shunté?
Je ne connais pas C++ mais VBA. Dans ton code, j'ai bien compris au début tu déclares les variables.
Je pense que tu as fais une erreur en écrivant les lignes ci-dessous:
#define Motor1 4 // (Pin 6 du L9110 sur PB4 soit Pin 3 de l'ATTiny85) *ici c'est la Pin 7 de l'ATTiny85
#define Motor2 3 // (Pin 7 du L9110 sur PB3 soit Pin 2 de l'ATTiny85) *ici c'est la Pin 8 de l'ATTiny85
Le Vcc se trouve à droite donc pour qu'il soit sur la Pin 8, on doit le retourner par rapport au microcontrôleur original.
Normalement, les diodes ne s'allument à la mise sous tension mais à la pression sur leur bouton.
Sauf erreur de ma part.
pour téléverser le programme j'ai branché:
La Pin 8 de l'ATTiny85 à la Pin +5v de l'arduino
La Pin 7 de l'ATTiny85 à la Pin D13 de l'arduino
La Pin 6 de l'ATTiny85 à la Pin D12 de l'arduino
La Pin 5 de l'ATTiny85 à la Pin D11 de l'arduino
La Pin 4 de l'ATTiny85 à la Pin GND de l'arduino
La Pin 1 de l'ATTiny85 à la Pin D10 de l'arduino
Pour info, c'est la première fois que j'utilise un Arduino.
En attendant ton retour.
Bon week-end
Bonjour X (je ne connais pas ton prénom)
Tu as bien retiré les 2 straps que je t'avais dit de mettre sur l'emplacement du circuit grillé entre 2 & 7 et entre 3 & 6 ?
D'après ton schéma, le circuit grillé a son VCC en pin 1 et le GND en pin 8 donc l'ATTiny85 ayant son VCC en pin 8 et son GND en pin 4, on doit relier 1 à 8 et 8 à 4.
Sur l'ATTiny85, PB4 est en pin 3 et PB3 est en pin 2 (voir schéma joint)
Je viens de regarder de plus près le fonctionnement du L9110 et il fonctionne avec des commandes en PWM. Là est mon erreur. Je corrige le code et je reviens vers toi.
Philippe.
Alors, l'ATTiny85 ne possède que 2 pins en sortie PWM. Ce sont les pins 5 (PB0) et 6 (PB1).
Le code a été changé pour envoyer les infos PWM au L9110.
L'ordre des pins a changé:
#define Bouton1 5 // (Bouton poussoir 1 sur PB5 soit Pin 1 de l'ATTiny85)
#define Bouton2 3 // (Bouton poussoir 2 sur PB3 soit Pin 2 de l'ATTiny85)
#define Led1 4 // (Led 1 sur PB4 soit Pin 3 de l'ATTiny85)
#define Led2 2 // (Led 2 sur PB2 soit Pin 7 de l'ATTiny85)
#define Motor1 0 // (Commande moteur 1 sur PB0 soit Pin 5 de l'ATTiny85)
#define Motor2 1 // (Commande moteur 2 sur PB1 soit Pin 6 de l'ATTiny85)
Le câblage se fera ainsi:
Circuit grillé ATTiny85
Pin1 Pin8
Pin2 Pin5
Pin3 Pin6
Pin4 Pin2
Pin5 Pin3
Pin6 Pin7
Pin7 Pin1
Pin8 Pin4
Fais un essai avec cela.
Philippe.
Rebonjour, je te remercie.
Cependant, n'y a-t-il pas un problème de valeur de tension Vcc pour l'attiny85.
Sur la puce initiale,la vcc était à droite sur la pin 1.
Maintenant, je dois souder l'attiny85 en le retournant de 180° mais à ce moment la tension sur la pin8 n'est plus vraiment la tension Vcc.
Elle est plus faible car il y a une résistance de 4.7k.
Penses-tu que cette tension est suffisante pour faire fonctionner correctement l'Attiny85.
Je vais peut-être devoir couper des pistes et faire de petits pontages.
sur le circuit une diode est reliée à pb5, la seconde à pb3,
un bouton à pb4, l'autre est relié à la pin8 (vcc de l'attiny85) ici peut-être couper la piste.
Bon un dessin vaut mieux qu'un discours. tu comprendras beaucoup mieux (ci-joint)
Je préfère faire les modifications nécessaires avant de refaire un test. J'ai eu du mal à souder la nouvelle puce.
Merci.
Elias
Edit: J'ai refait un schéma ci-joint. J'ai reporté le modification à faire pour adapter les pins par rapport au circuit imprimer de l'ancienne puce. Est-bon?
L'ATTiny85 fonctionne de 2,7V à 5,5V mais tu peux retirer la résistance de 4,7K, qui servait, à mon avis, à faire un pullup sur une entrée. Je les ai fait logiciellement sur les deux entrées de bouton.
Les deux diodes sont là pour protéger d'une inversion de polarité de l'alimentation. Laisse-les, cela va baisser la tension de 0,3V (diodes schottky), ce qui ne sera pas gênant.
Je t'ai déjà donné les connexions à effectuer:
Circuit grillé ATTiny85
Pin1 vers Pin8
Pin2 vers Pin5
Pin3 vers Pin6
Pin4 vers Pin2
Pin5 vers Pin3
Pin6 vers Pin7
Pin7 vers Pin1
Pin8 vers Pin4
Oui, tu vas avoir à faire pas mal de changements sur le circuit imprimé, bon courage.
Merci beaucoup, pour ton aide. Pour me faciliter la tâche, ci-joint ce que je vais faire sans casse.
J'ai aussi modifié dans ton programme le numéro des pins.
Stp, dis-moi si c'est bon.
Non, tu n'as pas bien lu mon message:
L'ATTiny85 ne possède que 2 pins en sortie PWM. Ce sont les pins 5 (PB0) et 6 (PB1).
Ce sont elles qui doivent être reliées au L9110, pas PB1 et PB2.
Et supprimes la 4K7
Bonjour Philippe,
Désolé pour mon manquante d'attention. En effet, je n'avais pas bien lu.
Je n'ai pas un grand habitude de ces puces électroniques.
D'où mon incompréhension des abréviations utilisées pour les fonctions des pins.
Tu m'as indiqué que l'ATtiny85 possède 2 pins (5 et 6) en sortie PWM.
Qu'en est-il des autres pins?
Je joins un nouveau schéma, merci de me dire s'il est adéquat.
Car si je dois respecter à la lettre la correspondance des pins que tu m'avais donné précédemment.
Je serai obligé de faire un autre circuit imprimé.
Et, je ne suis pas équipé pour une telle réalisation.
Merci Beaucoup pour le partage de tes connaissances.
Bon dimanche.
edit: pour info, je vais souder l'Attiny85 dans le sens inverse à celui de la puce originale. ci-joint un pdf, dans lequel j'ai essayé de montrer ce que j'ai compris de l'ordre des pins.
Les autres pins (PB2, PB3, PB4 et PB5) sont des I/O (Input/Output), soit des entrées/sorties digitales ou analogiques. Les PB0 et PB1 sont aussi des I/O mais elles peuvent être aussi configurées en PWM (pulse wave modulation) qui sont des générateurs d'impulsions réglables en fréquence et en largeur d'impulsion.
Ce sont ces deux dernières qu'il faut pour contrôler le L9110 et c'est pourquoi on ne peut pas en prendre d'autres.
Pourquoi veux-tu absolument souder l'ATTiny85 sur le circuit imprimé ? Alors que 8 petits fils soudés sur le circuit imprimé d'un côté et de l'autre côté, les 8 fils soudés sur l'ATTiny85 t'éviterait de couper des pistes.
Le programme est défini comme ça:
#define Bouton1 5 // (Bouton poussoir 1 sur PB5 soit Pin 1 de l'ATTiny85)
#define Bouton2 3 // (Bouton poussoir 2 sur PB3 soit Pin 2 de l'ATTiny85)
#define Led1 4 // (Led 1 sur PB4 soit Pin 3 de l'ATTiny85)
#define Led2 2 // (Led 2 sur PB2 soit Pin 7 de l'ATTiny85)
#define Motor1 0 // (Commande moteur 1 sur PB0 soit Pin 5 de l'ATTiny85)
#define Motor2 1 // (Commande moteur 2 sur PB1 soit Pin 6 de l'ATTiny85)
Si tu veux intervertir des pins (sauf pour le moteur en 5 & 6 et l'alimentation en 4 & 8), tu dois modifier le programme en conséquence.
Dans ton Adaptation Schéma, tu as interverti Led1 & Led2 donc il faut modifier le programme comme ça:
#define Bouton1 5 // (Bouton poussoir 1 sur PB5 soit Pin 1 de l'ATTiny85)
#define Bouton2 3 // (Bouton poussoir 2 sur PB3 soit Pin 2 de l'ATTiny85)
#define Led1 2 // (Led 1 sur PB2 soit Pin 7 de l'ATTiny85)
#define Led2 4 // (Led 2 sur PB4 soit Pin 3 de l'ATTiny85)
#define Motor1 0 // (Commande moteur 1 sur PB0 soit Pin 5 de l'ATTiny85)
#define Motor2 1 // (Commande moteur 2 sur PB1 soit Pin 6 de l'ATTiny85)
Je te remercie pour tes explications.
En effet,8 petits fils feraient l'affaire. Mais je n'ai pas tous le nécessaire d'un électronicien.
De plus avec l'âge, la vue et la dextérité ont fortement baissées.
Réaliser des soudures sur une puce de surface, ça être dur pour moi.
Merci, je reviendrai aux nouvelles.
edit: Donc je peux utiliser les pins 1, 2, 3 et 7 comme je veux.
c'est à dire soit pour les diodes ou pour les boutons poussoirs.
Et, adapter les numéros au sein du programme.
De rien.
C'est sûr que la micro-électronique demande du matériel adapté.
Oui, tu peux utiliser 1, 2, 3, 7 comme tu veux en entrée ou sortie, à condition de les définir dans la partie setup du programme. Les boutons doivent être définis en INPUT_PULLUP et les leds en OUTPUT.
Le PULLUP met une résistance au VCC de la pin concernée, à l'intérieur du micro-contrôleur, puisqu'en appuyant sur un bouton on met cette pin au GND, ainsi on a bien deux niveaux distnctifs sur la pin concernée: Bouton relaché, pin = +5V, Bouton appuyé, pin = 0V.
Au tout début du programme, on donne des noms au pins:
#define Bouton1 5 // (Bouton poussoir 1 sur PB5 soit Pin 1 de l'ATTiny85)
#define Bouton2 3 // (Bouton poussoir 2 sur PB3 soit Pin 2 de l'ATTiny85)
#define Led1 4 // (Led 1 sur PB4 soit Pin 3 de l'ATTiny85)
#define Led2 2 // (Led 2 sur PB2 soit Pin 7 de l'ATTiny85)
#define Motor1 0 // (Commande moteur 1 sur PB0 soit Pin 5 de l'ATTiny85)
#define Motor2 1 // (Commande moteur 2 sur PB1 soit Pin 6 de l'ATTiny85)
puis dans le setup, on donne le type:
void setup() {
pinMode(Bouton1, INPUT_PULLUP);
pinMode(Bouton2, INPUT_PULLUP);
pinMode(Led1, OUTPUT);
pinMode(Led2, OUTPUT);
pinMode(Motor1, OUTPUT);
pinMode(Motor2, OUTPUT);
digitalWrite(Led1, LOW);
digitalWrite(Led2, LOW);
digitalWrite(Motor1, LOW);
digitalWrite(Motor2, LOW);
}
Tiens-moi au courant stp.
A+
Promis pour un retour. En fait, c'est grâce à toi que je suis arrivé à ce stade.
Par reconnaissance, je te dois bien ça.
Dès que j'aurai plus de temps. J'envisage de souder l'ATtiny85 à l'emplacement de la puce grillée.
Je couperai des pistes et ferai les pontages nécessaires.
Dans le fichier ci-joint, j'ai adapté les pins. J'espère ne pas avoir fait de bêtises.
Bonne soirée.
Bonjour Philippe,
Comme promis je reviens aux nouvelles.Je suis déçu du résultat.
J'ai soudé l'ATtiny85 à l'emplacement de la puce grillée.
J'ai coupé 3 pistes et mis 3 pontages (schéma ci-joint).
Maintenant, je ne sais plus où se situe mon erreur.
Dans le code code ou dans le câblage?
Ci-dessous le code utilisé:
#include <arduino.h>
// Définition des pins du microcontrôleur (A voir selon la conficguration du PCB)
#define Bouton1 4 // (Bouton poussoir 1 sur PB4 soit Pin 3 de l'ATTiny85)
#define Bouton2 3 // (Bouton poussoir 2 sur PB2 soit Pin 7 de l'ATTiny85)
#define Led1 5 // (Led 1 sur PB5 soit Pin 1 de l'ATTiny85)
#define Led2 4 // (Led 2 sur PB3 soit Pin 2 de l'ATTiny85)
#define Motor1 0 // (Commande moteur 1 sur PB0 soit Pin 5 de l'ATTiny85)
#define Motor2 1 // (Commande moteur 2 sur PB1 soit Pin 6 de l'ATTiny85)
void setup() {
pinMode(Bouton1, INPUT_PULLUP);
pinMode(Bouton2, INPUT_PULLUP);
pinMode(Led1, OUTPUT);
pinMode(Led2, OUTPUT);
pinMode(Motor1, OUTPUT);
pinMode(Motor2, OUTPUT);
digitalWrite(Led1, LOW);
digitalWrite(Led2, LOW);
digitalWrite(Motor1, LOW);
digitalWrite(Motor2, LOW);
}
void loop() {
// Si on appuie sur le bouton 1, le moteur tourne dans un sens
if (digitalRead(Bouton1 == LOW)) {
analogWrite(Motor1, 255);
analogWrite(Motor2, 0);
digitalWrite(Led1, HIGH);
digitalWrite(Led2, LOW);
// Si on appuie sur le bouton 2, le moteur tourne dans l'autre sens
} else if (digitalRead(Bouton2 == LOW)) {
analogWrite(Motor1, 0);
analogWrite(Motor2, 255);
digitalWrite(Led1, LOW);
digitalWrite(Led2, HIGH);
// Si aucun bouton n'est appuyé ou si on appuie sur les deux en même temps, le moteur ne tourne pas
} else if ((digitalRead(Bouton1 == HIGH) && digitalRead(Bouton2 == HIGH)) || (digitalRead(Bouton1 == LOW) && digitalRead(Bouton2 == LOW))) {
analogWrite(Motor1, 0);
analogWrite(Motor2, 0);
digitalWrite(Led1, LOW);
digitalWrite(Led2, LOW);
}
}
Au branchement de la batterie une led s'allume.
La pression sur les boutons n'a aucun effet sur le moteur.
Il ne tourne pas. Peine perdue!
Merci beaucoup pour tout ce que tu as fait.
Bonne journée.
Bonjour,
Il y a un bug :
Bouton2 == HIGH va donner un booléen ( donc 0 ou 1 )
or digitalRead () attend un numéro de broche
il fallait écrire :
if (digitalRead(Bouton2) == HIGH )
Bonjour X.
Je vois une erreur dans le code, j'ai laissé des digitalWrite au lieu de analogWrite.
Mets ceci dans le setup à la place:
Au lieu de:
digitalWrite(Motor1, LOW);
digitalWrite(Motor2, LOW);
écrit:
analogWrite(Motor1, 0);
analogWrite(Motor2, 0);
Voila ce que c'est que de taper trop vite un code et ne pas se relire consciencieusement...
Papyblue a raison, erreur de ma part.
Voici le code modifié:
#include <arduino.h>
// Définition des pins du microcontrôleur (A voir selon la conficguration du PCB)
#define Bouton1 4 // (Bouton poussoir 1 sur PB4 soit Pin 3 de l'ATTiny85)
#define Bouton2 2 // (Bouton poussoir 2 sur PB2 soit Pin 7 de l'ATTiny85)
#define Led1 5 // (Led 1 sur PB5 soit Pin 1 de l'ATTiny85)
#define Led2 3 // (Led 2 sur PB3 soit Pin 2 de l'ATTiny85)
#define Motor1 0 // (Commande moteur 1 sur PB0 soit Pin 5 de l'ATTiny85)
#define Motor2 1 // (Commande moteur 2 sur PB1 soit Pin 6 de l'ATTiny85)
void setup() {
pinMode(Bouton1, INPUT_PULLUP);
pinMode(Bouton2, INPUT_PULLUP);
pinMode(Led1, OUTPUT);
pinMode(Led2, OUTPUT);
pinMode(Motor1, OUTPUT);
pinMode(Motor2, OUTPUT);
digitalWrite(Led1, LOW);
digitalWrite(Led2, LOW);
analogWrite(Motor1, 0);
analogWrite(Motor2, 0);
}
void loop() {
// Si on appuie sur le bouton 1, le moteur tourne dans un sens
if (digitalRead(Bouton1) == LOW) {
analogWrite(Motor1, 255);
analogWrite(Motor2, 0);
digitalWrite(Led1, HIGH);
digitalWrite(Led2, LOW);
// Si on appuie sur le bouton 2, le moteur tourne dans l'autre sens
} else if (digitalRead(Bouton2) == LOW) {
analogWrite(Motor1, 0);
analogWrite(Motor2, 255);
digitalWrite(Led1, LOW);
digitalWrite(Led2, HIGH);
// Si aucun bouton n'est appuyé ou si on appuie sur les deux en même temps, le moteur ne tourne pas
} else if ((digitalRead(Bouton1) == HIGH && digitalRead(Bouton2) == HIGH) || (digitalRead(Bouton1) == LOW && digitalRead(Bouton2) == LOW)) {
analogWrite(Motor1, 0);
analogWrite(Motor2, 0);
digitalWrite(Led1, LOW);
digitalWrite(Led2, LOW);
}
}
Apparemment, j'ai fait une très grossière erreur dans le programme.
Mais même en corrigeant cela n'a pas résolu le problème.
J'ai corrigé comme ci-dessous mais même résultat décevant.
// Définition des pins du microcontrôleur (A voir selon la conficguration du PCB)
#define Bouton1 4 // (Bouton poussoir 1 sur PB4 soit Pin 3 de l'ATTiny85)
#define Bouton2 2 // (Bouton poussoir 2 sur PB2 soit Pin 7 de l'ATTiny85)
#define Led1 5 // (Led 1 sur PB5 soit Pin 1 de l'ATTiny85)
#define Led2 3 // (Led 2 sur PB3 soit Pin 2 de l'ATTiny85)
#define Motor1 0 // (Commande moteur 1 sur PB0 soit Pin 5 de l'ATTiny85)
#define Motor2 1 // (Commande moteur 2 sur PB1 soit Pin 6 de l'ATTiny85)
As-tu corrigé le setup et la loop ? Je t'ai remis le programme complet dans mon dernier message
Sinon, une autre version avec des boolean:
#include <arduino.h>
// Définition des pins
#define Bouton1 4 // PB4 (Pin 3 ATTiny85)
#define Bouton2 2 // PB2 (Pin 7 ATTiny85)
#define Led1 5 // PB5 (Pin 1 ATTiny85)
#define Led2 3 // PB3 (Pin 2 ATTiny85)
#define Motor1 0 // PB0 (Pin 5 ATTiny85)
#define Motor2 1 // PB1 (Pin 6 ATTiny85)
void setup() {
pinMode(Bouton1, INPUT_PULLUP);
pinMode(Bouton2, INPUT_PULLUP);
pinMode(Led1, OUTPUT);
pinMode(Led2, OUTPUT);
pinMode(Motor1, OUTPUT);
pinMode(Motor2, OUTPUT);
// Initialisation des sorties à l'état bas
digitalWrite(Led1, LOW);
digitalWrite(Led2, LOW);
analogWrite(Motor1, 0);
analogWrite(Motor2, 0);
}
void loop() {
bool bouton1State = digitalRead(Bouton1) == LOW; // Inversion de logique
bool bouton2State = digitalRead(Bouton2) == LOW;
if (bouton1State && !bouton2State) {
// Bouton 1 seul pressé → moteur tourne dans un sens
analogWrite(Motor1, 255);
analogWrite(Motor2, 0);
digitalWrite(Led1, HIGH);
digitalWrite(Led2, LOW);
} else if (bouton2State && !bouton1State) {
// Bouton 2 seul pressé → moteur tourne dans l'autre sens
analogWrite(Motor1, 0);
analogWrite(Motor2, 255);
digitalWrite(Led1, LOW);
digitalWrite(Led2, HIGH);
} else {
// Aucun bouton ou les deux pressés → arrêt moteur
analogWrite(Motor1, 0);
analogWrite(Motor2, 0);
digitalWrite(Led1, LOW);
digitalWrite(Led2, LOW);
}
}
Bonjour,
cela aurait été un plus d'ajouter une temporisation entre le relâché d'un bouton et l'action de l'autre de manière à éviter de commander le moteur dans un sens alors qu'il tourne encore dans l'autre.
C'est sûr mais cela fera partie de la prochaine étape. Je voulais savoir si cela fonctionnait déjà comme cela avant d'aller plus loin.
Mais merci de la remarque Papyblue.
Ceci dit Cathodic, si cela fonctionne, c'est vrai qu'il est mieux d'attendre l'arrêt moteur avant de repartir dans un autre sens.
Citation de: papyblue le Mars 24, 2025, 12:57:37 PMBonjour,
cela aurait été un plus d'ajouter une temporisation entre le relâché d'un bouton et l'action de l'autre de manière à éviter de commander le moteur dans un sens alors qu'il tourne encore dans l'autre.
Rebonjour, en fait je n'ai jamais codé en C++.
Mais je pense une chose, lorsque je branche la batterie une diode s'allume.
Celle qui est reliée à PB5 (Pin 1 de l'ATtiny85).
Je me demande s'il ne devrait pas y avoir un sens de rotation prédéfini dans le programme.
Quant à la temporisation, en effet pourrait être un plus.
Étant, nul en programmation en C++. Je doute fort que j'arriverai à pondre un quelconque programme.
Encore merci.
Essaye le programme avec les boolean que je t'ai envoyé
Je suis en train de m'inspirer de codes que j'ai déjà écrit pour d'autres montages où j'ai utilisé des pauses, des détections de switchs, des inversions de polarité, etc, sans arrêter le micro-contrôleur avec des delay().
Mais il faut savoir déjà si cela fonctionne sans tout ça.
J'espère que ton L9110 n'est pas mort...
Citation de: papyblue le Mars 24, 2025, 12:57:37 PMBonjour,
cela aurait été un plus d'ajouter une temporisation entre le relâché d'un bouton et l'action de l'autre de manière à éviter de commander le moteur dans un sens alors qu'il tourne encore dans l'autre.
Bonjour, vu le conception de l'appareil il est mal aisé d'actionner les boutons de changement du sens de rotation sans lâcher le levier qui met en service le moteur.
C'est déjà ça et cela a même été fait exprès je pense.
En attendant, voici un schéma au propre.
Je vais finir par commander un L9110S et un ATTiny85 pour tester ça dans mon labo :laugh:
Citation de: philchamp51 le Mars 24, 2025, 03:14:11 PMC'est déjà ça et cela a même été fais exprès je pense.
En attendant, voici un schéma au propre.
Merci beaucoup. Super gentil de ta part.
Schéma très propre. Avec quel logiciel l'as-tu fait?
J'ai téléchargé KiCad. Hélas, ne s'est pas installé sur mon Win7.
Je n'ai pas trouvé de version pour Windows 7.
à force de souder/dessouder 2 pattes se sont décoller du circuit.
Je dois faire très attention.
Encore merci.
Schéma réalisé avec ce logiciel gratuit, téléchargeable ici:
https://easyeda.com/page/download
Prends la version Windows EasyEDA Std Edition. Il y a des tutos sur Youtube.
Oui, les pistes sont fragiles, c'est vrai qu'il faut faire attention.
J'ai commandé un ATTiny85 et un L9110S car je veux vraiment pouvoir tester ça et vérifier ce que j'ai programmé.
Quelques jours à attendre pour recevoir ces 2 articles.
Bon, ça me tracasse car on trouve les 2 versions de commandes du L9110 sur internet.Soit avec digitalWrite, soit avec analogWrite, cela dépend du type de moteur apparemment.
C'est pour ça que je veux véfirier ça chez moi et tester ce circuit.
Donc patience, j'en saurais plus dans quelques jours.
Bonsoir Philippe,
Merci beaucoup. Tu as de l'expérience en électronique.
Pourrais-tu me donner les équivalents des diodes SS24 et K14 en composants de surface.
J'ai fait des recherches sur le net mais je n'ai rien trouvé.
D'après toi, en te référant aux 1ere images jointes au début de ce fil.
Quel est l'ordre de grandeur des 2 capacités?
Car je vais devoir réaliser un nouveau circuit.
je voudrais commander des composants perforants.
Il me sera difficile de faire cette réalisation avec des composants de surface.
Pour le L9110, j'en ai trouvé sur AliExpress L9110 (https://fr.aliexpress.com/item/1005006664056630.html?spm=a2g0o.productlist.main.53.5afe78cdsIQlIe&algo_pvid=2baae628-0417-4d88-876e-bf24f90f0d4b&algo_exp_id=2baae628-0417-4d88-876e-bf24f90f0d4b-26&pdp_ext_f=%7B%22order%22%3A%222%22%2C%22eval%22%3A%221%22%7D&pdp_npi=4%40dis%21EUR%211.12%211.12%21%21%218.58%218.58%21%402103864c17428439090427992e0368%2112000037959647737%21sea%21FR%210%21ABX&curPageLogUid=0TEbJEwdO2dJ&utparam-url=scene%3Asearch%7Cquery_from%3A)
Merci beaucoup. Bonne soirée
Ces deux diodes sont du type Schottky, c'est à dire qu'elles ont une tension de seuil de 0,2 à 0,3V environ, contrairement aux diodes standards qui sont aux alentours de 0,6 à 0,7V.
Comme elles servent de protection contre les inversions de polarité, la perte d'alimentation sera moins élevée.
Si tu veux des composants traversants, prends 2 diodes 1N5819, cela fera l'affaire.
Tu supprimes la résistance de 4K7 car elle servait de pullup et l'ATTiny85 le fait en interne.
Pour les condensateurs, ils servent au découplage de l'alimentation de l'ATTiny85 (élimination des parasites). Il en faut un de 0,1µF (100nF) type céramique et un autre de 47µF/16V électrolytique (pour la taille). A mettre en parallèle. Le premier (100nF) au plus près de l'ATTiny et le deuxième (47µF), près de la connexion des deux fils de batterie. (après la diode, comme sur le schéma)
Voilà, n'hésite pas à me poser des questions.
Bonne fin de journée pour toi.
Bonjour,
Merci beaucoup. Pour info, j'ai testé le code du post#111.
Rien n'y fait, le moteur ne tourne pas.
Une diode s'illumine lorsque je branche la batterie.
Sauf si le L9110 soit mort.
J'attends ta confirmation pour me lancer.
Et si ça ne fonctionnera pas, je serai fixé sur le problème.
ça sera moi qui fais n'importe quoi.
Bonne journée.
Bonjour.
En attendant, j'ai testé le logiciel sur un arduino UNO (sans le L9110) et j'ai bien les sorties PWM et LEDs qui fonctionnent sur l'oscilloscope.
Pour le temps de pause avant inversion du sens, sais-tu me dire si le moteur s'arrêtait immédiatement en relâchant le bouton ou s'il tournait encore un peu et combien de temps ? (je pensais mettre 2 secondes de pause).
Citation de: philchamp51 le Mars 25, 2025, 04:24:25 PMBonjour.
En attendant, j'ai testé le logiciel sur un arduino UNO (sans le L9110) et j'ai bien les sorties PWM et LEDs qui fonctionnent sur l'oscilloscope.
Pour le temps de pause avant inversion du sens, sais-tu me dire si le moteur s'arrêtait immédiatement en relâchant le bouton ou s'il tournait encore un peu et combien de temps ? (je pensais mettre 2 secondes de pause).
Bonjour, Je t'avoue que je ne sais pas si le moteur s'arrêtait au relâché du levier.
Même ma fille n'y a pas prêté attention. Elle ne l'a utilisé au grand max 4 fois puis s'est arrêté de fonctionner.
Mais je pense qu'il est freiné par le mécanisme de la tondeuse.
Sur l'axe du moteur, il y a un engrenage circulaire se terminant d'un autre semi-conique (en une seule pièce en plastique).
Merci pour tout ce que tu fais.
Bonne journée.
Bonjour. Je pense que tu as raison, le mécanisme doit freiner le moteur.
Je mettrai juste une seconde de pause pour éviter quand même l'inversion immédiate de courant dans le moteur.
J'attends donc la réception de l'ATTiny85 et du L9110. Des petits moteurs comme sur ta photo, j'en ai. Je pourrai tester ça en réel.
Alors à bientôt.
Philippe.
Bonjour.
Alors, je viens de recevoir le module L9110. J'ai branché un moteur et j'ai connecté l'ensemble sur Arduino UNO en attendant l'ATTiny85.
Cela fonctionne très bien. Le moteur tourne dans un sens et l'autre, avec une pause d'une seconde en cas d'appui immédiat dans un autre sens. En cas d'appui simultané sur les deux boutons, il y a arrêt immédiat du moteur et il repart dans le sens du bouton qui reste appuyé quand on en relâche un ou il ne repart pas si on relâche les deux.
J'attends maintenant l'ATTiny pour confirmer le bon fonctionnement avec ce micro-contrôleur.
En fait j'ai mis simplement un delay pour faire la pause d'une seconde, vu le peu de complexité du programme.
J'ai oublié de te dire que tu peux modifier différents paramètres dans le programme.
La pause est réglable en changeant la valeur de delay. C'est en millisecondes donc 1000ms = 1sec, 500ms = 1/2sec, etc.
const long pause = 1000;
La vitesse du moteur est réglable de 0 à 255 dans les paramètres suivants:
analogWrite(Motor1, 250);
analogWrite(Motor2, 250);
Je les avais mis à 250 pour voir les impulsions sur l'oscilloscope car à 255, il n'y en a plus, c'est un courant constant qui est injecté dans le moteur.
Après vérification, j'ai fait encore plus simple, sans le boolean Moteur qui ne servait pas à grand chose...
Le temps de pause réglé à 250 ou 300 est le meilleur compromis entre protection de l'inversion de courant dans le moteur et réactivité lors des appuis.
Bonsoir Philippe,
Je vois que tu as bien avancé. Merci beaucoup.
J'attends de recevoir le L9110H (composant perforant).
Des pistes se sont décollées et ont cassées.
Je dois refaire le circuit sur une carte perforée.
J'attendrai que tu finalises tes tests.
Encore merci.
Bonne soirée.
Bonsoir X.
Je faisais des recherches sur un micro-contrôleur pour un projet perso et devines quoi ? Par hasard, je suis tombé sur un modèle qui a exactement les mêmes emplacements de pins que ton circuit grillé.
J'entends par là, que la pin VCC est en 1 et la pin GND en 8. En plus, il se programme avec l'aide d'une seule pin (l'UPDI) au lieu de 4 comme avec le modèle 85.
Par contre, c'est un CMS et je sais que tu ne peux pas souder ça et que le circuit imprimé est endommagé maintenant. Dommage.
Il s'agit de l'ATTiny412, dont je te joins la datasheet.
J'attends l'ATTiny85 pour finir les tests avec le L9110.
Citation de: philchamp51 le Mars 30, 2025, 07:20:56 PMBonsoir X.
Je faisais des recherches sur un micro-contrôleur pour un projet perso et devines quoi ? Par hasard, je suis tombé sur un modèle qui a exactement les mêmes emplacements de pins que ton circuit grillé.
J'entends par là, que la pin VCC est en 1 et la pin GND en 8. En plus, il se programme avec l'aide d'une seule pin (l'UPDI) au lieu de 4 comme avec le modèle 85.
Par contre, c'est un CMS et je sais que tu ne peux pas souder ça et que le circuit imprimé est endommagé maintenant. Dommage.
Il s'agit de l'ATTiny412, dont je te joins la datasheet.
J'attends l'ATTiny85 pour finir les tests avec le L9110.
Bonsoir Philippe, Je m'appelle Elias.
Je te remercie pour ton soutien.
En fait, j'ai un fer à air chaud mais je n'ai pas pour refaire un circuit imprimé.
Je vais donc utiliser une carte perforée et des composants perforants (DIP) (ci-joint photo).
Cela sera plus facile et plus simple pour moi.
Je suis très patient. Je préfère attendre que de faire n'importe quoi.
Encore merci. Bonne soirée.
Bonjour à tous,
Tu ne voudrais un un vrai circuit imprimé?
Justement, j'en ai dessiné un comme ça vite fait avec Easyeda. Rien n'est respecté car je n'ai pas les cotes exactes mais on voit que c'est possible.
Trop fort Phil.
Citation de: Gérard_68 le Mars 31, 2025, 05:50:10 PMBonjour à tous,
Tu ne voudrais un un vrai circuit imprimé?
Bonjour Gérard_68, Je n'ai pas envie d'investir pour faire un circuit imprimé.
Autant racheter une nouvelle tondeuse. Merci pour ta suggestion.
Bonne journée.
Citation de: philchamp51 le Mars 31, 2025, 05:54:09 PMJustement, j'en ai dessiné un comme ça vite fait avec Easyeda. Rien n'est respecté car je n'ai pas les cotes exactes mais on voit que c'est possible.
Bonjour Philippe,
Honnêtement, j'ai téléchargé le logiciel mais je l'ai pas encore installé.
J'avais d'autres priorités (obligation familiale).
Est-ce que Easyeda fait de la simulation?
J'ai Ltspice installé sur mon pc. Mais il n'a pas dans sa bibliothèque les circuits L9110 et Attiny85.
Je suis en train de chercher pour les ajouter. Mais rien trouvé jusqu'à présent.
En attente de recevoir les composants commandés et ton retour.
Bonne journée.
Bonjour Elias.
Non, Easyeda ne fait pas de simulation. C'est un logiciel de schéma électronique et de PCB.
Bon, j'ai reçu le module ATTiny85 aujourd'hui. J'ai fait des tests et tout était bon à l'exception de la LED1 qui faisait planter l'ATTiny85. J'ai cherché et en fait on ne peut pas utiliser la pin1 (PB5) car elle sert de RESET.
Alors, on peut par une autre méthode mais plus compliquée avec un programmateur spécial.
Donc, j'ai organisé autrement le schéma pour que l'appui sur les boutons commandent en même temps, chaque LED et la pin correspondante du micro-contrôleur, ainsi le tour est joué.
Tu trouveras le schéma électronique et le code modifié pour l'AATiny85, ainsi qu'une petite vidéo pour te montrer le résultat. (avec le lien ci-dessous)
Tiens-moi au courant de la suite.
Philippe.
https://www.cjoint.com/c/ODboLt1zvfe
Citation de: philchamp51 le Avril 01, 2025, 02:39:58 PMBonjour Elias.
Non, Easyeda ne fait pas de simulation. C'est un logiciel de schéma électronique et de PCB.
Bon, j'ai reçu le module ATTiny85 aujourd'hui. J'ai fait des tests et tout était bon à l'exception de la LED1 qui faisait planter l'ATTiny85. J'ai cherché et en fait on ne peut pas utiliser la pin1 (PB5) car elle sert de RESET.
Alors, on peut par une autre méthode mais plus compliquée avec un programmateur spécial.
Donc, j'ai organisé autrement le schéma pour que l'appui sur les boutons commandent en même temps, chaque LED et la pin correspondante du micro-contrôleur, ainsi le tour est joué.
Tu trouveras le schéma électronique et le code modifié pour l'AATiny85, ainsi qu'une petite vidéo pour te montrer le résultat. (avec le lien ci-dessous)
Tiens-moi au courant de la suite.
Philippe.
https://www.cjoint.com/c/ODboLt1zvfe
Bonsoir Philippe,
C'est vraiment très sympa de ta part. Je m'y mettrai dès que possible.
Je reviendrai pour te mettre au courant.
Je ne mets pas en doute le fonctionnement même sans avoir encore visionné la vidéo.
Ce que je crains le plus, est que je fasse des bêtises.
Je n'ai pas encore reçu le L9110.
Toute ma gratitude.
Bonne soirée.
Elias.
Rebonsoir,
je viens de visionner la vidéo. Ton test a été effectué avec uniquement 2 boutons poussoirs.
Car en fait, il y en 3. les 2 bp sur la bredboard ne doivent servir qu'à préparer le sens de rotation du moteur.
Ce dernier est mis en service via un autre bouton. Tu m'avais dit, qu'il se faisait pas partie du programme.
Je te tiendrai au courant. Merci beaucoup.
Bonsoir Elias.
D'après ton schéma, le troisième interrupteur est branché directement à une polarité du moteur donc il n'entre pas dans la logique du micro-contrôleur. Il sert uniquement à éviter de faire tourner le moteur si la poignée n'est pas appuyée.
Citation de: philchamp51 le Avril 01, 2025, 09:28:38 PMBonsoir Elias.
D'après ton schéma, le troisième interrupteur est branché directement à une polarité du moteur donc il n'entre pas dans la logique du micro-contrôleur. Il sert uniquement à éviter de faire tourner le moteur si la poignée n'est pas appuyée.
Bonjour Philippe,
Je me suis peut-être trompé dans mon schéma.
Si la poignée n'est pas appuyée le moteur ne tourne pas.
Il faut l'appuyer pour que le moteur tourne.
Les 2 boutons ne servent qu'à présélectionner le sens de rotation.
Ton schéma est plus clair que le mien.
Sur lequel on voit bien que la borne 2 du moteur est reliée à la pin 4 du L9110,
la borne 1 est reliée au poussoir du levier et l'autre borne de ce dernier est reliée à la pin 1 du L9110.
Je me demande bien si le 3ème bouton ne doit faire partie du programme.
Je me demande aussi si ce n'est pas la cause de la destruction de la puce d'origine.
Et ce, du fait qu'il y a une présélection par défaut du sens de rotation.
Ainsi, elle était toujours alimentée et il y avait une polarité haute ou basse sur les pins pb4 et pb2.
Je te confirme que l'appuie sur le levier faisait tourner le moteur.
Merci beaucoup.
Excellente journée à toi et à ceux qui ont participé à cette discussion.
nb: le poussoir du levier ressemble à celui de l'image mais n'a que 2 broches au lieu de 3
Bonjour Elias.
Bon, j'ai bien observé tes photos et sur la N°2, on voit clairement que ce troisième interrupteur n'est pas relié au circuit imprimé mais maintenant, je penche plus sur le fait qu'il soit l'interrupteur d'alimentation car sinon, les circuits intégrés seraient tout le temps sous tension mais est-il bien commandé par la poignée ?
Mais quand tu parles de présélection, est-ce à dire que même sans appuyer sur le levier, on peut choisir à l'avance le sens et que la diode correspondante reste allumée sans laisser son doigt appuyé sur un bouton de sens ?
A quoi sert le Lock ON / Lock OFF qu'on voit sur une photo. Est-ce que c'est purement mécanique ou est-ce que cela commande un interrupteur ?
J'avoue que si je n'ai pas le descriptif précis du fonctionnement, je ne pourrais pas te faire un circuit équivalent.
Citation de: philchamp51 le Avril 02, 2025, 11:33:35 AMBonjour Elias.
Bon, j'ai bien observé tes photos et sur la N°2, on voit clairement que ce troisième interrupteur n'est pas relié au circuit imprimé mais maintenant, je penche plus sur le fait qu'il soit l'interrupteur d'alimentation car sinon, les circuits intégrés seraient tout le temps sous tension mais est-il bien commandé par la poignée ?
Mais quand tu parles de présélection, est-ce à dire que même sans appuyer sur le levier, on peut choisir à l'avance le sens et que la diode correspondante reste allumée sans laisser son doigt appuyé sur un bouton de sens ?
A quoi sert le Lock ON / Lock OFF qu'on voit sur une photo. Est-ce que c'est purement mécanique ou est-ce que cela commande un interrupteur ?
J'avoue que si je n'ai pas le descriptif précis du fonctionnement, je ne pourrais pas te faire un circuit équivalent.
Rebonjour Philippe,
Je t'ai indiqué ce que j'avais déduis concernant le fonctionnement de la tondeuse.
Personnellement, je ne l'ai jamais utilisé. Je n'ai pas de cheveux assez longs et n'ai pas un problème de fourche :angel: .
Je viens d'appeler ma fille pour lui demander comment elle l'utilisait.
Je commence par le bouton Lock ON/ Lock OFF.
il est mis sur Lock On pour ranger la tondeuse.
Or dans cette position le levier ferme le contact du bouton poussoir.
C'est le point faible de l'appareil. Il est rangé sous tension.
Le processus qu'elle utilise:
1- débloque le levier avec le bouton Lock off (ouvre le contact du bouton poussoir Levier)
2- appuie sur un bouton, une diode s'allume (choix du sens de rotation)
3- appuie sur le levier pour faire fonctionner la tondeuse (Ferme contact du Bp Levier, le moteur tourne)
Elle rangeait l'appareil sans retirer la batterie (juste une pile Lithium 3.7/4.2 volt).
C'est une tondeuse de fabrication chinoise. Ils n'ont prévu aucune sécurité.
L'appareil resté sous tension. L'isolant d'un fils alimentant le moteur a bien chauffé (photo).
Elle l'a très peu utilisée. Elle rechargée la batterie sans la retirer de la tondeuse.
à moins que la puce grillée, gérait la charge de la batterie.
Merci beaucoup. Tu en as assez fait pour moi.
Elias.
MDR pour les cheveux :laugh: :laugh: :laugh:
Non, la puce grillée ne contrôlait pas la batterie vu qu'elle pilote le L9110.
Ce qu'il faudrait, c'est d'utiliser le troisième interrupteur en tant qu'interrupteur principal, c'est à dire, comme sur le dernier schéma envoyé, mettre sous tension le circuit quand on appuie sur celui-ci.
Comme cela, rien ne restera sous tension quand on le range.
Oui, j'avais remarqué le fil rouge chauffé. Qualité chinoise de bas de gamme...
Refais tout comme sur mon schéma et cela devrait aller et n'hésite pas à me demander encore des renseignements ou des aides, je le ferai avec plaisir.
Entre cousins transatlantiques, on peut s'entraider :smiley:
Ayant fait plus de 40 ans de Hockey en France, je suis un fervent supporter des Canadiens de Montréal depuis mon enfance, alors j'espère les voir en playoff :smiley:
Citation de: philchamp51 le Avril 02, 2025, 04:57:08 PMMDR pour les cheveux :laugh: :laugh: :laugh:
Bonjour Philippe,
Je n'ai pas dit que je n'en ai plus, mais juste que mes cheveux ne sont pas longs pour avoir des fourches :cool: .
Maintenant que j'y pense, beaucoup d'appareil se mettent hors tension après un certain temps.
Aurais-tu un circuit peu encombrant et pas très cher? à ajouter au circuit de la tondeuse.
il me semble qu'ainsi, l'appareil sera mieux sécurisé. S'il se met en off après un laps de temps.
Merci pour ton aide.
Bonne journée.
Bonjour Elias.
Ok pour les cheveux :laugh:
J'ai modifié le programme pour que l'ATtiny85 se mette en veille après une minute d'inutilisation (paramétrable).
La consommation passe alors à 0,24mA (mesuré), ce qui est très faible. Je ne connais pas la capacité de la batterie qui équipe la tondeuse mais si elle fait au moins 2000mA, elle tiendrait, en théorie 8300 heures, soit environ une année en veille.
Je n'ai pas de circuit de mise hors tension et je n'en connais pas.
Comme je te l'avais dit, le mieux, pour mettre totalement hors tension, serait de mettre l'interrupteur 3 sur l'alimentation et là, il n'y aurait plus aucune consommation de courant.
Dis-moi si cela te va ?
Bonjour Philippe,
Avant tout, je tiens à te remercier pour ton aide.
J'ai reçu le L9110. J'ai voulu faire un essai sur bredboard avant de passer au circuit imprimé.
Hélas, j'ai été très déçu. Le montage ne fonctionne pas.
J'ai peut-être fait des erreurs. J'ai suivi scrupuleusement ton 1er schéma (bouton poussoir en série avec le moteur comme à l'initial). Le programme a été correctement téléversé.
J'ai revisionné ta vidéo et bien vu que cela fonctionne.
Cependant, tu as utilisé des modules. Par contre, moi j'ai utilisé les composants (L9110, ATtiny85, diodes, résistances, poussoir et condensateur chimique de 100uF).
Je n'ai pas utilisé de diodes pour prévenir les éventuelles inversions de polarités sur la bredboard.
Il manque sûrement quelque chose ou bien j'ai dû faire n'importe quoi.
Voilà, où j'en suis.
Bonne journée.
nb: le site Cjoint.com est apparemment en maintenance.
edit: Philippe m'a signalé un risque de virus troyen, j'ai donc supprimé le lien de l'image. Le soi-disant site hébergeur de fichier est "CatUpload.com" donc à éviter.
Bonjour Elias.
Pas de différence entre les modules ou les composants individuels. J'ai pris ça car c'était la façon la plus rapide de les recevoir.
Au niveau de la programmation, tu as bien chargé le bootloader avant d'injecter le code ?
Au niveau du bootloader, as-tu bien configuré l'ATtiny85 avec horloge interne à 8 MHz et Optiboot ?
Mon antivirus Malwarebytes me signale la possibilité de virus troyen sur le site uploadnow.io donc je ne me risque pas d'y aller...
Envoie moi tes photos sur mon adresse e-mail que tu trouveras en cliquant sur mon profil.
Citation de: philchamp51 le Avril 04, 2025, 09:41:43 AMBonjour Elias.
Pas de différence entre les modules ou les composants individuels. J'ai pris ça car c'était la façon la plus rapide de les recevoir.
Au niveau de la programmation, tu as bien chargé le bootloader avant d'injecter le code ?
Au niveau du bootloader, as-tu bien configuré l'ATtiny85 avec horloge interne à 8 MHz et Optiboot ?
Mon antivirus Malwarebytes me signale la possibilité de virus troyen sur le site uploadnow.io donc je ne me risque pas d'y aller...
Envoie moi tes photos sur mon adresse e-mail que tu trouveras en cliquant sur mon profil.
Désolé, si le lien est douteux et te remercie de me le signaler. Je viens de rééssayer Cjoint.com, toujours la même chose, impossible de charger la photo.
J'ai utilisé le site CatUpload suite à une recherche sur Google. C'est la première et dernière fois que j'utiliserai ce site.
En cliquant, sur ton profil, je ne trouve pas ton adresse mail.
Pour la configuration de l'arduino nano:
type de carte: Arduino Nano
Processeur: ATmega328P(Old Bootloader) (Avec les 2 autres choix: ATmega328P et ATmega168, le téléversement n'aboutit pas)
Port: Com7
Programmateur: ArduinoISP
à ta question suivante: "Au niveau du bootloader, as-tu bien configuré l'ATtiny85 avec horloge interne à 8 MHz et Optiboot ?"
Je n'ai rien trouvé dans l'Ide de l'arduino. Je me suis trompé en faisant le copier/coller de l'adresse des Attiny dans les préférences.
j'ai commis cette erreur en voulant utiliser un arduino uno retrouvé chez mon fils (il me rend chèvre).
je revois tout cela et reviendrai aux nouvelles.
Citation de: philchamp51 le Avril 03, 2025, 06:47:59 PMComme je te l'avais dit, le mieux, pour mettre totalement hors tension, serait de mettre l'interrupteur 3 sur l'alimentation et là, il n'y aurait plus aucune consommation de courant.
Si on fait comme tu le préconises. Cela voudrait dire que l'on doit appuyer sur le levier, pour ensuite appuyer sur un des poussoirs pour le choix du sens de rotation.
Le moteur se mettrait alors à tourner et si on relâche le levier tout sera mis hors tension.
Pour reprendre l'utilisation, on doit refaire la même manip.
Ce qui ne sera pas pratique vu qua les boutons du sens de rotation son pratiquement sous le levier.
D'accord, je ne savais pas cela.
En effet, alors mieux vaut la mise en veille de l'ATtiny85.
Voici comment régler l'IDE Arduino en photo.
Citation de: philchamp51 le Avril 04, 2025, 12:50:25 PMD'accord, je ne savais pas cela.
En effet, alors mieux vaut la mise en veille de l'ATtiny85.
Voici comment régler l'IDE Arduino en photo.
Merci, mais nous n'avons pas la même version de l'ide. mon windows seven n'accepte que la version 1.8.19.
Le téléversement échoue.
Alors, ce sont peut-être les librairies qui ne sont plus compatibles. Tu n'as personne dans ton entourage, qui possède un PC W10 ou W11 ?
Tu sais, sur Aliexpress on trouve des tondeuses à cheveux fendus (ou à mèches, c'est pareil), pour une vingtaine d'euros environ.
Je pense que tu vas finir par y passer malheureusement car la réparation est mal partie :cry:
https://fr.aliexpress.com/item/1005008530769829.html?spm=a2g0o.productlist.main.103.29d227acn89bfi&algo_pvid=7fa4236a-e564-4cb6-a587-156df743b81f&algo_exp_id=7fa4236a-e564-4cb6-a587-156df743b81f-51&pdp_ext_f=%7B%22order%22%3A%225%22%2C%22eval%22%3A%221%22%7D&pdp_npi=4%40dis%21EUR%2157.00%2126.79%21%21%21447.06%21210.12%21%40210391a017437806882167523e50dc%2112000045581887542%21sea%21FR%212434744215%21X&curPageLogUid=xrG3mIpdpt81&utparam-url=scene%3Asearch%7Cquery_from%3A
Citation de: philchamp51 le Avril 04, 2025, 03:20:18 PMAlors, ce sont peut-être les librairies qui ne sont plus compatibles. Tu n'as personne dans ton entourage, qui possède un PC W10 ou W11 ?
Si mais je n'ose pas demander. Le problème est je l'ai déjà fait avec l'Attiny de surface.
Comme c'est la première fois que j'utilise un arduino.
Je me souviens juste que pour téléverser le programme dans le Nano pour qui fonctionne en programmateur.
j'ai dû sélectionner ATmega328P(Old Bootloader).
Cela va prendre du temps mais je trouverai.
Merci beaucoup
Citation de: philchamp51 le Avril 04, 2025, 03:37:03 PMTu sais, sur Aliexpress on trouve des tondeuses à cheveux fendus (ou à mèches, c'est pareil), pour une vingtaine d'euros environ.
Je pense que tu vas finir par y passer malheureusement car la réparation est mal partie :cry:
https://fr.aliexpress.com/item/1005008530769829.html?spm=a2g0o.productlist.main.103.29d227acn89bfi&algo_pvid=7fa4236a-e564-4cb6-a587-156df743b81f&algo_exp_id=7fa4236a-e564-4cb6-a587-156df743b81f-51&pdp_ext_f=%7B%22order%22%3A%225%22%2C%22eval%22%3A%221%22%7D&pdp_npi=4%40dis%21EUR%2157.00%2126.79%21%21%21447.06%21210.12%21%40210391a017437806882167523e50dc%2112000045581887542%21sea%21FR%212434744215%21X&curPageLogUid=xrG3mIpdpt81&utparam-url=scene%3Asearch%7Cquery_from%3A
Merci. Mais si c'est pour qu'il fonctionne comme le premier.
En plus, cela m'occupe et me permets de découvrir des choses.
En tout cas merci pour tout ce que tu as fait.
Je suis têtu plus que le Docteur Pol.
Citation de: cathodic le Avril 04, 2025, 03:42:27 PMCitation de: philchamp51 le Avril 04, 2025, 03:20:18 PMAlors, ce sont peut-être les librairies qui ne sont plus compatibles. Tu n'as personne dans ton entourage, qui possède un PC W10 ou W11 ?
Si mais je n'ose pas demander. Le problème est je l'ai déjà fait avec l'Attiny de surface.
Comme c'est la première fois que j'utilise un arduino.
Je me souviens juste que pour téléverser le programme dans le Nano pour qui fonctionne en programmateur.
j'ai dû sélectionner ATmega328P(Old Bootloader).
Cela va prendre du temps mais je trouverai.
Merci beaucoup
Regarde cette vidéo
https://www.youtube.com/watch?v=KPtmi16cyaA
:cool: :cool: :cool: c'est cool de ne pas lâcher le morceau. :smiley: :smiley:
Je t'avoue que je n'y comprends rien.
La 1ère fois, en mettant le condensateur entre Reset et la masse, ne ne s'était pas téléversé.
Or, cette fois-ci c'est l'inverse qui s'est produit.
Bon, J'ai utilisé le code "ATTiny85_Tondeuse_V1_2_5".
Premier test, les 2 diodes s'illuminent dés que je branche la pile.
La pression sur les boutons n'a aucun effet ===> moteur ne tourne pas.
Je revérifierai demain le câblage.
Merci beaucoup.
Bonne soirée
Si les deux leds s'allument et que le code est bien entré dans l'ATtiny85, c'est que les deux entrées boutons poussoirs sont à la masse. Normalement, tu dois avoir environ 3,3V sur ces deux entrées sans appuyer sur les boutons. Si tu as 0V c'est qu'elles sont à la masse car les instructions INPUT_PULLUP donnent un niveau haut aux entrées et l'appui sur un bouton, un niveau bas.
Bonjour Philippe,
Je reviens aux nouvelles. J'ai eu des désagréments dus à de mauvais contacts.
Mes constatations et conclusions:
1 - au branchement de la pile aucune led ne s'allument.
2 - à la pression sur un BP de choix du sens de rotation, sans pression sur le BP du levier de mise en route du moteur, une led s'illumine mais le moteur ne tourne pas.
3- pour que moteur tourne, il faut appuyer sur le bp de choix du sens et le bp levier.
4- pour l'un des 2 bp (sens), le moteur tourne moins vite que pour l'autre BP.
Au final, les 2 bp (sens) ne maintiennent pas l'ordre de commande du sens.
Donc le programme n'est pas adapté.
Encore merci. Bon week-end.
Bonjour Elias.
C'est normal que le moteur ne tourne pas si tu n'appuis pas sur le levier.
Si j'ai bien compris, tu veux que la led (dans un sens ou l'autre) reste allumée le temps qu'on appuie sur le levier, c'est ça ?
Sachant qu'on ne peut pas détecter l'appui ou le relâchement du levier, il faudrait que la led reste allumée tout le temps qu'on appuie sur le levier et quand on le relâche, on appuie à nouveau sur le BP de la led de sens pour l'éteindre.
En clair, on appuie sur un bouton poussoir, la led reste allumée, on appuie sur le levier pour faire tourner le moteur, puis on relâche le levier pour éteindre le moteur et on appuie à nouveau sur le BP pour éteindre la led.
Bonjour Philippe,
Merci pour ton retour. Je te confie qu'on m'a suggéré l'IA pour le programme.
Je l'ai déjà testé pour du codage VBA. Pour un problème simple ça va.
Un peu plus compliqué, c'est du n'importe quoi.
Ne connaissant rien au C++, j'ai tenté le coup. C'est encore pire que pour le VBA.
Une pin GND, devient du +VCC. Conclusion: Vive l'Humain.
Revenons à mon problème. Nonobstant, ce que m'avait expliqué ma fille.
A mon sens voici, comment devait fonctionner l'appareil:
1 - utilisant une pile débrochable, elle devait être retirer après utilisation;
2- Lorsqu'on branche la pile, normalement au moins un diode (ou les 2) doit s'allumer pour indiquer à l'utilisatrice que l'appareil est sous tension;
3- Il y a probablement mémorisation d'un sens par défaut (diode allumée au branchement de la pile);
4- si aucun sens prédéfini, la pression sur un bouton de sens de rotation, sa led reste allumée même après avoir relâché le bouton;
5 - pression sur le levier, le moteur tourne dans le sens choisi. Lorsqu'on relâche le levier, le choix initial doit être garder.
Pour qu'à la prochaine action du levier, le moteur tourne dans le même sens (sans avoir à presser sur le bouton de choix de sens).
6- lorsque presse sur l'autre bouton, la précédente diode s'éteint et la diode du choix effectué doit rester allumée et la même logique de fonctionnement doit s'appliquer.
Le sens doit être mémorisé jusqu'à la pression sur un autre bouton. Ne pas oublier le cas de pression simultané sur les 2 boutons.
J'espère que ça ne sera pas trop compliqué à programmer.
je te souhaite une excellente soirée.
Elias.
Ok, je regarde ça. Ce n'est pas compliqué.
A bientôt.
Philippe.
Bonjour Elias.
Bon, désolé de n'avoir répondu avant mais on avait de la famille à la maison aujourd'hui.
Alors, j'ai modifié le code pour répondre à tes demandes.
Au démarrage, c'est le sens 1 et la LED 1 qui sont prévus et restent allumés.
Seulement, il n'y a que 5 PB disponibles sur l'ATtiny85 et il en fallait 6 pour gérer les 2 boutons, les 2 LEDs et 2 pour le moteur.
Après réflexion, j'ai modifié le schéma comme ceci:
Les 2 LEDs sont tête-bêche et connectées, pour la première, anode sur PB3 et cathode au GND et pour la deuxième, cathode sur PB3 et anode au Vcc2 (et non au VCC, afin d'avoir la même tension sur les 2 LEDs).
Ainsi, sur PB3, quand on envoie une tension, la LED 1 s'allume et quand on envoie un 0V, c'est la LED 2 qui s'allume.
Si on appuie sur les deux boutons en même temps, les LEDs clignotent et quand on relâche, le moteur est prêt pour tourner dans le sens 1 et la LED 1 reste allumée.
Quand on appuie sur un autre bouton, le moteur va dans l'autre sens et la LED correspondante reste allumée.
Je te joins le code et le schéma modifiés.
J'espère que cela va te convenir.
Philippe.
Bonjour Philippe,
Tu n'as pas à être désolé. Nous avons tous une vie.
Tu en as déjà assez fait. Je reviendrai aux nouvelles dès que possible.
Semaine de contrôles médicaux.
En effet, comme tu me le dis il manque une entrée/sortie (PB).
Il parait que l'on peut modifier le rôle de la pin 1 (Reset) de l'ATtiny85.
Encore, cela m'a permis de découvrir Arduino.
Merci.
Elias
Bonjour Elias.
Oui, on peut utiliser le reset comme une pin d'Input/Output mais le problème est qu'une fois qu'on a fait cela, on ne peut plus télécharger un programme à l'aide du programmateur Arduino as ISP sans d'abord réinitialiser les fusibles à l'aide d'un programmateur haute tension (que je n'ai pas).
Donc pour débugger ou pour réécrire un code, cela fait toute une série de manipulations un peu compliquées.
Rebonjour Philippe,
Comme j'avais un peu de temps avant de me préparer.
Pour te faire un retour rapide, je me suis empressé de faire un test sur une bredboard.
Je te dis bravo! Pour moi, c'est parfait.
Fonctionne très bien. Il ne me reste qu'à souder les composants sur la petite plaque.
J'en connais une (ma fille), qui sera très contente de récupérer sa tondeuse fonctionnelle.
je tiens à te préciser que le poussoir en série avec la pile ne fonctionne pas car l'appareil est alimenté par la même pile.
J'ai donc mis comme tu me l'avais suggéré le Bouton Poussoir en série avec le moteur.
Je ne te remercierai jamais assez pour ta ténacité, pour le partage de tes connaissances et ton expérience.
Citation de: philchamp51 le Avril 07, 2025, 09:11:45 AMBonjour Elias.
Oui, on peut utiliser le reset comme une pin d'Input/Output mais le problème est qu'une fois qu'on a fait cela, on ne peut plus télécharger un programme à l'aide du programmateur Arduino as ISP sans d'abord réinitialiser les fusibles à l'aide d'un programmateur haute tension (que je n'ai pas).
Donc pour débugger ou pour réécrire un code, cela fait toute une série de manipulations un peu compliquées.
Oui, je m'en doutais que c'est compliqué. Surtout pour un novice comme moi, avec très peu de matériels.
Encore merci.
Elias.
Je suis content de l'issue de tous ces échanges et c'était un plaisir de pouvoir t'assister dans cette recherche de dépannage.
Ne jamais baisser les bras, il y a toujours une solution.
Tiens-moi quand même au courant de la bonne finalité et avec une photo de ta réalisation.
A bientôt.
Philippe.
Citation de: philchamp51 le Avril 07, 2025, 09:40:33 AMElias.
Je suis content de l'issue de tous ces échanges et c'était un plaisir de pouvoir t'assister dans cette recherche de dépannage.
Ne jamais baisser les bras, il y a toujours une solution.
Tiens-moi quand même au courant de la bonne finalité et avec une photo de ta réalisation.
A bientôt.
Philippe.
Je n'y manquerai pas. Sur quel site as-tu déposé ta vidéo?
Ci-joint.com, rame toujours sans donner le lien.
Et, je ne voudrais pas fâché ton Anti-malwares.
La dernière fois j'avais choisi un site gratuit sans inscription via Google.
A très bientôt.
Elias
Elias,
Message envoyé en mp.
Si tu as de l'alcool IPA, tu peux essayer d'en mettre sur la puce sans marquage, j'ai déjà eu plusieurs fois la surprise de découvrir que le marquage était juste caché par de la peinture.
Citation de: guigui le Avril 12, 2025, 02:40:09 PMSi tu as de l'alcool IPA, tu peux essayer d'en mettre sur la puce sans marquage, j'ai déjà eu plusieurs fois la surprise de découvrir que le marquage était juste caché par de la peinture.
Non, je n'en ai pas. Merci pour l'astuce.
Bonjour Philippe,
Comme promis, je devais revenir aux nouvelles.
Elles ne sont pas vraiment bonnes.
Sur la bredboard tout avait bien fonctionné.
Pour la réalisation, c'est tout autre chose.
Je dois réutiliser le petit circuit imprimé supportant les Leds et les boutons poussoirs.
Pour mettre les diodes en tête bêche, j'ai dû couper une piste et ajouter un strap.
Je me suis trompé en réalisant mes connexions.
Je vais tout reprendre sur la bredboard mais cette fois-ci en utilisant le circuit cité plus haut.
Stp, dis-moi si on peut retirer une résistance de limitation de courant des Leds.
En effet, elles sont toutes les 2 connectées à la pin PB3 de l'ATtiny85 (voir ton schéma modifié ci-joint).
Bonne journée.
Bonjour Elias.
Oui bien sûr, tu peux mettre une seule résistance de limitation de courant pour les 2 LEDs. J'aurais du le faire d'ailleurs.
Du coup, tu mets bien le troisième interrupteur sur une des broches du moteur et non sur l'alimentation.
C'est vrai que ce n'est pas facile de modifier un PCB existant.
Bon courage !
Citation de: philchamp51 le Avril 15, 2025, 11:25:15 AMDu coup, tu mets bien le troisième interrupteur sur une des broches du moteur et non sur l'alimentation.
Je l'avais mis en série avec le moteur lors du test sur la bredboard.
S'il est mis sur l'alimentation le circuit n'est pas alimenté.
Sauf erreur de ma part, il faudrait appuyer sur le levier pour pouvoir ensuite appuyer sur l'un des poussoirs de sens de rotation.
Or, le fonctionnement normal est la sélection du sens de rotation puis mise en marche du moteur.
Merci beaucoup. Je reviendrai aux nouvelles.
Oui c'est exactement ça.
Bonsoir Philippe,
j'ai tout repris sur la bredboard en utilisant qu'une seule résistance pour les 2 leds.
j'ai été un peu surpris avec une seule résistance les 2 leds s'allument.
Par contre avec 2 résistances à la mise sous tension, une seule led s'allume (sens de rotation par défaut).
je m'étais un peu précipité lors du 1er test. l'interrupteur est branché sur une borne du moteur.
Ce soir, je me suis aperçu que lorsque j'appuie sur le bouton connecté à la pin 7 de l'Attiny85
la Led2 s'allume. Mais dès que j'appuie sur le levier pour faire fonctionner le moteur, elle s'éteint et la led1 s'allume.
si je relâche le levier et le réutilise, le moteur tourne dans l'autre sens.
on dirait que le sens n'est pas parfaitement mémorisé.
Je me suis aussi aperçu que dans le programme, il n'y a qu'une diode.
Est-ce normal parce qu'elles sont montées tête-bêche?
Bonne soirée.
edit: ce sont les fichiers du post#168
Bonsoir Elias.
Je t'ai déjà expliqué le pourquoi d'une seule sortie LED sur l'ATtiny car on ne dispose que de 5 entrées/sorties, alors qu'il en faudrait 6.
Si les deux LEDs s'allument au démarrage, c'est qu'il doit y avoir un retour de courant. Alors mets deux résistances.
Les deux LEDs sont montées tête-bêche avec deux résistances vers PB3 mais les autres côtés sont, au VCC pour une et au GND pour l'autre.
Comme déjà expliqué, quand sur la pin 3 sort un VCC, c'est la LED avec l'anode vers la résistance qui s'allume et quand sur la pin 3 sort un 0V, c'est la LED avec la cathode vers la résistance qui s'allume. C'est la différence de potentiel entre les broches des LEDs qui en fait allumer une ou l'autre.
Là, on dirait que ton troisième interrupteur coupe l'alimentation et pas que le moteur.
Ou alors, l'appel de courant au démarrage fait chuter la tension et s'éteindre les circuits.
Le sens est bien mémorisé tant que l'ATtiny est sous tension.
Si j'ai le temps, demain je refais le montage et une vidéo.
Citation de: philchamp51 le Avril 15, 2025, 09:48:30 PMBonsoir Elias.
Je t'ai déjà expliqué le pourquoi d'une seule sortie LED sur l'ATtiny car on ne dispose que de 5 entrées/sorties, alors qu'il en faudrait 6.
Si les deux LEDs s'allument au démarrage, c'est qu'il doit y avoir un retour de courant. Alors mets deux résistances.
Les deux LEDs sont montées tête-bêche avec deux résistances vers PB3 mais les autres côtés sont, au VCC pour une et au GND pour l'autre.
Comme déjà expliqué, quand sur la pin 3 sort un VCC, c'est la LED avec l'anode vers la résistance qui s'allume et quand sur la pin 3 sort un 0V, c'est la LED avec la cathode vers la résistance qui s'allume. C'est la différence de potentiel entre les broches des LEDs qui en fait allumer une ou l'autre.
Là, on dirait que ton troisième interrupteur coupe l'alimentation et pas que le moteur.
Ou alors, l'appel de courant au démarrage fait chuter la tension et s'éteindre les circuits.
Le sens est bien mémorisé tant que l'ATtiny est sous tension.
Si j'ai le temps, demain je refais le montage et une vidéo.
Bonjour Philippe,
J'ai bien compris tout ce que tu viens de me réexpliquer.
Citation de: philchamp51 le Avril 15, 2025, 09:48:30 PMLà, on dirait que ton troisième interrupteur coupe l'alimentation et pas que le moteur.
Il ne peut pas couper l'alimentation vu le circuit.
une broche de l'interrupteur est connectée à la pin 1 du L9110,
la seconde broche est connectée à la broche (+) du moteur et la broche (-) du moteur est connectée à la pin 4 du L9110.
Je ne vois pas comment il coupe l'alimentation (pile branchée directement sur la bredboard), à moins qu'un phénomène interne n'influence l'ATtiny85.
Tu en as déjà assez fait, je t'en remercie sincèrement.
Bonne journée.
Bonjour Elias.
Je viens de refaire le montage. Effectivement, il faut bien les deux résistances car sinon elles s'allument toutes les deux et c'est normal (je n'avais pas bien réfléchis car on met deux LEDs en série entre VCC et GND en fait).
Ceci dit, mon montage fonctionne très bien avec les deux résistances de LED et le code 1.4.0.
Ton troisième interrupteur est bien branché mais j'ai vu ta vidéo et là, on voit clairement une grosse baisse de tension à l'allumage du moteur. Tu devrais brancher un multimètre aux bornes de l'alimentation pour mesurer le voltage que tu as quand le moteur démarre.
Si tu as une alimentation de labo, fais un test avec.
Je n'arrive pas à bien voir, sur ta vidéo, comment tu as connecté les composants sur la plaque d'essai. J'ai un doute au niveau des résistances et LEDs.
J'attends ton retour.
Je viens de constater un petit bug. Quand on met le sens 2, le moteur revient au sens 1 après un petit temps.
Je regarde ça mais en attendant, mesure quand même ta tension batterie à allumage du moteur.
Pas de bug dans le programme, en fait ce sont les parasites du moteur qui perturbent l'ATtiny et qui provoquent ce changement de sens.
Quand je l'éloigne, tout fonctionne bien.
Bonjour Philippe,
Cela fait pas mal de temps que je ne bricole plus en électronique.
Je le fais juste pour faire plaisir à ma fille.
ou pour rendre service à des personnes qui me sont chères.
Je n'ai pas d'alimentation stabilisée.
Je fais mes tests avec une pile Lithium identique à celle de l'appareil.
Je ferai la mesure demandée et te tiens au courant.
Cependant, entre temps, j'ai utilisé l'IA pour le programme.
Cela n'a pas été facile. Mais finalement, un programme semble convenir.
Bien ce n'est pas vraiment, ce que j'avais demandé à l'IA.
Dis-moi, ce que tu en penses.
Citation de: philchamp51 le Avril 16, 2025, 12:07:26 PMPas de bug dans le programme, en fait ce sont les parasites du moteur qui perturbent l'ATtiny et qui provoquent ce changement de sens.
Quand je l'éloigne, tout fonctionne bien.
Ok. Merci.
je ferai le test en rallongeant les fils pour éloigner le moteur.
ça doit être l'influence sur champ magnétique du moteur.
c'est encourageant. Merci beaucoup.
C'est exactement la même chose, à part que le code regarde l'état des deux boutons à chaque test au lieu des seuls boutons 1 ou 2 mais puisque les entrées sont en PULLUP, cela ne sert pas vraiment.
Et puis, pas de delay(50) avant un changement de sens.
Donc, code IA non utile.
Citation de: cathodic le Avril 16, 2025, 12:11:33 PMCitation de: philchamp51 le Avril 16, 2025, 12:07:26 PMPas de bug dans le programme, en fait ce sont les parasites du moteur qui perturbent l'ATtiny et qui provoquent ce changement de sens.
Quand je l'éloigne, tout fonctionne bien.
Ok. Merci.
je ferai le test en rallongeant les fils pour éloigner le moteur.
ça doit être l'influence sur champ magnétique du moteur.
c'est encourageant. Merci beaucoup.
Je viens de mettre une ferrite autour des fils d'alimentation de l'ATtiny et là, plus de perturbations à son niveau même avec le moteur proche donc c'était bien ça.
Citation de: philchamp51 le Avril 16, 2025, 12:13:06 PMC'est exactement la même chose, à part que le code regarde l'état des deux boutons à chaque test au lieu des seuls boutons 1 ou 2 mais puisque les entrées sont en PULLUP, cela ne sert pas vraiment.
Et puis, pas de delay(50) avant un changement de sens.
Donc, code IA non utile.
C'est ce que j'ai toujours pensé IA pas très utile.
Mais cette fois-ci j'ai été bluffé par le fonctionnement.
Remarque je ne suis plus alerte comme avant. Mon sens de l'observation régresse d'année en année.
Merci.
Citation de: philchamp51 le Avril 16, 2025, 12:29:26 PMCitation de: cathodic le Avril 16, 2025, 12:11:33 PMCitation de: philchamp51 le Avril 16, 2025, 12:07:26 PMPas de bug dans le programme, en fait ce sont les parasites du moteur qui perturbent l'ATtiny et qui provoquent ce changement de sens.
Quand je l'éloigne, tout fonctionne bien.
Ok. Merci.
je ferai le test en rallongeant les fils pour éloigner le moteur.
ça doit être l'influence sur champ magnétique du moteur.
c'est encourageant. Merci beaucoup.
Je viens de mettre une ferrite autour des fils d'alimentation de l'ATtiny et là, plus de perturbations à son niveau même avec le moteur proche donc c'était bien ça.
Je pense qu'une fois remonté, ce phénomène disparaitra car il y a du plastique tout autour.
Le plastique ne protège pas des parasites sauf s'il y a une couche métallisée sur la face intérieure et reliée à la masse.
Sinon, j'ai fait une modification du code. Quand on appuie sur les 2 boutons en même temps, maintenant le moteur s'arrête complètement et repart dans le sens 1 après relâchement. Les deux LEDs clignotent toujours dans ce cas.
J'ai déplacé les delay car en fait, ils ne jouaient pas leurs rôles de tempo là où ils étaient placés...
Voici la version 1.4.1
Il n'y a pas d'âge pour bidouiller Elias et peu importe qu'on soit moins rapide et aiguisé, le principal est de garder la passion.
Citation de: philchamp51 le Avril 16, 2025, 05:37:55 PMIl n'y a pas d'âge pour bidouiller Elias et peu importe qu'on soit moins rapide et aiguisé, le principal est de garder la passion.
Bonjour Philippe, je te remercie pour tes encouragements.
En fait, je ne bidouille plus comme avant en électronique.
Et ce, depuis que ma vue a baissé et la généralisation des composants de surface.
Je ne suis pas équipé pour les CMS (SMD).
Je suis un "touche à tout".
J'ai eu une mauvaise surprise avec le 1er montage.
Là, j'ai d'abord modifié le petit circuit (des boutons et Leds de direction)
et testé sur la bredboard. Cela fonctionne.
je reprendrai le circuit principal ce week-end.
Je reviendrai aux nouvelles et c'est la moindre des choses.
Merci beaucoup.
Bonjour Elias.
Je sais, malheureusement, que cela m'arrivera aussi et je te comprends mais comme je te l'ai dit, garde la passion du touche à tout.
Courage, la réussite est au bout de tes doigts.
A très vite.
Philippe.
Bonjour Philippe,
Malheureusement, la réussite n'est pas au bout de mes doigts.
Je n'ai pas noté mes constatations en testant le programme V1_4_1, mais il ne fonctionne pas correctement.
J'ai utilisé la version V1_4_0, je me suis aperçu qu'il y a un dysfonctionnement.
J'ai tout repris sur la bredboard. Lorsqu'on appuie sur le bouton de mise en marche du moteur
et qu'on le relâche, à la troisième action le moteur ne tourne pas, la luminosité de la Led diminue un peu.
Cependant, je remarque un petit à coup de l'axe du moteur mais celui-ci ne démarre pas.
je n'arrive pas à comprendre, est-ce dû au programme, à de mauvais contacts sur la bredboard ou les 2.
Mais j'ai observé ce dysfonctionnement même après le remontage de l'appareil.
En espérant que ton expérience et tes compétences puissent te fournir une explication et une solution.
Excellente journée même si elle est pluvieuse comme ici.
nb: transfert photo dans un moment ---> Photo (https://we.tl/t-ZCVUcixw47)
ps: n'y a-t-il pas un problème de rebond des poussoirs?
Rebonjour,
Avec ce programme semble mieux fonctionner. Du moins sur la bredboard.
Je reviendrai aux nouvelles, une fois l'appareil remonté.
Merci.
Bonjour Elias.
Oui, petite erreur dans la version 1.4.1 que j'avais envoyé. Les ports n'avaient pas été remis correctement. Voici la version corrigée.
Il n'y a pas de problème de rebond car il y a un boolean pour éviter cela.
Mets des résistances de 220 ohms pour les LEDs.
Retire la diode qui alimente l'ATtiny85 et connecte le directement au Vcc.
Fais des essais comme cela car moi ça fonctionne très bien de mon côté, alors il n'y a pas de raison.
Bonjour Philippe,
Je te remercie pour ton retour. Tu me confirmes que cela fonctionne bien.
Je t'avoue que cela commence à me prendre la tête.
Mais étant têtu comme une bourrique. Je ne lâcherai pas le morceau.
Avec le programme que j'ai joint dans mon précédent post, sur la Bredboard il fonctionne bien.
L'histoire des rebonds vient à la suite du visionnage d'un tuto sur le Net. Je ne savais même pas que ce phénomène existait.
Maintenant, le problème est interconnexion entre la nouvelle platine et celle qui porte les poussoirs et les leds d'origine.
La led que j'ai ajouté sur la bredboard, est là juste pour respecter ce qu'il y a sur la platine d'origine.
J'ai dû faire une erreur en modifiant la petite platine des poussoirs et des Leds.
Car initialement, les cathodes des leds et une broche des poussoirs étaient reliés à la masse.
Ton ingénieuse idée pour la mise des diodes en "antiparallèle", j'ai coupé une piste.
Il me semble maintenant que je dois en couper une autre.
Je te remercie beaucoup.
Je reviendrai aux nouvelles.
Bonjour Philippe,
Toute ma gratitude. Merci pour ton aide, ta patience.
Tondeuse fonctionnelle grâce à ton expertise.
à très bientôt.
1000 mercis
Tondeuse fonctionnelle (https://we.tl/t-xT1gyv5qnu)
Bonjour Elias.
Quelle bonne nouvelle ! Ton entêtement a eu raison de la machine.
Je suis très heureux pour toi et ta fille.
J'aurais quand même aimé savoir quelle circuit intégré ils avaient utilisé...
Bien le bonjour de France à ton entourage.
A bientôt et vive la bidouille !!!
Philippe.