Pages: [1]   Go Down
Author Topic: interférence signal analogique  (Read 803 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 6
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour, smiley-small

En parallèle au topic sur le tabeau de bord j'ouvre celui la pour un problème plus urgent. smiley-mr-green
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 )
 smiley-sweat
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 . smiley-sad

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...   smiley-cry


voila le code :

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);
}
« Last Edit: January 29, 2013, 02:02:20 am by Jean-François » Logged

Forum Moderator
Geneva
Offline Offline
Faraday Member
*****
Karma: 24
Posts: 3171
Yoplait... le pt'it suisse
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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

MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

France
Offline Offline
Faraday Member
**
Karma: 23
Posts: 3017
There is an Arduino for that
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
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.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 6
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

France
Offline Offline
Faraday Member
**
Karma: 23
Posts: 3017
There is an Arduino for that
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
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
Logged

Offline Offline
Faraday Member
**
Karma: 19
Posts: 4178
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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  smiley-mr-green
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 6
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

merci beaucoup j'essais ca ce soir.
Logged

Offline Offline
Newbie
*
Karma: 1
Posts: 18
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

Ales
Offline Offline
Faraday Member
**
Karma: 29
Posts: 3176
Do or DIY
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

??! 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é
Logged


Offline Offline
Newbie
*
Karma: 1
Posts: 18
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

Ales
Offline Offline
Faraday Member
**
Karma: 29
Posts: 3176
Do or DIY
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged


Pages: [1]   Go Up
Jump to: