Quantcast
Channel: Reprap Forum - Firmware - Marlin
Viewing all 12089 articles
Browse latest View live

Re: Marlin 2.0 bed PID: autotuned, but won't heat up

$
0
0
I tracked down a general bed-heating problem to a power-supply issue. I've been running my A8 off an ATX power supply. I ran the printer off the 8-pin ATX12V connector (and a Raspberry Pi off the 5VSB output, but that isn't relevant here). With the stock bed, all was well, but I think the connector was overloaded when I upgraded to a 200W bed. On an attempted test print today, I saw that the bed-heater idiot light on the RAMPS was lit up, but not the corresponding indicator on the MOSFET board. A voltmeter across the MOSFET signal input showed the expected 12V, but I was only seeing about 3-4V on the MOSFET power input. Even when the MOSFET's idiot light came on, the power input only had maybe 10.2V on it. That's a sizable drop.

I swapped in an HP server power supply, with a PCIe breakout board that previously powered a mining rig. When I disconnected the old power supply, the wires going into the ATX12V connector were a bit scorched, and the connector broke apart when I tried to separate it. I now have a 6-pin PCIe cable with three pairs of 16-ga. wire feeding the MOSFET and one pair of a second cable driving the rest of the printer. Voltage drop at the MOSFET is no more than 200 mV or so.

Also, with the new power supply in place, bed PID is once again working as expected. I was about ready to blame a possible bed-power regression in Marlin for my problems, but that turns out to not have been the case.

Now I need to fab up a mount for the new power supply. (A new mount for the electronics is already printing.)

Re: Calibrating inductive sensor, problem with Z axis movement

$
0
0
Okay, sorry my original question was very scattered. I was able to find decent solutions to my problems, so here they are. The two issues I was having were:

1. The machine refused to move below 0 on Z axis, and since the probe obviously triggers before the nozzle reaches the bed, I needed to be able to move to negative Z values to see what my Z Probe Offset value needed to be.

I solved this by commenting out "#define MIN_SOFTWARE_ENDSTOP_Z". I was then able to move below 0 on the Z axis and confirm Z Offset as -1.8mm.
I changed the Z Offset with the following, as you would expect:
"#define Z_PROBE_OFFSET_FROM_EXTRUDER -1.8"

2. But I was still encountering my second problem, which is that for some reason the printer was not recognizing the Z Offset value even after it was set and uploaded. Sending an M851 command returned this:

SENT: M851
READ: echo:Probe Z Offset: 0.00
Probe Z Offset: 0.00

I'm still not sure why the printer was ignoring the Z Offset value, but I solved it by sending M851 Z-1.8 to set Z offset manually, then saving with the M500 command. Now, the printer displays the proper offset value constantly.

Any idea why it seems to be ignoring the Z Offset value without the workaround? I would love to not have to remember to enter M851 Z-1.8 and M500 every time I re-flash the controller.

Re: Marlin 2.0 bed PID: autotuned, but won't heat up

$
0
0
Quote
salfter
I tracked down a general bed-heating problem to a power-supply issue. I've been running my A8 off an ATX power supply. I ran the printer off the 8-pin ATX12V connector (and a Raspberry Pi off the 5VSB output, but that isn't relevant here). With the stock bed, all was well, but I think the connector was overloaded when I upgraded to a 200W bed. On an attempted test print today, I saw that the bed-heater idiot light on the RAMPS was lit up, but not the corresponding indicator on the MOSFET board. A voltmeter across the MOSFET signal input showed the expected 12V, but I was only seeing about 3-4V on the MOSFET power input. Even when the MOSFET's idiot light came on, the power input only had maybe 10.2V on it. That's a sizable drop.

I swapped in an HP server power supply, with a PCIe breakout board that previously powered a mining rig. When I disconnected the old power supply, the wires going into the ATX12V connector were a bit scorched, and the connector broke apart when I tried to separate it. I now have a 6-pin PCIe cable with three pairs of 16-ga. wire feeding the MOSFET and one pair of a second cable driving the rest of the printer. Voltage drop at the MOSFET is no more than 200 mV or so.

Also, with the new power supply in place, bed PID is once again working as expected. I was about ready to blame a possible bed-power regression in Marlin for my problems, but that turns out to not have been the case.

Now I need to fab up a mount for the new power supply. (A new mount for the electronics is already printing.)

Interesting. I was already looking into PSU's the other day and found out that mining rig PSU's are becoming cheaper in the 2nd hand market now. These can usually pump out 700-1000 Watts and seem to be candidates for higher-power beds. I didn't buy one eventually since I found out that my old PC had a really quiet ATX PSU that can deliver 450Watts and this should be enough for the machine I'm currently trying to operate. I also rigged the other old ATX supply I found in my storage for a pen plotter so I now have more than enough to work with.

Oh, before I forget, my two running 3D-printers both use Hitachi HS400-08C-S PSU's which are also server PSU's. These work brilliantly.

Re: Calibrating inductive sensor, problem with Z axis movement

$
0
0
Just a short question, but what happens when you send a G1 Z0? Does it move to Z0?

Re: Calibrating inductive sensor, problem with Z axis movement

$
0
0
Just tested, using G1 Z0 does move it to Z0. After setting the Z Offset with M851 Z-1.8 and saving with M500, the movement to Z0 does account for the Z Offset value as well. But the weird thing is, when I change Z Offset using "#define Z_PROBE_OFFSET_FROM_EXTRUDER (value)" and reflash, an M851 command still shows the old Z Offset.

Example:
I moved the probe down closer to the bed, so needed to recalculate the new offset value. My new Z Offset is -2.65. So, I change "#define Z_PROBE_OFFSET_FROM_EXTRUDER -1.8" to "#define Z_PROBE_OFFSET_FROM_EXTRUDER -2.65" and reflash the controller. Once done, using M851 shows my Z Offset value is still -1.8 even after flashing. So, is "#define Z_PROBE_OFFSET_FROM_EXTRUDER" not operating properly? Or am I doing something wrong? I can't figure out why it is ignoring the changes I make to this value.

Marlin 1.1.9 & Ender 5 newbie question

$
0
0
Hello RepRap Community,

Great to be here !

I'm a proud owner from last week of my first 3D printer the Ender 5 which I very much love.
I run a couple of amazing quality prints with the stock version of Creality and cura 4.1, unbelievable beautiful what a stock machine can deliver of quality ...

So I installed a bootloader following this guy => [johnwyles.github.io] which works just great and use the files in the attachment from this guy => [www.youtube.com] which save me a lot of time for configuring everything out, to be comply with the Ender 5 config.

However first I installed the Marlin 1.1.9 which works just fine only when heating the bed, it start to beep short beeps, also the LCD is flipping form the main display to the main menu and reverse, When printing it also beeps when heating the bed and show on the LCD display "babystep Z: 0.000" after a while it also stops but then it start again when heating the bed, beeping and changing and flipping the LCD display, drive me nuts ...
the part what is worrying me is that when the bed is heating you hear it on the X-as stepmotor it make a broem noise if it hit resistant of something, you also feel the vibrations inside the motor => this can't be good ...

Searching on the internet I notice that I had to use the Marlin bugfix 1.1.X
So I reflash to Marlin bugfix 1.1.X but the problems are exactly the same even worse now I notice also some ghosting in the print, looking further in the config file in the attachment and do diff's on them to see what's different, but I have to say that I don't see what could be wrong ...

Also put #define SPEAKER in comment but didn't work still beeping, in octoprint I do see [ Recv: T:34.58 /0.00 B:49.75 /50.00 @:0 [[B@]:127] notice the last [/B@:127] when it is not beeping then it is [B@:0] => email protected => B at: 0
So now my options are done, I don't know it anymore so I have to come and ask to you guys any feedback or suggestions to fix would be very much appreciated !!!!

Thank you very much !!!

Kind Regards,

Re: Calibrating inductive sensor, problem with Z axis movement

$
0
0
After re flashing, you must issue a M502 and M500 to update the eeprom values with the new values from the configuration.h

eeprom allways has preference over the config.h file.

Enqueueing but not processing// marlin gcode issue

$
0
0
Hello, RepRap users.
I want to configure the automatic z offset setting with customized g code.
The algorithm in customized g code(M 422 to 426) is simple,(i split the g code because of processing issue and also for function testing )
1. homing
2. move probe at the centre
3. lift z-axis until the end of trigger point of the probe

Here is the code I added in Marlin_main.cpp.

case 423: // M423: Z-offset calibration/ move probe at the centre point
gcode_G28(false);
enqueue_and_echo_commands_P(PSTR("G1 Z1.8"));
stepper.synchronize();
enqueue_and_echo_commands_P(PSTR("G1 X25 Y50"));
stepper.synchronize();

break;

case 424: // M424: Z-offset calibration/ read probe status, testing
if (current_position[X_AXIS] == 25) {
gcode_M119();
READ(Z_MIN_PROBE_PIN) ^ Z_MIN_PROBE_ENDSTOP_INVERTING;
probe = (READ(Z_MIN_PROBE_PIN) ^ Z_MIN_PROBE_ENDSTOP_INVERTING);
if (probe = true) {
SERIAL_PROTOCOLLNPGM("probe = true.");
}
}

break;

case 425: // M424: Z-offset calibration/ increase the Z height by 0.1

if (probe) {
double Z = current_position[Z_AXIS] + 0.1;
char zaxis[20];//buffer for the real number printing/scaning
SERIAL_PROTOCOLLNPGM("probe = true!.");//for testing
dtostrf(Z, 3, 1, zaxis);
sprintf_P(cmd, PSTR("G1 Z%s F300"), zaxis);
enqueue_and_echo_command(cmd);//send the cmd in the queue
stepper.synchronize();

Z = Z + 0.1;
}

break;

case 426: // M424: Z-offset calibration/ lift Z height(M425) until probe trigger point(probe status = false)
while (probe == true ) {
safe_delay(2000);
enqueue_and_echo_commands_P(PSTR("M425"));
stepper.synchronize();
safe_delay(500);
}

break;

M423 - M425 is working properly, but with (while) M426, terminal says it is enqueueing but not processing.
So it returns the false value.
It seems like the command is not added successfully by full buffer or some reasons.
Here is what the terminal says.
echo:Filament settings: Disabled
echo: M200 D1.75
echo: M200 D0
echo:Steps per unit:
echo: M92 X228.57 Y228.57 Z1828.57 E756.20
echo:Maximum feedrates (units/s):
echo: M203 X70.00 Y70.00 Z20.00 E10.00
echo:Maximum Acceleration (units/s2):
echo: M201 X500 Y500 Z100 E10
echo:Acceleration (units/s2): P R T
echo: M204 P500.00 R500.00 T500.00
echo:Advanced: S T B X Z E
echo: M205 S0.00 T0.00 B20000 X4.00 Y4.00 Z0.20 E0.10
echo:Home offset:
echo: M206 X0.00 Y0.00 Z0.00
echo:Auto Bed Leveling:
echo: M420 S0
echo:PID settings:
echo: M301 P18.88 I0.80 D110.96
echo: M304 P88.61 I15.91 D123.40
echo:Z-Probe Offset (mm):
echo: M851 Z-2.60
echo:busy: processing
echo:busy: processing
echo:busy: processing
X:60.00 Y:62.00 Z:0.00 E:0.00 Count X:13714 Y:14171 Z:0
echo:enqueueing "G1 Z1.8"
echo:enqueueing "G1 X25 Y50"
ok
echo:SD init fail
Reporting endstop status
x_min: open
y_min: open
z_min: TRIGGERED
z_probe: open
probe = true.
ok
probe = true!.
echo:enqueueing "G1 Z1.9 F300"
ok
echo:enqueueing "M425"
echo:enqueueing "M425"
echo:enqueueing "M425"
echo:enqueueing "M425"
echo:enqueueing "M425"
echo:enqueueing "M425"FAILED.
echo:enqueueing "M425"FAILED.
echo:enqueueing "M425"FAILED.
echo:enqueueing "M425"FAILED.
echo:enqueueing "M425"FAILED.


Does anybody have some solutions with this issue?
Thanks in advance!

Re: Calibrating inductive sensor, problem with Z axis movement

$
0
0
Ah okay, that makes sense. I will update the eeprom values tonight. Thank you!

Re: Calibrating inductive sensor, problem with Z axis movement

$
0
0
Just FYI, you don't need to edit your configuration to be able to move past the probe point when figuring out what to set Z_PROBE_OFFSET_FROM_EXTRUDER. "M211 S0" will temporarily disable software endstops ("M211 S1" will re-enable them) so you can make your measurement.

Re: Calibrating inductive sensor, problem with Z axis movement

$
0
0
Thank you for the tip! That will make things much easier. I'm going to brush up on the full list of gcode commands so I don't have to reflash every time I tweak something. Thanks again!

Re: Fysetc Mini 12864 display on Creality CR10S-Pro - is it possible?

$
0
0
Hi my first post here.

Have from before an "Cr-10s" with ezlabs sensor and function rock solid.
Has gone to the purchase of 12864 lcd display for my new "Cr-10s PRO".
Is there a guide for what i need do to make it work together?
Have experience from Marlin source code so is just a basic guide i need.

Thanks
Roy Kenneth

Marlin 2.0/ MKS GenL - SPINDLE_LASER_ENABLE issue

$
0
0
Hallo,

I have MKS GenL in my CNC plotter running with Marlin 1.1.9 bugfix. Before some time I found some SW issues so I want to try use Marlin 2.0. Everything is working well untit activation function SPINDLE_LASER_ENABLE. In version 1.1.9 is it working without problems but in Version 2.0 I get this strange error messages during compilation. For compiling I´m using Visual Studio Code.

In file included from Marlin\src\lcd\menu\menu_temperature.cpp:31:0:
Marlin\src\lcd\menu\menu_temperature.cpp: In function 'void menu_spindle_laser()':
Marlin\src\lcd\menu\menu.h:303:56: error: no matching function for call to 'TMenuItem::action_edit(const char*, uint8_t*, int, int, void (&)())'
MenuItem_##TYPE ::action ## VARIANT(__VA_ARGS__); \
^
Marlin\src\lcd\menu\menu.h:339:62: note: in expansion of macro '_MENU_ITEM_VARIANT_P'
#define MENU_ITEM_EDIT_CALLBACK(TYPE, LABEL, ...) _MENU_ITEM_VARIANT_P(TYPE, _edit, false, PSTR(LABEL), PSTR(LABEL), ## __VA_ARGS__)
^
Marlin\src\lcd\menu\menu_temperature.cpp:332:9: note: in expansion of macro 'MENU_ITEM_EDIT_CALLBACK'
MENU_ITEM_EDIT_CALLBACK(int3, MSG_LASER_POWER, &spindle_laser_power, SPEED_POWER_MIN, SPEED_POWER_MAX, update_spindle_laser_power);
^
Marlin\src\lcd\menu\menu.h:190:17: note: candidate: static void TMenuItem::action_edit(const char*, TMenuItem::type_t*, TMenuItem::type_t, TMenuItem::type_t, screenFunc_t, bool) [with NAME = MenuItemInfo_int3; TMenuItem::type_t = int; screenFunc_t
= void (*)()]
static void action_edit(PGM_P const pstr, type_t * const ptr, const type_t minValue, const type_t maxValue, const screenFunc_t callback=nullptr, const bool live=false) {
^
Marlin\src\lcd\menu\menu.h:190:17: note: no known conversion for argument 2 from 'uint8_t* {aka unsigned char*}' to 'TMenuItem::type_t* {aka int*}'
Marlin\src\lcd\menu\menu.h:307:110: error: cannot convert 'uint8_t* {aka unsigned char*}' to 'MenuItemInfo_int3::type_t* {aka int*}' for argument '5' to 'void draw_menu_item_edit_int3(bool, uint8_t, const char*, const char*, MenuItemInfo_int3::type_t*, ...)'
draw_menu_item ## VARIANT ## _ ## TYPE(encoderLine == _thisItemNr, _lcdLineNr, PLABEL, ## __VA_ARGS__); \
^
Marlin\src\lcd\menu\menu.h:339:62: note: in expansion of macro '_MENU_ITEM_VARIANT_P'
#define MENU_ITEM_EDIT_CALLBACK(TYPE, LABEL, ...) _MENU_ITEM_VARIANT_P(TYPE, _edit, false, PSTR(LABEL), PSTR(LABEL), ## __VA_ARGS__)
^
Marlin\src\lcd\menu\menu_temperature.cpp:332:9: note: in expansion of macro 'MENU_ITEM_EDIT_CALLBACK'
MENU_ITEM_EDIT_CALLBACK(int3, MSG_LASER_POWER, &spindle_laser_power, SPEED_POWER_MIN, SPEED_POWER_MAX, update_spindle_laser_power);
^
*** [.pioenvs\megaatmega2560\src\src\lcd\menu\menu_temperature.cpp.o] Error 1
======================================================= [ERROR] Took 7.69 seconds =======================================================

Isn´t somebody here with some experience with this?

Best regards

Marlin 1.1.9 thermocouple(AD8495) Weird calculation?

$
0
0
I recently bought a k-type thermocouple for my printer and was trying to use it.
but when i put in on my printer with ad8495 breakout board, it would only measure something like 180C at room temp!
so i searched about it, and came up with this

oringinal marlin code:
((RAW) * 6.6 * 100.0 / 1024.0 / (OVERSAMPLENR) * (TEMP_SENSOR_AD595_GAIN) + TEMP_SENSOR_AD595_OFFSET)

modified code:
((((RAW) * 5.0 / 1024.0 / (OVERSAMPLENR) - 1.25) / 0.005 / (TEMP_SENSOR_AD8495_GAIN)) + TEMP_SENSOR_AD8495_OFFSET)

the equation to measure temps with ad8495 is [Temperature = (Vout - 1.25) / 0.005 V ]

and i can't understand where did [(RAW) * 6.6 * 100.0 / 1024.0] came from!

as far as i know, oversamplenr means marlin will measure the temperature 16times and use the average of it.
so RAW input would be something like X16 of analog reading, which would be why we use RAW/OVERSAMPLENR.

since analog input is read as (analog read voltage/5)*1024,

i did this [(RAW) * 5.0 / 1024.0 / (OVERSAMPLENR)] to regain original voltage reading from the breakout board and applied it to ad8495 equation.

And now, i'm getting accurate temperatures.
But am i right about this?
since there are now subtract in the code, will it be ok to use it like that?
why the oringinal code was like that? where did that *6.6 came from?

changing oversampling

$
0
0
i recently changed my printer's sensor to thermcouple
and i'm pretty satisfied with it's high temp durability but on the other hand, it seems like thermocouple is very volunable to noises.
my temp readings are going up and down like +-15 degrees!
i did lots of pid tunings and the actual temperature looked stable but the readings are jumping all around
so, i want to get rid of those noises, shielding the cable is an option but it doesn't always work
and i was looking for more simple options like tweaking firmware
then i found this oversamplenr in the firmware which means marlin will use the average of 16 readings from the sensor.
so i tried changing it from 16 to 32 and when i raised the bed temp, it triggered bed mintemp err.
and now i'm curious.
can i modify that value?

software problem: target temperature not reached

$
0
0
I have a problem where the software sets the temp of the hot-end to about 10 degrees C below the target the g-code specifies. This is consistent when set to low or high temps. This is an image of a temp plot from octoprint.



I know the hardware is good because the head heats up to the wrong temp with a normal heating curve. The printer had no problems with the same firmware for weeks. This just started happening today.

I have tried ...
1) Using the front panel to test temp instead of g-code
2) Changing temperatures
3) Trying different PIDS including the auto-tuned ones
4) Rebooting printer between each test
5) reading the marlin configuration.h looking for clues

Anyone have any idea what might cause this?

Re: software problem: target temperature not reached

$
0
0
I fixed my problem by reloading the firmware. I should have tried this earlier but I didn't see how firmware could change.

Sorry for any trouble.

Need help installing 12864 lcd on Cr-10s PRO.

$
0
0
Hi trying to post a post here.

I have a Cr-10s PRO. Fantastic machine but lousy firmware and display at the moment.

Seeing more have switched to Marlin 1.1.9 and using 12864 display similar to Cr-10s.

Want it to behave like TH3D's firmware.
Which firmware should I use and how do I proceed?

This thing i have control over:
Stock abl sensor.
Solder together r64
Solder together r66
The right layout for exp1 and exp2

Dual Extruders and move axis operation

$
0
0
I am building my 3rd custom 3D printer, but this is the first one I've done with dual extruders. I got the printer powered up and running for the first time last night, but I have some questions on the behavior of the two extruders and wanted to clarify.

General Info:

I am using a MKS Gen 1.4 Board with DVR8825 stepper drivers.
Not that it matters, but I've got two e3D titan extruders mounted in a Bowden configuration.
I have an endstop setup as a filament runout sensor, I only have one configured at the moment, not two.

When I was going through last night and testing all the axis movements and functionality through the LCD interface, I noticed some odd behavior with the extruders when trying to move them using the "Move Axis" menu.

I have 3 menu options under "Move Axis" relative to the extruders:

Extruder
Extruder 1
Extruder 2

I heated both hot ends up to 200F to ensure I wouldn't run into issues triggering the low temp extrusion. I made sure both were at temp before attempting the test.

If I select Extruder 1 and manually move it, it works just fine. Display shows the distance I've moved as normal.
If I select Extruder 2 I will see the distance that I already moved Extruder 1 displayed on the screen before I start any further movements. I turn the knob and I don't get any movement out of Extruder 2, but the number on the screen changes as I turn the dial as if it were moving. I also don't think I was getting any movmement from Extruder 1.The same thing happens if I start trying to move extruder 2 first, but it starts off at zero.
Finally, if I just try moving Extruder, I think extruder 1 is the one that moves.

I suspect it's behaving like both extruders are acting as one. The fact that the value of extruded length carries over no matter what menu option I choose is leading me to think that. I want to make sure my firmware is configured properly before I start chasing hardware issues.

Now, I'll say that it's possible I have a bad stepper driver. The batch of drivers I ordered had one bad driver in it already that I found on my other custom printer. The driver that was connected to extruder 2 (E1 position on the board) was much hotter than the others when I felt it, and it was set to the same voltage as the others.

I'm using Marlin 1.1.9 with a RepRapDiscount FULL GRAPHIC Smart Controller. I've pasted the first portion of my configuration.h file below through the section on extruders. I don't know if there is somewhere else within the firmware I have to go to adjust the menu functionality, or if it should already be setup to support driving the extruders individually rather than as a combo.

#include 

/**
 * Marlin 3D Printer Firmware
 * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
 *
 * Based on Sprinter and grbl.
 * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see [www.gnu.org].
 *
 */

/**
 * Configuration.h
 *
 * Basic settings such as:
 *
 * - Type of electronics
 * - Type of temperature sensor
 * - Printer geometry
 * - Endstop configuration
 * - LCD controller
 * - Extra features
 *
 * Advanced settings can be found in Configuration_adv.h
 *
 */
#ifndef CONFIGURATION_H
#define CONFIGURATION_H
#define CONFIGURATION_H_VERSION 010109

//===========================================================================
//============================= Getting Started =============================
//===========================================================================

/**
 * Here are some standard links for getting your machine calibrated:
 *
 * [reprap.org]
 * [youtu.be]
 * [calculator.josefprusa.cz]
 * [reprap.org]
 * [www.thingiverse.com]
 * [sites.google.com]
 * [www.thingiverse.com]
 */

//===========================================================================
//============================= DELTA Printer ===============================
//===========================================================================
// For a Delta printer start with one of the configuration files in the
// example_configurations/delta directory and customize for your machine.
//

//===========================================================================
//============================= SCARA Printer ===============================
//===========================================================================
// For a SCARA printer start with the configuration files in
// example_configurations/SCARA and customize for your machine.
//

//===========================================================================
//============================= HANGPRINTER =================================
//===========================================================================
// For a Hangprinter start with the configuration file in the
// example_configurations/hangprinter directory and customize for your machine.
//

// @section info

// User-specified version info of this build to display in [Pronterface, etc] terminal window during
// startup. Implementation of an idea by Prof Braino to inform user that any changes made to this
// build by the user have been successfully uploaded into firmware.
#define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes.
#define SHOW_BOOTSCREEN
#define STRING_SPLASH_LINE1 SHORT_BUILD_VERSION // will be shown during bootup in line 1
#define STRING_SPLASH_LINE2 WEBSITE_URL         // will be shown during bootup in line 2

/**
 * *** VENDORS PLEASE READ ***
 *
 * Marlin allows you to add a custom boot image for Graphical LCDs.
 * With this option Marlin will first show your custom screen followed
 * by the standard Marlin logo with version number and web URL.
 *
 * We encourage you to take advantage of this new feature and we also
 * respectfully request that you retain the unmodified Marlin boot screen.
 */

// Enable to show the bitmap in Marlin/_Bootscreen.h on startup.
//#define SHOW_CUSTOM_BOOTSCREEN

// Enable to show the bitmap in Marlin/_Statusscreen.h on the status screen.
//#define CUSTOM_STATUS_SCREEN_IMAGE

// @section machine

/**
 * Select the serial port on the board to use for communication with the host.
 * This allows the connection of wireless adapters (for instance) to non-default port pins.
 * Serial port 0 is always used by the Arduino bootloader regardless of this setting.
 *
 * :[0, 1, 2, 3, 4, 5, 6, 7]
 */
#define SERIAL_PORT 0

/**
 * This setting determines the communication speed of the printer.
 *
 * 250000 works in most cases, but you might try a lower speed if
 * you commonly experience drop-outs during host printing.
 * You may try up to 1000000 to speed up SD file transfer.
 *
 * :[2400, 9600, 19200, 38400, 57600, 115200, 250000, 500000, 1000000]
 */
#define BAUDRATE 250000

// Enable the Bluetooth serial interface on AT90USB devices
//#define BLUETOOTH

// The following define selects which electronics board you have.
// Please choose the name from boards.h that matches your setup
#ifndef MOTHERBOARD
  #define MOTHERBOARD BOARD_MKS_GEN_13
#endif

// Optional custom name for your RepStrap or other custom machine
// Displayed in the LCD "Ready" message
#define CUSTOM_MACHINE_NAME "Box Printer"

// Define this to set a unique identifier for this printer, (Used by some programs to differentiate between machines)
// You can use an online service to generate a random UUID. (eg [www.uuidgenerator.net])
//#define MACHINE_UUID "00000000-0000-0000-0000-000000000000"

// @section extruder

// This defines the number of extruders
// :[1, 2, 3, 4, 5]
#define EXTRUDERS 2

// Generally expected filament diameter (1.75, 2.85, 3.0, ...). Used for Volumetric, Filament Width Sensor, etc.
#define DEFAULT_NOMINAL_FILAMENT_DIA 1.75

// For Cyclops or any "multi-extruder" that shares a single nozzle.
//#define SINGLENOZZLE

/**
 * Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
 *
 * This device allows one stepper driver on a control board to drive
 * two to eight stepper motors, one at a time, in a manner suitable
 * for extruders.
 *
 * This option only allows the multiplexer to switch on tool-change.
 * Additional options to configure custom E moves are pending.
 */
//#define MK2_MULTIPLEXER
#if ENABLED(MK2_MULTIPLEXER)
  // Override the default DIO selector pins here, if needed.
  // Some pins files may provide defaults for these pins.
  //#define E_MUX0_PIN 40  // Always Required
  //#define E_MUX1_PIN 42  // Needed for 3 to 8 steppers
  //#define E_MUX2_PIN 44  // Needed for 5 to 8 steppers
#endif

// A dual extruder that uses a single stepper motor
//#define SWITCHING_EXTRUDER
#if ENABLED(SWITCHING_EXTRUDER)
  #define SWITCHING_EXTRUDER_SERVO_NR 0
  #define SWITCHING_EXTRUDER_SERVO_ANGLES { 0, 90 } // Angles for E0, E1[, E2, E3]
  #if EXTRUDERS > 3
    #define SWITCHING_EXTRUDER_E23_SERVO_NR 1
  #endif
#endif

// A dual-nozzle that uses a servomotor to raise/lower one of the nozzles
//#define SWITCHING_NOZZLE
#if ENABLED(SWITCHING_NOZZLE)
  #define SWITCHING_NOZZLE_SERVO_NR 0
  #define SWITCHING_NOZZLE_SERVO_ANGLES { 0, 90 }   // Angles for E0, E1
  //#define HOTEND_OFFSET_Z { 0.0, 0.0 }
#endif

/**
 * Two separate X-carriages with extruders that connect to a moving part
 * via a magnetic docking mechanism. Requires SOL1_PIN and SOL2_PIN.
 */
//#define PARKING_EXTRUDER
#if ENABLED(PARKING_EXTRUDER)
  #define PARKING_EXTRUDER_SOLENOIDS_INVERT           // If enabled, the solenoid is NOT magnetized with applied voltage
  #define PARKING_EXTRUDER_SOLENOIDS_PINS_ACTIVE LOW  // LOW or HIGH pin signal energizes the coil
  #define PARKING_EXTRUDER_SOLENOIDS_DELAY 250        // Delay (ms) for magnetic field. No delay if 0 or not defined.
  #define PARKING_EXTRUDER_PARKING_X { -78, 184 }     // X positions for parking the extruders
  #define PARKING_EXTRUDER_GRAB_DISTANCE 1            // mm to move beyond the parking point to grab the extruder
  #define PARKING_EXTRUDER_SECURITY_RAISE 5           // Z-raise before parking
  #define HOTEND_OFFSET_Z { 0.0, 1.3 }                // Z-offsets of the two hotends. The first must be 0.
#endif

/**
 * "Mixing Extruder"
 *   - Adds G-codes M163 and M164 to set and "commit" the current mix factors.
 *   - Extends the stepping routines to move multiple steppers in proportion to the mix.
 *   - Optional support for Repetier Firmware's 'M164 S' supporting virtual tools.
 *   - This implementation supports up to two mixing extruders.
 *   - Enable DIRECT_MIXING_IN_G1 for M165 and mixing in G1 (from Pia Taubert's reference implementation).
 */
//#define MIXING_EXTRUDER
#if ENABLED(MIXING_EXTRUDER)
  #define MIXING_STEPPERS 2        // Number of steppers in your mixing extruder
  #define MIXING_VIRTUAL_TOOLS 16  // Use the Virtual Tool method with M163 and M164
  //#define DIRECT_MIXING_IN_G1    // Allow ABCDHI mix factors in G1 movement commands
#endif

// Offset of the extruders (uncomment if using more than one and relying on firmware to position when changing).
// The offset has to be X=0, Y=0 for the extruder 0 hotend (default extruder).
// For the other hotends it is their distance from the extruder 0 hotend.
#define HOTEND_OFFSET_X {0.0, 40.00} // (in mm) for each extruder, offset of the hotend on the X axis
#define HOTEND_OFFSET_Y {0.0, 0.00}  // (in mm) for each extruder, offset of the hotend on the Y axis

Re: software problem: target temperature not reached

$
0
0
Well it wasn't really fixed. It is happening again. I tried everything and then I just gave up and changed the marlin config temp window to +- 10 degrees so it works now staying 10 degrees below what the g-code requests. I set the temp in my slicer to 10 degrees more so it is at the right temp.

One of the more confusing problems I've had with any software. Maybe I'll do some marlin debugging and track down exactly where the problem is. Any suggestions on the best way to debug? Maybe print one-line output on the bottom of the screen?
Viewing all 12089 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>