Show Posts
Pages: 1 ... 85 86 [87] 88 89 ... 240
1291  International / Français / Re: passage en référence & on: November 21, 2013, 11:06:11 am
Han ok ^^

Dans ce cas autant essayer de rendre la chose utile smiley-wink genre passer l'adresse de ta variable count lors du lipo.begin() et n'avoir qu'à faire myLipo.getLipoCellsCount() pour la mettre à jour
1292  International / Français / Re: passage en référence & on: November 21, 2013, 09:17:36 am
En fait je vois pas trop pourquoi tu "t'ennuis" avec un pointeur ici. Il suffit de retourner ta valeur point barre :

Code:
int getLipoCellsCount(){

  float value = 0;
  float volt = 0;
  int count = 0;
 
  for(int i = 0; i < MAX_CELLS; i++){

    value = analogRead(lipoPins[i]);
    volt = map(value, 0, 1023, 0, 5000);
   
    switch(i){       
      case 0:        // Cell N°1
        if(volt > 4){
          count ++;
        }
      break;     
      case 1:        // Cell N°2   
        if((volt + 4) > 8){
          count ++;
        }
      break;   
      case 2:        // Cell N°3
        if((volt + 8) > 12){
          count ++; 
        }
      break;     
      case 3:        // Cell N°4
        if((volt + 12) > 16){
          count++;
        }
      break;
      case 4:        // Cell N°5
        if((volt + 16) > 20){
          count ++;
        }
      break;
      case 5:        // Cell N°6
        if((volt + 20) > 24){
          count ++;
        }
      break;
    }
  }   

return count;

}

et

Code:
  nbCells = myLipo.getLipoCellsCount();
1293  International / Français / Re: analogRead(A0) me donne toujours une valeur !!! on: November 21, 2013, 09:12:38 am
Oula oula ... Décidément on va pas y arriver xD

R2 tu viens de le calculer, oublies cette historie de pull down ! Si on devat installer une résistance qui n'aurait que la fonction de pull down ça ferait :

          |
         R1
          |
          |--------- A0
         R2          |
          |           R3
        GND        |
                     GND

Comme R3>>R2, l'influence de R3 serait donc nulle face à celle de R2 et on voit bien que R2 et R3 sont raccordés aux mêmes points
1294  International / Français / Re: analogRead(A0) me donne toujours une valeur !!! on: November 21, 2013, 07:34:35 am
Attention il ne faut pas confondre pull down et la résistance d'un pont diviseur. Quand on parle à proprement parler de pull down ou pull up on suppose ce que va être raccorder (ou pas d'ailleurs) peut avoir un état flottant qu'il faut gérer.

Exemple typique : un interrupteur

                       5V
                         |
                       R(10M)
                         |
               /        |
GND ---/   *--------- Pin digital
                  
S'il n'y avait pas de pull up, le pin digital serait flottant, donc impossible d'en tirer quelque chose. Avec la R de pull up, il est à 5V quand l'interrupteur est ouvert, et passe au GND quand on le ferme, on peut ainsi détecter l'appui.  

Dans ton pont diviseur c'est différent puisqu'en fait c'est R2 qui va jouer le rôle de pull down quand il n'y a pas de cellule de branchée. Donc dans un montage comme le tiens la question de se pose même pas.

Autre fait dont tu n'as visiblement pas connaissance vu tes calculs : en INPUT l'impedance (la résistance quoi) est de 100 Mohm. Donc les 5A nan pas possible smiley-wink ce qu'il faut regarder dans ton pont diviseur c'est deux choses : d'abord que le micro ne voit pas plus de 5V, donc R1/(R1+R2) < 0.5 donc au minimum R1 doit être supérieur ou égale à R2. Donc plus que les valeurs des résistances, c'est le rapport entre les deux qui prévaut. Second point : la consommation de ton pont : il forme une résistance équivalente R1+R2 qui va évidemment laisser passer du courant. Le but c'est qu'il ne bouffe pas ta batterie.

Pour synthétiser : que tu prennes R1=R2=1k ou R1=R2=1M tu auras les mêmes résultats ici mais pas la même consommation. Alors ici ça n'a aucune incidence parce l’impédance d'entrée et donc le courant nécessaire à l'atmega pour sa mesure est infime (5V/100Mohm!), mais dans d'autre cas, il se peut que ce qui se trouve à la place de l'atmega a besoin de plus de courant. Dans ce cas on calcul R1 pour qu'elle soit capable de laisser passer assez de courant, et ensuite R2 pour obtenir le bon voltage en fonction de R1.
    
1295  International / Français / Re: Fréquence d'acquisition de la carte mega on: November 21, 2013, 07:32:51 am
J'imagine que pour le courant d'une rivière ton hélice doit pas tourner très vite. Pour avoir une idée certains sur le forum ont fait des comptes-tour moteur thermique ou de vitesse smiley-wink
1296  International / Français / Re: adaptateur USB pour Arduino Pro Mini on: November 21, 2013, 07:31:01 am
muet = dépourvu d'inscription, comme une carte muette.

Il ne dispose pas de borne RST pour relier à DTR. Ses bornes sont TXD, RXD et 3 pour les alim (5, 3.3, Gnd).


Ta pro mini n'a pas de RST ??! T'as une photo ?
1297  International / Français / Re: Problème de champ magnétique avec des relais de puissance on: November 21, 2013, 03:32:24 am

Je l'ai déjà fait cet après midi. Tout fonctionne bien. J'ai programmé des ouverture/fermeture des relais toutes les 10 secondes et 10 minutes plus tard ça tournait toujours. En branchant le 220 pour alimenter une lampe de chevet. toujours pas de problème mais dès que secoue la prise de la lampe (pour faire clignoter ma lampe de chevet "à la main") le lcd plante après avoir fait apparaître quelques caractères hiéroglyphiques. ça c'est la technique qui fait planter à coup sur mais j'ai aussi essayé de simplement allumer ma lampe d'attendre et au bout de quelques heures ça plante.


Oula oula ... Quand tu secoue ta prise ??! Dois-je ne rappeler que tu joues avec du 230V ? Si ça clignote quand tu bouges la prise il faudrait commencer par revoir les branchements ... les mauvais contact c'est une des raisons principale des incendies. Y'a pas un interrupteur sur ta lampe plutôt ??

Après si ça plante au bout de plusieurs heures il faut peut-être chercher dans le code
1298  International / Français / Re: analogRead(A0) me donne toujours une valeur !!! on: November 21, 2013, 03:27:02 am
Pullup ce n'est pas pull down. UP = haut DOWN = Bas PULL = TIRER

Donc pull up tire vers le haut, soit 5V et pull down vers le bas, soit 0V. Et normalement oui il faut une résistance externe, car en interne ça va de 20k à 50k, ce qui est un peu faible pour cette application car un pull up ou down ne doit pas influencer la mesure, juste donner un état stable quand il y a flottement. Hors à 20k si on est pointilleux ça peut perturber, en général on prend 1 ou 10 Mohm. Mais attention ce n'est pas un diviseur à proprement parlé. Si j'active le pull down interne ça donnerait schématiquement :

           |      Atmega328p
           |
A0 --- | ---------- ADC
           |       |
           |      R(20/50k)
           |       |
           |    GND

Avant l'IDE 1.0, il fallait (fallait mais ça marche toujours après cette version) simplement écrire digitalWrite(tonPin, HIGH ou LOW) sur un pin configuré en INPUT.
1299  International / Français / Re: Problème de champ magnétique avec des relais de puissance on: November 20, 2013, 05:32:28 pm
Essaye déjà en branchant la partie Arduino + relais + LCD directement à ton PC. Pas la peine de sortir la grosse artillerie alors qu'un simple test déjà permettrait d'y voir bien plus clair ...
1300  International / Français / Re: Réception de données arduino en série avec Visual basic 2010 on: November 20, 2013, 05:30:29 pm
Le mieux est d'utiliser l'évènement on_comm pour déclencher la lecture
1301  International / Français / Re: analogRead(A0) me donne toujours une valeur !!! on: November 20, 2013, 02:29:31 pm
Une idée ? Merci

Je viens de te l'expliquer
1302  International / Français / Re: Problème de champ magnétique avec des relais de puissance on: November 20, 2013, 01:48:04 pm
Je crois que tu comprends pas : il y a 0.0001% de chance que ça soit dû à des rayonnements (perso j'ai jamais, une influence sur des mesures analogiques, OK, faire tout planter, nan). En revanche, des parasites quels qu'ils soient sur la ligne d'alimentation (bruit, chute de tension ... enfin bref n'importe qu'elle perturbation de la tension) , ça c'est bien plus plausible. Tu peux mettre une plaque en plomb que ça changera rien ...
1303  International / Français / Re: analogRead(A0) me donne toujours une valeur !!! on: November 20, 2013, 01:41:37 pm
Si je comprend bien tu t'étonnes que tu ne sois pas à zéro si tu ne branche rien : c'est normal ton pin n'est justement relié à rien, il est dit "flottant" et va et vient au grès de l’environnement. Il faut mettre une résistance de pull down
1304  International / Le bar / Re: ADC 10 bits UNO on: November 20, 2013, 10:20:10 am
Après il faut toute proportion garder : la datasheet de l'Atmega donne +/- 2LSB et la tu es dans ce domaine, même s'il y a fort à parier qu'Atmel n'a pas trop intérêt à se mouiller. Après vouloir aller chercher une précision au LSB sur un ADC c'est qu'on a pas fait les bons choix technique au départ.

Mais c'est très intéressant quand même puisque que "qui peut le plus peu le moins" et ça permet de prévenir certaines erreurs.

Par contre dans ton protocole je te mets en garde sur un point : l'USB peut fortement perturber une mesure. Ca m'est arrivé il y a peu, je ne comprenais pas pourquoi mes mesures (alors j'utiliser un ADC 18 bits et PGA 8x donc mesure au µV) partaient dans les choux à des moments improbables. Il se trouvait que j'alimentais l'ADC via l'USB et que suivant l'activité que j'avais sur mon PC ça faisait bouger l'alim, et l'impact était très visible sur mes mesures, malgré une palanqué de condos de découplage ...
1305  International / Français / Re: adaptateur USB pour Arduino Pro Mini on: November 20, 2013, 10:10:45 am
Qu'est-ce que tu entend par muet ?

Normalement le branchement est :

Adaptateur  RX    --   TX  Atmega
                    TX    --   RX
                  DTR   --  RST
                 GND   --  GND
                    5V   --   5V
Pages: 1 ... 85 86 [87] 88 89 ... 240