×
Ir ao conteúdo
  • Cadastre-se

PIC Velocidade de um motor com PIC


Posts recomendados

Objetivo: Calcular e mostrar na interface a velocidade de um motor DC 

image.png.ab36a0c5fb49012c4cb943522558995d.png

 

Meu código feito no CCS C Compiler

 

#include <16F877A.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP
#device ADC = 10
#use delay(clock = 20M)
#include <lcd.c>

unsigned int16 i ;
unsigned int8 velocidade ;

void main(){
  setup_adc(ADC_CLOCK_DIV_32);           // Set ADC conversion time to 32Tosc
  setup_adc_ports(AN0);                  // Configure AN0 as analog
  set_adc_channel(0);                    // Select channel AN0
  setup_ccp1(CCP_PWM);                   // Configure CCP1 as a PWM
  setup_timer_2(T2_DIV_BY_16, 250, 1);   // Set PWM frequency to 500Hz
  delay_ms(100);                         // Wait 100ms
  lcd_init();
  
  while(TRUE){
    i = read_adc();                      // Read from AN0 and store in i
    set_pwm1_duty(i);                    // PWM1 duty cycle set
    printf(lcd_putc,"\fV = %u RPM",velocidade);
    delay_ms(10);                        // Wait 10ms
   }
}

 

Alguém poderia me auxiliar em como inserir os cálculos da velocidade do motor, sendo que a velocidade muda de acordo com o potenciômetro !

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Qual a velocidade máxima quando motor com tensão máxima? Se você me prometer que não vai interferir no torque - vai deixar ele rodar livre - acho que deixo você relacionar a velocidade com potência aplicada no motor. De fato com a largura de pulso ou ainda com a tensão no pot

Comece com:
 

while(true)
{
//...
velocidade=i;
//...
}

e veja a variação no display.

 

Pra medir a rotação de verdade é necessária uma realimentação com p.ex. um encoder ótico

 

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

@1hsouza1 ,

 

Existe na teoria como você fazer a "modelagem"  do motor, mas isso apenas se você conseguir todos os parâmetros requeridos para a modelagem, o que já lhe adianto que não vai conseguir. A tal  "equação matemática"  está aqui :

 

https://ctms.engin.umich.edu/CTMS/index.php?example=MotorSpeed&section=SystemModeling#:~:text=motor_ss %3D A %3D x1 x2 x1,model into state-space form.

 

Como pode ver, vai ter de gostar de fazer cálculos com matrizes de equações diferenciais, o que confesso já esqueci de como se faz fazem mais de 35 anos....

 

Caindo na real agora :

 

Tem de usar algum tipo de sensor para você medir a velocidade atual, e mexer no PWM para aumentar ou diminuir conforme a sua necessidade.

 

Algo que a @.if já havia lhe dito lá em cima ...

 

Paulo

Link para o comentário
Compartilhar em outros sites

  • 3 semanas depois...
Em 21/05/2022 às 13:59, 1hsouza1 disse:

@.if Não vou trabalhar com torque, o meu objetivo é apenas encontrar uma equação matemática que se aplique a nesse código.

Olá,

Uma maneira simples de fazer isso seria usar um sensor hall, ligado a uma entrada digital.

Seria necessário colocar um (ou mais) imã no eixo para atuar o sensor.

 

No software, você pode usar uma interrupção de timer para contar quantos pulsos são recebidos em um segundo, multiplicar esse valor por 60 e ter o rpm, esse método é pouco preciso.

Outro método seria medir o tempo entre 2 pulsos e fazer o cálculo, esse método é mais preciso, porém, um pouco mais difícil de fazer.

 

Att,

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Certa feita teorizei que o motor dc de escova provoca mini picos de corrente ao girar e passar de uma bobina para outra. Estes supostos micropulsos se condicionados poderiam ser usados como referência para controle da rotação. Ficou só no cheiro e nem senti o gosto... como nunca precisei disso, nunca medi nem nada...deixei só na teoria. Se você [caro leitor] se embrenhar por estas veredas, não te esqueças de me contar o resultado ok?

 

De prática, deixo mais uma tradicional historieta: na minha literal infância ligava motorzinho de carrinho em série com altofalante. Escutava um barulho de motor de carro (eram os ditos pulsos).. era móh legal. Certa feita liguei um potenciômetro em série pra simular a aceleração. Deu certo num 1º momento... No final [do curso- em duplo sentido] o pot enfumaçou... senti o cheiro e quase gosto 😁

  • Amei 1
  • Haha 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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

Como se tornar um desenvolvedor full-stack

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!