mmb's People
mmb's Issues
document diag pin usage for stallguard
please give clear instructions on using stallguard on this board.
The diag pins seems to be shared, PA3, PA4 but when I jumper diag pins, PA3 PA4 are still working as endstops so this is confusing.
could you please share working configs for stallguard of both UART and SPI steppers.
The following is what I thought should work with Happy-Hare but it doesn't - The limit switch works but stallguard doesn't (or it ignores SGT setting) :
[tmc5160 stepper_mmu_selector]
cs_pin: mmuv2:PC7 #motor2
spi_bus: spi1
run_current: 0.4
hold_current: 0.2
interpolate: True
sense_resistor: 0.075
stealthchop_threshold: 100
diag1_pin: ^!mmuv2:PA4 #motor2 diag pin - also an endstop with nothing plugged into it.
driver_SGT: 3 # -64 -> 64
[stepper_mmu_selector]
step_pin: mmuv2:PD2
dir_pin: !mmuv2:PB13
enable_pin: !mmuv2:PD1
rotation_distance: 40
microsteps: 16 # Don't need high fidelity
full_steps_per_rotation: 200 # 200 for 1.8 degree, 400 for 0.9 degree
endstop_pin: ^mmuv2:PB2. # Selector microswitch
endstop_name: mmu_sel_home
#
# Uncomment two lines below to give option of selector "touch" movement and homing
extra_endstop_pins: tmc5160_stepper_mmu_selector:virtual_endstop
extra_endstop_names: mmu_sel_touch
if the limit switch is unplugged, stallguard works, and if its plugged, it doesn't.
Any insights would be appreciated.
Repo should include mounting brackets
For example, here's a mounting bracket I made specifically for ERCFs with the Sturdy Bunny mod, but it'll attach to any extrusion.
I made it public domain so please use it if you'd like
Please add JST XH3 instead of 2.54 Jumper to the box
Sensorless not working over Canbus and USB
Trying to run sensorless and keep getting this error:
Receive: 91 342.421202 342.416261 18: seq: 14, tmcuart_response oid=8 read=b'\n\xfaO \x80\x00\x02(\xa3\xc6'
Receive: 92 342.426574 342.423793 8: seq: 17, tmcuart_response oid=8 read=b''
Receive: 93 342.432084 342.427886 18: seq: 18, tmcuart_response oid=8 read=b'\n\xfaO \x80\x00\x02H\xa3\xe1'
Receive: 94 342.437047 342.434404 8: seq: 19, tmcuart_response oid=8 read=b''
Receive: 95 342.442549 342.438327 18: seq: 1a, tmcuart_response oid=8 read=b'\n\xfaO \x80\x00\x02h#\xa5'
Receive: 96 342.447348 342.444747 8: seq: 1b, tmcuart_response oid=8 read=b''
Receive: 97 342.452841 342.448602 18: seq: 1c, tmcuart_response oid=8 read=b'\n\xfaO \x80\x00\x02\x88#\xf2'
Receive: 98 342.460414 342.457717 8: seq: 1d, tmcuart_response oid=8 read=b''
Receive: 99 342.461170 342.460420 12: seq: 1e, shutdown clock=1857677883 static_string_id=Command request
Traceback (most recent call last):
File "/home/pi/klipper/klippy/mcu.py", line 74, in _do_send
return xh.get_response(cmds, self._cmd_queue, minclock, reqclock)
File "/home/pi/klipper/klippy/mcu.py", line 50, in get_response
raise serialhdl.error("Timeout on wait for '%s' response"
serialhdl.error: Timeout on wait for 'tmcuart_response' response
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/pi/klipper/klippy/extras/homing.py", line 235, in manual_home
hmove.homing_move(pos, speed, triggered=triggered,
File "/home/pi/klipper/klippy/extras/homing.py", line 71, in homing_move
self.printer.send_event("homing:homing_move_begin", self)
File "/home/pi/klipper/klippy/klippy.py", line 263, in send_event
return [cb(*params) for cb in self.event_handlers.get(event, [])]
File "/home/pi/klipper/klippy/klippy.py", line 263, in <listcomp>
return [cb(*params) for cb in self.event_handlers.get(event, [])]
File "/home/pi/klipper/klippy/extras/tmc.py", line 524, in handle_homing_move_begin
self.mcu_tmc.set_register("TCOOLTHRS", tc_val)
File "/home/pi/klipper/klippy/extras/tmc_uart.py", line 249, in set_register
self.ifcnt = self._do_get_register("IFCNT")
File "/home/pi/klipper/klippy/extras/tmc_uart.py", line 230, in _do_get_register
val = self.mcu_uart.reg_read(self.instance_id, self.addr, reg)
File "/home/pi/klipper/klippy/extras/tmc_uart.py", line 177, in reg_read
params = self.tmcuart_send_cmd.send([self.oid, msg, 10])
File "/home/pi/klipper/klippy/mcu.py", line 78, in send
return self._do_send([self._cmd.encode(data)], minclock, reqclock)
File "/home/pi/klipper/klippy/mcu.py", line 76, in _do_send
raise self._error(str(e))
gcode.CommandError: Timeout on wait for 'tmcuart_response' response
Configuration
[mcu kms_mcu_1]
serial: /dev/serial/by-id/usb-Klipper_stm32g0b1xx_200030001850425539393020-if00
#canbus_uuid: 35537efca352
[duplicate_pin_override]
pins: kms_mcu_1:PB2,kms_mcu_1:PC15
[tmc2209 manual_extruder_stepper kms_mmu_feeder_T0]
uart_pin: kms_mcu_1:PA10
interpolate: True
run_current: 0.90
#hold_current: 0.1
sense_resistor: 0.110
#stealthchop_threshold: 999999
diag_pin: ^kms_mcu_1:PA3
driver_SGTHRS: 75
[manual_extruder_stepper kms_mmu_feeder_T0]
step_pin: kms_mcu_1:PB15
dir_pin: !kms_mcu_1:PB14
enable_pin: !kms_mcu_1:PA8
rotation_distance: 22.6789511
microsteps: 16
full_steps_per_rotation: 200 #200 for 1.8 degree, 400 for 0.9 degree
velocity: 35
accel: 150
endstop_pin: tmc2209_kms_mmu_feeder_T0:virtual_endstop
endstop_name: kms_sensorless_endstop_1
# Uncomment two lines below to give option of selector "touch" movement and homing
#extra_endstop_pins: tmc2209_kms_mmu_feeder_T0:virtual_endstop,kms_mcu_1:PB2
#extra_endstop_names: kms_virtual_endstop_T0,kms_splitter_endstop_1
Katapult "make flash" does not exist. STM32 programmer fails
BTT sent me 5160 drivers and I don't know how to configure them.
Can you provide and example of 5160 with stallguard?
Canboot is now katapult
In the manual https://github.com/bigtreetech/MMB/blob/master/Hardware/BIGTREETECH%20MMB%20CAN%20V1.0%20User%20Manual.pdf it refers to canboot and "https://github.com/Arksine/canboot"
The link is now https://github.com/Arksine/katapult it would be wise to reflect that and also warn in the manual that canboot is rebranded as katapult to avoid confusion
Wrong Pins
Documentation needs to be improved around function of CAN vs. USB vs. HVIN
It is very unclear that you MUST use the CAN connector to power the board and cannot use the HVIN + USB connectors alone.
For future readers, here's how the various connectors work for real-world usage:
- If you're flashing firmware, you can connect just USB with the
VUSB
jumper in place. >>> Be certain to remove theVUSB
jumper before connecting any power or CAN cables <<< - If using CAN as a communication interface and you don't need extra juice for the steppers, just connect the CAN plug
- Set each stepper voltage jumper to
VIN
- If your mainboard supports CAN but you otherwise don't know what to do, this is probably the option you want
- Set each stepper voltage jumper to
- If using CAN as a communication interface and you DO need extra power for the steppers, connect the CAN plug and also connect your additional power leads to the
HVIN
andGND
- Set each stepper voltage jumper to
HVIN
- Set each stepper voltage jumper to
- If using USB as a communication interface and you don't need extra juice for the steppers, you have to connect the CAN plug and put 12-24v through its power leads. You then have to connect a USB cable from your printer to the MMB
- Set each stepper voltage jumper to
VIN
- If your mainboard DOES NOT support CAN but you otherwise don't know what to do, this is probably the option you want
- If using USB as a communication interface and you DO need extra power for the steppers, you have to connect the CAN plug and put 12-24v through its power leads and also connect your additional power leads to the
HVIN
andGND
. You then have to connect a USB cable from your printer to the MMB- Set each stepper voltage jumper to
HVIN
- Set each stepper voltage jumper to
CAN bus wiring with EBB SB2209, U2C, and MMB
What is the preferred way to wire the CAN bus when you have multiple devices? In my example I have the SB2209 tool head board connected to my pi via a U2C adapter. What order should the three devices be in the bus and which ones get the 120R resistor jumpers?
Voltage selection pins
Please properly indicate the voltage selection pins of what voltage VIN/HIVIN is and that they are required for the motor to function
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.