Table des matières:

EZProbe, une sonde logique basée sur EZ430 : 4 étapes
EZProbe, une sonde logique basée sur EZ430 : 4 étapes

Vidéo: EZProbe, une sonde logique basée sur EZ430 : 4 étapes

Vidéo: EZProbe, une sonde logique basée sur EZ430 : 4 étapes
Vidéo: Advent Calendar of Circuits 2011: Day 19: Window Comparator Logic Probe 2024, Juillet
Anonim
EZProbe, une sonde logique basée sur EZ430
EZProbe, une sonde logique basée sur EZ430

il s'agit d'un projet de sonde logique simple basé sur le dongle TI EZ430. J'ai profité d'une offre gratuite sur quelques ez430 de TI en septembre 2010. ils sont très pratiques et amusants pour essayer de petits extraits de code et regarder le clignotement de la led. ils étaient depuis allongés autour de mon bureau et je dois leur trouver quelque chose. et je veux empêcher les gens de venir et demander à emprunter ma "memory stick". Eh bien, ce n'est pas une clé USB, un MCU 16 bits avec des CAN multicanaux, une mémoire de programmation 2K adéquate et fonctionne jusqu'à 16 MHz. le tout emballé avec la carte d'interface de programmation de débogage dans un joli paquet de périphérique USB. mon objectif de conception principal est de limiter mon intervention à l'ez430 d'origine. en ce sens que je ne veux pas trop le modifier physiquement et je veux conserver sa fonction de programmation / débogage pour d'autres projets de carte cible. tout cela tout en servant à des fins utiles supplémentaires. il s'agit d'un projet linux, comme d'habitude, j'avais prêté attention avec mes meilleures connaissances à prendre des dispositions pour qu'il puisse être construit sous windows. Cependant, je n'ai pas le temps et les ressources pour tout essayer sous Windows. la plupart de mes projets électroniques sont réalisés sur de très petites maquettes et je travaille généralement dans des espaces restreints (table de cuisine, demi-bureau emprunté, etc.). il y a de nombreux cas où j'ai besoin de vérifier les niveaux logiques du circuit et j'ai utilisé un multimètre (taille d'une brique) pour vérifier les choses. cela m'agace toujours car mes projets sont beaucoup plus petits que mon multimètre et j'ai trouvé que cela me gênait toujours. j'ai besoin d'une alternative, une petite sonde logique fera l'affaire. l'ez430 est parfait pour cette tâche. pour commencer, il a déjà la forme d'une sonde, il ne me reste plus qu'à rajouter un clou et des leds. comme je l'ai mentionné plus tôt, je veux rendre ce projet simple et non destructif. et j'ai utilisé ce qui est déjà disponible. au lieu de construire le projet sur une carte pcb / pref-board, je le construis sur une carte cible msp430f2012, en utilisant les trous traversants de l'en-tête à 14 broches comme zone de prototypage. c'est là que vont les minuscules leds. Je ne veux pas percer de trous sur le boîtier en plastique, je ne veux pas faire passer trop de fils ni ajouter de points de contact supplémentaires. tout ce dont j'ai besoin est un contact io de sonde et une entrée de bouton pour la sélection de fonction, ainsi que gnd et vcc. la connexion USB semble parfaite pour cette tâche. j'alimenterai la sonde via l'usb (le circuit du programmateur régulera un potentiel d'environ 3v pour moi) et utiliserai les connexions USB D+ et D- pour ma sonde et mon interrupteur. étant donné que l'ez430 est un périphérique esclave / client, lors de l'initialisation, il ne fera rien d'autre qu'un pull-up sur D + (pour indiquer qu'il s'agit d'un usb "haute vitesse"). J'utilise le D- flottant comme sonde io et le D+ comme entrée de bouton tactile (je n'ai même pas besoin de configurer une résistance de rappel pour cela, elle est déjà là) des informations supplémentaires peuvent également être trouvées ici.

Étape 1: Fonctionnalités et application

Fonctionnalités et applications
Fonctionnalités et applications

caractéristiques * alimentation à partir du circuit via le connecteur USB * 3 modes de fonctionnement tournant entre la lecture logique, la sortie d'impulsions, la sortie pwm * une longue pression sur le bouton (environ 1,5 s) fait défiler les 3 modes de fonctionnement * led verte d'origine p1.0 comme indicateur de mode, éteint - sonde, marche - sortie, clignotement - sonde pwmlogic * sonde logique rouge - hi, verte - faible, aucune - flottante * sonde logique rouge/vert clignote en cas d'impulsion continue lectures > 100hz * 4 leds jaunes indiquent les fréquences détectées en 8 étapes, jaunes clignotants indiquer la gamme haute (c'est-à-dire l'étape 5-8) * montre les fréquences d'impulsion détectées pour 100hz+, 500hz+, 1khz+, 5khz+, 10khz+, 50khz+, 100khz+, 500khz+ le nombre d'impulsions est affiché de manière incrémentielle sur les LED, comptera jusqu'à 8 impulsions. Sortie d'impulsion continue, réglage de la fréquence * indiqué par p1.0 LED verte d'origine allumée étape 5-8) * fréquences d'impulsion sortie pour 100hz, 500hz, 1khz, 5khz, 10khz, 50khz, 100khz, 500khz, 1mhz mode de fonctionnement, sauf que les valeurs pwm sont affichées (et configurées) au lieu de la fréquence * 4 LED jaunes indiquent les pourcentages pwm de sortie en 9 étapes, les jaunes clignotants indiquent la haute étape 5-8) * pourcentages pwm pour 0%, 12,5%, 25%, 37,5%, 50%, 62,5%, 75%, 87,5%, 100% * une brève pression sur le bouton fait tourner les 9 paramètres pwm différents. schéma le schéma est composé de deux parties, dans lesquelles ils sont connectés via une paire de connecteurs USB. le schéma de gauche montre les ajouts au dongle EZ430 avec une carte cible F2012. le schéma de droite est la tête de sonde logique et doit être construit à partir de zéro.

Étape 2: Liste des pièces et construction

Liste des pièces et construction
Liste des pièces et construction
Liste des pièces et construction
Liste des pièces et construction

liste des pièces * ti ez430-f2013 (utilisez la partie programmeur) * carte cible ti ez430 f2012 * leds 1,2 x 0,8 mm, 4 jaunes, 1 rouge, 1 vert * un clou, environ 3/4 de pouce, à tête plate * un bouton tactile * capuchon de 1 gramme de super-glue (la super-colle elle-même est également nécessaire) * type USB un connecteur (côté pc) * construction de fils j'utilise la carte cible msp430f2012 au lieu de la carte cible f2013 fournie avec le dongle ez430 uniquement parce que j'ai quelques-uns d'entre eux. si vous souhaitez utiliser la carte cible d'origine f2013, vous devrez réécrire une très petite partie du code qui utilise adc pour détecter l'état flottant. le f2013 a un adc 16 bits plus avancé au lieu du 10 bits que j'utilise dans ma construction. vous aurez besoin d'utiliser une pointe à souder fine et un fer à souder à contrôle de température (ou une station), je ne peux pas imaginer qu'on puisse souder les leds avec un fer ordinaire. la façon dont je l'ai fait est d'abord d'étamer les tampons d'en-tête, puis d'utiliser une paire de tweeters fins pour placer les leds smd. après avoir aligné les leds rouge et jaune, j'étain une jambe d'une résistance de 1/8 watt et la soude sur le PCB, une extrémité va à une masse commune. la led verte passe en dernier. il est très serré et vous voudriez juste appliquer assez de soudure pour coller les choses ensemble. aussi le flux est un must. utilisez un multimètre pour tester vos articulations. vous devrez alors ponter le fil du bouton et le fil de la sonde. J'utilise des coupures cat5e mais tous les fils de gros calibre feront l'affaire. comme indiqué dans le schéma et l'image, ils vont de la carte cible au connecteur USB. ce serait bien si je pouvais trouver un petit connecteur pour qu'ils puissent être débranchés à volonté, mais cela fera l'affaire pour l'instant.

Étape 3: Construction de la tête de sonde

Construction de la tête de sonde
Construction de la tête de sonde

en bas, vous verrez les bits que j'ai utilisés pour "construire" (super-colle) l'assemblage de la tête de sonde. mon idée est de le construire sur un connecteur USB afin qu'il puisse être détaché pour les mises à jour du firmware. J'ai utilisé de la super-colle pour tout assembler. le "clou" est collé directement sur le dessus d'un bouton tactile pour un changement de mode très rapide et un réglage fréquence/pwm. vous voudrez peut-être faire autrement si cela ne fonctionne pas pour vous. il y aura des oscillations du mécanisme du bouton tactile, dans une conception, j'ai utilisé un trombone pour limiter les oscillations et une autre tête de sonde, j'ai utilisé le capuchon de la super-colle pour sécuriser la position du clou. vous pouvez également y ajouter une résistance / diode de protection. le connecteur usb a ces connexions, (1) 5v, (2) D-, (3) D+, et (4) Gnd, le D- est à connecter au clou, le D+ se connecte au bouton tactile, l'autre l'extrémité du bouton tactile doit être connectée à la terre. cette stratégie de sonde sur connecteur me donne beaucoup de flexibilité, avec une ligne électrique sur la tête de la sonde, vous pouvez étendre le circuit et transformer ce projet en autre chose en changeant simplement la "tête" et le firmware, ex. peut être un voltmètre, un tv-b-gone (avec transistor et batterie sur la tête de la sonde), etc. J'y ajouterais ensuite un "phare" à led blanc.

Étape 4: Notes de mise en œuvre et applications alternatives

Notes de mise en œuvre et applications alternatives
Notes de mise en œuvre et applications alternatives

notes de mise en œuvre

* wdt (horloge chien de garde) est utilisé pour fournir la synchronisation des boutons (anti-rebond et press-n-hold), également pour pulser les LED d'éclairage. cela est nécessaire car les leds n'ont pas de résistances de limitation et ne peuvent pas être allumées en permanence. * horloge dco réglée à 12mhz pour accueillir les circuits cibles 3v. * adc est utilisé pour décider si nous sondons sur une broche flottante, les valeurs de seuil peuvent être ajustées via le code source. * la détermination de la fréquence est effectuée en réglant timer_a pour capturer pour la détection de front et en comptant l'impulsion dans une période. * le mode de sortie utilise le mode continu timer_a, le mode de sortie 7 (réglage/réinitialisation), les registres de capture et de comparaison (CCR0 et CCR1) pour obtenir une modulation de largeur d'impulsion.

code source

ce sont des instructions pour Linux uniquement, mon environnement est ubuntu 10.04, les autres distributions devraient fonctionner tant que vous avez correctement installé la chaîne d'outils msp403 et mspdebug.

vous pouvez créer un répertoire et y placer les fichiers suivantscliquez pour télécharger ezprobe.c

je n'ai pas de makefile pour cela à compiler, j'utilise un script bash pour compiler la plupart de mes projets, il est mentionné sur ma page de bouclier de lancement, faites défiler jusqu'à la section "disposition du répertoire de l'espace de travail" et obtenez les détails.

ou vous pouvez faire ce qui suit

msp430-gcc -Os -mmcu=msp430x2012 -o ezprobe.elf ezprobe.c msp430-objdump -DS ezprobe.elf > ezprobe.lst msp430-objdump -h ezprobe.elf msp430-size ezprobe.elf

pour flasher le firmware, attachez votre dongle ez430 et faites

mspdebug -d /dev/ttyUSB0 uif "prog ezprobe.elf"

possibilités d'applications alternatives

sur la base de la nature flexible de cette conception, l'ezprobe peut facilement changer de rôle et par un téléchargement flash rapide, devient un appareil différent, voici quelques idées que j'ai l'intention de mettre en œuvre à l'avenir.

* testeur de servo, celui-ci que j'ai faitcliquez pour télécharger ezprobe_servo.c * testeur de batterie / voltmètre, jusqu'à 2,5 V ou plus avec diviseur de résistance sur une tête de sonde alternative * tv-b-gone, avec sonde led ir- tête * pong-clock, avec 2 résistances tv-out sonde-tête

dépannage

* vous avez vraiment besoin d'un fer / station de contrôle de température et de pointes à souder fines, les leds (toutes ensemble) sont plus petites qu'un grain de riz. * utiliser du flux. * préparez-vous à déconnecter les fils D- et D+ pendant le débogage, ils peuvent interférer avec le fonctionnement normal de l'usb. si vous écrivez un firmware sur l'appareil modifié, ne faites pas de sortie sur ces deux broches au démarrage de votre firmware. et si vous le faites, vous ne pourrez plus télécharger le firmware (bien sûr, vous pouvez les dessouder si cela se produit). si vous pouvez trouver de petits connecteurs qui s'insèrent dans le boîtier USB, utilisez-les. * l'alimentation de la carte cible est tirée de la carte du programmeur via un régulateur, qui à son tour prend 5v de l'usb. lors de l'utilisation de l'ezprobe dans le circuit, mon projet cible fournit généralement 3v à partir de deux AAA 1.5v, c'est suffisant mais le projet doit rester sur ou en dessous de 12mhz. 16mhz dco nécessitera une alimentation complète de 5v. * Je n'ai pas utilisé de résistance de limitation ou de diode Zener pour protéger la sonde. vous voudrez peut-être le faire.

Conseillé: