Show Posts
Pages: 1 ... 115 116 [117] 118 119 ... 202
1741  International / Français / Re: Consomation arduino et pile 9V on: August 31, 2012, 03:23:54 am
Il y a déjà eu quelques topics d'ouverts sur le forum concernant ces problèmes d'autonomie.

De base les cartes arduino ont des choses inutiles qui nuisent à l'autonomie de l'ensemble
    - une(des) led(s)
    - adaptateur USB <--> lien série
    - un régulateur série peut performant

Ensuite comme expliqué dans le lien que l'on t'a donné il y a aussi la manière de concevoir l'application.
Mais de base l'atMega qui est utilisé dans la carte arduino n'est pas un processeur faible consommation. Il y a d'ailleurs une variante qui présente des améliorations au niveau consommation en veille, sujet abordé dans l'un des topics dont je parle au début.

Donc pour avoir de l'autonomie il est préférable de partir avec une carte sans liaison USB et de l'alimenter directement. De plus si tu n'as pas besoin de beaucoup de puissance de calcul lorsqu'il est actif tu peux l'alimenter en 3V (plus facile car tu peux utiliser directement 2 piles ou une batterie Li-Ion) et le faire fonctionner avec l'oscillateur interne.
1742  International / Français / Re: Thermistance qui s'auto-échauffe avec 5mA? on: August 30, 2012, 10:15:22 am

Quote
j'aurais mieux fait d'acheter une 10k ou 100k pour une utilisation en 5V c'est ça?
Oui. Un pont avec des éléments de 10k Ohms sous 5V permettrait d'exploiter plus efficacement le convertisseur analogique, et ce,  avec un courant d'excitation produisant un autoéchauffement réduit. 100kOhm  c'est peut être un peu trop élevé pour les caractéristiques du convertisseur A/N


La mesure en pont nécessite une entrée différentielle et l'atMega n'en a pas. Donc la valeurs des résistances n'a aucune importance sur l'optimisation de la mesure (hormis l'échauffement) puisqu'il faut ajouter un ampli différentielle de mesure qui sortira en faible impédance et sur lequel on peut mettre du gain.
1743  International / Français / Re: arduino et photo haute vitesse on: August 30, 2012, 04:24:05 am
Quote
Hop-hop, bien content d'avoir peut être trouvé une solution ,l'encodeur à rotation infini
Le problème c'est que comme il n'y a pas de butée (rotation infinie) tu n'as aucun repère de la position et donc de fait il te faut un affichage.

Quote
sans avoir recours au LCD qui complique le câblage et surtout la programmation...
Oui et non. Si tu prends un LCD "standard" il est supporté par les librairies arduino et la programmation n'est pas très compliqué (envoyé des commandes d'effacement, et des chaines à afficher). Je peux me tromper mais je pense que tu vas rapidement avoir besoin d'un afficheur dès que ton montage va se compliquer un peu.
1744  International / Français / Re: Mise en parallèle de batterie on: August 29, 2012, 08:57:12 am
Des diodes schottky c'est une très bonne idée. La chute de tension est minimum. Il faut la choisir en fonction du courant que tu veux faire passer.
1745  International / Français / Re: RF : Plusieurs TX sur un RX ? on: August 29, 2012, 07:38:17 am
[rire]
Je viens de regarder le règlement du forum. Ouf, Dieu merci, il n'y a rien dans la partie discrimination concernant le machisme. On a eu chaud.
[/rire]
1746  International / Français / Re: arduino et photo haute vitesse on: August 29, 2012, 07:33:44 am
Quote
L’alimentation peut elle être branchée ailleurs, sur les pins de l’arduino ? (question de positionnement dans le boitier avec la prise USB)
Broche Vin sur l'arduino
1747  International / Français / Re: Mise en parallèle de batterie on: August 29, 2012, 05:56:27 am
Mise en parallèle sauvage des 2 batteries:
  - les capacités s'additionnent
  - la plus mauvaise impose la tension
  - les courants délivrés s'additionnent
  - elles se chargent et se déchargent ensemble

Mise en parallèle avec une diode en série dans la sortie de chaque batterie:
  - les capacités s'additionnent
  - la meilleure impose sa tension (et donc délivre plus de courant jusqu'à ce que les tensions s'équilibrent). il y a une chute de tension imposée par les diodes
  - les courants délivrés s'additionnent (sauf au début voir ci-dessus)
  - pour les charger ensemble il faut ajouter une paire de diode entre le chargeur et les batteries. La fin de charge sera imposée par la plus mauvaise des 2 batteries.

Pour limiter la chute liée au montage avec des diodes, il y a une variante avec des mosFET. Il faudrait que je recherche le schéma que je dois avoir quelque part.
1748  International / Français / Re: [AIDE] Programmateur pour Amtel 328P on: August 28, 2012, 02:21:42 am
http://arduino.cc/playground/Code/MegaISP
1749  International / Français / Re: [AIDE] Projet Matrice Led Interconnectées on: August 27, 2012, 02:12:41 pm
Je pense que là tu pars dans tous les sens. il faudrait que tu cernes mieux ton besoin.
Est-il indispensable que le bus soit dupliqué sur les 4 cotés? Le bloc doivent-ils être intelligents ou pas?
Par exemple la duplication du bus sur les 4 faces c'est très satisfaisant pour l'esprit on a une symétrie parfaite. Mais il y a de gros inconvénients:
   - si les blocs sont passifs (j'entends par là juste un driver de LED sans µP) le bus est simplement recopié sur tous les cotés. Lorsqu'on commence à accoler des blocs on crée des boucles de longueurs différentes qui vont commencer à se perturber les unes les autres. Imagine simplement une matrice 3x3 et regarde combien de boucles cela forme.
   - si les blocs sont actifs (comme les GLIP), cela sous-entends un processeur avec plusieurs UARTs donc la complexité et le coût grimpe.
   - si tu te contentes d'une entrée et d'une sortie sur l'autre face tu peux utiliser un bête bus RS485, ce qui n'empêche pas de monter les matrices comme bon te semble mais impose des blocs (ou câbles) de liaison en bout de lignes
1750  International / Français / Re: Probleme librairie on: August 25, 2012, 04:41:21 am
La coloration syntaxique fonctionne pour les librairies additionnelles lorsqu'elles sont accompagnées, dans le répertoire où elle sont déclarées, du fichier keyword.txt.

Pour les mots-clés du langages il y a un fichier keyword.txt qui se trouve:
    pour linux, dans usr/share/arduino/lib
    pour windows, arduino/lib (ou quelque chose comme ça je n'ai pas de conf windows sous la main à l'instant)
Il est possible d'ajouter des mots clés dans ce fichier mais il sera écrasé à chaque mise à jour.
1751  International / Français / Re: Probleme librairie on: August 24, 2012, 02:08:53 pm
Quote
oui, la compilation est correcte et même l'upload sur la carte.
Mais alors où est le problème? Je comprends pas.
1752  International / Français / Re: arduino et photo haute vitesse on: August 24, 2012, 06:05:13 am
Quelques pistes:
Une recherche sur le forum avec les mots "high speed photography" retourne pas mal d'informations
en particulier:
http://arduino.cc/forum/index.php/topic,101188.0.html
http://arduino.cc/forum/index.php/topic,55614.0.html

autrement il y a ça:
http://www.instructables.com/id/High-Speed-Photo-Arduino-HighSpeeduino-/
http://kavasmlikon.wordpress.com/2012/02/26/high-speed-photography-workshop-with-arduino/
http://www.glacialwanderer.com/hobbyrobotics/?p=11
1753  International / Français / Re: Probleme librairie on: August 24, 2012, 02:54:57 am
Les librairies dont tu parles sont les librairies standard  et elles sont donc installées en même temps que la chaine de compilation
1754  International / Français / Re: controle pompe electrique palier par palier en PWM on: August 23, 2012, 09:05:49 am
bonjour bon j'ai reussi a reffaire marcher ma partie avec les solenoide apparemment quand on mais les BP sur 12 et 13 en pullup sa ne marche pas bref j'ai mis en 6 et 7 et j'ai donc mis mon afficheur 16seg sur 12 et 13 et la sa marche donc j'ai ressayer avec le code fusionner mais modifier mais mon potar ne repond pas est j'ai 1 ventilo qui reste bloquer a 20% et puis plus rien par contre la partie solenoide marche maintenant alors qu'avent non vous avez des idée ??

merci

Quelques remarques:

1) les contraintes sur val1 et val2 devraient être appliquées APRES avoir modifié les valeurs et non pas pas avant car cela ne sert à rien
Code:
void loop()
{

   if(digitalRead(12) == LOW)
 {
   delay(5);
   val2++;
   val1--;                         //antie rebond
   while(digitalRead(12) == LOW);
   delay(5);
 }
   else if(digitalRead(13) == LOW)
 {
   delay(5);
   val1++;
   val2--;                         //antie rebond
   while(digitalRead(13) == LOW);
   delay(5);
 }
 
  val1 = constrain(val1, 19, 25); // limite faible
  val2 = constrain(val2, 35, 41); // limite haute

 if (val1 == 19 && val2 == 41){
  digitalWrite (1, HIGH);
  myDisplay.scroll("R ", 10);}
 

2) concernant la commande des discrets, j'ai pas très bien compris la logique mais il y a 5 discrets pour cette commande et après certains tests tu allumes un ou un autre et tu en éteints un ou un autre. Comme tu ne modifies pas à chaque fois les 5 discrets, tu risques de te retrouver assez vite avec des discrets dans un état non désiré. il faudrait faire un tableau des état attendus avec les conditions de commutation et bien vérifier (les empilements de "if" sont à la source de beaucoup d'erreurs)

3) le pilotage de la pompe
   analogRead() retourne une valeur entre 0 et 1023 donc déjà le premier test est inutile la valeur ne pouvant pas être supérieure à 1023.
   Pour les valeurs > à 216 tu veux un PWM à 50 un IF et suffisant
   ensuite pour clarifier la chose je pense que tu devrais plutôt utiliser la fonction map pour créer une loi de pilotage de la pompe.
Exemple (le code n'est pas vérifié)
Code:
 if (val > 216) {
    valPompe=50;
 } else {
   map(val,0,215,255,57);
}
Si tu veux une loi plus compliquée rien ne t'empêche de faire 2 (ou trois) map sur des segments différents.

4) pour le pilotage du ventilo même remarque que pour la pompe.

5) concernant les D0 et D1 si la liaison série n'est pas initialisée (pas de Serial.begin() dans le code) les broches sont libres avec quand même une restriction. Il ne faut pas être en conflit et l'outil de téléchargement (sonde, ou FT232 suivant la carte utilisée)
1755  International / Français / Re: [prog] Déclaration de variables et mémoire, const volatile static... on: August 23, 2012, 06:23:55 am
1) const ou #define génère le même code (on avait eu une discussion sur ce sujet ans l'ancien forum je ne sais plus où)

2) static, la variable reste locale mais ne perd pas sa valeur d'un appel à l'autre. Donc ne libère pas la mémoire après le retour dans la fonction appelante. En fin de compte elle se comporte comme une variable globale du point de vue de sa durée de vie mais pas de sa portée.

3)volatile, indique que la variable peut être modifiée à n'importe quel moment et interdit donc son optimisation. utilisé pour les variables modifiées par une routine de traitement d'interruption ou pour une variable qui pointe sur un registre (cas des registres du processeur).

4)"le compilateur optimise la variable", dans certain cas le compilateur peut optimiser l'utilisation d'une variable en ne la créant pas sur le stack mais en la plaçant directement dans un registre du processeur (typiquement une variable d'une boucle for ou alors une variable utilisée dans plusieurs lignes de code consécutives) cela accélère son utilisation.

5) c'est un choix "lenteur d'accès" vs "occupation mémoire"

6) il faut aussi prendre en compte les appels de fonctions. A chaque appel de fonction il y a création sur la pile d'une zone contenant l'adresse de retour + création des variables (arguments de la fonction, variables locales, valeurs retournées). Il faut donc faire attention au découpage du programme. Le découpage en petites fonctions d'un point de vue conception est une bonne chose car on peut tester chaque fonction facilement et cela limite les erreurs en contre partie les fonctions qui appellent des fonctions, qui appellent des fonctions, .... bouffent de la place sur la pile.
Pages: 1 ... 115 116 [117] 118 119 ... 202