Índice:

EZProbe, uma sonda lógica baseada em EZ430: 4 etapas
EZProbe, uma sonda lógica baseada em EZ430: 4 etapas

Vídeo: EZProbe, uma sonda lógica baseada em EZ430: 4 etapas

Vídeo: EZProbe, uma sonda lógica baseada em EZ430: 4 etapas
Vídeo: Advent Calendar of Circuits 2011: Day 19: Window Comparator Logic Probe 2024, Julho
Anonim
EZProbe, uma sonda lógica baseada em EZ430
EZProbe, uma sonda lógica baseada em EZ430

este é um projeto de ponta de prova lógica simples baseado no dongle TI EZ430. Aproveitei uma oferta gratuita de alguns ez430s da TI em setembro de 2010. Eles são muito úteis e divertidos para experimentar pequenos trechos de código e observar o piscar do led. desde então, eles estavam ao redor da minha mesa e eu tenho que pensar em algo para eles. e eu quero impedir as pessoas de virem pedir meu "stick de memória" emprestado. bem, isso não é um stick de memória, MCU de 16 bits com ADCs multicanal, memória de programação de 2K adequada e funciona a até 16Mhz. tudo empacotado com a placa de interface de programação de depuração em um bom pacote de dispositivo usb. meu principal objetivo de design é limitar minha intervenção ao ez430 original. em que eu não quero alterá-lo muito fisicamente e quero manter sua função de programação / depuração para outros projetos de placa de destino. tudo isso enquanto serve a propósitos úteis adicionais. este é um projeto linux, como sempre, dei atenção com meu melhor conhecimento para fazer provisões para que ele pudesse ser construído em windows. no entanto, não tenho tempo e recursos para experimentar tudo no Windows. a maioria dos meus projetos eletrônicos é feita em placas de ensaio muito pequenas e eu geralmente trabalho em espaços apertados (mesa de cozinha, meia mesa emprestada, etc). há muitos casos em que preciso verificar os níveis lógicos do circuito e tenho usado um multímetro (do tamanho de um tijolo) para verificar as coisas. isso sempre me incomoda porque meus projetos são muito menores do que meu multímetro e descobri que sempre me atrapalha. eu preciso de uma alternativa, uma pequena sonda lógica fará. o ez430 é perfeito para essa tarefa. para começar já tem o formato de uma sonda, só preciso acrescentar um prego e alguns leds. como mencionei anteriormente, quero tornar este projeto simples e não destrutivo. e aproveitei o que já está disponível. em vez de construir o projeto em uma placa pcb / pref, eu construo isso em uma placa msp430f2012 de destino, empregando o cabeçalho de 14 pinos através de orifícios como minha área de prototipagem. é para onde vão os minúsculos leds. não quero fazer furos no invólucro de plástico, não quero passar muitos fios nem adicionar pontos de contato adicionais. tudo que eu preciso é um contato io de sonda e uma entrada de botão para seleção de função, além de gnd e vcc. a conexão usb parece perfeita para essa tarefa. Vou alimentar a ponta de prova por meio do usb (o circuito do programador irá regular um potencial de cerca de 3 V para mim) e usar os conectores USB D + e D- para minha ponta de prova e interruptor. uma vez que o ez430 é um dispositivo escravo / cliente, na inicialização, ele não fará nada, exceto um pull-up em D + (para indicar que é um usb de "alta velocidade"). Eu uso o D- flutuante como minha sonda io e D + como minha entrada de botão tátil (eu nem preciso configurar um resistor pull-up para isso, ele já está lá) informações adicionais também podem ser encontradas aqui.

Etapa 1: Recursos e aplicativo

Recursos e aplicativo
Recursos e aplicativo

recursos * alimentação do circuito via conector USB * 3 modos de operação girando entre leitura lógica, saída de pulso, saída pwm * pressionamento longo do botão (cerca de 1,5 seg) gira através dos 3 modos de operação * p1.0 LED verde original como indicador de modo, desligado - probe, on - output, blink - pwmlogic probe * probe lógico vermelho - hi, green - baixo, nenhum - flutuante * probe lógico vermelho / verde pisca em leituras de pulso contínuas> 100hz * 4 leds amarelos mostram as frequências detectadas em 8 etapas, amarelos piscando indica alta faixa (ou seja, etapa 5-8) * mostra frequências de pulso detectadas para 100 Hz +, 500 Hz +, 1 khz +, 5 khz +, 10 khz +, 50 khz +, 100 khz +, 500 khz + * para rajadas de pulso único não contínuas, os leds vermelho / verde permanecem acesos e subsequentes as contagens de pulso são exibidas incrementalmente nos leds, vão contar até 8 pulsos contínuos de saída de pulso, configuração de frequência * indicada por p1.0 LED verde original em * 4 leds amarelos mostram frequências de pulso de saída em 9 etapas, amarelos piscando indicam alta faixa (ou seja, etapa 5-8) * frequências de pulso saída para 100Hz, 500Hz, 1kHz, 5kHz, 10kHz, 50kHz, 100kHz, 500kHz, 1mhz * pressionar o botão curto gira as 9 configurações de frequência diferentes. Saída de pulso contínua, configuração pwm * indicada por p1.0 LED verde original piscando * igual ao anterior modo de operação, exceto que os valores pwm são mostrados (e configurados) em vez da frequência * 4 leds amarelos mostram porcentagens de pwm de saída em 9 etapas, amarelos piscando indicam faixa alta (ou seja, etapa 5-8) * porcentagens de pwm para 0%, 12,5%, 25%, 37,5%, 50%, 62,5%, 75%, 87,5%, 100% * pressionamento curto do botão gira as 9 configurações de pwm diferentes. formada por duas partes, nas quais são conectadas por meio de um par de conectores usb. o esquema do lado esquerdo mostra adições ao dongle EZ430 com uma placa de destino F2012. o esquema do lado direito é a cabeça da sonda lógica e deve ser construído do zero.

Etapa 2: Lista de peças e construção

Lista de peças e construção
Lista de peças e construção
Lista de peças e construção
Lista de peças e construção

lista de peças * ti ez430-f2013 (usar parte do programador) * ti ez430 f2012 quadro-alvo * leds 1,2 x 0,8 mm, 4 amarelos, 1 vermelho, 1 verde * um prego, cerca de 3/4 polegadas, cabeça achatada * um botão tátil * tampa de 1 grama de super cola (a própria super cola também é necessária) * conector USB tipo um (lado do pc) * construção de fios estou usando a placa de destino msp430f2012 em vez da placa de destino f2013 que vem com o dongle ez430 apenas porque eu tenho alguns deles. se quiser usar a placa de destino f2013 original, você terá que reescrever uma parte muito pequena do código que usa adc para detectar o estado flutuante. o f2013 tem um adc de 16 bits mais avançado em vez dos 10 bits usados que estou usando na minha construção. você vai precisar usar uma ponta de solda fina e um ferro de solda (ou estação) de controle de temperatura, não consigo imaginar que alguém possa soldar os leds com um ferro comum. o que eu fiz foi estanhar os pads de cabeçalho primeiro e, em seguida, usar um par de tweeters finos para colocar os leds smd. depois de alinhar os leds vermelho e amarelo, i i am uma perna de um resistor de 1/8 watt e solde-a na pcb, uma extremidade vai para um gnd comum. o led verde vai por último. é muito apertado e você deseja apenas aplicar solda suficiente para unir as coisas. também o fluxo é uma necessidade. use um multímetro para testar suas articulações. você precisará conectar o fio do botão e o fio da sonda. eu uso cat5e cut offs, mas qualquer fio de alta bitola serve. conforme mostrado no esquema e na imagem, eles vão da placa de destino ao conector usb. seria bom se eu pudesse encontrar um pequeno conector para que eles possam ser desengatados à vontade, mas isso servirá por enquanto.

Etapa 3: construção da cabeça da sonda

Construção da cabeça da sonda
Construção da cabeça da sonda

na parte inferior, você verá os bits que usei para "construir" (super-cola) o conjunto da cabeça da sonda. minha ideia é construí-lo em um conector usb para que possa ser desconectado para atualizações de firmware. usei supercola para colocar tudo junto. o "prego" é colado diretamente em cima de um botão tátil para troca de modo muito rápida e configuração de frequência / pwm. você pode querer fazer o contrário se não funcionar para você. Haverá alguma oscilação do mecanismo de botão tátil, em um projeto eu usei um clipe de papel para limitar a oscilação e outra cabeça de sonda eu usei a tampa da super cola para fixar a posição do prego. você também pode adicionar um resistor / diodo de proteção a ele. o conector usb tem essas conexões, (1) 5v, (2) D-, (3) D +, e (4) Gnd, o D- deve ser conectado à unha, o D + se conecta ao botão tátil, o outro final do botão tátil precisa ser conectado ao aterramento. essa estratégia de ponta de prova no conector me dá muitas flexibilidades, com linha de força na cabeça da ponta de prova, você pode expandir o circuito e transformar esse projeto em outra coisa apenas mudando a "cabeça" e o firmware, ex. pode ser um voltímetro, um tv-b-gone (c / transistor e bateria na cabeça da sonda), etc. Em seguida, adicionaria um "farol" de led branco a ele.

Etapa 4: notas de implementação e aplicativos alternativos

Notas de implementação e aplicativos alternativos
Notas de implementação e aplicativos alternativos

notas de implementação

* wdt (watchdog timer) é usado para fornecer o tempo do botão (de-bounce e pressionar e manter pressionado), também para leds de iluminação pulsante. isso é necessário porque os leds não têm resistores limitadores e não podem ser ligados constantemente. * relógio dco definido em 12 mhz para acomodar circuitos de destino 3v. * adc é usado para decidir se sondamos em um pino flutuante, os valores de limite podem ser ajustados via código-fonte. * a determinação da frequência é feita configurando timer_a para capturar para detecção de borda e contando o pulso dentro de um período. * o modo de saída usa o modo contínuo timer_a, o modo de saída 7 (definir / redefinir), ambos os registros de captura e comparação (CCR0 e CCR1) para obter modulação de largura de pulso.

Código fonte

estas são instruções apenas para Linux, meu ambiente é ubuntu 10.04, outras distros devem funcionar contanto que você tenha instalado o conjunto de ferramentas msp403 e o mspdebug corretamente.

você pode criar um diretório e colocar os seguintes arquivos neles, clique para baixar ezprobe.c

eu não tenho um makefile para compilar, eu uso um script bash para compilar a maioria dos meus projetos, ele é mencionado na minha página de escudo do launchpad, role para baixo até a seção "layout do diretório do espaço de trabalho" e obtenha os detalhes.

ou você pode fazer o seguinte

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

para atualizar o firmware, conecte seu dongle ez430 e faça

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

possibilidades de aplicações alternativas

com base na natureza flexível deste design, o ezprobe pode facilmente mudar de função e por um rápido download em flash, torna-se um dispositivo diferente, aqui estão algumas idéias que pretendo implementar no futuro.

* servo testador, este aqui eu cliquei para baixar ezprobe_servo.c * testador de bateria / voltímetro, até 2,5 V, ou superior com divisor de resistor na cabeça de sonda alternativa * tv-b-gone, w / ir led sonda head * pong-clock, w / 2 resistor tv-out probe-head

solução de problemas

* você realmente precisa de um ferro / estação de controle de temperatura e pontas de solda finas, os leds (todos juntos) são menores que um grão de arroz. * usar fluxo. * Esteja preparado para desconectar os fios D- e D + durante a depuração, eles podem interferir na operação normal do USB. se você gravar firmware no dispositivo modificado, não execute a saída nesses dois pinos quando o firmware iniciar. e, se o fizer, não será mais capaz de baixar o firmware (é claro que você pode desfazer a solda se isso acontecer). se vc encontrar pequenos conectores que cabem na caixa do USB, use-os. * a fonte de alimentação da placa de destino é retirada da placa do programador por meio de um regulador, que, por sua vez, usa 5v do USB. ao usar o ezprobe no circuito, geralmente faço meu projeto de destino fornecer 3v de AAAs gêmeos 1,5v, isso é adequado, mas o projeto tem que ficar em ou abaixo de 12 mhz. 16 mhz dco exigirá energia total da fonte de 5 V. * Não usei resistor limitador ou diodo zener para proteger a sonda. você pode querer fazer isso.

Recomendado: