Go Down

Topic: [Résolue] Génération d'un signal carré par une arduino méga (Read 1 time) previous topic - next topic

68tjs

Pour la mesure des signaux il existe un outil assez universel pour environ 7€ : analyseur logique clone de Saleae.
Soyons d'accord la précision ne sera pas celle d'un fréquencemètre mais c'est suffisant.


Quote
J'obtient l'erreur Arduino : 'OCRXA' was not declared in this scope.
NB : il me semble avoir écrit :
Quote
Un site qui complète bien la datasheet du micro et qui pourrait t'intéresser : celui de Mike Gamon.
http://www.gammon.com.au/forum/?bbtopic_id=123
Que tu ne saches pas que cela se trouve dans la datasheet je le conçois aisément.
Mais qu'une fois que le renseignement t'a été donné je pense que tu te dois de lire la partie timer de la datasheet d'autant que le renseignement que je t'ai donné est pour un micro Atmega328p (UNO), pour un atmega2560 (Mega) une vérification s'impose.

Grosso modo tu as des registres pour :
- fixer la valeur du pré-scaler d'horloge : c'est le fait de fixer une valeur différente de 0 qui lance le timer.
- autoriser le timer à prendre le contrôle d'une des deux sorties qui lui sont affectées.
- fixer le mode de génération de signaux (pour un signal de type horloge  il faut le mode CTC)
- fixer la fréquence


Evite de te servir du timer 0 qui est utilisé par les fonctions de temps arduino.
Et bien évidement le timer utilisé ne sera plus en configuration "arduino" mais en configuration 200sx200.





200sx200

Oui et je t'en remercie mais je n'ai que survolé pour le moment, n'étant pas très doué en anglais je ne suis pas aller au fond des chose, mais je vais le faire.

Je vais étudier tous les messages et site posté jusqu'au bon fonctionnement ;)

68tjs

Je te mets en pj une "œuvre inachevée"

Ce sont mes notes mises au propre quand je me suis intéressé aux timers il y a 2 ans.
J'avais prévu d'aller plus loin mais le courage m'a vite manqué.

Si cela peut t'être utile pour débuter la lecture de la datasheet  --> moi c'était celle du 328p, pour toi ce sera  celle du 2560.

Comme d'habitude tout n'est pas à prendre pour argent comptant, j'ai pu faire des erreurs je ne suis pas infaillible.

_pepe_

Supprimé

trimarco232

Bonjour,
merci pour vos implications
le souci que j'avais, c'est que je ne suis pas parvenu à obtenir les 2.5v qui correspondent à un signal carré sur la broche 10
ne disposant pas d'arduino mega, je n'ai pas (pu) voulu pousser plus loin les investigations

Artouste

Bonjour,
merci pour vos implications
le souci que j'avais, c'est que je ne suis pas parvenu à obtenir les 2.5v qui correspondent à un signal carré sur la broche 10
ne disposant pas d'arduino mega, je n'ai pas (pu) voulu pousser plus loin les investigations
Bonsoir trimarco232
Je ne comprend pas ta réponse

_pepe_

Supprimé

200sx200

Merci beaucoup, effectivement c'est bien fonctionnel et je mesure 2.46volt en sortie de pin donc j'ai bien quelque chose :)

Je vais donc essayer de me connecter à l'ECU avec ce signal.

Je peux le mettre le fichier .h en "#include <Signal.h>" ?

trimarco232

Bonjour,

pour ce qui me concerne :
- 1 erreur dans TCCR2A (activation de la voie B au lieu de la voie A) -> repompé sans vérifier ...
- 1 bévue dans le calcul de la période : OCR2A = 104-1 au lieu de  OCR2A = 104/2 -1 -> oublié que la période d'un signal carré, c'est 2 fois la durée de l'impulsion ...

merci à _pepe_ d'avoir débrouillé tout ceci !




Go Up