Indholdsfortegnelse:

EZProbe, en EZ430 -baseret logisk sonde: 4 trin
EZProbe, en EZ430 -baseret logisk sonde: 4 trin

Video: EZProbe, en EZ430 -baseret logisk sonde: 4 trin

Video: EZProbe, en EZ430 -baseret logisk sonde: 4 trin
Video: Логический пробник своими руками 2024, Juli
Anonim
EZProbe, en EZ430 -baseret logisk sonde
EZProbe, en EZ430 -baseret logisk sonde

dette er et simpelt logisk sondeprojekt baseret på TI EZ430 dongle. Jeg benyttede mig af et gratis tilbud på et par ez430'er fra TI i september 2010. De er meget praktiske og sjove i at prøve små kodestykker og se LED'en blinke. de havde siden ligget omkring mit skrivebord, og jeg skal finde på noget til dem. og jeg vil stoppe folk, der kommer op og bede om at få låne min "memory stick". godt, dette er ingen memory stick, 16bit MCU m/ multi-channel ADC'er, tilstrækkelig 2K programmeringshukommelse og kører op til 16Mhz. alt pakket op med debugging programmeringsinterfacekortet i en dejlig usb -enhedspakke. mit hoveddesignmål er at begrænse min intervention til den originale ez430. ved at jeg ikke vil ændre det for meget fysisk, og jeg vil beholde dets programmerings- / fejlfindingsfunktion til andre målbrætprojekter. alt dette mens de tjener yderligere nyttige formål. dette er et linux -projekt, som sædvanlig, jeg havde med min bedste viden lagt vægt på at lave bestemmelser, så det kan bygges under vinduer. men jeg har ikke tid og ressourcer til at prøve alt under vinduer. de fleste af mine elektronikprojekter udføres på meget små brødbrætter, og jeg arbejder normalt på trange steder (køkkenbord, et halvt lånt skrivebord osv.). der er mange tilfælde, at jeg skal kontrollere kredsløbslogikniveauer, og jeg har brugt et multimeter (størrelse på en mursten) til at tjekke tingene. det irriterer mig altid, da mine projekter er meget mindre end mit multimeter, og jeg fandt ud af, at det altid kommer i vejen for mig. jeg har brug for et alternativ, en lille logisk sonde vil gøre. ez430 er perfekt til denne opgave. Til at begynde med er den allerede formet som en sonde, jeg skal bare tilføje et søm og nogle lysdioder. som jeg nævnte tidligere, vil jeg gøre dette projekt enkelt og ikke-destruktivt. og jeg gjorde brug af det, der allerede er tilgængeligt. i stedet for at bygge projektet på en pcb / pref-board, bygger jeg dette på et msp430f2012-målkort, der anvender de 14 benede header gennem huller som mit prototypeområde. det er her de små lysdioder går. Jeg vil ikke bore huller på plasthuset, jeg vil ikke køre for mange ledninger eller tilføje yderligere kontaktpunkter. alt jeg behøver er en probe io -kontakt og en knapindgang til funktionsvalg, plus gnd og vcc. usb -forbindelsen ser perfekt ud til denne opgave. jeg vil drive sonden via usb (programmeringskredsløbet regulerer et potentiale på omkring 3v for mig) og bruge D+ og D-usb-forbindelserne til min sonde og switch. da ez430 er slave / klient-enhed, vil den ved initialisering ikke gøre noget, undtagen en pull-up på D+ (for at angive, at det er en "hi-speed" usb). Jeg bruger den flydende D- som min probe io og D+ som min taktile knapindgang (jeg behøver ikke engang at opsætte en pull-up-modstand til det, den er der allerede) yderligere oplysninger kan også findes her.

Trin 1: Funktioner og applikation

Funktioner og applikation
Funktioner og applikation

funktioner * forsyning fra kredsløb via usb -stik * 3 driftstilstande, der roterer mellem logisk læsning, pulsudgang, pwm -udgang * langt tastetryk (ca. 1,5 sek.) roterer gennem de 3 driftstilstande * p1.0 original grøn LED som tilstandsindikator, slukket - probe, on - output, blink - pwmlogic probe * logic probe rød - hej, grøn - lav, ingen - flydende * logisk sonde rød / grøn blinker ved kontinuerlig puls læser> 100hz * 4 gule lysdioder viser registrerede frekvenser i 8 trin, blinkende gule angiv hi-range (dvs. trin 5-8) * viser registrerede pulsfrekvenser for 100hz+, 500hz+, 1khz+, 5khz+, 10khz+, 50khz+, 100khz+, 500khz+ * for ikke-kontinuerlige enkeltpulsudbrud, de røde / grønne lysdioder forbliver tændt og efterfølgende pulstællinger vises trinvist på lysdioderne, vil tælle op til 8 pulser kontinuerlig pulsudgang, frekvensindstilling * angivet med p1.0 original grøn LED på * 4 gule lysdioder viser outputpulsfrekvenser i 9 trin, blinkende gule angiver hi-område (dvs. trin 5-8) * pulsfrekvenser output for 100hz, 500hz, 1khz, 5khz, 10khz, 50khz, 100khz, 500khz, 1mhz * kort knap tryk roterer de 9 forskellige frekvensindstillinger. kontinuerlig pulsudgang, pwm -indstilling * angivet med p1.0 original grøn lysdiode blinker * samme som tidligere driftstilstand, undtagen pwm-værdier er vist (og opsæt) i stedet for frekvens * 4 gule lysdioder viser output-pwm-procenter i 9 trin, blinkende gule angiver hi-range (dvs. trin 5-8) * pwm procentdele for 0%, 12,5%, 25%, 37,5%, 50%, 62,5%, 75%, 87,5%, 100% * kort knap tryk roterer de 9 forskellige pwm indstillinger. skematisk skematisk er består af to dele, hvor de er forbundet via et par usb -stik. skematisk i venstre side viser tilføjelser til EZ430 -donglen med et F2012 -målbræt. den højre side skematisk er det logiske sondehoved og skal konstrueres fra bunden.

Trin 2: Deleliste og konstruktion

Deleliste og konstruktion
Deleliste og konstruktion
Deleliste og konstruktion
Deleliste og konstruktion

deleliste * ti ez430-f2013 (brug programmeringsdel) * ti ez430 f2012 målbræt * lysdioder 1,2 x 0,8 mm, 4 gule, 1 røde, 1 grøn * en søm, omkring 3/4 tommer, fladhovedet * en taktil knap * hætte fra 1 gram superlim (superlim er også nødvendig) * usb-type stik (pc-side) * ledningskonstruktion jeg bruger msp430f2012 målkort i stedet for f2013 målkort, der kommer med ez430 donglen, kun fordi jeg har et par af disse. Hvis du vil bruge det oprindelige f2013-målkort, skal du omskrive en meget lille del af koden, der bruger adc til at opdage flydende tilstand. f2013 har en mere avanceret 16 bit adc i stedet for den 10 bit, jeg bruger i min konstruktion. du bliver nødt til at bruge en fin loddetip og et temperaturkontrol loddejern (eller station), jeg kan ikke forestille mig, at man kan lodde lysdioderne med et almindeligt jern. den måde, jeg gjorde det på, er at tinde headerpuderne først og derefter bruge et par fine diskanthøjttalere til at placere smd -lysdioderne. efter at have justeret de røde og gule lysdioder, tin jeg det ene ben af en 1/8 watt modstand og lodde det på printet, den ene ende går til en fælles gnd. den grønne LED går sidst. det er meget stramt, og du vil bare anvende nok loddetin til at holde tingene sammen. også flux er et must. brug en multimeter til at teste dine led. du bliver derefter nødt til at bygge bro over knappetråden og sondetråden. jeg bruger cat5e cut -offs, men enhver højmåler ledning vil klare. som vist i skematikken og billedet, løber de fra målkortet til usb -stikket. det ville være rart, hvis jeg kunne finde et lille stik, så de kan blive frakoblet efter behag, men dette vil gøre for nu.

Trin 3: Probehovedkonstruktion

Probe hoved konstruktion
Probe hoved konstruktion

i bunden vil du se de bits, som jeg plejede at "konstruere" (superlim) sondehovedsamlingen. min idé er at bygge det videre til et usb -stik, så det kan løsnes til firmwareopdateringer. jeg brugte superlim til at sætte alt sammen. "sømmet" er limet direkte oven på en taktil knap for meget hurtig tilstandskift og frekvens / pwm -indstilling. du vil måske gøre andet, hvis det ikke virker for dig. der vil være noget wobbling fra den taktile knapmekanisme, i et design brugte jeg papirclips til at begrænse wobbling og et andet sondehoved brugte jeg hætten fra superlim for at sikre sømpositionen. du vil måske også tilføje beskyttelsesmodstand / diode til den. usb-stikket har disse forbindelser, (1) 5v, (2) D-, (3) D+ og (4) Gnd, D- skal tilsluttes søm, D+ tilsluttes den taktile knap, den anden enden af den taktile knap skal forbindes til jorden. denne probe-on-connector strategi giver mig en masse fleksibilitet, med strømledning på sondehovedet, kan du udvide kredsløbet og gøre dette projekt til noget andet ved blot at ændre "hovedet" og firmwaren, f.eks. kan være en voltmåler, en tv-b-gone (m/ transistor og batteri på sondehovedet) osv. Jeg vil derefter tilføje en hvid led "forlygte" til den.

Trin 4: Implementeringsnotater og alternative applikationer

Implementeringsnotater og alternative applikationer
Implementeringsnotater og alternative applikationer

gennemførelsesnotater

* wdt (vagthundstimer) bruges til at levere knaptiming (de-bounce og tryk-n-hold), også til at pulsere lysdioder. dette er nødvendigt, da lysdioder ikke har begrænsende modstande og ikke kan tændes konstant. * DCO -ur indstillet til 12 MHz for at rumme 3V målkredsløb. * adc bruges til at afgøre, om vi undersøger ved en flydestift, tærskelværdier kan justeres via kildekode. * frekvensbestemmelse udføres ved at indstille timer_a til at indfange til kantdetektering og tælle pulsen inden for en periode. * udgangstilstand bruger timer_a kontinuerlig tilstand, udgangstilstand 7 (sæt/nulstil), både optagelse og sammenligning af registre (CCR0 og CCR1) for at opnå pulsbreddemodulation.

kildekode

dette er kun instruktioner til linux, mit miljø er ubuntu 10.04, andre distros skulle fungere, så længe du havde installeret msp403 værktøjskæden og mspdebug korrekt.

du kan oprette et bibliotek og placere følgende filer i dem, klik for at downloade ezprobe.c

Jeg har ikke en makefile til, at dette kan kompileres, jeg bruger et bash -script til at kompilere de fleste af mine projekter, det er nævnt på min launchpad -skjoldside, rul ned til afsnittet "layout til arbejdsområdeskatalog" og få detaljerne.

eller du kan gøre følgende

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

For at blinke firmware skal du vedhæfte din ez430 -dongle og gøre

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

alternative anvendelsesmuligheder

baseret på dette designs fleksible karakter kan ezprobe let ændre sin rolle og ved en hurtig flash -download blive en anden enhed, her er nogle ideer, som jeg agter at implementere i fremtiden.

* servotester, denne jeg klikede på for at downloade ezprobe_servo.c * batteritester/ voltmåler, op til 2,5v eller højere m/ modstandsdeling på alternativ sondehoved * tv-b-gone, w/ ir led probe- hoved * pong-ur, m/ 2 modstand tv-ud sondehoved

fejlfinding

* du har virkelig brug for et temperaturkontroljern / station og fine loddetip, lysdioderne (alle sammen) er mindre end et gran ris. * brug flux. * Vær forberedt på at afbryde D- og D+ -trådene under fejlfinding, de kan forstyrre normal USB-drift. hvis du skriver firmware på den modificerede enhed, skal du ikke lave output på disse to ben, når din firmware starter. og hvis du gør det, vil du ikke længere være i stand til at downloade firmware (naturligvis kan du un-lodde dem, hvis dette skete). Hvis du kan finde små stik, der passer ind i usb -kabinettet, skal du bruge dem. * strømforsyning til målkortet trækkes fra programmørkortet via en regulator, som igen tager 5v fra usb. Når jeg bruger ezprobe i kredsløb, har jeg normalt mit målprojektforsyning 3v fra to 1,5v AAA'er, dette er tilstrækkeligt, men projektet skal forblive på eller under 12mhz. 16mhz DCO kræver fuld 5V kildestrøm. * Jeg brugte ikke begrænsningsmodstand eller zenerdiode til at beskytte sonden. kan du gøre det.

Anbefalede: