Ir ao conteúdo

aphawk

Membro Pleno
  • Posts

    8.316
  • Cadastrado em

  • Última visita

Tudo que aphawk postou

  1. Lembre-se : o hardware do Timer 0 ( contador de 8 bits ) ou do Timer1 ( contador de 16 bits ) podem fazer a contagem para você ... sugiro usar o do Timer1 que pode contar até 65535 e fica mais simples. Basta aplicar a saída do Opto à entrada T0 ou T1, dependendo de qual Timer for utilizar. Eu ligaria em T1 pois usaria o Timer1 como contador. Use o Timer0 para fazer a sua base de tempo. No Arduino usando Prescaler de 256 você consegue obter uma base precisa de 2 ou de 4 milisegundos. Supondo que você use 4 milisegundos e use a amostragem de 0,2 segundos : Implemente um contador dentro de sua interrupção do Timer0 , e a cada interrupção incremente ele e teste o valor. Quando essa contagem chegar a 50 ( 50 x 4 = 200 milisegundos ), leia o conteúdo do contador do Timer1 e guarde numa variável para ser usada no programa principal. A seguir, sinalize por um flag ao programa principal que a variável com a contagem do Timer1 já pode ser usada, zere o contador do Timer1, e zere o seu contador de interrupções, e saia da interrupção. O seu programa principal simplesmente fica esperando o flag ser acionado; quando o flag estiver acionado, desative esse flag, leia a variável com a contagem dos pulsos e faça a sua matemática para converter em frequência; mostre no display, e faça o que tem de fazer com os Leds e o relé. Após, isso, volte a esperar o flag para fazer tudo de novo. É bem simples.... mas não sei como fazer isso nessa linguagem... Paulo
  2. @Rogério Latterza , Um transistor tem um ganho que pode variar em uma ampla faixa de valores. Por exemplo, comprei recentemente 5 transistores Bc548 e medí os ganhos deles, houve uma variação de mais de 100% entre o menor e o maior ganho. Esse seu circuito é totalmente dependente do ganho do transistor que está ligado no Trimoot, então precisa mesmo ser ajustado na prática, e a seguir retirar o potenciometro do circuito sem mexer na posição dele, e medir as resistências entre o central e as pontas, e substituir por resistores que se aproximam mais do valor, de preferência usar resistores de 1% de tolerância que irão permitir chegar bem perto de sua medida. Paulo
  3. @ComandateGustavo , Um relé comum demora entre 10 e 50 milissegundos para acionar.... não vejo muito sentido em trocar por um transistor de potência. Quanto a diminuir o tempo de contagem, isso é fundamental para ter uma resposta mais rápida, mas como você mesmo já percebeu, torna a contagem cada vez mais susceptível a erros causados pelo funcionamento do programa. Por exemplo, se você usar uma nova base de tempo de contagem de 100 milésimos de segundo, uma simples escrita no display LCD vai consumir cerca de 20 mseg... e dependendo de como seu programa funciona, pode causar um erro de 20% de sua medida ... Via de regra, cada vez que os tempos envolvidos ficam mais críticos, mais fundamental é o uso das interrupções e contagens por hardware. Paulo
  4. aí a medição de frequência funciona normalmente sem problema nenhum e o potênciometro também, será que o código está errado @Thiago Miotto ? Ou será que esse problema está sendo causado pelo que o @.if e o @aphawk disseram anteriormente, pode ser limitação ou alguma coisa causada pelo uso de bibliotecas do arduino? Bom, vou dar uma dica ... essas duas instruções demoram entre 20 e 25 milisegundos para serem feitas ( medí o tempo do Bascom para fazer a mesma coisa ) ..... já devem dar uma boa diferença no seu próximo comando que pega a temporização em milisegundos . Nesse caso a biblioteca não tem nada a ver com o problema..... é a maneira que seu programa está funcionando, ele não aceita essa "demora" extra causada pelo uso do display .... É o problema de não se usar uma verdadeira base de tempo via interrupt de hardware .... ou uma contagem de pulsos precisa idealmente também feita por hardware. Deixar tudo para o software ... teria de reescrever o jeitão de seu programa, enquanto os pulsos sejam contados por exatos 500 mseg nada pode ser feito, quando você terminar esse tempo e tiver o resultado da contagem dos pulsos aí sim você pode apresentar no display e fazer as suas outras funções. Paulo
  5. Nem sabia que tinha isso de macrogenius kkk fazem dezenas de anos o que eu conhecia como escola era Microgenius .... A escola te ensina o básico. Mais nada ... a engenhosidade tem de ser sua mesmo, e você precisa treinar bastante, isso não vem de uma hora para outra, tem de ralar mesmo, meu jovem amigo.... Existe muita coisa pronta na Internet, eu também sugiro você fazer uma pesquisa, pegar os fontes e ver como os outros fizeram, aí com certeza você vai "abrir" o seu leque de opções de programação ! Paulo
  6. @MOR , Fazem muitos anos, eu tive esse mesmo problema com um circuito bem básico : aquele multivibrador de dois transistores, que o pessoal brinca de pisca-pisca .... não simulava no Proteus. Como eu tenho ele oficial, eu entrei no Fórum do Proteus, e lá encontrei uma dica para esses circuitos : mudar a condição inicial de um capacitor envolvido no funcionamento, por exemplo especificar que um esteja carregado e o outro não. Não me lembro de como fiz, mas oscilou na hora sem nenhum erro.... Procurou no Fórum oficial do Proteus ? Paulo
  7. Infelizmente existem variações da linguagem C, e vários compiladores diferentes. Nem todos dominam a linguagem em questão, então realmente tem de esperar um pouco até alguém poder responder. Eu, por exemplo, domino Asm e Basic, nem sei do que vcs estão falando neste tópico .... Como sugestão, muitos dos que estão aqui para ajudar são ( ou foram ) profissionais, e todos preferem ver o programa em linhas, formatado, do que em uma imagem. E se vier acompanhado de um hardware onde o programa roda, especificando qual o microcontrolador, clock, essas coisas, ajuda muito a gente. Da maneira que foi postado, sem informar nada, e apenas uma foto, parece aquelas questões teóricas de sala de aula, e não uma questão sobre prática real. De qualquer maneira, concordo com você em uma coisa : desde que retiraram este Fórum de dentro do Fórum de Eletrônica, como sempre foi durante mais de 10 anos, a turma tem muito mais dificuldade de encontrar esta área ..... e o movimento caiu bastante. Não dá para dizer que um Fórum sobre Microcontroladores não pertence à área de Eletrônica...... enfim como tudo na vida existem as pessoas que fazem as regras, e as pessoas que obedecem.... Paulo
  8. @Maria Cristina Oliveira , A minha pergunta da tensão foi justamente para responder a sua dúvida do resistor de 10K ... BC558 - Existe o A, B e o C ... ganhos máximos podem variar muito dependendo do modelo. A corrente de base com esse resistor de 10K é de cerca de 430 uA ... 3 vezes mais do que o mínimo necessário para saturar com corrente de coletor de ceca de 30 mA ... então deve estar saturado com tensão VCE abaixo de 0.4V . Paulo
  9. @Maria Cristina Oliveira , Por curiosidade, você alimentou esse circuito com o relé com quantos volts ? Paulo
  10. Perfeito, @Renato.88 ! É exatamente isso que você escreveu ! Paulo
  11. @.if , Ainda falta mostrar o conector da fonte Atx : content://com.android.chrome.FileProvider/images/screenshot/1619018035688269611702.jpg E Ainda falta como fazer a fonte ATX ligar .... o tal de Power Good ( nos tempos que surgiu a fonte ATX o nome era esse... ) sem essa gambiarra a fonte não liga ! Paulo
  12. @lotus123 , Eu relí o tópico , mas não achei nada que indique "achismo" ou "Não saber do que está falando" ... talvez você possa ser mais claro e elucidar a todos que postaram aqui, como eu .... O mais gozado é que você fala a mesma coisa, que existe 5V numa fonte ATX, mas também não mostra a ligação do conector de uma fonte ATX, e nem mesmo o truque do sinal Power Good que será necessário para que a fonte ligue. Na verdade esse seu post não ajudou ao tópico justamente por ter "chovido no molhado". Eu não acho correto sugerir a um iniciante com pouca experiência usar uma fonte ATX que tem vários conectores justamente pela dificuldade de identificação dos sinais envolvidos no conector principal, o que pode ser ligado errado e danificar o RPI . Semana passada fui na Santa Ifigênia e comprei entre outras coisas uma fonte de 12V por 1A dessas de parede, mais um adaptador do terminal da fonte que permite ligar dois fios nela simplesmente apertando os parafusos, e gastei menos de R$ 20,00 nisso. Na verdade já comprei esse mesmo conjunto umas 4 vezes com esta. Pense sobre isto : o adaptador já vem com os dois pinos identificados com os sinais "+" e "-" , qual a chance de um novato errar ? Muito, mas muito menor do que a de errar a ligação no conector ATX, fora o gasto de comprar o conector ATX macho com terminais de solda ... Ainda é a minha sugestão para o caso em questão, e acredite, não é por "achismo" nem por "desconhecimento" , mas sim por experiência em tratar com iniciantes. Para encerrar, reflita sobre isto: A solução técnica muitas vezes é simples para um técnico ou um montador experiente, mas não é a mais adequada e segura para quem ainda está iniciando na área. Se aqueles que a dominam estão refutando em apresentar no Fórum, devem ter as suas razões. Paulo
  13. Olha, você nem imagina o quanto ver você escrever isso faz bem para a gente que labutou anos aqui no CDH ! Eu diria que nós, que somos bem mais velhos e temos a experiência acumulada por mais de 30 anos na área, sabemos como "acender o fogo" , mas todo fogo precisa de combustível , que é justamente a vontade de aprender, de saber mais, de poder fazer os seus próprios projetos sem depender dos outros ! O mérito neste caso é seu, que podemos ver o seu aprendizado já faz algum tempo, e você continua querendo aprender cada vez mais. Parabéns ! Paulo
  14. @leonardoso , Fazem 5 anos desse ultimo post ... o @leonardoso não frequenta mais o CDH desde 2016 ... Paulo
  15. Estou curioso para ver se o ruído da ignição consegue passar pelo opto.... Sobre o relé.... a porta que vai acionar o transistor que por sua vez vai acionar a bobina do relé não vai correr nenhum risco. Mas a fonte que alimenta o relé... o ruído induzido pelo acionamento do relé pode sim se propagar pela fonte podendo inclusive travar o Atmega; esse mesmo ruído pode se acoplar capacitivamente a outros circuitos que estejam perto e pode atrapalhar outras entradas, principalmente aquelas que sejam de alta impedância. Uma dica: Se puder colocar o relé longe, faça isso.... Paulo
  16. @ComandateGustavo , Se vai usar um relé, não se esqueça do famoso diodo 1n4001 em paralelo com a bobina para eliminar os transtransientes ou seu circuito vai ficar doidão kkkkk Paulo
  17. @.if , Eu me lembro da primeira placa-mãe Pentium que eu montei, era um Pentium 75 Mhz que levava um pau violento do 486 dx4-120 Mhz .... A decepção foi enorme... imagina sem o cache externo deveria ser mais lento que um 286 .... @rmlazzari58 , O Stacker 2.0 era muito bom, eu também instalei ele em vários micros, até chegar o Dos 6.0, o qual logo eu também substitui pelo DR. DOS 6.0 que era bem mais completo. Olha, o Bill Gates era um cara esperto demais, ele merecia ter o nome Gérson também .... mas naquela época de Secretaria Especial de Informática ( SEI ) e a tão aplaudida Reserva de Mercado para os fabricantes nacionais, tinha muita coisa errada e um monte de Gersons ... Eu corrí risco de vida por muitos anos, não podia revelar o que eu descobri em 1986 pois o meu nome, o da minha equipe e o da diretoria da empresa em que trabalhava ficou "anotado", com a ordem bem clara : nada seria divulgado ou haveriam represálias para todos, e a empresa, mesmo sendo Multinacional, obedeceu direitinho para não perder os seus principais clientes ( Petrobras e Eletrobrás ), e desde aquela época os Gersons se multiplicaram .... hoje eu já posso falar disso sem temores. Eu gostava dos programas do Peter Norton, os utilitários eram fantásticos, e o Anti-vírus funcionava muito bem, até a Microsoft "comprar" a tecnologia e embutir nos Windows mais modernos ( e que não funcionam nem de longe igual ao Norton Antivírus) . Alguns chamam isso de Progresso, eu já vejo como "eliminação de concorrentes" ... Paulo
  18. @.if , Não lembrei porque isso não era opcional kkkkk isso de cache L2 externo nunca havia existido... foi introduzido apenas nos primeiros processadores Pentium porque o bicho ficou grande demais e não cabia o cache L2 dentro kkkk. e essa memória cache fazia parte da motherboard, o que havia de opcional era apenas o tamanho dela quando da compra da motherboard ! Nunca vi e nem comprei uma motherboard para esses Pentiuns que não tivesse o cache já instalado... Nem imaginei que havia algum esperto que vendia a motherboard sem esse cache e depois oferecia o cache como "opcional" kkkkk mas como o mundo inteiro diz, aqui é a terra de Gérson né , "o negócio é levar vantagem em tudo, cerrrrrrto ! De qualquer maneira isso de cache em chips externos só acontecia com os primeiros modelos de Pentium de baixa velocidade, logo surgiram os modelos MMX que já tinham o cache e novas instruções embutidos. Sobre o Driverspace .... a verdade está lá fora : Stacker Que saudades desse tempo ... Paulo
  19. Essas são algumas das limitações da IDE do Arduino, mas tenho certeza que se você pesquisar vai achar uma library que implementa uma função de delay usando um dos Timers do Arduino, e nesse caso pode-se considerar que é um delay preciso feito por hardware. Paulo
  20. Não me lembro de algum PC ter tido memória cache opcional, o que havia e e eu vendí bastante na época dos 286 E 386 era o coprocessador matemático 8087, 80287 e 80387, o pessoal que usava aquelas planilhas enormes comprava sem pestanejar... Sobre a compactação do seu HD em tempo real : Uma empresa americana criou essa tecnologia por hardware, você comprava essa placa e instalava em seu PC, chamava -se Stacker, eu tinha essa placa em meu micro, e funcionava muito bem, era um tipo de coprocessador dedicado em compactação / descompactação. A Microsoft comprou a empresa e pegou a tecnologia, e acabou usando o próprio processador existente para fazer isso sem hardware nenhum, bastava simplesmente um drive no Config.sys e pronto. Mesmo nos 486 dx-2 e 386-40 Mhz que eram os tops naquela época o desempenho do software chegava perto da metade do desempenho da placa original da Stacker. Nessa mesma época eu usava o gerenciador de memória Quarterdeck, que também foi comprado pela Microsoft e tornou-Se fundamental como software integrante do Windows 95 em diante. Haviam muitos drivers que eram carregados no Config.sys, e usavam um monte de memória convencional ( aquela abaixo dos 640K originais usados pelos PÇs XT ) e comprometiam o funcionamento de alguns programas; o Quarterdeck permitia usar a memória estendida ( aquela acima dos 640K e abaixo dos 1 Mb ) para carregar todos os drivers nelas e assim liberava quase todo os 640K para nossos programas . Saudades desse tempo... mas a parte ruim é que a Microsoft tornava a vida dessas pequenas empresas um inferno, sempre processado elas por quebra de alguma patente deles, e no final acabavam vendendo a empresa para eles.... Paulo
  21. @ComandateGustavo , Sim, lembre que essa função Pulsein() só mede o tempo em que o sinal está em nível alto. Não sei se ela usa hardware para isso ou é feita por software com alguma base de tempo em delay .... Em vez de usar o Pulsein(), você pode usar a Int0 programada para interromper na subida, e pegar o valor da base de tempo.. Programa um dos Timers para gerar uma base de tempo , por exemplo 50 microssegundos, numa variável tipo Word ( 16 bits) para que o incremento seja rápido. Assim, basta calcular o intervalo de tempo entre duas interrupções , e terá o período completo . Não se esqueça de levar em consideração que a contagem vira para 0 após 65535; se o tempo da segunda interrupção for menor do que o da primeira, por exemplo temos 65500 na primeira e 15 na segunda, você tem de fazer a conta 65536 - 65500 = 36 mais 15 = 51 x 50 microssegundos = 0,00255 segundos, e 1 / 0,00255 = 392 Hertz. Paulo
  22. Com certeza é falso. Quando começaram a surgir os Pen-Drives, algum falsário esperto implementou um sistema de compressão de dados em temp real, tipo um ZIP, dentro do chip controlador de memória do pendrive. E claro, alterou a tabela de arquivos para mostrar um tamanho bem maior do que o real. A velocidade do Pen-drive caia bastante também por causa da necessidade de compactar/descompactar os dados em tempo real. Cansei de ver esses pen-drives falsificados serem vendidos na região da Santa Efigenia, vinham bem embalados como se fossem mesmo originais... Provavelmente ressuscitaram essa ideia novamente... Um teste simples : pegue alguns arquivos e crie um arquivo .ZIP de pelo menos um Gb de tamanho. Veja qual é o espaço livre que o pen-drive diz que tem, e anote. Faça a cópia desse arquivo .zip para o pen-drive, e veja o novo espaço vazio que ele reporta após a cópia. A diferença tem de ser o tamanho do arquivo .ZIP. Se for maior, por exemplo o dobro, pode apostar que é falsificado. Paulo
  23. @ComandateGustavo , Sem a multiplicação por 5 a margem de erro é de 1 Hertz. Portanto, mesmo com a multiplicação , teria um erro máximo de 5 Hz. Mas seus resultados mostraram um erro de 20 Hz. Deve ter mais alguma coisa acontecendo. Paulo
  24. @ComandateGustavo , Vou postar aqui um link do meu tutorial, eu escrevi bastante coisa para ilustrar o funcionamento do meu instrumento universal como frequencímetro. Embora eu tenha usado um Atmega1284, a teoria é exatamente a mesma para o Atmega328. Espero que se divirta ! https://www.clubedohardware.com.br/forums/topic/937085-projetos-com-avr-design-programação-em-basic-e-assembly/?do=findComment&comment=6213984 Paulo
  25. @eletron1791 , É mais fácil você implementar um pisca pisca com a IDE do Arduino, usando a funcao delay() ... por exemplo 1 segundo aceso e um segundo apagado. Grave o programa e meça o tempo real que o Led fica aceso. Se em vez de 1 segundo ficar 2, o clock é de 8 Mhz. Paulo

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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!