Innholdsfortegnelse:

EZProbe, en EZ430 -basert logisk sonde: 4 trinn
EZProbe, en EZ430 -basert logisk sonde: 4 trinn

Video: EZProbe, en EZ430 -basert logisk sonde: 4 trinn

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

Dette er et enkelt logisk sondeprosjekt basert på TI EZ430 dongle. Jeg benyttet meg av et gratis tilbud på et par ez430 -er fra TI i september 2010. De er veldig praktiske og morsomme når de prøver ut små kodebiter og ser på LED -lampen. de hadde siden ligget rundt skrivebordet mitt, og jeg må finne på noe for dem. og jeg vil stoppe folk som kommer opp og be om å få låne "minnepinnen" min. vel, dette er ingen minnepinne, 16-biters MCU med flerkanals ADC-er, tilstrekkelig 2K programmeringsminne og kjører opptil 16Mhz. alt pakket med feilsøkingsprogrammeringsgrensesnittkortet i en fin usb -enhetspakke. Mitt viktigste designmål er å begrense min intervensjon til den originale ez430. ved at jeg ikke vil endre det for mye fysisk og jeg vil beholde programmerings- / feilsøkingsfunksjonen for andre målbrettprosjekter. alt dette mens de tjener flere nyttige formål. Dette er et linux -prosjekt, som vanlig hadde jeg med min beste kunnskap gitt oppmerksomhet på å lage bestemmelser slik at det kan bygges under vinduer. men jeg har ikke tid og ressurser til å prøve alt under vinduer. de fleste av mine elektronikkprosjekter er utført på veldig små brødbrett, og jeg jobber vanligvis på trange steder (kjøkkenbord, et halvt lånt skrivebord osv.). Det er mange tilfeller jeg må sjekke kretslogikknivåer, og jeg har brukt et multimeter (størrelse på en murstein) for å sjekke ting. det irriterer meg alltid ettersom prosjektene mine er mye mindre enn multimeteret mitt, og jeg fant ut at det alltid kommer i veien for meg. Jeg trenger et alternativ, en liten logisk sonde vil gjøre. ez430 er perfekt for denne oppgaven. Til å begynne med er den allerede formet som en sonde, jeg trenger bare å legge til en spiker og noen lysdioder. som jeg nevnte tidligere, vil jeg gjøre dette prosjektet enkelt og ikke-destruktivt. og jeg brukte det som allerede er tilgjengelig. i stedet for å bygge prosjektet på en PCB / pref-board, bygger jeg dette på et mål msp430f2012 bord, og bruker 14-pinners topphull gjennom hullene som mitt prototypingområde. det er her de små lysdiodene går. Jeg vil ikke bore hull på plasthuset, jeg vil ikke kjøre for mange ledninger eller legge til flere kontaktpunkter. alt jeg trenger er en probe io -kontakt og en knappinngang for funksjonsvalg, pluss gnd og vcc. usb -tilkoblingen ser perfekt ut for denne oppgaven. Jeg vil drive sonden via usb (programmererkretsen vil regulere et potensial på rundt 3v for meg) og bruke D+ og D-usb-tilkoblinger for min sonde og bryter. siden ez430 er en slave- / klientenhet, vil den ved initialisering ikke gjøre noe annet enn å trekke opp D+ (for å indikere at det er en "hi-speed" usb). Jeg bruker den flytende D- som min sonde io og D+ som min taktile knappinngang (jeg trenger ikke engang å sette opp en pull-up-motstand for det, den er der allerede) tilleggsinformasjon kan også bli funnet her.

Trinn 1: Funksjoner og applikasjon

Funksjoner og applikasjon
Funksjoner og applikasjon

funksjoner * forsyning fra krets via usb -kontakt * 3 driftsmoduser som roterer mellom logisk avlesning, pulsutgang, pwm -utgang * langt knappetrykk (ca. 1,5 sek.) roterer gjennom de tre driftsmodusene * p1.0 original grønn LED som modusindikator, av - sonde, på - utgang, blink - pwmlogisk sonde * logisk sonde rød - hei, grønn - lav, ingen - flytende * logisk sonde rød / grønn blinker på kontinuerlig puls leser> 100 Hz * 4 gule lysdioder viser påviste frekvenser i 8 trinn, blinkende gule angi hi-range (dvs. trinn 5-8) * viser påviste pulsfrekvenser for 100hz+, 500hz+, 1khz+, 5khz+, 10khz+, 50khz+, 100khz+, 500khz+ * for ikke-kontinuerlige enkeltpulsutbrudd, de røde / grønne lysdiodene forblir på og påfølgende pulstall vises trinnvis på lysdiodene, vil telle opptil 8 pulser kontinuerlig pulsutgang, frekvensinnstilling * indikert med p1.0 original grønn LED på * 4 gule lysdioder viser utgangspulsfrekvenser i 9 trinn, blinkende gule indikerer hi-område (dvs. trinn 5-8) * pulsfrekvenser utgang for 100hz, 500hz, 1khz, 5khz, 10khz, 50khz, 100khz, 500khz, 1mhz * kort knappetrykk roterer de 9 forskjellige frekvensinnstillingene. kontinuerlig pulsutgang, pwm -innstilling * indikert med p1.0 original grønn LED blinker * samme som forrige driftsmodus, bortsett fra at pwm-verdiene er vist (og sett opp) i stedet for frekvens * 4 gule lysdioder viser utdata pwm-prosenter i 9 trinn, blinkende gule indikerer hi-range (dvs. trinn 5-8) * pwm prosenter for 0%, 12,5%, 25%, 37,5%, 50%, 62,5%, 75%, 87,5%, 100% * kort knappetrykk roterer de 9 forskjellige pwm-innstillingene. skjematisk skjematisk er består av to deler, der de er koblet til via et par usb -kontakter. skjematikken på venstre side viser tillegg til EZ430 -dongelen med et F2012 -målbrett. skjematisk på høyre side er det logiske sondehodet og skal konstrueres fra bunnen av.

Trinn 2: Deleliste og konstruksjon

Delliste og konstruksjon
Delliste og konstruksjon
Delliste og konstruksjon
Delliste og konstruksjon

deleliste * ti ez430-f2013 (bruk programmeringsdel) * ti ez430 f2012 målbrett * lysdioder 1,2 x 0,8 mm, 4 gule, 1 røde, 1 grønne * en spiker, rundt 3/4 tommer, flat hode * en taktil knapp * lokk fra 1 gram superlim (superlim selv er også nødvendig) * usb type en kontakt (pc-side) * ledningskonstruksjon jeg bruker msp430f2012 målkort i stedet for f2013 målkort som kommer med ez430 dongle bare fordi jeg har noen av disse. Hvis du vil bruke det opprinnelige målkortet f2013, må du skrive en veldig liten del av koden som bruker adc for å oppdage flytende tilstand. f2013 har en mer forhånds 16 -biters adc i stedet for 10 -bitene jeg bruker i min konstruksjon. du må bruke en fin loddetipp og et temperaturkontrollloddejern (eller stasjon), jeg kan ikke forestille meg at man kan lodde lysdiodene med et vanlig strykejern. måten jeg gjorde det på er å tinne topptekstene først, og deretter bruke et par fine diskanthøyttalere for å plassere smd -lysdiodene. etter å ha justert de røde og gule lysdiodene, tenner jeg det ene benet på en 1/8 watt motstand og lodder det på kretskortet, den ene enden går til en vanlig gnd. den grønne LED -en går sist. det er veldig tett, og du vil bare bruke nok loddetinn til å holde ting sammen. flux er også et must. bruk en multimeter for å teste leddene dine. du må da bygge bro mellom knappetråden og sondetråden. Jeg bruker cat5e cut -offs, men alle høymåler ledninger vil gjøre. som vist på skjematikken og bildet, løper de fra målkortet til usb -kontakten. det ville være fint hvis jeg kunne finne en liten kontakt slik at de kan bli frakoblet når som helst, men dette vil gjøre for nå.

Trinn 3: Probehodekonstruksjon

Probehode konstruksjon
Probehode konstruksjon

nederst vil du se bitene som jeg pleide å "konstruere" (superlim) sondehodet. min idé er å bygge den videre til en usb -kontakt, slik at den kan løsnes for fastvareoppdateringer. Jeg brukte superlim for å sette alt sammen. "spikeren" limes direkte på toppen av en taktil knapp for veldig rask modusbytte og frekvens / pwm -innstilling. Du vil kanskje gjøre noe annet hvis det ikke fungerer for deg. det vil være noe vingling fra den taktile knappemekanismen, i ett design brukte jeg binders for å begrense vinglingen og et annet sondehode jeg brukte hetten fra superlimet for å sikre neglens posisjon. Det kan også være lurt å legge til beskyttelsesmotstand / diode. usb-kontakten har disse tilkoblingene, (1) 5v, (2) D-, (3) D+ og (4) Gnd, D- skal kobles til spikeren, D+ kobles til den taktile knappen, den andre enden av den taktile knappen må kobles til bakken. denne sonde-på-kontakt-strategien gir meg mye fleksibilitet, med strømledning på sondehodet, kan du utvide kretsen og gjøre dette prosjektet til noe annet ved å bare endre "hodet" og fastvaren, eks. kan være en voltmeter, en tv-b-gone (m/ transistor og batteri på sondehodet), etc. Jeg vil deretter legge til et hvitt led "frontlys" til det.

Trinn 4: Implementeringsmerknader og alternative applikasjoner

Implementeringsmerknader og alternative applikasjoner
Implementeringsmerknader og alternative applikasjoner

gjennomføringsnotater

* wdt (watchdog timer) brukes til å gi knappetiming (de-bounce og trykk-n-hold), også for å pulsere lysdioder. dette er nødvendig da lysdioder ikke har begrensningsmotstander og ikke kan slås på konstant. * dco -klokke satt til 12mhz for å imøtekomme 3v målkretser. * adc brukes til å bestemme om vi undersøker på en flytende pinne, terskelverdier kan justeres via kildekoden. * frekvensbestemmelse gjøres ved å stille timer_a til å fange for kantdeteksjon, og telle pulsen innen en periode. * utgangsmodus bruker timer_a kontinuerlig modus, utgangsmodus 7 (sett/tilbakestill), både registrere og sammenligne registre (CCR0 og CCR1) for å oppnå pulsbreddemodulasjon.

kildekode

Dette er kun instruksjoner for linux, miljøet mitt er ubuntu 10.04, andre distroer skal fungere så lenge du hadde installert msp403 verktøykjeden og mspdebug ordentlig.

du kan opprette en katalog og plassere følgende filer i dem, klikk for å laste ned ezprobe.c

Jeg har ikke en makefile for å kompilere dette, jeg bruker et bash -skript for å kompilere de fleste prosjektene mine. Det er nevnt på skjermsiden for startplaten, rull ned til delen "katalogoppsett for arbeidsområdet" og få detaljer.

eller du kan gjø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 å blinke fastvare, fest ez430 -donglen og gjør

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

alternative applikasjonsmuligheter

Basert på den fleksible karakteren til dette designet, kan ezprobe enkelt endre sin rolle, og ved en rask nedlasting blir det en annen enhet. Her er noen ideer som jeg har tenkt å implementere i fremtiden.

* servotester, denne jeg klikket på for å laste ned ezprobe_servo.c * batteritester/ voltmeter, opptil 2,5v eller høyere m/ motstandsdeler på alternativ sondehode * tv-b-gone, w/ ir led probe- hode * pong-klokke, m/ 2 motstand tv-ut sondehodet

feilsøking

* du trenger virkelig et temperaturkontrolljern / -stasjon og fine loddetupper, lysdiodene (alle sammen) er mindre enn et riskorn. * bruk fluks. * Vær forberedt på å koble fra D- og D+ ledningene under feilsøking, de kan forstyrre normal USB-drift. Hvis du skriver fastvare på den endrede enheten, ikke send ut på disse to pinnene når fastvaren starter. og hvis du gjør det, vil du ikke lenger kunne laste ned fastvare (selvfølgelig kan du avlodde dem hvis dette skjedde). Hvis du finner små kontakter som passer inn i usb -huset, bruker du dem. * strømforsyning til målkortet hentes fra programmererkortet via en regulator, som igjen tar 5v fra usb. Når jeg bruker ezprobe i krets, har jeg vanligvis mitt målprosjektforsyning 3v fra to 1,5v AAA, dette er tilstrekkelig, men prosjektet må forbli på eller under 12mhz. 16mhz dco vil kreve full 5v kildeeffekt. * Jeg brukte ikke begrensningsmotstand eller zenerdiode for å beskytte sonden. det kan være lurt å gjøre det.

Anbefalt: