| Bienvenido, Invitado |
Tienes que registrarte para poder participar en nuestro foro.
|
| Estadísticas del foro |
» Miembros: 18,510
» Último miembro: mishop
» Temas del foro: 12,499
» Mensajes del foro: 119,169
Estadísticas totales
|
|
|
| Problema ventilador de capa Ender 3 |
|
Enviado por: Char1li5e2 - 10-01-2021, 07:21 PM - Foro: General
- Respuestas (3)
|
 |
Hace unos días me compre la impresora Creality Ender 3,Las primeras impresiones con PLA fueron buenas.Hoy he intentado imprimir pero cuando empezaba a hacer la figura el ventilador de capa se paraba y no conseguía imprimir.He mirado en el manual de instrucciones(El de posibles fallos) y no he conseguido solucionar el problema.Agradeceria que alguien me ayudara.
|
|
|
|
| Anycubic I3 Mega S - Cama y Hot End No calientan - SOLUCIONADO |
|
Enviado por: Melnu - 10-01-2021, 05:58 PM - Foro: Anycubic
- Respuestas (1)
|
 |
Buenas a todos,
Simplemente quería comentar el problema que he tenido y la solución que he aplicado, por si puede ser de utilidad para alguien.
El otro día estaba imprimiendo con mi Anycubic I3 Mega S y en medio de una impresión larga, se detuvo completamente. Traté de reanudarla pero no fue posible. Tras limpiar el desaguisado, vi que tanto la cama como el Hot End, no volvían a coger la temperatura de impresión. Aunque el movimiento de los motores era correcto y todo parecía funcionar correctamente, cuando activaba la función PREHEAT, la impresora simplemente no calentaba ni la cama, ni el fusor.
Me puse a buscar por internet y ví que había algún otro usuario al que le había ocurrido lo mismo. Parece ser un problema habitual con las impresoras de Anycubic, concretamente con la I3 Mega y con la I3 Mega S. Uno de los cables de alimentación (concretamente el cable azul), que unen la impresora con la cama calefactada, rompe su soldadura con la cama y la impresora deja de funcionar. Entiendo que debido al intenso movimiento al que está expuesta la cama durante la impresión, el cable y la soldadura sufren bastante y terminan por romperse.
Dejo una foto para que quede claro. Son los cables que se unen a la parte trasera de la cama. No hay equivocación posible porque sólo hay un grupo de cables que llegan a la cama.
El cable azul parece ser el que suministra corriente a la cama. Si la cama no se calienta, indirectamente parece que el Hot End, tampoco se calienta. Por los comentarios que he leido, esto termina por ocurrir tarde o temprano. Hay varios usuarios a los que les ha ocurrido tras 1 año de uso, pero en mi caso, no llevaba ni 1 mes imprimiendo .
SOLUCION
La solución pasa por resoldar otra vez el cable a la placa de la cama. Describo brevemente los pasos.
1. Lo primero es desmontar la cama para poder girarla y así poder soldar fácilmente. Para ello, quitad las 4 ruedas dentadas que permiten hacer la calibración de la cama.
![[Imagen: Ruedas.jpg]](https://i.ibb.co/zJsfkfD/Ruedas.jpg)
2. Retirad también los muelles que van alojados en los tornillos de unión de la cama.
3. Ahora, con cuidado, dadle la vuelta a la cama asegurando que no movéis el grupo de cables de alimentación de la cama de forma demasiado brusca, para evitar así romper más cables. En principio, si lo hacemos con cuidado no es necesario desmontar nada más de la impresora.
4. Proceded con la soldadura. En mi caso, he tenido que usar algo de cable adicional para poder hacer la soldadura. No queda también como antes pero soluciona el problema, que es lo importante.
5. Volved a montar la cama, instalando los muelles y las ruedas dentadas.
6. Listo. Ahora os debería funcionar otra vez.
|
|
|
|
| Como ejecutar dos sketches a la vez? |
|
Enviado por: ocmonpa - 10-01-2021, 01:28 PM - Foro: Arduino
- Respuestas (4)
|
 |
Hola, soy nuevo en esto y no tengo ni remota idea de como ejecutar dos sketches. Alguien sabría decirme si hay alguna manera sencilla de hacer_lo?
Tengo de unir estos dos:
Primero:
#include "ph_grav.h" //header file for Atlas Scientific gravity pH sensor
#include "LiquidCrystal.h" //header file for liquid crystal display (lcd)
String inputstring = ""; //a string to hold incoming data from the PC
boolean input_string_complete = false; //a flag to indicate have we received all the data from the PC
char inputstring_array[10]; //a char array needed for string parsing
Gravity_pH pH = A0; //assign analog pin A0 of Arduino to class Gravity_pH. connect output of pH sensor to pin A0
LiquidCrystal pH_lcd(2, 3, 4, 5, 6, 7); //make a variable pH_lcd and assign arduino digital pins to lcd pins (2 -> RS, 3 -> E, 4 to 7 -> D4 to D7)
void setup() {
Serial.begin(9600); //enable serial port
pH_lcd.begin(16, 2); //start lcd interface and define lcd size (20 columns and 4 rows)
pH_lcd.setCursor(0,2); //place cursor on screen at column 1, row 4
pH_lcd.print("--------------------"); //display characters
pH_lcd.setCursor(5, 1); //place cursor on screen at column 6, row 2
pH_lcd.print("pH "); //display "pH Reading"
if (pH.begin()) { Serial.println("Loaded EEPROM");}
Serial.println(F("Use commands \"CAL,4\", \"CAL,7\", and \"CAL,10\" to calibrate the circuit to those respective values"));
Serial.println(F("Use command \"CAL,CLEAR\" to clear the calibration"));
}
void serialEvent() { //if the hardware serial port_0 receives a char
inputstring = Serial.readStringUntil(13); //read the string until we see a <CR>
input_string_complete = true; //set the flag used to tell if we have received a completed string from the PC
}
void loop() {
if (input_string_complete == true) { //check if data received
inputstring.toCharArray(inputstring_array, 30); //convert the string to a char array
parse_cmd(inputstring_array); //send data to pars_cmd function
input_string_complete = false; //reset the flag used to tell if we have received a completed string from the PC
inputstring = ""; //clear the string
}
Serial.println(pH.read_ph()); //output pH reading to serial monitor
pH_lcd.setCursor(8, 2); //place cursor on screen at column 9, row 3
pH_lcd.print(pH.read_ph()); //output pH to lcd
delay(1000);
}
void parse_cmd(char* string) { //For calling calibration functions
strupr(string); //convert input string to uppercase
if (strcmp(string, "CAL,4") == 0) { //compare user input string with CAL,4 and if they match, proceed
pH.cal_low(); //call function for low point calibration
Serial.println("LOW CALIBRATED");
}
else if (strcmp(string, "CAL,7") == 0) { //compare user input string with CAL,7 and if they match, proceed
pH.cal_mid(); //call function for midpoint calibration
Serial.println("MID CALIBRATED");
}
else if (strcmp(string, "CAL,10") == 0) { //compare user input string with CAL,10 and if they match, proceed
pH.cal_high(); //call function for highpoint calibration
Serial.println("HIGH CALIBRATED");
}
else if (strcmp(string, "CAL,CLEAR") == 0) { //compare user input string with CAL,CLEAR and if they match, proceed
pH.cal_clear(); //call function for clearing calibration
Serial.println("CALIBRATION CLEARED");
}
}
Segundo:
#include <OneWire.h>
#include <LiquidCrystal.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 9
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
float tempC = 0;
float tempF = 0;
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);
void setup() {
sensors.begin();
lcd.begin(16,2);
lcd.clear();
pinMode(3, OUTPUT);
analogWrite(3, 0);
Serial.begin(9600);
}
void loop() {
sensors.requestTemperatures();
tempC = sensors.getTempCByIndex(0);
tempF = sensors.toFahrenheit(tempC);
delay(1000);
Serial.println(tempC);
lcd.setCursor(0,0);
lcd.print(" grados: ");
lcd.print(tempC);
lcd.setCursor(0,1);
}
Gracias por vuestra atencion
Encontrado este método pero sigue sin responder
#include <EEPROM.h>
#define numSKETCH 3
void setup()
{
delay(500);
byte sketch = EEPROM.read(0);
sketch = (sketch >= 1 && sketch < numSKETCH ? sketch+1 : 1);
EEPROM.write(0, sketch);
switch(sketch)
{
case 1: sketch1(); break;
case 2: sketch2(); break;
}
}
void loop();
/**
* SKETCH 1
* pH
*/
#include "ph_grav.h" //header file for Atlas Scientific gravity pH sensor
#include "LiquidCrystal.h" //header file for liquid crystal display (lcd)
String inputstring = ""; //a string to hold incoming data from the PC
boolean input_string_complete = false; //a flag to indicate have we received all the data from the PC
char inputstring_array[10]; //a char array needed for string parsing
Gravity_pH pH = A0; //assign analog pin A0 of Arduino to class Gravity_pH. connect output of pH sensor to pin A0
LiquidCrystal pH_lcd(2, 3, 4, 5, 6, 7); //make a variable pH_lcd and assign arduino digital pins to lcd pins (2 -> RS, 3 -> E, 4 to 7 -> D4 toD7)
void sketch1()
{
//Setup:
{
Serial.begin(9600); //enable serial port
pH_lcd.begin(16, 2); //start lcd interface and define lcd size (20 columns and 4 rows)
pH_lcd.setCursor(0,2); //place cursor on screen at column 1, row 4
pH_lcd.print("--------------------"); //display characters
pH_lcd.setCursor(5, 1); //place cursor on screen at column 6, row 2
pH_lcd.print("pH "); //display "pH Reading"
if (pH.begin()) { Serial.println("Loaded EEPROM");}
Serial.println(F("Use commands \"CAL,4\", \"CAL,7\", and \"CAL,10\" to calibrate the circuit to those respective values"));
Serial.println(F("Use command \"CAL,CLEAR\" to clear the calibration"));
}
//Main loop:
while(true)
if (input_string_complete == true) { //check if data received
inputstring.toCharArray(inputstring_array, 30); //convert the string to a char array
parse_cmd(inputstring_array); //send data to pars_cmd function
input_string_complete = false; //reset the flag used to tell if we have received a completed string from the PC
inputstring = ""; //clear the string
}
Serial.println(pH.read_ph()); //output pH reading to serial monitor
pH_lcd.setCursor(8, 2); //place cursor on screen at column 9, row 3
pH_lcd.print(pH.read_ph()); //output pH to lcd
delay(1000);
}
void parse_cmd(char* string) { //For calling calibration functions
strupr(string); //convert input string to uppercase
if (strcmp(string, "CAL,4") == 0) { //compare user input string with CAL,4 and if they match, proceed
pH.cal_low(); //call function for low point calibration
Serial.println("LOW CALIBRATED");
}
else if (strcmp(string, "CAL,7") == 0) { //compare user input string with CAL,7 and if they match, proceed
pH.cal_mid(); //call function for midpoint calibration
Serial.println("MID CALIBRATED");
}
else if (strcmp(string, "CAL,10") == 0) { //compare user input string with CAL,10 and if they match, proceed
pH.cal_high(); //call function for highpoint calibration
Serial.println("HIGH CALIBRATED");
}
else if (strcmp(string, "CAL,CLEAR") == 0) { //compare user input string with CAL,CLEAR and if they match, proceed
pH.cal_clear(); //call function for clearing calibration
Serial.println("CALIBRATION CLEARED");
}
}
/**
* SKETCH 2
* Temperatura
*/
#include <OneWire.h>
#include <LiquidCrystal.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 9
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
float tempC = 0;
float tempF = 0;
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);
void sketch2()
{
//Setup:
{
sensors.begin();
lcd.begin(16,2);
lcd.clear();
pinMode(3, OUTPUT);
analogWrite(3, 0);
Serial.begin(9600);
}
//Main loop:
while(true)
{
sensors.requestTemperatures();
tempC = sensors.getTempCByIndex(0);
tempF = sensors.toFahrenheit(tempC);
delay(1000);
Serial.println(tempC);
lcd.setCursor(0,0);
lcd.print(" grados: ");
lcd.print(tempC);
lcd.setCursor(0,1);
}
}
Encontrado este método pero sigue sin responder
#include <EEPROM.h>
#define numSKETCH 3
void setup()
{
delay(500);
byte sketch = EEPROM.read(0);
sketch = (sketch >= 1 && sketch < numSKETCH ? sketch+1 : 1);
EEPROM.write(0, sketch);
switch(sketch)
{
case 1: sketch1(); break;
case 2: sketch2(); break;
}
}
void loop();
/**
* SKETCH 1
* pH
*/
#include "ph_grav.h" //header file for Atlas Scientific gravity pH sensor
#include "LiquidCrystal.h" //header file for liquid crystal display (lcd)
String inputstring = ""; //a string to hold incoming data from the PC
boolean input_string_complete = false; //a flag to indicate have we received all the data from the PC
char inputstring_array[10]; //a char array needed for string parsing
Gravity_pH pH = A0; //assign analog pin A0 of Arduino to class Gravity_pH. connect output of pH sensor to pin A0
LiquidCrystal pH_lcd(2, 3, 4, 5, 6, 7); //make a variable pH_lcd and assign arduino digital pins to lcd pins (2 -> RS, 3 -> E, 4 to 7 -> D4 toD7)
void sketch1()
{
//Setup:
{
Serial.begin(9600); //enable serial port
pH_lcd.begin(16, 2); //start lcd interface and define lcd size (20 columns and 4 rows)
pH_lcd.setCursor(0,2); //place cursor on screen at column 1, row 4
pH_lcd.print("--------------------"); //display characters
pH_lcd.setCursor(5, 1); //place cursor on screen at column 6, row 2
pH_lcd.print("pH "); //display "pH Reading"
if (pH.begin()) { Serial.println("Loaded EEPROM");}
Serial.println(F("Use commands \"CAL,4\", \"CAL,7\", and \"CAL,10\" to calibrate the circuit to those respective values"));
Serial.println(F("Use command \"CAL,CLEAR\" to clear the calibration"));
}
//Main loop:
while(true)
if (input_string_complete == true) { //check if data received
inputstring.toCharArray(inputstring_array, 30); //convert the string to a char array
parse_cmd(inputstring_array); //send data to pars_cmd function
input_string_complete = false; //reset the flag used to tell if we have received a completed string from the PC
inputstring = ""; //clear the string
}
Serial.println(pH.read_ph()); //output pH reading to serial monitor
pH_lcd.setCursor(8, 2); //place cursor on screen at column 9, row 3
pH_lcd.print(pH.read_ph()); //output pH to lcd
delay(1000);
}
void parse_cmd(char* string) { //For calling calibration functions
strupr(string); //convert input string to uppercase
if (strcmp(string, "CAL,4") == 0) { //compare user input string with CAL,4 and if they match, proceed
pH.cal_low(); //call function for low point calibration
Serial.println("LOW CALIBRATED");
}
else if (strcmp(string, "CAL,7") == 0) { //compare user input string with CAL,7 and if they match, proceed
pH.cal_mid(); //call function for midpoint calibration
Serial.println("MID CALIBRATED");
}
else if (strcmp(string, "CAL,10") == 0) { //compare user input string with CAL,10 and if they match, proceed
pH.cal_high(); //call function for highpoint calibration
Serial.println("HIGH CALIBRATED");
}
else if (strcmp(string, "CAL,CLEAR") == 0) { //compare user input string with CAL,CLEAR and if they match, proceed
pH.cal_clear(); //call function for clearing calibration
Serial.println("CALIBRATION CLEARED");
}
}
/**
* SKETCH 2
* Temperatura
*/
#include <OneWire.h>
#include <LiquidCrystal.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 9
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
float tempC = 0;
float tempF = 0;
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);
void sketch2()
{
//Setup:
{
sensors.begin();
lcd.begin(16,2);
lcd.clear();
pinMode(3, OUTPUT);
analogWrite(3, 0);
Serial.begin(9600);
}
//Main loop:
while(true)
{
sensors.requestTemperatures();
tempC = sensors.getTempCByIndex(0);
tempF = sensors.toFahrenheit(tempC);
delay(1000);
Serial.println(tempC);
lcd.setCursor(0,0);
lcd.print(" grados: ");
lcd.print(tempC);
lcd.setCursor(0,1);
}
}
|
|
|
|
| CNC 3018 PRO No mueve ejes |
|
Enviado por: ramon1972 - 10-01-2021, 12:47 PM - Foro: Fresadoras CNC
- Sin respuestas
|
 |
Hola a Todos.
Me presento soy Ramón, soy nuevo en el mundo de las CNC, me animé después de ver varios videos de YouTube de esta máquina y me interesé como jobbie.
Por ello me regalaron los Reyes esta CNC 3018 PRO, que después de montarla, instalé el Software que traía. CANDLE 1.1.7 lo instalé y funcionaban los ejes.
Al día siguiente intenté abrir el mismo software pero ya no funcionó mas.
Entonces viendo videos de YouTube vi que unos trabajaban con OPENBUILD CONTROL, y otros con Universal Code Sender. Después de instalar dichos softwares, uno me abre pero no se mueve la cabeza sobre los ejes y el otro me da error.
Dejo un link de youtube de lo que me pasa, que es igual que a otra persona que parece que se ha quemado la placa madre, pero no creo pues no he hecho aún ningún trabajo, ni nada.
https://www.youtube.com/watch?v=e4T7siJL6MY&t=90s
Hay alguien que le contesta que es un problema de configuración. Pero no sé como se podría resolver.
Llevo más de dos días intentando resolver el problema pero no doy con la tecla. Y rendirme sería lo último que me gustaría hacer....
Dejo también foto de lo que me pasa con el universal gcode sender, que no se me carga igual que al Sr Ferrete faltan las flechas de dirección, y cuando lo conecto con la CNC se sale del programa dando un error de java. No sé que puede estar pasando.
Por favor os solicito ayuda.
Gracias de antemano.
![[Imagen: image.png]](https://i.ibb.co/PCstP8C/image.png)
Esto lo escribo 4 horas mas tarde.
Sigo dando vueltas al asunto.
Me he conectado con otro ordenador he metido el driver según instrucciones CH340SER.EXE en otro ordenador y los motores se mueven, al revés pero se mueven. (un tema de configuración,,,, espero)
Bueno parece que no es la placa,
Ahora en el ordenador que tengo, no veo como des instalar el controlador para que borre lo anterior pues al decir uninstal no se borra lo anterior y al reinstalar no hace nada.
Si alguien tiene alguna idea de como hacerlo que me indique.
Otra vez gracias.
|
|
|
|
|