Bienvenido, Invitado |
Tienes que registrarte para poder participar en nuestro foro.
|
Estadísticas del foro |
» Miembros: 17,388
» Último miembro: Remolon
» Temas del foro: 12,244
» Mensajes del foro: 117,996
Estadísticas totales
|
|
|
Mecanumeric Pro 3020 y Matercam 2023 |
Enviado por: rgagu - 16-08-2024, 12:22 AM - Foro: Fresadoras CNC
- Sin respuestas
|
|
Hola,
Tengo una Mecanumeric Pro 3020 que he heredado y quisiera echarla andar con un software y un PC para automatizar los trabajos. Tengo una PC con Windows 10 y Mastercam 2023.
¿Podrían echarme una mano para ponerla en marcha y como consigo el post procesado para esta máquina?
Muchas gracias
|
|
|
Mecanumeric Pro 3020 y Mastercam |
Enviado por: rgagu - 16-08-2024, 12:21 AM - Foro: Fresadoras CNC
- Sin respuestas
|
|
Hola,
Tengo una Mecanumeric Pro 3020 que he heredado y quisiera echarla andar con un software y un PC para automatizar los trabajos. Tengo una PC con Windows 10 y Mastercam 2023.
¿Podrían echarme una mano para ponerla en marcha y como consigo el post procesado para esta máquina?
Muchas gracias
|
|
|
problemas PWM, y comunicación I2C |
Enviado por: MANUEL19687 - 15-08-2024, 09:30 AM - Foro: Arduino
- Sin respuestas
|
|
Hola muy buenas, me estoy volviendo loco, tengo un sistema "servo" para mover un sensor de 0º a 180º, con un pequeño motor eléctrico. Lo controlo con un driver l298n alimentado a 12v, pero lo reduzco a 2v con software desde Arduino con el PWM desde la salida 9, la referencia de posición me la proporciona un potenciómetro solidario con el eje de salida del sistema, bueno cuando controlo el sistema desde el monitor serial conectado directo al arduino todo va bien, le introduzco 90 y busca la posición de 90º, pero el problema comienza cuando conecto conecto el arduino nano como esclavo al arduino uno que realiza la función de maestro, desde el monitor serial mando al maestro, por ejemplo, el 90 el nano lo recibe, pero el motor no se mueve, no sé si es que hay problemas entre la comunicación I2C y el pwm. la librería que utilizo es la WireData.h.
Éste es el master
Código: #include <Wire.h>
#include <WireData.h>
int VALOR_INTERNO_2 = 0;
int INT_DATO;
String STRING_DATO;
volatile float DATO_FLOAT_1;
void setup()
{
Wire.begin();
Serial.begin(9600);
}
void loop()
{
//------------------------------------------------------------
while (Serial.available() > 0)
{
//************RECEPCIÓN_DATOS_MONITOR_SERIAL********
STRING_DATO =Serial.readStringUntil('\n');
Serial.println(STRING_DATO );//MMMMMMMMMMMMMMMMMMMMMMMMMM
delay(10);
}
//****************** _TRANSFORMAR_VARIABLES_ ****************
INT_DATO = String(STRING_DATO).toInt();//transforma un String en int.
DATO_FLOAT_1 = atof(STRING_DATO.c_str());//transforma un String en float.
//-----------------------------------------------------------
Wire.beginTransmission(1);
wireWriteData(DATO_FLOAT_1);
Wire.endTransmission();
delay(30);
//Serial.println(DATO_FLOAT_1 );//MMMMMMMMMMMMMMMMMMMMMMMMMM
//------------------------------------------------------------
}
y este es el esclavo
Código: #include <WireData.h>
//#include <Wire.h>
const int ENTRADA_ANALOGICA = A0;
int VALOR_SENSOR = 0;
int VALOR_INTERNO = 0;
int VALOR_INTERNO_2 = 0;
String STRING_DATO;
volatile float DATO_RECIBIDO_FLOAT =0.00;
volatile int INT_DATO= 0;
int IN3 = 7;
int IN4 = 8;
int PWM = 9;
int POWER= 0;
void setup()
{
// initialize serial communications at 9600 bps:
Serial.begin(9600);
Wire.begin(1); //Empezamos la comunicación I2C con dirección 4 (dispositivo slave)
Wire.onReceive(RECIBO_DATO_DEL_MAESTRO); //
pinMode(IN3,OUTPUT);
pinMode(IN4,OUTPUT);
pinMode(PWM,OUTPUT);
}
void loop()
{
/*
while (Serial.available() > 0)
{
//************RECEPCIÓN_DATOS_MONITOR_SERIAL********
STRING_DATO =Serial.readStringUntil('\n');
Serial.println(STRING_DATO );//MMMMMMMMMMMMMMMMMMMMMMMMMM
POWER= 22;
delay(10);
}
//****************** _TRANSFORMAR_VARIABLES_ ****************
INT_DATO = String(STRING_DATO).toInt();//transforma un String en int.
//FLOAT_DATO = atof(STRING_DATO.c_str());//transforma un String en float.
//-----------------------------------------------------------
*/
VALOR_SENSOR = analogRead(ENTRADA_ANALOGICA);
VALOR_INTERNO = map(VALOR_SENSOR, 0, 1023, 0, 255);//VALOR_INTERNO_2
VALOR_INTERNO_2 = map(VALOR_INTERNO, 0, 230, 0, 180);//VALOR_INTERNO_2
delay(1);
Serial.print("\tVALOR_INTERNO_2= ");//MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
Serial.print(VALOR_INTERNO_2);//MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
Serial.print("\tVALOR_INTERNO= ");//MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
Serial.print(VALOR_INTERNO);//MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
Serial.print("\tINT_DATO= ");
Serial.println(INT_DATO);//MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
//------------------------------------------------------------------------
INT_DATO = (int)DATO_RECIBIDO_FLOAT;
//-------------------------------------------------------------------------------
if (INT_DATO < VALOR_INTERNO_2 && VALOR_INTERNO > 6 && INT_DATO !=0 && POWER ==22 )//A BAJO
{
Serial.print("\tVALOR_INTERNO_2= ");//MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
Serial.print(VALOR_INTERNO_2);//MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
Serial.print("\tVALOR_INTERNO= ");//MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
Serial.print(VALOR_INTERNO);//MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
Serial.print("\tINT_DATO= ");
Serial.println(INT_DATO);//MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
VALOR_SENSOR = analogRead(ENTRADA_ANALOGICA);
VALOR_INTERNO = map(VALOR_SENSOR, 0, 1023, 0, 255);//
VALOR_INTERNO_2 = map(VALOR_INTERNO, 0, 230, 0, 180);//VALOR_INTERNO_2
//Serial.println("VALOR_INTERNO");//MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
digitalWrite(IN3,HIGH);// LOW
digitalWrite(IN4,LOW);// HIGH
analogWrite(PWM,POWER);
}
if(INT_DATO == VALOR_INTERNO_2)
{
VALOR_SENSOR = analogRead(ENTRADA_ANALOGICA);
VALOR_INTERNO = map(VALOR_SENSOR, 0, 1023, 0, 255);//0, 1023, 0, 255
VALOR_INTERNO_2 = map(VALOR_INTERNO, 0, 230, 0, 180);//VALOR_INTERNO_2
digitalWrite(IN3,HIGH);// LOW
digitalWrite(IN4,HIGH);// HIGH
analogWrite(PWM,100);
POWER =0;
IGUALDAD();
}
//-------------------------------------------------------------------------------
//--------------------------------------------------------------------------------
if (INT_DATO > VALOR_INTERNO_2 && VALOR_INTERNO < 234 && INT_DATO !=0 && POWER ==22)// A ARRIBA
{
VALOR_SENSOR = analogRead(ENTRADA_ANALOGICA);
VALOR_INTERNO = map(VALOR_SENSOR, 0, 1023, 0, 255);//
VALOR_INTERNO_2 = map(VALOR_INTERNO, 0, 230, 0, 180);//VALOR_INTERNO_2
//Serial.println("VALOR_INTERNO");//MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
digitalWrite(IN3,LOW);// LOW
digitalWrite(IN4,HIGH);// HIGH
analogWrite(PWM,POWER);
}
if (INT_DATO == VALOR_INTERNO_2)
{
VALOR_SENSOR = analogRead(ENTRADA_ANALOGICA);
VALOR_INTERNO = map(VALOR_SENSOR, 0, 1023, 0, 255);//
VALOR_INTERNO_2 = map(VALOR_INTERNO, 0, 230, 0, 180);//1, 223, 0, 180)
digitalWrite(IN3,HIGH);// LOW
digitalWrite(IN4,HIGH);// HIGH
analogWrite(PWM,100);
POWER =0;
//delay(1000);
IGUALDAD();
}
//---------------------------------------------------------------------------------
}
//************************_COMUNICACION_I2C_ ************************
void RECIBO_DATO_DEL_MAESTRO(int byteCount)
{
wireReadData(DATO_RECIBIDO_FLOAT);
delay(5);
//INT_DATO = (int)DATO_RECIBIDO_FLOAT;
}
//--------------------------------------------------------------------
void IGUALDAD()
{
VALOR_SENSOR = analogRead(ENTRADA_ANALOGICA);
VALOR_INTERNO = map(VALOR_SENSOR, 0, 1023, 0, 255);//
VALOR_INTERNO_2 = map(VALOR_INTERNO, 0, 230, 0, 180);//VALOR_INTERNO_2
POWER =0;
digitalWrite(IN3,HIGH);// LOW
digitalWrite(IN4,HIGH);// HIGH
POWER =0;
//delay(20);
loop();
}
|
|
|
Duda sobre hotend DragonFly de Phateus |
Enviado por: 21Curiosos - 14-08-2024, 08:04 PM - Foro: Mecánica
- Respuestas (4)
|
|
Hola a todos, os comento estos dias he estado haciendo modificaciones e mi impresora y he cambiado un hotend V6 por un Dragonfly de Phateus
Pues bien me encuentro que la temperatura, a las mismas velocidades que tenia con el V6, la tengo que bajar muchisimo.
Ejemplo: estaba imprimiendo PETG a 235 y ahora lo tengo que hacer a 200 y con todo y con eso me sale bastante brillante
He comprobado las temperaturas que me marca el termopar con una sonda externa y los valores que obtengo son similares a los que me marca la impresora
Tambien es verdad que he cambiado el ventilador radial por uno axial pero no creo que tenga nada que ver
¿Alguien ha probado este hotend? , ¿Os ha pasado algo similar?
Saludos y gracias por adelantado a cualquier comentario
|
|
|
|