Show Posts
Pages: 1 ... 40 41 [42] 43 44 ... 152
616  International / Français / Re: Arduino Uno - "not in sync" on: January 27, 2014, 12:31:52 pm
bonjour 68tjs
lorsque tu injecte par ISP un programme "kikause dans le poste  smiley-mr-green " tu recupere les infos "prevues" sur un terminal  ?
Oui c'est ça qui est fantastique. Dans un terminal externe ET dans celui de l'IDE.

@Batto : je ne l'ai pas encore fait mais comme un sens fonctionne cela apporterait je pense moins d'information qu'un programme qui recevrait et enverrait des données .
Je vais chercher un exemple tout fait où on entre des données dans le micro, histoire de tester les deux sens. Il n'y a peut-être qu'un seul sens qui est affecté ce qui expliquerai que ça cause du micro vers l'USB et que ce serait muet de l'USB vers le micro

PS1: je me garderais bien de dire que je n'ai pas fais subir des outrages a la bébette.

PS2 : J'utilise la version Debian qui est organisée selon le principe Debian, pour trouver plus simplement les firmwares j'ai téléchargé la version sur le site.
Dans les firmwares j'ai trouver un fichier hex pour le 8U2, un autre pour le 16U2 et un fichier README qui me laisse penser que je pourrai recharger le fichier hex par l'intermédiaire du connecteur ISP situé à coté la prise USB. ou faut-il passer en DFU ?
J'ai l'impression que que cela devrait le faire en ISP, mais si quelqu'un pouvait confirmer avant que j'achève la bête pour de bon.
617  International / Français / Re: Arduino Uno - "not in sync" on: January 27, 2014, 06:01:54 am
Tu peux me dire bienvenue au club des "Avrdude not in sync".
Les choses ont évoluées dans le mauvais sens.

Carte UNO R2.

Comportement pour le moins étrange :
1) Pas de programmation possible à partir de l'IDE -> "avrdude not in sync"
2) Programmation possible en ISP.
Jusque là il n'y a rien d'anormal si on considère que l'USB est hs.

Mais il y a plus fort :
- Après avoir été programmée en ISP elle cause par l'USB dans un terminal Linux. Si j'ouvre l'IDE et le Serial-Monitor la carte UNO cause aussi dedans ! C'est que l'USB n'est pas si hs que ça.
Remarque : je n'ai pas testé dans le sens terminal vers carte

Je sens qu'un rechargement du firmware devient une nécessité.
La carte ayant été livrée un  peu buggée,  j'ai déjà du faire cette opération mais en mode DFU qui est casse bonbons. Maintenant que j'ai un USBtinyISP je préférerais éviter.
Problème possible : c'est une R2 équipée d'un 8U2, les UNO actuelles sont équipées d'un 16U2 et même d'un 32U2.

Le changement de micro (8U2 -> 16U2 -32U2) c'est juste une  demande du sous traitant pour uniformiser ses approvisionnements et réduire les coûts où c'est pour avoir un firmware plus gros ?

Pour récupérer le bon firmware faut-il télécharger une ancienne version de l'IDE ?
Comment choisir laquelle ?

Merci pour vos réponses.
618  Using Arduino / General Electronics / Re: Transistors and heat sinks on: January 27, 2014, 04:12:18 am
 It is clear:
You need a heater when the junction temperature exceeds max temperature junction.
Max temperature junction can be found in datasheet, generally it is between 150°C and 170°C

It is easy to calculate:
You calculate the power in the mosfet.
In  datasheet of your Mosfet transistor you have some thermal resistor (Rth).

Without heat sink you take Rthcase-ambient
The rise in temperature relative to the room is calculated by :
Delta T = P * Rthcase-ambient
Junction temperature = room temperature + Dela T

If calculated junction temperature exceeds device max junction temperature you need an heat sink.

To calculate the heat sink you have to take an other Rth -> Rthjunction-case.
The new Rthjunction-ambiant is now (Rthjunction-case + Rthheatsink)

You calculate the Rth max which give a temperature junction < device max junction temperature.
Now you can calculate the max Rthheatsink you need :
Rthheatsink =  calculated Rth - Rthjunction-case
619  International / Français / Re: GPIO, PWM, et fréquence max ? on: January 26, 2014, 10:00:01 am
Pas facile de donner une réponse en quelques mots.
Avant toute chose je t'engage à lire la datasheet du micro-controleur ATMega328p qui équipe la carte "mini"

Je ne me suis intéressé qu'a la génération de signaux que j’appellerais "classique" c'est à dire non PWM.

1) Première méthode ultra classique
digitalWrite(pin, High);
delay(100);
digitalWrite(pin, LOW) :
delay(100);

En faisant delay = 0 on obtient au maximum 87,4 kHz sur les sorties non PWM  et seulement 68,6 kHz sur les PWM (PWM non en service bien sûr).

2) Deuxième méthode : même principe mais en programmant sans les librairies arduino mais en utilisant celle de l'avr-libc et en manipulant directement les registres.
- Les résultats sont les mêmes sur toutes les pins, PWM ou non.
- Fréquence max 1 MHz mais avec un rapport cyclique dégueulasse (RC=12%).
En rectifiant le rapport cyclique avec quelques _NOP() bien placé on obtient 570 kHz.

3) En utilisant les timers.
La fréquence maximale est égale à la fréquence du quartz divisée par 2 quelque soit le timer. C'est à dire 8 MHz pour une carte fonctionnant à 16 MHz.
La fréquence min dépend du timer. Elle est de  31Hz pour les timers 8 bits (timers 0 et 2) et de 0,11 Hz pour le timer 16 bits (timer 1)

NOTE importante:
Les deux premières méthodes sont bloquantes, le micro est utilisé à 100%, il n'est pas multitache.
Avec les timers le micro à seulement à envoyer les bonnes valeurs dans quelques registres, ensuite il est libéré, le timer se débrouille tout seul.


Pour la PWM je te laisse le soin de lire la datasheet, elle n'est pas trop compliquée et Atmel fourni les formules de calcul. smiley-mr-green
620  International / Français / Re: Bien utiliser un condensateur on: January 25, 2014, 02:50:28 pm
Bienvenue dans le monde de l'électronique mais je pense qu'il vaut mieux commencer par acquérir quelques bases.

Il y a un site super dans bien des domaines, il est très connu par son ancien nom : le site du zéro qui est accessible à des débutants totaux.
Il a changé de nom et s'appelle désormais openclassroom.
Il existe deux cours pour l'électronique dont un adapté spécialement à l'Arduino.
http://fr.openclassrooms.com/sciences/electronique/cours

Juste un point au sujet de tes condensateurs : les condensateurs de forte valeur (>1 µF) sont généralement des "chimiques". Ces condensateurs ont une tension de service qu'il ne faut jamais dépasser et même comme te l'a dit Carolyne prendre une marge.
Le risque est qu'ils explosent et la fumée blanche dégagée est assez désagréable mais tu ne risque rien, c'est même une blague de potache assez répandue que de changer en douce un condensateur par un autre de très faible tension.
621  International / Français / Re: 2x 74HC595 > et debuggage avec analyseur logique on: January 25, 2014, 12:24:46 pm
Quote
Je l'ai lu au moins 10 fois mais je ne suis pas sur de comprendre à 100%
En fait dès que l'horloge est en marche, cela fait "active" le registre a decalage c'est bien cela?
Ce qu'il faut garder en tête c'est qu'au front montant du signal horloge systématiquement tout se décale d'un cran que tu change la valeur sur l'entrée "Donnée" ou pas.
Quand tu envoie un octet le bit de haut rang passera en premier par Q0 puis Q1, Q2...et enfin au 8eme front d'horloge il arrivera en Q7.
Il est des utilisations où voir  ne serait-ce qu'un temps très bref des états intermédiaires comme un 0L au lieu d'un 1L peut avoir des conséquences catastrophiques.
C'est pour cela qu'il y a un latch qui empêche que l'on voit l'état les états intermédiaires des sorties Q7 à Q0 tant que les 8 bits de l'octet ne sont pas tous arrivés à leur destination finale.
Le Latch ne peut que bloquer ou autoriser la mise à jour des sorties du 74HC595.
Tant que l'application peut supporter des états intermédiaires son utilisation n'est pas obligatoire.
622  International / Français / Re: Aide sur choix moteur selon caractéristique du shield on: January 25, 2014, 10:34:36 am
Mon grain de sel.
Poids
A l'horizontale théoriquement le poids n'intervient pas, le poids n'intervient que si un travail est effectué c'est à dire si le robot s’élève.  Même avec une pente de 20% amha le travail sera faible.
Par contre à même à l'horizontale il y a des frottements. Le maximum de l'énergie sera dépensée pour mettre le robot en mouvement, après cela devrait aller tout seul.
La valeur des frottements dépendra de la qualité de ta réalisation mécanique (roulement à bille, roue molle ou dure, etc...).

Couple :
Ce n'est pas le couple en sortie de moteur qui est important c'est celui en sortie du réducteur (si il y en a un).
L'effet du réducteur est assimilable à celui d'un levier :
Si on regarde coté utilisation : avec un réducteur de 10 l'axe de sortie tourne 10 fois moins vite mais possède 10 fois plus de couple.
Si on regarde coté moteur : avec un réducteur de 10 la charge exercée sur le moteur est 10 plus faible ce qui fera que le fonctionnement du moteur sera plus proche du fonctionnement à vide et donc qu'il consommera moins de courant.
Quote
Il y a tellement de référence que je m'y perd.
Pas de chance en voila deux de plus
- Vitesse du moteur à vide
- Rapport de réduction
623  International / Français / Re: Utilisation pin RST en pin Digital ? on: January 24, 2014, 05:38:07 pm
Généralement la réponse a ce genre de question se trouve dans la datasheet du microcontroleur.
La nano utilise un ATMega328p, la lecture de la table des matière de sa datasheet donne
Chapitre 13 I/O ports.
Le paragraphe 13.3 (page 80) donne les "Alternate functions".

La lecture du dit paragraphe indique, en autre renseignements très utiles, que ce que tu veux faire est possible mais qu'il faut modifier les "fuses" (Fuse "RSTDISBL").
Cette modification de fonctionnement ne sera pas sans conséquence pour la re-programmation du micro puisque cette opération nécessite une action sur RESET.

Bonne lecture de la datasheet, ce doit devenir un réflexe, et bonne recherche sur gogole au sujet du mode opératoire a appliquer pour reprogrammer avec un RESET "disabelé"

624  International / Français / Re: Arduino Uno - "not in sync" on: January 24, 2014, 09:20:33 am
Vérifie si L'IDE utilise bien l'option -D dans la ligne de commande avrdude
Pour cela ouvrir l'IDE--> préférences --> mode bavard et lancer un téléversement.
L'option -D efface systématiquement la totalité de la mémoire flash avant toute écriture d'un nouveau fichier hex.

Généralement quand je téléverse en ligne de commande avec un USBtinyISP  je n'utilise pas cette option.
Sauf qu'une fois j'ai du prendre un fichier hex corrompu et j'avais bloqué une carte mini-pro et une UNO.
 --> :"avrdude: stk500_getsync(): not in sync: resp=0x00"

J'ai récupéré ces deux cartes en utilisant l'option -D.
625  International / Français / Re: 2 Megas en // on: January 22, 2014, 11:56:29 am
@ fdufnews(a):
------/------
Très intéressante ton explic' de l'impédance d'entrée; je copie et j'éplûche.
Eh faudrait rendre à Jules ce qui appartient à Caesar ! Sinon cela ne va pas aller.  smiley-mr-green
J'insiste , lourdement, ce type de raisonnement n'est valable uniquement que dans un état stable (bloqué ou passant)  le transistor n'étant pas un composant linéaire.
Pour le transistor en phase de commutation ou utilisé avec des signaux alternatifs les approximations sont différentes.
626  International / Français / Re: 2 Megas en // on: January 22, 2014, 08:47:16 am
C'est pas fini non ?
Carolyne me rappelle un slogan de 1968 qu'il serait bon de remettre en service :
L'imagination au pouvoir
et de l'imagination ce n'est pas ce qu'il lui manque.
Continue comme ça Carolyne.
627  International / Français / Re: 2 Megas en // on: January 22, 2014, 08:10:17 am
@Christian_R
N'aurais-tu pas voulu écrire OR plutôt ?  smiley-mr-green

@Carolyne
Ton système de diode est parfaitement fonctionnel mais sous "certaines conditions" il y a possibilité de faire plus simple : ni diode, ni porte, rien que les résistances en série avec les bases.
Chaque base est reliée aux deux cartes Mega par l'intermédiaire d'une résistance (pour enfoncer le clou cela fait 2 résistances par base).

Si tu dessine le schéma équivalent avec les 2 paires CMOS de sortie du micro et les 2 résistances de base et enfin le transistor tu vois les choses suivantes :
- Les 2 sorties micro à 0L -> les 2 résistances de bases sont à 0 volt le transistor est bloqué.
- Les 2 sorties micro à 1L -> les 2 résistances de bases sont à 5 volt le transistor est super passant.
- Une sortie micro à 1L et l'autre à 0L : 1 résistance est à + 5 volts et l'autre est à 0 volt c'est à dire en parallèle entre la base et la masse et c'est là qu'interviennent les "certaines conditions".

Tout dépend de la valeur de la résistance de base donc en fait du courant de collecteur.
Pour que cela fonctionne il faut que la résistance ne perturbe pas le fonctionnement du transistor.

Je vais définir une notion d'"impédance d'entrée statique équivalente" de l'entrée du transistor.  smiley-mr-green
C'est simple "statique" parce que l'on est en courant continu, "équivalente" parce des volts divisés par des ampères donnent des ohms.

La tension base émetteur fait en général 0,8 V -> ça c'est pour le "V".
Si tu fais passer 5 mA dans la base cela donne le "I"
Donc dans le cas d'un transistor bipolaire utilisé en commutation l' "impédance d'entrée statique équivalente" Requi = 0,8/5 e-3 = 160 ohms.
Attention ceci n'est valable que pour UN point de fonctionnement du transistor

A partir de maintenant la raisonnement est simple : si la valeur de la résistance série que tu a calculé est supérieure à 10 fois l' "impédance d'entrée statique équivalente du transistor" tu ne perturbera pas.
Par contre si tu as calculé 200 ohms, 200 en // avec 160 donnera 90 ohms et là cela ne fonctionnera pas, le transistor sera mal polarisé -> Vbe<0,8V .

Conclusion:
Tu as le choix entre la méthode universelle avec des diodes ou des portes "OU" et la méthode "au petits oignons" qui va fonctionner dans la grande majorité des cas mais qui demandera toujours une petite vérification préalable.
628  International / Français / Re: Problème moteur pas à pas on: January 20, 2014, 02:50:52 pm
C'est ce qu'on trouve maintenant dans les UNO R4 et Mega R4  -> Super  smiley-mr-green
629  International / Français / Re: signaux parasites sur cartes ? on: January 20, 2014, 02:48:49 pm
Pour éliminer l'effet des rebonds il faut câbler un condensateur de 100nF en parallèle sur le relais ILS (reed).
Avec une résistance de 10k au Vcc la constante de temps est de 1ms ce qui est normalement suffisant.
Point besoin de compliquer le programme, il est de loin préférable de traiter d'éliminer le défaut à la base.
630  International / Français / Re: Problème moteur pas à pas on: January 20, 2014, 10:39:12 am
En résumé :
Un micro-controleur n'est pas multitâche, il est même trop peu puissant pour simuler un pseudo multitâche comme le font les  micro-processeurs multi cœurs à 3 GHz d'horloge.
Il met toutes ses taches en série, sachant qu'une opération élémentaire prend le plus souvent plusieurs cycles d'horloge.
Une page utile :
http://www.nongnu.org/avr-libc/user-manual/benchmarks.html

L'électronique peut se paralléliser, voir l'exemple de @Batto avec le TMC222.
Il te reste à trouver le bon compromis entre un logiciel bien adapté, avec des séquences d'instructions courtes et de l'électronique qui vivra sa vie.

Les Timers sont un cas particulier : ce sont des compteurs électroniques qui vivent leur vie a l'intérieur de la puce micro-controleur. Le logiciel n'a rien d'autre à faire que de les configurer, de les lancer et éventuellement les arrêter. Les timers se chargent tous seul de déclencher des interruptions.
Pages: 1 ... 40 41 [42] 43 44 ... 152