Gerador de Funções com DDS

Circuitos eletrônicos, topologias, diagramas elétricos, etc...

Moderadores: 51, Renie, gpenga

Re: Gerador de Funções com DDS

Mensagempor MOR_AL » 30 Out 2014 21:01

Norad.
Ainda não mexi nas placas. :(
Estava fazendo um trabalho em minha casa. Terminei esta semana. Agora tenho problema de água. Fiz a captação de água da chuva em um lado do telhado. Estou fazendo o mesmo para o outro lado. Muito mais perigoso...
Na verdade criei mais um projetinho para mostrar o nível da água na caixa, incluindo um alarme. Sei que tem zilhões deles na net, mas decidi fazer com integrado simples (OpAmp). O CI próprio LM3914 é caro, cerca de R$ 10,00 e com transistores precisa de muitos fios entre a caixa (sensor) e a cozinha (aparelho).
Nesse meio tempo também decidi melhorar a corrosão de PCI. A leva de placas virgens que comprei (e disponho) possuem o cobre de qualidade inferior, prejudicando a corrosão. Pretendo aquecer a solução de percloreto e esguichá-lo diretamente na placa.

Fiquei reticente com a parte do amplificador de RF, que uso no meu projeto, para medir a frequência gerada pelo AD9850. O circuito é o que tem em muitos artigos pela internet, mas descobri que há séria limitação na resposta em frequência. Pelo menos quando se varia a amplitude do sinal de entrada. Pode ser que isso realmente ocorra, não sei. Incorporei o medidor de frequência, já que fiz e funcionou. Uso ele para medir a frequência gerada pelo AD9850 e, de quebra, o aparelho é também um frequencímetro. Como informei na primeira postagem, não uso a expressão que gera uma palavra de 32 bits para estabelecer a frequência. Essa expressão exige operações em ponto flutuante e fica difícil se obter precisão de 32 bits, já que as operações em ponto flutuante possuem 32 bits. Pior ainda é que a mantissa é composta por apenas 24 bits. Conclusão. Nunca vai fornecer a palavra correta para gerar a frequência.
Seu projeto vai ficar legal também.
MOR_AL
"Para o triunfo do mal só é preciso que os bons homens não façam nada." Edmund Burke.
"Nunca discutas com pessoas estúpidas. Elas irão te arrastar ao nível delas e vencê-lo por possuir mais experiência em ser ignorante". Mark Twain
Avatar do usuário
MOR_AL
Dword
 
Mensagens: 2934
Registrado em: 19 Out 2006 09:38
Localização: Mangaratiba - RJ

Re: Gerador de Funções com DDS

Mensagempor norad58 » 31 Out 2014 06:06

Mor_Al,

Entendo que tu está agora em projetos mais importantes. Esta questão da água é fundamental. Sobre medição do nível da água há varios projetos, desde um sensor com haste e potenciometro até o tipo onde o sensor é capacitivo ou por ultrasom.
Há varios circuitos integrados operacionais de custo barato, acho que até um LM741, LM324, OP07 e outros devem funcionar, geralmente os OP de baixo ruido custam caro, acima de R$14,00.
Sobre a corrosão da PCI, tive o mesmo problema com uma placa que comprei. Mas não aumentei a temperatura da corrosão. No estagio final de corrosão, quando havia ainda pontos na placa, retirei a placa do percloreto e com um algodão fiz limpeza da placa em agua corrente, depois voltei a placa ao percloreto.
Sobre os calculos de 32bits para os contadores do AD, como teste uso os calculos do EXCEL para ver como ficam os dados em Hexa. Foi assim que testei a placa AD9835, pra economizar tempo. Mas como estou programando em C no Atmega16, acho que nao terei muitos problemas, mesmo que seja em ponto flutuante.
Acho que dá pra fazer o calculo em binario puro sem o uso do ponto flutuante, mas dá trabalho, analizando o calculo pelo Excel, noto que quanto mais sobe a frequencia de geração do AD98xx, ou quanto mais a freq. de geração do AD98xx se aproxima do valor da freq. de referencia(Xtal ou modulo Xtal ref. para o AD), o valor do contador 32bits diminui.
Não lembro se o AD9850 se comporta assim como o AD9835, vou verificar no datasheet.
No meu caso com AD9835 e freq. de referencia de 50MHZ, se desejo gerar 1Hz o valor em hexa do contador é 0x00000056 se desejo 49.999.999hz o valor em hexa é 0xFFFFFFAB.
Claro que para enviar ao AD9835, tem que decompor o numero 32bits em 4 partes e enviar junto com o padrao de comandos do AD9835, formando palavras de 8 ou 16 bits pela SPI.
O problema que um MCU de 8 bits tem que fazer varios calculos, diferente de um MCU de 32bits com acelerador de mult/div por hardware. Também fiz uma rotina em C no Codeblocks para PC, que vai servir de base para o codigo em C do Atmega.
Acho que não necessita enviar os dados 32bits para resolução precisa na casa dos HZ do AD98xx, simplificando os calculos, mudando na casa dos Khz penso que deve simplificar o calculo.
norad58
Word
 
Mensagens: 693
Registrado em: 08 Abr 2013 15:56

Re: Gerador de Funções com DDS

Mensagempor MOR_AL » 31 Out 2014 16:37

Meu projeto com o AD9850 é em assembler e sem teclado numérico. Usa o PIC16F873A com 28 pinos, 4k de flash e 192 bytes de ram. Alguns pinos pretendem ser multiplexados entre o LCD e o AD9850.
Segue o que eu fiz, até o momento. Ainda não está pronto e certamente terão algumas alterações.
http://www.4shared.com/office/N0QNz_RPb ... D9850.html
Em breve vou postar o monitor e alarme do nível d'água. Me enganei. Não é feito com OpAmp e sim com comparadores LM339
MOR_AL
"Para o triunfo do mal só é preciso que os bons homens não façam nada." Edmund Burke.
"Nunca discutas com pessoas estúpidas. Elas irão te arrastar ao nível delas e vencê-lo por possuir mais experiência em ser ignorante". Mark Twain
Avatar do usuário
MOR_AL
Dword
 
Mensagens: 2934
Registrado em: 19 Out 2006 09:38
Localização: Mangaratiba - RJ

Re: Gerador de Funções com DDS

Mensagempor norad58 » 04 Nov 2014 05:29

Mor_Al,

Dê uma olhada neste projeto com HC08 e AD9850, o codigo fonte é em Assembly. Tu pode tirar algumas ideias para seu projeto.

http://midnightdesignsolutions.com/HC908VFO/index.html
http://midnightdesignsolutions.com/HC90 ... ce_v3c.zip
http://midnightdesignsolutions.com/HC90 ... l%20v3.pdf
norad58
Word
 
Mensagens: 693
Registrado em: 08 Abr 2013 15:56

Re: Gerador de Funções com DDS

Mensagempor MOR_AL » 05 Nov 2014 08:57

norad58 escreveu:Mor_Al,

Dê uma olhada neste projeto com HC08 e AD9850, o codigo fonte é em Assembly. Tu pode tirar algumas ideias para seu projeto.

http://midnightdesignsolutions.com/HC908VFO/index.html
http://midnightdesignsolutions.com/HC90 ... ce_v3c.zip
http://midnightdesignsolutions.com/HC90 ... l%20v3.pdf


Dei uma olhada. Meu projeto tem bases diferentes, mas valeu pela sugestão.
MOR_AL
"Para o triunfo do mal só é preciso que os bons homens não façam nada." Edmund Burke.
"Nunca discutas com pessoas estúpidas. Elas irão te arrastar ao nível delas e vencê-lo por possuir mais experiência em ser ignorante". Mark Twain
Avatar do usuário
MOR_AL
Dword
 
Mensagens: 2934
Registrado em: 19 Out 2006 09:38
Localização: Mangaratiba - RJ

Anterior

Voltar para Circuitos Diversos

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x