Pulsa aquí para entrar a los foros.
Bienvenido, Invitado
Tienes que registrarte para poder participar en nuestro foro.

Nombre de usuario
  

Contraseña
  





Estadísticas del foro
» Miembros: 11,237
» Último miembro: davielen
» Temas del foro: 9,001
» Mensajes del foro: 102,381

Estadísticas totales

Últimos temas
Estrallator
2 DHT y 3 relés (ayuda co...

Foro: Informática
Último mensaje por: Estrallator
Hace 2 horas
» Respuestas: 1
» Vistas: 54
Estrallator
¿ me serviria la anucubi?

Foro: DLP/SLA
Último mensaje por: Estrallator
Hace 2 horas
» Respuestas: 1
» Vistas: 57
grafisoft
Fresadora Desktop CNC 500

Foro: Fresadoras CNC
Último mensaje por: grafisoft
Hace 2 horas
» Respuestas: 92
» Vistas: 8,898
Estrallator
¿Mejorar impresora o empe...

Foro: Impresoras
Último mensaje por: Estrallator
Hace 2 horas
» Respuestas: 2
» Vistas: 66
Simemart
Ender 3 no imprime bien l...

Foro: Impresoras
Último mensaje por: Simemart
Hace 6 horas
» Respuestas: 13
» Vistas: 140
Simemart
Tutorial sensores BLTOUCH...

Foro: General
Último mensaje por: Simemart
Hace 6 horas
» Respuestas: 106
» Vistas: 65,175

 
  Error de impresión anycubic photon
Enviado por: iguanaslot - 17-10-2019, 07:09 PM - Foro: DLP/SLA - Sin respuestas

Buenas tardes , ya eh logrado imprimir perfectamente , varias piezas muchas diría yo , hasta le dia de hoy que al mandar la impresion , me a salido una placa curada de resina en la impresión , pensé que era mal calibrado lo calibre de nuevo y la segunda impresión lo mismo , despues dije esta mal acomodadas las piezas lo hice y el resultado es el mismo siempre sobre la llanta de 1/18 , imprimí junto con ellas las llantas de 1/64 y resultó bastante buena  la impresión pero con las piezas grandes no fue así , tiene alguna idea de que pueda estar causando este problema de impresión 

resim

resim


resim

resim

Imprimir

  pantalla OLED y menu con encoder
Enviado por: homer32 - 16-10-2019, 09:52 PM - Foro: Arduino - Sin respuestas

hola a todos.
estoy intentando hacer con una pantalla OLED de 0.96" un menu con tres opciones y dos submenus. El problema que tengo es que una vez en los submenus una vez que selecciono la opción deseada, esta se tendria que hacer una serie de cosas. (basicamente elegir un tiempo.), este último tramo  no se como hacerlo. He de decir que he copiado el codigo y lo he modificado un poquito, por eso no se como acabarlo.
adjunto el código.
a ver si me podeis ayudar un poquito.


Código:
// prueba 3.1 varios menus y pantalla OLED i encoder
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 64 // OLED display height, in pixels


//#define NUM_MENU 3

#define OLED_RESET 13

Adafruit_SSD1306 display(OLED_RESET);

#if (SSD1306_LCDHEIGHT != 32)

#error("Height incorrect, please fix Adafruit_SSD1306.h!");

#endif

const char menu1[] PROGMEM = "Fototrampeo";
const char menu2[] PROGMEM = "Droopwater";
const char menu3[] PROGMEM = "star";

const char sub11[] PROGMEM = "Atras";
const char sub12[] PROGMEM = "Retardo disparador";
const char sub13[] PROGMEM = "Tiempo obturando";

const char sub21[] PROGMEM = "Atras";
const char sub22[] PROGMEM = "Retardo disparador2";
const char sub23[] PROGMEM = "Tiempo obturando2";



const char * const menus[] PROGMEM =
{
   menu1,
   menu2,
   menu3,

   sub11, // sub menu for menu1
   sub12,
   sub13,

   sub21, // sub menu for menu2
   sub22,
   sub23,

};
int button_pin = 7;
int button_state = 0;
int button_state_last = 1;
int subMenu = 0;
int NUM_MENU = 3;

int val=-1;
int encoder0PinA = 3;
int encoder0PinB = 4;
int encoder0Pos = 0;
int encoder0PinALast = LOW;
int n = LOW;


void setup() {

 pinMode( button_pin , INPUT_PULLUP);
 
 pinMode (encoder0PinA, INPUT);
 pinMode (encoder0PinB, INPUT);

 display.begin(SSD1306_SWITCHCAPVCC, 0x3C);  // initialize with the I2C addr 0x3D (for the 128x64)

 Serial.begin (9600);
}

void loop() {

 button_state = digitalRead( button_pin );

 Serial.println( button_state );


 updateKnob();
 buttonPush();

if( val != encoder0Pos ){
   val = encoder0Pos;
   updateMenu();
   //delay(100);
}
}
void updateKnob()
{
  n = digitalRead(encoder0PinA);
 if ((encoder0PinALast == LOW) && (n == HIGH)) {
   if (digitalRead(encoder0PinB) == LOW) {
      if( encoder0Pos > 0 ){
          encoder0Pos--;
      }else{
          encoder0Pos = NUM_MENU-1;
      }
   } else {
     if( encoder0Pos < (NUM_MENU-1) ){
         encoder0Pos++;
     }else{
         encoder0Pos = 0;
     }
   }
   Serial.print (encoder0Pos);
   Serial.println();
 }
 encoder0PinALast = n;
 
}
void updateMenu(){
 
  display.clearDisplay();

  display.setTextSize(1);
 
 if( subMenu == 0 ){
      drawMenu(0);
 }
 else if( subMenu == 1){
      drawMenu(3);
 }
 else if( subMenu == 2){
      drawMenu(6);
 }
   
  display.display();
 
}
void buttonPush()
{
   if( (button_state == 0) && ( button_state_last != 0) ){
        button_state_last = 0;
       
        if( (subMenu == 0) && ( encoder0Pos == 0)){ // sub menu 1
             
             subMenu = 1;
             NUM_MENU = 3;
             val = -1;
        }
        else if( (subMenu == 0) && ( encoder0Pos == 1)){ // sub menu 2
             
             subMenu = 2;
             NUM_MENU = 3;
             // NUM_MENU = 2;
             val = -1;
        }
        else if( ((subMenu != 0) && ( encoder0Pos == 0)) ){ // Back to main menu
             subMenu = 0;
             NUM_MENU = 3;
             val = -1;
        }
       
       
   }

   
   button_state_last = button_state;
   
}
void drawMenu(int start){
 
  char tBuffer[22];
 
  for(int i=0; i < NUM_MENU;i++){
 
       //display.setCursor(5,(i*20)+5);
       display.setCursor(5,(i*10)+1);
       display.setTextColor(WHITE);
       if( (encoder0Pos) == i ){
         display.setTextColor(BLACK, WHITE);
       }
       display.println(strcpy_P(tBuffer, (char*)pgm_read_word(&(menus[i+start]))));
             
  }
 
}

Imprimir

  PROBLEMA DE IMPRESION ENDER 3
Enviado por: matiasdeza - 16-10-2019, 04:53 PM - Foro: Mecánica - Respuestas (1)

Hace tiempo compramos una Ender 3 y luego de calibrarla todavia no pudimos realizar una buena impresion de algun modelo descargado, hicimos las pruebas con el perrito que viene cargado de fábrica y salió aceptable, pero luego intentamos varios diseños de thingiverse y todos tuvieron errores. Principalmente falla al.intentar hacer círculos, ya que salen deformados mas bien ovalados, y tambien falla en las.dimensiones ya que el cubo de calibracion salió rectangular.
Dejo una imagen del dado de calibración xyz, de otro dado de base circular y de un prisma que cancelamos al ver que los orificios no eran circulares
resim

Imprimir

  Configuración inical de la impresora.
Enviado por: Simemart - 16-10-2019, 04:11 PM - Foro: General - Respuestas (5)

Uno de los problemas habituales que experimentan los usuarios que acceden a este mundillo comprando una impresora tipo DIY, es conseguir buenos resultados de impresión desde el primer momento, necesitando más o menos tiempo de experimentación hasta llegar a resultados aceptables.
Dado que estas impresoras actualmente suelen venir pre montadas y bastante bien ajustadas, en comparación con lo que solía ser habitual hace pocos años, la razón de esto (salvo defectos de fabricación o montaje incorrecto) suele ser debida a la calibración y configuración inicial una vez montada la máquina.
Dado el gran número de consultas con problemas de impresión en los primeros intentos, voy a exponer una forma que creo es bastante sencilla para conseguir desde la primera impresión unos buenos resultados.
Para ello, se necesitará tener un instrumento de medida para realizar estas con cierta precisión (un calibre digital decente, por ejemplo).
Antes de pasar a las calibraciones, habrá que asegurarse de que el montaje es correcto: que todo encaje como debe; que todos los tornillos estén bien apretados; que los ángulos de las piezas que van a 90º estén bien; que todos los ejes deslizan a mano con suavidad, sin puntos de bloqueo y que las correas estén a la tensión apropiada (ni flojas ni demasiado tensas). Hay que colocar la impresora en una superficie horizontal y estable, de forma que quede bien asentada, para evitar vibraciones durante su funcionamiento.


Ajuste de la cama

Lo primero a realizar es el ajuste correcto de la cama. Para ello hay que nivelarla y ajustar la altura inicial correspondiente al punto 0 del eje Z.
La nivelación hay que realizarla respecto a la boquilla del extrusor. La forma más sencilla y a la vez bastante precisa, es hacerlo en las cuatro esquinas mediante una hoja de papel.
Algunas impresoras traen una opción en el menú para ayudar en este proceso. En Marlin se denomina Level Corners, por ejemplo (si se tiene activada, solo aparece en el menú después de hacer home).
Si la cama no tiene problemas de planitud, con este proceso se realiza también la regulación de la altura del punto 0 del eje Z.
Hay que ir ajustando de forma circular la separación entre la boquilla y la cama (mediante la regulación que tenga la cama, normalmente unas ruedas en cada esquina), primero las cuatro esquinas y terminar en el centro, para que pase rozando ligeramente la hoja de papel (de 80gr/m² si se ajusta también el punto 0 del eje Z). Se debe repetir el proceso varias veces seguidas, pues el ajuste de cada esquina influye en el de las demás. Al finalizar el proceso, tendremos perfectamente nivelada y ajustada la cama.


Configuración previa

Antes de pasar a configurar la extrusión, hay que configurar correctamente los movimientos de los motores.
Para los ejes XYZ utilizaremos los valores de micropasos por milímetro que traiga la impresora de fábrica. Suelen estar bastante aproximados y más adelante los ajustaremos de forma precisa.
Para el extrusor hay que calibrarlo en todo caso, pues se necesita un ajuste lo más preciso posible de cara a la configuración de la extrusión.
Para realizar esta calibración, hay que marcar de forma apropiada el filamento con vistas a medir lo que se desplaza realmente para una distancia ordenada. Después mandamos extruir una distancia suficiente (por ejemplo, 100mm) y comprobamos cuanto se ha desplazado el filamento. Hay que tener en cuenta que el firmware solo deja mover el motor del extrusor si el fusor se encuentra por encima de una determinada temperatura. Para ello, lo mejor es utilizar la función de precalentamiento que suele haber en el menú.
Con la medida que hemos obtenido, calculamos el valor a configurar en los micropasos por milímetro del extrusor, aplicando la siguiente fórmula: micropasos a configurar = micropasos actuales * distancia ordenada / distancia medida.
De las tres formas que hay para cambiar este valor en la impresora, en este caso las dos más apropiadas seguramente sean utilizar la opción del menú (si se tiene) o conectar la impresora al ordenador por USB y enviar (mediante una aplicación que lo permita, como Pronterface) el comando M92 Exxx, donde xxx es el valor que hemos calculado antes (se pueden indicar decimales con un punto). Si ninguna de las dos anteriores está disponible en nuestra impresora (poco probable), habría que utilizar la tercera que consiste en modificar el firmware, recompilarlo y volverlo a grabar en la placa.
Después de realizar el cambio con los dos primeros métodos, hay que grabar el nuevo valor en la memoria EEPROM para que se mantenga cuando se reinicie la impresora. Para ello también hay dos formas: por la opción Guardar memoria del menú (si está disponible) o enviando el comando gcode M500.


Configuración de la extrusión

Con todo lo anterior, ya estamos preparados para configurar como extruye la impresora.
Para ello, tenemos que configurar el programa de corte (fileteador o slicer) para realizar una impresión que nos permita ajustar el ancho de línea. Hay que configurar de forma correcta los diámetros de boquilla y filamento, indicar el ancho de línea deseado (yo suele utilizar siempre el mismo que al diámetro de la boquilla), ajustar el flujo (en algunos programas lo llama multiplicador de extrusión) al 100% (multiplicador=1), indicar 0 paredes superiores, 1 pared inferior, 1 perímetro y relleno al 0% (sin relleno). El resto de parámetros, los habituales para la impresión del material que utilicemos.
Como normalmente será PLA de 1,75mm y con boquilla de 0,4mm, unos valores apropiados pueden ser los siguientes:
En las propiedades de la impresora: diámetro de boquilla=0,4; diámetro del filamento=1,75.
En las propiedades del perfil de impresión: ancho de línea=0,4; flujo=100% (multiplicador=1); altura de capa=0,2; temperatura fusor=200; temperatura cama=60; velocidad de impresión=50; velocidad contorno=30, ventilador 100% desde la segunda capa.
Hay que generar un archivo STL de un cubo de caras lisas (por ejemplo, de 20x20x20mm sin letras en las caras) mediante el programa de diseño que utilicemos habitualmente. Con los ajustes anteriores, nos imprimirá una caja sin tapa.
Iremos variando el flujo (multiplicador) hasta que consigamos que el grosor de la pared del cubo sea igual al valor que hemos configurado para el ancho de línea. Una vez conseguido este, esos serán los valores del ancho de línea y flujo (multiplicador), que deberemos tener siempre configurados en el perfil de impresión para ese material.

resim


Ajuste dimensional final

Una vez configurado correctamente el ancho de extrusión, ya podemos calibrar de forma precisa lo que se mueven los ejes XYZ.
Para ello, configuramos el programa de corte ya con los valores normales para una impresión, pero con el ancho de línea y el flujo que ya hemos calibrado antes.
Por ejemplo, podemos utilizar los mismos valores anteriores, pero con 3 paredes superiores, 3 paredes inferiores, 3 perímetros y relleno al 25%.
Generamos el STL de un cubo de arista suficientemente grande para minimizar los errores de medida (de 50x50x50mm, por ejemplo) y lo imprimimos con la anterior configuración. Una vez fría la pieza, comprobamos las medidas reales de cada eje y ajustamos los micropasos por milímetro de cada uno como hicimos para el extrusor.
Mediante una escuadra medimos la perpendicularidad y en caso de que algún ángulo entre ejes no sea de 90º tendremos que comprobar cual es la causa y corregirla.

Una vez terminado todo el proceso de calibración, la impresora debería dar una buena terminación a las piezas y con unas dimensiones bastante precisas.

Imprimir

  Problema de avance en eje Y con CNC shield y DRV8825.
Enviado por: antarjcor - 16-10-2019, 11:49 AM - Foro: Electrónica - Respuestas (2)

Hola
No he podido encontrar información de lo siguiente, si ya esta, mil disculpas.
Tengo dos motores iguales en el eje Y. Y1 y Y2, por darles nombre.
Los dos iguales.
Los dos ejes son iguales, para que no haya problema de diferencia de pasos en los mismos.
Los dos con un DRV8825 calibrados con el mismo voltaje de salida.
Los parámetros en GRBL evidentemente son iguales, pues no distingue, que yo sepa, por ese concepto.
Creo que la velocidad y aceleración están bien ajustados, pues el ruido que hacían los motores con respecto al principio es mínimo, solo he hecho pruebas de movimiento, en cualquier caso es el mismo valor, el del eje Y.

He invertido la conexión de los cables a los controladores.
He sustituido uno de los motores, Y2, el que da más diferencia.
He cambiado uno de los controladores, el de Y2 que parece que da más diferencia.

Sin embargo, lo haga en la dirección que lo haga avanza un motor el doble que el otro.

Hay algún parámetro en GRBL que indique que hay dos ejes clonados, a parte de los dos jumpers de la placa CNC Shield.

Las pruebas las estoy haciendo con GcodeSender desde Windows XP, en un portátil que tenía abandonado y que estoy usando para este montaje.

Gracias de antemano.
Un saludo

Imprimir