Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hi #2

Closed
wants to merge 146 commits into from
Closed

Hi #2

wants to merge 146 commits into from

Conversation

bkubicek
Copy link
Contributor

My current version somewhat works for ultimakers, there are some minor reported bugs however:
every couple of seconds, the enable of the extruder stepper motor seems to be disabled, and the filament gets pushed backwards by the overpressure in the hot end. It also happens without lcd or buttons, I can only start debugging tomorrow. Also, Z stage needs to be powered constantly due to the microstepping of the ultimakers.

I have added my LCD code. It is currently useless without 4x20 lcd+buttons. Especially, the lcd updates cause segment pausing. However with interface, you can do autonomous sd printing without attached pc

The SD card printing works like a charm, no more serial latency of any kind.

I removed the files you copied from the arduino library, it now compiles with arduino 22.

In conclusion, I think you did a very important step for the reprap community, and the qualitiy of the prints is just awesome.

There are now a couple of the Ultimaker guys coding a bit, they did some forks (lampmaker uploaded his changes however without forking). However I think that you should hold the main git-repository, since its your firmware..

I am sorry that I did not try the firmware that you created based on mine, but I think this way you have some usefull patches, and the advance is still in there.

very nice greetings, and thank you very much for all the great features!!
Bernhard

@ErikZalm
Copy link
Contributor

Hello Bernhard,

There is a reason I made my own arduino library files. The arduino serial interrupt used a "%" to make a ring buffer. This is stupid.
The "%" takes may cpu cycles (+/- 250 cycles) and can be replaced by a simple AND instruction < 10 cycles.

I don't use the micros() function. So I made the millisecond counter a bit faster. This is an optimization.

(Other interrupt cycles generate jitter in the step generation routines. Keep the interrupt short to limit the jitter)

The Z stage can be always enabled by setting DISABLE_Z to false.

I don't like the arduino LCD library. It has many wait loops. I don't like wasting cpu cycles. (But it is common in the arduino libraries)

lampmaker also contacted me. It seems he lives not far from me.
He told that he has some problems during accelerating and decelerating.

I can look into that. The serial library can be 1 of the causes. And I wrote the firmware for an mendel and a gen6 board.
Ultimaker has 80steps/mm. I have 40steps/mm.

If you are moving with 500mm/s the step frequency is 40kHz. This is higher then it is designed for.
(I had a reliable step frequency of around 30kHz. (750mm/s on a mendel with gen6))

I think we need to do some tricks to get a higher frequency.

I think it is better to make a different fork for ultimaker. The ultimaker requirements are different compared to the mendel requirements.

You can also contact me directly on erik@vdzalm.eu

Best regards,

Erik

On Aug 24, 2011, at 1:16 PM, bkubicek wrote:

My current version somewhat works for ultimakers, there are some minor reported bugs however:
every couple of seconds, the enable of the extruder stepper motor seems to be disabled, and the filament gets pushed backwards by the overpressure in the hot end. It also happens without lcd or buttons, I can only start debugging tomorrow. Also, Z stage needs to be powered constantly due to the microstepping of the ultimakers.

I have added my LCD code. It is currently useless without 4x20 lcd+buttons. Especially, the lcd updates cause segment pausing. However with interface, you can do autonomous sd printing without attached pc

The SD card printing works like a charm, no more serial latency of any kind.

I removed the files you copied from the arduino library, it now compiles with arduino 22.

In conclusion, I think you did a very important step for the reprap community, and the qualitiy of the prints is just awesome.

There are now a couple of the Ultimaker guys coding a bit, they did some forks (lampmaker uploaded his changes however without forking). However I think that you should hold the main git-repository, since its your firmware..

I am sorry that I did not try the firmware that you created based on mine, but I think this way you have some usefull patches, and the advance is still in there.

very nice greetings, and thank you very much for all the great features!!
Bernhard

Reply to this email directly or view it on GitHub:
ErikZalm#2

fran6p pushed a commit to fran6p/Marlin that referenced this pull request Dec 27, 2020
Zwaubel pushed a commit to Zwaubel/Marlin-With-Printer-Configs that referenced this pull request Mar 22, 2021
Zwaubel pushed a commit to Zwaubel/Marlin-With-Printer-Configs that referenced this pull request May 12, 2021
fran6p pushed a commit to fran6p/Marlin that referenced this pull request May 22, 2021
arades79 pushed a commit to CELLINKAB/Marlin that referenced this pull request Dec 2, 2021
* add NUCLEO-STM32F746 board def and configs

* add F746ZG to pins

* fix formatting

* add config file changes

* add naive config options and torsk airsystem files

* move more config defines

* tweak some constants

* add flags for door controls, disable features by defautl

* add more feature flags for unimplemented Cellink printer features.

* use ordered pair over separate XYZ

* move air system to features

* add empty lidgripper feature files

* add rough lidgripper class definition

* use signed ints for error reporting, add calibration implementation

* add functions for moving to-from gripper location

* add placeholder Gcodes for lid gripping

* small marlin best practice tweaks

* add naive G501 and G502 implementations

* use instance over static, remove const because overloads aren't const :(

* add more (unused as of now) config options for lid gripper

* fix endstop logic for 2209

* more complex lid gripper construction to check for errors

* add pin names for lid gripper

* tweak axes scaling

* move lid_gripper location up

* add bedlevel, manual probe, and backlash compensation commands

* define extruder flag as constant false if no extruder is defined

* add constructor body

* add measured backlash values as default

* put LG on real pins

* rename address

* add lid gripper stepper functions

* add lid gripper bindings

* tune step widths

* add a serial buffer for smoother communication

* remove templating, temporarily switch to TMC2130 driver

* change pins to use SPI for lid gripper

* add lid gripper initialization

* return of the templates

* fix calibrate implementation

* add calibrate Gcode

* increase stall sensitivity

* decrease max feedrate

* init LG serial

* change move to and from gripper routines, add debugging, extern define necesarry serial port

* change accessory serial pins

* adjust maximum printer moves

* add autocal options

* fix syntax

* add initial optical autocal support

* use absolute coordinates

* return after interrupt detach

* add gcode parameters

* add parameterss and defaults for g510

* use correct position reporting API

* use an instanced ISR for flexibility

* increase float precision

* add adjustable z_increment to Gcode

* const all the things, smarter isr

* const all the things, smarter isr
Domush referenced this pull request in Domush/mvCNC-Modern-Vintage-CNC-Firmware Mar 15, 2022
pixel-shock added a commit to pixel-shock/Marlin that referenced this pull request Sep 29, 2022
classicrocker883 pushed a commit to classicrocker883/Marlin that referenced this pull request Apr 9, 2023
* replace precompiled `hdsc.a` with source files

* adapt new files to compile

* update h32_core readme

* remove unused headers

* auto-format added files

* replace platform independend libraries with STM32 core versions

* fix compiler warnings in `sd_card.cpp` and `wirish_time.cpp`

* allow manually setting F_CPU

* redirect printf output to serial

* attempt to occasional crashes
Z18Aplha added a commit to Z18Aplha/Marlin that referenced this pull request Apr 30, 2023
drewmoseley pushed a commit to drewmoseley/Marlin that referenced this pull request Nov 8, 2023
arades79 pushed a commit to CELLINKAB/Marlin that referenced this pull request Mar 15, 2024
* add NUCLEO-STM32F746 board def and configs

* add F746ZG to pins

* fix formatting

* add config file changes

* add naive config options and torsk airsystem files

* move more config defines

* tweak some constants

* add flags for door controls, disable features by defautl

* add more feature flags for unimplemented Cellink printer features.

* use ordered pair over separate XYZ

* move air system to features

* add empty lidgripper feature files

* add rough lidgripper class definition

* use signed ints for error reporting, add calibration implementation

* add functions for moving to-from gripper location

* add placeholder Gcodes for lid gripping

* small marlin best practice tweaks

* add naive G501 and G502 implementations

* use instance over static, remove const because overloads aren't const :(

* add more (unused as of now) config options for lid gripper

* fix endstop logic for 2209

* more complex lid gripper construction to check for errors

* add pin names for lid gripper

* tweak axes scaling

* move lid_gripper location up

* add bedlevel, manual probe, and backlash compensation commands

* define extruder flag as constant false if no extruder is defined

* add constructor body

* add measured backlash values as default

* put LG on real pins

* rename address

* add lid gripper stepper functions

* add lid gripper bindings

* tune step widths

* add a serial buffer for smoother communication

* remove templating, temporarily switch to TMC2130 driver

* change pins to use SPI for lid gripper

* add lid gripper initialization

* return of the templates

* fix calibrate implementation

* add calibrate Gcode

* increase stall sensitivity

* decrease max feedrate

* init LG serial

* change move to and from gripper routines, add debugging, extern define necesarry serial port

* change accessory serial pins

* adjust maximum printer moves

* add autocal options

* fix syntax

* add initial optical autocal support

* use absolute coordinates

* return after interrupt detach

* add gcode parameters

* add parameterss and defaults for g510

* use correct position reporting API

* use an instanced ISR for flexibility

* increase float precision

* add adjustable z_increment to Gcode

* const all the things, smarter isr

* const all the things, smarter isr
arades79 pushed a commit to CELLINKAB/Marlin that referenced this pull request Mar 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants