collapse

* Posts Recentes

Emulador NES em ESP32 por dropes
[13 de Março de 2024, 21:19]


Escolher Osciloscópio por jm_araujo
[06 de Fevereiro de 2024, 23:07]


TP4056 - Dúvida por dropes
[31 de Janeiro de 2024, 14:13]


Leitura de dados por Porta Serie por jm_araujo
[22 de Janeiro de 2024, 14:00]


Distancia Cabo por jm_araujo
[08 de Janeiro de 2024, 16:30]


Meu novo robô por josecarlos
[06 de Janeiro de 2024, 16:46]


Laser Engraver - Alguém tem? por almamater
[16 de Dezembro de 2023, 14:23]


Focos LED SMD por almamater
[16 de Dezembro de 2023, 14:12]


I Belive por dropes
[15 de Dezembro de 2023, 13:59]


Carga de corrente eletrónica ZPB30A1 60W por jm_araujo
[11 de Dezembro de 2023, 13:27]

Autor Tópico: Mini "Pseudo" Osciloscópio  (Lida 9902 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline CBX

  • Mini Robot
  • *
  • Mensagens: 1.315
Re: Mini "Pseudo" Osciloscópio
« Responder #15 em: 07 de Outubro de 2014, 18:10 »
não é SPI, são 8 bits paralelos e estou a falar da função CLKO do pino PB0 que nada tem a haver com o PB5 (SPI), na datasheet só consigo encontrar 2 capítulos com informação desta função, 8.9 e 13.3.1 ao fim
« Última modificação: 07 de Outubro de 2014, 19:04 por CBX »

Offline CBX

  • Mini Robot
  • *
  • Mensagens: 1.315
Re: Mini "Pseudo" Osciloscópio
« Responder #16 em: 09 de Outubro de 2014, 20:44 »
e se usar um timer como fonte de clock do ADC, já tenho acesso a algum registo que me detete o falling edge?

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Mini "Pseudo" Osciloscópio
« Responder #17 em: 09 de Outubro de 2014, 23:12 »
Penso que não, o que podes fazer, é ligar o pino de saida a um de entrada e gerar uma interrupção na falling edge, a bit crusty I know..
Avr fanboy

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.598
    • Tróniquices
Re: Mini "Pseudo" Osciloscópio
« Responder #18 em: 10 de Outubro de 2014, 00:23 »
Não tou a perceber muito bem do que tás a falar, mas tens interrupções de compare match, se gerares o clock a partir de PWM dum contador (parece-me lento, se calhar não é a isso que te referes) o compare match ocorre quando (por exemplo) o pino vai a low.

p.s. Já agora, se falas dum chip menos corriqueiro convém deixar logo um link para a datasheet ;)
« Última modificação: 10 de Outubro de 2014, 00:25 por Njay »

Offline CBX

  • Mini Robot
  • *
  • Mensagens: 1.315
Re: Mini "Pseudo" Osciloscópio
« Responder #19 em: 10 de Outubro de 2014, 02:10 »
http://www.ti.com.cn/cn/lit/ds/symlink/tlc5510.pdf também não é assim muito difícil de encontrar :P

já agora do atmega: http://www.atmel.com/Images/doc8161.pdf

a minha ideia é ter o porto D do atmega328 a ler os 8 outputs do ADC simultaneamente, para os ler tenho de o fazer no falling edge do clock e para isso tenho de detectar o falling edge de alguma forma para saber o momento exacto de leitura (pelo menos foi o que percebi ao ler a datasheet), o clock é fornecido pelo atmega, inicialmente pensei em usar a função CLKO do pino PB0, que pelo que percebi é mesmo essa a função dele (pagina 35 da datasheet do atmega), mas não encontro nenhuma forma de detectar o falling edge de forma simples, quais são as minhas alternativas?

penso que me expliquei bem   :P

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.598
    • Tróniquices
Re: Mini "Pseudo" Osciloscópio
« Responder #20 em: 10 de Outubro de 2014, 02:50 »
O ADC dá inicio à actualização da saída digital no flanco ascendente do clock, demorando td(D) (máx 30ns para as condições que eles indicam). Portanto podes ler os dados em qualquer ponto do intervalo de tempo que vai desde flanco-ascendente + td(D) até ao próximo flanco ascendente, por exemplo no flanco descendente como referes. Não tens como acertar a operação de leitura do porto com um flanco do clock à escolha, mas tás com "sorte" :) ; o mega fá-lo no flanco descendente (e isso não dá para mudar). Esta informação está na secção de portos (13.2), em particular lê a secção 13.2.4 e mantém a figura 13-2 à mão.

Na verdade não é bem "sorte". Em sistemas digitais costuma-se actualizar as saídas num dos flancos e fazer as leituras no outro, e assim tudo flui rapidamente.

De qualquer forma podias sempre "acertar o flanco" externamente, introduzindo um inversor no CLKO para o ADC.
« Última modificação: 10 de Outubro de 2014, 02:52 por Njay »

Offline CBX

  • Mini Robot
  • *
  • Mensagens: 1.315
Re: Mini "Pseudo" Osciloscópio
« Responder #21 em: 10 de Outubro de 2014, 16:31 »
Sendo assim posso ler o ADC a qualquer altura que vai estar sempre "sincronizado"?

Por essa é que não esperava, adoro quando as coisas estão bem pensadas  ;D

Agora esta parte é que vai dar luta, o front end, não percebo muito de eletrotécnica analógica, mas penso que o meu raciocínio está correcto:



O input está pensado para uma tensão de +\-20v ou 40vpp, o divisor resistivo baixa o sinal para 1vpp, o primeiro opamp é um simples buffer, o segundo está configurado como amplificador não-inversor com ganho de 2 que aumenta o sinal para 2vpp, que é a grandeza para que o input ADC está preparado, por fim preciso de centrar o GND nos 1,6v, uma vez que o Vtop do ADC é de 2,6v e o Vbottom é de 0,6v, para isso usei um transístor e um pot para criar um offset de -1,6v

Não simulei o circuito, tentei usar o ltspice, mas não consegui, testei na breadboard e parece-me estar tudo a funcionar

Que me dizem?
« Última modificação: 10 de Outubro de 2014, 16:33 por CBX »

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.598
    • Tróniquices
Re: Mini "Pseudo" Osciloscópio
« Responder #22 em: 10 de Outubro de 2014, 17:07 »
Também não posso falar do front-end, mas não explicaste os filtros que aí tens (nem disseste que performance queres atingir) e quanto à secção de atenuação na entrada acho que devias pelo menos meter mais um switch ("sem atenuação") para teres mais resolução em tensões baixas e se calhar devias ter alguma protecção da entrada, uns TVS ou coisa do género. Leitura muito interessante aqui, http://www.davmar.org/concepts.html , relativo a front ends tens o "Horizontal Amplifier Circuits".