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¶
60.4.2 Ramps 1.4¶
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.
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
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 }
* 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¶
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
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¶
- Reprap, el inicio.