Аквариумный компрессор переделка на 5в + мозги.

-- P канальные мосфеты A03401A 2шт, резисторы на затворы 10ом 2шт, подтяжка к gnd 27K 2шт
-- на выход переменки керамику 0.1мкф 50в
-- На вход питания диод шоттки от обратных выбросов, электролит 16в 400мкф и выше, керамика 0.1мкф 50в
-- термистор 100к, резистор 43К для подтяжки к плюсу
UPD. Обновил прошивку(различные оптимизации для стабильности работы)
UPD2. Добавил в тему описание меню, ибо без него не разобрать что и как.

Вобщем понадобился более умный аквариумный компрессор. Способный очень маленький объем воздуха подавать(например при травлении платы, чтоб пузырьки становились мелкими и не расзбрызгивали) но стабильно и от 5в и с очень гибким управлением. Делал для себя, решил выложить вдруг кому пригодится.
Управление сделано через h-мост на мосфетах. Конденсатор возле питания на 2200мкф, вообще достаточно 440мкф электролит у питания моста если нагрузка катушки не будет выше 0.5а.
Сделан на базе дешевого китайского компрессора(220в), катушка была перемотана под 5в, так чтоб сопротивление было от 10 до 15ом, я сделал 13ом, мотал проводом примерно 0.25-03мм. Я перед перемоткой ориентировался на исходную мощность компрессора плюс запас с расчетом на то что от 5в производительность будет ниже. Избыточную мощность после можно срезать в настройках.
На выходе генерируется переменка 5в, с грязным синусом через pwm. Смена полярности и частота pwm регулируемы, два режима авто и ручной, с регулируемой длительностью запуска и таймаутом между ними, и куча сопутствующих параметров. Сам rp2040 zero и плата моста уместились за дисплеем, не стал саморачиватся и на термоклее слепил.

Код написан в среде arduino ide, ядро от earlephilhower. Возможно прийдется герметизировать сам насос часто он сильно пропускает и малопроизводителен.
Управление сделано через h-мост на мосфетах. Конденсатор возле питания на 2200мкф, вообще достаточно 440мкф электролит у питания моста если нагрузка катушки не будет выше 0.5а.
Сделан на базе дешевого китайского компрессора(220в), катушка была перемотана под 5в, так чтоб сопротивление было от 10 до 15ом, я сделал 13ом, мотал проводом примерно 0.25-03мм. Я перед перемоткой ориентировался на исходную мощность компрессора плюс запас с расчетом на то что от 5в производительность будет ниже. Избыточную мощность после можно срезать в настройках.
На выходе генерируется переменка 5в, с грязным синусом через pwm. Смена полярности и частота pwm регулируемы, два режима авто и ручной, с регулируемой длительностью запуска и таймаутом между ними, и куча сопутствующих параметров. Сам rp2040 zero и плата моста уместились за дисплеем, не стал саморачиватся и на термоклее слепил.

Код написан в среде arduino ide, ядро от earlephilhower. Возможно прийдется герметизировать сам насос часто он сильно пропускает и малопроизводителен.
- Raspberry pi pico или rp2040
- Lcd oled 128x64 sh1106
- H мост на мосфетах
-- P канальные мосфеты A03401A 2шт, резисторы на затворы 10ом 2шт, подтяжка к gnd 27K 2шт
-- на выход переменки керамику 0.1мкф 50в
-- На вход питания диод шоттки от обратных выбросов, электролит 16в 400мкф и выше, керамика 0.1мкф 50в
-- термистор 100к, резистор 43К для подтяжки к плюсу
GPIO0 - кнопка минус
GPIO1 - кнопка плюс
GPIO2 - Кнопка SELECT
lcd oled 128x64 sh1106
LCD_CS = GPIO11
LCD_DC = GPIO12
LCD_RES = GPIO13
LCD_SCK = GPIO14
LCD_SDA = GPIO15
BRIDGE_VCC_LEFT = GPIO10 верхнего левого ключа H-моста.
BRIDGE_GND_LEFT = GPIO26 нижнего левого ключа H-моста; управляется PWM.
BRIDGE_GND_RIGHT = GPIO27 нижнего правого ключа H-моста; управляется PWM.
BRIDGE_VCC_RIGHT = GPIO28 верхнего правого ключа H-моста.
GPIO29 аналоговый вход ADC для термистора.
Пины лучше не менять в коде, там все сложно.
Соединение моста и pico делать звездой от общего источника. Сам мост собирал на макетке, у меня вышло так:

Схема моста:

Выходные провода переменки напрямую к катушке. Сам мост при не правильном подключении может вызвать КЗ, первый раз запитывать лучше через ограничительный резистор. Вывод для gpio отображены как есть на схеме, вверху верхние плечи для вкл плюса, внизу для минуса, выше распиновка по аналогичным названиям (BRIDGE_VCC_LEFT, BRIDGE_GND_LEFT, BRIDGE_GND_RIGHT, BRIDGE_VCC_RIGHT)
GPIO1 - кнопка плюс
GPIO2 - Кнопка SELECT
lcd oled 128x64 sh1106
LCD_CS = GPIO11
LCD_DC = GPIO12
LCD_RES = GPIO13
LCD_SCK = GPIO14
LCD_SDA = GPIO15
BRIDGE_VCC_LEFT = GPIO10 верхнего левого ключа H-моста.
BRIDGE_GND_LEFT = GPIO26 нижнего левого ключа H-моста; управляется PWM.
BRIDGE_GND_RIGHT = GPIO27 нижнего правого ключа H-моста; управляется PWM.
BRIDGE_VCC_RIGHT = GPIO28 верхнего правого ключа H-моста.
GPIO29 аналоговый вход ADC для термистора.
Пины лучше не менять в коде, там все сложно.
Соединение моста и pico делать звездой от общего источника. Сам мост собирал на макетке, у меня вышло так:

Схема моста:

Выходные провода переменки напрямую к катушке. Сам мост при не правильном подключении может вызвать КЗ, первый раз запитывать лучше через ограничительный резистор. Вывод для gpio отображены как есть на схеме, вверху верхние плечи для вкл плюса, внизу для минуса, выше распиновка по аналогичным названиям (BRIDGE_VCC_LEFT, BRIDGE_GND_LEFT, BRIDGE_GND_RIGHT, BRIDGE_VCC_RIGHT)
СПРАВКА ПО LCD-МЕНЮ КОМПРЕССОРА
Прошивка: compressor_v_1_0
0. ОБОЗНАЧЕНИЯ
0.1. A/M
A — значение для режима AUTO.
M — значение для режима MANUAL.
В парных строках первое значение относится к AUTO, второе — к MANUAL.
0.2. Единицы на экране
K — кГц.
H или HZ — Гц.
M — МГц в строке CPU.
C — градусы Цельсия.
S — секунды.
DIS — функция или значение отключено.
EN — функция включена.
0.3. Применение и сохранение
Изменения главного меню действуют только в текущем сеансе работы.
Параметры расширенного меню после подтверждения сразу применяются, но остаются только в ОЗУ.
Для сохранения после перезапуска используется SAVE, см. п. 4.14.
1. УПРАВЛЕНИЕ КНОПКАМИ
1.1. PLUS
Без редактирования — движение вверх или к предыдущему пункту.
При редактировании — увеличение значения.
1.2. MINUS
Без редактирования — движение вниз или к следующему пункту.
При редактировании — уменьшение значения.
1.3. Короткое нажатие SELECT
В главном меню:
— вход в редактирование выбранного пункта;
— повторное нажатие завершает редактирование и применяет значение.
В расширенном меню:
— вход в редактирование выбранного параметра;
— повторное нажатие подтверждает и применяет значение;
— на RESTORE выполняет восстановление, см. п. 4.13;
— на SAVE запускает сохранение, см. п. 4.14.
1.4. Длинное нажатие SELECT
Удержание около 2 секунд:
— из главного экрана открывает расширенное меню;
— из расширенного меню возвращает на главный экран.
Если главное меню находилось в режиме редактирования, значение сначала применяется.
Если выйти длинным SELECT из редактирования расширенной настройки, неподтверждённое значение отбрасывается.
1.5. Удержание PLUS или MINUS
Автоповтор начинается примерно через 0,5 секунды.
Для длительностей GAP, LIGHT/OFF и POWERSAVE шаг постепенно ускоряется:
1, затем 5, 10 и 30 секунд.
1.6. Выключенный OLED
Первое нажатие любой кнопки только включает экран.
Команда не выполняется, пока кнопка не будет отпущена и нажата повторно.
1.7. Одновременное нажатие PLUS и MINUS
Обе команды игнорируются.
1.8. Индикация выбора
Треугольник слева — выбран пункт.
Инвертированная строка — идёт редактирование.
В парной строке рамка показывает, редактируется значение A или M.
2. ГЛАВНЫЙ ЭКРАН
2.1. MODE
Варианты: AUTO / MANUAL.
AUTO:
— на главном экране доступны только MODE и LOAD;
— используются настройки A из п. 4.2, 4.3, 4.5 и 4.6;
— циклический GAP не используется.
MANUAL:
— доступны MODE, LOAD, FREQ и GAP;
— используются настройки M из п. 4.2, 4.3, 4.5 и 4.6;
— может работать циклический GAP, см. п. 2.4 и 4.7.
2.2. LOAD
Диапазон: 0…100%.
Задаёт текущую нагрузку активного режима.
0% полностью выключает силовой выход.
Значение дополнительно масштабируется глобальным LOAD MAX, см. п. 4.4.
Фактический предел:
LOAD × LOAD MAX / 100.
Пример:
LOAD 80%, LOAD MAX 50% — фактическая нагрузка около 40%.
2.3. FREQ
Доступен только в режиме MANUAL.
Диапазон: 1…70 Гц.
Задаёт частоту полного рабочего цикла компрессора.
Не является частотой несущей PWM — несущая задаётся в п. 4.2.
Связан с балансом механических ходов, см. п. 4.6.
2.4. GAP
Доступен только в режиме MANUAL.
Показывает два значения: RUN \ PAUSE.
RUN — длительность работы.
PAUSE — длительность остановки.
Диапазон каждого значения: 0…600 секунд.
Если оба значения больше нуля, выполняется цикл:
RUN → PAUSE → RUN.
Если RUN или PAUSE равен DIS, циклический режим отключён и компрессор работает непрерывно.
Постоянные стартовые значения задаются в п. 4.7.
2.5. Нижняя строка
TIME — время работы устройства с момента включения в формате часы:минуты.
Справа — текущая температура термистора.
При неисправности термистора или перегреве силовой выход блокируется, см. п. 4.8.
2.6. Сохранение главного меню
MODE, LOAD, FREQ и GAP на главном экране являются оперативными значениями.
Они не записываются в EEPROM напрямую.
Для постоянных стартовых значений используются соответствующие пункты расширенного меню и SAVE, см. п. 4.
3. РАСШИРЕННОЕ МЕНЮ
3.1. Вход и выход
Открывается и закрывается длинным нажатием SELECT, см. п. 1.4.
3.2. Парные строки
В строках A/M сначала выбирается значение AUTO, затем MANUAL.
Рамка показывает выбранную половину строки.
3.3. Подтверждение
Короткий SELECT завершает редактирование и применяет параметр.
Без SAVE изменения сохраняются только до перезапуска, см. п. 4.14.
4. ПУНКТЫ РАСШИРЕННОГО МЕНЮ
4.1. MODE
Варианты: AUTO / MANUAL.
Задаёт активный режим и сразу переключает рабочий набор параметров.
После SAVE этот режим будет выбран при следующем запуске.
Описание режимов — п. 2.1.
4.2. PWM A/M
Диапазон: 1…20 кГц.
Отдельно задаёт частоту несущей PWM для AUTO и MANUAL.
Влияет на частоту силовых импульсов, звук, плавность регулирования и допустимый диапазон FREQ BAL.
Не изменяет механическую частоту полного цикла — её задаёт FREQ A/M, см. п. 4.5.
4.3. LOAD A/M
Диапазон: 0…100%.
Задаёт стартовую нагрузку отдельно для AUTO и MANUAL.
0% выключает силовой выход соответствующего режима.
Оба значения масштабируются через LOAD MAX, см. п. 4.4.
4.4. LOAD MAX
Диапазон: 0…100%.
Глобально ограничивает максимальную фактическую нагрузку.
Шкала LOAD и LOAD A/M при этом остаётся 0…100%.
Расчёт:
фактическая нагрузка = LOAD × LOAD MAX / 100.
Примеры:
LOAD 100%, LOAD MAX 60% — фактически около 60%.
LOAD 50%, LOAD MAX 60% — фактически около 30%.
LOAD MAX 0% — силовой выход полностью запрещён.
4.5. FREQ A/M
Диапазон: 1…70 Гц.
Задаёт частоту полного рабочего цикла отдельно для AUTO и MANUAL.
Один цикл включает оба направления движения магнита.
При изменении FREQ прошивка проверяет и при необходимости ограничивает FREQ BAL, см. п. 4.6.
4.6. FREQ BAL A/M
Задаёт соотношение длительности двух механических ходов отдельно для AUTO и MANUAL.
ХОД 1:
конец второй полуволны → переход через ноль → начало первой.
ХОД 2:
конец первой полуволны → переход через ноль → начало второй.
50% — оба хода равны.
Меньше 50% — ХОД 1 короче и быстрее, ХОД 2 длиннее.
Больше 50% — ХОД 1 длиннее, ХОД 2 короче и быстрее.
Полная частота из п. 4.5 не меняется:
ХОД 1 + ХОД 2 = один период FREQ.
Допустимый диапазон рассчитывается автоматически по FREQ и PWM.
Абсолютные пределы программы — 1…99%, но фактический диапазон может быть уже.
Баланс изменяет линейную, округлую и пиковую части огибающей.
Защитные интервалы перехода через ноль остаются неизменными:
— предварительное открытие нижнего ключа: 2 мкс;
— slow decay: 0,5 мс;
— dead time: 0,5 мс.
4.7. GAP
Два значения: RUN / PAUSE.
Диапазон каждого: 0…600 секунд.
RUN — длительность работы.
PAUSE — длительность паузы.
Используется только в режиме MANUAL, см. п. 2.4.
Если хотя бы одно значение DIS, циклический GAP отключён.
4.8. TEMP
Два значения: STOP / START.
STOP — температура аварийной остановки.
Диапазон: 40…120 °C.
START — температура разрешения повторного запуска после охлаждения.
Диапазон: 0…115 °C.
START всегда должен быть минимум на 5 °C ниже STOP.
При достижении STOP компрессор останавливается.
После охлаждения до START работа снова разрешается.
Неисправность или недостоверное значение термистора также блокирует мост.
4.9. LIGHT/OFF
Два значения: LIGHT / OFF.
LIGHT:
— яркость OLED;
— диапазон 1…100%;
— применяется сразу после подтверждения.
OFF:
— время бездействия до выключения OLED;
— диапазон 0…3600 секунд;
— DIS отключает автоматическое выключение.
Выключение OLED не останавливает компрессор, температурный контроль или GAP.
Пробуждение экрана описано в п. 1.6.
4.10. POWERSAVE
Варианты: DIS или 5…600 секунд.
Задаёт задержку до включения режима энергосбережения.
В энергосбережении процессор спит между событиями, а PIO и DMA продолжают формировать сигнал моста.
После включения POWERSAVE становятся видны пункты CPU и USB, см. п. 4.11 и 4.12.
DIS скрывает CPU и USB и отключает запуск этого режима.
4.11. CPU
Виден только при включённом POWERSAVE, см. п. 4.10.
В строке слева показывается текущая частота CPU, справа — заданная частота для POWERSAVE.
Варианты:
DIS;
18 МГц;
20…133 МГц.
19 МГц пропущена как неподдерживаемая.
DIS означает, что частота CPU при POWERSAVE не изменяется.
Частота PIO моста остаётся программно равной 8 МГц, поэтому FREQ и временные интервалы моста сохраняются.
4.12. USB
Виден только при включённом POWERSAVE, см. п. 4.10.
EN — оставить USB включённым.
DIS — при запуске POWERSAVE отключить USB и PLL_USB для снижения потребления.
После полного отключения USB восстановить его без перезапуска RP2040 нельзя.
Смена DIS обратно на EN подействует после перезапуска, если USB уже был отключён аппаратно.
4.13. RESTORE
Короткий SELECT загружает заводские настройки в ОЗУ и сразу их применяет.
EEPROM не изменяется.
Если после RESTORE выключить питание без SAVE, при следующем запуске загрузятся прежние сохранённые настройки.
После выполнения примерно на одну секунду показывается OK.
Заводские значения перечислены в п. 5.
Для постоянного сохранения восстановленных значений используется SAVE, см. п. 4.14.
4.14. SAVE
Короткий SELECT сохраняет текущие параметры расширенного меню в EEPROM.
Перед записью прошивка мягко останавливает H-мост и ждёт безопасного завершения PIO/DMA.
Во время ожидания показывается WAIT.
После записи и проверки структуры показывается OK примерно на одну секунду.
После SAVE параметры загружаются при следующем включении.
Главное меню напрямую не сохраняется — см. п. 2.6.
5. ЗАВОДСКИЕ ЗНАЧЕНИЯ RESTORE
5.1. MODE: AUTO.
5.2. PWM A/M: 20 / 20 кГц.
5.3. LOAD A/M: 0 / 0%.
5.4. LOAD MAX: 100%.
5.5. FREQ A/M: 50 / 20 Гц.
5.6. FREQ BAL A/M: 50 / 50%.
5.7. GAP RUN / PAUSE: 10 / 1 секунда.
5.8. TEMP STOP / START: 70 / 45 °C.
5.9. LIGHT / OFF: 1% / 10 секунд.
5.10. POWERSAVE: DIS.
5.11. CPU: DIS.
5.12. USB: EN.
6. КРАТКАЯ ПОСЛЕДОВАТЕЛЬНОСТЬ НАСТРОЙКИ
6.1. Длинным SELECT открыть расширенное меню.
6.2. PLUS/MINUS выбрать нужный пункт.
6.3. Коротким SELECT войти в редактирование.
6.4. PLUS/MINUS изменить значение.
6.5. Коротким SELECT подтвердить и применить.
6.6. При необходимости изменить остальные параметры.
6.7. Выбрать SAVE и нажать SELECT для сохранения после перезапуска.
6.8. Длинным SELECT выйти на главный экран.
Прошивка: compressor_v_1_0
0. ОБОЗНАЧЕНИЯ
0.1. A/M
A — значение для режима AUTO.
M — значение для режима MANUAL.
В парных строках первое значение относится к AUTO, второе — к MANUAL.
0.2. Единицы на экране
K — кГц.
H или HZ — Гц.
M — МГц в строке CPU.
C — градусы Цельсия.
S — секунды.
DIS — функция или значение отключено.
EN — функция включена.
0.3. Применение и сохранение
Изменения главного меню действуют только в текущем сеансе работы.
Параметры расширенного меню после подтверждения сразу применяются, но остаются только в ОЗУ.
Для сохранения после перезапуска используется SAVE, см. п. 4.14.
1. УПРАВЛЕНИЕ КНОПКАМИ
1.1. PLUS
Без редактирования — движение вверх или к предыдущему пункту.
При редактировании — увеличение значения.
1.2. MINUS
Без редактирования — движение вниз или к следующему пункту.
При редактировании — уменьшение значения.
1.3. Короткое нажатие SELECT
В главном меню:
— вход в редактирование выбранного пункта;
— повторное нажатие завершает редактирование и применяет значение.
В расширенном меню:
— вход в редактирование выбранного параметра;
— повторное нажатие подтверждает и применяет значение;
— на RESTORE выполняет восстановление, см. п. 4.13;
— на SAVE запускает сохранение, см. п. 4.14.
1.4. Длинное нажатие SELECT
Удержание около 2 секунд:
— из главного экрана открывает расширенное меню;
— из расширенного меню возвращает на главный экран.
Если главное меню находилось в режиме редактирования, значение сначала применяется.
Если выйти длинным SELECT из редактирования расширенной настройки, неподтверждённое значение отбрасывается.
1.5. Удержание PLUS или MINUS
Автоповтор начинается примерно через 0,5 секунды.
Для длительностей GAP, LIGHT/OFF и POWERSAVE шаг постепенно ускоряется:
1, затем 5, 10 и 30 секунд.
1.6. Выключенный OLED
Первое нажатие любой кнопки только включает экран.
Команда не выполняется, пока кнопка не будет отпущена и нажата повторно.
1.7. Одновременное нажатие PLUS и MINUS
Обе команды игнорируются.
1.8. Индикация выбора
Треугольник слева — выбран пункт.
Инвертированная строка — идёт редактирование.
В парной строке рамка показывает, редактируется значение A или M.
2. ГЛАВНЫЙ ЭКРАН
2.1. MODE
Варианты: AUTO / MANUAL.
AUTO:
— на главном экране доступны только MODE и LOAD;
— используются настройки A из п. 4.2, 4.3, 4.5 и 4.6;
— циклический GAP не используется.
MANUAL:
— доступны MODE, LOAD, FREQ и GAP;
— используются настройки M из п. 4.2, 4.3, 4.5 и 4.6;
— может работать циклический GAP, см. п. 2.4 и 4.7.
2.2. LOAD
Диапазон: 0…100%.
Задаёт текущую нагрузку активного режима.
0% полностью выключает силовой выход.
Значение дополнительно масштабируется глобальным LOAD MAX, см. п. 4.4.
Фактический предел:
LOAD × LOAD MAX / 100.
Пример:
LOAD 80%, LOAD MAX 50% — фактическая нагрузка около 40%.
2.3. FREQ
Доступен только в режиме MANUAL.
Диапазон: 1…70 Гц.
Задаёт частоту полного рабочего цикла компрессора.
Не является частотой несущей PWM — несущая задаётся в п. 4.2.
Связан с балансом механических ходов, см. п. 4.6.
2.4. GAP
Доступен только в режиме MANUAL.
Показывает два значения: RUN \ PAUSE.
RUN — длительность работы.
PAUSE — длительность остановки.
Диапазон каждого значения: 0…600 секунд.
Если оба значения больше нуля, выполняется цикл:
RUN → PAUSE → RUN.
Если RUN или PAUSE равен DIS, циклический режим отключён и компрессор работает непрерывно.
Постоянные стартовые значения задаются в п. 4.7.
2.5. Нижняя строка
TIME — время работы устройства с момента включения в формате часы:минуты.
Справа — текущая температура термистора.
При неисправности термистора или перегреве силовой выход блокируется, см. п. 4.8.
2.6. Сохранение главного меню
MODE, LOAD, FREQ и GAP на главном экране являются оперативными значениями.
Они не записываются в EEPROM напрямую.
Для постоянных стартовых значений используются соответствующие пункты расширенного меню и SAVE, см. п. 4.
3. РАСШИРЕННОЕ МЕНЮ
3.1. Вход и выход
Открывается и закрывается длинным нажатием SELECT, см. п. 1.4.
3.2. Парные строки
В строках A/M сначала выбирается значение AUTO, затем MANUAL.
Рамка показывает выбранную половину строки.
3.3. Подтверждение
Короткий SELECT завершает редактирование и применяет параметр.
Без SAVE изменения сохраняются только до перезапуска, см. п. 4.14.
4. ПУНКТЫ РАСШИРЕННОГО МЕНЮ
4.1. MODE
Варианты: AUTO / MANUAL.
Задаёт активный режим и сразу переключает рабочий набор параметров.
После SAVE этот режим будет выбран при следующем запуске.
Описание режимов — п. 2.1.
4.2. PWM A/M
Диапазон: 1…20 кГц.
Отдельно задаёт частоту несущей PWM для AUTO и MANUAL.
Влияет на частоту силовых импульсов, звук, плавность регулирования и допустимый диапазон FREQ BAL.
Не изменяет механическую частоту полного цикла — её задаёт FREQ A/M, см. п. 4.5.
4.3. LOAD A/M
Диапазон: 0…100%.
Задаёт стартовую нагрузку отдельно для AUTO и MANUAL.
0% выключает силовой выход соответствующего режима.
Оба значения масштабируются через LOAD MAX, см. п. 4.4.
4.4. LOAD MAX
Диапазон: 0…100%.
Глобально ограничивает максимальную фактическую нагрузку.
Шкала LOAD и LOAD A/M при этом остаётся 0…100%.
Расчёт:
фактическая нагрузка = LOAD × LOAD MAX / 100.
Примеры:
LOAD 100%, LOAD MAX 60% — фактически около 60%.
LOAD 50%, LOAD MAX 60% — фактически около 30%.
LOAD MAX 0% — силовой выход полностью запрещён.
4.5. FREQ A/M
Диапазон: 1…70 Гц.
Задаёт частоту полного рабочего цикла отдельно для AUTO и MANUAL.
Один цикл включает оба направления движения магнита.
При изменении FREQ прошивка проверяет и при необходимости ограничивает FREQ BAL, см. п. 4.6.
4.6. FREQ BAL A/M
Задаёт соотношение длительности двух механических ходов отдельно для AUTO и MANUAL.
ХОД 1:
конец второй полуволны → переход через ноль → начало первой.
ХОД 2:
конец первой полуволны → переход через ноль → начало второй.
50% — оба хода равны.
Меньше 50% — ХОД 1 короче и быстрее, ХОД 2 длиннее.
Больше 50% — ХОД 1 длиннее, ХОД 2 короче и быстрее.
Полная частота из п. 4.5 не меняется:
ХОД 1 + ХОД 2 = один период FREQ.
Допустимый диапазон рассчитывается автоматически по FREQ и PWM.
Абсолютные пределы программы — 1…99%, но фактический диапазон может быть уже.
Баланс изменяет линейную, округлую и пиковую части огибающей.
Защитные интервалы перехода через ноль остаются неизменными:
— предварительное открытие нижнего ключа: 2 мкс;
— slow decay: 0,5 мс;
— dead time: 0,5 мс.
4.7. GAP
Два значения: RUN / PAUSE.
Диапазон каждого: 0…600 секунд.
RUN — длительность работы.
PAUSE — длительность паузы.
Используется только в режиме MANUAL, см. п. 2.4.
Если хотя бы одно значение DIS, циклический GAP отключён.
4.8. TEMP
Два значения: STOP / START.
STOP — температура аварийной остановки.
Диапазон: 40…120 °C.
START — температура разрешения повторного запуска после охлаждения.
Диапазон: 0…115 °C.
START всегда должен быть минимум на 5 °C ниже STOP.
При достижении STOP компрессор останавливается.
После охлаждения до START работа снова разрешается.
Неисправность или недостоверное значение термистора также блокирует мост.
4.9. LIGHT/OFF
Два значения: LIGHT / OFF.
LIGHT:
— яркость OLED;
— диапазон 1…100%;
— применяется сразу после подтверждения.
OFF:
— время бездействия до выключения OLED;
— диапазон 0…3600 секунд;
— DIS отключает автоматическое выключение.
Выключение OLED не останавливает компрессор, температурный контроль или GAP.
Пробуждение экрана описано в п. 1.6.
4.10. POWERSAVE
Варианты: DIS или 5…600 секунд.
Задаёт задержку до включения режима энергосбережения.
В энергосбережении процессор спит между событиями, а PIO и DMA продолжают формировать сигнал моста.
После включения POWERSAVE становятся видны пункты CPU и USB, см. п. 4.11 и 4.12.
DIS скрывает CPU и USB и отключает запуск этого режима.
4.11. CPU
Виден только при включённом POWERSAVE, см. п. 4.10.
В строке слева показывается текущая частота CPU, справа — заданная частота для POWERSAVE.
Варианты:
DIS;
18 МГц;
20…133 МГц.
19 МГц пропущена как неподдерживаемая.
DIS означает, что частота CPU при POWERSAVE не изменяется.
Частота PIO моста остаётся программно равной 8 МГц, поэтому FREQ и временные интервалы моста сохраняются.
4.12. USB
Виден только при включённом POWERSAVE, см. п. 4.10.
EN — оставить USB включённым.
DIS — при запуске POWERSAVE отключить USB и PLL_USB для снижения потребления.
После полного отключения USB восстановить его без перезапуска RP2040 нельзя.
Смена DIS обратно на EN подействует после перезапуска, если USB уже был отключён аппаратно.
4.13. RESTORE
Короткий SELECT загружает заводские настройки в ОЗУ и сразу их применяет.
EEPROM не изменяется.
Если после RESTORE выключить питание без SAVE, при следующем запуске загрузятся прежние сохранённые настройки.
После выполнения примерно на одну секунду показывается OK.
Заводские значения перечислены в п. 5.
Для постоянного сохранения восстановленных значений используется SAVE, см. п. 4.14.
4.14. SAVE
Короткий SELECT сохраняет текущие параметры расширенного меню в EEPROM.
Перед записью прошивка мягко останавливает H-мост и ждёт безопасного завершения PIO/DMA.
Во время ожидания показывается WAIT.
После записи и проверки структуры показывается OK примерно на одну секунду.
После SAVE параметры загружаются при следующем включении.
Главное меню напрямую не сохраняется — см. п. 2.6.
5. ЗАВОДСКИЕ ЗНАЧЕНИЯ RESTORE
5.1. MODE: AUTO.
5.2. PWM A/M: 20 / 20 кГц.
5.3. LOAD A/M: 0 / 0%.
5.4. LOAD MAX: 100%.
5.5. FREQ A/M: 50 / 20 Гц.
5.6. FREQ BAL A/M: 50 / 50%.
5.7. GAP RUN / PAUSE: 10 / 1 секунда.
5.8. TEMP STOP / START: 70 / 45 °C.
5.9. LIGHT / OFF: 1% / 10 секунд.
5.10. POWERSAVE: DIS.
5.11. CPU: DIS.
5.12. USB: EN.
6. КРАТКАЯ ПОСЛЕДОВАТЕЛЬНОСТЬ НАСТРОЙКИ
6.1. Длинным SELECT открыть расширенное меню.
6.2. PLUS/MINUS выбрать нужный пункт.
6.3. Коротким SELECT войти в редактирование.
6.4. PLUS/MINUS изменить значение.
6.5. Коротким SELECT подтвердить и применить.
6.6. При необходимости изменить остальные параметры.
6.7. Выбрать SAVE и нажать SELECT для сохранения после перезапуска.
6.8. Длинным SELECT выйти на главный экран.
UPD. Обновил прошивку(различные оптимизации для стабильности работы)
UPD2. Добавил в тему описание меню, ибо без него не разобрать что и как.
Вложения
-
352.6 KB Просмотры: 0
Изменено: