Show Posts
Pages: 1 [2] 3 4 ... 19
16  International / Français / Re: millis() et interruptions on: July 04, 2013, 07:28:25 am
1/ Les variables globales qui servent à stocker les valeurs utilisées par millis() et micros() sont incrémentées via une interruption générée par l'overflow du Timer0.


ça en fait ça m'interpelle ! variable globale ? donc il y a moyen de gagner du temps en interruption en copiant directement la variable plutôt que d'appeler micros() qui va la lire, puis la renvoyer, non ?
Comment on trouve le nom de ces variables ?
17  International / Français / Re: millis() et interruptions on: July 04, 2013, 07:24:17 am
Mais manifestement j'ai un peu surinterpréter, nous sommes tous d'accord, donc smiley

ce qui ne m'arrange pas, car en fait je me rends compte qu'avec des interruption à 500Hz ou pas loin, je risque de passer pas mal de temps dedans, et de rater pas mal de tops du timer :/
18  International / Français / Re: un petit quizz recup on: July 04, 2013, 07:23:07 am
ha si 1,5cm ça doit commencer à piquer ! tu dois être autour de 20-25kV au feeling...
19  International / Français / Re: un petit quizz recup on: July 04, 2013, 07:14:38 am
pas trop méchant quand même ! tu as mesuré le voltage dispo ? j'aurais cru qu'il serait possible de tire des arcs plus longs avec ces machins
20  International / Français / Re: millis() et interruptions on: July 04, 2013, 07:12:26 am
Artouste, en relisant le fil je me rends compte que nos deux réponses ne sont pas forcément compatibles, pourrais-tu me donner plus de détails sur ce test que tu as fait stp ?

bah moi ça me semble compatible : le timer est hard, et il compte, quoi qu'il arrive. par contre il reste possible de rater un overflow si on passe trop de temps en interruption, c'est ok avec ton explication, non ?
21  International / Français / Re: millis() et interruptions on: July 04, 2013, 07:09:58 am
artouste, ta traduction est bonne

haifger -> ok, il ne se passe pas grand chose en interruption (stockage de la valeur de micros() dans deux variables, et incrément d'un compteur) donc je suppose que je peux faire confiance au truc, mais si de temps en temps l'interruption se déclanche à quelques cycles de l'overflow, ça devrait pas me décaler énormément l'horloge.

A terme, il y aura un DS1307 pour l'horloge, de toutes manières smiley-razz
22  International / Réalisations et Projets Finis / Re: Commande automatique de groupe électrogène - machine à états et autres questions on: July 04, 2013, 05:24:36 am
bon là le soucis de voltage en entrée est flagrant :

Code:
tps : 0:2 0:2 ubat=12.00 rpm=1333
tps : 0:2 0:2 ubat=12.00 rpm=1666
tps : 0:2 0:2 ubat=12.00 rpm=1333
tps : 0:2 0:2 ubat=12.00 rpm=1333
tps : 0:2 0:2 ubat=11.81 rpm=1333
tps : 0:2 0:2 ubat=11.69 rpm=1333
tps : 0:2 0:2 ubat=11.60 rpm=1666
tps : 0:2 0:2 ubat=11.52 rpm=0
tps : 0:2 0:2 ubat=11.42 rpm=0
tps : 0:2 0:2 ubat=11.42 rpm=0
tps : 0:2 0:2 ubat=11.42 rpm=0
tps : 0:2 0:2 ubat=11.42 rpm=0
tps : 0:2 0:2 ubat=11.42 rpm=0
tps : 0:2 0:2 ubat=11.71 rpm=1333
tps : 0:2 0:2 ubat=12.20 rpm=1666
tps : 0:2 0:2 ubat=12.47 rpm=1333
tps : 0:2 0:2 ubat=12.57 rpm=1666
tps : 0:2 0:2 ubat=12.63 rpm=1333
tps : 0:2 0:2 ubat=12.90 rpm=1333
tps : 0:2 0:2 ubat=12.06 rpm=1333
tps : 0:2 0:2 ubat=11.28 rpm=0
tps : 0:2 0:2 ubat=11.28 rpm=0
tps : 0:2 0:2 ubat=10.64 rpm=0
tps : 0:2 0:2 ubat=10.93 rpm=0
tps : 0:2 0:2 ubat=11.91 rpm=1333
tps : 0:2 0:2 ubat=12.45 rpm=1333
tps : 0:2 0:2 ubat=12.73 rpm=1333
tps : 0:2 0:2 ubat=12.84 rpm=1333
tps : 0:2 0:2 ubat=12.84 rpm=1333
tps : 0:2 0:2 ubat=12.84 rpm=1333
tps : 0:2 0:2 ubat=12.84 rpm=1333
tps : 0:2 0:2 ubat=12.84 rpm=1666

pour ce qui est des erreurs de mesure, je viens de me rendre compte d'un truc : à la fréquence de mes impulsions, la période n'est que de quelques ms. Il faut déjà que je fasse la mesure avec des µs, ça sera sans doute bien plus précis...
23  International / Français / millis() et interruptions on: July 04, 2013, 04:40:57 am
bonjour à tous

selon la doc arduino, la valeur renvoyée par millis() lorsqu'elle est appelée en interruption ne s'incrémente pas. OK, ça c'est clair et à vrai dire assez pratique lorsque l'interruption doit servir à calculer des fréquences.

Mais par contre je me pose la question suivante : est-ce que pendant le temps passé en interruption le compteur continue lui à compter, de sorte que la valeur renvoyée par millis() lors de son appel suivant après le passage en interruption prenne en compte aussi le temps passé à executer l'interruption ? Ou est-ce que ce temps est perdu et n'est pas estimable ?
24  International / Le bar / Re: Presentez vous on: July 04, 2013, 04:18:02 am
salut xavier

très impressionnant, ton pong !

ton émulateur, tu prévois de le publier en GPL, ou CC ou autre ? je pense que ça pourrait intéresser pas mal de monde !
25  International / Réalisations et Projets Finis / Re: Commande automatique de groupe électrogène - machine à états et autres questions on: July 04, 2013, 03:38:37 am
merci b@tto pour ces liens. j'avais déja trouvé ce matin l'AN atmel, mais l'autre est très instructif aussi...

en gros, c'est la merde smiley-razz

Je crois que je vais tenter la version sale à la sauce atmel : juste une R en série avec l'entrée, et laisser les diodes internes faire leur boulot.
En fait, j'avais voulu faire un pont diviseur pour m'assurer d'avoir un courant minimum dans mon entrée pour éviter un certain nombre de parasites, dans la mesure ou l’environnement du montage (groupe électrogène : bobines, relais, alternateur, fort courants, etc) est quand même EMF-gène au possible...
26  International / Français / Re: un petit quizz recup on: July 03, 2013, 02:19:02 pm
les transfos, ça doit pouvoir servir à faire un électrificateur de cloture ?
peut etre , il faut determiner les caracteristiques
j'avais en tete de faire un petit "chatouilleur HT" , une cr2032 + un petit oscillateur , mais ça demande quand meme de bien reflechir pour ne pas construire
une "chaise electrique"  smiley-mr-green


bof, en partant d'une 2032, je pense que tu ne risques rien vu que même si tu obtiens un HV en sortie, le courant disponible sera ridicule.
Un électrificateur de cloture, c'est jusqu'a 10kV pour les plus costauds, je ne sais pas avec quel courant, mais le transfo à l'intérieur est sans commune mesure avec ceux-là, et quand on voit comment ça crame les ronces... Par contre quand on touche le fil, ça calme tout de suite smiley-razz
27  International / Français / Re: MÉMORISER UN BIT MÊME SANS ALIMENTATION on: July 03, 2013, 02:15:02 pm
ha ben ça c'est une bonne nouvelle smiley pour le moment ça ne me sert à rien, mais je le note dans un coin smiley
28  International / Réalisations et Projets Finis / Re: Commande automatique de groupe électrogène - machine à états et autres questions on: July 03, 2013, 02:02:43 pm

Bonjour bricofoy
je ne suis pas un specialiste des interruptions, mais j'ai joué avec il n'y a pas longtemps
voir ici
http://forum.arduino.cc/index.php?topic=165087.msg1236504#msg1236504

suggestion : une fois en marche ton code ne voit plus jamais de rising ? (trop rapide ?)
juste pour test ça donne quoi avec change au lieu de rising , "une dent et un creux" c'est 3 "change"

je vois que tu stockes les valeurs dans un tableau, au lieu de les additionner comme moi. C'est plus rapide ainsi ?

Dans mon cas, en faisant des print avec la valeur du compteur, je constate qu'elle est majoritairement à 1 et n'a jamais dépassé 3, donc finlement le reste du code (machine à état, entrées/sorties, liaison série) que je pensais assez lent s'execute en fait assez rapidement.

Je n'ai aucun idée en revanche de la manière de débugger mon erreur occasionelle avec le pic à 740 au lieu des 666 theoriques...
En fait la seule explication que je vois à cette erreur c'est un passage en interruption avant la fin du traitement de la fonction calcule_rpm(), auquel cas j'ai alors un calcul fait avec une valeur de compteur erronée car elle n'a pas eu le temps d'être remise à zéro.
Peut-être que je devrait faire un detachInterrupt() a l'entrée dans la fonction, et à nouveau attachInterrup() à sa sortie ? ainsi je risque de rater un ou deux pulse, mais au moins e calcul restera juste avec les suivants ?
29  International / Réalisations et Projets Finis / Re: Commande automatique de groupe électrogène - machine à états et autres questions on: July 03, 2013, 01:30:53 pm
ARGHHH en fait quand j'ai les relais qui s'activent, l'alim baisse avec la conso des bobines, et les créneaux en sortie du pont diviseur R37/R32 sont trop bas (3,08V crète) et l'atmega ne les détecte plus !! en remontant l'alim, ça fonctionne... Pourtant d'après la donc de l'atméga, il me semblait qu'un niveau haut était pris en compte à partir d'une tension bien plus faible que ça ??

le schéma est là : http://sourceforge.net/p/groupe/code/ci/capteur_rota/tree/kicad/groupe2/groupe2.pdf?format=raw


Je vais modifier mon entrée, le pont diviseur foire, manifestement. Si d'ailleurs vous avez une idée à me suggérer ? par exemple ne pas faire un pont diviseur mais limiter la tension d'entrée avec une zéner ?

Le capteur que j'utilise fonctionne en 12V, avec une sortie collecteur ouvert PNP, d'où ce pont diviseur pour ne pas cramer l'entrée de l'atmega avec des pulse en 12V
30  International / Réalisations et Projets Finis / Re: Commande automatique de groupe électrogène - machine à états et autres questions on: July 03, 2013, 01:25:35 pm
Est-ce que tu es sûr que c'est software ? Est-ce que le code que tu post ici est juste un résumé du code qui est réellement exécuté ou bien ce code ci te pose réellement problème ?

je croyais être sûr que c'était un soucis soft (en tout cas il y en a un : les pics à 740tr/min) mais à vrai dire je ne suis plus sûr de rien, là :/

le code est bien un résumé du code actuellement executé par l'atmega
Pages: 1 [2] 3 4 ... 19