Closed boelle closed 5 years ago
another Q... my mendel90 frankenbuild has the endstops in the max pos, is it still possible to home to max? and how would i change the config to do that?
i have both dual z drivers and dual z endstops but my guess is that is not supported and that your version of the firmware do like a prusa and during Z calibration it will just go up and make noise to sync them and then use the probe for homing and bed level
could be nice thou to use endstops instead as it sounds less "nasty"
Hi @boelle, let me answer all your questions.
I have an Original Prusa MK2.5 that i upgraded from my MK2S. The lefover parts (MK42 bed, PINDA v1, fan...) were used to build a new Prusa Bear printer, where I used RAMPS electronics. So my setup is actually a MK2S that i just named MK2S+ :)
I don't have a file in Variants folder, as the file Configuration_prusa.h
is already in the main Firmware
folder.
All changes to the original firmware are marked with the text /*RAMPS*/
, so that I could keep track of what I have modified and thus make it easier to lokate all changes in Visual Studio with the Search function :)
I have modified quite a bit of stuff, but to make the board work correctly, you would mainly have to adjust the Configuration_prusa.h
. Some changes might be needed in two more areas, since my calibration points were (due to my setup) in a slightly offset position from the original configuration.
If calibration fails, be sure to check if your bed point align with those in file mesh_bed_levelling.h
and 'mesh_bed_calibration.cpp'.
I just remembered, I use a G3D display, but the fw could be easily set for Original Prusa (reprap) display!
Configuration_prusa.h
"Auto"
, "Silent"
and "Stealth"
modeI could write a Readme.md file with config instructions if interest would rise. I might also need some help from @3d-gussner to edit and simplyfiy my code :)
So at least we have the same hardware (more or less)
What I do know from my settings (marlin), is that I can get the nozzle to touch 0,0 in lower left corner, if I ask printer to, Took me a long time to dial things in, but I hope that it will pay off.
The reason for wanting dual Z endstop, is so that when it homes Z, it will sync them. I'm not a big fan of just going up and "slam" against the printed parts
and my configs from marlin if that makes it more clear how my setup is currently
Of course it could be set to min or max endstop. Settings have to be set in Configuration_prusa.h. Also, after compiling the code, you should check the movement of axis, if they move left/right, front/back, up//down correctly. If not, you should change the INVERT parameter for that axis. You can use a reprap display (there's just few lines of code that need to be changed). I don't have any experience with other drivers, other than A4988.
I also looked at your .zip file and I see you have a re-arm board with Ramps 1.6. I have Arduino Mega with Ramps 1.4. I'm not familiar with your board and your pinout. Also the chip is different. Check: https://www.youtube.com/watch?v=TtYmx60rZh0
yes i included the config files just as a reference so that you had a change to compare my settings with what i say
its a re-arm and Ramps 1.4, but i do have a few mega boards arround
the drivers i have behave much like A4988, but it could be nice to change to TMC2130 and have the auto/silent/normal options
so tomorrow i think i will find the mega board and start copy over my current settings and se how far i get, as i do not have the the display i might stop pretty fast, but octoprint might allow me to get it going
so i have started to copy over the few settings i need
i'm at line 150 in Configuration_prusa.h
but there is no option for X_MAX, can i just add that? and then i thought why not try to compile and i got an error
maybe because i selected reprap type display? will try and test that thought
EDIT: bo it happens with both display types
found where to invert max endstops, line 248 in configuration.h, would it be wrong to copy them to configuration_prusa.h? or should they be moved?
i tried to compile the code unmodified, still the same error
are there any special requirements other than setting to mega2560 board ?
I tried with IDE 1.8.5 and 1.9.0, both have the same compile error, maybe @3d-gussner knows what is going on?
@boelle @cimoalpacino Hi, if you want to compile Prusa Firmware you should use Arduino IDE 1.8.5 . I assume you are using the MK3 branch, right? At least it looks like from the screenshot.
As all Arduino IDE versions use the same shared space I advise people to use Ardunio IDE in portable mode as described in my Wiki . Even this Wiki is bit older you get the idea. Never ever update AVR Boards in the Arduino IDE Board Manager these must stay as they have been downloaded.
I also wrote the PF-build.sh
script to build a stable and supported Prusa Firmware environment. So you might want to have a look at that to compile your Firmware.
Instructions are here for Linux subsystem and here for git-bash
@boelle It would be great if you had a fork where we could look to your code.
X_MAX_ENDSTOP_INVERTING
isn't used by Prusa so you might have to code bit more to get that running. You could/should move it from Configuration.h
to your /variants/Prusa_MK25_RAMPS.h
file. Searching for ENDSTOP_INVERTING
in all MK3 branch files shows that X_MIN_ENDSTOP_INVERTING
is used in several files. Also X_MAX_ENDSTOP_INVERTING
is in few but for example not in the ultralcd.cpp
which could cause some issues.
As Prusa Firmware is capable of multiple language support the default setting in the config.h
is set to
//LANG - Multi-language support
//#define LANG_MODE 0 // primary language only
#define LANG_MODE 1 // sec. language support
If you don't know how to manually compile a multi-language version or use the PF-build.sh
script you should read this and change the Firmware to English Only.
hope that helps for the moment
@3d-gussner
fork here: https://github.com/boelle/My-Prusa-Firmware/tree/MK3_3.8.0_RAMPS/Firmware
need to enable issues on it as my defaults are to turn it off, i rarely use github for other than to keep stuff updated (update&rebase)
next to setup ide 1.8.5
@3d-gussner since i will not use a rambo i guess i can skip this step:
Choose File -> Preferences and set "Additional Boards Manager URLs" to the RAMBo repository: https:// raw.githubusercontent.com/ultimachine/ArduinoAddons/master/package_ultimachine_index.json
will need to figure how to edit mega2560 files instead, but should not be a problem
I've just compiled my code successfully. Be sure to edit platform.txt in the arduino folder as it is written in Prusas' Readme.md instructions. Also, you need to use Arduino Mega2560, not Rambo in Arduino IDE.
yep, there are 2 platform.txt files
one in arduino-1.8.5\hardware\arduino\avr and one in \arduino-1.8.5\hardware
the text to look for: compiler.c.elf.flags={compiler.warning_flags} -Os -Wl,--gc-sections is not in any one them
I think you'll get started easier, if you first try to edit and compile this 3.0.6 version of Prusa. If you get this working, then there's less hassle and no need to edit any .txt file ;)
will divert from @3d-gussner page and edit \AppData\Local\Arduino15\packages\arduino\hardware\avr\ instead of \arduino-1.8.5\portable\packages\rambo\hardware\avr\1.0.1\platform.txt
going with this one for now: https://github.com/prusa3d/Prusa-Firmware/blob/MK3/README.md
need to find the correct platform.txt to edit
downloading https://github.com/sakibc/Prusa-Firmware-RAMPS
success compiling https://github.com/sakibc/Prusa-Firmware-RAMPS
so now i just replace or rename the firmware folder and put your/mine/our copy in there and try to compile again?
had the same fail again
here is what i did:
extract
open firmware.ino in 1.8.5
select mega board in menu
compile with success
rename the firmware folder to _1
copy your firmware folder to same location
compile failes
even if i download your copy and try to compile it without any changes at all it fails
is there a way i could try compile what you have on your pc right now? not sure how big zip file github allows, just to rule out that ide on my pc do something wrong or that my changes is wrong
but its just strange that even if i download and extract your copy it fails, even before i do any changes
but the link to 3.1.0 (and not 3.0.6) https://github.com/sakibc/Prusa-Firmware-RAMPS it works without any issue
but i hoped that i could update the firmware on a regular basis, not sure how to to that with the https://github.com/sakibc/Prusa-Firmware-RAMPS link
i have now forked prusa, made a new branch based on 3.1.0 and called this ramps then i replaced all files with the content from https://github.com/sakibc/Prusa-Firmware-RAMPS
will now attempt to update to latest version
i give up :-/
so i'm kind of stuck with 3.1.0 for now, but at least i can experiment with that
got some sort of life using https://github.com/sakibc/Prusa-Firmware-RAMPS
`Printer is now online. echo:echo: Last Updated: Sep 27 2019 22:49:43 | Author: (none, default config) Compiled: Sep 27 2019 echo: Free Memory: 2537 PlannerBufferBytes: 1360 echo:Hardcoded Default Settings Loaded echo:SD card ok
M114 SENDING:M114 M119 SENDING:M119 M119 SENDING:M119 M105 SENDING:M105 M500 SENDING:M500`
but as you see nothing happens if i send commands, for now i just use a seperate sd card slot or else it fails reading the card and locks me out... or maybe it is doing that now also?
so i cleared the eeprom with the example sketch in ide and then flashed firmware again
now its a bit different
Connecting... start Printer is now online. echo:echo: Last Updated: Sep 28 2019 00:03:01 | Author: (none, default config) Compiled: Sep 28 2019 echo: Free Memory: 2537 PlannerBufferBytes: 1360 echo:Hardcoded Default Settings Loaded echo:SD card ok echo:busy: paused for user echo:busy: paused for user echo:busy: paused for user echo:busy: paused for user
i guess the paused part is because its waiting for input on the display that i dont have yet
next thing i would like to do is to make a minimal setup with a few steppers and endstops and test if i can get it to move
are there any way i could bypass what i think is the setup on the lcd ?
yaaah (or so i think) :-D
i have a full graph display and i did some random turn and push and i now have temp and normal reply on the serial connection, of course not optimal but i can at least do some testing
will close this one, sorry for all the trouble
as far as getting the latest version i'm bit in doubt, i'm not very good at coding so i'm very nervous about screwing things up
my plan is i want to update is to take change one tag at a time and go through the changes 3.1.1-RC5 is the next after 3.1.0 https://github.com/prusa3d/Prusa-Firmware/commits/v3.1.1-RC5
my assumption is that i can just go after the merge PR ones, and i'm sure there is a smarter way, but then again i'm not smart
so can i use this repro too?
one thing i note in the readme is that Silent/loud mode is removed, but there is support added for TMC2130, should they not be able to have a kind of silent/loud mode?
and can i disable the filament sensor that has been added?