Gerador de Funções com DDS

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

Moderadores: 51, Renie, gpenga

Mensagempor MOR_AL » 09 Jul 2012 13:19

Um diagrama em blocos, bem, mas bem resumido mesmo, de programa para gerenciar o AD9850. Bolei um outro mais completo, mas não ficaria inteligível.
Imagem

Em tempo:
Com o PIC16F628A não dá para manter um clock externo de 20Mc/s e dois pinos para ler a frequência do AD9850. Ou um ou outro.
Sem um (Xtal externo) fica restrito a um clock interno de 4Mc/s. Mesmo disponibilizando dois pinos para o frequencímetro, não haveria precisão na leitura. Além disso, a taxa de modulação, que já não seria alta, ficaria reduzida a 1/5 da opção com cristal externo com 20Mc/s.
Sem o outro (frequencímetro) não haveria como corrigir a frequência produzida pelo AD9850. Frequência esta que seria gerada pelo cálculo de uma expressão com ponto flutuante e algum erro. O dado que representa uma frequência gerada pelo AD9850 possui 32 bits (no mínimo) ou 40 bits (no máximo).
O AN da uChip sobre frequencímetro, não possui a taxa de erro boa. Menor que 1/1000 para frequências altas, decaindo para 1/25 para frequências baixas.
Concluo que, para muitos vídeos mostrados no YouTube, o que aparece no LCD é a frequência que foi entrada e não a medida.
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

Mensagempor enigmabox » 09 Jul 2012 18:17

MOR_AL,

Aqui tem uma aplicação com este AD:

http://lea.hamradio.si/~s57nan/ham_radi ... _9851.html
enigmabox
 

Mensagempor MOR_AL » 09 Jul 2012 19:38

enigmabox escreveu:MOR_AL,

Aqui tem uma aplicação com este AD:

http://lea.hamradio.si/~s57nan/ham_radi ... _9851.html


Eu olhei ele rapidamente:
1 - Usa o AD9851 e não o AD9850, mas informa que poderia usar o AD9850 com menores frequências.
2 - O circuito tem um PLL que aparentemente sincroniza com a frequência de um cristal, dividida pelo divisor por "R"... Parece que ele está obtendo um sinal senoidal de melhor qualidade e de maior frequência com possibilidade de se obter muitas frequências. Tipicamente para usar em um transceptor, onde é necessária uma grande pureza de sinal senoidal.
3 - Outro detalhe é que observei que ele não mediu a frequência com o PIC, para confirmar se é a que realmente ele selecionou. Não sei. Talvez não seja necessário. Digo que se o cara faz um projeto desses ele sabe o que está fazendo. Ele conta que testou o circuito com um espectro analyser "feito por ele"!!!!
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

Mensagempor enigmabox » 10 Jul 2012 07:57

Mor_al,
Eu já fiz vários projetos semelhantes de VFO e posso dizer por experiencia que o sinal tem que ter o máximo de harmônicos atenuados.
Tem que tomar cuidado com o uso de circuitos digitais gerando freqüências, as vezes , se não for medido com instrumento, você pode estar usando um sinal errado. Apesar de que em circuitos dobradores ou triplicadores de freqüência, tu usa o segundo ou o terceiro harmônico.
Também para gerar rf tu pode usar um oscilador simples com malha PLL, que pode ser até um CD4066!
Hoje em dia a maioria dos osciloscópios modernos como fluke, tektronics, agilmente, já incorporam a analise de Fourrie. Assim da pra analisar os sinais gerados e suas amplitudes.,
enigmabox
 

Mensagempor MOR_AL » 10 Jul 2012 09:47

enigmabox escreveu:Mor_al,
Eu já fiz vários projetos semelhantes de VFO e posso dizer por experiencia que o sinal tem que ter o máximo de harmônicos atenuados.
Acredito que sim!
Tem que tomar cuidado com o uso de circuitos digitais gerando freqüências, as vezes , se não for medido com instrumento, você pode estar usando um sinal errado.
Foi o que comentei no item 3 de minha postagem anterior!
Apesar de que em circuitos dobradores ou triplicadores de freqüência, tu usa o segundo ou o terceiro harmônico.
Também para gerar rf tu pode usar um oscilador simples com malha PLL, que pode ser até um CD4066!
Desde que respeitadas as requências!
Já fiz um circuito PLL do terceiro tipo, terceira ordem! São com 3 polos partindo da origem do plano Sigma x jw. Dois dos tres polos, na medida que o ganho do circuito vai aumentando, dois deles (complexos conjugados), já se movem para o semi-plano lateral positivo de Sigma. O que provoca instabilidade no sistema. Mas a presença de dois zeros no eixo negativo de Sigma, os "atrai" para o semi plano lateral negativo, forçando a estabilidade do sistema. O PLL tinha frequências máximas da ordem de 20kc/s com onda quadrada.

Hoje em dia a maioria dos osciloscópios modernos como fluke, tektronics, agilmente, já incorporam a analise de Fourrie. Assim da pra analisar os sinais gerados e suas amplitudes.,
Acho que o meu não deve ter .. :cry:
Mesmo assim, para osciladores que vão até 40Mc/s, os osciloscópios deveriam responder até uns 200MHz, para mostrar a amplitude do quinto harmônico.
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

Mensagempor enigmabox » 10 Jul 2012 12:49

Mor_Al,

No osciloscopio TDS220 que uso, nao tem a analise de Fourier, comprei recentemente um outro Tektronics e este já veio com o recurso.
Outra coisa que fico cismado, nestes circuitos digitais que criam formas de ondas em uma gama alta de frequencia, pra mim deve ter um filtro LC sintonizavel passa-banda para uma faixa pequena de freq., pois se for montar um filtro passa banda comum de baixo Q para toda a freq. que o sintetizador pode produzir, a possibilidade de aparecerem harmonicos junto com a fundamental é alta. Ja num filtro LC sintonizavel e comutado conforme a banda de freq. com Q mais alto, ja deixa passar mais a freq. fundamental com os harmonicos atenuados.
Sobre o PLL com 4066, concordo, deve se respeitar a freq. de operação, ha também varios PLLs da Motorola , como o MC145152 por exemplo que já podem trabalhar em circuitos de freq. mais alta.

http://www.qsl.net/py2csy/PLL_MC145152.htm

Tô pensando em comprar um AD9850 pra brincar, mas vou usar um Atmega16 ou um HC908 que tenho aqui pra controlar ele.
enigmabox
 

Mensagempor MOR_AL » 10 Jul 2012 21:19

enigmabox escreveu:Mor_Al,

No osciloscopio TDS220 que uso, nao tem a analise de Fourier, comprei recentemente um outro Tektronics e este já veio com o recurso.
:cry: O meu também é um TDS220. Pena que não tem. Mas é o que eu falei antes. Um osciloscópio com FFT é bom porque tem, mas a limitação em frequência é um fator negativo.
Outra coisa que fico cismado, nestes circuitos digitais que criam formas de ondas em uma gama alta de frequencia, pra mim deve ter um filtro LC sintonizavel passa-banda para uma faixa pequena de freq., pois se for montar um filtro passa banda comum de baixo Q para toda a freq. que o sintetizador pode produzir, a possibilidade de aparecerem harmônicos junto com a fundamental é alta. Ja num filtro LC sintonizável e comutado conforme a banda de freq. com Q mais alto, ja deixa passar mais a freq. fundamental com os harmônicos atenuados.
Acho que um LC sintonizado na frequência de saída, com alto Q e para cada pequena faixa de frequência, ainda não é economicamente viável. Aliás, eles fizeram uma boa solução. Com o clock em 125Mc/s, eles dizem que a frequência máxima obtida pode ir a uns 40MHz. À medida que a frequência vai se aproximando dos 40MHz, o que ocorre é que a onda começa a ficar distorcida. O principal causador dessa distorção é o resultado do "batimento" da frequência gerada com a frequência do clock do AD9850. No batimento você tem, principalmente, os 125MHz menos a frequência gerada (f0). Para f0 = 40MHz, o batimento que mais afeta f0, ocorre em 125MHz - 40MHz = 85MHz.
Daí é que se introduz um filtro passa-baixas frequências (FPB), com a frequência de corte logo depois de 40MHz, para não interferir na frequência f0 máxima (40MHz), mas bem antes dos 85MHz, para que este sinal seja atenuado. Lí que este sinal possui 70% de tensão em relação à tensão de f0 em 40MHz. Nestas condições a senóide fica uma m&#d@. Daí é que recomendam, e é necessário o FPB. Este filtro tem que ser porretasso, para não atenuar os 40MHz e atenuar BEM os 85MHz. Eles deduziram que um filtro elíptico seria o melhor compromisso entre atenuação e quantidade de elementos reativos. Uns mencionam em um filtro de quinta ordem (5 reativos), outros um filtro de sétima ordem (sete reativos).
Estes filtros são um "cobertor de pobre"
1 - Nos cálculos se obtém valores dos componentes que não são comerciais. É necessário fazer o ajuste. Os componentes têm que ser ajustáveis.
2 – Quanto mais alta for a frequência, mais difícil é verificar se a função de transferência coincide com o projetado, ou fazer o ajuste. A montagem tem que respeitar os preceitos de uma PCB para HF e é necessário um espectro analyser ou o osciloscópio com FFT ou que responda a um mínimo de 5 x 40MHz, ou 200MHz.
3 – Como os valores dos componentes têm que possuir alguma precisão, se não forem ajustáveis, o filtro perde muito de sua boa característica. Nem estou entrando no problema da alteração dos valores com a temperatura.
Ocorre que essa plaquinha vendida no Ebay já tem o oscilador de 125MHz, o AD9850 montado e o filtro elíptico. Quanto aos dois primeiros, já é uma mão na roda. o filtro é um presente. Não sei se de Grego ou de mãe. Mas é SMD, o que reduz alguns problemas.

Sobre o PLL com 4066, concordo, deve se respeitar a freq. de operação, ha também varios PLLs da Motorola , como o MC145152 por exemplo que já podem trabalhar em circuitos de freq. mais alta.

http://www.qsl.net/py2csy/PLL_MC145152.htm

Tô pensando em comprar um AD9850 pra brincar, mas vou usar um Atmega16 ou um HC908 que tenho aqui pra controlar ele.


Poxa! Se você fizesse com um PIC, nós poderíamos dividir o trabalho. Mas eu estou com muitos projetos que estão andando lentamente.
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

Mensagempor MOR_AL » 22 Jul 2012 08:56

Bom!

Como já comprei no Ebay umas plaquinhas com o AD9850, ... É, ... a curiosidade me pegou. Mais um projetinho.
Comecei a bolar um gerenciamento para o AD9850 com PIC16F873A, que tem mais pinos e memória de programa que o 16F628A.
Preciso de mais dois pinos que o 16F628A pode fornecer, pois para conseguir a frequência com um erro mínimo, ela tem que ser medida. Isso pede um frequencímetro dentro da programação.
Aí é que vem o problema.
Para medir a frequência:
1 - É necessário abrir uma porta que controla a passagem dos pulsos do gerador,
2 - Fazer um loop de tempos de clock e
3 - Fechar a porta.
Ocorre que esse procedimento envolve duas coisas ao mesmo tempo.
A contagem dos pulsos e a geração da janela de tempos de clock para a contagem.
Já fiz isso com a precisão de um período de clock, mas gostaria de acrescentar um ajuste por software, tal que pudesse aumentar ou diminuir essa janela, com variações de apenas um tempo de clock, em tempo de execução do programa.
Explico porque!
Medir 40Mc/s do gerador com períodos de clock de 200ns do mC, implica que a cada clock do mC existem 8 pulsos do gerador. Isso já dá um erro no dígito das unidades da frequência medida. Como existe uma indeterminação de um pulso de clock, tanto no início como no final da janela de contagem, esse erro pode se propagar para 16 partes em 40Mc/s.
O mais próximo que pensei me fornece variações mínimas de múltiplos de 3 tempos de clock.

Imagem

Daí a pergunta:
Alguém sabe como posso alterar a contagem de tempos de clock em apenas uma unidade, durante a execução do programa?
Qualquer ajuda é bem-vinda.
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

Mensagempor enigmabox » 22 Jul 2012 09:34

MOR_AL,

Me corrija se eu estiver errado....
Nao conheço PIC mas com base em outros MCU, ja fiz algo parecido e explico:

1) Tu tem que ter um contador de pulsos para leitura de freq. por ex. TC1 16bits no minimo, para leitura de até 65535 pulsos.
2) Tem que ver no seu MCU se é possivel ter um segundo timer/counter TC2 onde o clk de entrada pode ser um cristal 32khz com um preescaler programavel via software, este TC2 pode ser programado com contagem decrescente, gerando interrupçao no mcu quando chega a zero, este TC2 deve gerar largura de tempo de 1s, 0,1s, 0,01s.... para ser utilizado como "abre e fecha" da janela de leitura de freq. ou tempo de funcionamento do timer TC1.
Como seu gerador de freq. vai até 40mhz, o tempo programavel do TC2( 1s, 0,1s, 0,01s, etc) poderia ser selecionado via software conforme monitoraçao de overflow do TC1. Isto é o selecionar uma largura de tempo que nao haja overflow do TC1.
Agora o PIC atraves do contador interno, consegue ler pulsos com freq de 40mhz?
O que acha?
enigmabox
 

Mensagempor MOR_AL » 22 Jul 2012 10:48

enigmabox escreveu:MOR_AL,

Me corrija se eu estiver errado....
Nao conheço PIC mas com base em outros MCU, ja fiz algo parecido e explico:

1) Tu tem que ter um contador de pulsos para leitura de freq. por ex. TC1 16bits no minimo, para leitura de até 65535 pulsos.
Uso o TIMER0 do PIC.
1 - Tem um prescaler programado com "divide por 256" e o registro TMR0 com 8 bits. Isso dá 256 x 256 contagens máxima. Isso é pouco se desejarmos resolução.
2 - Incluí mais dois registros (T01 e T02). Com isso a contagem pode ir até uns 4 bilhões, bem acima dos 40 milhões.
3 - O prescaler do TIMER0 responde até um pouco mais que 40Mc/s.

2) Tem que ver no seu MCU se é possivel ter um segundo timer/counter TC2 onde o clk de entrada pode ser um cristal 32khz com um preescaler programavel via software, este TC2 pode ser programado com contagem decrescente, gerando interrupçao no mcu quando chega a zero, este TC2 deve gerar largura de tempo de 1s, 0,1s, 0,01s.... para ser utilizado como "abre e fecha" da janela de leitura de freq. ou tempo de funcionamento do timer TC1.
Como seu gerador de freq. vai até 40mhz, o tempo programavel do TC2( 1s, 0,1s, 0,01s, etc) poderia ser selecionado via software conforme monitoraçao de overflow do TC1. Isto é o selecionar uma largura de tempo que nao haja overflow do TC1.
Não uso nenhum contador por hardware extra para gerar essa janela de tempo de contagem dos pulsos. Com um contador extra daria muito mais trabalho, pois teria que contar os pulsos de entrada e de saída da interrupção. Ao invés disso fiz um contador de tempo por software que:
1 - Tem precisão na contagem do tempo.
2 - Ele fica em loop para redução do número de instruções.
3 - Dentro do loop inseri a verificação do transbordo da contagem e possível atualização dos registros T01 e T02, formando um contador de 4 bytes.
4 - Essa verificação é realizada dentro de um semi-período tal que ocorre em um tempo menor do tempo de transbordo. Assim nenhum pulso de transbordo é perdido.
5 - Qualquer que seja o caminho seguido pelo programa de geração desse tempo de contagem, ele tem SEMPRE o mesmo número de períodos de clock, para que esse tempo seja preciso.
6 - Decidi colocar esse tempo como fixo e igual a 1,000000 segundo. Com isso o valor da contagem coincide com o valor da frequência do sinal do gerador e, o também muito importante, é que, medindo com 1 segundo (e não menos) minha resolução fica alta. Se medisse com períodos de 0,1s, eu multiplicaria o erro por 10.

Agora o PIC atraves do contador interno, consegue ler pulsos com freq de 40mhz?
Sim! O prescaler responde até 40Mc/s. Na saída dele haverá, no máximo, 40Mc/s / 256 = 156.250c/s. Esse valor é lido, facilmente, pelo TIMER0.
MOR_AL

O que acha?
"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

Mensagempor enigmabox » 01 Ago 2012 10:56

MOR_AL,

Como anda o projeto?
Verifiquei que existe também um oscilador programavel CDCE906 da Texas Instruments, que vai até 167Mhz e se comunica serialmente com o MCU.
Não sei se tu ja pesquisou sobre esta linha CDCE9xx da TI, pois tem um custo mais barato.

:wink:
enigmabox
 

Mensagempor MOR_AL » 01 Ago 2012 16:54

enigmabox escreveu:MOR_AL,

Como anda o projeto?
Verifiquei que existe também um oscilador programavel CDCE906 ...tem um custo mais barato.

:wink:

Eu comprei algumas plaquinhas com o AD9850 no Ebay, somente para tê-las e fazer um projeto depois. Acontece que chegaram em menos de um mês. A compra anterior levou três meses e meio para chegar.
Não esperava que chegassem tão "rápido" Hehe!

O projeto usa uma etapa que é um frequencímetro. Ela mede a frequência gerada pelo AD9850 e não a frequência desejada. Essa última sempre fica com todos os dígitos corretos, uma vez que entramos com o valor.
Como não sei esperar, fui cercando o projeto mesmo tendo outros já iniciados. Fiz uma parte aqui, outra lá....
Hoje terminei de fazer o programa em asm do frequencímetro. Vou programar, montar e testar.
Como já disse, fiz em asm porque fica compacto e é necessário fazer uma janela de tempo de contagem dos pulsos de entrada provenientes do AD. Esta janela tem que ser precisa, pois cada erro de um clock (Xtal em 20MHz) no período, geram 8 pulsos de erro na contagem. E esse é apenas um dos erros. Existem outros que me fazem concluir que dificilmente se consegue 6 dígitos de precisão. Essa janela possui o mesmo número de pulsos de clock, independentemente se for necessário atualizar ou não os dois registros extras adicionados ao contador (TIMER0), caso ocorra overflow no hardware do contador (TIMER0).
A parte do frequencímetro, configurações, rotinas, escritas no LCD ocuparam apenas 400 instruções. Incrível!! Tomara que funcione hehehe!!!
Iniciei o projeto com linguagem de mais alto nível (microBasic), mas a quantidade de memória de programa aumentou muito, então não achei interessante prosseguir.
Usei a conversão de 32 bits para 10 caracteres BCD (5 bytes), e para ASCII de um site. Testei com uns 30 valores binários, distribuídos entre o mínimo e o máximo, e funcionou.
Quanto à sua sugestão, confesso que não tenho mais como estudá-la. Quando terminar a parte do frequencímetro, farei a parte de gerenciamento da geração da senóide no AD9850. Depois tentarei incluir as modulações FM senoidal, triangular, FSK e rampa (para verificação de filtros e resposta em frequências em circuitos). Isso exige entrada de dados paralelos (1 byte D7:D0).
Ainda tenho outros projetos em andamento e acho que meu STACK de projetos está quase em OVERFLOW.
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

Mensagempor eletroinf » 02 Ago 2012 08:04

Bueno Mor_al, eu to acompanhando essa façanha pois gosto do assunto.
Pensando, cá com minhas idéias, a questão do frequencímetro, não seria dispensável? Pois, certamente a leitura será mais imprecisa que tomar o valor ajustado no DDS...
"De cada um segundo sua capacidade a cada um segundo sua necessidade."
Avatar do usuário
eletroinf
Word
 
Mensagens: 948
Registrado em: 12 Out 2006 14:59
Localização: Santa Maria - RS

Mensagempor MOR_AL » 02 Ago 2012 09:24

eletroinf escreveu:Bueno Mor_al, eu to acompanhando essa façanha pois gosto do assunto.
Pensando, cá com minhas idéias, a questão do frequencímetro, não seria dispensável? Pois, certamente a leitura será mais imprecisa que tomar o valor ajustado no DDS...

O que ocorre é que o valor entrado no AD9850 não é o valor da frequência e sim o resultado da operação:

f0 = (número binário com 32 bits x freqCk) / (2 elevado a 32)

Para conhecer o número binário é necessário explicitá-lo na expressão anterior.

número binário com 32 bits = (f0 x 2 elevado a 32) / freqCk

Para uma determinada frequência de oscilação, teria-se que calcular a segunda expressão com ponto flutuante e converter o resultado no formato ponto flutuante para o formato binário simples.
Há duas hipóteses.
1 - Você pode calcular com o auxílio de uma calculadora, mas vai precisar de uma que forneça pelo menos 10 dígitos de precisão. Converter o resultado para valor digital com 32 bits e entrar com esse valor no uC. Essa opção, apesar de válida não leva a uma solução "estética". Ter que calcular o valor externamente e com essa precisão não é bom.
2 - Fazer o uC calcular esse valor.

Ambas as soluções envolvem algum tempo e isso não é bom.

Minha hipótese é com o auxílio de 4 teclas programar todas as funções, ou seja, interagir com o AD9850 por meio do uC, além de gerar as ondas senoidais ou incluir a modulação.
Para a modulação é necesssário que se entre com outros valores de frequência e opções de modulação.
Idealisei o uso de realimentação negativa "biônica". Seto uma frequência qualquer. Observo o valor no frequencímetro. Aumento ou diminuo o valor até chegar na frequência desejada.
Após entrar com os valores, o uC se encarrega de aplicar ao AD9850 de acordo com o tipo de modulação (ou não). Com modulação, há necessidade de alterar-se o valor da palavra de 32 bits constantemente. Por isso é que se precisa de rapidez. Essa opção não necessita de uma calculadora externa e nem de se usar operações em ponto flutuante. O uC pode ser um dos com mais de 18 pinos e menos de 40.
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 MOR_AL » 19 Fev 2014 11:10

Olá Pessoal!
Estive trabalhando com o projeto. Outros também, por isso é que está demorando tanto.
Já dediquei mais de 300 horas nele.
Bolar o projeto.
Decidir o que vai ser usado e o que não.
Projetar o hardware, que ficou bem complexo para disponibilizar muitas facilidades.
Projetar o software (asm para o frequencímetro incluído). Aliás, essa é a parte mais fácil e direta, consumindo pouco tempo relativo.
Fazer o layout da PCB com apenas uma face cobreada (em fase de finalização).

Bom.
Descobri dois application notes que tratam da modulação em amplitude.
Isso requer o projeto de hardware para gerar o sinal da modulante (senoidal, triangular e quadrada), além do nível cc necessário.
Com isso posso incluir um controle de volume na saída senoidal.
Lí também que a saída do sinal senoidal não é constante com a frequência. Isso exige um Controle Automático de Ganho (CAG).

Bom.
Concluí que não adianta fazer o projeto e montar a PCB, pois a experiência mostrou que sempre é necessário corrigir alguma coisa.
Tenho que montar parte do projeto em módulos e testar. Só após é que se deve juntar tudo.
Com as inclusões apresentadas, terei que abandonar a caixinha que conteria o circuito. Estava espremendo tudo em uma placa pequena que caberia nesta caixinha. Tinha até dois andares de circuitos. Aliás o LCD e os quatro botões, que têm que ficar na face frontal do equipamento e o módulo (kit) que contém o AD9850, não podem ficar na placa base, que conterá o restante do circuito.
Uma boa parte de investimento de tempo do projeto é a confecção do layout da placa. Sei fazer ficar tudo bem pequeno, pois fiz uma biblioteca com muitos componentes e dicas, mas não tenho muita prática em PCB gerada via roteamento. Os softwares que tentei mal aceitam o modelo dos componentes que eu criei. Dá muito trabalho para criar tais componentes e poder usá-los no roteamento.
Agora vou tentar distribuir todo aquele circuito em partes para poder testar cada uma delas.
Estou sem internet em casa. A Vivo está sem sinal há duas semanas e a previsão é de mais três. Os acessos à internet ficam espaçadas, pois terei que ir ao centro da cidade onde moro para tal.
Não parei com o projeto. Está demorado, mas pretendo terminá-lo.
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

AnteriorPróximo

Voltar para Circuitos Diversos

Quem está online

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

x