FreelanceSpace

Система автоматического управления высевом «HydroSeed»

50 просмотров опубликовано 7 часов назад №1157 от 26.06.2026
Бюджет: по договорённости
Сравнивайте предложения по цене, срокам и рейтингу исполнителей.
Войти и откликнуться

Описание заказа

ТЕХНИЧЕСКОЕ ЗАДАНИЕ (ТЗ) НА РАЗРАБОТКУ ПРОШИВКИ МИКРОКОНТРОЛЛЕРА

Проект: Система автоматического управления высевом «HydroSeed» (2 контура)

1. Общие сведения о системе

HydroSeed — это бортовой программно-аппаратный комплекс автоматического управления (САУ) высевом для модернизации пневматических сеялок типа Salford и или их аналогов .

Система осуществляет перевод дозирующих валов с механического привода на независимый гидропривод (2 контура: Семена и Сухие удобрения) и контролирует параметры безопасности пневмосистемы.

Платформа разработки:

Микроконтроллер серии STM32 (рекомендуемый: F103RCT6 или G4-серия), среда STM32CubeIDE, библиотека HAL. Язык программирования: C/C++. Обмен с оператором: графическая панель Nextion 7" (UART) .

2. Конфигурация периферии и входов/выходов (Пинаут ЭБУ)

Микроконтроллер должен обрабатывать 4 скоростных (частотных) и 3 дискретных канала ввода, а также формировать 2 канала силового ШИМ-управления:

Входы Input Capture (Захват частоты):

TIM_CH1 — Датчик скорости опорно-приводного колеса бункера (индуктивный PNP, 0–15 км/ч).
TIM_CH2 — Датчик оборотов Вала №1 (Зерно). Установлен на кулачковой муфте гидромотора, 6 импульсов/оборот (5–150 об/мин).
TIM_CH3 — Датчик оборотов Вала №2 (Удобрения). Установлен на кулачковой муфте второго гидромотора, 6 импульсов/оборот (5–150 об/мин).
TIM_CH4 — Датчик Холла вентилятора турбины (высокоскоростной, диапазон 800–4500 об/мин, норма 1200–1800 об/мин).

Дискретные входы (GPIO Input / EXTI):

5. GPIO_IN_1 — Датчик положения навески сеялки (Концевик: Поле / Разворот).
6. GPIO_IN_2 — Емкостный датчик уровня Бункера №1 (Зерно, дискретный).
7. GPIO_IN_3 — Емкостный датчик уровня Бункера №2 (Удобрения, дискретный).

Выходы управления (GPIO Output / PWM):

8. PWM_CH1 — ШИМ-управление пропорциональным гидроклапаном Вала №1 (100–300 Гц).
9. PWM_CH2 — ШИМ-управление пропорциональным гидроклапаном Вала №2 (100–300 Гц).
10. GPIO_OUT_1 — Выход на силовой транзистор звукового аварийного зуммера.

3. Режимы работы и программная логика

Прошивка должна иметь три четко разделенных контекста (режима) работы:

РЕЖИМ 1: «СЕВ» (Основной рабочий режим в поле)

Расчет скорости: Система измеряет текущую частоту датчика колеса и рассчитывает скорость движения трактора (S, м/мин) с использованием сохраненного во Flash-памяти коэффициента пути K_wheel (импульсов на 1 метр).

Стабилизация нормы (ПИД): Два независимых ПИД-регулятора рассчитывают скважность ШИМ для гидроклапанов, удерживая заданные нормы высева (кг/га) для каждого вала индивидуально относительно текущей скорости. Скорость изменения ШИМ ограничивается функцией плавного пуска (Ramp) во избежание гидроударов.

Логика навески: При размыкании датчика навески (трактор поднял сеялку на развороте) ШИМ обоих клапанов мгновенно сбрасывается в 0%, вращение валов блокируется.

Аварийная логика («Алармы»):

Блокировка старта по турбине,падение оборотов турбины на ходу,заклинивание валов,датчики бункеров: .

Аварийная Эмуляция скорости: По команде из UART (при поломке датчика колеса) система игнорирует физический датчик скорости и подставляет в ПИД-формулу заданную пользователем константу виртуальной скорости (например, фиксированные сайт заказчика км/ч).

РЕЖИМ 2: «КАЛИБРОВКА ДОЗАТОРА»

РЕЖИМ 3: «КАЛИБРОВКА ПУТИ (100 МЕТРОВ)» (Инженерный режим)

По команде «СТАРТ КАЛИБРОВКИ ПУТИ» STM32 обнуляет счетчик импульсов колеса и начинает инкрементировать каждый входящий импульс таймера.

По команде «СТОП КАЛИБРОВКИ ПУТИ» (после проезда трактором мерных 100 метров) процессор делит сумму накопленных импульсов на 100, рассчитывает коэффициент K_wheel (импульсов/метр) и перезаписывает его в энергонезависимую память (Flash/Эмуляция EEPROM).

4. Протокол обмена HMI (UART -> Nextion)

Связь осуществляется по UART без блокирующих функций (non-blocking IT/DMA).

Направление STM32 -> Nextion: Передача текущей скорости (км/ч), фактических оборотов Вала 1 и Вала 2 (об/мин), оборотов турбины (об/мин), засеянной площади (га), статуса заполнения бункеров (1/0) и кодов аварий (норма/предупреждение/критический стоп).

Направление Nextion -> STM32: Команды смены режимов (Сев / Калибровка дозатора / Калибровка пути), ввод нормы высева (кг/га), ввод веса калибровочного мешка (граммы), ввод скорости для режима эмуляции, команды Старт/Стоп для тестов.

5. Требования к коду и сдаче проекта

Код должен быть модульным. Измерение частоты — строго через прерывания таймеров. Измерение периода на низких RPM методом вычисления дельты тиков таймера между соседними импульсами (diff_capture_val), а не подсчетом импульсов за фиксированную секунду.

Запрещено использование блокирующих задержек (HAL_Delay). Весь тайминг алармов и ПИД-цикла (100 мс) строиться на системных тиках (HAL_GetTick()).

Результат работы: Полностью компилируемый проект в STM32CubeIDE со всеми исходными кодами и комментариями.

Похожие заказы

Свежие задания в этой же категории — для сравнения бюджета, сроков и требований.

Все в категории