PWM. coisa tosca.

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

PWM. coisa tosca.

Mensagempor fabim » 02 Out 2007 12:13

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
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor MOR_AL » 02 Out 2007 19:34

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
"Para o triunfo do mal só é preciso que os bons homens não façam nada." Edmund Burke.
"Nunca discutas com pessoas estúpidas. Elas irão te arrastar ao nível delas e vencê-lo por possuir mais experiência em ser ignorante". Mark Twain
Avatar do usuário
MOR_AL
Dword
 
Mensagens: 2934
Registrado em: 19 Out 2006 09:38
Localização: Mangaratiba - RJ

Mensagempor fabim » 03 Out 2007 08:31

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
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor kleder » 25 Out 2007 14:36

Porque voce não usa o PWM por hardware, por exemplo do pic16f628 ou pic16f873? É muito mais simples...

Falou.
kleder
Bit
 
Mensagens: 9
Registrado em: 18 Out 2007 15:00

Mensagempor andre_luis » 26 Out 2007 07:58

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.


+++
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Mensagempor guest2003 » 26 Out 2007 08:17

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
http://www.sethi.com.br (Institucional)
http://www.sethi3d.com.br (Impressoras 3d)
http://www.sethi.com.br/blog (Blog Impressoras 3d)
Avatar do usuário
guest2003
Word
 
Mensagens: 746
Registrado em: 13 Out 2006 11:48
Localização: Campinas - SP

Mensagempor andre_luis » 26 Out 2007 09:21

Essa jogada da interrupção por detecção de borda nos pinos me parece bem interessante. Economiza processamento.

+++
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ


Voltar para PIC

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

cron

x