Ir ao conteúdo
  • Cadastre-se

Felipe Electronic

Membro Pleno
  • Posts

    3.312
  • Cadastrado em

  • Última visita

Tudo que Felipe Electronic postou

  1. Opa, opa vamos com calma o TWI: é interrupção por modulo I2C ou seja ela não tem nada a ver com a serial, é um outro modulo que serve para se comunicar com perfifericos e outros CI, Posso ate postar um exemplo, mas preciso que você me confirme se vai usar a I2C mesmo. Abs.
  2. Bom se seu problema é a interrupção por serial, Seu funcionamento é bem simples, toda vez que ocorrer o recebimento de um caractere (ou seja quando o buffer de recepção for preenchidO) o programa gera uma interrupção onde poderas efetuar a conversão A/D Abs.
  3. Ok, vou dar uma elucidada de como dimensionar a pastilha: Supondo o exemplo do mestre Paulo: 10 Latinhas de cerveja; Supondo que a massa especifica seja de 1g/cm³ (no caso agua); Uma temperatura ambiente de 30°c Uma temperatura final de 5°C A quantidade de calorias pode ser expressa por: [B]Q = MxCx(Tf - Ti) [Cal][/B] onde: M = massa do corpo C = calor especifico do corpo Tf, Ti = temperatura final e inicial respectivamente do exemplo: M = 3,6L (de agua) = 3.6Kg = 3600g c = 1 tf, ti = 5,30 Q = 3600 x 1 x ( 5 - 30 ) = 3.6 x (-25) .'. - 90.000 cal Ou seja isso sera tirado das latinhas, agora vamos calcular a potencia da pastilha: Supondo que você queria fazer isso em 15 minutos por exemplo, obtemos a formula: [B]P = W / t [Watt][/B] onde: P = Potencia W = Trabalho t = tempo porém devemos converter a quantidade de calorias para joules, sabemos que 1 cal --> 4.18J logo regra de tres: X = 90.000x4.18 , X = 376.200J esse é o trabalho que sera realizado pela sua pastilha no intervalo de 15minutos ou seja 15 X 60 = 900s agora é so calcular a potencia que você precisa: P = W/t --> 376200 / 900 .'. P = 418W Isso para 15 minutos, para "reduzir a potencia" você tera de ir aumentando o tempo ate achar uma pastilha que se encaixe ok? Espero ter ajudado. Abs
  4. Mestre Paulo, dando continuidade ao assunto do analisador de espectro tenho novidades, estou montando aqui uma FFT simples com AVR de 8 pontos e um sample de 4KSPS, creio que na proxima semana termino o algoritmo e ja posto aqui juntamente com uma explicação simples sobre o metodo butterfly para ajudar o velho mestre, o que ja posso ir adiantando é que a coisa nao é estão complexo quanto parece, o problema é que as explicações nao vem para todos entenderem acho isso um baita preconceito com quem quer aprender. Aguardem! Abs.
  5. Eu sei que essa expressão aqui(da DFT) é constante então ja da pra manter calculada : e^-jw ja da pra fazer essa operação em flutuante na mao e fazer a tradução para inteiro e obter uma precisão impressionante sem usar float (graças a nossa velha amiga microchip que tem um app note com numeros em FP) O maior segredo do metodo butterfly é fazer a inversão dos termos, e isso tenho aqui de forma simples, eu achei certa vez um site que tinha funções para DSP usando AVR, so que em C, se for o caso seria interessante traduzir os algoritmos feitos em C e descer ele pro asm e rodar embarcado so a FFT em ASM no Basic, o que acha? Eu posso fazer a tradução do algoritmo pra ASM e comentar. Certa vez fiz uma FFT usando um DSP56K da freescale / motorola de 512 pontos, vou ver se encontro o codigo (pois ja faz bastante tempo) e posto pra ficar mais fácil. Quanto ao timing, me diga porque nao usamos as versões ATTINY que possuem uma PLL interno que permite gerar bases de tempo de ate 64MHz para usar com os perifericos, com isso esse tiny faria o processamento do sinal, cabendo a um ATMEGA32 ou ao ATMEGA1280 (o que uso atualmente) fazerem a parte grafica, ja que essa vai exigir maior FLASH, ao passo que para a função DSP vamos precisar de muita RAM para os buffers, tem tiny ai com 1k de RAM que da tranquilamente ja que a FFT sera de apenas 10 pontos. Para os PICfanaticos, o assunto aqui também vale para os MCU da microchip, quem tiver sugestoes fique a vontade! Abs.
  6. Interessante seria dividir o trabalho nos dois avr de modo que um faz o processamento e o outro so a parte grafica no caso a matriz de leds. A brincadeira seria analisar um bloco de amplitudes onde cada uma iria representar uma função X(t), uma FFT nada mais do que pegar o sinal no dominio do tempo e aplicar varias pequenas DFTs no mesmo, para representar sua amplitude em função da frequencia, ou seja mestre paulo, acho que seria interessante primeiro tentar fazer uma DFT em um sinal amostrado pelo A/D do AVR e verificar em quanto tempo ele faz uma DFT para um valor lido. Feito isso basta fazer a bagaça varias vezes, empregando o tal de metodo butterfly que tenho uma literatura da Texas bem legal. Mas a minha sugestão em suma é deixar um AVR para fazer a função DSP (vamos precisar de ponto flutuante na brincadeira). e Outro para a parte grafica. POsso dar uma olhada no codigo a medida que você for fazendo pra dar uns pitacos o que acha? Abs.
  7. Programar apenas em asm?? Bom ja faz um tempo que abri minha mente, onde tiver uma IDE disponivel vamos la comer ela com farinha independente da linguagem...Apesar que o Asm do AVR é mais tentandor e não me deixa largar o vicio =D Abs.
  8. Uepa, faltou um detalhe que acabei esquecendo, os PIC12, podem ter seus WPU habilitados individualmente e em nivel '1' conforme citado pelo grande mestre. O bit que deve ser invertido é o GPPU (equivalente ao RBPU) que fica no option_reg. To ficando velho =D. Valeu mestre! Abs.
  9. Paulo só uma correção no seu codigo, o WPU é invertido ou seja sua ativação ocorre com '0' e você colocou em comentarios que a instrução esta habilitando os pull-ups. Um abraço.
  10. Limite pra maximo ou minimo de idade não existe, existe e vontade de aprender e um pouco de disciplina, e é para isso que nós do forum estamos aqui. No que puder ajudar, estou a disposição. Abs.
  11. Os PGAs me interessam sim. Quanto fica cada peça? PS.: quanto aos POTs você ja procurou os da microchip? eles existem em formato PDIP e aqui no Brasil tem, la na farnell ta até baratin. Abs.
  12. Isso venha com bastante duvidas, afinal são elas que movem o mundo. Meu foco não é linguagem Basic, porém no quesito Arquitetura e Instruções em Assembly posso ajudar! Assim como a parte do algoritmo. Abs.
  13. Particularmente eu uso esse algoritmo em assembly: COnfigura PIC; Ports; Modulo CCP para Capture; loop: aguarda interrupção escreve valor da frequencia na tela interrupção: recupera valor em CCP1RH:CCP1Rl formata valor para fractional converte para ponto flutuante multiplica pelo menor valor de periodo possivel para 1MHz por exemplo por 10^-6 (flutuante) divide 1 por esse valor (ainda em floating) coverter resultado para inteiro converte para ASCII guarda em variaveis teemporaria retorna da int. Abs.
  14. Um metodo fácil seria a utilização do modulo CCP do PIC em compare mode, esse modo de operação permite com que ele meça periodos entre duas bordas e retorne o valor no registros CCP1Rh:CCP1Rl depois basta fazer o calculo da frequencia e exibir em uma tela usando a relação f = 1/T onde T é o periodo medido. Abs.
  15. Concordo com o Paulo, estou a pouco mais de 1 ano com os chips da ATMEL, estou sentindo em peso a diferença entre eles e os MCU da microchip e estou novamente tomando gosto pelos 8bits. hoje microchip, estou a usar PIC32 e dsPIC mas apenas em algo que envolva IHMs mais complexas e necessidades de um RTOS, 8bits eu uso para praticamente tudo, Pra ter uma ideia um AVR pode subistituir sem muitos problemas um PIC24F de 16bits no quesito Velocidade e Flash por um preço e encapsulamento bem mais em conta. Os Atmega1280 por exemplo ja roda a 20MIPs, com 128K de flash e 4K de RAM e EEPROM, fora a porrada de pefiféricos poderosos disponiveis. Em alguns modelos da pra usar PLL e fazer a bagaça rodar a 64MHz, Quanto a programação, quem entende a arquitetura e organização de memória dos PIC consegue migrar de um Assembly para o outro brincando, sem contar q fica até mais fácil, pois tem instrução pra tudo que é coisa. No caso do BAsic a coisa fica ainda mais fácil de modo que você tem apenas de saber o nome dos SFR, e quais configurar, fora fato de que no reset todos os perifericos do AVR vem desabiitados evitando conflitos. O que ja não acontece na familia PIC, qqr um que ja programou um 877 da vida vai ter que mexer dos registradores CMCON, e ADCON pois sempre eles vem ativados... Migrar hoje para 18F nao vale a pena pois alem da velocidade e memoria ser inferior, eles são incrivelmente caros, e não tem um desempenho nem de longe bom quanto aos AVR (Soschip vai ler isso e vai se matar de rir). O que realmente mantem a microchip estão popular é a quantidade de documentação, codigos prontos e notas de aplicação bem elaborada, enchendo os olhos de quem quer a´prender. porém a ATMEL ja da sinais de adotar essa politica, um exemplo é o site do AVR freaks, que tem uma carga de informação grande e bem explicada. é bom que nem o suporte da Microchupa? Não não é e esta longe de ser, mas isso ja mostra interesse, por parte da ATMEL, em popularizar seus chips, mas se tiver paciencia consegue se aprender a dominar os AVR e ganhar uma poderosa solução de 8bits e de baixo custo. Abs.
  16. Satisfação ver esse tópico rendendo de forma positiva. Agora venho com as perguntas, Paulo você que estava interessado em trabalhar com audio usando os AVR, saberia me dizer onde consigo um equivalente ao PGA2311? Eta bicho caro e nem na farnell tem... Estou fazendo um Pre - digital para controlar o modulo de potencia de meu carro, ja fiz basicamente a IHM com um lcd 16x2 e estou implementando as rotinas da SPI e calculo do ganho em db, porém o PGA esta sendo uma pedra no sapato... Estou gostando dos AVR, em especial o set de instruções dele, e a quantidade absurda de RAM e memoria de programa, da pra subistiuir um PIC24 da microchip sem problemas e pela metade do preço e velocidade semelhante, pois o PIC24F roda a no maximo 16MIPS ja os AVR possuem a mesma velocidade e memoria de programa, fora a RAM e EEPROM absurda e principalmente 131 instruções para eu me divertir. Abs.
  17. .Noise cancelling, isso me interessa, pode ser ate portugol, vou correr e pegar meu exemplar da apostila =D Abs.
  18. Mestre Paulo, Sobre o assunto de sair processando sinais com AVR, eis aqui de onde eu tirei a base da bagaça toda, achei la no AVR freaks, Creio que esteja de fácil assimilação: http://instruct1.cit.cornell.edu/courses/ee476/Math/avrDSP.htm Qualquer duvida a respeito do algoritmo estou a disposição. Abs.
  19. Salve Paulo, Então a FFT posso passar o algoritmo sim, embora ela ainda nao esteja funcando daquele jeito...ja da pra brincar, irei apenas terminar de comentar o código, e posto por aqui, fiz o teste fazendo a bagaça com 15 pontos o resultado foi razoavel. Agora quanto aos filtros , uma maneira interessante de se fazer isso que queres é fazer tres tabelas de coeficientes dos filtros diferentes e por hora você chamar o filtro passa baixa, e outra hora chamar o passa altas e o passa -faixas, pelo menos e uma das maneiras que acho que o AVR vai aguentar sem problemas, O filtro ideal para fazer a brincadeira ai é o de resposta a impulso infinita , o famoso IIR ja que o processamento dele é menor, dependendo da ordem e do numero de amostras que você vai usar o AVR vai rodar folgado, o problema seria verificar os parametros de instabilidade do filtro pra ver se ele atende. Para te dar uma mão Paulo vou passar um treco bem legal quee eu e o amigo sink estamos discutindo em outro topico, esse software da microchupa gera o codigo em C ou assembly de um filtro digital e a tabela de coeficientes. http://www.4shared.com/file/bHtW6DSA/DSPIC_FD_LITE.html o codigo em C nem interessa muito, o legal aqui é usar a tabela de coeficiente, com isso nao perdemos tempo com calculos malucos tipo transformada Z ou bilinear (aaaai!!), essa tabela pode ser convertida pra INT, de resto o filtro é muito simples, um agoritmo de um filtro fir por exemplo pode ser calculado assim: Y(n) = X[n]*a0+X[n-1]*a1+X[n-2]*a2+X[n-3]*a3....+X[n-m]*am onde: Y sera a saida do sinal filtrado. X(n) = é a amostra do sinal X(n-m) = amostra do sinal anterior a0 a am = coeficientes do filtro (gerado pelo SW que passei) m = ordem do filtro. então faça o seguinte: Use um buffer cujo o tamanho vai depender do tamanho da RAM e da ordem do filtro nomeie - o como buffer de entrada buffer_X por exemplo aqui você vai preencher o buffer com as amostras do ADC. enchido o buffer você deve elaborar uma rotina MAC (multiplica e acumula) para calcular a serie que ta ai em cima. cujo o numero de execuções sera igual o numero de coeficientes do filtro detalhe fazer uma MAC no AVR é fácil que doi. em seguida na saida da MAC pegue o resultado e salve - o em outro buffer com um nome de y_buffer por exemplo , aqui vai ficar a saida do seu filtro para ser jogado diretamente em um PWM , espero que o mini - algoritmo ajude-o, para calcular o IIR o processo é quase identico o que muda é a serie de recorrencia que é mais chatinha mas de resto e batata. No que precisar ai Paulo vai perguntado ok? Abs.
  20. Acrobat Paulão? Usem o foxit, faz o que o acrobat deve fazer e pesa pelo menos 10x menos: http://www.foxitsoftware.com/pdf/reader/ Abs.
  21. Se estou brincando com os AVR? Ja migrei boa parte dos meus projetos com PIC e freescale (8bits) para os AVR...a linguagem? vixe esse dai ja nem me interessa mais, prefiro dizer que uso a mais adequada para cada situação, mas ultimamente ando trabalhando com reprodução de áudio com os AVR, usando um algoritmo em ADPCM. Uma das coisas que estou "amando" nos AVR é a velocidade suficientemente alta para trabalhar com processamento de sinais...ja consegui implementar filtros digitais, e até fazer FFT, alem do amplificador classe D que esta na bancada aqui (estou ouvindo mettalica nele) consegui 25W com distorção de 1% em carga de 4Ohms (excelente para um aplificador dessa classe). No que precisar de ajuda estamos ai! PS.: gostei dessa familia AVR32, inclusive meu AVR Studio ja suporta alguns dispositivos, so que infelizmente pra testar...so comprando la fora... ABs.
  22. Se o dreno de corrente da bobina da contatora for baixo você pode usar o primario do seu transformador 110/220 como um autotransformador. Verifique tal possibilidade, apesar da sugestão dos colegas acima serem as mais adequadas. Abs.
  23. Grande mestre Paulo, so uma pequena correção se me permite: O ATMEGA32 é pertencente a familia AVR de 8bits de uso geral como você mesmo acabou de demonstrar citando seus periféricos. A familia AVR32 é uma familia de microcontroladores AVR RISC de 32bits de alta pérformance possuindo ou não núcleo ARM (em especial os cortex m3 e m0), ja é mais usada em aplicações mais complexas. Procurem pelas familia AT91 - SAM e que vão achar muito material de encher os olhos. Abs.
  24. Para qualquer coisa estar acendendo a largura de faixa do seu clapper deve estar grande, tente reduzi - la atraves da alteração do capacitor de entrada (o que fica logo apos o microfone). Abs.
  25. Amigo Andretronics, infelizmente não tenho nada aqui que corresponda a um gravador pronto pra essa bagaça ai. Por outro lado esse tipo de memoria obedece protocolo SPI que é muito simples de implementar, creio que com uma lida no datasheet você conseguira implementar um gravadorzinho para essa memoria, veja ele abaixo: http://pdf1.alldatasheet.com/datasheet-pdf/view/235122/WINBOND/W25X80AL.html Espero que ajude, aguarde mais dicas ok/ Abs.

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!