Кремень FMZ Реклама
Kremen FMHM Реклама

Z_Probe и RURAMPS4D

svs0724
Идет загрузка
Загрузка
31.03.2018
13030
30
Техничка

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

36
Z_Probe и RURAMPS4D
Продолжая цикл статей по подключению различной переферии к RURAMPS4D сегодня расскажу про вход Z_PROBE.

Вход Z_PROBE изначально планировался для подключения индуктивного или емкостного датчика: вот типа таких: LJ12A3-4-Z/BX, LJ18A3-8-Z/BX
Z_Probe и RURAMPS4D
Z_Probe и RURAMPS4D
Z_Probe и RURAMPS4D
Поэтому на выводы разъема выведено следующее: питание датчика +9V, земля (GND), сигнальный выход датчика (S). При проектировании схемы взял несколько датчиков, померил напряжение на сигнальном выходе и получил на одном напряжение 6,7В, на другом около 9В. Для согласования с логическим уровнем микроконтроллера 3.3В, поставил резисторный делитель напряжения, как потом оказалось не лучшее решение, поэтому оно было только на первой партии плат (подключать датчик можно смело, Arduino вы не спалите, т.к. сигнал на выходе датчика все равно выше 9В быть не может, а вот если напряжение на выходе датчика будет ниже 6В, то микроконтроллер уже может не воспринять сигнал после делителя как логическую единицу).

Схема включения датчиков.
Z_Probe и RURAMPS4D
Теперь перейдем к конфигурации прошивки (актуально для плат с резисторным делителем, для другого варианта согласования уровней настройки будут ниже)

Marlin 2.0.



#define ENDSTOPPULLUPS

#if DISABLED(ENDSTOPPULLUPS)



//#define ENDSTOPPULLUP_ZMIN_PROBE //(подтягивающий резистор отключен)



#define Z_MIN_PROBE_ENDSTOP_INVERTING true // сигнал с датчика инвертируется.

//#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN

#define Z_MIN_PROBE_ENDSTOP

MK4DUO



#undef ENDSTOPPULLUPS



//#define ENDSTOPPULLUP_ZPROBE //(подтягивающий резистор отключен)



#define Z_PROBE_ENDSTOP_LOGIC true // сигнал с датчика инвертируется.

#define Z_PROBE_FIX_MOUNTED

На новой партии план вместо резисторного диода я применил схему согласования уровней с помощью диода Шоттки. Подтягивающий резистор при этом был применен внутренний, микроконтроллера.
Z_Probe и RURAMPS4D
При наличии на выходе датчика логической '1' на входе микроконтроллера будет примерно 3.3В, при наличии на выходе датчика логического '0' на входе микроконтроллера будет напряжение, соответствующее прямому падению напряжения на диоде. Поэтому для данной схемы желательно применять диоды Шоттки, так как они имеют низкое прямое падение напряжения (около 0.2В)

Печатную плату переделывать не пришлось, достаточно было выпаять резисторы R21 и R22 и на место R21 припаять диод.

Конфигурация прошивки при этом изменится: необходимо будет включить подтягивающий резистор для Z_Pobe:

Marlin 2.0.



#define ENDSTOPPULLUPS

#if DISABLED(ENDSTOPPULLUPS)



#define ENDSTOPPULLUP_ZMIN_PROBE //(подтягивающий резистор включен!!)



#define Z_MIN_PROBE_ENDSTOP_INVERTING true // сигнал с датчика инвертируется.

//#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN

#define Z_MIN_PROBE_ENDSTOP

#define FIX_MOUNTED_PROBE

MK4DUO



#undef ENDSTOPPULLUPS



#define ENDSTOPPULLUP_ZPROBE //(подтягивающий резистор включен!!)



#define Z_PROBE_ENDSTOP_LOGIC true // сигнал с датчика инвертируется.

#define Z_PROBE_FIX_MOUNTED

BL_TOUCH
Z_Probe и RURAMPS4D
Датчик BLTouch по умолчанию рассчитан на 5В логику, поэтому для работы с логикой 3.3В в обычно требуются небольшие доработки. Но при подключении к RURAPMS4D это не нужно, достаточно подключить BLTouch к входу Z_Probe, и выходу SRV0. (Для версии с диодом вместо делителя)
Z_Probe и RURAMPS4D
Настройки BLTouch в этом случае будут такими:

Marlin 2.0.



#define ENDSTOPPULLUPS

#if DISABLED(ENDSTOPPULLUPS)



#define ENDSTOPPULLUP_ZMIN_PROBE //(подтягивающий резистор включен!!)



#define Z_MIN_PROBE_ENDSTOP_INVERTING true // сигнал с датчика инвертируется.

//#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN

#define Z_MIN_PROBE_ENDSTOP

#define Z_ENDSTOP_SERV0_NR 0 // Defaults to SERVO 0 connector.

#define Z_SERVO_ANGLES {10,90} // Z Servo Deploy and Stow angles

#define BLTOUCH

MK4DUO



#undef ENDSTOPPULLUPS



#define ENDSTOPPULLUP_ZPROBE //(подтягивающий резистор включен!!)



#define Z_PROBE_ENDSTOP_LOGIC true // сигнал с датчика инвертируется.

#define Z_ENDSTOP_SERVO_NR 0

#define Z_ENDSTOP_SERVO_ANGLES {10,90} // Z Servo Deploy and Stow angles

#define BLTOUCH

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.

Отписаться от уведомлений вы всегда сможете в профиле автора.

36
Комментарии к статье