Помогите четыре строчки понять Марлина. Не нахожу ответа. Опять про выключение БП.

walera_лгк
Идет загрузка
Загрузка
14.01.2021
141
4
Вопросы и ответы

С Вашей помощью победил VS Code. На нужном пине зажигаю светодиод. Не получается, изменить состояние командой М81.

строчка  #define PSU_ACTIVE_STATE HIGH    - как я понимаю должна инвертировать мой выход.

Но почему то происходит следующие: когда  стоит LOW  при загрузке системы светодиод не горит, при поступлении М81  он кратковременно вспыхивает. на М80 реакции нет.

Когда HIGH  во время загрузки системы светодиод горит, пока показывает заставка, как загрузится тухнет. при команде М80 кратковременно вспыхиват, на М81 реакции нет.

Эта строчка  #define PSU_POWERUP_DELAY 100 // (ms) Delay for the PSU to warm up to full power - откладывает команды на время

этим блоком не пользуюсь //#define AUTO_POWER_CONTROL // Enable automatic control of the PS_ON pin

Пробовал включить его с  #define POWER_TIMEOUT 300   задержкой - результат тот же.

эта строчка:    #define PSU_DEFAULT_OFF // Keep power off until enabled directly with M80  -  как я понял должна при загрузке  зажигать светодиод не дожидаясь М80, Как раз самоблокировка, то что надо, но у меня не работает.

про это: //#define PSU_NAME "Power Supply"   не чего не смог узнать, на работу в моем случае не влияет, что это??.

общая картина такая:

//////////////////////////////////////////////////////////////////////

#define PSU_CONTROL

//#define PSU_NAME "Power Supply"

#if ENABLED(PSU_CONTROL) 

  #define PSU_ACTIVE_STATE HIGH // Set 'LOW' for ATX, 'HIGH' for X-Box

  #define PSU_DEFAULT_OFF // Keep power off until enabled directly with M80 

  #define PSU_POWERUP_DELAY 100 // (ms) Delay for the PSU to warm up to full power

  //#define AUTO_POWER_CONTROL // Enable automatic control of the PS_ON pin 

  #if ENABLED(AUTO_POWER_CONTROL)

    //#define AUTO_POWER_FANS // Turn on PSU if fans need power

    //#define AUTO_POWER_E_FANS

    //#define AUTO_POWER_CONTROLLERFAN

    //#define AUTO_POWER_CHAMBER_FAN

    //#define AUTO_POWER_E_TEMP 50 // (°C) Turn on PSU over this temperature

    //#define AUTO_POWER_CHAMBER_TEMP 30 // (°C) Turn on PSU over this temperature

    #define POWER_TIMEOUT 300

  #endif

#endif

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////

может еще что то я не знаю??  только в конфиге это все живет???

почему не удается изменить состояние выхода на другое командой М81 ????

Буду рад любому ответу- проведу опыт!

Ответы на вопросы

Ответы

14.01.2021 в 19:09
1

суть не в перевороте логики, а зависит от рэле.

Оно включается когда на входе 0, и выключается когда 1, и наоборот?

Чаще всего стандартно, включается когда на входе есть сигнал.

Соответственно ACTIVE_STATE HIGH это и означает.

Вот это нужно закомментить, не нужно

#define PSU_DEFAULT_OFF // Keep power off until enabled directly with M80

#define PSU_POWERUP_DELAY 100 // (ms) Delay for the PSU to warm up to full power


Всегото, 3 3трочки нужны

#define PSU_CONTROL

#define PSU_NAME "Power Supply"

  #define PSU_ACTIVE_HIGH true


... Насчёт нужности нэйма я не уверен, но у меня именно так работало.

Я предпочитаю импользовать для этого назанятый порт концевика, он как раз уже притянут к + с самого раннего старта, до загрузки прошивки.

14.01.2021 в 20:51
0

""Вот это нужно закомментить, не нужно""- выражение неоднозначно понимаю!

понял так:

#define PSU_CONTROL

#define PSU_NAME "Power Supply"

#if ENABLED(PSU_CONTROL) 

  #define PSU_ACTIVE_STATE HIGH // Set 'LOW' for ATX, 'HIGH' for X-Box

  //#define PSU_DEFAULT_OFF // Keep power off until enabled directly with M80 

  //#define PSU_POWERUP_DELAY 100 // (ms) Delay for the PSU to warm up to full power

  //#define AUTO_POWER_CONTROL // Enable automatic control of the PS_ON pin 

  #if ENABLED(AUTO_POWER_CONTROL)

    //#define AUTO_POWER_FANS // Turn on PSU if fans need power

    //#define AUTO_POWER_E_FANS

    //#define AUTO_POWER_CONTROLLERFAN

    //#define AUTO_POWER_CHAMBER_FAN

    //#define AUTO_POWER_E_TEMP 50 // (°C) Turn on PSU over this temperature

    //#define AUTO_POWER_CHAMBER_TEMP 30 // (°C) Turn on PSU over this temperature

    #define POWER_TIMEOUT 300

  #endif

#endif

////////////////////////////////////////////

При включении горит, до момента полной загрузки

потом реагирует вспышкой на команду  М80. Больше не на что 

14.01.2021 в 20:59
0

Почему триггер то не получается???  С приходом команды вспыхивает и все!! Может выход (нагрев второй) под шим заточен, тут что нибудь не то???

14.01.2021 в 21:04
0

Ура нашел!! спасибо!!  полез  посмотреть точно ли закоментировал нагреватель 2 в поиске набрал      P2_04 .

И нашлось две записи!!!  
  // #define HEATER_1_PIN P2_04 которую я закоментировал и
эта!!!!!
   #define FAN1_PIN P2_04
откуда она взялась???  Убрал и все заработало!!!!

 McPaul  - спасибо натолкнул на мысль!!!!  Спасибо. 

Для написания комментариев, пожалуйста, авторизуйтесь.

Читайте в блогах

Небольшой лайфхак.

Прошивка ghost 4S на ghost 5

Делаем кнопку stop для octoprint на Raspberry pi

Госзакупки, "Точка Роста" и 3D-принтер за тройную цену...

Ремонт дома с помощью 3D принтера | 3D печать держателей для гардеробной из Clotho ABS

Сгорел на работе