interférence signal analogique

Bonjour, :.

En parallèle au topic sur le tabeau de bord j'ouvre celui la pour un problème plus urgent. :grin:
Pour le travail on m'a demander de réaliser un programme et tout le hardware qui va derrière pour Contrôler des Servo-Moteur modifié pout tourner a 360° a partir d'un capteur tactile (type TinkerKit).
Tout marche à merveille:
le capteur fonctionne
les servo moteur sont OK
la carte que j'ai réalisée est pas trop mal
le tout est alimenté par un alim externe (arduino et servomoteur sur la même j'ai mit le +(v de l'alim sur le Vin du arduino c'est ca )
:sweat_smile:
MAIS...
Après avoir uploader le programme dans la carte arduino, quand je débranche la câble USB le système bug :
c'est comme si le capteur détectais tj un contact tactile le programme tourne en boucle et ça fait ça que quand le câble USB est débranché sinon ça marche niquel or j'ai besoin que le montage fonctionne indépendamment d'un prise USB d'un PC.
j'ai pensé a un problème de racordement a la masse, ou a une érreure de code . :frowning:

voila je me tourne vers vous, j'ai dis a mon patron que ca marcherais pour demain, comme quoi tant que c'est pas fini ça peut toujours merder... =(

voila le code :

int val = 0; //initialisation de la variable du capteur

#include <Servo.h> //ajout de la librairie pour les servomoteur
// définition entrée sortie:
int ledpin(13);
int tactilsensor(A0);
Servo servo1;
Servo servo2;
Servo servo3;
Servo servo4;
int pos = 88;
void setup() 
{
  pinMode(ledpin, OUTPUT);
  servo1.attach(9);
  servo2.attach(10);
  servo3.attach(11);
  servo4.attach(12);
  
}

void loop() 
{
  val = analogRead(tactilsensor); //lecture de la tension d'entrée
   
  
  if ( val > 110 )
    {
      servo1.write(180);
      servo2.write(180);
      servo3.write(180);
      servo4.write(180);
     digitalWrite(ledpin,HIGH);
      delay(1000);
      digitalWrite(ledpin,LOW);
      delay(1000);
      digitalWrite(ledpin,HIGH);
      delay(1000);
      digitalWrite(ledpin,LOW);
      delay(1000);
      digitalWrite(ledpin,HIGH);
      servo1.write(0);
      servo2.write(0);
      servo3.write(0);
      servo4.write(0);
      delay(1000);
      digitalWrite(ledpin,LOW);
      delay(1000);
      digitalWrite(ledpin,HIGH);
      delay(1000);
      digitalWrite(ledpin,LOW);
      servo1.write(102);
    servo2.write(88);
    servo3.write(90);
    servo4.write(95);
    delay(500);
      
    }
    servo1.write(102);
    servo2.write(88);
    servo3.write(90);
    servo4.write(95);
}

Première chose, mettre le code entre les balises dans ton message....

le tout est alimenté par un alim externe (arduino et servomoteur sur la même j'ai mit le +(v de l'alim sur le Vin du arduino c'est ca )

Tu pourrais pas nous faire un petit dessin de l'interconnexion de l'ensemble et mettre les caractéristiques de l'alimentation celle des servo et le nombre de servo.
Ton truc fais penser à un problème d'alim sur l'arduino.

donc pour récapituler : j'ai une alim 5v max 5A qui est branchée sur le Vin de l'arduino et sur le ground qui est a coté du 3v +
j'ai aussi 4 servo moteur qui sont Contrôlé par les patte 9,10,11,12.
la patte 13 est reliée a une led témoin .
mon capteur est relié au borne 3V3 , Ground et A0 .
Les servo moteur sont des servomoteur hitec classique modifié pour tourner a 360°.
le tout est monté sur un shield fait maison.
quand la prise usb est branchée du arduino au pc ca marche super bien ( bien que le capteur soit sensible) mais, quand je la débranche tout marche sauf le capteur (ou le arduino) qui crois qu'il est toujours en contact avec un doigt ...

désolé du peu d'info mais si il faut je vous freais quelque photo .

merci d'avance,

Nightmare4291

j'ai une alim 5v max 5A qui est branchée sur le Vin de l'arduino et sur le ground

Le Vin entre sur un régulateur, elle doit recevoir une alimentation supérieure à 7,5V. Si tu délivres un 5V il faut entrer sur la broche 5V

nightmare4291:
donc pour récapituler : j'ai une alim 5v max 5A qui est branchée sur le Vin de l'arduino et sur le ground qui est a coté du 3v +

bonsoir
Vin c'est en entrée de regulateur 5V , ça ne peut pas fonctionner avec une alim sur Vin de 5V
il faut mini 5V+ delta V de drop-out .

edit : Fdufnews plus rapide :grin:

merci beaucoup j'essais ca ce soir.

j'ai eu un pb similaire sur un dev à base de Picaxe. Tout fonctionne tant que tu es relié à l'ordi, ça débloque après.

En fait pour moi le pb venait que tant que tu es connecté à l'ordi ton montage est fixe par rapport à la terre, quand tu débranches il devient flottant et les touches n'ont plus de référence.

La solution est de relié la masse de ton alim à la terre au travers d'une résistance de quelques meghoms. Pour le différentiel de l'installation c'est comme si tu étais toujours flottant, pour les touches elles récupèrent un référentiel.

Attention j'ai bien dit le 0V de ton alim à la terre, pas question de se connecter au neutre et encore moins à la phase ;+)).

Bons tests

??! A quel moment quand tu le branches au PC ton montage a une relation à la terre ??! Tout ce que tu fais en faisant ça c'est utilisait la capacité du fil de terre, ton problème devait être lié en réalité à une instabilité

B@tto, amuses toi à mettre un ohmmètre entre la terre et le 0V sur une alim d'ordi et tu verras que ce n'est pas que un effet capacitif, elle est découplée à la terre.

Tu as raison quand tu parles d'instabilité, elle est due au fait que le capteur tactile n'a pas de référence stable en cas d'alim flottante.
En fait le capteur fonctionne bien sauf que les valeurs mesurées sont à la ramasse et il n'y comprend plus rien.

grocrabe:
B@tto, amuses toi à mettre un ohmmètre entre la terre et le 0V sur une alim d'ordi et tu verras que ce n'est pas que un effet capacitif, elle est découplée à la terre.

Bah bien sûr qu'elle est découplée et heureusement vu que c'est des alim à découpage (enfin quand on tape pas dans du trop bas de gamme ...) ce qui permet d'éviter d'avoir une maison-antenne à harmonique. Mais une alim n'est jamais flotante, par définition c'est elle qui "fixe les règles" puisqu'il n'est question que de différence de potentiel. On peux très bien brancher un atmega avec un VCC à 24V et une masse à 19V.

Les detecteurs au toucher pour la grande majorité (et c'est le cas des picaxes) utilisent des sytèmes de mesure capacitifs, le pin n'est jamais laisser flotant et l'alimentation n'a aucune influence.