Ola,
estou tentando construir um CNC, com arduino porem sou iniciante no arduino e não consigo algem pode me ajudar .
Carlos
Tags:
Olá, Carlos
Estou montando tb uma CNC, mais simples possível. Se quiser trocar ideias, estou disponível.
Segue o código para a LIB AccelStepper.
// MultiStepper.pde
// -*- mode: C++ -*-
//
// Shows how to multiple simultaneous steppers
// Runs one stepper forwards and backwards, accelerating and decelerating
// at the limits. Runs other steppers at the same time
//
// Copyright (C) 2009 Mike McCauley
// $Id: HRFMessage.h,v 1.1 2009/08/15 05:32:58 mikem Exp mikem $
#include <AccelStepper.h>
// Define some steppers and the pins the will use
AccelStepper stepper1; // Defaults to 4 pins on 2, 3, 4, 5
AccelStepper stepper2(4, 6, 7, 8, 9);
AccelStepper stepper3(2, 10, 11);
void setup() {
stepper1.setMaxSpeed(200.0);
stepper1.setAcceleration(100.0);
stepper1.moveTo(24);
stepper2.setMaxSpeed(300.0);
stepper2.setAcceleration(100.0);
stepper2.moveTo(1000000);
stepper3.setMaxSpeed(300.0);
stepper3.setAcceleration(100.0);
stepper3.moveTo(1000000);
}
void loop() { // Change direction at the limits
if (stepper1.distanceToGo() == 0) stepper1.moveTo(-stepper1.currentPosition());
stepper1.run();
stepper2.run();
stepper3.run();
}
https://github.com/koppi/simduino/tree/master/Examples/01-AccelStepper
http://www.pjrc.com/teensy/td_libs_AccelStepper.html
Abs,
Fernando
Sim, este código é para o arduino, no meu caso UNO.
Testei em 2 motores e funciona perfeitamente, claro usando a LIB.
Mas para a CNC o negocio é mais complicado, tem vários post no neste fórum que falam de como usar o arduino para CNC.
Eu usarei um drive (via paralela) para controlar os motores e MACH3
Estou no ponto de instalação da tração no eixo "X", não tenho a menor "ideia" se meu projeto vai funcionar ou não, rsrs. Mas como é só diversão...
Levei mais de 30 dias estudando vários projetos, dos mais complexos ao mais simples, que na verdade a intenção é gastar pouco e depois de concluído e funcionando é confeccionar peças e criar "conhecimento" para uma "3d".
Qualquer coisa e eu poder ajudar, é só perguntar, se não estiver ao meu conhecimento tem muita gente aqui com muito mais experiência e conhecimento.
Fernando
Bom dia .
Obrigado bom , estou tentando o mesmo objeivo se você não se encomodar gostaria de esclarecer duvidas.
aproveito para perguntar se quando vc, informa que usando a LIB, vc, quer dizer usando a biblioteca LIB, e isso . .
Ola.
Sim. A biblioteca que vem no artuino (IDE STEPPER), não consegue movimentar + de um motor ao mesmo tempo, então tem a "AccelStepper.h" que consegue.
Os links tem alguns exemplos do uso da LIB.
Fuçando na internet tem até vídeo de impressora 3D funcionando com servo-motor 360°, segundo os "especialistas", os servos não tem precisão para este uso, mas pelo vídeo, funciona!
Pode perguntar!
Abs,
Fernando
Fernando .
Vc, teria um exemplo de programa em arduino ,controlando um motor de passo ..
porem o motor teria que ser accionado por um botão .
O objetivo e aperta-se o botão escrito no código fonte e o arduino movimenta o motor de passo x vezes e depois retorna ao ponto inicial , o programa ate consigo , porem não consigo inseri o botão no código.
Carlos
Ola
Segue um exemplo, para 1 motor de passo, 2 botões e 1 led.
Pressionando o botão 1 acende o LED e o motor gira no sentido horário, o segundo botão acende o LED e faz girar para o sentido anti-horário.
\\
\\ 1 motor de passo, 2 botões e 1 led
\\
#include <Stepper.h> //Biblioteca já disponível na IDE do Arduino
#define STEPS 100 // max 100
const int steps=100; //Número de passos para o motor
int buttonState1=0;
int buttonState2=0;
Stepper stepper(STEPS, 0, 2, 1, 3); \\ sequencia de acionamento do motor de passo
void setup() {
stepper.setSpeed(200); //Velocidade da rotação do motor (RPM)
pinMode(8,INPUT); //Botão 1
pinMode(9,INPUT); //Botão 2
pinMode(12,OUTPUT); //LED
}
void loop() {
buttonState1=digitalRead(8);
buttonState2=digitalRead(9);
if(buttonState1==LOW) //Gira para um lado {
digitalWrite(12,HIGH); \\ Acende o LED
stepper.step(steps); } \\ Sentido horario
else if(buttonState2==LOW) //Gira para o outro lado {
digitalWrite(12,HIGH); \\ Acende o LED
stepper.step(-steps); } Sentido anti-horário
else //Fica parado {
digitalWrite(12,LOW); \\ Desliga o LED
stepper.step(0); \\ Para o Motor
}
}
Espero não ter "misturado" nada, rsrs
Fernando
OK
Obrigado
Fernando .
Oi Carlos
Não sei qual seu nível de conhecimento, mas vc sabe que precisa de "driver" para ligar o motor de passo no arduino ?
Fernando
Fernando boa noite .
A questão Electrónica tudo bem já tenho os draiver , comprei draiver para 3 amper, minha dificuldade e o programa ainda estou aprendendo, mas gostaria de manter este contato esta sendo bastante útil.
Carlos
FCaldeira,
Tocaram num assunto que me interessa muito. Seria possivel enviar o esquema sobre o programa para 1 motor de passo, 2 botões e 1 led?
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por