Página 1 de 1

PWM. coisa tosca.

MensagemEnviado: 02 Out 2007 12:13
por fabim
pessoalico... estava aqui com meus amigos TICO e TÉCO.. e os dois estão noiados...rsrs

Seguinte..

o Algoritmo.

1 Pino de entrada, para medir tempo de pulso que pode variar de 1 a 2ms.

1 pino de saida gerando PWM por sftw...

Para o maledito pino de entrada, posso usar o TIMER 1 pra contar tempo, porem isso paralelo com o PWM via sftw, usando outro timer..

alguem ja fez algo paricidanho, ou tem alguma dica POG pra me dar ?

A aplicação.
Controle de velocidade brusheless, 3,4 polos, ou pra Speedy control de motor DC.

Andei olhando alguns algoritmos em assembly, na net, porem falta alguma coisa que não consigo enchergar o que é.


abraços

fabim

MensagemEnviado: 02 Out 2007 19:34
por MOR_AL
Olá Fabim. Tudo bem?

Este pulso de entrada de 1 a 2ms iria controlar o PWM?

Este sinal é obtido via controle remoto (Rádio, fio longo, IR, etc), ou pode ser controlado por um operador, no local onde se encontra o microcontrolador?
Caso local, você poderia dispor de mais um pino de entrada?
Caso afirmativo, use uma chave com um polo e tres posições. De preferência aquelas que possuem retorno para a posição central.
Na posição 1 (um dos extremos) reduziria o Ton do PWM.
Na posição 2 (central) não alteraria o Ton.
Na posição 3 (outro extremo) aumentaria o Ton.

Há uma outra opção com o controle local. Um 555 em configuração astável e um potenciômetro.

Será que isso resolveria?

MOR_AL

MensagemEnviado: 03 Out 2007 08:31
por fabim
imporcamente não.

depois de muito tempo, meu sonho era comprar algumas coisas pra aeromodelo. ja fiz o mixer uc e algumas outras coisinhas.

O que esta faltando, é o maledito ESC, ou speedy control por PWM.

funciona +/- assim a bagaça.

Pulsos de entrada entre 1...2mS ponto central de 1,5mS. Repeticão entre pulsos de +/- 16mS...

Funca assim.

De 1 a 1,5mS é rotação reversa sendo.
que de 1,5 para 1mS eu aumento a velocidade usando o pwm.

de 1,5 a 2 ms é rotação horária sendo.
que de 1,5 para 2mS eu aumento a velocidade usando o pwm.


essa tecnica pode ser usada pra brusheles, motor dc, etc.

minha dúvida é o seguinte.
Suponha que eu estou rodando o pwm á 2khz. em SFTW...

quando chegar o pulso que varia de 1 a 2ms.. eu poderia sair da rotina pwm medir o pulso e voltar novamente de onde parei.
só que nisso eu iria ficar dando socos no motor, ou seja enquanto eu estiver medindo o pulso o pwm teria uma zona de silêncio, o que eu não quero que aconteça.

Abraços

Fabim

MensagemEnviado: 25 Out 2007 14:36
por kleder
Porque voce não usa o PWM por hardware, por exemplo do pic16f628 ou pic16f873? É muito mais simples...

Falou.

MensagemEnviado: 26 Out 2007 07:58
por andre_luis
fabim,

Se voce realmente nao pretende usar o PWM por HW, aqui vai uma dica :

Usa o próprio TIMER para gerar pulsos. A cada interrupcao do Timer, voce realiza um ´toogle´ na saida. Isso nao é um PWM, mas pode ser que funcione.

Se isso for usado apenas para ajustar a velocidade, com certeza vai funcionar bem; agora, se a velocidade tiver que começar do zero, aí pode ser que o motor tenha alguma trepidacao em baixa velocidade.


+++

MensagemEnviado: 26 Out 2007 08:17
por guest2003
Bota o timer1 bimbando com os duty (hora Ton hora Toff)... e com ele vc faz o PWM...

Bota o timer0... pra pegar os pulsos... (escolhe um prescaler pra dar tipo 0-255 = 0-2.55ms por exemplo...

Liga a entrada do pulso numa INT... seta a INT para borda de subida...

Chegou INT subida / zera o timer0 / seta a INT pra borda de descida e vai embora

Chegou INT descida / pega o valor do timer / calcula o pulso / seta a INT pra borda de subida e vai embora...

é por ai...

[]'s

MensagemEnviado: 26 Out 2007 09:21
por andre_luis
Essa jogada da interrupção por detecção de borda nos pinos me parece bem interessante. Economiza processamento.

+++