【VORON/klipper】如何使用TMC2209以及使用无传感器归零功能 (二) 代码编写及注意事项

本篇主要讲解硬件连接以及代码编写。至于模块的引脚排列、原理图、特性、规格、接口在上一篇已经进行了详细介绍,不清楚的朋友请回看,本篇就不再赘述。

硬件连接

①一般的TMC2209
在这里插入图片描述
在这里插入图片描述
上图为TMC2209模块接线图,如果要使用到无传感器归零功能的话,要把DIAG引脚焊上并连接,不用时要去除。
使用串口通信模式的话,需要把底下PDN跳线帽接上。

②Fly TMC2209
本人使用的是Fly TMC2209,与一般的TMC2209上的区别就是:
一般的TMC2209如果需要不使用无传感器归位功能的话,必须要移除DIAG引脚。一般来说,需要拆焊并拔出引脚,或者从步进驱动器上完全切断销钉。也有人通过讲引脚弄弯来解决,但这些方法对我来说都太过麻烦了。

所以我选择使用Fly TMC2209是因为该模块在步进驱动器按了个小型的DIP开关,可以简单进行随意切换无传感器归零功能。

在这里插入图片描述

代码部分

步进电机的定义。不同的打印机类型(由[printer]配置部分中的“运动学”选项指定)需要不同的步进器名称(例如,stepper_x vs stepper_a)。

[stepper_x]
# X轴电机脉冲引脚设置
step_pin: PE11
# X轴电机方向引脚设置,可以通过添或删除引脚前面的!来改变电机的运转方向
dir_pin: PE10
#dir_pin: !PE10
# X轴电机使能引脚设置
enable_pin: !PE9
#---Klipper0.9以上版本设置---
# 电机细分设置
microsteps: 16
# 主动带轮周长mm(2GT-20T带轮40,2GT-16T带轮32)
rotation_distance: 40
# 电机单圈所需脉冲数(1.8度电机:200,0.9度电机:400)
full_steps_per_rotation: 400
# X轴最小行程--软件限位
position_min: 0
# X轴最大行程--软件限位(如果是350机型,需更改为350)
position_max: 350
# X轴的机械复位点坐标(如果是350机型,需更改为350)
position_endstop: 350
# 复位速度
homing_speed: 25
# 第一次触发复位开关之后的后退距离
homing_retract_dist: 0
# 复位方向(一般不需要改动)
homing_positive_dir: true
# 限位开关PIN脚设置(X-)
endstop_pin: tmc2209_stepper_y:virtual_endstop

通过单线UART配置TMC2209步进电机驱动器。要使用这个特性,定义一个带有“tmc2209”前缀的配置节,后面跟着相应的步进配置节的名称(例如,“[tmc2209 stepper_x]”)。

[tmc2209 stepper_x]
# TMC2208 PDN_UART引脚
uart_pin: PA15
# 步进电机驱动器使用的微步数
microsteps: 16
# 如果为真,则启用步进插值(驱动程序内部将以256微步的速度步进)。
interpolate: True
# 在步进移动过程中配置驱动器所使用的电流(单位为安培RMS)。
run_current: 0.8
# 当步进器不移动时,配置驱动器所使用的电流(单位为安培RMS)。
hold_current: 0.6
# 电机感应电阻的电阻(以欧姆为单位)
sense_resistor: 0.110
# 如果步进电机速度低于这个阈值,“stealthChop”模式将被启用。
stealthchop_threshold: 200
# 灵敏度值
driver_SGTHRS:100 
# DIAG引脚
diag_pin:PB8

当打开无传感器归零功能将创建一个“tmc2130_stepper_x:virtual_endstop”虚拟引脚,它可以用作步进器的endstop_pin。这样做可以实现“无传感器导引”。(确保将driver_SGT设置为适当的敏感值。)默认是不启用无传感器导航。
所以当使用无传感器归零功能时,原[stepper_x]中的endstop_pin需配置为
tmc2130_stepper_x:virtual_endstop虚拟引脚。

由于篇幅原因,本示例演示了X轴电机代码配置,具体引脚需根据自己的开发板进行配置。其他轴电机配置与X轴同理。

智能网联汽车的安全员高级考试涉及多个方面的专业知识,包括但不限于自动驾驶技术原理、车辆传感器融合、网络安全防护以及法律法规等内容。以下是针对该主题的一些核心知识解析: ### 关于智能网联车安全员高级考试的核心内容 #### 1. 自动驾驶分级标准 国际自动机工程师学会(SAE International)定义了六个级别的自动驾驶等级,从L0到L5[^1]。其中,L3及以上级别需要安全员具备更高的应急处理能力。 #### 2. 车辆感知系统的组成与功能 智能网联车通常配备多种传感器,如激光雷达、毫米波雷达、摄像头和超声波传感器等。这些设备协同工作以实现环境感知、障碍物检测等功能[^2]。 #### 3. 数据通信与网络安全 智能网联车依赖V2X(Vehicle-to-Everything)技术进行数据交换,在此过程中需防范潜在的网络攻击风险,例如中间人攻击或恶意软件入侵[^3]。 #### 4. 法律法规要求 不同国家和地区对于无人驾驶测试及运营有着严格的规定,考生应熟悉当地交通法典中有关自动化驾驶部分的具体条款[^4]。 ```python # 示例代码:模拟简单决策逻辑 def decide_action(sensor_data): if sensor_data['obstacle'] and not sensor_data['emergency']: return 'slow_down' elif sensor_data['pedestrian_crossing']: return 'stop_and_yield' else: return 'continue_driving' example_input = {'obstacle': True, 'emergency': False, 'pedestrian_crossing': False} action = decide_action(example_input) print(f"Action to take: {action}") ``` 需要注意的是,“同学”作为特定平台上的学习资源名称,并不提供官方认证的标准答案集;建议通过正规渠道获取教材并参加培训课程来准备此类资格认证考试
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值