[attiny45] problème de reboots intempestifs

hello la commu;
j'ai réalisé un circuit avec le schéma ci-dessous:

Le but est de commander un moteur (12V), et comme je ne dispose pas de fin de course, je mesure à travers la résistance RM la tension, pour voir si le moteur est bloqué ou pas.

Quand j'utilise un attiny(U1) comme prévu dans le montage final (PCB déjà réalisé): dès que le moteur se met en route, le attiny reboot tout seul.

Par contre, si je branche un arduino nano (ou un simple uno) avec des fils directement dans le support prévu pour le attiny, aucun souci, tout fonctionne nickel (programme en C ok).

Je précise que l'arduino nano utilise l'alimentation du PCB.
Régulation +12V par 78L09 et LM1117-5V (IC1 & IC2)
Déparasitage alim par C1/C2 et moteur déparasité par 3 condos soudé sur lui directement.
R5 & R6 sont là pour ne pas dépasser 5V en entrée de l'attiny sur Analog-1 (broche 7).
Relai K1 = relai alimentant le moteur / K2 = relai de changement de sens de rotation

Quelqu'un a une idée de pourquoi le attiny ne fonctionne pas "normalement" ?

PS: j'ai déjà checké: il n'y a ni extraterrestres ni trolls dans ma maison ! (c'était la touche d'humour du jour; bonjour ! :smile: )

hello
as tu essayé de mettre un condo sur l'alim de l'Atiny, histoire de compenser l'appel de courant du moteur?

Oui, c'est le but de C2 (47µ/50v).
Et montage sur batterie de voiture, j'ai oublié de préciser :wink:

un petit tantale, au plus près des pattes de l'atiny pour les parasites éventuels?

Pas fan des tantales du tout, surtout en automobile :-/
Je viens d'essayer, et idem de toute façon (test sur batterie 12V de voiture, sans moteur tournant car... hors voiture ^^ )...

Tout ça pour réparer une antenne électrique :-/ (moteur & mecanique fonctionnel mais électronique en panne)

Tu n' as pas beaucoup de condensateur a l' entrée et a la sortie de tes régulateurs de voltage.

C'est corrigé à l'instant.
Aucun changement.

Le souci ne vient pas du programme d'ailleurs, j'ai ecris un truc vite fait qui fait juste un output 1 sur la sortie du relais de commande après un délai de 5000 ms dans le setup (boucle loop vide).
Sans brancher le moteur: nickel.
Dès que je branche le fil (montage toujours alimenté) le relai revient au repos et le tiny reboot; puis le relai se réactive après 5 secondes, puis reboot etc....)
Ce n'est pas un problème de baisse de tension, la batterie est au plomb et peut fournir 690 ampères en CC (I. de démarrage) ^^"
Donc ce n'est pas un petit moteur qui consomme 80 ma qui lui fait peur :stuck_out_tongue:

Salut.
Tu devrais mettre une diode de roue libre en // sur le moteur, cathode au +12V comme sur tes relais.

Hey :slight_smile:
Le souci c'est que le moteur change de sens de rotation en inversant la tension à ses bornes justement, donc la diode risque de fumer dans l'autre sens ^^

J'ai ajouté une diode de roue libre sur l'alimentation sur le PCB, même sentence ^^

Par sûr que cela ait un rapport mais je me demande pourquoi tu mesures le courant dans la branche du 12V au lieu de le mesurer dans la branche du GND (entre P1 de K2 et GND).

Tu ne bouges pas K2 lorsque K1 est actif?
Je ne comprends pas trop les 2 régulateurs en cascade (quelle référence?).

Donc, remplacer la diode par un snubber (capa de 100nF + 100Ω en série, le tout en // sur le moteur).

En fait, je mesure la hausse de tension aux bornes de la résistance quand le moteur se bloque.
Je pourrai effectivement mesurer dans l'autre sens, mais je ne pense pas que ca va changer grand chose ^^ (tension max mesurée : 4,3V moteur bloqué avec le pont R5/R6)

Ensuite, vis-à-vis des relais, selon le sens de rotation choisi j'active d'abord K2, puis j'envoi le courant par K1.

@hbachetti: je teste ça d'ici 2 heures environ :slight_smile:

Désolé j'avais zappé: les 2 régu en cascade c'est car la tension peut monter à 14,8 V, donc ca risque de faire beaucoup pour un simple LM1117
Donc je régule d'abord à 9, puis à 5.

En restant dans la branche de masse on s'évite toutes les perturbations/surtensions qui peuvent se balader sur la ligne +12V.

En ambiance perturbée,

  • pas d'entrée en l'air. Par précaution, ce serait bien de tirer PB4 au +5V à travers une résistance.
  • mettre une petite capa sur les entrées contact et sensor. Une surtension, même avec le pont diviseur, peut toujours dépasser les 5V. Ou alors mettre des zener sur les entrées.
  • Éviter les proximités dangereuses bien ségréguer la puissance et la partie µcontrôleur.

Après, j'ai plus d'idée...

@hbachetti le coup du snubber: ça fonctionne une fois sur 10, y a du mieux ^^
@fdufnews PB4: pas de soucis je vais faire ça (déjà en pullup interne dans le prog, mais on sait jamais ^^)
Petite capa: du genre ? pico ou nano ? sinon j'ai des zener 4.8...

Et moi non plus j'ai plus d'idées ^^

Le snubber étant prévu pour du 230V, il faut adapter les valeurs pour du 12V. Essayer avec 220nF par exemple.

Les diodes de roue libre sont aussi exploitables dans ce cas :
Ici un exemple avec pont en H. Il en faut 4 :

Je vois assez mal l'intérêt d'un montage à relais pour faire tourner un moteur dans les deux sens. Un L293D aurait eu parfaitement sa place ici (1A maxi) .

Le problème du L293D est qu'il a un léger courant de fuite permanent.

Bonsoir

le L293D fête ses 50 ans , respect aux anciens !
Le LM7809 est du même tonneau

OK pour donner un aspect 'vintage' au montage -(les relais sont d'ailleurs parfaits dans cette perspective) mais l'électronique à un peu évolué pendant ce demi-siècle....) :wink:

je présume que l'image fournie par @hbachetti est là pour montrer le principe de positionnement de roues libres

Il en existe d'autres, TB6612FNG par exemple.
Le choix est vaste, sans pour autant être contraint de choisir une technologie aussi dépassée que des relais.