[Projet] Oscilloscope numérique à mémoire sur PC
Répondre à la discussion
Affichage des résultats 1 à 28 sur 28

[Projet] Oscilloscope numérique à mémoire sur PC



  1. #1
    invite02e6120e

    Cool [Projet] Oscilloscope numérique à mémoire sur PC


    ------

    ...du lourd

    Bonjour à tous !

    Dans une optique d'apprentissage (en partie) et de plaisir/accomplissement personnel (c'est moi qui l'a fait d'abord), je me suis lancé depuis quelques temps comme défi de fabriquer mon propre oscilloscope PC, en partant de rien.
    Par rien j'entends : je n'avais qu'un multimètre en ma possession.
    Je n'ai pas de laboratoire d'électronique, pas de fer à souder, pas de composants...Bon, il y en a au boulot en cas d'ultime recours

    Portable et ouvert
    Également, fidèle défenseur et utilisateur des logiciels libres, je souhaite fabriquer un hardware libre, et n'utiliser, pour sa création, que des logiciels libres et gratuits (dans la limite du possible).
    Je dis bien dans la limite du possible, car je me retrouve obligé d'utiliser Windows, très peu d'IDE étant portés sous Linux à ma connaissance.

    Je souhaite donc développer un hardware de qualité professionnelle, la carte d’acquisition; ainsi que le logiciel PC de contrôle/visualisation qui va bien.

    Ergonomique !
    J'accorde une grande importance à la prise en main, l'ergonomie, la lisibilité...Je déteste les produits mal conçus. Faire un produit technique pour la technique mais fastidieux à utiliser, moche, et complexe n'apporte au final que de la déception !
    Le but est de s'en servir, et de ne pas ressentir le besoin d'en acheter un autre. Ce projet comprend donc une dimension électronique pure, mais aussi logicielle, graphique, et mécanique !
    Le mot d'ordre est donc : faire le plus simple et le plus propre possible en utilisant les dernières technologies disponibles.

    Résultat attendu
    -2 voies à 50Mbps (résolution 20ns)
    -impédance 1MOhm 30pF (standard) et jusqu'à 50V en entrée, 8 bits minimum (10 bits souhaité)
    -liaison PC : rs232 (ensuite en USB si tout le reste fonctionne)
    -logiciel PC : compatible windows/linux (on commence par windows mais j'y tiens pour linux)
    -facilité d'utilisation et ergonomie (probablement le point le plus important)
    -peu cher à réaliser (non, c'est celui là le plus important) target price : 150€ PCB + BOM

    Principales technologies
    Micro-contrôleur 16/32 bits (PIC24, PIC32, ARM...)
    Logique programmable (CPLD, FPGA)
    Mémoire vive (SD-RAM, DDR, FIFO)
    Convertisseur analogique numérique (50 – 200 Msps)
    Liaison série rs232/USB, protocole d'échange
    Programmation PC (SDK Win32API, GTK+...)

    Déroulement du projet
    L'idée est de faire la schématique/PCB sous Kicad, qui fonctionne sous linux, qui est gratuit, et qui permet d'exporter en format gerber. Le but est de faire fabriquer un PCB de qualité professionnelle, entièrement en CMS, de 2 ou 4 couches selon le besoin. Quand au logiciel PC, afin de faciliter au maximum la portabilité, il utilise une interface graphique GTK+ programmé en C (car, par contre, je n'ai pas envie d'apprendre le C++). Les librairies sont portables autant sous windows que sous linux (Gimp est en GTK+).

    Pour la fourniture de composants, pour l'instant j'utilise Conrad pour les composants standards, et probablement Digikey qui contient absolument tout ce qu'on peut imaginer, et qui permet de faire des commandes pour les particuliers.

    Pour la fabrication de PCB, il y a Olimex qui offre des services apparemment vraiment peu chers et qui accepte le format de Kicad.

    Cependant, il me semble évident que pour débugger mon oscilloscope, une fois fabriqué, j'aurai besoin d'un oscilloscope, ahahah.
    De plus la marche est quand même très haute à monter sans aucun matériel (faire un oscilloscope en premier projet, faut être fou non ?). Pour ne pas être découragé en plein milieu, et également appréhender les difficultés inhérentes à la création d'un oscilloscope, j'ai commencé par en...fabriquer un plus petit et plus simple !


    Avancement du projet (mis à jour régulièrement)
    Logiciel PC:
    interface graphique : 30%
    liaison rs232 : 80%
    Actuellement, il affiche des courbes récupérées par rs232.

    Carte interface:
    Kit de développement PIC24H

    Carte conversion:
    Aucun

    Carte analogique:
    Aucun

    -----

  2. #2
    invite02e6120e

    Re : [Projet] Oscilloscope numérique à mémoire sur PC

    Donc, voilà où j'en suis pour l'instant.

    Sans titre.jpg

    Le soft est réalisé sous l'environnement de développement code::blocks en C.
    J'utilise la librairie GTK 2.2 ainsi que le SDK Win7 avec le compilateur Visual C++ 2010 (uniquement pour les fonctions liées au port COM).
    Comme mon PC n'a pas de port série, j'utilise un adaptateur USB / série à 115200 bps (possibilité d'augmenter jusqu'à 500Kbps au dires du fabriquant)

    DSC_0436.JPG

    Et voici environ l'étendue de mon matériel ! Un multimètre, une breadboard et un devkit "Microstick", c'est un PIC24H de chez Microchip, qui contient une led utilisateur et un bouton reset ! Il y a aussi un convertisseur rs232, (avec les condensateur 300V, lol) et les quelques composants qui trainent ont été récupérés au boulot.
    Sur le kit, je génère grâce à un PWM à 155KHz + filtre LC un signal sinusoïdal, signal qui est échantillonné (jusqu'à 500Ksps) par un ADC présent sur le µC.
    256 échantillons sont ainsi récupérés par DMA, transaction démarrée par un trigger utilisant la fonction analog compare intégrée au µC (il y en a des choses sur ce PIC). Le tout est enfin envoyé par liaison série après réception d'un caractère, caractère envoyé par le soft PC.
    Les 256 échantillons sont enfin affichés sur l'écran.

    Suite des événements :
    -Ajouter le DMA pour les émissions/réceptions UART
    -Établir un protocole d'échange entre le PC et le µC (ca sera le protocole final)
    -Réaliser un premier PCB double couche, pour lancer la machine, incluant tout ce qu'il y a sur la breadboard et un peu plus : le PIC, le convertisseur rs-232, le connecteur DB9, un peu d'analogique/filtrage pour récupérer le signal analogique et une alim +5V/-5V utilisant des capacités commutées pour alimenter le tout. Pour cette première, je pense faire le tout en traversant. Il faut toujours commencer simple !

  3. #3
    invite02e6120e

    Re : [Projet] Oscilloscope numérique à mémoire sur PC

    Ça n'avance pas aussi vite que je l'aimerai...!

    J'ai décidé, car je suis bricoleur, et un peu radin de fabriquer mes PCB, dans un premier temps. Mais je compte toujours en faire faire par des pros. Par contre je déteste les étapes d'insolation, gravure au perchlo dégueulasse,... J'ai pas envie de transformer mon appartement en porcherie avec des bidons de chimie, des bacs de partout, donc j'ai fouillé sur internet.
    Et j'ai trouvé quelques méthodes prometteuses :

    Pour éviter l'étape d'insolation, il est possible d'utiliser une méthode par transfert thermique en utilisant une imprimante laser. Il suffit d'imprimer son PCB sur une feuille papier photo et de décalquer le toner sur le cuivre avec un fer à repasser ou une plastifieuse.. Pas mal ! J'avais besoin depuis longtemps d'une imprimante, j'ai fait d'une pierre de coup : achat d'une imprimante laser.
    Couleur ou N&B ? Après longue hésitation, N&B. Même si la couleur permettrait de faire de belles sérigraphies, le coût des toners m'a découragé. Cependant, cette méthode à l'air moyennement précise, notamment pour l'alignement double couche. Ensuite, il faut tout de même graver le cuivre (possibilité de remplacer le perchlo par de l'acide).

    Une autre méthode consiste à graver le PCB directement avec une fraiseuse 3 axes. J'ai vu des résultats particulièrement précis (10 mils) et très très propres avec cette méthode. L'inconvénient est le prix de la fraiseuse (600€ minimum). Par contre, ca peut être un beau projet que d'en construire une. Plus tard donc...

    Enfin, le casse tête reste toujours les trous métallisés. Je garde dans un coin de ma tête une méthode avec masque + immersion dans un bain "cuivré" + dépôt par électrochimie. Mais je suis une tare en chimie, donc : on verra plus tard.

    Bon, assez parlé, voici un synoptique de la carte d'acquisition finale attendue :

    text5758.png

    La carte est constituée d'un étage d'entrée, d'une partie numérique rapide (CPLD + RAM) et d'un micro-contrôleur.
    Afin de simplifier le développement, cette carte sera divisée en 3 sous cartes :

    text5758-7.jpg

    Enfin, voici la première carte à paraître :

    g3869.png

    Il s'agit de la carte interface à laquelle j'ai rajouté quelques fonctions.
    Le micro-contrôleur choisi est un PIC24. Pas besoin d'une puissance de traitement du tonnerre ici. le port parallèle sera utilisé pour récupérer les données contenue dans la RAM (SD-RAM ou FIFO, à voir).
    Un UART pour dialoguer vers le PC. Une entrée analogique pour faire un petit oscilloscope local, et pour tester le reste des cartes à venir. Également, une sortie PWM filtrée afin de créer quelques longueurs d'ondes, afin de tester l'oscilloscope lui-même !
    Enfin, une petite alimentation pour fournir du +2.5V (référence de tension), du +5/-5 pour la partie analogique et du +3.3V pour le micro.

    A suivre, la schématique !

  4. #4
    Tropique

    Re : [Projet] Oscilloscope numérique à mémoire sur PC

    Beau projet, j'espère qu'il aboutira, et que d'autres prendront le train en route.
    Pas de complexes: je suis comme toi. Juste mieux.

  5. A voir en vidéo sur Futura
  6. #5
    invite03481543

    Re : [Projet] Oscilloscope numérique à mémoire sur PC

    Bonjour,

    pourquoi faire une RS232?
    Pour les circuits imprimés, il faut savoir que sur le net tu as à ta disposition des sites qui te fournissent en 72h une carte toute propre et pour pas très cher (< 80 euros port compris).
    Quand on veut s'attaquer à un projet comme celui-ci il faut pas faire de compromis sur la pièce maitresse du succès: un bon PCB.
    Tu vas avoir des signaux très rapides, il va te falloir un plan de masse béton avec des vias en pagaille... n'économise pas sur ce poste là, c'est mon conseil.
    Fais une maquette fonctionnelle sur carte proto à trous basique, puis quand ça tourne tu fais un beau routage et tu fais réaliser.
    Le temps du perchlo et des circuits à l'arrache c'est dépassé et le coût est à peine meilleur (si tu comptes bien tout), coté qualité par contre c'est le jour et la nuit.

    @+ et bon courage pour ton projet

  7. #6
    RicounetZap

    Re : [Projet] Oscilloscope numérique à mémoire sur PC

    Joli projet que je vais suivre de près, et si possible y participer un peu plus tard. (un peu débordé actuellement)
    Effectivement, la communication RS2232 ne me semble pas être un bon choix, l'USB est plus "standard" actuellement.
    Concernant les IDE portables, il existe Eclipse et gcc.
    Cordialement
    N'importe quoi, for ever :-)

  8. #7
    Antoane
    Responsable technique

    Re : [Projet] Oscilloscope numérique à mémoire sur PC

    Bonjour,
    Petit hors-sujet : avec quel logiciel fais-tu ces ravissants dessins : http://forums.futura-sciences.com/at...text5758-7.jpg ?
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

  9. #8
    Aurélien

    Re : [Projet] Oscilloscope numérique à mémoire sur PC

    Salut,
    Je rejoins ce qui a été dit précédemment au sujet du PCB. La qualité des mesures et de compatibilité entre signaux, numériques rapides et précision analogique (quoique en précision verticale du 7/8 bits suffit amplement) impose de devoir faire un PCB dans les regles de l'art, et donc de recourrir à des cartes professionnelles. Pour une appli comme celle la il faudra à mon avis partir sur du 4 couches, histoire d'avoir un plan de masse le plus continu possible.

    Ensuite, si la partie acquisition est bien réalisée, la partie qui pêche le plus sur un oscillo sur PC c'est la transmission des données au PC. Oublie le RS232, plus personne ne l'utilise, et c'est lent.
    L'USB me parait le plus simple. Mais oublie les convertisseurs du commerce, c'est un conseil !
    Preferes plutot des composants optimisés pour cette transmission sur l'USB :
    http://www.ftdichip.com/Products/ICs/FT232H.htm
    http://www.ftdichip.com/Products/ICs/FT2232H.htm
    Ces composants tournent sur de l'USB High speed, et permettent d'obtenir des débits de transmissions élevés. De plus les drivers fonctionnent sur de nombreux OS. Les composants que je t'ai cités disposent d'une FIFO à entrée parallele, ce qui va considérablement accélérer tes débits de données et te permettre une transmission directe entre le CPLD et ton convertisseur USB, le tout supervisé par ton microcontroleur.

    Concernant le choix du micro je ne pense pas que tu aurs besoin d'un truc surpuissant, étant donné qu'il n'agira que comme superviseur, les hauts débits étant gérés par le CPLD. Mais choisis quelque chose qui soit simple à programmer, l'ARM n'est pas à la portée de tout le monde. Mais entre un PIC ou un AVR, chacun a des outils HW low cost et des compilos gratuits et/ou open source qui permettent l'acces au plus grand monde.

    Aurélien

  10. #9
    Aurélien

    Re : [Projet] Oscilloscope numérique à mémoire sur PC

    Salut,
    Je rejoins ce qui a été dit précédemment au sujet du PCB. La qualité des mesures et de compatibilité entre signaux, numériques rapides et précision analogique (quoique en précision verticale du 7/8 bits suffit amplement) impose de devoir faire un PCB dans les regles de l'art, et donc de recourrir à des cartes professionnelles. Pour une appli comme celle la il faudra à mon avis partir sur du 4 couches, histoire d'avoir un plan de masse le plus continu possible.

    Ensuite, si la partie acquisition est bien réalisée, la partie qui pêche le plus sur un oscillo sur PC c'est la transmission des données au PC. Oublie le RS232, plus personne ne l'utilise, et c'est lent.
    L'USB me parait le plus simple. Mais oublie les convertisseurs du commerce, c'est un conseil !
    Preferes plutot des composants optimisés pour cette transmission sur l'USB :
    http://www.ftdichip.com/Products/ICs/FT232H.htm
    http://www.ftdichip.com/Products/ICs/FT2232H.htm
    Ces composants tournent sur de l'USB High speed, et permettent d'obtenir des débits de transmissions élevés. De plus les drivers fonctionnent sur de nombreux OS. Les composants que je t'ai cités disposent d'une FIFO à entrée parallele, ce qui va considérablement accélérer tes débits de données et te permettre une transmission directe entre le CPLD et ton convertisseur USB, le tout supervisé par ton microcontroleur.

    Concernant le choix du micro je ne pense pas que tu aurs besoin d'un truc surpuissant, étant donné qu'il n'agira que comme superviseur, les hauts débits étant gérés par le CPLD. Mais choisis quelque chose qui soit simple à programmer, l'ARM n'est pas à la portée de tout le monde. Mais entre un PIC ou un AVR, les plus répandus chez les amateurs, chacun a des outils HW low cost et des compilos gratuits et/ou open source qui permettent l'acces au plus grand monde.

    Aurélien

  11. #10
    invite02e6120e

    Re : [Projet] Oscilloscope numérique à mémoire sur PC

    Citation Envoyé par Tropique Voir le message
    Beau projet, j'espère qu'il aboutira, et que d'autres prendront le train en route.
    Merci !

    Citation Envoyé par Antoane Voir le message
    Bonjour,
    Petit hors-sujet : avec quel logiciel fais-tu ces ravissants dessins : http://forums.futura-sciences.com/at...text5758-7.jpg ?
    Avec Inkscape, logiciel de dessin vectoriel gratuit ! Il est également possible d'intégrer le format *.svg dans les fichiers PDF.

    Vos réponses sont largement justifiées à l'encontre du rs-232. Je sais que c'est vieux, relativement lent (ca dépend de ce qu'on a besoin..) et en voie de disparition. Néanmoins, c'est ultra-facile et rapide à mettre en place ! Pour l'instant j'ai un débit de 400kpbs environ, qui n'est pas "si" lent.. Et qui est suffisant.
    Dans un second temps, je partirais sur l'USB. Cependant il n'est pas question que je développe un driver USB, il existe "libUSB" une librairie qui fournit un driver "tout prêt". Mais ce n'est pas le gout du jour, pour l'instant je me concentre sur la partie hardware.

    Quand au design du PCB, je suis conscient que je n'atteindrait pas grand chose avec un PCB maison. Mais je trouve ca fun dans un premier temps de faire quelques PCB chez moi, et pour certaines parties (notamment la carte interface) du double couche "maison" est amplement suffisant. C'est surtout pour du prototypage.

    Quand au µC, je suis partit sur du PIC car c'est ce qu'il y a sur mon kit de dev, mais j'ai déjà travaillé sur du ARM, qui n'est pas si compliqué que cela quand on a trempé dedans, et il est aussi possible de trouver des compilateurs/débuggers gratuits (néanmoins le binaire est limité en mémoire)..Ce n'est qu'une question de gouts et de couleurs.

    Effectivement les chips FTDI (les leaders dans le domaine) sont super intéressants, j'avais déjà jeté un oeil dessus !

    Note : Comment je fais pour modifier mon premier post sur ce tread pour mettre à jour l'état d'avancement du projet ?

  12. #11
    Tropique

    Re : [Projet] Oscilloscope numérique à mémoire sur PC

    Citation Envoyé par Nollyflip Voir le message

    Note : Comment je fais pour modifier mon premier post sur ce tread pour mettre à jour l'état d'avancement du projet ?
    Il n'y a que les modos qui peuvent modifier un message passé le délai d'édition, donc tu demandes (gentiment!) à l'un d'entre nous ce que tu veux ajouter, et ce sera fait.
    Pas de complexes: je suis comme toi. Juste mieux.

  13. #12
    invite02e6120e

    Re : [Projet] Oscilloscope numérique à mémoire sur PC

    Citation Envoyé par Tropique Voir le message
    Il n'y a que les modos qui peuvent modifier un message passé le délai d'édition, donc tu demandes (gentiment!) à l'un d'entre nous ce que tu veux ajouter, et ce sera fait.
    D'accord Je pensais qu'on pouvais toujours revenir modifier le sujet principal. Je n'ai rien à changer pour l'instant..Mais ce message peut lui être supprimé !
    Merci !

  14. #13
    invite02e6120e

    Re : [Projet] Oscilloscope numérique à mémoire sur PC

    La conception de la première carte (interface) avance bien. En même temps, ce n'est pas la plus compliquée !
    J'ai apporté quelques modifications sur l'architecture.

    - Premièrement, le connecteur ICSP sera composé d'un simple header 5 broches (moins cher) prévu pour se connecter sur un débugger PICkit3 (ou autre...).

    - La liaison avec la carte conversion sera faite à l'aide d'une liaison série et non parallèle. Moins de fils, davantage standard, je ne sais pas ce qui m'a pris de faire du parallèle. Probablement car je pensais adresser la FIFO en direct au début du projet, alors que dorénavant je pense passer par le CPLD. Je conserve un connecteur HE-10 à 10points, avec une connexion par nappe.

    - L'alimentation passe de -5V/+5V à -7V/+7V. De cette façon, il n'est plus nécessaire d'utiliser des AOP rail-to-rail pour la partie analogique : c'est moins cher, et il y a davantage de choix. La carte sera alimentée par du +9V.

    - En sortie analogique, je remplace le PWM par une DAC. En effet, le PWM ne permet que des fréquences de sorties peu élevées :
    pour sortir un point avec 8 bits de résolution verticale, il faut un temps égal à une période PWM. Soit ici, avec une fréquence du timer généralt le PWM de 40 MHz, la période du PWM est égale à : 1/40MHz * 8bits = 6µs.
    Avec 16 points par période, on atteint une fréquence maximale de 10 KHz.
    En utilisant un DAC et une liaison SPI à 10Mhz par exemple, il faut 1/10MHz * 8bits = 0.8µs.
    Avec 16 points par période, on atteint désormais une fréquence maximale de 78 KHz.
    De plus, c'est laborieux de filtrer du PWM, l'amplitude des harmoniques est élevée. Le filtrage s'annonce plus simple avec le DAC. Seule difficulté, l'utilisation du SPI en mode DMA ping/pong.

    Nom : g3869.png
Affichages : 683
Taille : 31,7 Ko

  15. #14
    invite02e6120e

    Re : [Projet] Oscilloscope numérique à mémoire sur PC

    Bonne année !

    J'ai stoppé le développement sur ordinateur pour me concentrer sur la réalisation maison des PCB. J'étais au début méfiant sur les capacités de la méthode du "transfert de toner" (regarder ICI) et je me suis rendu compte qu'avec les bons outils, on pouvait très certainement obtenir un excellent résultat, pour un cout réellement faible.

    J'ai également "investit" dans du matériel :
    l'imprimante laser (ca sert toujours pour l'administration et autres !) station de soudage de qualité, mini perceuse et support, du perchlo, des PCB vierges...
    Après tout, c'était Noël.

    Voici le résultat obtenu avec cette méthode (après de nooooombreux tests) avant gravure :

    Nom : DSC_0456b.jpg
Affichages : 655
Taille : 184,7 Ko

    J'ai foiré la gravure car je voulais tester sans enlever les résidus de fibre de papier, vu que le papier est poreux, donc il n'y aura pas de photo (ca marche pas si on laisse du papier )
    J'ai récupéré un quelconque PCB sur internet, en format PDF (merci à l'auteur).

    A première vue le résultat du transfert à l'air excellent. Et niveau coût par PCB on approche les 0€.

    Fournitures :
    -HP laserjet 1606dn
    -papier blanc tout ce qu'il y a de plus standard
    -éponge grattante
    -acétone
    -fer à repasser
    -une petite plaque de bois
    -un chiffon (un vieux t-shirt)

    Le résultat de la photo est obtenue en environ 2 ou 3 minutes quand on a pris le pli.

    Mais (il y a toujours un mais !)
    -La reproductibilité est mauvaise (le PCB suivant était mal transférée)
    -Le coup du fer à repasser, je trouve ca vraiment trop artisanal, et cela amène trop de paramètres non contrôlés (homogénéité, chaleur, pression...)
    -enlever les petites fibres de papier restantes, c'est laborieux, encore une fois trop artisanal, et le frottement mécanique pour y arriver (avec les pouces..) ne me plais pas : on enlève du toner.
    -mon imprimante imprime mal sur du papier glacé, il y a des défauts, des micro-coupures => papier normal obligatoire (en même temps, l'imprimante est prévue pour)
    -même après un transfert apparemment parfait, les pistes ont l'air poreuses, mal détourées. Si il faut toutes les repasser au fer c'est pas la peine.

    Mais tout de même, j'ai obtenu des meilleurs résultats en un temps record et sans produits chimiques (ou presque) que dans mes souvenirs en utilisant une insoleuse. Car franchement, une imprimante chez moi je veux bien, mais rajouter une insoleuse, des bacs partout, du révélateur,...non !

    Sur internet, difficile de trouver des gens qui sont allés plus loin avec cette technique prometteuse. Jusqu'à ce que je tombe sur Pulsar Fx
    Leur site internet est une véritable mine d'informations, un vrai trésor. Les types ont vraiment poussé le concept et les tests et les résultats ont l'air excellents (ils parlent de faire des pistes de 5-10 mils !) Ils propose un papier qui m'a l'air parfait, une sorte de papier soluble à l'eau collé sur une feuille de papier standard dans un premier temps pour transférer le toner, puis un second papier pour le fixer ensuite (car le toner est poreux ! c'est pour ca que mles pistes le sont).
    J'avais eu l'idée du papier soluble à l'eau, mais pour l'instant le seul distributeur que j'ai trouvé ne m'a pas encore répondu.

    J'hésitais à remplacer la variable aléatoire fer à repasser par une plastifieuse, je sais maintenant quel modèle choisir. Je n'ai plus qu'a trouver un distributeur de leur produits qui veut bien m'envoyer ca en France

    Ils détaillent même une procédure (d'un type qui a eu l'idée) pour réaliser le chainon manquant final et le rêve de tout amateur : les trous métallisés. L'idée semble prometteuse, à tester.
    Il suffit de coller une sorte de feuille de plastique transparent pour plastifieuse sur le PCB gravé, de percer les trous, de les remplir par un mélange liquide d'argent (issu des kits de réparation de dégivrage de vitre arrière de voiture) et de passer le tout au four. Impec !
    J'avais essayé avec de la peinture laque riche en cuivre sans succès (utilisée pour les blindages CEM)...Certainement à cause de la résine dans la peinture, qui empêche le contact en surface.

    Y'a plus qu'a essayer !

  16. #15
    ftorama

    Re : [Projet] Oscilloscope numérique à mémoire sur PC

    Tu sais que pour une poignée d'euros, tu dois pouvoir faire fabriquer quelques PCB (autant avoir une réserve d'1 ou 2 pièces au cas ou) sur différents sites.

    Par exemple:
    http://olimex.com/pcb/index.html

    http://www.futurlec.com/cgi-bin/pcb/form_data.pl
    Quand un homme a faim, mieux vaut lui aprendre à pecher que de lui donner un poisson.

  17. #16
    bobflux

    Re : [Projet] Oscilloscope numérique à mémoire sur PC

    > J'ai foiré la gravure

    Normal.

    Ton projet est très intéressant, mais bon, tu viens de passer 10h à nager dans le perchlo pour économiser 30€, c'est payé moins qu'un enfant chinois ...

    En plus, t'as pas de soldermask, ce qui veut dire que souder des toupiti cms sera un cauchemar. Et t'as pas de trous métallisés, donc pas de vias, donc la liaison avec le plan de masse de l'autre côté du pcb, c'est comme téléphoner à bamako quoi...

    Sortir la bouteille de perchlo, ça va quand tu veux faire un PCB format A4 avec des bonnes grosses pistes bien épaisses, ou pour faire une face avant avec des touches et des boutons... et encore, même, chez Imprelec, c'est probablement moins cher.

    > Dans un second temps, je partirais sur l'USB. Cependant il n'est pas question que je développe un driver USB, il existe "libUSB

    Note qu'il existe le Cypress FX2 EzUSB. C'est un uC, un fossile de 8052 délicatement accouplé avec une FIFO bien efficace et une pile USB en hard. Avec un driver sous linux (libusb et une pincée de C) et un FPGA à l'autre bout, 48-50 Mo/s de transferts soutenus, aucun problème. Un peu plus rapide qu'un RS232, en somme.

    Une liaison rapide avec le PC nécessite beaucoup moins de RAM dans le système embarqué parce que tu peux envoyer les données à haut débit.

    J'ai reçu une carte avec ce machin et une FPGA Spartan-3E le matin à 8h, le soir ça envoyait des bits à donf à 50 Mo/s, donc c'est pas trop compliqué à utiliser... je conseille... j'ai commencé par faire un driver libusb en python.

    Je te conseille de chercher une carte avec un FX2 et une FPGA, par exemple chez Digilent ou autre.

  18. #17
    bobflux

    Re : [Projet] Oscilloscope numérique à mémoire sur PC

    Je reviens pour la suite.

    > Premièrement, le connecteur ICSP

    Mets un port USB, avec un Cypress FX2 ou bien un chip de chez FTDI derrière. Il me semble que le FTDI n'intègre pas de uC. Par contre le FX2 a un uC dedans, et l'intérêt de la chose est que tu programmes le uC par le port USB. En fait, quand tu branches le device, l'OS charge le driver qui transfère le programme dans le uC. Autrement dit, reprogrammer le uC est facile comme bonjour, ça se fait tout seul, et à la vitesse de l'USB2...

    > Probablement car je pensais adresser la FIFO en direct au début du projet

    Un Cypress FX2 s'interface très facilement avec une FPGA. En fait, c'est trivial. De plus, avec un peu de code dans le uC, tu peux reprogrammer la FPGA par le port USB (Digilent le fait sur ses cartes), encore une fois, à la vitesse de l'USB. Donc tu peux reprogrammer la FPGA en une seconde... légèrement plus rapide que du jtag, quoi. D'autre part, si le PC peut reprogrammer la FPGA, alors ton logiciel peut uploader diverses configurations dedans, suivant les besoins...

    À la limite, tu n'as même pas besoin de "vrai" uC, un FX2 contrôlé par le PC suffirait, couplé à un FPGA.

    Bref. Utiliser le maximum de débit en USB te permet de simplifier largement la carte. Par exemple, tu peux échantillonner à mettons 40 Msps sans limite de mémoire, en streaming dans le PC. Pour échantillonner plus vite, il faudra une petite FIFO (à implémenter dans la FPGA).

    > La liaison avec la carte conversion sera faite à l'aide d'une liaison série et non parallèle

    Hum, pourquoi pas, mais 2 canaux 8 bits 100Msps = 1.6 Gsps, autrement dit LVDS obligatoire, par exemple sur un câble SATA...

    > En sortie analogique, je remplace le PWM par une DAC

    Sur un FPGA, ce qui n'est pas cher, c'est les IO. Perso, je mettrais les ADC et DAC en connection parallèle, tout sur la même carte.

  19. #18
    bobflux

    Re : [Projet] Oscilloscope numérique à mémoire sur PC

    Un PCB 4 couches c'est 100€. Aïe ! Tant qu'à faire, autant prendre un module tout fait. Hop :

    Dans le style "petit" :

    http://shop.ztex.de/product_info.php...=60&vat_disp=1 (attention, ne comprend pas les moultes régulateurs de tension pour la fpga)
    http://www.ztex.de/usb-fpga-1/usb-fpga-1.11.e.html
    http://shop.trenz-electronic.de/cata...oducts_id=1039

    Dans le style "gros" :

    http://digilentinc.com/Products/Deta...89&Prod=NEXYS2
    (le connecteur sur celle-là est bien)

    Tu trouveras sûrement moins cher, il faut fouiner, bref avec un module ayant un Cypress FX2 + une FPGA tu n'as plus qu'à brancher tes ADC/DAC dessus.

  20. #19
    invite02e6120e

    Re : [Projet] Oscilloscope numérique à mémoire sur PC

    Je ne comprend pas pourquoi, toutes mes images ne sont plus affichées dans mes anciens posts...?

    Citation Envoyé par ftorama Voir le message
    Tu sais que pour une poignée d'euros, tu dois pouvoir faire fabriquer quelques PCB (autant avoir une réserve d'1 ou 2 pièces au cas ou) sur différents sites.

    Par exemple:
    http://olimex.com/pcb/index.html

    http://www.futurlec.com/cgi-bin/pcb/form_data.pl
    Salut,
    Si tu avais lu depuis le début tu aurais vu que j'ai choisi Olimex pour la réalisation finale des PCB.

    Citation Envoyé par bobfuck Voir le message
    > J'ai foiré la gravure

    Normal.

    Ton projet est très intéressant, mais bon, tu viens de passer 10h à nager dans le perchlo pour économiser 30€, c'est payé moins qu'un enfant chinois ...

    Je ne compte pas faire qu'une seule carte. Si la technique fonctionne, le cout d'un PCB tombe à moins de 5€ l'unité pour du double couche avec trous métallisés et 1h de travail. Et puis j'ai bien indiqué utiliser Olimex pour les cartes finales, et mon perchlo dégueulasse c'est juste pour le fun et pour d'autres petits PCB/projets à côté.
    Et si j'ai foiré la gravure c'était en conaissance de cause !


    En plus, t'as pas de soldermask, ce qui veut dire que souder des toupiti cms sera un cauchemar. Et t'as pas de trous métallisés, donc pas de vias, donc la liaison avec le plan de masse de l'autre côté du pcb, c'est comme téléphoner à bamako quoi...

    Bien sur que si, il est possible de faire un masque de soudure très simplement. En noir, en blanc...Et pour les trous métallisés, comme tu l'as certainement lu, une technique simple à l'air de fonctionner (cela reste à tester). Tu me diras si tu arrives à faire mieux qu'un PCB fait en allez 1h30, double couche, avec des pistes de 8mils et des trous métallisés pour moins de 5€. Sans compter le plaisir du résultat !


    Sortir la bouteille de perchlo, ça va quand tu veux faire un PCB format A4 avec des bonnes grosses pistes bien épaisses, ou pour faire une face avant avec des touches et des boutons... et encore, même, chez Imprelec, c'est probablement moins cher.

    > Dans un second temps, je partirais sur l'USB. Cependant il n'est pas question que je développe un driver USB, il existe "libUSB

    Note qu'il existe le Cypress FX2 EzUSB. C'est un uC, un fossile de 8052 délicatement accouplé avec une FIFO bien efficace et une pile USB en hard. Avec un driver sous linux (libusb et une pincée de C) et un FPGA à l'autre bout, 48-50 Mo/s de transferts soutenus, aucun problème. Un peu plus rapide qu'un RS232, en somme.

    Intéressant les 50Mo/s mais je n'en ai pas besoin pour l'instant. Je veux faire une 2CV et tu me proposes de faire un avion de chasse. Je me demande si tu ne serais pas un gars du marketing ! Par contre, je conserve l'idée de balancer les données directement sur le PC sans FIFO/SRAM. Mais ca ne fonctionne "que" jusqu'à 400Msps dans ton cas, et aucun droit à la défaillance (sinon perte d'échantillons). A creuser, plus tard donc.

    Une liaison rapide avec le PC nécessite beaucoup moins de RAM dans le système embarqué parce que tu peux envoyer les données à haut débit.

    Ca, d'accord ! Sauf si tu penses utiliser ton oscilloscope sur un vieux PC portable comme c'est mon cas.

    J'ai reçu une carte avec ce machin et une FPGA Spartan-3E le matin à 8h, le soir ça envoyait des bits à donf à 50 Mo/s, donc c'est pas trop compliqué à utiliser... je conseille... j'ai commencé par faire un driver libusb en python.

    Je te conseille de chercher une carte avec un FX2 et une FPGA, par exemple chez Digilent ou autre.

    Citation Envoyé par bobfuck Voir le message
    Je reviens pour la suite.

    > Premièrement, le connecteur ICSP

    Mets un port USB, avec un Cypress FX2 ou bien un chip de chez FTDI derrière. Il me semble que le FTDI n'intègre pas de uC. Par contre le FX2 a un uC dedans, et l'intérêt de la chose est que tu programmes le uC par le port USB. En fait, quand tu branches le device, l'OS charge le driver qui transfère le programme dans le uC. Autrement dit, reprogrammer le uC est facile comme bonjour, ça se fait tout seul, et à la vitesse de l'USB2...

    > Probablement car je pensais adresser la FIFO en direct au début du projet

    Un Cypress FX2 s'interface très facilement avec une FPGA. En fait, c'est trivial. De plus, avec un peu de code dans le uC, tu peux reprogrammer la FPGA par le port USB (Digilent le fait sur ses cartes), encore une fois, à la vitesse de l'USB. Donc tu peux reprogrammer la FPGA en une seconde... légèrement plus rapide que du jtag, quoi. D'autre part, si le PC peut reprogrammer la FPGA, alors ton logiciel peut uploader diverses configurations dedans, suivant les besoins...

    À la limite, tu n'as même pas besoin de "vrai" uC, un FX2 contrôlé par le PC suffirait, couplé à un FPGA.

    J'ai même songé à n'utiliser qu'un CPLD et un serial-USB de chez FTDI en tout et pour tout.

    Bref. Utiliser le maximum de débit en USB te permet de simplifier largement la carte. Par exemple, tu peux échantillonner à mettons 40 Msps sans limite de mémoire, en streaming dans le PC. Pour échantillonner plus vite, il faudra une petite FIFO (à implémenter dans la FPGA).

    > La liaison avec la carte conversion sera faite à l'aide d'une liaison série et non parallèle

    Hum, pourquoi pas, mais 2 canaux 8 bits 100Msps = 1.6 Gsps, autrement dit LVDS obligatoire, par exemple sur un câble SATA...

    Les images ne s'affichent plus sur mes anciens posts, mais cette liaison est du bas débit, genre 1Mhz, entre le CPLD et le µC. Elle consiste à récupérer peut-être 1024 bytes, 20 ou 50ms...! La liaison entre l'ADC et le CPLD est parallèle.

    > En sortie analogique, je remplace le PWM par une DAC

    Sur un FPGA, ce qui n'est pas cher, c'est les IO. Perso, je mettrais les ADC et DAC en connection parallèle, tout sur la même carte.

    C'est prévu ainsi. Sauf qu'un CPLD est encore moins cher qu'un FPGA.

    Citation Envoyé par bobfuck Voir le message
    Un PCB 4 couches c'est 100€. Aïe ! Tant qu'à faire, autant prendre un module tout fait. Hop :

    Dans le style "petit" :

    http://shop.ztex.de/product_info.php...=60&vat_disp=1 (attention, ne comprend pas les moultes régulateurs de tension pour la fpga)
    http://www.ztex.de/usb-fpga-1/usb-fpga-1.11.e.html
    http://shop.trenz-electronic.de/cata...oducts_id=1039

    Dans le style "gros" :

    http://digilentinc.com/Products/Deta...89&Prod=NEXYS2
    (le connecteur sur celle-là est bien)

    Tu trouveras sûrement moins cher, il faut fouiner, bref avec un module ayant un Cypress FX2 + une FPGA tu n'as plus qu'à brancher tes ADC/DAC dessus.
    Tu n'as pas saisi mon but. Je n'ai aucunement envie d'acheter une carte toute prête...Encore moins avec du BGA, du 10 couches, de la DDR à 200 MHz et autre ! De plus, beaucoup trop complexe pour réutiliser l'architecture sur un PCB qui se veut simple. Le but est de réaliser un petit oscilloscope commandé par PC avec une liaison série dans la version 1.0, sur 3 cartes afin d'apprendre et de prendre de l'expérience sur Kicad, le VHDL, et dans une version 2.0, avec une liaison USB, probablement une modification de l'architecture µC/FPGA, et sur une seule carte. Je peux même t'annoncer une V3 avec plusieurs ADC en parallèles et horloges déphasés afin de faire monter le taux d'échantillonnage à plus de 500Msps.
    Mais si je commence par la fin, je n'y arriverai jamais et j'abandonnerai en cours de route. Soyons réalistes ! Je ne cherche pas concurrencer tektr*nix.

    En tout cas je te remercie d'avoir pris le temps de participer sur mon fil !

  21. #20
    invite02e6120e

    Re : [Projet] Oscilloscope numérique à mémoire sur PC

    Pour exemple, voici une carte que je viens de réaliser en 40 minutes avec mes gros doigts, et uniquement :
    -une imprimante laser
    -une feuille de papier A4
    -un fer à repasser
    -un chiffon
    -une éponge
    -un peu de perchlo (l'équivalent d'un verre à shooter)
    -une bassine
    -de l'étamage à froid

    Nom : DSC_0462s.JPG
Affichages : 782
Taille : 197,5 Ko

    Cout du PCB : 1.6€
    Cout de la réalisation : moins de 0.2€

    Ok, c'est pas percé, c'est simple couche, c'est pas métalisé.
    Pour faire ca, j'attends ma plastifieuse, et mon kit de chez pulsarfx.
    C'est juste pour donnée une idée de ce qu'il est possible de faire avec presque rien !

  22. #21
    bobflux

    Re : [Projet] Oscilloscope numérique à mémoire sur PC

    > j'ai bien indiqué utiliser Olimex pour les cartes finales

    Pour du double face, j'aime beaucoup Olimex (sauf les délais... mais le prix, lui )
    Pour du 4 couches, j'ai testé 4pcb.com, très bon, moins cher que les autres, mais cher quand même.

    > Et pour les trous métallisés, comme tu l'as certainement lu,
    > une technique simple à l'air de fonctionner (cela reste à tester)

    Ma dernière carte (format 10x16) contenait plusieurs centaines de via.
    Pour avoir des signaux bien propres, rien de tel qu'un beau plan de masse... mais il faut le raccorder aux composants de l'autre côté... et ça nécessite beaucoup de via...

    Ceci dit un petit coup de perchlo vite fait, pour un proto c'est bien aussi.

    > Je veux faire une 2CV et tu me proposes de faire un avion de chasse

    Pas faux

    > Par contre, je conserve l'idée de balancer les données directement sur le PC sans
    > FIFO/SRAM. Mais ca ne fonctionne "que" jusqu'à 400Msps dans ton cas,
    > et aucun droit à la défaillance

    Ouais. Mais, mettons que tu aies un petit buffer dans ta FPGA, genre 16 ko. Tu numérises un signal avec une fréquence d'échantillonnage rapide, trop rapide pour l'usb... donc tu ne numérises que 16k de données à la fois. Le débit entre le PC et la carte te donne le nombre de buffers par seconde que tu peux envoyer, donc le "update rate" de ton oscillo. Et c'est bien d'avoir un update rate rapide...

    Note que sous linux, si tu lances ton process en SCHED_FIFO et que tu stockes les données en RAM, normalement tu peux transférer au taquet sans perdre de paquets.

    > Tu n'as pas saisi mon but. Je n'ai aucunement envie d'acheter une carte toute prête...

    C'est vrai que c'est agréable de fabriquer tout, mais pour les FPGA, ça devient trop cher et délicat. Pour un cpld ça va.

    A+

  23. #22
    invite02e6120e

    Re : [Projet] Oscilloscope numérique à mémoire sur PC

    Oui, tout construire de A à Z est bien plus plaisant.
    Vu que je me limite à 5Mhz de bande passante analogique, pour le double couche ca ira. Je suis sceptique pour le CPLD avec une clock à 100MHz en double couche, mais en soignant le routage je pense que ca doit passer sans trop de problèmes.

    J'ai reçu le kit de chez Pulsar Fx ainsi que ma plastifieuse. Les résultats sont surprenants et variables à la fois, je ne dois pas avoir encore tout bien calibré.
    Avec mon imprimante, je n'arrive pas à faire un transfert parfait à 100% (probablement une question de réglages).

    Par contre, en utilisant le papier démo fourni dans le kit + la plastifieuse, voici el résultat (photo HD : click droit + afficher l'image) :
    Les pistes de 6 mils sont nickels ! Pour info, sur la photo précédente les pistes les plus fines doivent faire 12 mils.
    C'est assez encourageant, pour du proto "maison"...
    C'est du PCB double couche 0.8mm avec 1/2oz d'épaisseur de cuivre. La gravure en frottant avec une éponge me prend 3-4 minutes.

    Nom : DSC_0466.jpg
Affichages : 590
Taille : 132,3 Ko

  24. #23
    invite02e6120e

    Re : [Projet] Oscilloscope numérique à mémoire sur PC

    Le schéma de la première carte (sur 3) est terminée.
    On peut dire qu'environ 25% de la schématique totale est donc complétée
    C'est pas le plus compliqué !

    Revue de shcématique effectuée, la carte entre en phase routage, la BOM est presque terminée.
    J'ai choisi mouser comme fournisseur pour les composants.

    Voici la schématique en PDF (schéma 100% vectoriel). Faite avec Kicad ! Tout rentre sur une feuille A4 en tassant un peu...
    Je peux fournir les sources sur demande.

    carte_interface.pdf

  25. #24
    invite02e6120e

    Re : [Projet] Oscilloscope numérique à mémoire sur PC

    Le routage est terminé !

    Du double couche, plans de masses séparés (numérique/analogique), tout est en SMS sauf les connecteurs.
    Les pistes sont en 12 et 20 mils. Les boitiers sont majoritairement en 0805, et quelques uns en 0603, en SOIC et un en TSSOP (au pas de 0.65 mm).
    Je pense cependant que je vais devoir reprendre le diamètre des vias, ils sont trop faibles (0.6mm) et ne résisterons pas à la gravure / au percage.
    De plus j'ai cassé mon forêt carbure 0.6mm au bout de 3 trous...Trop fragile !

    Nom : PCB.jpg
Affichages : 586
Taille : 163,4 Ko

    On va voir ce que ca donne à la gravure, et à l'alignement des couches...!

  26. #25
    invite02e6120e

    Re : [Projet] Oscilloscope numérique à mémoire sur PC

    Allez, vu que les gens aiment bien le visuel :

    Nom : DSC_0518.jpg
Affichages : 580
Taille : 146,8 Ko

    J'ai gravé la couche du dessus du PCB...Premier essai, résultat quasi-parfait !
    Les quelques irrégularités, notamment sur la "rotondité" des vias est due à mon imprimante, et non au procédé. A vue d'oeil, je n'ai relevé aucune piste coupée ni de court-circuit (à part sur le connecteur DB9 à droit en bout de carte, certaintement à cause des effets de bords de la plastifieuse).

    En parlant de la plastifieuse, j'ai du la modifier pour atteindre ce résultat :
    J'ai inversé les engrenages d'entrainement des rouleaux, afin d'augmenter le temps de presse, et j'ai passé la carte 5 fois. Et quand ca sent l'odeur du toner fondu, c'est bon !
    Gravure du PCB : 3 petites minutes..

  27. #26
    malabar969

    Re : [Projet] Oscilloscope numérique à mémoire sur PC

    Bonjour Nollyflip ,

    J'aimerai réaliser un oscilloscope à mémoire pour mes différents projets.

    Je n'ai pas les connaissances suffisantes en électronique pour en créer un.

    Si votre projet a abouti, serait-il possible d' avoir la documentation, les composants et etc..

    D'avance je vous remercie.

  28. #27
    DAUDET78

    Re : [Projet] Oscilloscope numérique à mémoire sur PC

    Nollyflip ? plus venu depuis 2 ans

    Arrête tes déterrages et ouvre une discussion ..... tu vas fatiguer le peuple !
    J'aime pas le Grec

  29. #28
    malabar969

    Red face Re : [Projet] Oscilloscope numérique à mémoire sur PC

    Je ne voulais pas créer un nouveau sujet, puisqu'il y avait celui-là .

    Je vais laisser tomber la création d’un nouveau sujet sur ce thème.



    Merci DAUDET78.

Discussions similaires

  1. oscilloscope à mémoire
    Par laz3kar dans le forum Électronique
    Réponses: 23
    Dernier message: 03/11/2014, 15h07
  2. oscilloscope numérique
    Par invite620a0943 dans le forum Physique
    Réponses: 4
    Dernier message: 26/02/2010, 17h47
  3. Oscilloscope numérique
    Par mej dans le forum Physique
    Réponses: 2
    Dernier message: 02/04/2008, 11h28
  4. [PROJET EN COURS] Filtre numérique sur un PIC
    Par Rodrigue dans le forum Électronique
    Réponses: 0
    Dernier message: 20/03/2006, 20h37
Découvrez nos comparatifs produits sur l'informatique et les technologies.