Sections > Vos projets et Montages d'Électronique

Oscilloscope du petit Bidouilleur

(1/4) > >>

Curiosus:
Bonjour tout le forum,

Je bidouille actuellement avec un microcontrôleur Pic18F26k22 un petit oscilloscope, il est doté d'un Écran OLED 128x64 en mode SPI, et je voulais vous le faire partager.

C'est sans prétention, car vous ne pourrez jamais dépasser les 20000 Hz, mais c'est très enrichissant.

Je pense par la suite envoyer les données sur PC par RS232 via un petit émetteur, 100 octets toutes les 100ms.

J'ai commencé le programme pour le PC qui reflet exactement le visuelle de l'écran, à  voir par la suite pour y brancher un moniteur
s-vidéo, comme le propose Électro-Bidouilleur.

J'ai publié une petite vidéo, voir ici : https://www.youtube.com/watch?v=NKMaj2xxP-4

Je voudrais bien savoir comment avec un Arduino qui est moins performant qu'un Pic18F26K22, il arrive à  voir des
signaux de 140 Khz (Voir Ici : http://forum.bidouilleur.ca/index.php?topic=622.msg3931#msg3931)


A+
 

papyblue:
Bonjour Curiosus,

Pour déterminer la fréquence maxi du scope il y a plusieurs choses à  prendre en compte :
- la bande passante de la partie analogique (avant numérisation)
- la fréquence d'échantillonnage
- le mode temps réel ou séquentiel

On considère qu'il faut au moins 5 échantillons pour reconstituer une fréquence donc pour 140 KHz il faut échantillonner à  700 Khz minimum en mode temps réel.
En mode séquentiel, si on prend 100 balayages pour reconstituer le signal on peut descendre l'échantillonnage à  7 KHz.
Voici un document qui explique le principe du mode séquentiel.

http://www.mesures.com/pdf/old/778_oscilloscope_CIS.pdf

Yffig:
Bonsoir à  vous deux,
Je suis (très) loin d'être un spécialiste de l'Arduino, mais parler d'UN Arduino n'a pas de sens: il y a toute une variété de contrôleurs 8 bits de différentes "puissances"et aussi du 32 bits dans la gamme.
Donc difficile de comparer ce qui n'est pas comparable: il faudrait parler de Mips par ex.
Bonne soirée

Yffig

Curiosus:
Bonsoir,

--- Citer ---Écrit par papyblue : Pour déterminer la fréquence maxi du scope il y a plusieurs choses à  prendre en compte
--- Fin de citation ---

Le spot doit parcourir une distance de 100 pixels, donc, je fais 100 scannes analogique.

La base de temps est intégrés dans le scanne analogique, elle est réparti en 9 réglages

50ms, 20ms, 10ms,  5ms, 2ms, 1ms, 500us, 200us, 100us

Pour chaque scanne analogique je récolte une donnée, qui est stocké en mémoire sdram, ça me prends 62,5 ns pour les enregistrer

Une fois les 100 scannes effectué je l'affiche, avec une petite pause de 100ms, invisible à  l’oeil humain.

Je crois que tout dépends de la vitesse sur l'ADC

l'ADC du PIC18F26k22 pour moi n'est pas assez performant, même en mettant a vitesse maxi FOSC 64MHz, ça n'apporte pas grand chose .


--- Citer ---Écrit par Yffig : parler d'UN Arduino n'a pas de sens: il y a toute une variété de contrôleurs 8 bits de différentes "puissances"et aussi du 32 bits dans la gamme.
--- Fin de citation ---

Bravo, et bien vu, c'est exact,  ::) ce que Électro-Bidouilleur n'a pas mentionné, avec qu'elle type d’Arduino on doit relevé son défit......

Il est évident si on prends un Arduino 32 bits ça sera beaucoup plus rapide qu'un simple ATmega328 qui son monté sur la plupart des platines Arduino.
 
Piloter un ADC en mode directe ne fait pas gagné du temps, mais en fait perdre, car le temps d'affichage doit être pris en compte

Par contre, stocké les informations, puis les afficher après les xxx scanne en fait gagné.

Merci pour le document papyblue je vais le lire en essayant de bien comprendre. ;)

A+

papyblue:
Bonjour Curiosus,

J'ai fait quelques images pour illustrer le fonctionnement d'un oscilloscope numérique si ça peut aider ?
PB

Navigation

[0] Index des messages

[#] Page suivante

Utiliser la version classique