grblHAL / STM32F4xx

grblHAL driver for ST STM32F4xx (Nucleo-64, Blackpill)
Other
91 stars 85 forks source link

Can you implement the kinematics for the scara arms? #169

Open maximeh2 opened 5 months ago

maximeh2 commented 5 months ago

obsolete, useless? thanks in advance

terjeio commented 5 months ago

I, or somebody else that has access to a machine (I do not), can.

obsolete, useless?

If there are valid use cases then not.

maximeh2 commented 5 months ago

If I'm talking about obsolescence or uselessness, it's because there's no kinetix in this github.

I speak French and I didn't quite understand your message.

thank you

terjeio commented 5 months ago

Since I do not have access to a scara arm machine it is not easy for me to implement the scara kinematcs. So perhaps somebody that has (you?) can do it?

terjeio commented 5 months ago

I found this thread while doing some housekeeping, perhaps the author has something to share?

maximeh2 commented 5 months ago

very thanks for your help many error when compile exemple grbl\kinematics\scara.c: In function 'scara_homing_complete': grbl\kinematics\scara.c:461:29: error: incompatible type for argument 1 of 'on_homing_completed'

terjeio commented 5 months ago

The call signature of on_homing_completed has recently been changed so the code has to be updated accordingly. An example.

maximeh2 commented 5 months ago

thanks i passed the errors and now it's compiled and injected in the stm32f411 black pil CE but after problem usb error impossible to connect the stm problem port com

an idea

terjeio commented 5 months ago

Incorrect clock tree setup? The USB peripheral clock must be 48 MHz.

maximeh2 commented 5 months ago

I don't know

terjeio commented 5 months ago

I don't know either - when I compile and flash with Eclipse my F411 Blackpill works as it should. Does it work again if you disable the Scara kinematics? If so then there is a bug in the kinematics code?

maximeh2 commented 5 months ago

without kinematic, no problem same problem with polar or wall plotter

terjeio commented 5 months ago

Then the platformio.ini file might be incorrect? Both works for me:

[FIRMWARE:grblHAL]
[NVS STORAGE:*FLASH]
[FREE MEMORY:94K]
[DRIVER:STM32F411]
[DRIVER VERSION:240418]
[BOARD:BlackPill]
[AUX IO:1,2,0,0]
[PLUGIN:Bootloader Entry v0.02]
[KINEMATICS:Polar v0.02]
maximeh2 commented 5 months ago

[env:blackpill_f411ce] board = blackpill_f411ce board_build.ldscript = STM32F411CEUX_FLASH.ld build_flags = ${common.build_flags}

See Inc/my_machine.h for options

-D BOARD_BLACKPILL= -D USB_SERIAL_CDC=1

Uncomment to enable Spindle PWM output on the SpinDir pin

-D PROTONEER_SPINDLE_PWM=

lib_deps = ${common.lib_deps} lib_extra_dirs = ${common.lib_extra_dirs}

Alternatively, place the .pio/build//firmware.bin on the NODE_F4xxRE drive

; change MCU frequency upload_protocol = dfu

maximeh2 commented 5 months ago

another discovery that fried me 2 stm32, I downloaded from web builder the bin for stm32black pil wall plotter, when I connect with my programs I configure the limits to invert them and then I want to test one of the engines and no reaction, is it possible that the bin generated by web builder are unusable?

terjeio commented 5 months ago

The bits from the platformi.ini file above does not tell me anything.

is it possible that the bin generated by web builder are unusable?

It is, due to a regression from moving the call to the init function earlier in the startup sequence - before the settings are loaded. Fixed now.

maximeh2 commented 5 months ago

Finaly with webbuilder polar and wall bin ok but a smale question for polar coaster, servo pin in stm32f411 ?

It's a pity that webbuilder doesn't allow you to download a zip of the source files according to the configuration made on the site, because as soon as kinmeatics is activated the system doesn't work when you build it manually.

i hate servos, i'd like to be able to use a stepper to do the same thing as a servo but i don't know how to activate it in grbl hal

terjeio commented 5 months ago

The real pity is that I do not make enough money from this project to hire people that could add useful stuff when I do not have enough time myself?

The spindle PWM output can be used to control a servo when the spindle is configured for it via settings. See footnote 13 for details.

BTW this week I will be busy so do not have much time to spare for support.