Физические аппаратные модули (PCB Architecture)

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

В итоге нам предстоит спроектировать и произвести (или собрать из модулей) 3 типа физических плат:


Модуль 1: Главная материнская плата (Main Controller Board)

Это "Мозг" системы, устанавливаемый на лицевой панели фермы или в удобном месте.

Ключевые компоненты на плате:

Выходящие провода: Всего 2 витые пары (Шлейф 1-Wire и Шлейф RS-485), плюс шлейф к материнской плате сервера (reset_sw, power_sw).


Модуль 2: Умный узел помпы (Smart Pump RS-485 Node)

Если мы используем стандартные помпы (D5, автомобильные CWA50), которые управляются обычным ШИМ и отдают Тахометр, им нужен "переводчик" с языка RS-485 на их родной язык. Эта маленькая плата ставится рядом с каждой помпой.

Если же мы купим промышленные помпы со встроенным Modbus, этот модуль не нужен вообще — витая пара втыкается прямо в помпу.

Ключевые компоненты на плате:


Модуль 3: Умный модуль потока и термометрии (Smart Temp/Flow 1-Wire Node)

Это крошечная плата (буквально размером с монету 10х10 мм), которая монтируется внутрь вашей 3D-печатной воронки-счетчика, описанной в flow_meter_module.md.

Ключевые компоненты на плате:


Итоговая топология

graph TD
    Daemon[Linux Daemon] <-->|USB Serial| RP2040(Main RP2040 Controller)
    RP2040 <-->|SPI| Display[TFT Display]
    RP2040 <-->|Relay| ATX[ATX Power / Server MB]
    
    RP2040 <-->|RS-485 Bus| PumpNode1("Pump Node [DIP:001]")
    PumpNode1 -->|PWM/Tacho| Pump1[(Pump 1)]
    
    RP2040 <-->|RS-485 Bus| PumpNode2("Pump Node [DIP:010]")
    PumpNode2 -->|PWM/Tacho| Pump2[(Pump 2)]
    
    RP2040 <-->|1-Wire Bus| FlowNode1(Smart Flow Node 1)
    RP2040 <-->|1-Wire Bus| FlowNode2(Smart Flow Node 2)

Такая архитектура — это уровень профессионального промышленного оборудования (PLC). Вы можете гирляндами наращивать помпы и датчики, просто подключая их параллельно к соответствующей шине и выставляя адреса джамперами.