TaurosRMK Опубліковано: 12 травня Поділитись Опубліковано: 12 травня (змінено) Все ж таки невелика допомога порібна, але трохи по іншому питанню. Придбав на алі такий девайс, з аналоговими виходами 0-10В і підключенням по rs485. Пробую підключити до ESPhome, записав код, але не працює, змінюю значення в esphome, а напруга на виході по нулях. Підозрюю що проблема в коді, але не можу зрозуміти де саме. Прихований текст Прихований текст uart: tx_pin: GPIO1 rx_pin: GPIO3 baud_rate: 9600 stop_bits: 1 id: mod_bus1 modbus: - id: modbus_10V uart_id: mod_bus1 modbus_controller: - id: speed_controller address: 1 modbus_id: modbus_10V update_interval: 1s number: - platform: modbus_controller modbus_controller_id: speed_controller id: ao1_1 name: "AO1_1" min_value: 0 max_value: 1000 address: 42049 value_type: FP32 mode: box Змінено 12 травня користувачем TaurosRMK Посилання на коментар Поділитися на інших сайтах More sharing options...
yur43 Опубліковано: 12 травня Поділитись Опубліковано: 12 травня (змінено) 1 годину тому, TaurosRMK сказав: Все ж таки невелика допомога порібна, але трохи по іншому питанню. Придбав на алі такий девайс, з аналоговими виходами 0-10В і підключенням по rs485. Пробую підключити до ESPhome, записав код, але не працює, змінюю значення в esphome, а напруга на виході по нулях. Підозрюю що проблема в коді, але не можу зрозуміти де саме. Приховати вміст Приховати вміст uart: tx_pin: GPIO1 rx_pin: GPIO3 baud_rate: 9600 stop_bits: 1 id: mod_bus1 modbus: - id: modbus_10V uart_id: mod_bus1 modbus_controller: - id: speed_controller address: 1 modbus_id: modbus_10V update_interval: 1s number: - platform: modbus_controller modbus_controller_id: speed_controller id: ao1_1 name: "AO1_1" min_value: 0 max_value: 1000 address: 42049 value_type: FP32 mode: box якщо ao1_1 - аналоговий вихід, або pwm, то max_value: 1 в платформі модбас може бути так само Змінено 12 травня користувачем yur43 Посилання на коментар Поділитися на інших сайтах More sharing options...
TaurosRMK Опубліковано: 12 травня Поділитись Опубліковано: 12 травня 34 хвилини тому, yur43 сказав: якщо ao1_1 - аналоговий вихід, або pwm, то max_value: 1 в платформі модбас може бути так само Та ні, проблема точно не в цьому. Це може бути будь яке число, а в даному випадку там задане мінімільне та максимальне значення 0-1000. І пристрій в цьому діапазоні працює, 0 - 0В, 1000 - 10В. Але таке відчуття що немає зв'язку з пристроєм, чи що... Посилання на коментар Поділитися на інших сайтах More sharing options...
k-master Опубліковано: 12 травня Поділитись Опубліковано: 12 травня 5 годин тому, TaurosRMK сказав: Та ні, проблема точно не в цьому. Це може бути будь яке число, а в даному випадку там задане мінімільне та максимальне значення 0-1000. І пристрій в цьому діапазоні працює, 0 - 0В, 1000 - 10В. Але таке відчуття що немає зв'язку з пристроєм, чи що... Я не знаю що там у ESPHome але можливо треба в усіх адресах відмінусовати 40000, тобто правильна адреса буде без 4. Я перед тим як щось з пристроєм робити запускаю майстер на компі та дивлюсь що там та як - мастер. Рекомендую спочатку руками спробувати туди приєднатись та зрозуміти що все працює та адреси правильні. Як мінімум вичитати поточну конфігурацію швидкості для початку. Ну це якщо є USB-RS485 Посилання на коментар Поділитися на інших сайтах More sharing options...
TaurosRMK Опубліковано: 12 травня Поділитись Опубліковано: 12 травня 19 хвилин тому, k-master сказав: Я не знаю що там у ESPHome але можливо треба в усіх адресах відмінусовати 40000, тобто правильна адреса буде без 4. Я перед тим як щось з пристроєм робити запускаю майстер на компі та дивлюсь що там та як - мастер. Рекомендую спочатку руками спробувати туди приєднатись та зрозуміти що все працює та адреси правильні. Як мінімум вичитати поточну конфігурацію швидкості для початку. Ну це якщо є USB-RS485 Хм, попробую без "4". В інструкції стандартні параметри вказані, їх і записав, для надійності зробив reset, не допомогло. USB-RS485 замовлю завтра і перевірю, був би в наявності, так би і зробив, хоча думав через ESPhome зразу попробую код писати, але щось пішло не так. Посилання на коментар Поділитися на інших сайтах More sharing options...
k-master Опубліковано: 13 травня Поділитись Опубліковано: 13 травня 7 годин тому, TaurosRMK сказав: Хм, попробую без "4". В інструкції стандартні параметри вказані, їх і записав, для надійності зробив reset, не допомогло. USB-RS485 замовлю завтра і перевірю, був би в наявності, так би і зробив, хоча думав через ESPhome зразу попробую код писати, але щось пішло не так. Мова оригіналу з інтернету: Цитата The thing that might confuse you (and everyone else) is that addresses that start with 3 & 4 indicates that it's a register. But the register address in modbus tcp is a word. So address 30001 is actually not a request for address 30001 but rather a request for the first address of the input register type 3. Там правда про tcp, але то немає значення Посилання на коментар Поділитися на інших сайтах More sharing options...
TaurosRMK Опубліковано: 13 травня Поділитись Опубліковано: 13 травня 4 години тому, k-master сказав: Там правда про tcp, але то немає значення В тій інструкції яку дав продавець є такий скріншот. Виходить що адреса все ж таки без "4", але щось я не розібрався що та четвірка означає в esphome. Пробував писати адреси без "4", реакції ніякої. Треба напевно в коді розбиратися, як його правильно записати. Посилання на коментар Поділитися на інших сайтах More sharing options...
k-master Опубліковано: 13 травня Поділитись Опубліковано: 13 травня 1 година тому, TaurosRMK сказав: В тій інструкції яку дав продавець є такий скріншот. Виходить що адреса все ж таки без "4", але щось я не розібрався що та четвірка означає в esphome. Пробував писати адреси без "4", реакції ніякої. Треба напевно в коді розбиратися, як його правильно записати. Теоретично та 4-ка може означати тип регистра і в принципі за нею можна визначити типю Але я такого не бачив, ось приклад з еспхоме: Цитата output: - platform: modbus_controller modbus_controller_ id: modbus1 address: 2048 register_type: holding value_type: U_WORD multiply: 1000 Тут ми бачимо як тип (holdind) так й коротку адресу (2048). Шукай як написати схожий конфіг для твого випадку. В тебе є адреса у прикладі, але типа регістра нема. Думаю що у цьому та ще у неправильній адресі проблема. А може ти в принципі неправильно написав конфіг модбаса для esphome. 1 Посилання на коментар Поділитися на інших сайтах More sharing options...
TaurosRMK Опубліковано: 13 травня Поділитись Опубліковано: 13 травня Блін, а проблема то там, де її не чекали. Попробував два різні TTL-RS485 модулі, результат однаковий, по коду наче все мало працювати, але не працює. Вирішив попробувати іншу esp і о чудо, все працює. Що з тою esp було, без поняття, підключення проводів було правильне. Але з новою також якісь нюанси, при оновленні коду вона не може підключитися до wi-fi мережі, якщо до неї підключений модуль TTL-RS485, без модуля підключається. Але це фігня, це маленькі D1mini/S2mini просто як тестові, на основній ESP наче немає проблем з підключенням до wi-fi і по RS485, треба буде тестити на ній. Адреси записував без "4", але в інструкції вони чомусь зі зміщенням, там вихід #1 - 2049, а фактично на мінус 1, тобто 2048 і тд. Замовив USB-RS485, подивлюся що там, може китайці напутали з адресами. number: - platform: modbus_controller modbus_controller_id: speed_controller address: 2048 id: vo1_1 name: "vo1_1" min_value: 0 max_value: 100 step: 1.0 value_type: U_WORD unit_of_measurement: "%" multiply: 10 Посилання на коментар Поділитися на інших сайтах More sharing options...
k-master Опубліковано: 13 травня Поділитись Опубліковано: 13 травня 1 година тому, TaurosRMK сказав: Блін, а проблема то там, де її не чекали. Попробував два різні TTL-RS485 модулі, результат однаковий, по коду наче все мало працювати, але не працює. Вирішив попробувати іншу esp і о чудо, все працює. Що з тою esp було, без поняття, підключення проводів було правильне. Але з новою також якісь нюанси, при оновленні коду вона не може підключитися до wi-fi мережі, якщо до неї підключений модуль TTL-RS485, без модуля підключається. Але це фігня, це маленькі D1mini/S2mini просто як тестові, на основній ESP наче немає проблем з підключенням до wi-fi і по RS485, треба буде тестити на ній. Адреси записував без "4", але в інструкції вони чомусь зі зміщенням, там вихід #1 - 2049, а фактично на мінус 1, тобто 2048 і тд. Замовив USB-RS485, подивлюся що там, може китайці напутали з адресами Може той модуль бажає 5В TTL, а есп видає 3.3В. А віфі може не стартувати через погане живлення. Там ще можуть бути приколи з пінами але я не пам'ятаю щоб щось на старті заважало вайфаю. Я собі такі модулі використовую - 6 in 1 - все в одному, не треба мати пачку різних. 2 Посилання на коментар Поділитися на інших сайтах More sharing options...
TaurosRMK Опубліковано: 13 травня Поділитись Опубліковано: 13 травня 39 хвилин тому, k-master сказав: Може той модуль бажає 5В TTL, а есп видає 3.3В. А віфі може не стартувати через погане живлення. Там ще можуть бути приколи з пінами але я не пам'ятаю щоб щось на старті заважало вайфаю. Я собі такі модулі використовую - 6 in 1 - все в одному, не треба мати пачку різних. Модуль підтримує 3.3/5В, і взагалі більшість модулів йдуть універсальні на 3.3/5В, принаймні з того барахла що в мене назбиралося ))) ESP аналогічно, має піни живлення 3.3/5В, через 5В можна живити саму ESP, так і віддавати, якщо ESP живиться через usb. Посилання на коментар Поділитися на інших сайтах More sharing options...
k-master Опубліковано: 13 травня Поділитись Опубліковано: 13 травня 15 хвилин тому, TaurosRMK сказав: Модуль підтримує 3.3/5В, і взагалі більшість модулів йдуть універсальні на 3.3/5В, принаймні з того барахла що в мене назбиралося ))) ESP аналогічно, має піни живлення 3.3/5В, через 5В можна живити саму ESP, так і віддавати, якщо ESP живиться через usb. Те що у ESP на платі є 2 живлення не означає що вона може працювати від 5В. Це означає що на платі стоїть перетворювач 5->3.3. І якщо подати просто 3.3 то там де 5 не буде нічого. Рівні у ESP завжди 3-х вольтові що іноді приводить до проблем при роботі з пристроями котрі живляться від справжніх 5-ти вольт та мають 5-ти вольтові рівні. Посилання на коментар Поділитися на інших сайтах More sharing options...
TaurosRMK Опубліковано: 13 травня Поділитись Опубліковано: 13 травня 16 хвилин тому, k-master сказав: Те що у ESP на платі є 2 живлення не означає що вона може працювати від 5В. Це означає що на платі стоїть перетворювач 5->3.3. І якщо подати просто 3.3 то там де 5 не буде нічого. Рівні у ESP завжди 3-х вольтові що іноді приводить до проблем при роботі з пристроями котрі живляться від справжніх 5-ти вольт та мають 5-ти вольтові рівні. Так я і не казав що сам модуль esp працює від 5В, мова йде про цілу плату, яку можна живити як 3.3В, так і 5В, що там дальше відбувається це вже інше питання. Поки проблем з модулями не було, як вже згадував вище, або вони мали універсальний вхід 3.3/5В, або два окремих, і як не підключай до esp, все працювало. Але із того що я використовував це були модулі з UART, I2C, SPI, думаю там все стандартизовано і працює незалежно від живлення. А от з рівнями ще нічого не використовував. Тим не менше, знайшов проблему чому з попередньою esp не працювало. На платі є два окремих піни UART (TX/RX), підключав модуль до них, не заводився. Не розбирався чому, можливо це особливість самої плати, тому що D1 Mini це ESP8266, а S2 Mini на якій все працює, це вже ESP32. Почитав що на D1 Mini є ще два додаткових піни, які можна під UART використати, якщо вони не зайняті. Переназначив, записав програму, працює 😄 А от чому на стандартних пінах TX/RX не працювало, це вже інше питання. Головне що вдалося з пристроєм зв'язатися і перевірити роботу. Посилання на коментар Поділитися на інших сайтах More sharing options...
Рекомендовані повідомлення
Створіть акаунт або увійдіть у нього для коментування
Ви маєте бути користувачем, щоб залишити коментар
Створити акаунт
Зареєструйтеся для отримання акаунта. Це просто!
Зареєструвати акаунтУвійти
Вже зареєстровані? Увійдіть тут.
Увійти зараз