LusoRobótica - Robótica em Português

Robótica => Discussão geral sobre robótica => Tópico iniciado por: CBX em 25 de Junho de 2011, 16:11

Título: Osciloscópio
Enviado por: CBX em 25 de Junho de 2011, 16:11
Boas

Já à um tempo que ando a ver se arranjo um osciloscópio, mas o preço mesmo dos modelos de "gama baixa" não ajudam muito e tenho outras prioridades, por isso pensei em fazer um.

Após alguma pesquisa encontrei o trabalho deste senhor: http://www.serasidis.gr/circuits/AVR_oscilloscope/avr_oscilloscope.htm (http://www.serasidis.gr/circuits/AVR_oscilloscope/avr_oscilloscope.htm),
extremamente simples e funcional, mas este design usa o ADC interno o que não dá para muita coisa e pensei:


acham que vale a pena tentar alguma das opções ou outra?
Título: Re: Osciloscópio
Enviado por: senso em 25 de Junho de 2011, 17:00
ADC externos talvez, mas adc's com velocidades razoaveis não estão disponeiveis em packages user friendly e ai o desenho de um pcb de baixo ruido é essencial, muitos adc's terão tambem uma menor gama de voltagens e etc,etc.
De uso facil e com 12 bits tens os MCP320x, em que x é o numero de canais e pode ser de 1,2,4 ou 8, tens em PDIPe funciona por SPI com sample rate máximo de 100Ksps, se não estou em erro, já é bem mais do dobro do do ADc interno do atmega, se quiseres arranjo-te as funções para o usares.

A adc dos Xmega é das coisas com mais bugs á face da terra, é muito dificil de usar, só funciona num modo muito especifico e nem sei se consegues usar os 12 bits nem a largura de banda toda.

Depois tambem há o facto de que não podes actualizar o display á velocidade da luz, provavelmente 30hz já será pedir muito.

EDIT: É mcp3208 e não 28 como eu tinha antes.
Título: Re: Osciloscópio
Enviado por: CBX em 25 de Junho de 2011, 17:21
ao ver este projecto (http://www.gabotronics.com/development-boards/xmega-xprotolab.htm) pensava que os problemas dos xmega já estivessem resolvidos  :(

quanto aos packages há alguns em SOP que se soldam bem à mão, por exemplo o TLC5510 com 20MSPs...

não encontro nada desses ADC
Título: Re: Osciloscópio
Enviado por: senso em 25 de Junho de 2011, 17:35
Não, continuam cheios de erros e nunca mais os vão corrigir pois não estão a trabalhar nos Xmega actualmente..
Editei o meu post é mcp3208 e não 28 como tinha antes.
E que tipo de limites de voltagem tem esse da texas?
Imagino que precises de uma secção analógica bem mais complexa que um simples op-amp.
Título: Re: Osciloscópio
Enviado por: CBX em 25 de Junho de 2011, 17:47
sim já precisa de um circuito com alguns componentes, um pouco mais complexo

na datasheet está de GND a VDDa, max VDDa 5.25V

sou capaz de pedir uns samples do MCP3201 para testar
Título: Re: Osciloscópio
Enviado por: senso em 25 de Junho de 2011, 17:48
Mas se for com Atmega mesmo sample rate continuo de 100Khz já deixa pouco tempo para fazer mais coisas.
Título: Re: Osciloscópio
Enviado por: beirao em 25 de Junho de 2011, 18:17
com um PIC não vejo alguns desses problemas. Olhando para o modulo ADC do 18f4520, que é fraco comparado com muitos outros PICs 18F, ele faz uma conversão, no tempo minimo de 9,1us, o que acho bastante aceitavel!
Título: Re: Osciloscópio
Enviado por: CBX em 25 de Junho de 2011, 19:04
dai o uso de um adc externo...

pensado melhor: o mcp3201 só tem 100kbs de sampling rate, a largura de banda vai ser 10x inferior ao numero de samples, o que faz 10khz que é quase o mesmo que o interno consegue  ::)

outra opção? de preferência com código exemplo onde me possa basear  ;D
Título: Re: Osciloscópio
Enviado por: msr em 25 de Junho de 2011, 20:26
CBX, porque é que a LB é 10x inferior ao numero de samples?

O meu bitaite é o seguinte: mandar vir uma amostra de um bom ADC, 14bit pelo menos, se não 16, com umas quantas MSPS, para evitar ficares limitado pelo ADC. Assim, se ficares limitado é só pelo CPU que venhas a usar. Outra coisa: se usares um ADC com protocolos série (SPI, I2C) isso vai atrasar ainda mais o teu tempo de amostragem. Para ritmos elevados o melhor será um ADC com saída em paralelo.

Edit: procura samples da TI, eles têm muitos e muito bons

Edit2: o MCU tem de ser da Atmel? Caso contrário, dá uma vista de olhos neste dsPIC33FJ12MC201. Têm em PDIP e o ADC, de 10bit, tem 1.1MSPS
Título: Re: Osciloscópio
Enviado por: CBX em 25 de Junho de 2011, 21:19
não me expliquei bem: para a onda ser vista correctamente no ecrã o nº de samples deve ser 10x superior à frequência da onda, no link do 1º post, no 1º vídeo aos 3:50 repara o que acontece à onda conforme a frequência aumenta

não sei programar pics nem tenho programador...
Título: Re: Osciloscópio
Enviado por: Njay em 25 de Junho de 2011, 22:41
Na minha opinião um osciloscópio com menos de 100 MSps (20MHz) é desperdicio de dinheiro... a não ser que seja mesmo super barato. E fazer um não é nada fácil...

Mas assumindo que querias mesmo tentar fazer um, acho que a resolução do ADC não é relevante face à velocidade de amostragem; 8 bits serve. Em geral são usados vários ADC para atingir a taxa de amostragem, funcionando em sequência; por exemplo o famoso Rigol de 1GSps usa 10 ADCs.

No entanto não podes só pensar no ADC, tens que pensar na adaptação do sinal de entrada, pois os ADCs em geral só aceitam sinais de entrada entre 0 e alguns V. Tens que decidir que intervalos de tensão de entrada queres ter, como vais mudar entre eles, que electrónica vais usar para amplificar e deslocar o sinal de entrada... com a precisão e *velocidade* suficientes... como vais fazer o trigger... etc...
Título: Re: Osciloscópio
Enviado por: senso em 25 de Junho de 2011, 22:50
Acho que basta ser 2x superior, que foi o que o senhor Nyquist nos ensinou.

Agora que pensei por dois segundos, não é preciso actualizar o lcd á velocidade da luz, é preciso é ter um trigger á prova de bala e com alguma/muita inteligência e é no calcula do trigger que vamos perder muita largura de banda, porque se nos osciloscópios a sério se usam FPGA's para o controlo do trigger é porque coisa facil não é, mas agora deixaram-me com vontade de inventar, ainda vou matelar no meu lcd outra vez, se não compro outro mais pequeno.

Diria que com um micro de 8bits, conseguir andar perto de 1Mhz é impossivel, pois mesmo a 20Mhz são 20 instruções no melhor dos casos, que não dá tempo para nada, mas 100kHz, ou seja uma adc a correr a 200kHz parece-me perfeitamente viavel.

Acho estes dois links uma boa leitura:
http://www.bitscope.com/design/ (http://www.bitscope.com/design/)     Explorem o site um bocadinho
http://dangerousprototypes.com/docs/Dangerous_DSO (http://dangerousprototypes.com/docs/Dangerous_DSO)
Título: Re: Osciloscópio
Enviado por: CBX em 25 de Junho de 2011, 23:52
impossível não é:

http://www.jyetech.com/Products/LcdScope/e062KC.php (http://www.jyetech.com/Products/LcdScope/e062KC.php)
http://www.eosystems.ro/eoscope/eoscope_en.htm (http://www.eosystems.ro/eoscope/eoscope_en.htm)

tens esses dois exemplos, o 1º é o kit que se vende na seeedstudio, anda perto de 1mhz com um atmega64, o segundo já usa um CPLD e um atmega162, não cheguei a perceber se a largura de banda é 5, 10 ou 20mhz

acho que 1º vou montar aquele simples e barato do 1º post, ver com calma como é que funciona e depois então juntar o adc externo e ver no que dá
Título: Re: Osciloscópio
Enviado por: senso em 25 de Junho de 2011, 23:59
Ao que me parece os dois designs usam memórias externas, mas tanto um como outro usam adc's externos.
Título: Re: Osciloscópio
Enviado por: Njay em 26 de Junho de 2011, 00:33
Na prática, se quisermos ver "alguma coisa de jeito" do sinal, a taxa de amostragem tem que ser no mínimo 4 ou 5 vezes a frequência máxima.

Desses 4 scopes o melhor faz apenas 50MSps (equivalente a um osciloscópio de 12.5MHz na melhor das hipóteses), e é com um intervalo de tensões de entrada ridiculo (apenas 1, de 0 a 10V ou parecido).

Se não tens dicnheiro agora, vai juntando. Inventa um aparelho qualquer para venderes. Os osciloscópios são caros (na Europa), mas não têm aumentado de preço; por exemplo, pelo que tenho visto o preço de um analógico de 20MHz custa hoje o mesmo que custava há 10 anos.
Título: Re: Osciloscópio
Enviado por: senso em 26 de Junho de 2011, 00:43
Inventar uma coisa destas é sempre uma boa maneira de aprender, pelo menos eu acho que vou inventar tenho uns 30 chips de 512K de Ram paralela para queimar, e são dips e tal.
Título: Re: Osciloscópio
Enviado por: Njay em 26 de Junho de 2011, 00:46
Como projecto didático é óptimo. Como é que vais controlar a escrita e leitura dessa RAM?
Título: Re: Osciloscópio
Enviado por: senso em 26 de Junho de 2011, 00:50
Opção lenta um micro-controlador, opção mais rápida, usar um CPLD, sempre aprendo a brincar com esses bichinhos, com sorte consigo usar uma adc com interface por spi, e implementar um master spi num CPLD, e todo o circuito para controlo da RAM, depois faço um dump com um micro-controlador e meto num lcd.
Título: Re: Osciloscópio
Enviado por: msr em 26 de Junho de 2011, 03:14
senso, se usares uma FPGA tens logo a RAM incluida. E com a FPGA usava-se logo um ADC paralelo que ficava tudo mais rápido (evitar ter que implementar protocolo série para comunicar com o ADC).

Encontrei um ADC que me parece muito interessante: http://www.analog.com/en/analog-to-digital-converters/ad-converters/ad9283/products/product.html (http://www.analog.com/en/analog-to-digital-converters/ad-converters/ad9283/products/product.html)
8bit, 100MSPS, barato e com samples disponíveis.

Dois links a ter em conta:
http://www.fpga4fun.com/digitalscope.html (http://www.fpga4fun.com/digitalscope.html)
http://mhz100q.sourceforge.net/ (http://mhz100q.sourceforge.net/) (senhor com muito "know how", ver blog: http://blog.sensicomm.com/ (http://blog.sensicomm.com/))
Título: Re: Osciloscópio
Enviado por: CBX em 26 de Junho de 2011, 15:46
só para completar:

http://www.fpga4fun.com/Hands-on_Flashy.html (http://www.fpga4fun.com/Hands-on_Flashy.html)

pc based, 100msps