Estou tentando fazer uma máquina DrawBot (http://www.marginallyclever.com/) ou Polargraph (http://www.instructables.com/id/Polargraph-Drawing-Machine/?ALLSTEPS), as duas tem o mesmo principio, mas o firmware para Arduino da Drawbot é um interpretador de G-CODE o que é bem
interessante, enquanto o firmware da Polargraph é uma codificação inventada pelo autor da máquina.
No momento tenho uns velhos motores de impressoras Epson e estou usando um Motor Shield Adafruit para tocar os mesmos. Se gostar da brincadeira, me arriscarei a comprar os motores de passo vendidos na loja do LdG.
Se alguém se aventurou nesta empreitada, deixe aqui suas impressões e vamos trocando umas ideias.
Tags:
La Gôndola: um transferidor comprado em papelaria, uma haste em L, duas polias pequenas, que sejam bem lisas para não fornecerem atrito com as argolas.
Para fixar a caneta, adaptei uma abraçadeira para guidão de bicicleta. O pequeno gancho branco à esquerda, serve para fixar um contra-peso a gôndola, para dar maior estabilidade a caneta.
Eu usei uma espécie de placa de eucatex velha que eu tinha aqui em casa, deu tudo certo, fiz os "cases" para o motor, o local para colocar o arduino e a protoboard(Onde estão ligados os uln2003) porém no código deu pau, já que o código é feito para o motor shield da Adafruit. O meu motor de passo tem 6 fios, dois vão no positivo e o resto, cada um em um pin do uln. e no código lá, não tem disso. Já tentei aumentar os pins no código com (2, 3, 4, 5).... e nada. Alguém não saberia alguma saída para quem não tem o shield? Lembrando que o motor recebe os sinais, pois quando eu envio algum comando pelo programinha do drawbot, ele faz alguns barulhos, treme, está com o mesmo problema que eu tinha antes de descobrir a pinagem dos meus motores. Ou seja, o problema é no código mesmo.
Marcos. Os motores de 6 fios podem funcionar como bipolares ou unipolares. Precisa ver como vc. está fazendo a ligação e o acionamento. Veja isso: http://www.ppgel.net.br/uaisoccer/downloads/1272062510.pdf
Não é forçando uma porta do Arduino em cada fio do motor que resolve a questão (isso acho que vc. já descobriu). Precisa ver se é o positivo ou o negativo que deve ser ligado aos comuns das 2 bobinas (isso é muito importante). E se as portas tem que ser acionadas ou desligadas para que o sinal chegue nas bobinas (atentar para a ordem corretas com que a(s) bobina(s) devem receber o sinal)...e o principal: Se o comum é positivo, os sinais devem ser negativos e se o comum é negativo os sinais devem ser positivos.
Isso acima se a ligação for unipolar. Para fazer bipolar tem que alternadamente inverter o sinal colocado em cada ponta da bobina (o comum não é utilizado).
Uma dica é a seguinte. Para se testar motores de passo não é necessário todo um circuito, é necessário ligar os comuns das bobinas e com um (ou 2) ir fazendo curtos nos fios na sequência correta, ele deve girar um passo de cada vez. repetindo a sequencia ele dará diversos passos.
Outra dica: Vá anotando as cores que você aciona os fios até obter o resultado desejado e use esta "tabela" para acionar a sequência das bobinas no programa.
Boa sorte.
Opa Euclides, valeu pela dica, mas a pinagem eu já descobri, tanto que brinquei com o motor em outras coisas, o meu problema mesmo é em relação ao código, pois ele é feito para o motor shield da Adafruit, então usar tips ou o uln2003 complica, afinal, eu preciso de 4 pinos do arduino, que são dois para direita e dois para esquerda ( A alimentação vem de fora do Arduino, hehehe, eu uso 16v, na verdade eu deveria estar usando 12v).
PS:São seis fios, dois verdes que são ligados no positivo. Depois são:
Amarelo e azul que dando "carga" primeiro no amarelo (Ou azul) e depois no azul, ele roda 1 passo a esquerda.
Depois:
Branco e vermelho, que dando "carga" no branco e depois no vermelho, ou vice-versa, ele roda um passo a direita.
Com certeza o problema está no código.
O software não funciona para outros tipos de drivers, somente para o Adafruit, aqui tem um esquema dele: http://www.ladyada.net/images/mshield/mshieldv1-schem.png ; veja que ele tem um CI 74595, que se liga a dois L293.
O sujeito que fez o DrawBot, enxugou a biblioteca da Adafruit e chamou de <AFMotorDrawbot.h>, acredito que dê para adaptar esta biblioteca para rodar o seu driver, mas não encontrei ninguém que tenha feito isso ainda.
Então, eu estou quebrando a cabeça pois eu tenho certeza que o problema é no código. Eu estou vendo aqui onde eu posso mudar para fazer ele entender os oito pinos (Quatro para cada motor) sem afetar a comunicação dele com o programinha. Valeu pelo esquema, mas eu tenho certeza que o problema está no código, eu vou enxugar também, hehe, desmontar, montar, acredito que seja possível. Abraços.
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por