INHOUDSOPGAWE:

EZProbe, 'n EZ430 -gebaseerde logiese sonde: 4 stappe
EZProbe, 'n EZ430 -gebaseerde logiese sonde: 4 stappe

Video: EZProbe, 'n EZ430 -gebaseerde logiese sonde: 4 stappe

Video: EZProbe, 'n EZ430 -gebaseerde logiese sonde: 4 stappe
Video: Адвент-календарь схем на 2011 год: День 22: Звуковой сигнал для логического зонда 2024, November
Anonim
EZProbe, 'n EZ430 -gebaseerde logiese sonde
EZProbe, 'n EZ430 -gebaseerde logiese sonde

Dit is 'n eenvoudige logika -sondeprojek wat gebaseer is op die TI EZ430 -dongle. Ek het in September 2010 gebruik gemaak van 'n gratis aanbod op 'n paar ez430's van TI. hulle het sedertdien om my lessenaar gelê en ek moet iets vir hulle bedink. en ek wil keer dat mense opdaag en vra om my "memory stick" te leen. dit is geen geheue-stok nie, 'n 16-bis MCU met multi-kanaal ADC's, voldoende 2K programmeringsgeheue en werk tot 16Mhz. alles verpak met die ontfoutingsprogramme -koppelvlakbord in 'n lekker USB -apparaatpakket. my hoofdoel met die ontwerp is om my ingryping tot die oorspronklike ez430 te beperk. omdat ek dit nie fisies wil doen nie, wil ek dit te veel fisies verander en ek wil die programmerings- / ontfoutingsfunksie daarvan behou vir ander doelbordprojekte. dit alles terwyl dit bykomende nuttige doeleindes dien. Dit is 'n Linux -projek, soos gewoonlik, en ek het met my beste aandag aandag gegee aan die voorsiening daarvan sodat dit onder vensters gebou kan word. Ek het egter nie die tyd en hulpbronne om alles onder vensters te probeer nie. Die meeste van my elektroniese projekte word op baie klein broodborde gedoen, en ek werk gewoonlik op klein ruimtes (kombuistafel, 'n half geleende lessenaar, ens.). Daar is baie gevalle wat ek die logika -vlakke van die kring moet kontroleer, en ek het 'n multimeter (grootte van 'n baksteen) gebruik om dinge na te gaan. dit irriteer my altyd, want my projekte is baie kleiner as my multimeter en ek het gevind dat dit altyd in my pad kom. Ek het 'n alternatief nodig, 'n klein logiese ondersoek sal doen. die ez430 is perfek vir hierdie taak. Om mee te begin, dit is reeds gevorm soos 'n sonde, ek moet net 'n spyker en 'n paar LED's byvoeg. Soos ek vroeër genoem het, wil ek hierdie projek eenvoudig en nie-vernietigend maak. en ek het gebruik gemaak van wat reeds beskikbaar is. in plaas daarvan om die projek op 'n PCB / voorbord te bou, bou ek dit op 'n doel msp430f2012-bord, met die 14-pen-kop deur gate as my prototipe-area. dit is waar die klein ledjies gaan. Ek wil nie gate op die plastiekomhulsel boor nie, ek wil nie te veel draad laat loop nie en ook nie ekstra kontakpunte byvoeg nie. al wat ek nodig het, is 'n sonde io -kontak en 'n knoppie -invoer vir funksie kies, plus gnd en vcc. die usb -verbinding lyk perfek vir hierdie taak. Ek sal die sonde via die usb voed (die programmeerkring sal vir my 'n potensiaal van ongeveer 3V reguleer) en die D+ en D- usb-aansluitings vir my sonde en skakelaar gebruik. Aangesien die ez430 slaaf- / kliëntapparaat is, sal dit by inisialisering niks doen nie, behalwe 'n optrek op D+ (om aan te dui dat dit 'n 'hi-speed' usb is). Ek gebruik die drywende D- as my sonde io en D+ as my ingang van die tasbare knoppie (ek hoef nie eers 'n optrekweerstand daarvoor op te stel nie, dit is alreeds hier).

Stap 1: Kenmerke en toepassing

Funksies en toepassing
Funksies en toepassing

kenmerke * toevoer uit die kring via usb -aansluiting * 3 werkmodusse wat tussen logiese lees, polsuitset, pwm -uitset draai * lang knoppie druk (ongeveer 1,5 sek.) draai deur die 3 werkmodusse * p1.0 oorspronklike groen led as modus -aanwyser, af - sonde, aan - uitset, knip - pwmlogiese sonde * logiese sonde rooi - hi, groen - laag, geen - drywend * logika sonde rooi / groen knipper op deurlopende pols lees> 100 Hz * 4 geel LED's toon gedetecteerde frekwensies in 8 stappe, knipperende geel dui hi-reeks aan (dws stap 5-8) * toon gedetecteerde pulsfrekwensies vir 100hz+, 500hz+, 1khz+, 5khz+, 10khz+, 50khz+, 100khz+, 500khz+ * vir nie-aaneenlopende enkele pulsuitbarstings, die rooi / groen leds bly aan en daaropvolgende pols tellings word inkrementeel op die leds vertoon, sal tot 8 pulse tel; deurlopende polsuitset, frekwensie-instelling * aangedui deur p1.0 oorspronklike groen led op * 4 geel leds toon uitsetpulsfrekwensies in 9 stappe, knipperende geel dui hi-reeks aan (dws stap 5-8) * polsfrekwensies uitset vir 100hz, 500hz, 1khz, 5khz, 10khz, 50khz, 100khz, 500khz, 1mhz * kort knoppie druk draai die 9 verskillende frekwensie -instellings. deurlopende polsuitset, pwm -instelling * aangedui deur p1.0 oorspronklike groen led knipper * dieselfde as vorige werkmodus, behalwe dat pwm-waardes in plaas van frekwensie vertoon word (en opgestel word) stap 5-8) * pwm persentasies vir 0%, 12,5%, 25%, 37,5%, 50%, 62,5%, 75%, 87,5%, 100% * kort knoppie druk draai die 9 verskillende pwm-instellings. skematiese die skematiese is bestaan uit twee dele waarin hulle verbind is via 'n paar usb -verbindings. die skematiese linkerkant toon toevoegings tot die EZ430 -dongle met 'n F2012 -teikenbord. die skematiese regterkant is die logiese sonde-kop en moet van nuuts af opgestel word.

Stap 2: Deellys en konstruksie

Deellys en konstruksie
Deellys en konstruksie
Deellys en konstruksie
Deellys en konstruksie

onderdele lys * ti ez430-f2013 (gebruik programmeerder deel) * ti ez430 f2012 teikenbord * leds 1,2 x 0,8 mm, 4 geel, 1 rooi, 1 groen * een spyker, ongeveer 3/4 duim, platkop * een tasbare knoppie * dop van 1 gram supergom (supergom self ook nodig) * usb-tipe aansluiting (kant van die rekenaar) * draadkonstruksie, ek gebruik die msp430f2012-teikenbord in plaas van die f2013-teikenbord wat saam met die ez430-dongle kom, net omdat ek 'n paar hiervan. As u die oorspronklike f2013-teikenbord wil gebruik, moet u 'n baie klein gedeelte van die kode wat adc gebruik om die drywende toestand op te spoor, herskryf. die f2013 het 'n meer 16 -bits ADC in plaas van die 10 -bit wat ek in my konstruksie gebruik. jy sal 'n fyn soldeerpunt en 'n temperatuurbeheersoldeerbout (of stasie) moet gebruik; ek kan my nie voorstel dat 'n mens die lde met 'n gewone yster kan soldeer nie. Die manier waarop ek dit gedoen het, is om eers die kopstukblokkies vas te maak en dan 'n paar fyn tweeters te gebruik om die smd -leds te plaas. nadat ek die rooi en geel LED's in lyn gebring het, trek ek die een been van 'n weerstand van 1/8 watt vas en soldeer dit op die printplaat, en die een kant gaan na 'n gewone gnd. die groen led gaan laaste. dit is baie styf en jy wil net genoeg soldeer aanwend om dinge bymekaar te hou. ook vloei is 'n moet. Gebruik 'n multi-meter om u gewrigte te toets. dan moet u die knoppiesdraad en die sondedraad oorbrug. Ek gebruik cat5e afsnitte, maar enige hoë maat drade sal dit doen. soos getoon in die skematiese en die prentjie, loop hulle vanaf die teikenbord na die usb -aansluiting. Dit sal goed wees as ek 'n klein aansluiting kan vind sodat hulle na willekeur kan ontkoppel, maar dit sal vir eers doen.

Stap 3: Probehoofkonstruksie

Probehoofkonstruksie
Probehoofkonstruksie

onderaan sien u die stukkies wat ek gebruik het om die sonde-kopstuk te "konstrueer" (supergom). my idee is om dit aan te bou op 'n usb -aansluiting sodat dit losgemaak kan word vir firmware -opdaterings. Ek het supergom gebruik om alles aanmekaar te sit. die "spyker" word direk bo -op 'n tasbare knoppie vasgeplak vir 'n baie vinnige modusskakeling en frekwensie / pwm -instelling. Miskien wil u anders doen as dit nie vir u werk nie. daar sal 'n bietjie wankel wees van die taktiele knoppermeganisme, in een ontwerp het ek 'n skuifspeld gebruik om die wankel te beperk, en 'n ander sondekop het die dop van die supergom gebruik om die spykerposisie te verseker. u kan ook 'n beskermingsweerstand / diode daarby voeg. die usb-aansluiting het hierdie verbindings, (1) 5v, (2) D-, (3) D+ en (4) Gnd, die D- moet aan die spyker gekoppel word, die D+ sluit aan by die tasbare knoppie, die ander einde van die tasbare knoppie moet aan die grond gekoppel word. Hierdie sonde-op-aansluiting-strategie gee my baie buigsaamhede; met die kraglyn op die sondekop kan u die kring uitbrei en hierdie projek in iets anders verander deur net die 'kop' en firmware te verander, bv. Dit kan 'n voltmeter, 'n tv-b-gone (met transistor en battery op die sondekop) wees, ens. Ek sal 'n wit "koplig" daarby voeg.

Stap 4: Implementeringsnotas en alternatiewe toepassings

Implementeringsnotas en alternatiewe toepassings
Implementeringsnotas en alternatiewe toepassings

implementeringsaantekeninge

* wdt (waghond-timer) word gebruik om knoppie-tydsberekening (de-bounce en druk-n-hou) te verstrek, ook om beligting LED's te pols. dit is nodig, aangesien LED's nie beperkende weerstande het nie en nie voortdurend kan aanskakel nie. * DCO -klok ingestel op 12 MHz om 3V -teikenbane te akkommodeer. * adc word gebruik om te besluit of ons na 'n dryfpen soek, drempelwaardes kan via bronkode aangepas word. * frekwensiebepaling word gedoen deur timer_a in te stel om vas te stel vir randopsporing en die pols binne 'n tydperk te tel. * Uitvoermodus gebruik timer_a deurlopende modus, uitsetmodus 7 (stel/herstel), beide registers opneem en vergelyk (CCR0 en CCR1) om polswydte modulasie te bewerkstellig.

bronkode

Dit is slegs instruksies vir Linux; my omgewing is ubuntu 10.04, ander distros moet werk solank u die msp403 toolchain en mspdebug behoorlik geïnstalleer het.

u kan 'n gids skep en die volgende lêers daarin plaas, klik om ezprobe.c af te laai

Ek het nie 'n makefile om dit op te stel nie; ek gebruik 'n bash script om die meeste van my projekte saam te stel.

of u kan die volgende doen

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

Om firmware te flits, heg u ez430 -dongle aan en doen

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

alternatiewe toepassingsmoontlikhede

As gevolg van die buigsame aard van hierdie ontwerp, kan die ezprobe sy rol maklik verander en deur 'n vinnige flits aflaai 'n ander toestel word; hier is 'n paar idees wat ek in die toekoms wil implementeer.

* servotoetser, hierdie een het ek geklik om ezprobe_servo.c af te laai * batterytoetser/ voltmeter, tot 2,5v, of hoër met weerstandsverdeler op alternatiewe sondekop * tv-b-gone, met IR-sonde- kop * pong-klok, w/ 2 weerstand tv-out sonde-kop

probleemoplossing

* u het regtig 'n temperatuurstrykyster / stasie en fyn soldeerpunte nodig; die leds (saam) is kleiner as 'n rys. * gebruik vloed. * Wees voorbereid om die D- en D+ -drade tydens ontfouting te ontkoppel; dit kan die normale werking van die USB belemmer. As u firmware op die aangepaste toestel skryf, moet u nie hierdie twee penne uitvoer wanneer u firmware begin nie. en as u dit doen, kan u nie meer die firmware aflaai nie (u kan dit natuurlik losmaak as dit gebeur). As u klein verbindings kan vind wat in die usb -omhulsel pas, gebruik dit. * Die kragtoevoer vir die doelbord word via 'n reguleerder van die programmeerderbord getrek, wat weer 5v van usb neem. As ek die ezprobe in die kring gebruik, het ek gewoonlik my doelprojekvoorsiening 3v van twee 1.5v AAA's, dit is voldoende, maar die projek moet op of onder 12mhz bly. 16 MHz DC benodig volle 5V bronkrag. * Ek het nie 'n beperkende weerstand of zenerdiode gebruik om die sonde te beskerm nie. jy wil dit dalk doen.

Aanbeveel: