Sommario:
- Passaggio 1: funzionalità e applicazione
- Passaggio 2: elenco delle parti e costruzione
- Passaggio 3: costruzione della testa della sonda
- Passaggio 4: note di implementazione e applicazioni alternative
Video: EZProbe, una sonda logica basata su EZ430: 4 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:01
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 * 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 * 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
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
* 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:
MQmax 0.7 una piattaforma IoT WiFi a basso costo basata su Esp8266 e Arduino Mini Pro: 6 passaggi
MQmax 0.7 una piattaforma IoT WiFi a basso costo basata su Esp8266 e Arduino Mini Pro: Ciao, questo è il mio secondo Instructable (da ora in poi smetterò di contare). L'ho fatto per creare una piattaforma semplice (almeno per me), economica, facile da realizzare ed efficiente per le applicazioni Real IoT che includono il lavoro M2M. Questa piattaforma funziona con esp8266 e
Collegamento di un sensore DHT11/DHT22 al cloud con una scheda basata su ESP8266: 9 passaggi
Collegamento di un sensore DHT11/DHT22 al cloud con una scheda basata su ESP8266: nell'articolo precedente, ho collegato la mia scheda NodeMCU basata su ESP8266 a un servizio Cloud4RPi. Ora è il momento di un vero progetto
Sonda logica con rilevamento di impulsi: 8 passaggi
Logic Probe With Pulse Detection: il TWO TRANSISTOR LOGC PROBE introdotto da jazzzzzhttps://www.instructables.com/id/Two-Transistor-Logic-Probe/è semplice - ma non stupido - funziona molto bene determinando il livello logico di TTL e CMOS. Un grosso problema nei test dei circuiti digitali è
Una soluzione di visione conveniente con braccio robotico basata su Arduino: 19 passaggi (con immagini)
Una soluzione di visione conveniente con braccio robotico basata su Arduino: quando parliamo di visione artificiale, ci sembra sempre così irraggiungibile. Mentre abbiamo realizzato una demo di visione open source che sarebbe super facile da realizzare per tutti. In questo video, con la telecamera OpenMV, non importa dove si trova il cubo rosso, il robot è
Kit sonda logica: 6 passaggi
Logic Probe Kit: Le seguenti istruzioni ti permetteranno di costruire uno strumento di test pratico per la risoluzione dei problemi e l'analisi di circuiti digitali e microcontrollori. Il manuale completo di montaggio e istruzioni può essere scaricato dal seguente collegamento web: Don's Pro