Sommario:

EZProbe, una sonda logica basata su EZ430: 4 passaggi
EZProbe, una sonda logica basata su EZ430: 4 passaggi

Video: EZProbe, una sonda logica basata su EZ430: 4 passaggi

Video: EZProbe, una sonda logica basata su EZ430: 4 passaggi
Video: Адвент-календарь схем на 2011 год: День 19: Логический зонд оконного компаратора 2024, Dicembre
Anonim
EZProbe, una sonda logica basata su EZ430
EZProbe, una sonda logica basata su EZ430

questo è un semplice progetto di sonda logica basato sul dongle TI EZ430. ho approfittato di un'offerta gratuita su un paio di ez430 di TI nel settembre 2010. Sono molto utili e divertenti nel provare piccoli frammenti di codice e guardare il led lampeggiare. da allora erano rimasti sulla mia scrivania e devo inventare qualcosa per loro. e voglio impedire alle persone di avvicinarsi e chiedere di prendere in prestito il mio "memory stick". bene, questa non è una memory stick, MCU a 16 bit con ADC multicanale, memoria di programmazione 2K adeguata e funziona fino a 16 Mhz. il tutto racchiuso con la scheda di interfaccia di programmazione di debug in un bel pacchetto di dispositivi USB. il mio principale obiettivo progettuale è quello di limitare il mio intervento all'originale ez430. in quanto non voglio modificarlo troppo fisicamente e voglio mantenere la sua funzione di programmazione / debug per altri progetti di schede di destinazione. tutto questo mentre serve ulteriori scopi utili. questo è un progetto linux, come al solito, avevo prestato attenzione con le mie migliori conoscenze a fare disposizioni in modo che potesse essere costruito sotto Windows. tuttavia non ho il tempo e le risorse per provare tutto sotto Windows. la maggior parte dei miei progetti di elettronica sono realizzati su breadboard molto piccole e di solito lavoro su spazi ristretti (tavolo della cucina, mezza scrivania presa in prestito, ecc.). ci sono molti casi in cui ho bisogno di controllare i livelli logici del circuito e ho usato un multimetro (dimensioni di un mattone) per controllare le cose. mi infastidisce sempre perché i miei progetti sono molto più piccoli del mio multimetro e ho scoperto che mi ostacola sempre. ho bisogno di un'alternativa, una piccola sonda logica andrà bene. l'ez430 è perfetto per questo compito. per cominciare ha già la forma di una sonda, devo solo aggiungere un chiodo e dei led. come ho detto prima, voglio rendere questo progetto semplice e non distruttivo. e ho utilizzato ciò che è già disponibile. invece di costruire il progetto su un pcb / scheda pref, lo costruisco su una scheda msp430f2012 di destinazione, utilizzando i fori passanti dell'intestazione a 14 pin come area di prototipazione. questo è dove vanno i piccoli led. non voglio praticare fori sull'involucro di plastica, non voglio far passare troppi fili né aggiungere ulteriori punti di contatto. tutto ciò di cui ho bisogno è un contatto sonda io e un ingresso pulsante per la selezione della funzione, oltre a gnd e vcc. la connessione USB sembra perfetta per questo compito. Alimenterò la sonda tramite USB (il circuito del programmatore regolerà un potenziale di circa 3 V per me) e utilizzerò le connessioni USB D+ e D- per la mia sonda e il mio interruttore. poiché l'ez430 è un dispositivo slave / client, all'inizializzazione, non farà nulla se non un pull-up su D+ (per indicare che è un usb "hi-speed"). io uso il galleggiante D- come sonda io e D+ come input del mio pulsante tattile (non ho nemmeno bisogno di impostare un resistore di pull-up per quello, è già lì) ulteriori informazioni possono essere trovate anche qui.

Passaggio 1: funzionalità e applicazione

Caratteristiche e applicazione
Caratteristiche e applicazione

caratteristiche * alimentazione da circuito tramite connettore usb * 3 modalità operative rotanti tra lettura logica, uscita impulsiva, uscita pwm * pressione prolungata del pulsante (circa 1,5 sec) ruota tra le 3 modalità operative * p1.0 led verde originale come indicatore di modalità, spento - sonda, on - uscita, lampeggio - sonda pwmlogic * sonda logica rosso - alta, verde - bassa, nessuna - flottante * sonda logica rosso / verde lampeggio ad impulso continuo letture > 100hz * 4 led gialli mostrano le frequenze rilevate in 8 passi, gialli lampeggianti indica hi-range (es. step 5-8) * mostra le frequenze di impulso rilevate per 100hz+, 500hz+, 1khz+, 5khz+, 10khz+, 50khz+, 100khz+, 500khz+ * per impulsi singoli non continui, i led rosso/verde rimangono accesi e successivi i conteggi degli impulsi vengono visualizzati in modo incrementale sui led, conteranno fino a 8 impulsi uscita impulsiva continua, impostazione della frequenza * indicata da p1.0 led verde originale acceso * 4 led gialli mostrano le frequenze degli impulsi di uscita in 9 passi, i gialli lampeggianti indicano la gamma alta (es. step 5-8) * frequenze degli impulsi uscita per 100 hz, 500 hz, 1 khz, 5 khz, 10 khz, 50 khz, 100 khz, 500 khz, 1 MHz * una breve pressione del pulsante ruota le 9 diverse impostazioni di frequenza. Uscita a impulsi continua, impostazione pwm * indicata da p1.0 LED verde originale lampeggiante * uguale al precedente modalità di funzionamento, tranne che i valori pwm sono mostrati (e impostati) invece della frequenza * 4 led gialli mostrano le percentuali pwm in uscita in 9 passi, i gialli lampeggianti indicano la gamma alta (es. step 5-8) * percentuali pwm per 0%, 12,5%, 25%, 37,5%, 50%, 62,5%, 75%, 87,5%, 100% * una breve pressione del pulsante ruota le 9 diverse impostazioni pwm. composto da due parti, nelle quali sono collegate tramite una coppia di connettori usb. lo schema sul lato sinistro mostra le aggiunte al dongle EZ430 con una scheda target F2012. lo schema sul lato destro è la sonda logica e deve essere costruito da zero.

Passaggio 2: elenco delle parti e costruzione

Elenco delle parti e costruzione
Elenco delle parti e costruzione
Elenco delle parti e costruzione
Elenco delle parti e costruzione

elenco delle parti * ti ez430-f2013 (usare la parte del programmatore) * scheda target ti ez430 f2012 * led 1,2 x 0,8 mm, 4 gialli, 1 rosso, 1 verde * un chiodo, circa 3/4 di pollice, a testa piatta * un pulsante tattile * tappo da 1 grammo di super-colla (è necessaria anche la super-colla stessa) * connettore usb tipo a (lato pc) * costruzione dei cavi sto usando la scheda target msp430f2012 invece della scheda target f2013 fornita con il dongle ez430 solo perché ho alcuni di questi. se si desidera utilizzare la scheda target f2013 originale, sarà necessario riscrivere una porzione molto piccola di codice che utilizza adc per rilevare lo stato flottante. l'f2013 ha un adc a 16 bit più avanzato invece dei 10 bit utilizzati che sto usando nella mia costruzione. dovrai usare una punta di saldatura fine e un saldatore (o stazione) per il controllo della temperatura, non riesco a immaginare che si possano saldare i led con un ferro normale. il modo in cui l'ho fatto è stato quello di stagnare prima i pad delle intestazioni, quindi utilizzare un paio di tweeter sottili per posizionare i led smd. dopo aver allineato i led rosso e giallo, collego una gamba di un resistore da 1/8 watt e la saldiamo sulla scheda, un'estremità va a massa comune. il led verde parte per ultimo. è molto stretto e vorresti solo applicare abbastanza saldatura per attaccare le cose insieme. anche il flusso è un must. usa un multimetro per testare le tue articolazioni. sarà quindi necessario collegare il filo del pulsante e il filo della sonda. io uso i tagli di cat5e ma qualsiasi filo di alto spessore andrà bene. come mostrato nello schema e nell'immagine, corrono dalla scheda di destinazione al connettore USB. sarebbe bello se riesco a trovare un piccolo connettore in modo che possano essere disattivati a piacimento, ma per ora va bene.

Passaggio 3: costruzione della testa della sonda

Costruzione della testa della sonda
Costruzione della testa della sonda

in basso vedrai i bit che ho usato per "costruire" (super-colla) il gruppo della testa della sonda. la mia idea è di collegarlo a un connettore USB in modo che possa essere scollegato per gli aggiornamenti del firmware. ho usato la super-colla per mettere insieme il tutto. il "chiodo" è incollato direttamente sopra un pulsante tattile per il cambio di modalità molto rapido e l'impostazione della frequenza / pwm. potresti voler fare diversamente se non funziona per te. ci sarà un po' di oscillazione dal meccanismo del pulsante tattile, in un disegno ho usato una graffetta per limitare l'oscillazione e un'altra testa della sonda ho usato il cappuccio della super-colla per fissare la posizione del chiodo. potresti anche voler aggiungere un resistore / diodo di protezione. il connettore usb ha queste connessioni, (1) 5v, (2) D-, (3) D+ e (4) Gnd, il D- è da collegare all'unghia, il D+ si collega al pulsante tattile, l'altro l'estremità del pulsante tattile deve essere collegata a terra. questa strategia probe-on-connector mi dà molta flessibilità, con la linea di alimentazione sulla testa della sonda, puoi espandere il circuito e trasformare questo progetto in qualcos'altro semplicemente cambiando la "testa" e il firmware, es. potrebbe essere un voltmetro, un tv-b-gone (con transistor e batteria sulla testa della sonda), ecc. Aggiungerei poi un "faro" a led bianco.

Passaggio 4: note di implementazione e applicazioni alternative

Note di implementazione e applicazioni alternative
Note di implementazione e applicazioni alternative

note di implementazione

* wdt (timer watchdog) viene utilizzato per fornire la temporizzazione dei pulsanti (de-bounce e press-n-hold), anche per l'illuminazione pulsata dei led. questo è necessario in quanto i led non hanno resistenze limitatrici e non possono essere accesi costantemente. * dco clock impostato a 12 mhz per ospitare circuiti target 3v. * adc viene utilizzato per decidere se sondare un pin flottante, i valori di soglia possono essere regolati tramite il codice sorgente. * la determinazione della frequenza viene eseguita impostando timer_a per acquisire per il rilevamento del fronte e contando l'impulso entro un periodo. * la modalità di uscita utilizza la modalità continua timer_a, la modalità di uscita 7 (imposta/ripristina), entrambi i registri di acquisizione e confronto (CCR0 e CCR1) per ottenere la modulazione dell'ampiezza dell'impulso.

codice sorgente

queste sono istruzioni solo per Linux, il mio ambiente è Ubuntu 10.04, altre distribuzioni dovrebbero funzionare purché tu abbia installato correttamente la toolchain msp403 e mspdebug.

puoi creare una directory e inserire i seguenti file al loro internoclicca per scaricare ezprobe.c

non ho un makefile per questo da compilare, uso uno script bash per compilare la maggior parte dei miei progetti, è menzionato nella mia pagina shield launchpad, scorri verso il basso fino alla sezione "layout della directory dell'area di lavoro" e ottieni i dettagli.

oppure puoi fare quanto segue

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

per flashare il firmware, collega il tuo dongle ez430 e fallo

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

possibilità di applicazioni alternative

in base alla natura flessibile di questo design, l'ezprobe può facilmente cambiare il suo ruolo e con un rapido download flash, diventa un dispositivo diverso, ecco alcune idee che intendo implementare in futuro.

* tester servo, questo l'ho fatto fare clic per scaricare ezprobe_servo.c * tester batteria / voltmetro, fino a 2,5 V o superiore con divisore resistore su testina alternata * tv-b-gone, con sonda led ir- testina * pong-clock, con 2 resistori uscita tv sonda-testa

Risoluzione dei problemi

* hai davvero bisogno di un ferro/stazione per il controllo della temperatura e punte di saldatura fini, i led (tutti insieme) sono più piccoli di un chicco di riso. * utilizzare il flusso. * prepararsi a scollegare i cavi D- e D+ durante il debug, potrebbero interferire con il normale funzionamento USB. se si scrive il firmware sul dispositivo modificato, non eseguire l'output su questi due pin all'avvio del firmware. e se lo fai, non sarai più in grado di scaricare firmware (ovviamente puoi dissaldarli se ciò accade). se riesci a trovare piccoli connettori che si adattano alla custodia USB, usali. * l'alimentazione per la scheda target viene prelevata dalla scheda programmatore tramite un regolatore, che a sua volta prende 5v da usb. quando si utilizza l'ezprobe nel circuito, di solito il mio progetto target fornisce 3v da due AAA 1.5v, questo è adeguato ma il progetto deve rimanere su o sotto i 12 mhz. 16 mhz dco richiederà la piena potenza della sorgente 5v. * Non ho usato resistore di limitazione o diodo zener per proteggere la sonda. potresti volerlo fare.

Consigliato: