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

Issue on Spiderking 407 motherboard, couldn't get any axis to move #1095

Open
Maddy5075 opened this issue Sep 13, 2023 · 2 comments
Open

Issue on Spiderking 407 motherboard, couldn't get any axis to move #1095

Maddy5075 opened this issue Sep 13, 2023 · 2 comments

Comments

@Maddy5075
Copy link

Use case:

I use external stepper drivers (closed loop) I would like the motors configured like this.
Mot1 X , Mot2 X2 , Mot3 Y , Mot4 Y2, Mot5 Y3 , Mot6 Z , Mot7 Z2 , Mot8 Z3, Mot9 Z4 , Mot10 E0.
I might not use all the motors on the axis but it gives me the option.
The only two functions I really need are filament out on Ymin endstop and "door open" on Xmax endstop.
A door open trigger pauses the printer.

spider_king_407.json.txt
PinNamesVar.h.txt
variant.cpp.txt
variant.h.txt
ldscript.ld.txt
PeripheralPins.c.txt

platformio.ini.txt

Configuration.h.txt
Configuration_io.h.txt

Able to generate the bin file and when flashed we see this behaviour

We then tried to connect to the printer but had problems because the door open was constantly being triggered. I couldn't resolve it so I've commented it out in the firmware for the time being.

We can heat the hot end and heated bed but there is an issue with the sensors. If we heat the hotend only for some reason the heated bed temperature rises as well identical to the hotend even though the heated bed isn't actually heating up. We have the hotend thermistor connected to TE0 and heated bed to T5(Tbed). If we heat the bed only the hotend thermistor goes up as well identical to the bed temp even though the hotend is not heating.

If we try to home the x axis(MOT1) the extruder motor turns(MOT10). If We connect the x axis to MOT10 and press home the x axis moves away from endstop. Trying to home Y or Z axis only produces "Fatal Error" and no motor movement. Sending an M119 gives the endstop state as in image. If I hold any endstop in and send a M119 nothing changes so the endstops don't seem to be working.

Capture

IMG_20230906_165514478

@Maddy5075
Copy link
Author

spider_king.h.txt

@repetier
Copy link
Owner

I see you are tying to add a new motherboard, which is always a hard task even if the processor is supported.
First thing you need to do is always watch timer usages. We use several internally for timings and none of them can then be used for pwm signals to fan/heater. in STM32F4/hal.h you see how they are using fallbacks if not defined in motherboard definition.

#ifndef MOTION2_TIMER_NUM
#define MOTION2_TIMER_NUM 6
#endif
// Beware! On STM32F4's, TIM10's IRQHandler is shared with TIM1's!
// Both timers will interrupt with the same function!
#ifndef PWM_TIMER_NUM
#define PWM_TIMER_NUM 10
#endif
#ifndef MOTION3_TIMER_NUM
#define MOTION3_TIMER_NUM 7
#endif
// Timer 13 does crash firmware at least for rumba32!
#ifndef SERVO_TIMER_NUM
#define SERVO_TIMER_NUM 9
#endif
#ifndef TONE_TIMER_NUM
#define TONE_TIMER_NUM 11
#endif

In peripherals you see which timers are used for pwm and often you have multiple timer as option. So make sure no overlap exists to create unwanted interference.

Also check the analog inputs used to be complete. The rest is quite straight forward if you use correct pin numbers and they are not used for some hardware function like spi/i2c/uart. I can not check that since I do not have the board or time to that. But if you have special questions, let me know.

One trick for endstop testing, send
M111 S71
and you see every signal change on screen, no M119 needed to query all the time.

For motor testing send
G1 P0 or P1 to disable boundary check and configure to move without homing. Then you can try movements to be in correct direction first. Especially if you have checking endstops disabled for regular moves. So that way you only test motor pins and later you can add endstops for homing, but signaling must be correct.

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

No branches or pull requests

2 participants