Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- esphome:
- name: esphome-web-2e08d0
- friendly_name: basement-heater-stepper-2
- min_version: 2024.11.0
- name_add_mac_suffix: false
- on_boot:
- - tmc2209.configure:
- microsteps: 8
- interpolation: true
- - tmc2209.stallguard:
- threshold: 50
- - tmc2209.currents:
- standstill_mode: freewheeling
- irun: 16
- ihold: 0
- tpowerdown: 0
- iholddelay: 0
- esp32:
- board: esp32dev
- framework:
- type: esp-idf
- # Enable logging
- logger:
- baud_rate: 0
- # Enable Home Assistant API
- api:
- # Allow Over-The-Air updates
- ota:
- - platform: esphome
- wifi:
- ssid: "The Twelve Colonies"
- password: "4404137231"
- external_components:
- - source: github://slimcdk/esphome-custom-components
- components: [ tmc2209_hub, tmc2209, stepper ]
- globals:
- - id: has_homed
- type: bool
- initial_value: "true"
- restore_value: no
- uart:
- tx_pin: GPIO16 #tx 1K OHM RESISTOR
- rx_pin: GPIO17 #rx
- baud_rate: 500000 # 9600 -> 500k
- stepper:
- - platform: tmc2209
- id: driver
- max_speed: 900 steps/s
- acceleration: 1500 steps/s^2
- deceleration: 500 steps/s^2
- config_dump_include_registers: true
- rsense: 110 mOhm
- vsense: False
- # address: 0x00
- enn_pin: GPIO25 #D7
- diag_pin: GPIO34 #D2
- # index_pin: GPIO12 #d5
- step_pin: GPIO26 #D2
- dir_pin: GPIO14 #D5
- on_stall:
- - logger.log: "Motor stalled!"
- - stepper.stop: driver
- - if:
- condition:
- lambda: return !id(has_homed);
- then:
- - stepper.report_position:
- id: driver
- position: 0
- - globals.set:
- id: has_homed
- value: "true"
- - logger.log: "Home position set"
- button:
- - platform: template
- name: Home
- on_press:
- - logger.log: "Going home!"
- - globals.set:
- id: has_homed
- value: "false"
- - stepper.set_target:
- id: driver
- target: -9999999
- - platform: template
- name: 1000 Steps forward
- on_press:
- - stepper.set_target:
- id: driver
- target: !lambda return id(driver)->current_position +1000;
- - platform: template
- name: 1000 Steps backward
- on_press:
- - stepper.set_target:
- id: driver
- target: !lambda return id(driver)->current_position -1000;
- - platform: template
- name: Stop
- on_press:
- - stepper.stop: driver
- number:
- - platform: template
- name: Target position
- min_value: -100000
- max_value: 100000
- step: 100
- lambda: return id(driver)->current_position;
- update_interval: 1s
- set_action:
- - stepper.set_target:
- id: driver
- target: !lambda "return x;"
- sensor:
- - platform: tmc2209
- type: motor_load
- name: Motor load
- update_interval: 250ms
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement