Ola é todos, é possivel gerar pwm com 12f675, estou utilizando Assembly
Obrigado , deis de já
Moderadores: andre_luis, 51, guest2003, Renie
Mersin escreveu:Olá Alex,
É possível sim, é o PWM por software, o princípio é o mesmo, porêm bem mais pobre que o PWM de Hardware.
Quando eu faço PWM por software geralmente coloco um Timer para gerar interrupções em períodos de tempo pré-determinado para que seja capaz de controlar o controle de DuTTy.
Tenha sempre em mente que TODO recurso a desenvolvermos em mC não necessariamente deve ser o "tão bom possível" e sim, basta ser o "tão bom o bastante" para nossa aplicação.
Por exemplo, no PWM de hardware vc tem 1023 níveis de dutty cada um com 1us (com clock de 4MHz) o que é muito bom mesmo para a maioria das aplicações, mas por exemplo, certas aplicações de controle de brilho em LEDs, um PWM de software que possa controlar 10 níveis de dutty para o brilho de um LED já tá muito bom também (já engana nosso olho), daí vc deve saber o quanto seu recurso deverá ser "bom o suficiente" para tornar possível sua aplicação, que no caso desse exemplo de 10 níveis de brilho para o LED, basta fazer o seguinte:
1) Para enganar bem nosso olho, bastariam uma multiplexação On/Off do LED a 60Hz, ou seja, se o LED piscar 60 vezes por segundo, para nós ele já estaria como que aceso direto.
2) Como queremos ter 10 níveis de brilho, basta multiplicarmos 10 x 60 = 600 vezes por segundo.
3) Para tal, devemos controlar o PWM apenas 10 níveis de dutty num ciclo total de 1/600 = 1,66ms, para tal, programe qualquer Timer para te dar uma frequencia assim ou um pouquinho melhor que esta (caso isso facilite o Setup do Timer) e faça um algorítimo para controle do Dutty e já tá excelente! Funciona bem mesmo.
Espero ter ajudado.
Inté!
Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante