Ir ao conteúdo
  • Cadastre-se

Marsil

Membro Júnior
  • Posts

    8
  • Cadastrado em

  • Última visita

Reputação

1
  1. Tem um erro nos dois últimos "IFs" e "WHILEs": "if (botao_inverte =1)" isso é sempre verdadeiro, tem que ser: "if (botao_inverte == 1)" note os dois sinais de igual o mesmo pro while "while(botao_inverte =1)" tem que ser: "while(botao_inverte == 1)" e o mesmo para o if e para o while do botao_stop. Mas ainda assim não vai funcionar porque "botao_inverte" e "botao_stop" não estão declarados e não estão ligados a nenhuma porta do micro. Você tem que fazer algo do tipo: "botao_inverte = portb.f0;" e aí prosseguir com o código. O ideal é junto com o "while( botao_qualquerumdosdois )" colocar um delay para fazer o "debouncing" do botão (esse termo é importante, dê uma procurada no google).
  2. Eu testei os dois modos: PWM nas entradas (IN1 ou IN2) e a outra em GND e também o PWM no ENA e as entradas em 5V ou GND. As duas funcionam normalmente, a princípio sem perda no desempenho do motor (não medi a velocidade nem torque mas a olho nu não houve modificações). Então acho que as duas maneiras são válidas, só tem que ver se realmente não há modificações grandes, já que a meu ver quando usando o PWM nas entradas haveria momentos em que o L298 funcionaria como freio e então mudaria o desempenho do motor, o que não ocorreria usando o PWM no enable. Mas como já disse, testando não vi diferença nos dois modos.
  3. Mas e então funciona ou não colocar uma entrada no PWM e a outra no GND? Acho que dessa forma o melhor seria colocar o PWM no enable então e só alternar as entradas para controlar o lado.

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