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

Panel buttons don't work (no replies)

$
0
0
The buttons on my control panel either don's work or are unusabley flaky. Pushing the O.K. button may or may not flash the next menu on but only for about a second. On the single occasion that I was able to make a selection, the encoder seemed to work but the other button 'Back' does not work at all. The 20 character by 4 line LCD HD44780 type display works fine.

This panel works with Repetier firmware in the same printer with the same RAMPS controller.

Can anybody tell me where I may look for the solution to this problem

Marlin version 1.1.9
Printer controller: RAMPS1.4/Arduino Mega2560
Printer: Cartesian
Controls: Encoder ALPS 24 detent with NO push switch
Tactile NO push switch

In file Configuration.H I have selected:-

#define REPRAP_DISCOUNT_SMART_CONTROLLER

In file pins.RAMPS.h I have modified the pins for NEWPANEL and REPRAP_DISCOUNT_SMART_CONTROLLER as below

// LCD Display input pins
	 //
	 #if ENABLED(NEWPANEL)

	   #if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER)
	     #define BTN_BACK		31	// New line **********
	     #define BEEPER_PIN		45	// was 37 **********

	     #if ENABLED(CR10_STOCKDISPLAY)
	       #define BTN_EN1		17
	       #define BTN_EN2		23
	     #else
	       #define BTN_EN1		37	// was 31 **********
	       #define BTN_EN2		35	// was 33 **********
	     #endif

	     #define BTN_ENC		33	// was 35 **********
	   //  #define SD_DETECT_PIN	49
	   //  #define KILL_PIN		41

	     #if ENABLED(BQ_LCD_SMART_CONTROLLER)
	       #define LCD_BACKLIGHT_PIN 39
	     #endif

Thanks for any assistance,

Mike

error: Err: Too far! (1 reply)

$
0
0
greetings,

just a quick question :

after updating my stock A8 to marlin 1.1.9 with the correct configuration profile , after auto home the display shows: X -33 Y -10 Z 0 , and The home position for my printer is not above the bed .
so I am trying to adjust the X and Y offset . I'm not sure if I am doing this correctly but I use the menu to move the the correct corner of the bed and then select "Set home offsets"
but I get an error: Err: Too far!

any support PLZ

Request: UBL differential mesh calculation (no replies)

$
0
0
Hi,

I could not locate a way to do this automatically, this is why I called it a request.

I am adding a set of 3 piezo probes to an Ultimaker clone attached to the print table base plate knobs. Two of them are located at the left and right front corners of the plate and a third one is at the rear middle of it. I turns out that the piezos are unable to generate a correct UBL mesh because, due to the geometry, the front sensors react more sensitively than the rear one. And the rear corners are really off. Using the automatic bed probing will generate values which are off, but (important) always by the same differences.

I would like to suggest a new feature for the UBL mesh system which could be (emphasis in "could be") implemented like this:
1) the user measures the mesh manually, point by point (once and for all) and stores it in a slot, say slot 7;
2) using the auto bed leveling, a sensor mesh is measured and stored in another slot, like slot 6;
3) with some G29 P command, a final differential mesh using the above two slots is calculated and stored in a third slot, for example slot 1.

- Does this already exist?

Using a method like this would minimize the tweaking process every time an auto bed leveling is performed.

Marlin 2.0.x bugfix on Wanhao D6 Compile Error (no replies)

$
0
0
I have downloaded the 2.0.x version for the wanhao d6 for marlin 2.0.x bugfix and am receiving compile errors when using the example configuration.h and configuration.adv.h. The compile errors I'm getting are SanityCheck.h: error: #error "Please select no more than one LCD controller option." I have gone through the configuration file and have confirmed that there is only 1 LCD controller option uncommented. Any help would be appreciated.

Auto bed leveling don't work in Marlin 1.1.9 (no replies)

$
0
0
Firmware Marlin 1.1.9.

After the commands

G28

G29

G0 z0

 the nozzle does not reach the bed 4-5 mm.

I turn on the logging of the G29 command (M111 S32). At the end of the work gives

messages for linear and 3-point auto level

         20: 21: 17.468: current_position = (200.00, 90.00, 15.35): G29 uncorrected XYZ

        20: 21: 17.468: Z from Probe: 10.93 Matrix: 15.28 Discrepancy: -4.35

        20: 21: 17.469: current_position = (199.99, 90.02, 10.93): G29 corrected XYZ

        20: 21: 17.469: current_position = (199.99, 90.02, 10.93): clean_up_after_endstop_or_probe_move


or for bilinear auto level

        20: 15: 32.184: G29 uncorrected Z: 15.41

         20: 15: 32.184: corrected Z: 11.00

        20: 15: 32.184: current_position = (190.00, 200.00, 11.00): clean_up_after_endstop_or_probe_move


After leveling real Z position changes to another. After moving nozzle to Z0, the nozzle does not coincide with the bed. Clearence between bed and nozzle is about 4-6mm.

Why is this happening and how to fix it?

Auto bed leveling don't work in Marlin 1.1.9 (1 reply)

$
0
0
Firmware Marlin 1.1.9.

After the commands

G28

G29

G0 z0

the nozzle does not reach the bed 4-5 mm.

I turn on the logging of the G29 command (M111 S32). At the end of the work gives

messages for linear and 3-point auto level

20: 21: 17.468: current_position = (200.00, 90.00, 15.35): G29 uncorrected XYZ

20: 21: 17.468: Z from Probe: 10.93 Matrix: 15.28 Discrepancy: -4.35

20: 21: 17.469: current_position = (199.99, 90.02, 10.93): G29 corrected XYZ

20: 21: 17.469: current_position = (199.99, 90.02, 10.93): clean_up_after_endstop_or_probe_move

or for bilinear auto level

20: 15: 32.184: G29 uncorrected Z: 15.41

20: 15: 32.184: corrected Z: 11.00

20: 15: 32.184: current_position = (190.00, 200.00, 11.00): clean_up_after_endstop_or_probe_move

After leveling real Z position changes to another. After moving nozzle to Z0, the nozzle does not coincide with the bed. Clearence between bed and nozzle is about 4-6mm.

Why is this happening and how to fix it?

SSD1306 OLED over SPI with Marlin 2.0 (no replies)

$
0
0
Hello All,

I've been using 0.96 OLED display over I2C on Marlin 1.1.9. After having switched to Marlin 2.0 running on Re-Arm I am experiencing issues with this display coonected over I2C.
I've done some research and it seems to me that most people are using this displays in I2C mode.

Is there any chance to connect it over SPI?
If so I would appreciate a link to a guide (if it exists) or at least an advice on where to start digging.

Thanks

Heating failed (no replies)

$
0
0
Hello everyone

I am building a 3D Printer

every time I try to print, The extruder does not heating up "stays at room temperature" , while the heatbed heating up, but after 10 minutes an error appears

Error:Heating failed, system stopped! Heater_ID: bed
[ERROR] Error:Heating failed, system stopped! Heater_ID: bed

Error: Printer halted. kill() called!
[ERROR] Error: Printer halted. kill() called!


Using MK2A heated pcb bed (200x200)

when I turn on the bed and extruder from the software, the extruder reaches the temperature that i need, while the bed keep heating up until that the same error appears "after around 10 min"

Problem z axis (1 reply)

$
0
0
So I have a Monoprice mini v1. The mother board failed so I replaced it with a reprap RAMPS 1.4 board and Arduino Mega 2560 processor. I have compiled and loaded Marlin 1.1.9. The unit appears to home normally, but when I go to print a file the extruder hits the build plate. I was able to correct this by leveling the bed using a very thick piece of card board, but I don’t like the solution. Is there a way of fixing this using the Marlin software? Thanks.

Issue with Bltouch (no replies)

$
0
0
Ok so here is the deal, I have a Anet A8 and it probes the bed is 9 points.. it's fine nozzle does not crash into the bed and whatever.. however the start of the print where I have it print a 4mm line before starting the print for whatever reason the nozzle goes below the bed level when trying to make that 4mm line now (changed the nozzle for TPU printing) Maybe I don't have the M851 command right.. but this is how I did it..


G28

G1 X110 Y110

M851 Z0


I did do the M500 command to make sure it was saved and all


I lowered the nozzle to the thickness of the paper.. Now sometimes what would happen is either my Z height would be 0 Or it would not be (-) but something like Z10.45 I haven't been able to print for a few days but I would like to figure this out because it's just having me puzzled.

Another question doing a G28 then doing a M851 Z0 and then M114 should the Z level height be Z0.00?

DUAL "E" STEPPERS FOR CLAY PRINTING IN MARLIN FIRMWARE (1 reply)

$
0
0
Hello,

I`m printing with clay using the E0 stepper inside the extruder head and an air compressor to feed the extruder with clay.
I want to replace the compressor with another stepper that pushes a plunger, helped with a gearbox, so i need the same movement in both steppers.
I achieve installing the second stepper and moving it with the G-code but picking out first the one that i want to move with T0 and T1, so i can`t move them simultaneously with the same order.

The Firmware I`m using is Marlin 1.1.9, and the board is a Trigorilla (Anycubic Kossel) which is equivalent to the RAMPS 14,

Thanks in advance

FANMUX what is it? (1 reply)

$
0
0
So i've been wondering this for a while, what is FANMUX for, I see user after user trying to use these settings to no avail.. I suspect in part as no one seems to know what this is for.

It was added back in 2017 [github.com]

The code seems to simply toggles IO pins on extruder change by calling the following passing the extruder number as a parameter.

void fanmux_switch(const uint8_t e) {
    WRITE(FANMUX0_PIN, TEST(e, 0) ? HIGH : LOW);
    #if PIN_EXISTS(FANMUX1)
      WRITE(FANMUX1_PIN, TEST(e, 1) ? HIGH : LOW);
      #if PIN_EXISTS(FANMUX2)
        WRITE(FANMUX2, TEST(e, 2) ? HIGH : LOW);
      #endif
    #endif
  }

Just seems to do the following.
e | FANMUX0_PIN | FANMUX1_PIN | FANMUX2_PIN
-----------------------------------------------------------------------
0 | 0           | 0           | 0
1 | 1           | 0           | 0
2 | 0           | 1           | 0
3 | 1           | 1           | 0
4 | 0           | 0           | 1
5 | 1           | 0           | 1
6 | 0           | 1           | 1
7 | 1           | 1           | 1


But without additional hardware this has no connection to the existing hotend or cooling fans....

You could of course connect fans to the FANMUX pins, but they would either only be full on or off.. (and this seem to be what users try)

Anyone using this or know its original intention?
Or am I missing something?

Problem with Z homing. (1 reply)

$
0
0
I just rebuilt a Cartesian printer updating the z axis hardware and upgrading the hot end and extruder. All seems to be working ok, but when I try to jog Z, I want to bring the head down until it's touching the bed (don't have a probe setup yet so I need to do this manually). I have found that I can only move it down to about 10 mm above the bed with the jog buttons. I can't figure out why it won't go any lower than that. There is no phyisical issue. it just stops at approx. 10 mm above the bed. I have two questions.

1) what might cause this to happen even though there is nothing physically wrong with the movement of the axis, and
2) Is there a gcode that will tell me what the printer "thinks" is the location of the head in Z. There does not seem to be any indication of the axis positions on the marlin screen. (I am not using the LCD yet).

Vibration on X and Y EasyConfig 2.0.X Tevo Tarantula (no replies)

$
0
0
Hi, I have a Tevo Tarantula, was using EasyConfig 1.0.X, so far so good.
Flashed the 2.0.X using Arduino 1.8.10.
The printer vibrates while printing curves. Tried the official Marlin BugFix 2.0.X version after optimize it to work on my printer.
Same thing happens, but it also slows down printing straight lines and it ends up with some "columns". I used the same Gcode for all my tests.
I played with jerk and acceleration.
Also flashed EasyConfig 2.0.x using older arduino versions and I'm having the same issue.
Inspected thoroughly the printer for broken brackets, lose screws, damaged belts, stepper motor current, etc.
Reflashed 1.0.X and it's working perfectly.

Jerk X/Y = 7
Acceleration = 800

Any idea??
Thanks.

UBL Delta Calibration for Square Printing (no replies)

$
0
0
Marlin 1.1.9 UBL Delta Leveling for Accurate Square 3D Printing

Problem: Using Marlin’s UBL for helping with creating a perfect first layer does NOT help overcome the printer’s geometric build inaccuracies which cause severe measurement discrepancies.

Note: This is a given, but you might find that while you may be able to print calibration pieces and they come out accurate (Example below); when you go ahead and print a piece that is as large as your print bed, you will continue to run into accuracy problems (I am talking about stretching/squeezing in a triangular fashion). I guess what the crux of the matter is that UBL might give you a false sense of security because it can force the printer to print no matter what.

Example: You check your towers to be at right angles to the print bed within less than 1mm. You run G29 P1 to establish your mesh bed. The mesh bed looks like it is tilted according to the numbers in the array when you check G29 T. However, you might think, “what does it matter,” UBL is compensating for that and everything is fine. So you continue to print a calibration piece to establish X/Y/Z accuracy. (My calibration piece is 3 intersecting rectangles that are 150mm x 4mm.They are in line with each tower. They are offset more towards the towers.) The nice thing about UBL in this case is that you can go ahead and mess with your Steps/mm for every tower and then run G29 P1 and not have to worry about anything else. This allows for a quicker Steps/mm calibration (don’t get me wrong though, this process still takes a long time). You keep reprinting the calibration piece until you are very close (in my case within .5mm). So you think great, UBL is compensating for the bed leveling and I have just established corrections to the steps/mm for each tower to print correctly, I am done here. But then you get a huge surprise when you print a large square or rectangle that reaches to the edges of your print bed to find out that the print is not square. One end of the square will measure (in my case) .060” off the other side (and I talking measuring the Y distance at the maximum X and at minimum X). What is more frustrating though is that when you had Marlin 1.1.8, the bed leveling which adjusted end stops, radius, and tower angles never solved this issue either which completely threw me off track. This just goes to show that bed leveling is completely blind to X/Y and probably Z measurement accuracy. With all that said, UBL is probably the best tool to also solve the problem above. But to do so, you have to follow several manual steps and use your best judgement, when UBL or Bilinear/Trilinear bed leveling can’t.

Here is a process that I have developed to help eliminate triangular stretching/squeezing of your printed objects:

1. Best place to start is to look over the mechanics of the printer.

a. Tighten your (GT2) belts. I would even recommend getting a force gauge or deflection gauge to ensure that the tightness is very close amongst all 3 towers.

b. Have an L square ruler and check that each tower is at a 90 degree angle to the print bed or at least very close. If it is not perfect, make sure you spread the error evenly amongst all 3 towers by adjusting the bed.

c. Also check that the towers are at right angles to the joiners of the structure. That may be tricky and I would just simply recommend to build the base and top very carefully in the first place. Make sure that the joiners are equal length in the first place and then when you fasten them to the corners, ensure that the corner and joiner lines up as perfectly as you can.

2. Make sure that you have Marlin 1.1.9. with UBL enabled and a probe sensor. Else this will probably take you months to do this iteratively. I’m not even going to go into doing this completely manually. You will also need a program like Pronterface to see the mesh once it is constructed by your printer and to input commands very easily.

3. Run your first mesh using G29 P1. You will likely see that the figures you get are not even close to each other. Each tower position will be off from each other and all the areas opposite of the towers will not be close to the tower offset.

4. So knowing that physically, your bed is level with the towers, you can establish that something else must be off.

5. First place to start are the tower end stops. Either using firmware offsets (be careful, they are in steps, not in mm) or manually adjusting your end stops, ensure that the point closest to the towers is close to equal to all the other towers. Adjust, then G29 P1, then G29 T, look at the difference and then do it again until you are close. Hopefully less than .1mm.

6. Now that you have those values close to one another, evaluate whether those values are close at all to the center point. If not, then the horizontal radius needs to be adjusted until it is. Once again, you’ll have to adjust, test and re-test. However, this is where UBL makes this process so much easier because your mesh is your map and it is easy to read.

7. So now you have your center point offset very close to the tower offsets. But you might notice that the spaces in between the towers are quite different than those points. There might be more offset between Z and X towers than Y and Z towers for example. This is where adjusting the tower angles comes in. In the case described, you will go positive on the angle of the Z tower to compensate. Once again, this will be trial an error. The goal is to have the values on the mesh array very close to each other all around.

8. Afterwards do G29 P3 so that Marlin can expand the mesh one point outward and guess the figures. This is great when you are printing using the whole bed because otherwise if you go beyond the measured mesh, the printer will go back to zero offset, causing your print head to hit the print bed or go up too much.

9. After this is done, you save your work with G29 S0 (could be 0 through 7). Then you figure out your Z offset (M851) by homing your print head to the top (I don’t use G28 because it might sometimes reset the mesh or at least unload it). Using pronterface controls, scroll the print head to the print bed, leaving only a gap of .1mm. Sometimes that may be an issue if you need to go negative on your Z axis, in which case M211 S0 will allow you to go negative. Take a look at your printer display and take note of the Z position. If it is not 0, then use command M851 Z x.x (X being your value and it could be positive or negative). Then do M500 to save.

10. You can now start printing your calibration piece. But first you have to load the mesh using G29 L0. My calibration piece asks to draw a straight line from each tower, then through the center 150mm. Once that is done, you take your measurements and see where you are at. Then you start adjusting the Steps/mm for each tower. I would not do this mathematically because things don’t scale when there are 3 towers involved. Adjustment to one tower will slightly adjust the other 2.

11. Once you figured out your new steps/mm values, you will need to setup a new mesh again and save it and print another calibration piece until your lengths for each tower are within ~.5mm. Once you got the steps/mm figured out to print equal size rectangles for each tower, you will have to now look at the mesh again and see where adjustments are needed to make the plane flat and equal again on the whole print bed.

a. If the mesh points nearest to the tower are off, then it is the end stops that need adjustment again.

b. If the mesh points between the tower and center are off, then it is the radius.

c. If the mesh points between the towers are off, then you need to adjust the tower angles until they are all pretty much even.

12. Now once again print a calibration piece and see where you are at. Eventually you should be on point and then you will be able to print squarely.

Note: Now this may seem like pieces of information from doing calibrations manually years ago and they are but the UBL mesh bed makes your precision so much better that you can make your printer have just about perfect precision. Also, I would like to emphasize that in Marlin 1.1.8., the auto bed leveling feature would adjust all the tower end stops, horizontal radius, and tower angles, but it would only do so to print flatly on the print bed. And so I would probably not recommend going to 1.1.8. or using bilinear/trilinear bed leveling and then using those values for what I have just described. The goal of those routines is reaching the print bed across the whole X and Y plane, and not printing with precision. When I was using trilinear I believe, my parts were off .060” or more from one end to the other. I don’t really understand why it would do that but I guess it would just optimize the print head movement to take place on an angle or something. Hope this helps someone because I have not seen this type of information addressing this specific issue with delta printers. Took me a few weeks of trial and error. The only online info you will find is to adjust scaling in your slicer when things are too big or small. Nothing about triangular stretch or squeeze. Good luck.

-Michael N

Marlin 1.1.9 su anet A8 leggere i parametri dall eeprom (no replies)

$
0
0
Buon giorno
Non so come ma preso da strana ed imprevedibile follia un giorno sfogliando un sito di compravendita mi sono imbattuto in una Anet A8.
Ahimè senza avere idea di cosa fosse una stampante 3d o di come funzionasse. Preso dalla scimmia, l ho comprata. Ora vorrei dopo la calibrazione di tutti i parametri vorrei riflashare il fw.
Al momento c è su Marlin 1.1.9.
Come faccio a recuperare i dati del config.h?
Il tipo che me l ha venduta dice che non ha più il file perché ora ha una Ender-3.
Quindi poiché questa stampante ha diverse modifiche tra cui il display con il selettore rotante è non i tasti come procedo?
Grazie per le info...
Please tenete conto che sono lamer completo e che ho pure preso una bella fregatura... Per cui non sparate, per favore, sul pianista.
Grazie

How to use both micro-switches and TMC2130 StallGuard for end stop detection? (no replies)

$
0
0
Hello all - I was reading the forum for several months, but this is my first post here. :)

I have just upgraded Ender 3 with SKR1.3 32-bit board with TMC2130 motor drivers (SPI mode) and I use original microswitches for xMin, yMin, zMin.
However I started thinking if I could use StallGuard feature of TMC2130 for following use cases:
* additional safety measure to not hit the min/max boundaries after "disabling steppers" and the axis were moved.I know that I should do the XY homing after that, but it happened several times that I just wanted to move the print-head to the side and then I hit zMax during Zhop when homing, etc.
* for safety detection if some objects were not hit during printing (eg. some tool fell on the printer, hand, etc.)
* use it for xMax/yMax/zMax detection (as Ender 3 do not have micro-switches there and only SW detection based on print area dimensions can be performed)


Does any of the above use cases actually make sense?
Where should I start? With just the StallGuard and then add microsteps?

As I understand the TMC2130 endstop output comes through "DIAG1" pin as HIGH state. How do I use it for both min and max endstop?

How to wire the micro-switches then? By default they work by shorting GND to sensor pin (providing LOW state). Can I wire them in a way that they would short 5V to GND pin? Would it be safe for TMC2130 DIAG1 pin? Or should I use some resistors?
Is there any software option based on the SPI (as the StallGuard state is available in the M122 output)?

Maybe the easiest setup would be to use current microswitches for min detection and StallGuard through DIAG1 pins for max detection?

Bed Levelling grid size in Marlin 2.0? (2 replies)

$
0
0
Where do I define the bed levelling grid max/min parameters for Bi-Linear bed levelling in Marlin 2.0? This used to be in Configuration.h in 1.1.x but its not there now in 2.0

G0 command issue (no replies)

$
0
0
This is an upgrade to a recent bugfix 2.0.x and it previously worked.

If I reset, home all and issue a G0 x150 y150 command the drives buzz, the head goes no place, and the position indicators all update to 150 150.
If I issue G0 x150 it goes to X150. I then issue G0 Y150 and it goes to Y150, and the position indicators all update accordingly.
Does the same with scripts
Using Repetier-Host


Other movement seems to work properly.
this is a CoreXY machine and that is set.

It Quick homes OK.
babystep is OK


I believe the config files are all correct, but something obviously is not.

Printer gets up to temp, but won’t start printing.. (no replies)

$
0
0
Spectrum upgraded my internet service this morning and I had to go through and change all my ip settings. Now I am having a problem starting a print. The printer gets up to temperature, but it never starts printing. Just sits there at temp.

I do not have an LCD on this printer, but the status window repeats this message every 10 seconds or so.....
The progress should be updated Now: M117
O.33% Est 0:09:26
Since I am accessing Marlin through USB serial port, the ip changes shouldn’t matter, Just providing that info as the only thing that’s changed.
Viewing all 2831 articles
Browse latest View live


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