Comportement aléatoire alimentation USB pc portable + detection source externe

Bonjour à tous,

Je suis face à un "comportement étrange" de l'arduino, et j'ai mis un moment avant de trouver la cause, ou plutôt la solution temporaire... tantôt pensant à un problème du programme, tantôt à un problème de mon montage électronique.

Le montage:
C'est un montage hyper basique à base d'arduino mega 2560 + batterie 12Vdc + pont diviseur + BPs. rien de plus !
Voici un petit schéma (j'ai représenté que trois "blocs" mais en réalité il y en a 30.)

Le pont diviseur donne une tension de sortie d'environ 2.5V.
Je n'avais que ça comme résistance sous la main... mais les 2.5V sont supérieur au seuil de détection entre état bas et état haut, selon le datasheet de l'atmega 2560.
Les sorties Vs1 - Vs3 sont reliées sur des entrées différentes de l'arduino.
Les masses de la batterie et de l'arduino sont reliées ensemble.

Programme:
Le programme est tout bête il détecte quand j'appuie sur un BP et me l'affiche sur le pc via la liaison série.
A noter que je n'appuie que sur un BP à la fois.

Problème:
Quand j'ai fais mes essais avec une source 5V prise sur l'arduino et donc sans passer par le pont diviseur (puisque 5V et non 12V), toutes les détections fonctionnement très bien, aucun soucis.

Quand je passe par la batterie de 12Vdc + le pont: résultat très aléatoire... l'arduino détectait l'entrée à l'état haut quand ca lui chantait... Dès fois le simple fait de poser le "-" du multimètre sur la borne "-" de la batterie 12V, alors que le pont était toujours alimenté, permettait instantanément la détection via l'arduino (le "+" du multi était encore en l'air) :astonished:
Après vérification au multimètre quand il y avait un soucis, l'entrée recevait bien le +2.5Vdc, si jamais je testais l'entrée posant problème en réutilisant une source 5V de l'arduino: détection OK! (en enlevant la source 12Vdc, bien entendu)

A noter que j'avais ce phénomène quand l'arduino était alimenté en USB avec mon pc portable, j'ai essayé avec un autre pc portable: idem. sur secteur ou batterie: idem, avec prise de terre ou non: idem
Quand j'essayais avec une petite alim 230Vac -> 9Vdc que je branchais sur la prise jack de l'arduino (et sans usb): la détection avait l'air bonne, j'avais très peu de loupés: je pense du à la breadboard.

Comme je n'avais plus de retour sur le pc, puisque USB débranché, j'ai décidé de mettre un petit LCD (de nokia 5510) et là miracle, meme si le montage est alimenté par USB: TOUT MARCHE !! je débranche le LCD: ça merdouille.... je rebranche: tout est ok !

Savez-vous m'expliquez ce phénomène ?? :relaxed:
Pourquoi l'arduino ne parvient pas à détecter une source externe, quand il est en USB et sans "charge" (pas de lcd dans le cas présent) sur son alim ??

Merci pour votre aide.

Bonjour,

Avec tes valeurs de R indiquées, la tension aux entrées (ToR je présume) est de l'ordre de 2,5V maxi.
C'est justement dans la plage la plus critique pour obtenir un bon fonctionnement.
Le phénomène est donc normal.

Il suffit qu'une mouche vole un peu trop près pour faire varier l'état de l'entrée.
Le moindre parasite électrique va faire varier l'état de l'entrée.
Pour une entrée ToR il faut soit (0 à 1 V) soit (4 à 5 V) appoximativement.

Géryko

Alors là.... je suis impardonnable !
Suite à ton message j'ai repris le datasheet du mega2560 (http://www.atmel.com/Images/Atmel-2549-8-bit-AVR-Microcontroller-ATmega640-1280-1281-2560-2561_datasheet.pdf) et page 355, le Vih est de 0.6 x Vcc, soit 3Volts minimum pour détecter un état haut.
Sauf que l'autre jour j'ai lu 0.6Volts et non 0.6Vcc.... :blush:

Bref, je vais essayer de changer les valeurs de mon pont diviseur et tester, mais je pense que mon "problème" est résolu :smiley:

Bonjour,

De plus :

    • si ton 12V n'est pas stable, par exemple, varie de 10 à 15 V mettre une Zenner 4,7 V en // sur la 10 k ? ? ?
      ( calculer Rx au 12V de la manière suivante : (U au delà des 5 V multiplé par 10k / 5)
      exemple si U mini = 11V Rx = (11-5) x 10k / 5 = 12k
    • si ton 12V est parasité, (ou contacts rebondissants ) mettre une capa 0,1 uF en paralléle sur la 10 k ? ? ?
      Géryko

Bonjour à tous,

Et bien comme je m'en doutais, quand on lit correctement le datasheet et bah ca va mieux :smiley:
Le montage est donc fonctionnel avec des résistances donnant une tension de sortie supérieur au 3V min.

Geryko: Merci pour ces deux astuces, je note !