terça-feira, 21 de julho de 2015

CORREÇÃO DO DELTA DIAGONAL RODS POR EIXO E CORREÇÃO DA INCLINAÇÃO

   Caso ocorra um erro dimensional no eixo x e y o mais provável é que os braços estão com tamanhos diferentes pra correção você deve refazer os braços pra que eles tenha o mesmo tamanho, pesquisando sobre o problema achei soluções na qual você pode alterar o tamanho dos braços individualmente, segue abaixo a explicação 

Primeiro você deve imprimir uma peça pra saber qual eixo esta mais incorreto e imprima o arquivo em pdf para também corrigir a inclinação.

Marlin usado: https://github.com/MagoKimbra/MarlinKimbra

http://www.thingiverse.com/thing:745523, segue a foto do abaixo mostrando, caso você não consiga imprimir uma peça grande reduza pela metade e imprima. Primeiro você deve corrigir a inclinação já que essa solução esta implantada conforme a foto





envie o comando m666l e você vai ver os valores, a correção da inclinação são os valores A, B e C
 torres x, y e z respectivamente.

se vc encontrar o valor do eixo menor que 120graus, por exemplo 118graus no eixo y coloque o valor de -2 no B enviando esse comando: m666l B-2, normalmente você vai ter que corrigir apenas dois eixos o outro vai ser de referencia, sugiro o Z como referencia. Você pode também alterar diretamente no código.

MARLIN/KIMBRA - marlin_main.cpp linha 1614

delta_tower1_x = (delta_radius + tower_adj[3]) * cos((210 + tower_adj[0]) * M_PI/180); // front left tower
delta_tower1_y = (delta_radius + tower_adj[3]) * sin((210 + tower_adj[0]) * M_PI/180);
delta_tower2_x = (delta_radius + tower_adj[4]) * cos((330 + tower_adj[1]) * M_PI/180); // front right tower
delta_tower2_y = (delta_radius + tower_adj[4]) * sin((330 + tower_adj[1]) * M_PI/180);
delta_tower3_x = (delta_radius + tower_adj[5]) * cos((90 + tower_adj[2]) * M_PI/180); // back middle tower
delta_tower3_y = (delta_radius + tower_adj[5]) * sin((90 + tower_adj[2]) * M_PI/180);

torre 1 eixo x, torre 2 eixo y, torre 3 eixo z. Diminua ou aumente o valor do angulo no cosseno e seno

SEGUNDA PARTE

Agora você vai corrigir o tamanho dos eixos, as vezes os eixos nao sai do tamanho correto e os valores são diferentes para cada eixo com esse desenho vc pode medir as distancias de cada eixo e comparar com o valor real. você deve medir a distancia dos raios de cada eixo e comparar o que estiver mais próximo você considera como referencia vou usar o exemplo do site mesmo

  • x size: 60.67mm
  • y size: 60.73mm
  • z size: 60.42mm
valor real: 60,00mm

Primeiro passo é corrigir o DELTA_DIAGONAL_ROD para o eixo que ficou mais proximo, nesse caso o eixo Z

novo_DELTA_DIAGONAL_ROD = (60,42/60)*velho_DELTA_DIAGONAL_ROD

recalcular considerando o novo DELTA_DIAGONAL_ROD:

  • x size: 60.67 - 0.42 = 60.25 mm
  • y size: 60.73 - 0.42 = 60.31 mm
  • z size: 60.42 - 0.42 = 60.00 mm
Segundo passo é implementar o codigo para correção de cada braço

em configuration_delta.h acrescente esse novo codigo

#define E_MIN_POS 0
#define DELTA_DIAGONAL_X_CORRECTION 1.0 // front left tower
#define DELTA_DIAGONAL_Y_CORRECTION 1.0 // front right tower
#define DELTA_DIAGONAL_Z_CORRECTION 1.0 // back middle tower
// MOVEMENT SETTINGS
#define HOMING_FEEDRATE {100*60, 100*60, 100*60, 0} // set the homing speeds (mm/min)

Terceiro passo, você precisa alterar o marlin_main.cpp linha 355


#ifdef DELTA
float delta[3] = { 0.0 };
float tower_adj[6] = { 0, 0, 0, 0, 0, 0 };
float delta_radius; // = DEFAULT_delta_radius;
float delta_diagonal_rod; // = DEFAULT_DELTA_DIAGONAL_ROD;
float DELTA_DIAGONAL_ROD_2_X;
float DELTA_DIAGONAL_ROD_2_Y;
float DELTA_DIAGONAL_ROD_2_Z;



 linha 1614

base_home_pos[Z_AXIS] = max_pos[Z_AXIS];
DELTA_DIAGONAL_ROD_2_X= pow((delta_diagonal_rod*DELTA_DIAGONAL_X_CORRECTION),2);
DELTA_DIAGONAL_ROD_2_Y= pow((delta_diagonal_rod*DELTA_DIAGONAL_Y_CORRECTION),2);
DELTA_DIAGONAL_ROD_2_Z= pow((delta_diagonal_rod*DELTA_DIAGONAL_Z_CORRECTION),2);

linha 2020


void calculate_delta(float cartesian[3]) {
delta[X_AXIS] = sqrt(DELTA_DIAGONAL_ROD_2_X
- sq(delta_tower1_x-cartesian[X_AXIS])
- sq(delta_tower1_y-cartesian[Y_AXIS])
) + cartesian[Z_AXIS];
delta[Y_AXIS] = sqrt(DELTA_DIAGONAL_ROD_2_Y
- sq(delta_tower2_x-cartesian[X_AXIS])
- sq(delta_tower2_y-cartesian[Y_AXIS])
) + cartesian[Z_AXIS];
delta[Z_AXIS] = sqrt(DELTA_DIAGONAL_ROD_2_Z
- sq(delta_tower3_x-cartesian[X_AXIS])
- sq(delta_tower3_y-cartesian[Y_AXIS])
) + cartesian[Z_AXIS];



FEITO ISSO AGORA VOCÊ DEVE ENCONTRAR OS VALORES PARA A CORREÇÃO 


  • x size: 60.67 - 0.42 = 60.25 mm
  • y size: 60.73 - 0.42 = 60.31 mm
  • z size: 60.42 - 0.42 = 60.00 mm
DELTA_DIAGONAL_X_CORRECTION = 60,25/60 = 1,004166
DELTA_DIAGONAL_y_CORRECTION = 60,31/60 = 1,005166
DELTA_DIAGONAL_z_CORRECTION = 60/60 = 1,00



Depois imprima a peça novamente e deve dar o valor proximo do real caso nao goste da precisão faça uma nova correção ate chegar no valor desejado.

PRESICANDO DE AJUDA DEIXA UM COMENTARIO



domingo, 14 de junho de 2015

CALIBRAÇÃO DO THERMISTOR HOTEND E MESA

Muitas pessoas deixam de calibrar o thermistor para confiar nas tabelas ja existentes, contudo dificilmente a temperatura vai ser o valor real, ou seja, a sua temperatura de 230C não pode ser a 230C pode ser a 215C ou 240C, você não tem como saber se não calibrar o thermistor, a calibração não é uma obrigação apenas você vai encontrar por tentativa e erro o valor ideal de temperatura e o valor mostrado pode estar impreciso.

PARA COMPRA DE MATERIAL E ENTRE OUTROS ACESSO A NOSSA LOJA VIRTUAL:

reprapbr.com.br

O que você vai precisar para calibrar

01 termometro, onde pode ser o do multimetro

01 termopar, para medir a temperatura



01 passo:

Hotend:

crie uma tabela: você pode fazer de 5C em 5C para os valores ate 150C depois você pode fazer em 10C em 10C 

temp  / ADC
270C - 25
265C - 32 
260C - 44
255C - 55
.
.
.
30C - 1000


Os valores do ADC você vai ver pelo printrum e vai colocando de acordo com termômetro na imagem abaixo a temperatura é 33.7C e o ADC é 961



Etapa 2:


Com o hotend limpo de preferencia com o bico ainda não usado coloque o termopar como se fosse o filamento conforme a foto abaixo, se possível retire o termocontratil que fica na ponta e coloque uma fita kapton no lugar para proteger da alta temperatura alguns termopares usam um lvr que podem derreter, conforme foto abaixo



Etapa 3:


Verifique se o termopar ENCOSTOU NO BICO coloque e retire ate ter certeza se possível retire o bico e depois coloque apenas pra ter certeza que o termopar foi ate o fim.
Depois de ter feito tudo isso mande o hotend aquecer, pra começar coloque ele a 250C e fique observando o multímetro, provavelmente quando a temperatura estabilizar os valores não vão bater.
depois va aumentando a temperatura ou abaixo ate o termômetro apresentar o primeiro valor da sua tabela, feito isso você pode anotar o valor do ADC ( conversor analógico digital ) se você for rápido pode mandar desligar o hotend e a medida que a temperatura baixar vá anotando os valores dos ADC's se não conseguir você vai ter que ajustar a temperatura do hotend ate o valor do termistor bater com a sua tabela.

Etapa 4:

Criando a tabela, vá para a pasta do Marlin e procure esse arquivo, thermistortables.h nela vai ter todas as tabelas, conforme a imagem abaixo, vai ser algo parecido, nessa tabela esta a tabela da mesa e do hotend E3D V6.


Copie um modelo o copie e colo certifique que esta copiando o código do começo ate o fim de uma única tabela, veja o padrão entre as tabelas.

Altere para o numero que você vai colocar em todas as variáveis se estiver com o numero 1 coloque 99 e esse será o numero da sua tabela na hora de colocar no configuration.h


segue o exemplo abaixo, a esquerda esta o ADC e a direita esta a temperatura


depois você repete para mesa  a diferença que você pode prender o termopar na mesa com fita isolante no centro dela, eu sugiro sem o vidro.

depois de ter feito isso você pode colocar no configuration.h a tabela que você criou


Pronto!! esta ai a tabela com os valores mais corretos para a temperatura depois de feito isso faça o PID tuning para achar os valores de Kd, Kp e Ki

M303 E0 S200 C8


depois você pode salvar no marlin ou alterar via EEPROM, não esqueçam de salvar!!!

DEIXE O SEU COMENTARIO!! QUAL QUER DUVIDA ESTOU POR AQUI!!! ;)

quinta-feira, 14 de maio de 2015

Impressão em modo vaso - Simplify3D

Como esta na moda, #asminapira!!!!! @Alex kkkkkkk

Vou postar aqui como é a configuração para o modo vaso

Primeiro sugiro criar um processo apenas para vaso porque ele é muito diferente que o normal




Segundo você configura a espessura da parede



Terceiro, definir o modo vaso


O restante é normal para qual quer impressão por exemplo a velocidade de impressão, temperatura, uso do fan e o material usado.

PARA BICOS DE 0,4mm NO MAXIMO PAREDE ATE 0,65mm PARA OUTROS BICOS A MESMA PROPORÇÃO.

PARA COMPRA DE MATERIAL E ENTRE OUTROS ACESSO A NOSSA LOJA VIRTUAL:


sexta-feira, 8 de maio de 2015

Como ligar a mesa em 110V/220V


Antes de mas nada gostaria de deixar bem claro o risco de ligar uma mesa aquecida munha tensão tão alta, o risco de choque é real, podendo causar danos a impressora e a pessoas. Mas como varias pessoas me perguntaram como fazer resolvi criar para diminui o risco de alguem querer fazer por conta propria sem o devido conhecimento.

PARA COMPRA DE MATERIAL E ENTRE OUTROS ACESSO A NOSSA LOJA VIRTUAL:

reprapbr.com.br

Voce vai precisar desde relé SSR - 40A 24~380Vac - 3~32Vdc



 Permitindo o controle da mesa em 220/110V pela placa.

Vamos ao esquema de ligação:


Na mesa você liga no borne de 24V
( IMPORTANTE LEMBRAR QUE A RESISTÊNCIA NÃO PODE SER INFERIOR A 4 OMHS )

Próximo passo será a configuração no marlin

Segue abaixo o trecho no configuration.h


//============================= PID > Bed Temperature Control ===============
//===========================================================================
// Select PID or bang-bang with PIDTEMPBED. If bang-bang, BED_LIMIT_SWITCHING will enable hysteresis
//
// Uncomment this to enable PID on the bed. It uses the same frequency PWM as the extruder.
// If your PID_dT is the default, and correct for your hardware/configuration, that means 7.689Hz,
// which is fine for driving a square wave into a resistive load and does not significantly impact you FET heating.
// This also works fine on a Fotek SSR-10DA Solid State Relay into a 250W heater.
// If your configuration is significantly different than this and you don't understand the issues involved, you probably
// shouldn't use bed PID until someone else verifies your hardware works.
// If this is enabled, find your own PID constants below.
//#define PIDTEMPBED DESCOMENTA PARA ATIVAR O PID
//
//#define BED_LIMIT_SWITCHING
// This sets the max power delivered to the bed, and replaces the HEATER_BED_DUTY_CYCLE_DIVIDER option.
// all forms of bed control obey this (PID, bang-bang, bang-bang with hysteresis)
// setting this to anything other than 255 enables a form of PWM to the bed just like HEATER_BED_DUTY_CYCLE_DIVIDER did,
// so you shouldn't use it unless you are OK with PWM on your bed. (see the comment on enabling PIDTEMPBED)
#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current ALTERA O VALOR PARA 80 PARA 110v E PARA 30 PARA 220V OS VALORES PODEM SER ALTERADOS PRA AQUECER MAIS RÁPIDO CONTUDO VOCÊ PODE PERCEBER AS LUZES DA SUA CASA DIMINUIR O BRILHO.
//#define PID_BED_DEBUG // Sends debug data to the serial port.
//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
//from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
#define DEFAULT_bedKp 10.00
#define DEFAULT_bedKi .023
#define DEFAULT_bedKd 305.4

ISOLAÇÃO DA MESA:

CASO SUA MESA NÃO FOR DE ALUMÍNIO ELA JÁ É NATURALMENTE ISOLADA MAS PARA REFORÇAR A ISOLAÇÃO ONDE FICA A TRILHA COLOCAR UMA CAMADA DE FITA KAPTON PRINCIPALMENTE NAS BORDAS DEVIDO AO CONTATO DOS PRENDEDORES DO VIDRO.

PARA MESA DE ALUMÍNIO:

PODE SER APLICA É A MK3 DEVIDO AO SEU VALOR DE RESISTÊNCIA EM 24V SER ALTO. CONTUDO O RISCO DE CHOQUE É ALTAMENTE SUPERIOR DEVIDO AO FATO QUE O ALUMÍNIO É UM CONDUTOR ELÉTRICO ENTÃO CASO AINDA USE ISOLE TODA A MESA COM FITA KAPTON E COLOQUE UMA ISOLAÇÃO DE BORRACHA OU OUTRO ISOLADOR PRESO POR DEBAIXO DA MESA PARA O GRAMPO DO VIDRO NÃO TOCAR NA MESA.