Ir ao conteúdo
  • Cadastre-se

Acionando Motor de Passo com uma única porta do PIC


Posts recomendados

Boa tarde Pessoal.

 

Sou amador e novato em eletrônica e estou desenvolvendo um projeto de TCC em um PIC 16F876A onde preciso acionar um motor de passo. (QUASE ARREPENDIDO, haha) 

 

Comprei o motor da figura abaixo, já com o circuito de potência utilizando o ULN2003

 

motor-de-passo-5v-com-modulo-de-controle

 

Acontece que preciso acionar o motor numa única direção (como se fosse um motor CC) somente com um pino do PIC.

 

Estou tendo dificuldades em encontrar um circuito nessa configuração. Eu terei de usar um 555?

Seria interessante também, se eu tivesse um potenciômetro onde eu controlo a velocidade do motor (não é crucial)

 

Qualquer resposta ou ideia será de grande ajuda!!

Obrigado desde já!

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

com 1 pino até que dá mas você vai ter que lançar mão de um hc595 p.ex., filtros pra diferenciar dado, clock e strobe dele e o trem vai ficar muito complexo (não querendo subestimar sua capacidade). Bom algum bom amigo pode lhe sugerir algum chip dedicado. Não me vem nenhum a mente nesta sexta-super.

Certeza que não tem 4 pinos sobrando? 3 pro hc595? 2 então pra um i2c i/o expander? (aff é de comer? rs). Se só tiver meesssmmmo só um pino disponível talvez seria interessante comunicar com outro mc p.ex  pic10F e fazê-lo acionar o motor. Mas aí entorna o caldo mesmo.

Quanto a fazer rodar, basta alguns cliques e você vai achar um tabela pra acionamento do bixo. e ele pode até rodar a meio passo pra dar mais torque sabia?

Veja isso que legal!!

http://www.rogercom.com/pparalela/IntroMotorPasso.htm

 

ahh. olhando a 1ª tabela percebo que um 4017 (contador) pode servir. Afinal vai girar de 1 lado só. Aí é só 1 pino de clock fornecido pelo mc. Ou se o mc não for controlar a velocidade e tal, o seu 555 pode fazê-lo com o pot.

Mas sou + controle total via mc mesmo.

 

bfds!

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

 Ola novamente @Isadora Ferraz,

 

Remanejei os pinos e o máximo que consegui foram 3 pinos (A3, A4 e A5).

Quais desses dois esquemas é o melhor? com 2 ou 3 pinos?

nunca mexi com esses circuitos/esquemas. Você pode me ajudar?

Só preciso que ele gire para um lado mesmo. Algum desses esquemas eu consigo controlar a velocidade com um potenciômetro ou pela programação?

 

Obrigado e bom final de semana

Link para o comentário
Compartilhar em outros sites

amigo  gostaria de dar uma sugestão  o motor  de passo o mínimo que  pede é  4  fios e +um  positivo   ou o contrario  então   coloque  uma   ponte H   com apenas  2 fios é possível controlar   a direção  do seu motor se ele for  DC ficando  apenas sem controle a velocidade mas como  tem  uma barreira  que é a quantidade de fios

vejamos ---> primeiro  você deve  identificar  qual  motor é o seu  se ele for  3 fios ou 5 independente de quantidade de saídas que você tenha disponível ok estando identificado     não a escolha opção 1 --> sugiro  que procure  controle de motor 3 fase sendo  que  os motores 3 fases  de indução exige uma  lógica bastante complexa por ser uma espécie de  mine inversor  de frequencia  o qual  leva  6 IGBTS "transistores" o qual são responsável por "driviar"  o motor  lembrando que  a lógica  vem  do ci "pic" mas  somente  traves destes  transistores é possível controlar motor ok 

obs: é preciso  ter um conhecimento extra  em programação portanto se for 3 fios e   realmente  quiser  prosseguir boa sorte ! ,  não deixe  de postar aqui   os comandos  de controle  via  soft  pois  tenho vontade de  montar um  também e será de  imensa utilidade para o fórum um inversor

opção 2 -->agora  veja  bem se  o motor  for 5 fios pesquise mas e veja  no site que foi indicado por Isadora , roger.com

postei aqui uma solução  simples para  um motor  de passo so pra tentar ilustrar mais ou menos  como seria  um circuito  de motor de passo sendo controlado com menos fios    mas não testei ainda este circuito portanto deve montar  em simuladores  ou se quiser ariscar  monte em um proto borde  e nos responda se funciona  boa sorte!

post-650643-0-55606600-1414329080.gif

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Com 3 dá pra usar um hc595 mas como é iniciante acho que não vai facilitar as coisas p você. Mas se insistir, dá uma olhada no seu datasheet, entenda, me prove que entendeu, e retornaremos com as dicas. Ah e programe em C. e nada de ccs. Aff forcei demais acho . rs. A propósito, deu uma olhadela naquele link rogecom? assimilou algo?

Com o circuito do amigo @circuit você precisa apenas de 1 pulso de clock que pode vir do mc um 555 p.ex. Mas como vai girar de 1 lado só, porque não usa um motor dc? Com o pwm do mc você controla sua  velocidade de boa. Ah você já comprou o treco. Devia ter perguntado antes né! Se não for questão de segurança nacional, descreva ou publique o projeto todo. De repente dá pra liberar mais um pininho só. você pode não estar vendo algo que pode ser minimizado.

Link para o comentário
Compartilhar em outros sites

Boa Tarde @Isadora Ferraz.

 

Segue uma foto do meu projeto.

 

OS pinos sobrando são: C7 B7 (motor e sensor, respectivamente) A3 (Buzzer) Os que realmente estão sobrando são: A4 e A5

 

Não sei mandar fotos por aqui (podem me ensinar?)

 

Eu quero que ele trabalhe exatamente igual á um motor DC. Não posso usar um motor DC, pois quando corto a energia do motor, por inércia, ele continua girando e passa do ponto onde deveria estar. Já fiz de tudo para tentar achar um "freio para motores DC" e não consegui. A Solução que me apontaram foi usar um motor de passo.

 

Eu queria alguma coisa mais simples, um amigo me informou que eu posso fazer um circuito a parte com um contador 555 ligado no motor de passo (o que eu comprei já vem com a parte de potência implantada). Quando eu jogar valor alto no determinado pino do PIC, ele alimenta o CI e gira o motor, quando eu colocar nível baixo, ele desligaria o circuito e consequentemente o motor. Vocês que tem mais experiência, isso é possível??

 

Novamente agradeço qualquer ajuda. Estou estourando os prazos do meu tcc. hehe ;)

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Pinos a+:

Se tiver usando display lcd 16x2 p.ex. pode aciobar com 4 bits usando apenas 6 pinos sabia? Haja bola de cristal! Mais detalhes do projeto por gentileza...

 

Motor dc:

A não ser que esteja em altíssima rotação, pra frear o motor dc você pode dar um curto nele p.ex. com um transistor em paralelo. Há claro uma inércia mínima. você há de mensurar se compromete seu sistema.

 

De passo:
só o 555 não dá. Mas o clock dele aplicado ao circuito acima sim. Aì você usa o pino 4 do 555 como liga/desliga 1 nele=liga. Mais detalhes e comentarios do projeto podem ajudar a te ajudar.

 

Foto:

clique em "mais opções" "selecionar arquivo" "anexar este arquivo". Use fotos de boa qualidade porém não em alta resolução. Se quiser/puder faça uma descrição do seu projeto. Quem tá de fora ve mais jogo. Igual sapo em jogo de dama. Quanto ao seu prazo... olha minha cara de preocupação! rs.
 

Link para o comentário
Compartilhar em outros sites

Boa Tarde, desculpe

 

Estou Fazendo um contador automático para bolas de Paintball

 

Os componentes são: 3 Displays de 7 segmentos, 12 chaves Tácteis, um sensor fotodiodo (receptor e emissor) e um motor.

 

post-625222-0-23730700-1414523106_thumb.

 

Os números serão digitados no teclado, aparecerão no Display e assim que o usuário apertar OK, o motor começara a girar, transportando as bolinhas pela roda com as furações. Quando uma bolinha passa pelo foto diodo, interrompendo o feixe, o contador decrementa uma unidade, até zerar a contagem. Quando a contagem chega a zero, o motor para e o teclado é liberado novamente para receber uma nova entrada. As entradas podem ser de: 1 até 999. O Teclado possui também um botão "Cancelar" caso o usuário erre na digitação das teclas.

 

Eu não preciso de uma precisaão muitooo grande, mas como vocês podem ver nas imagem, o eixo do motor vai ligado diretamente no centro da roda. Quando eu usava um motor DC e a contagem chegava a zero, a inércia levava o motor a girar um pouco mais, contando algumas bolinhas a mais do que o digitado pelo usuário.

 

post-625222-0-15891900-1414523169_thumb.

 

post-625222-0-35427500-1414523183_thumb.

 

post-625222-0-35427500-1414523183_thumb.

O Motor de Passo que tenho é de 5 fios, eu não quero controlar a posição ou inverter a rotacao do motor. Gostaria apenas de faze-lo girar para 1 dos lados e controlar sua velocidade (Somente na fase de testes, para eu coloca-lo em sua maxima velocidade de contagem sem quebrar as bolinhas).

 

Espero que eu tenha explicado melhor agora, desculpe-me os transtornos e Obrigado novamente

 

 

post-625222-0-32048200-1414523206_thumb.

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

você poderia usar a varredura dos displays como 3 "linhas" do teclado e economizar + 3 pinos (2). Mas como já montou o trem...

Baseando no que você disse, falando em teclado, poderia ser só 3 teclas. Sobe, desce, enter e um algoritimo de contar rápido se mantido pressionado. Mais economia ainda. A não ser que tenha omitido outras funções das teclas.

Não é impossível mas como usa interrupçao-varredura pros displays, tornaria menos fácil a tarefa de acionar o motor de passo com 4 pinos do mc. Não sei se estaria 'preparado' pra isso.

Faça um teste com motor dc: ligue o contato nf em paralelo com ele de modo que quando desligar dá curto. p.ex. n.f. no gnd, n.a. no +12 comum no motor. você pode usar motor com motorredutor. sei lá. Ou senão considere aquele circuito lógico

Defina sua direção e conte comigo: 1...2..3...4.... rs

Bacana sua montagem. Dissipador no regulador hein...

Link para o comentário
Compartilhar em outros sites

Boa noite amigos @Isadora Ferraz e  @circuit

 

Eu realmente poderia ter feito como você disse com o teclado. Poderia ter feito somente 3 teclas. (Amador :( )

 

Seria realmente muito mais fácil com um motor DC, mas já tentei frear ele de todo o jeito.

Desculpe @Isadora Ferraz não entendi seu esquema para dar curto no motor, você poderia explicar melhor (ou desenhar? Please :P ) ? 

 

Montei esse circuito para o motor de passo, (no simulador funcionou) você poderia me dizer se está certo? Amanha vou montar na protoboard para ver se funciona.

 

post-625222-0-18343500-1414634741_thumb.

 

Teoricamente eu só preciso conectar o pino de saida do PIC no RESET (Pino 4) do 555, certo? Eu não posso deixar o pino 4 flutuando enquanto nao mando o comando ALTO (no simulador ele fica girando o motor), preciso colocar um resistor de Pull-down também. Entendi corretamente? Você acredita que o pino direto do PIC já acionaria o CI555 ou eu deveria fazer a ligação através de um transistor?

 

Muitoooooooooooo Obrigadooooooo novamente!! Vocês aqui do fórum são 10!!!

Ótima quinta feira!

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Em cima esquema ex. com relé. Tenta a sorte

 

Direto pino pic e 4 555. Nao fica flutuando e nada de transistor

 

hmmm pensando bem.... ao controlar pelo reset 555 o motor até que para. Mas (sempre tem um mas) vai mater uma saída em 1 forçando corrente pela bobina. Isso não é nada bom. Tente pelo MR do 4017. Faça um OR com a saída Q4 com diodos. 1=para. Só que não sei se MR=1 -> Q0=1. Se sim, ferrôu. Vá pensando aí...Outra opção bem lôca mesmo é colocar capacitor em serie com as saídas Q0 a Q3 aí seu esquema original daria certo. Mais tarde eu penso +

post-528815-0-84639900-1414666042_thumb.

Link para o comentário
Compartilhar em outros sites

Boa Tarde

 

Não funciona :( Quando MR=1 a saída Q0=1

 

E se eu tirar toda a energia dessa parte do circuito? e o Pino do PIC for o "alimentador" +5V?

 

Seria um problema muito grande o ter corrente forçando uma das bobinas do motor? Pode queimar?

 

Estou pensando em larga tudo e colocar outro Pic só para controlar o motor. Penso que a lógica seria bem simples (Quando receber sinal por uma entrada, entra num loop alternando 4 saídas) certo? Ou meu amadorismo não me deixa pensar nos problemas? haha

 

Qual seria o PIC mais indicado pra isso? Melhor custo beneficio e poucas portas?  PIC12C508?

 

Desculpem os transtornos, Obrigado desde já

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Sua intuição amadora é muito boa.

O certo é usar um transistor pnp (quer que eu desenhe?) mas sim você pode alimentar o 4017 com 1 pino do pic pra ver. Ligue pino-pic---VCC dele. Talvez até o 555 possa ser alimentado por este pino. E NÃO o uln2003

 

-Sim o problema tende a ser grande e pode queimar a bobina

-Outra boa ideia sua é usar outro pic (de fato já a tive antes mas não quis echer muito sua cabeça). o obsoleto C508 dá certo mas você deve usar um Fxxx tipo pic12F629

 

tá desculpado e de nada desde agora

Link para o comentário
Compartilhar em outros sites

Pessoal boa tarde!! ;)

 

Montei aqui o circuito na proto board funcionou direitinho mas eu sequer vejo o motor se mexer.

 

Ele tem um passo muito pequeno: Olha o que diz no site que eu comprei: *(Ângulo do Passo: 5,625/64 ≈ 0,088°)

 

Tentei aumentar a frequência, mas os motores possuem um limite de frequência (Li no site ROGERCOM que o máximo seria 10ms cada intervalo. isso da uns 100Hz, certo?).

 

Minhas afirmações estão corretas?

A solução seria eu comprar um motor de passo com um maior angulo de passo, certo?

 

Outra solução apontada por um amigo, é que eu volte a usar um motor DC e use algum tipo de solenoide para frear a roda em si;

ele me apontou um modelo de travas elétricas universais para carro que funcionam 12V :

 

post-625222-0-91629100-1414702620_thumb.

 

Eu utilizaria estas chaves para travar a roda e parar a inercia do motor, o que você acha?

 

Você conhece algum modelo de "freio" como esses, utilizado em eletrônica?

 

Obrigado novamente e Boa sexta feira!!

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

definitivamente não gostei mesmo do lance de travar mecanicamente o motor. sério. Me diz qual parte do desenho do relé que fiz você não entendeu?? O motor dc na inérica se comporta como um gerador. A proposta do curto do relé é segurá-lo eletricomagneticamente. Teste: gire com os dedos um motor dc (com ímã). Dê um curto nos terminais e tente girar pra você ver.

Não sei a velocidade da rotação do seu sistema mas com motorredutor, o efeito do freio parece ter mais efeito. Se quiser controlar a rotação: pwm

Link para o comentário
Compartilhar em outros sites

Boa noite!

Fiz um projeto e gostaria de economizar ao máximo, pois terei que apresentar na faculdade e estou com muitas dúvidas. Como faço para o motor girar por completo a partir do comando (SMS) do meu celular, para que o modem receba esse comando e passe para o microcontrolador, resultando no giro do motor?

Link para o comentário
Compartilhar em outros sites

Boa Tarde @Isadora Ferraz.

Desculpe-me pela demora para responder. Estive fazendo vários tipos de testes com o motor de passo e optei por abandoná-lo completamente.

 

Agora estou usando um motor de 5v.

 

A Ligação esta como na imagem abaixo: 

 

post-625222-0-30914400-1415212938.png

 

Sendo o recebimento do sinal na Base do Transistor com resistor de 1k vem do PIC.

 

Você pode me dizer como eu colocaria o motor em curto nessa ocasião?

 

O uso do diodo em paralelo com o motor para "proteger" o PIC está certo?

 

Por último e prometo que nao incomodo mais (kkk) O que você acha de eu usar PWM para controlar a velocidade do motor e não sofrer com a inércia?

 

Você acha que é algo difícil de fazer? Li em algum lugar que o PIC já tem alguns pinos que fazem PWM.

 

Obrigadooooo novamentee!!!! Bom resto de semana

post-625222-1744_thumb.png

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

oi. Procure usar no mínimo um BD135 ao invés o bc. Pra frear tente um BD136 (PNP) em paralelo com o motor e  um outro resistor 1K vindo do mesmo pino do pic. hmmm só que os 2 não podem conduzir ao mesmo tempo hein.

PWM=boa. Sim, tem pic com pwm. Pra frear com o PNP talvez seja bom outro pino (=0). A qualquer momento penso se desenho

Link para o comentário
Compartilhar em outros sites

Boa Tarde @Isadora Ferraz

Desculpe-me a demora, eu montei o circuito com motor DC e PWM.

 

Para tanto, utilizei um Transistor NPN (TIP 41). Porém quando ligo o circuito o motor não tem Torque suficiente para suportar algum peso (diga-se 300g)

 

Eu precisaria aumentar a corrente no motor para aumentar o torque, certo?

 

Estou pensando em usar um Relê 5 Volts para fazer a ligação, e assim aumentar a corrente no motor.

 

A minha dúvida é que se eu posso usar PWM com o Relê, acredito que não. Estou certo?

 

Você tem alguma outra ideia???

 

MUITO OBRIGADO

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

hmmm. então você não usa motorredutor... Se não for algum erro de especificação do motor, tente ligar com pwm no máximo - o mesmo que aumentar a corrente. Obviamente não vai controlar a velocidade com o relé mas você pode ligar o relé em paralelo com o transistor apenas pra dar o torque inicial apesar de isso não se muito ortodoxo.

Sugiro rever a especificação do motor se está apropriado pro teu projeto. Outra coisa: o tip esquenta? isso não deve ocorrer hein! Se sim aumente a corrente na base. Freq muito alta de pwm pode atrapalhar. Troque por fet canal N, etc

Fotos, desenhos, esquemáticos podem melhor ajudar a quem vai te ajudar melhor

abç

Link para o comentário
Compartilhar em outros sites

Prezados, permitam-me tentar cooperar, em adição aos comentários sempre acertados da Isadora.

Um erro comum quando se trata de circuitos drivers com transistor, é o projetista errar o cálculo do resistor de base. Se a resistência dele for muito alta, não haverá corrente suficiente através do coletor para alimentar a carga. Lembre-se que, nos transistores bipolares, Ib = Ic/hfe (aqui tem um tópico bom sobre isso: http://forum.clubedohardware.com.br/forums/topic/384231-calculo-de-resistor-de-base-do-transistor/). Então, atente-se para o ganho do transistor que está usando também. E atente-se para não ultrapassar a corrente suportada pelo circuito de disparo (a saída de um PIC, por exemplo, ou a saída de um 555). Se a corrente exigida na base for maior do que a do circuito de disparo, terá que trabalhar com o "esqueminha" da combinação darlington. Então, será que o seu resistor aí não está muito alto na base?

De toda feita, acho interessante dizer que eu montei esse circuitinho simples PWM com o 555 (esse é "pau pra toda obra" mesmo), que funcionou perfeitamente. Montei sem o relê para inversão da rotação do motor. Repito: funcionou bem demais. Esse: http://blog.novaeletronica.com.br/circuito-de-controle-de-motor-dc-pwm-usando-555/

Ele atua muito bem no controle do torque do motor, sendo uma forma possível de resolver o seu problema (atenção, da mesma forma, ao resistor de base e às correntes envolvidas no coletor e base do transistor).

Calcule o resistor de base para a máxima corrente de coletor do transistor, que é a corrente que o motor exige (claro: atentando-se para usar um transistor que suporte a corrente demandada).

 

Bons trabalhos.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber 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...