Construire un oscilloscope amateur

30

J'ai un projet auquel je réfléchis depuis un petit moment, et je me suis rendu compte qu'à un moment donné de son développement, je vais avoir besoin d'un oscilloscope. D'accord, ce n'est pas un problème.

Au lieu d'acheter un oscilloscope, j'ai décidé que j'aimerais - à tout le moins - concevoir le mien et, espérons-le, construire le résultat. Pour simplifier les choses, je pense à utiliser un Raspberry Pi pour faire tous les calculs et visualisations amusants (je n'ai pas envie d'implémenter la FFT sur un AVR, merci beaucoup).

Plus je lis sur les oscilloscopes, plus je suis confus, pour être honnête. Pourquoi un oscilloscope n'est-il pas simplement un ADC? Si je devais raccorder quelque chose comme ça (avec une protection contre les surtensions et une pré-amplification appropriées) à un circuit à une extrémité et à un CPU correctement programmé à l'autre, ne serait-ce pas un oscilloscope?

[Dans le passé, je n'ai travaillé qu'avec des circuits numériques simples - je suis principalement un informaticien théorique! - et j'essaie donc de faire le tour de l'électronique analogique en ce moment. En tant que tel, je m'excuse si la réponse à cette question est extrêmement évidente ...]

Éthéré
la source
6
Il pourrait être utile de commencer par étudier quelques oscilloscopes open source existants: certains liens ici , voir aussi ceci . Avec le RPi, la conception fermée du SoC nécessite de signer des NDA et de convaincre le fabricant du SoC de vous donner le type d'informations dont vous pourriez avoir besoin pour le faire faire ce que vous voulez. Quelque chose comme un Launchpad Tiva-C, ou mieux encore, le Beagle Bone Black pourrait constituer un point de départ plus facile pour cette raison. BBB a plus que suffisamment d'E / S et de puissance de traitement, ainsi qu'une bonne documentation.
Anindo Ghosh
5
Même un oscilloscope 100MHz peu coûteux peut avoir un taux d'échantillonnage de 1GSps. Un ADC 8 bits 20 Mps ne va pas être bon pour bien plus que quelques MHz (Harry et Claude disent utiliser 10 MHz comme limite absolue). Vous devez être en mesure d'extraire les informations de l'ADC et dans votre processeur où elles peuvent être affichées. Un frontal de qualité commerciale n'est pas non plus anodin. Je ne veux pas vous décourager, mais quelque chose que vous allez construire n'aura pas les performances d'un Rigol à 350 $. Ce sera certainement un bon projet d'apprentissage.
Spehro Pefhany
10
Pourquoi pensez-vous qu'un oscilloscope nécessite la mise en œuvre de la FFT?
Phil Frost
5
Pour un modèle d'étude, la chose la plus importante à réaliser en dehors de l'ADC est le circuit de déclenchement. Vous voulez un affichage stable, pas un affichage qui bouge tout le temps. Vous devez comprendre comment commencer à dessiner la vague à chaque fois exactement au même moment. Cela peut être fait peut être amusant et vous pourrez potentiellement en apprendre beaucoup. La leçon la plus importante sera probablement que les oscilloscopes numériques de qualité raisonnable sont assez bon marché de nos jours.
jippie
9
J'espère que vous avez accès à un oscilloscope pendant que vous le construisez. :-p
Lyndon White

Réponses:

23

En son cœur, un oscilloscope (numérique) n'est qu'un ADC, avec de la mémoire pour contenir les échantillons. Les échantillons sont ensuite lus dans la mémoire et affichés.

Les problèmes pratiques de mise en œuvre compliquent les oscilloscopes commerciaux. Le signal d'entrée doit être mis à l'échelle de manière appropriée pour la plage de l'ADC, ce qui signifie que vous devez avoir des atténuateurs et / ou des amplificateurs qui ont des valeurs de gain très précises qui sont très plates sur une vaste gamme de fréquences (DC à 10s ou 100s de MHz au minimum) afin de mesurer les formes d'onde avec une distorsion minimale.

De plus, selon l'application, le taux d'échantillonnage de l'ADC doit être ajusté (très précisément) sur une large plage dynamique - 1 ns / échantillon à 1 s / échantillon (9 ordres de grandeur) serait typique.

Ensuite, il faut savoir quand commencer - ou, plus important encore, arrêter - l'échantillonnage; c'est ce qu'on appelle le déclenchement. Différentes applications ont des besoins de déclenchement différents, et les portées commerciales ont un large choix pour les accueillir.

Dave Tweed
la source
C'est bon de voir que je n'étais pas trop loin de la cible, merci! Je pense que cela dissipe la plupart de ma confusion. Afin d'avoir une fonctionnalité minimale (disons, afficher une onde carrée sans que la phase ne change inutilement à l'écran), quel serait un sous-ensemble de mécanismes de déclenchement à mettre en œuvre? Ou est-ce une question stupide?
Ethereal
2
Plutôt que d'ajuster la fréquence d'échantillonnage de l'ADC, pensez à un filtre de décimation numérique dans un FPGA ou le logiciel d'affichage. Les conceptions brutes qui ne font que baisser la fréquence d'échantillonnage souffrent d'un pseudonyme déroutant que l'opérateur doit exclure soit en connaissant le signal, soit en modifiant expérimentalement la base de temps pour vérifier si le signal est suréchantillonné ou sous-échantillonné.
Chris Stratton
Le déclenchement brut peut être effectué avec un comparateur analogique ou numérique, pouvant avoir une hystérésis. En outre, sur une portée numérique, vous échantillonnez généralement en continu dans un tampon circulaire en attendant de se déclencher, puis vous arrêtez un certain temps après que la condition de déclenchement a été remplie. En ajustant la quantité d'échantillonnage post-déclenchement, vous pouvez vous retrouver avec un tampon qui inclut ce qui s'est passé avant le déclenchement ainsi qu'après.
Chris Stratton
1
Sur une portée numérique, le déclenchement peut se faire entièrement dans le domaine numérique, même s'il faut un micrologiciel assez sophistiqué pour superposer correctement les résultats des déclencheurs répétitifs sur un signal périodique. Les déclencheurs ponctuels sont relativement triviaux.
Dave Tweed
13

Il est important de distinguer un projet de loisir d'un équipement prêt à l'emploi et de faire le bon choix pour vous. Cela ne doit pas être le bon choix pour les autres.

Si ce que vous voulez, c'est du matériel à utiliser pour un autre projet CETTE année, j'en achèterais un. Peut être nouveau ou utilisé en fonction de vos besoins et de votre budget.

Si ce que vous voulez, c'est construire un oscilloscope comme un passe-temps ou un projet éducatif, alors allez-y! Je vous souhaite une expérience amusante et éducative. Tu apprendras beaucoup. Vous rencontrerez probablement des opposants; dites-leur qu'ils peuvent économiser beaucoup de temps et d'argent lors de leurs prochaines vacances, par exemple en n'allant pas en Europe et en achetant un livre d'images à la place. Ils manquent le point!

Un oscilloscope numérique (de base) est en effet composé d'un frontal (comprenant un ADC et peut-être des circuits de déclenchement), un ordinateur embarqué, un écran et un logiciel.

Je suggérerai que les problèmes suivants sont susceptibles de se poser:

  • Temps. Ce projet vous prendra un certain temps, selon les performances souhaitées, votre expérience, etc.
  • Coût. Cela coûtera plus cher que d'en acheter un de performance égale.
  • Performance. Quel genre de performance recherchez-vous? Y compris les plages d'entrée, la résolution temporelle, la tension à laquelle le frontal doit résister.
  • Essai. Comment allez-vous le déboguer? Comment allez-vous vérifier que cela fonctionne correctement?
  • Sécurité. Que se passe-t-il si vous sondez 120VAC ou frappez une tension plus élevée?
Technophile
la source
Vous savez que les Européens seront amusés par vos conseils de vacances, non? :-)
RedGrittyBrick
10

Je pense que vous pouvez obtenir quelques idées de l' oscilloscope à stockage numérique AVR 10 MHz 50 ms / s .
Il comprend des schémas complets et du code source.

entrez la description de l'image ici

entrez la description de l'image ici

Il utilise un petit CPLD qui lit les résultats ADC et remplit une RAM, puis il utilise un processeur AVR pour lire les données RAM et les envoyer à un PC


Vous pouvez également trouver utile:

  • Les schémas du Bitcope
  • Le dsonano avec schémas complets et code source
  • Plusieurs projets liés aux DSO utilisant FPGA ou mcu répertoriés ici

Il y a un diagramme dans la page du projet openDSO qui devrait être utile pour visualiser les sections utilisées dans un DSO.

entrez la description de l'image ici

alexan_e
la source
6

JYE Tech a un kit d'oscilloscope à 49 $ :

entrez la description de l'image ici

avec les fonctionnalités suivantes:

5M samples/second
8 bit resolution
256 sample memory depth
1MHz analog bandwidth
100mV/Div-5V/Div sensitivity
1MΩ impedance
50Vpeak-to-peak max input voltage
DC/AC coupling
Save and display up to 6 captures to memory
Transfer screen capture to PC as a bitmap file (serial adapter not included)
Backlit LCD display
FFT function available

Sparkfun le porte également mais pour 10 $ de plus.

Tous les composants de montage en surface sont déjà soudés.

Il utilise un ATmega 64. Ils fournissent le schéma et la liste des pièces sur leur site Web si vous souhaitez les utiliser comme un guide pour rouler le vôtre, mais je doute que vous puissiez le faire pour près de 49 $. Le code source du firmware est également disponible.

Pour seulement 30 $ de plus (79,50 $), ils ont une unité assemblée avec une bande passante analogique de 5 MHz.

tcrosley
la source
1
Pour ce que ça vaut, c'est à peu près les performances d'un oscilloscope Heathkit des années 1950. Couplé AC uniquement (basé sur un tube à vide). theoldcatvequipmentmuseum.org/180/182/…
Spehro Pefhany
1
Ironiquement, Heath a présenté son premier oscilloscope en kit électronique (l'O1) en 1947, qui s'est également vendu pour 50 $. Mais ce serait un peu plus de 500 $ en dollars d'aujourd'hui.
tcrosley
C'est extrêmement ennuyeux à utiliser, car il n'y a aucune indication de la façon dont il s'est déclenché récemment. Si un indicateur clignote, ou si quelque chose apparaît après une demi-seconde pour montrer que l'affichage est périmé, il serait beaucoup plus utilisable, bien que dans les limites d'un tel échantillonneur primitif.
Chris Stratton
Puisqu'ils fournissent le code source du firmware, vous pouvez probablement ajouter un indicateur de déclenchement à l'écran sans trop de problèmes.
keshlam
Cependant, la source qu'ils fournissent est d'un firmware plus limité que sur l'appareil.
Chris Stratton