Cuprins:

EZProbe, o sondă logică bazată pe EZ430: 4 pași
EZProbe, o sondă logică bazată pe EZ430: 4 pași

Video: EZProbe, o sondă logică bazată pe EZ430: 4 pași

Video: EZProbe, o sondă logică bazată pe EZ430: 4 pași
Video: Logic Probe with High sensitivity 2024, Noiembrie
Anonim
EZProbe, o sondă logică bazată pe EZ430
EZProbe, o sondă logică bazată pe EZ430

acesta este un proiect simplu de sondă logică bazat pe dongle TI EZ430. Am profitat de o ofertă gratuită pentru câteva ez430 de la TI în septembrie 2010. sunt foarte la îndemână și distractiv încercând fragmente de cod mici și urmărind clipirea ledului. de atunci se așezaseră în jurul biroului meu și trebuie să vin cu ceva pentru ei. și vreau să îi opresc pe oameni să vină și să-mi împrumute „memory stick-ul”. Ei bine, acesta nu este un stick de memorie, MCU de 16 biți cu ADC multi-canal, memorie adecvată de programare 2K și funcționează până la 16Mhz. totul împachetat cu placa de interfață de programare de depanare într-un pachet frumos de dispozitive USB. principalul meu obiectiv de proiectare este de a-mi limita intervenția la ez430 original. în sensul că nu vreau să îl modific prea mult din punct de vedere fizic și vreau să păstrez funcția de programare / depanare pentru alte proiecte țintă de bord. toate acestea în timp ce servesc unor scopuri utile suplimentare. acesta este un proiect Linux, ca de obicei, am acordat atenție cu cele mai bune cunoștințe pentru a face dispoziții, astfel încât să poată fi construit sub ferestre. totuși nu am timp și resurse pentru a încerca totul sub Windows. majoritatea proiectelor mele electronice sunt realizate pe panouri foarte mici și de obicei lucrez pe spații înguste (masă de bucătărie, jumătate de birou împrumutat etc.). există multe cazuri în care trebuie să verific nivelurile logice ale circuitului și am folosit un multimetru (dimensiunea unei cărămizi) pentru a verifica lucrurile. întotdeauna mă enervează, deoarece proiectele mele sunt mult mai mici decât multimetrul meu și am găsit că îmi iese mereu în cale. Am nevoie de o alternativă, o mică sondă logică va face. ez430 este perfect pentru această sarcină. pentru început, are deja forma unei sonde, trebuie doar să adaug un cui și câteva leduri. așa cum am menționat anterior, vreau să fac acest proiect simplu și nedistructiv. și am folosit deja ceea ce este disponibil. în loc să construiesc proiectul pe un PCB / pref-board, îl construiesc pe o placă țintă msp430f2012, folosind antetul cu 14 pini prin găuri ca zonă de prototipare. aici se duc ledurile minuscule. Nu vreau să găuresc carcasa din plastic, nu vreau să rulez prea multe fire și să nu adaug puncte de contact suplimentare. tot ce am nevoie este un contact sonda io și un buton de intrare pentru selectarea funcției, plus gnd și vcc. conexiunea USB arată perfect pentru această sarcină. Voi alimenta sonda prin USB (circuitul programatorului va regla un potențial în jur de 3v pentru mine) și voi folosi conexiunile D + și D- USB pentru sonda și comutatorul meu. deoarece ez430 este dispozitiv slave / client, la inițializare, nu va face nimic, cu excepția unui pull-up pe D + (pentru a indica faptul că este un USB "de mare viteză"). Folosesc D- plutitor ca sonda mea io și D + ca intrare a butonului meu tactil (nici măcar nu trebuie să configurez un rezistor pull-up pentru asta, este deja acolo) și informații suplimentare pot fi găsite aici.

Pasul 1: Caracteristici și aplicație

Caracteristici și aplicație
Caracteristici și aplicație

caracteristici * alimentare din circuit prin conector USB * 3 moduri de funcționare care se rotesc între citire logică, ieșire impuls, ieșire pwm * apăsare lungă a butonului (aproximativ 1,5 sec) se rotește prin cele 3 moduri de funcționare * p1.0 led verde original ca indicator de mod, oprit - sondă, pornită - ieșire, clipire - sondă pwmlogică * sondă logică roșie - salut, verde - scăzută, niciuna - plutitoare * sondă logică roșu / verde clipește pe impulsul continuu citește> 100 Hz * 4 leduri galbene arată frecvențele detectate în 8 pași, clipind galben indicați hi-range (adică pasul 5-8) * afișează frecvențele impulsurilor detectate pentru 100hz +, 500hz +, 1khz +, 5khz +, 10khz +, 50khz +, 100khz +, 500khz + * pentru explozii unice continue, ledurile roșu / verde rămân aprinse și ulterioare numărul de impulsuri este afișat incremental pe leduri, va număra până la 8 impulsuri de ieșire continuă a pulsului, setarea frecvenței * indicată de p1.0 led verde original pornit * 4 leduri galbene arată frecvențele impulsurilor de ieșire în 9 trepte, galbenele intermitente indică gama înaltă (adică pasul 5-8) * frecvențe ale impulsurilor ieșire pentru 100hz, 500hz, 1khz, 5khz, 10khz, 50khz, 100khz, 500khz, 1mhz * apăsarea butonului scurt roteste cele 9 setări diferite de frecvență. modul de operare, cu excepția valorilor pwm, sunt afișate (și trebuie configurate) în loc de frecvență * 4 leduri galbene arată procentajele de ieșire pwm în 9 pași, galbenele intermitente indică o gamă înaltă (adică pasul 5-8) * procentaj de pwm pentru 0%, 12,5%, 25%, 37,5%, 50%, 62,5%, 75%, 87,5%, 100% alcătuit din două părți, în care sunt conectate printr-o pereche de conectori USB. schema din partea stângă arată adăugiri la dongle-ul EZ430 cu o placă țintă F2012. schema laterală dreaptă este capul sondei logice și trebuie construită de la zero.

Pasul 2: Lista pieselor și construcția

Lista pieselor și construcția
Lista pieselor și construcția
Lista pieselor și construcția
Lista pieselor și construcția

lista pieselor * ti ez430-f2013 (utilizați piesa de programare) * ti ez430 f2012 placa țintă * leduri 1,2 x 0,8 mm, 4 galbene, 1 roșii, 1 verzi * un cui, în jur de 3/4 inch, cu cap plat * un buton tactil * capac de la 1 gram super-lipici (este nevoie și de super-lipici) * tip USB un conector (partea PC) * construcție prin cablu folosesc placa țintă msp430f2012 în locul plăcii țintă f2013 care vine cu dongle ez430 numai pentru că am câteva dintre acestea. dacă doriți să utilizați placa țintă originală f2013, va trebui să rescrieți o porțiune foarte mică de cod care utilizează adc pentru a detecta starea plutitoare. F2013 are un avans mai mare de 16 biți în loc de 10 biți folosiți pe care îl folosesc în construcția mea. va trebui să folosiți un vârf de lipit fin și un fier de lipit cu control al temperaturii (sau stație), nu-mi pot imagina că cineva poate lipi ledurile cu un fier de călcat obișnuit. felul în care am făcut-o este de a stani mai întâi tampoanele antetului, apoi de a folosi o pereche de tweetere fine pentru a plasa ledurile smd. după alinierea ledurilor roșii și galbene, am un picior al unui rezistor de 1/8 wați și lipesc pe PCB, un capăt merge la un gnd comun. ledul verde merge ultimul. este foarte strâns și ați dori să aplicați suficient lipire pentru a lipi lucrurile. de asemenea fluxul este o necesitate. folosiți un multimetru pentru a vă testa articulațiile. va trebui apoi să legați firul butonului și firul sondei. Folosesc tăieturi cat5e, dar orice fire cu ecartament înalt vor face. așa cum se arată în schemă și imagine, acestea rulează de la placa țintă la conectorul USB. ar fi frumos dacă pot găsi un conector mic, astfel încât să poată fi dezangajat după bunul plac, dar acest lucru va fi deocamdată.

Pasul 3: Construcția capului sondei

Construcția capului sondei
Construcția capului sondei

în partea de jos veți vedea biții pe care i-am folosit pentru a "construi" (super-lipici) ansamblul capului sondei. ideea mea este să-l construiesc pe un conector USB, astfel încât să poată fi detașat pentru actualizări de firmware. Am folosit super-lipici pentru a pune totul împreună. „unghia” este lipită direct deasupra unui buton tactil pentru comutare foarte rapidă a modului și setarea frecvenței / pwm. poate doriți să faceți altfel dacă nu funcționează pentru dvs. vor exista niște oscilații din mecanismul tactil al butonului, într-un design am folosit o agrafă pentru a limita oscilația și un alt cap de sondă am folosit capacul din super-lipici pentru a asigura poziția unghiilor. poate doriți să adăugați rezistor de protecție / diodă la acesta. conectorul USB are aceste conexiuni, (1) 5v, (2) D-, (3) D + și (4) Gnd, D- trebuie conectat la cui, D + se conectează la butonul tactil, celălalt capătul butonului tactil trebuie conectat la masă. această strategie sondă-pe-conector îmi oferă o mulțime de flexibilități, cu linia de alimentare pe capul sondei, puteți extinde circuitul și transforma acest proiect în altceva doar schimbând „capul” și firmware-ul, ex. poate fi un voltmetru, un televizor-b-gone (cu tranzistor și baterie pe capul sondei) etc. Aș adăuga apoi un led alb "far".

Pasul 4: Note de implementare și aplicații alternative

Note de implementare și aplicații alternative
Note de implementare și aplicații alternative

note de implementare

* wdt (cronometrul câinelui de pază) este utilizat pentru a furniza sincronizarea butoanelor (de-bounce și apăsați-n-mențineți), de asemenea, pentru a aprinde ledurile de iluminare. acest lucru este necesar deoarece ledurile nu au rezistențe limitative și nu pot fi pornite constant. * ceas dco setat la 12mhz pentru a găzdui circuite țintă de 3v. * adc este folosit pentru a decide dacă sondăm la un pin plutitor, valorile pragului pot fi ajustate prin intermediul codului sursă. * determinarea frecvenței se face prin setarea timer_a pentru a captura pentru detectarea marginilor și numărarea pulsului într-o perioadă. * modul de ieșire folosește timer_a mod continuu, modul de ieșire 7 (setare / resetare), atât captarea cât și compararea registrelor (CCR0 și CCR1) pentru a realiza modularea lățimii pulsului.

cod sursa

acestea sunt instrucțiuni numai pentru Linux, mediul meu este ubuntu 10.04, alte distribuții ar trebui să funcționeze atâta timp cât ați instalat corect msp403 toolchain și mspdebug.

puteți crea un director și puteți plasa următoarele fișiere în ele faceți clic pentru a descărca ezprobe.c

Nu am un makefile pentru a compila acest lucru, folosesc un script bash pentru a compila majoritatea proiectelor mele, este menționat pe pagina mea de scut de lansare, derulați în jos până la secțiunea „aspectul directorului spațiului de lucru” și obțineți detalii.

sau puteți face următoarele

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

pentru a bloca firmware-ul, atașați dongle-ul ez430 și faceți

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

posibilități alternative de aplicații

Bazat pe natura flexibilă a acestui design, ezprobe își poate schimba cu ușurință rolul și printr-o descărcare rapidă flash, devine un dispozitiv diferit, iată câteva idei pe care intenționez să le implementez în viitor.

* servo tester, acesta l-am făcut clic pentru a descărca ezprobe_servo.c * tester baterie / voltmetru, până la 2,5 v, sau mai mare cu divizor de rezistență pe cap de sondă alternativ * tv-b-gone, w / ir led probe- head * pong-clock, w / 2 rezistor tv-out probe-head

depanare

* chiar aveți nevoie de un fier / stație de control al temperaturii și vârfuri fine de lipit, ledurile (toate împreună) sunt mai mici decât un bob de orez. * folosiți flux. * pregătiți-vă să deconectați firele D- și D + în timpul depanării, acestea pot interfera cu funcționarea normală USB. dacă scrieți firmware pe dispozitivul modificat, nu faceți ieșire pe acești doi pini când pornește firmware-ul. și dacă faceți acest lucru, nu veți mai putea descărca firmware-ul (desigur, le puteți anula lipirea dacă s-a întâmplat acest lucru). dacă puteți găsi conectori mici care se încadrează în carcasa USB, utilizați-i. * sursa de alimentare pentru placa țintă este extrasă de pe placa programatorului printr-un regulator, care la rândul său ia 5v de la usb. atunci când folosesc ezprobe în circuit, am de obicei furnizarea proiectului țintă 3v de la AAA-uri duble de 1,5v, acest lucru este adecvat, dar proiectul trebuie să rămână pe sau sub 12mhz. 16mhz dco va necesita o sursă de alimentare completă de 5v. * Nu am folosit rezistență limitativă sau diodă zener pentru a proteja sonda. poate doriți să faceți acest lucru.

Recomandat: