
Пролог
Как говорят
Чтобы стать хорошим инженером, надо изучать примеры успешных разработок.
Взять хоть стол с подъемной столешницей. Стол для программиста - это вообще святое. От удобства стола зависит производительность труда программиста и, как следствие, качество результата всей работы. Именно за столом на работе по сути и проходит вся трудовая жизнь.
В 2024 я купил себе в кабинет для работы стол с подъемной столешницей. Модель MOTOR UP от компании StolStoya. Стоило это изделие 38k RUR. Спустя год электроника подъёма внезапно перестала работать. Произошел полный отказ. Семи-сегментный индикатор стал показывать непонятный токен rE5. Кнопки перестали слушаться. Столешница застыла под потолком. Я не знал, что мне делать. Пришлось разбираться, что же это такое за шайтан машина: электрический стол.
Теория
Стол с подъёмной столешницей это классический пример полезной встраиваемой системы. Смотрите... Есть физический агрегат (монтировка на которой установлена деревянная плита), облепленный датчиками. Есть исполнительный механизм (актюатор), есть объект управления (H-мост), есть вычислитель (микроконтроллер). В первом приближении со стороны техника сборщика мебели вся система выглядит вот так.

В электронике существует классическая электрическая цепочка, которая называется H-мост (H-bridge).

Схема H-bridge позволяет пропускать ток через нагрузку в прямом и обратном направлении. Если в эту цепь подключить DC-мотор, то он будет крутиться либо по часовой стрелке (СW) либо против часовой стрелки (CCW). Также можно модулировать величину тока, если переключать ключи PWM сигналом.
H-мосты активно применяют в маломощных устройствах, которые крутят, например, шаговые двигатели в CNC станках или, например, в контроллерах управления автомобильными стекло-опускателями, выдвижными ramp(ами) в автобусах. Это всё так называемые прошивки-спинеры.
Практическая часть
Я взял отвертку и демонтировал крышу пластикового саркофага центрального ECU с названием SHD20 и увидел там нечто. Внутри оказалась PCB главной ECU. Тут явно выделяется какой-то микроконтроллер, силовая цепь электропитания, LDO, электролит конденсатор, катушка индуктивности. Но обо всём по порядку...

На прямоугольной микросхеме судя по маркировке 1301 X 032B 84PGP017 IC2 G2204 в главной плате управления заложен немецкий микроконтроллер XMC1302-T038X0032 от компании INFINEON TECHNOLOGIES. Внутри SoC 32-битный британский ARM Cortex-M0 процессор с 32 kBytes Flash и 16kByte SRAM.

Условно MCU XMC1302-T038X0032 можно изобразить так

Соседняя микросхема имеет маркировку FORTIOR FD2103S FK8051. Это не что иное как Half-bridge Gate Driver. То есть 50% от драйвера H-моста. На PCB таких как раз две штуки.

То есть там один H-мост собранный из двух микросхем FD2103S. Reference дизайн предлагается вот такой. Драйвер управляет внешним H мостом который собран на N-канальных полевых транзисторах.

Микросхема FD2103S нужна чтобы аппаратно не позволить одновременно включить два транзистора в плече H моста. Иначе это бы привело к короткому замыканию.

Рядом с драйвером два N-канальных полевых транзистора 10N06BEG. Всего таких 4 штуки.

В углу рядом с Power Jack есть полевой транзистор NCE55P15K .

Присутствует линейный стабилизатор напряжения LDO 78M05.

Скорее всего микроконтроллерное управление столом потребовалось для плавного разгона и плавного торможения. Это позволяет уменьшить ускорение деталей, уменьшать силу на механизмы и, как следствие, и увеличить срок службы всего изделия.
Плата HMI
Сама PCB HMI выглядит вот так

Из ASICов удалось распознать только AiP650EO R4DT219. Это LED Driver. Благодаря ему по SPI можно управлять многопиновыми LED матрицами. По сути AiP650EO это сдвиговый регистр.

К слову, длина SPI шины тут составляет около полутора метров.
Левая микросхема и вовсе оказалась аппаратно заблюрена. Наверное при помощи наждачной бумаги. Но скорее всего это сдвиговый регистр с защелкой, чтобы выгребать состояние нажатий тактовых кнопок.

Блок питания
Блок питания рассчитан на 29V и 52.2W, однако DMM показывал на выходе только 28.2V.

DC-Мотор
Что касается мотора, то его снять не возникло желания. Слишком много пришлось бы разбирать. Однако прозвонка DMM-ом основного 6-ти пинового разъема показала, что обмотка скорее всего выходит на пины M1 и M2. А H1 и H2 это скорее всего выходы инкрементного энкодера. Либо дискретные датчики-концевики.

BOM
Полный BOM можно посмотреть тут. Вот основная выписки из него.
Количество |
ASIC |
Назначение |
2 |
FD2103S |
Драйвер двух транзисторов |
1 |
XMC1302-T038X0032 |
ARM Cortex M0, Flash 32kByte |
4 |
10N06BEG |
N-Channel MOSFET |
1 |
78M05 |
Стабилизатор напряжения |
1+ |
AiP650EO |
LED Driver |
1 |
NCE55P15K |
P-Channel MOSFET |
Суммируя разведданные получилась такая схема. ARM микроконтроллер управляет одним H-мостом.

К слову, длинна SPI шины тут составляет около полтора метра.
Достоинства данной модели электрического стола
++Есть программный плавный разгон и плавное торможение.
++Если оторвать мотор, то HMI покажет токен E01. Можно заключить, что в прошивке есть Load Detect, чтобы проверять факт оторванного мотора.
++HMI показывает высоту с погрешностью как будто бы до 10 см. Однако это не особо интересно.
Что можно улучшить в электрическом столе?
Если немного пофантазировать, то на тему электрического стола можно придумать весьма много улучшений:
++Добавить ручку на случай отказа электроники.
++Уменьшить массу деталей. Особенно ножек.
++Уменьшить шероховатость столешницы
++Добавить интерфейс командной строки поверх UART, чтобы устанавливать высоту из PyTTY.
++Добавить блокировку от детей.
++Добавить голосовое управление высотой через инфраструктуру умного дома.
++Регулировать высоту стола от TV пульта (или пульта от кондиционера).
++Добавить esp-01 модуль, чтобы управлять столом по WiFi через PuTTY и читать диагностику.
++Добавить под столешницей гамак для всяческих бумаг.
++Добавить к ножкам колёсики, чтобы можно было подкатывать стол к тем коллегам с которыми надо плотно работать на данном конкретном этапе.
++Данный стол очень долго пришлось собирать. Монтаж требовал сверления направляющих для саморезов, однако дрели не было в комплекте.
++Весь H-мост можно было бы сделать на трех компонентах. Два внешних N-канальных полевика и один драйвер на основе ASIC VNHD7008AY. Плата получилась бы компактнее, а схемотехника - проще.

Итог
Удалось получить базовое начальное представление о структуре электронной начинки в столе на подъёмной столешнице. Это по сути драйвер одного H-моста, который вертит ось DC-мотором. Всем заправляет прошивка-спинер в MCU. Только и всего. Электрический стол может быть прекрасным учебным примером для изучения встраиваемых микроконтроллерных систем и ТАУ на практике для технических университетов.
К слову, сама ошибка была вызвана тем, что стол потерял калибровку. Надо было вручную опустить стол до предела вниз и подать питание. Код ошибки исчез. После всё начинало нормально работать.
Если у вас тоже есть стол с элеватором, то напишете, пожалуйста, в комментариях про свою модель.
Ссылки
Название |
URL |
Как я покупал стол с регулируемой высотой |
|
FD2103S |
|
H-мост: Load Detect (или как выявлять вандализм) |
|
BOM |
https://docs.google.com/spreadsheets/d/1O2WSUAk4vj2druayIJhZvlOFlnic84qghIHtkdB-PJg/edit?gid=0#gid=0 |
Cделал компьютерный стол с подъемным механизмом |
|
XMC1302T038X0032ABXUMA1 |
https://www.chipdip.ru/product/xmc1302t038x0032abxuma1-infineon-8024052489 |
Словарь
Акроним |
Расшифровка |
BOM |
bill of materials |
MCU |
microcontroller |
DC |
direct current |
LDO |
Low-dropout regulator |
ТАУ |
теория автоматического управления |
AC |
Alternating current |
DMM |
digital multimeter |
ECU |
Electronic Control Unit |
SWD |
Serial Wire Debug |
PCB |
printed circuit board |
SPI |
Serial Peripheral Interface |
LED |
light-emitting diode |
HMI |
Human-machine interface |
ASIC |
Application Specific Integrated Circuit |
Вопросы
--Как на стороне микроконтроллера можно проверить факт оторванной нагрузки в H-мосте?
Комментарии (7)
xSVPx
13.09.2025 18:08В таком столе главное механика. Двигатель любой можно приспособить(если вдруг родной умер), переделать управление на esp32 и управлять им после этого как заблагорассудится. Былоб желание.
aabzel Автор
13.09.2025 18:08Весь H-мост можно было бы сделать на трех компонентах. Два внешних N-канальных полевика и один драйвер на основе ASIC VNHD7008AY. Плата получилась бы компактнее, а схемотехника - проще.
randomsimplenumber
13.09.2025 18:08Н мост можно взять готовый. Можно собрать из 2 полумостов. Типовых решений - вагон.
randomsimplenumber
13.09.2025 18:08Семи-сегментный индикатор стал показывать непонятный токен rE5
Сия вундервафля разработана, походу, лет 30 назад. В 21 веке можно добавить пару баксов на нормальный дисплей.
Подобная конструкция у меня в теплице форточку открывает. Мотор от стеклоподьемника, Н-мост из 2 реле и mosfet для плавного старта, концевик, датчик Холла вместо енкодера. Вся теплица дешевле чем стол с моторчиком ;)
VT100
78M - не LDO. А вот его перегрев и перегрев соседних конденсаторов при высаживании такого входного напряжения - более, чем вероятны. Особенно, если в простое не отключается индикация.
P.S. Grammar-nazi mode:
..... длина SPI шины тут составляет около полутора метров.
..... длина SPI шины тут составляет примерно полтора метра.