Ir ao conteúdo
  • Cadastre-se

Felipe Arcaro

Membro Júnior
  • Posts

    12
  • Cadastrado em

  • Última visita

Reputação

1
  1. Entendi, talvez isso sirva pro meu caso. Eu gostaria de entender mais um pouco sobre o terra o flutuante e se tudo que ele faz é isso. Porque pra mim ainda não faz sentido e eu não sei como tirar uma +6V e -6V desse esquema que você fez com o terra flutuante. Alguém aí pode dar uma ajuda? Obrigado de qualquer forma, MatheusLPS.
  2. Fala pessoal, tudo bom? Bom, não acredito que minha dúvida seja muito complexa, mas como to começando agora acho que seria interessante saber. Eu to montando um circuito e em uma das ajudas que tive um cara me disse que deveria usar duas baterias ao invés de uma como fornecedor de tensão para um op amp, para assim criar um terra flutuante. Este é o esquema: A princípio, fiz isso usando um gerador de tensão e uma bateria 9V, o que foi mais do que necessário (estou usando outros resistores, então meu ganho é menor.) Agora, para ficar um pouco mais organizado, instalei isso daqui na minha protoboard: https://www.sparkfun.com/products/10804. Consigo normalmente usar o 5V para o sistema do arduino que uso e 12V para a alimentacao positiva (que entra no pino 8 do op amp), mas nao sei o que fazer quanto a alimentacao negativa. Ja tentei puxar do -12V mas nao parece funcionar, assim como nao funcionava quando eu tentava usar apenas o fornecedor de tensão para o negativo e positivo. Alguem pode me dar uma ajuda com isso? Obrigado.
  3. Eu apenas mudei o capacitor de saida, coloquei um maior, e fui direto disso pra entrada analogica do arduino (A0). O resultado que obtive foi satisfatorio, uma onda senoidal variando de acordo com a onda de entrada, mas nao identica. Eu nao sei exatamente porque nao precisei de filtros pra isso, mas de qualquer forma funcionou. De qualquer forma, caso alguem esteja na mesma situacao, estou usando a placa DDS AD9850 para gerar as funcoes de seno. O codigo que usei pra fazer com que ele funcionasse foi: -------------- /* * A simple single freq AD9850 Arduino test script * Original AD9851 DDS sketch by Andrew Smallbone at www.rocketnumbernine.com * Modified for testing the inexpensive AD9850 ebay DDS modules * Pictures and pinouts at nr8o.dhlpilotcentral.com * 9850 datasheet at http://www.analog.com/static/imported-files/data_sheets/AD9850.pdf * Use freely */ #define W_CLK 8 // Pin 8 - connect to AD9850 module word load clock pin (CLK) #define FQ_UD 9 // Pin 9 - connect to freq update pin (FQ) #define DATA 10 // Pin 10 - connect to serial data load pin (DATA) #define RESET 11 // Pin 11 - connect to reset pin (RST). #define pulseHigh(pin) {digitalWrite(pin, HIGH); digitalWrite(pin, LOW); } // transfers a byte, a bit at a time, LSB first to the 9850 via serial DATA line void tfr_byte(byte data) { for (int i=0; i<8; i++, data>>=1) { digitalWrite(DATA, data & 0x01); pulseHigh(W_CLK); //after each bit sent, CLK is pulsed high } } // frequency calc from datasheet page 8 = <sys clock> * <frequency tuning word>/2^32 void sendFrequency(double frequency) { int32_t freq = frequency * 4294967295/125000000; // note 125 MHz clock on 9850 for (int b=0; b<4; b++, freq>>=8) { tfr_byte(freq & 0xFF); } tfr_byte(0x000); // Final control byte, all 0 for 9850 chip pulseHigh(FQ_UD); // Done! Should see output } void setup() { // configure arduino data pins for output pinMode(FQ_UD, OUTPUT); pinMode(W_CLK, OUTPUT); pinMode(DATA, OUTPUT); pinMode(RESET, OUTPUT); pulseHigh(RESET); pulseHigh(W_CLK); pulseHigh(FQ_UD); // this pulse enables serial mode - Datasheet page 12 figure 10 Serial.begin(9600); } void loop() { for (unsigned long fq = 30000; fq<= 50000; fq+=50) { sendFrequency(fq); // freq //while(1); int sensorValue = analogRead(A0); float voltage = sensorValue * (5/1023.0); Serial.print(voltage); Serial.print(","); Serial.print(fq); Serial.println(); delay(1); } //while (1) {} } --------------
  4. Felipe_Eletronic, eu fiz mais ou menos o que você falou e com a ajuda de um outro pessoal eu consegui ler a tensão de volta no sinal analógico, pra constatar que meu código estava funcionando. Muito obrigado. Agora, como vou mandar essa função de onda para um piezo na ponta de uma placa, e vou receber no outro piezo na outra ponta da placa, vou recebê-lo bem mais fraco, com noise e offset, correto? Para tirar o offset, eu imagino que devo colocar um capacitor em série, mas como faço pra tirar o noise? Meu objetivo é comparar a onda enviada com a onda recebida num osciloscópio, então tenho que criar um circuito (filtro, imagino) para que a onda continue sendo um seno no segundo piezo. Obrigado desde já, Felipe. Essas fotos são da entrada, da resposta e do sistema.
  5. Razer DeathAdder 2013, você não vai se arrepender
  6. Fala pessoal, eu não comecei a trabalhar em um código, principalmente porque eu realmente não sei como fazê-iniciá-lo. Eu gostaria de algumas direções, pra conseguir achar as respostas que preciso Eu estou trabalhando em um projeto, em que eu gero ondas senoidais para serem usadas em uma comunicação entre piezos. Eu usei uma placa DDS AD9850 e com alguns capacitores, amplificadores operacionais e resistores eu consegui um bom output (ondas senoidais com 4V, 30-50KHz). Como eu aprendi, minha saída é analógica, e agora eu tenho que fazê-la digital para que ela possa ser lida pelo arduino. Meu principal objetivo é ser capaz de ler a frequência da onda. Vocês podem me dar alguma direção? Obrigado.
  7. Eu testei com o capacitor na entrada e aparentemente não funcionou (disseram aqui que o sistema de entrada 1V é fraco demais para passar pelo capacitor). Colocando ele na saída do sistema, antes de medir, ele foi capaz de reduzir significamente o offset e dar o resultado esperado. Agora usei outro op amp, mas sem nenhum resistor e capacitor, apenas com as fontes de energia, input e output com o objetivo de usá-lo como buffer (aumentando apenas a corrente). Tomei essa medida porque como vou usar o output em um piezo, necessito de uma corrente mais alta pra que ele funciona de forma eficiente. Essa é a teoria que estou tentando aplicar na prática e vendo se realmente vai funcionar.
  8. aphawk, essa era exatamente outra duvida minha. Em todos os circuitos que tinha visto na internet, sempre aparecia um capacitor e eu nao sabia exatamente qual era a funcao dele. Se eu colocar ele em serie eu nao estou criando um filtro RC low pass? Antes de usar a placa que comprei no ebay pra gerar frequencias (DDS AD9850), eu estava tentando gera-las diretamente do arduino, e aparentemente esse filtro é um requerimento. Outra duvida referente a esse sistema, agora usando a placa que funcionou perfeitamente pro meu proposito, eu estou conseguindo uma onda pura de seno, onde escolho a minha frequencia. Meu objetivo sempre foi varia-la entre 20KHz e 50KHz, o que é facilmente feito alterando a ultima linha desse codigo (a tensão é de 1V): <code>/* * A simple single freq AD9850 Arduino test script * Original AD9851 DDS sketch by Andrew Smallbone at www.rocketnumbernine.com * Modified for testing the inexpensive AD9850 ebay DDS modules * Pictures and pinouts at nr8o.dhlpilotcentral.com * 9850 datasheet at http://www.analog.com/static/imported-files/data_sheets/AD9850.pdf * Use freely */ #define W_CLK 8 // Pin 8 - connect to AD9850 module word load clock pin (CLK) #define FQ_UD 9 // Pin 9 - connect to freq update pin (FQ) #define DATA 10 // Pin 10 - connect to serial data load pin (DATA) #define RESET 11 // Pin 11 - connect to reset pin (RST). #define pulseHigh(pin) {digitalWrite(pin, HIGH); digitalWrite(pin, LOW); } // transfers a byte, a bit at a time, LSB first to the 9850 via serial DATA line void tfr_byte(byte data) { for (int i=0; i<8; i++, data>>=1) { digitalWrite(DATA, data & 0x01); pulseHigh(W_CLK); //after each bit sent, CLK is pulsed high } } // frequency calc from datasheet page 8 = <sys clock> * <frequency tuning word>/2^32 void sendFrequency(double frequency) { int32_t freq = frequency * 4294967295/125000000; // note 125 MHz clock on 9850 for (int b=0; b<4; b++, freq>>=8) { tfr_byte(freq & 0xFF); } tfr_byte(0x000); // Final control byte, all 0 for 9850 chip pulseHigh(FQ_UD); // Done! Should see output } void setup() { // configure arduino data pins for output pinMode(FQ_UD, OUTPUT); pinMode(W_CLK, OUTPUT); pinMode(DATA, OUTPUT); pinMode(RESET, OUTPUT); pulseHigh(RESET); pulseHigh(W_CLK); pulseHigh(FQ_UD); // this pulse enables serial mode - Datasheet page 12 figure 10 } void loop() { sendFrequency(50e3); // freq while(1); }</code> Estou usando a biblioteca DDS tambem, e gostaria de saber se é possivel fazer um sweep variando entre 20KHz e 50KHz. E tambem, apesar de ainda nao ter conseguido isso, o gerador funciona perfeitamente, e o circuito op amp funciona perfeitamente do mesmo jeito, mas usando o gerador de onda digital (com as mesmas caracteristicas do que obtenho do arduino), mas quando junto os dois (arduino gerando onda+circuito op amp), eu nao consigo fazer com que deem o mesmo resultado, o que me parece muito estranho visto que eu so troco um cabo do circuito. Obrigado pessoal, novamente.
  9. To montando o sistema e testando de varias formas que eu consigo antes de postar alguma coisa, mas tenho uma duvida. Se ao invés de usar os resistores de 10K e 20K eu usar 1K e 3K, para obter um ganho de 4 a partir da formula que o MOR_AL passou, ha divergencia nos resultados? Digo em termos do formato da onda. Obrigado. Só atualizando, fiz exatamente o circuito que o MatheusLPS falou, mas troquei os resistores e usei uma fonte de energia (definindo como 9V) pra uma das baterias e uma pilha de 9V pra outra. Funcionou perfeitamente no meu caso. A tensão inicial foi de 1V e a frequencia de 20KHz, usando R1 com 1K e R2 com 3K, consegui chegar a tensão de 4.4V, o que é exatamente o que preciso. Vou continuar fazendo alguns testes pois essa é somente uma parte do projeto, mas gostaria de agradecer a todos que responderam e me ajudaram.
  10. Eu estou usando TekPower DC POWER SUPPLY HY3005D pra gerar as tensoes, então nao acredito que pilhas sejam necessarias agora, para teste. Tentei colocar o capacitor, esta amplificando a tensão, mas para um pouco mais do que o desejado (o que nao vem a ser um problema). A onda continua sendo afetada e tambem aparece alguns harmonicos, segue a foto: Estou usando o mesmo esquema da foto que postei, e o que me intriga é que no computador a simulacao funciona perfeitamente, enquanto que no circuito que criei esta difícil disso acontecer. Tambem tentei colocar o capacitor como aphawk sugeriu, mas nao deu alterou nada no output.
  11. Eu ja troquei a bateria e tambem a inverti, a unica coisa que me fez conseguir fazer funciona foi deixar sem a bateria. (Imagino que o software pegue o power supply necessario pra atingir a frequencia e tensão que eu quero) Meu objetivo 'e pegar uma onda de 20KHz-50KHz com aproximadamente 5V e amplificar a tensão para 15V (ganho de 3). Eu li o datasheet do op amp e parece que ele serve perfeitamente pra essa tarefa, o problema é quando monto esse mesmo sistema num protoboard. A onda fica sem formato definido e nao esta amplificando tensão.
  12. Fala pessoa, tudo bem? To trabalhando num projeto aqui e to tentando simular um circuito simples no Proteus. Eu tenho um OP AMP AD826AN e gostaria de amplificar uma tensão de 5V para 15~20V. Eu consegui montar o sistema mas a amplificacao esta fazendo com que o formato da onda de input seja modificado. E tambem, quando monto esse sistema num protoboard, nao estou obtendo o mesmo resultado que tenho na simulacao. Alguem tem alguma ideia do que pode ser? Obrigado.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!