Professional Documents
Culture Documents
CARRERA:
INGENIERÍA EN MECATRÓNICA.
GRADO Y GRUOPO:
2° C.
PRESENTAN:
ALCARAZ CARRAZCO MITZI ANDREA.
BARRAGÁN MONTES AYLIN ESTEFANNYA.
CINTA BARAJAS PEDRO ROLANDO.
GARCÍA BARENCA LUIS ALFREDO.
TELLÉZ GONZÁLEZ ERICK.
LEPE FIGUEROA CECILIO ANTONIO.
MARTÍNEZ ARCHUNDIA SAULO ULISES.
2.1 Antecedentes
2.3 Justificación
2.4 Objetivos
2.4.1 General.
Implementar un sistema para elaboración de PCB´s utilizando la computadora.
2.4.2 Particulares.
Programar una interfaz capaz de dibujar y establecer con exactitud los puntos el
plano cartesiano, así como una estructura estática que tenga el soporte adecuado,
y una buena logística dentro del dispositivo.
-Diseñar cada pieza de nuestro prototipo (CNC) en SolidWorks.
-Ensamblar todas las piezas.
-Programar la interfaz gráfica con programación orientada a objetos en C++ Builder.
-Programar los motores de paso mediante pulsos mandados por un
microcontrolador.
-Diseñar el circuito en Proteus, imprimirlo en PCB e insertar los componentes y
soldarlos.
2.5 Hipótesis
La máquina CNC será capaz de diseñar en un plano cartesiano de tres ejes un
circuito impreso (Printed Circuit board). Donde el usuario podrá mediante una
interfaz gráfica a elegir en un menú la figura que desee realizar; ya sea un círculo,
cuadrado y un triángulo en una base creada de fibra de vidrio (baquelita).
Todo esto se llevará a cabo con una tarjeta programable en código c a través del
software Arduino como adquisidor de datos para poder mover los motores en 3 ejes
y cumplir los requerimientos del usuario.
La gestión de este proyecto servirá para facilitar la realización de circuitos impresos
de manera automatizad con un código mejorado para que pueda leer las
coordenadas de una imagen y poder hacer una pista de circuito removiendo el cobre
en la placa además de ser más amigable al ambiente al evitar la necesidad de usar
tóxicos como el ácido férrico.
3. MARCO TEÓRICO
3.1 Acoples:
3.9 Fuente 12 v:
Desde un principio se tomó la idea de que, en nuestro proyecto, la base con sus
respectivas chumaceras y motores, fuese móvil. De esta manera, se interpretan los
ejes X e Y. La estructura donde se apoya el Dremel, el eje Z, solo se movería en
sentido superior e inferior. En la Fig. 13 y 14 se logra observar la investigación de
CNC.
Figura 28.
Dremel. Figura 30. Parte
Figura 29. superior de la
Ensamble del estructura.
je “Z.
Para unir la varilla roscada a la lámina se utilizó una tuerca de doble
paso, la cual está sujeta con un soporte
en forma de omega de media pulgada,
anivelada con arandelas y atornillada a
la misma lámina. Posteriormente, se
construyeron 2 acoples de aluminio,
para unir la varilla roscada al motor.
Figura 31.
Acople Figura 32.
Torno
Finalmente, la estructura quedó lista con sus tres ejes, “X”, “Y”,
y “Z”. Finalmente, la estructura quedó lista con sus tres ejes,
“X”, “Y”, y “Z”.
4.3 Electrónica.
1 $250 $250
Pantalla.
Total $5269
7. CONCLUSIONES
Por culminación tenemos un resultado satisfactorio, ya que se ha mostrado con
hechos y resultados, un robot capaz de dibujar implementando el movimiento en los
tres ejes requeridos en el protocolo, así como, una interfaz en C++ con Arduino.
Todo este trabajo hecho por el equipo, que ha demostrado todo lo que se logra con
motivación y disciplina, a pesar de todo lo gastado y desperdiciado al pasar por las
pruebas y errores, al final el conocimiento y habilidades obtenidas grupal e
individualmente tienen un valor mayor, y esto se refleja en el trabajo realizado.
8. PERSPECTIVA TECNÓLOGICA
El avance de la ciencia y la técnica en la fabricación de nuevos artefactos y circuitos
electrónicos en los equipos que se usa en nuestro vivir diario, hace necesario
disponer de una tecnología que ayude en el ensamblaje y montaje de los
componentes electrónicos en una sola plataforma de conexión, en un circuito
impreso. Esto es una realidad común en países desarrollados.
En sus inicios este tipo de tecnología era muy escaso de conseguir, ya que sus
únicos modelos existentes eran espaciosos, su precio altamente elevado, sin
embargo, en la actualidad, este sistema
Beer, P., Johnston E. & Russell Jr. (1997) Mecánica vectorial para
ingenieros, Estática. (5ª edición). Ed. Mc. Graw Hill Interamericana editores
de México S.A. de C.V.
Chris. H. Pappas & William H. Murray III. (1997). Manual de Borland C++.
México: McGraw – Hill.
//eje x
int steppinx = 10;
int dirpinx = 7;
//eje y
int steppiny = 11;
int dirpiny = 8;
void setup()
{
Serial.begin(9600);
pinMode(led,OUTPUT);
//EJE Z
pinMode(steppinz,OUTPUT);
pinMode(dirpinz,OUTPUT);
//EJE X
pinMode(steppinx,OUTPUT);
pinMode(dirpinx,OUTPUT);
//EJE Y
pinMode(steppiny,OUTPUT);
pinMode(dirpiny,OUTPUT);
//EJE Z
void motor_pasos1z(){
digitalWrite(dirpinz,1); // ponemos en alto o 1 logico a pin dir para que gire hacia un
sentido
for(int x = 0; x < 200; x++){ // creamos un lazo for , en nuetro caso el motor es de
200 paso, para dar una vuelta !
digitalWrite(steppinz,HIGH); // las intrucciones que se encuntran dentro del lazo
delay(tiempo); // son las que aran que nuestro motor se mueva ,es la parte donde
van los pulsos
digitalWrite(steppinz,LOW); // necesarios para que el motor se mueva
delay(tiempo);
}
}
void motor_pasos2z(){
digitalWrite(dirpinz,0); // pones en bajo , o en 0 logico para que gire el el sentido
opuesto
for(int x = 0; x < 200; x++) // entramos a un nuevo lazo pero ahora la unica
diferencia es que
{ // que dara 200 pasos o 1 vueltas de 360 grados, 200=1mmsegun mis calclos
estequiometricos :v
digitalWrite(steppinz,HIGH);
delay(tiempo);
digitalWrite(steppinz,LOW);
delay(tiempo);
}
}
//EJE x
void motor_pasos1x(){
digitalWrite(dirpinx,1); // ponemos en alto o 1 logico a pin dir para que gire hacia un
sentido
for(int x = 0; x < 200; x++){ // creamos un lazo for , en nuetro caso el motor es de
200 paso, para dar una vuelta !
digitalWrite(steppinx,HIGH); // las intrucciones que se encuntran dentro del lazo
delay(tiempo); // son las que aran que nuestro motor se mueva ,es la parte donde
van los pulsos
digitalWrite(steppinx,LOW); // necesarios para que el motor se mueva
delay(tiempo);
}
}
void motor_pasos2x(){
digitalWrite(dirpinx,0); // pones en bajo , o en 0 logico para que gire el el sentido
opuesto
for(int x = 0; x < 200; x++) // entramos a un nuevo lazo pero ahora la unica
diferencia es que
{ // que dara 200 pasos o 1 vueltas de 360 grados, 200=1mmsegun mis calclos
estequiometricos :v
digitalWrite(steppinx,HIGH);
delay(tiempo);
digitalWrite(steppinx,LOW);
delay(tiempo);
}
}
//EJE Y
void motor_pasos1y(){
digitalWrite(dirpiny,1); // ponemos en alto o 1 logico a pin dir para que gire hacia un
sentido
for(int x = 0; x < 200; x++){ // creamos un lazo for , en nuetro caso el motor es de
200 paso, para dar una vuelta !
digitalWrite(steppiny,HIGH); // las intrucciones que se encuntran dentro del lazo
delay(tiempo); // son las que aran que nuestro motor se mueva ,es la parte donde
van los pulsos
digitalWrite(steppiny,LOW); // necesarios para que el motor se mueva
delay(tiempo);
}
}
void motor_pasos2y(){
digitalWrite(dirpiny,0); // pones en bajo , o en 0 logico para que gire el el sentido
opuesto
for(int x = 0; x < 200; x++) // entramos a un nuevo lazo pero ahora la unica
diferencia es que
{ // que dara 200 pasos o 1 vueltas de 360 grados, 200=1mmsegun mis calclos
estequiometricos :v
digitalWrite(steppiny,HIGH);
delay(tiempo);
digitalWrite(steppiny,LOW);
delay(tiempo);
}
}
void loop()
{
if(Serial.available())
{
char c=Serial.read();
//EJE Z
if(c=='1'){
Serial.println("giro Z");
motor_pasos1z();
digitalWrite(led,HIGH);
}
if(c=='a'){
Serial.println("giro otro lado Z");
motor_pasos2z();
digitalWrite(led,LOW);
}
//EJE X
if(c=='2'){
Serial.println("giro X");
motor_pasos1x();
digitalWrite(led,HIGH);
}
if(c=='b'){
Serial.println("giro otro lado X");
motor_pasos2x();
digitalWrite(led,LOW);
}
//EJE Y
if(c=='3'){
Serial.println("giro Y");
motor_pasos1y();
digitalWrite(led,HIGH);
}
if(c=='c'){
Serial.println("giro otro lado Y");
motor_pasos2y();
digitalWrite(led,LOW);
}
}
}