Ir ao conteúdo
  • Cadastre-se

Ponte H com PIC16F628A


Dosalpes

Posts recomendados

Olá pessoal !

Sou novato nessa área, estou com problemas e dúvidas para criar e programar. Estou tentando criar um circuito que usando 4 Transistores, consiga acionar um motor em dois sentidos diferentes através de uma ponte H. Sendo que cada sentido será acionado através de uma button.

Estou usando o PIC16F628A, circuito no Proteus ISIS e programação no MikroC PRO.

Criei um circuito mas imagino que tenha alguns erros e não estou conseguindo fazer a programação.

Imagem:

Link 1 - http://imageshack.us/f/193/imgcircuito.jpg/

Link 2 - http://img193.imageshack.us/img193/8362/imgcircuito.jpg

Vocês poderiam me ajudar com sugestões e soluções ? Qualquer ajuda é bem vinda!!

Se alguem puder me dizer o que teria que mudar no circuito, e me passar o código para o pic programado seria ótimo.

Obs: URGENTE !!

Agradeço a atenção de vocês ! Até breve...

Link para o comentário
Compartilhar em outros sites

Seu circuito não é adequado. Tem um tópico aqui no fórum explicando detalhadamente a construção de uma ponte H.

Já que você procura por algo urgente, aconselho que use uma ponte H pronta.

Qual a corrente demandada pelo seu motor?

De toda forma pode usar um CI chamado L293D que é uma ponte H dupla. Ela consegue entregar até 500mA por canal se não me engano.

Muito fácil de usar com 1 PIC.

Falou

Link para o comentário
Compartilhar em outros sites

Acostuma não:

Circuito:

Semttulo-10.png

Código:

#include <16F628A.h>
#FUSES NOWDT //No Watch Dog Timer
#FUSES XT //Crystal osc <= 4mhz
#FUSES PUT //Power Up Timer
#FUSES NOPROTECT //Code not protected from reading
#FUSES BROWNOUT //Reset when brownout detected
#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOCPD //No EE protection

#use delay(clock=4000000) // clock do PIC

#define B1 PIN_B0 //Definição dos BOTÕES
#define B2 PIN_B1

#define IN1 PIN_B4 //Pinos de controle do L293D, APENAS O CANAL 1
#define IN2 PIN_B5

void main()
{
while(true) //Rotina Principal
{
if (input(B1))
{
output_low (IN2);

output_high (IN1);
do
{
} while (input(B1));
}

if (input(B2))
{
output_low (IN1);

output_high (IN2);
do
{
} while (input(B2));
}
}
}

Falou

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!