Saltar a contenido

60. Cajal

Componentes:

  • Estructura
  • Motores
  • fotobarreras
  • ardunino mega. Marlin
  • pantalla lcd
  • BeagleBone
  • Circuito apagado

60.1 Fuente de alimentación

Modelo SP-360-12V DC Salida: 12V 30 A

60.2 Control con BeagleBone (BB)

Este mini ordenador ejecuta "Octoprint" que utilizamos para transferir los ficheros de impresión y controlar la impresora usando OctoPrint.
Usamos la distribución debina para BB mas reciente

60.2.1 Instalación de OctoPrint

Para la instalación en debian usamos este repositorio. Con un script de instalación y mantenimiento

60.2.2 Apado remoto

Hacemos pasar el polo activo (L) por un relé que es controlado por la BeagleBone

60.3 Motores

  • Eje X,Y

    • Sparkfun 0,33 A
  • Eje Z. Comprados en Thingibox.

    • Angulo de paso 1,8º +- 5%
    • Tensión nominal por fase 2,8V
    • Corriente nominal por fase 1,68 A
  • Extrusor
    • Thingibox 1.6 A

60.4 Conectores, partes eléctricas y CPU

XLR4 (En la siguiente imagen no tener en cuenta la resistencia)

60.4.1 Conector motores

image.png

60.4.2 Ramps 1.4

image.png

CONEXIONES para X Y Z

xlr → placa ramps 1.4

1 -- 1B
2 -- 1A
3 -- 2A
4 -- 2B

Para Z1, Z2 igual numeración.

60.4.3 Drivers de motores y ajustes

Para el ejuste seguimos la guia de reprap: https://reprap.org/wiki/Pololu_stepper_driver_board
Usamos los drivers Pololu DRV8825.

alt text

En estos drivers la resistencia de medida de corriente es de 0.1 Ohm.
La tensión de referencia en la placa y en los drivers es de 5 V . El potenciometro es de 100 KOhm, la resistencia R% es de 20 KOhm. Las resistencias R7 y R8 de medida son de de 0,05 Ohm.

VREF max = (TrimpotMaxR/(TrimpotMaXR+R5)) x VDD = (100,000 / (100,000 + 20,000)) * 5 = 4.16V ITripMAX (effectively max motor current) = VREF / ( 8 x Sense_resistor) = 4.16 / ( 8 * 0.05 ) = 10.4A

To calculate amps from measured VREF: A = VREF / 0.4 To calculate VREF required for a target current: VREF = A * 0.4

As an example, running at 70% of a maximum 1A motor current, use the formula as follows:

Vref = 0.7A / 2 = 0.350V

60.4.4 Placa conexiones en la estructura

Esquemático editado en EasyEDA

Esquema

60.5 Marlin

Descargar e información: web.

La siguiente tabla es para Marlin 1 a fecha 30-12-24

Send: M503
Recv: echo:  G21    ; (mm)
Recv: echo:  M149 C ; Units in Celsius
Recv: 
Recv: echo:Filament settings: Disabled
Recv: echo:  M200 D1.75
Recv: echo:  M200 D0
Recv: echo:Steps per unit:
Recv: echo:  M92 X80.00 Y80.00 Z400.00 E23.58
Recv: echo:Maximum feedrates (units/s):
Recv: echo:  M203 X300.00 Y300.00 Z5.00 E25.00
Recv: echo:Maximum Acceleration (units/s2):
Recv: echo:  M201 X3000 Y3000 Z100 E1000
Recv: echo:Acceleration (units/s2): P<print_accel> R<retract_accel> T<travel_accel>
Recv: echo:  M204 P400.00 R30.00 T400.00
Recv: echo:Advanced: Q<min_segment_time_us> S<min_feedrate> T<min_travel_feedrate> X<max_x_jerk> Y<max_y_jerk> Z<max_z_jerk> E<max_e_jerk>
Recv: echo:  M205 Q20000 S0.00 T0.00 X10.00 Y10.00 Z0.30 E5.00
Recv: echo:Home offset:
Recv: echo:  M206 X0.00 Y0.00 Z0.00
Recv: echo:Material heatup parameters:
Recv: echo:  M145 S0 H180 B70 F0
Recv: echo:  M145 S1 H240 B110 F0
Recv: echo:PID settings:
Recv: echo:  M301 P22.20 I1.08 D114.00
Recv: ok
[...]

60.5.1 Configuración

60.5.1.1 En platform.ini

[env:mega2560]
platform            = atmelavr
extends             = common_avr8
board               = megaatmega2560
board_build.f_cpu = 16000000L
````
Añado la última linea si no no carga en la tarjeta 

## BL TOUCH (3D TOUCH)
* COMPRADO: https://es.aliexpress.com/item/32890485972.html?spm=a2g0s.9042311.0.0.274263c0uKyTBB incluye instrucciones


Tensión de  5V
Actual  15mA
Corriente máxima (pico) 300mA
Material de la carcasa  PC
Color de la carcasa Blanco
Longitud del Cable  Corto: 200mm largo: 1000mm
De alambre  
3 pines: verde: -GND
Rojo: + 5V
Naranja: cable de señal
2 pines: negro: -,GND
Blanco: Zmin


[Video explicativo](https://www.youtube.com/watch?v=7le9L2LMY-U)  

### Montaje del sensor
* Distancia entre nozle y punta del sensor cuanto está contraida: entre 2.3 y 4.3 mm
* Tamaño punta del sensor : 4 mm (comprobar)
* por tantano entre nozle y base del sensor entre 6.3 y 8.3 mm

Utilizar la herramienta del video , alto 8.1 mm

* Nivelar la cama con el z-end instalado 
* Hacer las conexiones del 3D TOUCH
    * Los tres cables que van juntos al "servo". 
    * los dos cables (amarillo  y negro) en el conector del z-end, sustituyendo al final de carrera ( OJO, GND,SEÑAL)
### Cambio en Marlin
#### En **config.h**  
* #define BLTOUCH 
* lin 952. posición del bltouch respecto a la boquilla  
    * x = +30
    * y = -6
    ```
#define NOZZLE_TO_PROBE_OFFSET { 30, -6, 0 }
El z no lo ponemos aun.
* Multiple probing. Solo cambiarlo si se desea más precisión ( y mas lento pues) * Linea 1133 , comentar: //#define MIN_SOFTWARE_ENDSTOP_Z * Comprobar (l 657) : #define Z_MIN_PROBE_ENDSTOP_INVERTING true * Comprobar (lin 838) : #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN * Descomentar (lin 1231): #define AUTO_BED_LEVELING_BILINEAR + comprobar qu está comentada (lin 1239) : //#define RESTORE_LEVELING_AFTER_G28 * Comprobar esta habilitada: #define ENABLE_LEVELING_FADE_HEIGHT

  • Descomentar (lin 1263) #define G26_MESH_VALIDATION

  • Mantener : #define GRID_MAX_POINTS_X 3

  • Descomentar : #define EXTRAPOLATE_BEYOND_GRID

  • Descomentar : #define LCD_BED_LEVELING

*Descomentar : #define Z_SAFE_HOMING

60.5.1.2 config_adv.h

  • Descomentar:
    • 61. define BLTOUCH_DELAY 500

    • 62. define BLTOUCH_FORCE_SW_MODE

62.1 UTILIDADES

  • Comando utiles:
    • M119 devuelve el estado de los fines de carrera
    • G28 Homing X Y
    • M111 S\<mascara>. activa grado de debug +

62.2 Placa Makerbase

Comprado en Aliexpress

image.png

62.2.1 Conectores

62.2.2 Motores

Los pines en la placa de los motores, mismo orden que en RAMPS 1.4

xlr → placa Makerbase

1 -- 1B
2 -- 1A
3 -- 2A
4 -- 2B

62.2.3 Configuración Smoothieware

https://www.instructables.com/Configuring-MKS-Sbase-V12-32-bit-Controller-Basics/

Download official firmware from Smoothiewares firmware page which is a subpage on their own Github page (you might want to download their full github repository (folder) in order to find their config.txt file)

62.2.3.1 Feed Rate

Pasamos los que tenemos en Marlin en mm/seg a mm/minuto en Smoothie. En marlin (x,y,x,ex) :#define DEFAULT_MAX_FEEDRATE { 300, 300, 5, 25 }

# Robot module configurations : general handling of movement G-codes and slicing into moves
default_feed_rate                            12000             # Default rate ( mm/minute ) for G1/G2/G3 moves
default_seek_rate                            12000             # Default rate ( mm/minute ) for G0 moves
mm_per_arc_segment                           0.5              # Arcs are cut into segments ( lines ), this is the length for
                                                              # these segments.  Smaller values mean more resolution,
                                                              # higher values mean faster computation
mm_per_line_segment                          5                # Lines can be cut into segments ( not usefull with cartesian
                                                              # coordinates robots ).

Pasos por mm

# Arm solution configuration : Cartesian robot. Translates mm positions into stepper positions
alpha_steps_per_mm                           80               # Steps per mm for alpha stepper
beta_steps_per_mm                            80               # Steps per mm for beta stepper
gamma_steps_per_mm                           400             # Steps per mm for gamma stepper

62.2.3.2 HE Motor

extruder.hotend.steps_per_mm                    23.585              # Steps per mm for extruder stepper
extruder.hotend.default_feed_rate               600              # Default rate ( mm/minute ) for moves where only the extruder moves
extruder.hotend.acceleration                    500              # Acceleration for the stepper motor, as of 0.6, arbitrary ratio
extruder.hotend.max_speed                       50               # mm/s

62.2.4 Hot End

temperature_control.hotend.max_pwm 255 . Máxima frecuencia pwm. Con el HE sirve el máximo.

Para auto-pid necesitamos el gcode: M303 E0 S60 y repetir para M303 E0 S200 Los valores se incluyen en el fichero de configuración.

62.2.5 H Bed

Igual que con el HE. Se debe calcular el pid y añadirlos a la configuración.

Para la cama caliente si se usa un Relé de estado solido (ej camas 220v) mejor usar el método:

temperature_control.bed.bang_bang            false           # set to true to use bang bang control rather than PID
temperature_control.bed.hysteresis           2.0             # set to the temperature in degrees C to use as hysteresis
                                                              # when using bang bang

62.3 Referencias