luc-github / Repetier-Firmware-4-Davinci

Repetier-Firmware-0.92 based for DaVinci printer (Beta - so far so good)
GNU General Public License v3.0
194 stars 98 forks source link

Davinci 1.0A Feedback #93

Closed celevra closed 6 years ago

celevra commented 9 years ago

Hi,

thank you for your work, you asked for feedback everything worked perfect. Installation -> no issues Calibration -> no issues first print -> no issues

if there is anything i should test, tell me. thank you again

regards

celevra

luc-github commented 9 years ago

Thanks a lot for your feedback, really appreciated can you confirm you flashed with watchdog enabled ? this is the random issue on 1.0A - first flash make printer to restart, but with latest version I changed WD initialization command to fix it.

Thanks again

celevra commented 9 years ago

i'm not sure what you mean with watchdog, i've done exact every step in the step by step Installation guide here on github. i've first resettet the printer with the jumper j37, turned the printer on for about 10 seconds. I'm on OSX and downloaded arduino 1.5.8 Beta copied the files, changed the configuration to 1 for the A version, changed the port and pressed upload. i'm not sure if the printer restartet automaticly but there was a really loud "beep" i have written the settings to eeprom directly on the printer not via repetier host.

hope there is the information you needed, if not guide me in the right direction and i will try to answer ;-)

luc-github commented 9 years ago

it is perfect, if you followed the installation steps it means you did not disabled the WD. So this is good -yeah I have added the loud beep to show FW is working in case of issue with screen (at the begining screen was randomly scrambled , but it is fixed now and I left the beep)

Thanks again for your feedback and happy printing :smile:

celevra commented 9 years ago

sounds great, for clarification, is watchdog a protection mechanism from xyzware or something?

luc-github commented 9 years ago

it is a safety feature in case of printer loose control for any reason and go into a dead loop without controling heat, if printer is out of control for 8s it will reset and so stop all heaters to avoid damage

luc-github commented 9 years ago

xyz does not have this feature as far I know

celevra commented 9 years ago

thanks for clarification have a good one

uladz commented 9 years ago

Running 0.92 firmware on Divinci 1.0A for a week already, no issues so far. Noticed two possible problems though:

  1. When doing auto calibrating at 2nd point the head seems to be trying to move beyond max Y position. Meaning it moves Y axis all the way to the front and hits hard the closes to the door polley on the right with a loud noise and possible skipping a step. May break the pulley or gears at some point?
  2. When printing is finished the head is moving to position x=0, y=0 without changing z position, which is the far right corner of the bed instead of moving to to -33,-12 parking position. I had an issue when once I've cancelled a print when it was still heating up a bed and the bed was at its highest position z=0, the head has moved to x=0,y=0 hitting the bed edge and possibly scratching it.

Otherwise prints are so much better then original XYZ firmware/software, can't compare. Thanks a lot for all the work!

luc-github commented 9 years ago

Hi thanks for your feedback about point 1 : you may need to adjust the Y2 position in EEPROM, currently it is set to : Z_PROBE_Y2 203 and was given by 1.0 owner but 1.0A may be lower, please have a try to decrease it and let me know

about point 2: this is done by your end Gcode of your slicer not by printer itself, you may need to check it, also depending of host you are using there are some predefined macro that may do this behavior and you may need to edit them

Thanks again for the feedback

uladz commented 9 years ago

Hi Luc,

Thanks a lot for your quick reply, much appreciated. I'll play around with Z_PROBE_Y2 and see if a lower value would work better for 1.0A.

For G-Code I'm using Repetier-Host + Slic3r. Could not find any way to move the hear the far right position yet, it always gets back to 0,0. Slic3r g-code does not have G1 x0, y0 code, so it must be Repetier-Host I think...

Thanks!!!

luc-github commented 9 years ago

In repetier host check this: image

go to park position should be unchecked or park position should have correct values not 0,0 better unchecked as if you kill a job at 50% go to Z=0 is very bad idea as model may hit carriage rods or put Zmin=200

uladz commented 9 years ago

Thanks a lot, will try it out now!

uladz commented 9 years ago

BTW, y=203 for the probe seem to be correct value, it stops right before the pulley. For some reason when you do auto calibration the head smashes into pulley though... Wait a minute, in the EEPROM settings I see that probe Y position is set to 205 instead of 203! That's the problem. Also max X length should be 237 and mx Y length = 215. These values seems to work fine.

On the repetier config, setting X=-33, and Y=-12 resolves the issue with the head going into position 0 upon job completion or job cancel. I've put Zmin to like 10, so the head is always above the bed. Repetier would only lower the bed if its Z position is < Zmin, but would never rise it, so no problem with hitting hit carriage rods.

uladz commented 9 years ago

Gee, I need to be careful, twice hit a bed with a print head while moving it around to get correct max coordinates. Unfortunately there is no "blocking" protection in the motors, they continue to pull all the way even if a head is not moving any more and belts are skipping. Fortunately belt tensioners are saving mechanisms from fatal failure. Well...

luc-github commented 9 years ago

Ok so you mean what should be changed for 1.0A :

#define Z_PROBE_Y2 203
#define Z_PROBE_Y3 203

and

#define Y_MAX_LENGTH 215 - ENDSTOP_Y_BACK_ON_HOME

as X is already correct : #define X_MAX_LENGTH 237 - ENDSTOP_X_BACK_ON_HOME

uladz commented 9 years ago

yep. but i thing 1.0 and 1.0A mechanically are the same, only the board is different + minor cosmetic changes. so this might be true for 1.0 too.

uladz commented 9 years ago

btw, off topic question, do you know if XYZ sells spare parts? looks like I've cracked one of the bearing holders :(. can not find any spares on XYZ website, only replacement bed, head, and tool.

luc-github commented 9 years ago

1.0 values come from 1.0 owner, so I won't change them I think - I will apply new values only on 1.0A

about spare parts check voltivo forum, some people did some metal bearing holder, you may ask them, or there are printed version available on thingiverse also

uladz commented 9 years ago

super thanks!

celevra commented 9 years ago

recognized that behavior also, to park the extruder i use the gcode M100 works if its not allready parked, if it is parked you will hear the loud noise. where do i have to change these values, i think in arduino IDE and flashing again, am i right?

luc-github commented 9 years ago

all these values are in EEPROM no need to flash, use repetier host to edit EEPROM

and to park (XY) the command is G28 XY This home XY but not Z

luc-github commented 9 years ago

update done https://github.com/luc-github/Repetier-Firmware-0.92/commit/29d84876b834f990eae1b4474ea615e332a216b3 Thanks for your feedback

uladz commented 9 years ago

BTW, doing auto leveling - does it actually affect anything? If I store the values in EEPROM I do not thing Repetier takes them into account anyway.

luc-github commented 9 years ago

need to be sure autolevel is set to 1 in EEPROM or use M320 - Activate autolevel in slicer start GCODE
when doing autolevel it generate a positions matrix used by FW, it is tranparent for host as FW will adjust the z position according the positions matrix when printing. When using autolevel you will see z moving up and down permanently during printing

That said - I never use autolevel, only to validate code, I only use manual level, once done properly, I do not need to redo for several prints and when you get used to it, IMHO it is really faster than autolevel.

uladz commented 9 years ago

Aha... I see. BTW, the Z_PROBE_HEIGHT is wrong for 1.0A, it's set to .28 now but I think the correct value is around .54. I'm comparing autolevel vs manual with paper, will let you know once I know the correct value (if I do not brake my printer before :)). Also one question, if I do manual leveling with paper, what's the Z-offset in slicer to use? Keep 0?

luc-github commented 9 years ago

yes 0

uladz commented 9 years ago

Okay, Z_PROBE_HEIGHT=0.56 seems to give me the most closest to paper-leveling numbers. I'll keep an eye on the level over time to make sure the this is the right value for 1.0A.

thevisad commented 9 years ago

I just pulled out my feeler gauges, brushed off the hotend to ensure there was no melted filament attached and dropped the hot end to the plate. With the hot end pushing the plate down slight to ensure contact, I then measured .38mm between the bed and the end of the Z probe using the feeler gauge. At least on my printer, .56 is too much and .28 is too little.

uladz commented 9 years ago

how did you measure?

thevisad commented 9 years ago

I pulled out my feeler gauges, https://en.wikipedia.org/wiki/Feeler_gauge

uladz commented 9 years ago

I see. You need to take into account the metal brackets that are in all 4 corners of the bed and that are used as contacts when auto level is measuring distance in 4 corners. This will and approx. 0.2mm and bring your number right to mine :).

I did manual calibration with paper sheet, then I have run through auto calibration and pulled the measurements right from XYZ Davinci itself.

Agree?

thevisad commented 9 years ago

The metal brackets in the corner are .92mm high, found by dropping the Z probe to the metal bracket until it makes contact, this measures .58 and then adding the offset from above of .38. This is confirmed by pulling out the calipers and testing the dual thickness of the metal bracket to be .92 (I did not compress the bracket against the plate fully in the first portion)

Then with the tip of the hot end over the bed itself, using the feeler gauge to identify the distance between the hotend and the bed. The setting indicates that this is the distance between the very tip of the hot end and the very tip of the z probe. This follows the same setting in Marlin and should not be offset by the height of the metal brackets.

/* The height is the difference between activated probe position and nozzle height. /

uladz commented 9 years ago

.58 sounds good

thevisad commented 9 years ago

I corrected the above actually, I forgot to add the two numbers together to get the actual thickness of the bracket. I verified this by pulling out the caliper and throwing it on the bracket. So the offset value does not include the bracket thickness.

uladz commented 9 years ago

You've lost me here a little bit. Shouldn't this be way around, 0.92 is the metal bracket, 0.38 is the diff between probe and tip. Then the probe height would be 0.92-0.38=0.54 in your case as this will be the distance between tip and bed when probe touches the metal bracket. Or I do not understand something...

thevisad commented 9 years ago

Yup, you are right, I am a bit tired and was adding the two, at least I have the correct offset for mine now. I would best it's pretty close for everyone else s (give and take a little due to the bracket bending), considering both of ours appear to have roughly the same setting.

uladz commented 9 years ago

@thevisad, we are in agreement, awesome! :+1: @luc-github, I guess you can update the Z_PROBE_HEIGHT too for 1.0A.

uladz commented 9 years ago

@luc-github, is it possible to add a menu item for lowering bed to the bottom? Would be extremely useful for prepping bed for a new print.

luc-github commented 9 years ago

0.28 is value provided originaly by BGM and never checked it - when going home I will see if this value works for my 2.0 (next week)

About menu - I use Z position, there is a 100mm set, but can imagine a menu item to position to max Z

luc-github commented 9 years ago

I have created 2 trackers https://github.com/luc-github/Repetier-Firmware-0.92/issues/98 and https://github.com/luc-github/Repetier-Firmware-0.92/issues/99 - will process them later - thank you

klHaribo commented 9 years ago

the new firmware works perfect. Changed to german language, but only some lines seems to be translated. I'll try to find some time to work on it. Had some issues with heater decoupled, but it seems this is caused by opening the door and cold air flows into the printer. Upload to SD_Card via Host would be great ;)

luc-github commented 9 years ago

Hi thanks a lot for your feedback Yes sorry - I only maintain English (too lazy to do others languages, even French and Spanish....) all menu need to be reviewed in others languages as they are for 20x04 screen when Davinci's screen is 16x04 one

For heater decoupled you may adjust the setting for your printer - it may be too sensitive

// If the temp. is on hold target, it may not sway more then this degrees celsius, or we mark
// sensor as defect.
#define DECOUPLING_TEST_MAX_HOLD_VARIANCE 15
// Minimum temp. rise we expect after the set duration of full heating is over.
// Always keep a good safety margin to get no false positives. If your period is e.g. 10 seconds
// because at startup you already need 7 seconds until heater starts to rise temp. for sensor
// then you have 3 seconds of increased heating to reach 1°„C.
#define DECOUPLING_TEST_MIN_TEMP_RISE 1

and

/** Time in ms between a heater action and test of success. Must be more then time between turning heater on and first temp. rise! */
#define EXT0_DECOUPLE_TEST_PERIOD 30000

the upload to SDCard from host already exists and works, but it uses repetier protocol which is very slow compare to wifi SDCard transfert

klHaribo commented 9 years ago

due to my poor school english I don't really understand this text ;) I found these settings already. changed DECOUPLING_TEST_MIN_TEMP_RISE to 3, autotuned PID's and it seems to work for now. Printer only stopped when I was doing something in another room, seems like he wanted to fool me ;)

luc-github commented 9 years ago

Hmm DECOUPLING_TEST_MIN_TEMP_RISE 3 will increase risk of decouple error for my understanding, the best is to increase extruder instead EXT0_DECOUPLE_TEST_PERIOD 60000 also check your connectors they also can be the root cause in some position

bagwan commented 8 years ago

Hi! I have flashed repetier on my 1.0A before a Week, and printed some Meters of Filament without any Problem. Yesterday I would start a Print, and it stopped after 2 minutes with "Heater Decoupled" Okay, checked the Heater and the Cabels. No defects. So I startet a Job and measured the Pinoutput on the Board for the Heater. There are no Power on the Pins. Do you think I have a Problem with the Firmware/Software?, or is it a real Defect on the Board? In a Forum, which I´ve asked for a circuit Diagramm, theres another Person, which have exact the Same Problem. Flashed with Repetier, printed a few Meters, Then "Heater Decoupled" Thanks for your Help

luc-github commented 8 years ago

Can have several factor for decoupled error: 1- the connectors (sensor/heater are loose) this is common problem on Davinci - several people changed their connector or soldered cable directly and ensure cable are not moving 2- the door is open or a fan is blowing on extruder and so do perturbation on air flow and heating 3- hardware issue - no heat

none is FW/SW

first you need to eliminate point 2 by disabling additional fan if any and close door if not point 2 to debug problem you can flash FW disabling decouple test in configuration.h then heat if heating it is not point 3 but point 1 - check also all 3 led are working on main board if one of them is off it you got a hardware problem

you also can observe the heating chart in repetier to monitor temperature changes according extruder position to see if there is no short

Hope it help

bagwan commented 8 years ago

First, thanks for your Quick reply.

The Cable and the Heater is definitv ok. The 3 LEDs on the Board are working. When the Heater should heat up, then should the Connector on the Board have 12V. But my Multimeters shows no Volts. on the Pins. So i Think, there is defective on the Board. Is it meanwhile possible to go back to XYZ Firmware? Because i have actually 4 Weeks Rest Guarantee...

luc-github commented 8 years ago

No for 1.0A there is no way to revert , XYZ have implemented a lock for this and no tools is able to flash back but the one from support I suggest you to fix the problem here a thread for the problem: http://voltivo.com/forum/davinci-peersupport/734-1-0a-no-power-to-extruder-heater-fix

or use the jumper to erase FW and contact XYZ and tell them you power on your printer and there is 2 black bar and never mention repetier FW they will send you a new board or ask to send printer back for fixing, play the dumb saying you have no idea what happened

bagwan commented 8 years ago

Thanks 1000Times. That was my Problem. Fixed the Heater Problem. Made my Day

thomastech commented 8 years ago

Flashed my 1.0A (3F10A hardware version) from XYZ V1.0.3 to Repetier 0.92 a couple days ago. First, a big Thank You to the developers / contributors.

Some comments / feedback:

  1. I used Arduino 1.6.5. Because of my confusion on the directory location of the two AdditionalArduinoFiles I fought the 2-black bar (brick) issue for awhile. After getting the files into the correct directories (under /users) things went much better. None of this would have occurred if I had used Arduino 1.5.8 since the two files go in more obvious directories ( under /programs files).
  2. On my 1.0A the top cover open Alert did not work. I changed the TOP_SENSOR_PIN from 6 to 64 and that solved the problem for me.
  3. I experienced a lot of host "wait" command delays during long prints. Increasing Simplify3D's buffer cache size to 2024 has reduced these events, but the wait delays still randomly occur. I understand that the issue is related to the TIMER1_COMPA_VECTOR() interrupt. If there is a patched version of HALL.cpp then I would definitely like to try it out.

Overall I really like the 0.92 upgrade versus the stock XYZ firmware. The stock feature I really miss is the ability to do standalone USB prints (send file, then shut off PC). So now I am looking into octoprint as a workaround.