Программно-аппаратный проект импульсного источника питания c цифровой системой контроля
Дипломный проект университета
Software and hardware design of a switching power supply with a digital control system. Thesis project of the university
Среда компиляции: KEIL.uVision V5.34.0.0
Редактор кода: VScode (файл HOME_PS_300.code-workspace)
Используемые библиотеки: HAL ST
Cppcheck 2.10 https://cppcheck.sourceforge.io/
Запустить RunStaticAnalysisCODE.cmd
Возможен вывод результата анализа в файл
STM32 CubeMX
STM32F103C8T6 (фактически стоит китайский аналог CH32F103C8T6)
FreeRTOS Kernel V10.0.1
Запустить BuildRun.cmd
(Options for target ... -> Вкладка "Output" -> Галка "Create batch file")
Подключть ST-Link V2, запустить programFlash.bat
Терминал реализован через интерфейс UART TTL. Для Tera Term файл конфигурации: utils/TERATERM.INI Для PuTTY запустить PuTTYstart.cmd
Применена модель ветвления git flow: http://danielkummer.github.io/git-flow-cheatsheet/
Для инициализации запустить git bash и ввести:
git flow init -f
Semantic Versioning 2.0.0 https://semver.org/
Расположена в директории hardware. Схемы Э3 и Э4 представлены в каталоге shemes. Модель импульсного преобразователя в программе LTSpice в каталоге shemes. Исходные файлы печатных плат в каталоге pcb. Изображения макетного образца в каталоге picturies
Физически представляет собой две платы:
- Cиловой полумостовой модуль;
- Модуль управления и защиты.
- Рабочий диапазон входного напряжения 198 - 242 В, 50 Гц
- Диапазон выходного напряжения, В (24 - 30) ± 0,2
- Мощность, отдаваемая в нагрузку не менее, Вт 300
- КПД не менее 0,85
- Время выхода на режим не более, с 0,5
- Реализованы следующие аппаратные защиты:-от пониженного входного напряжения; -от повышенного выходного напряжения; -от короткого замыкания.
- Интерфейс информационного обмена: CAN (на данный момент не реализован), UART-монитор
- Осуществляется контроль параметров источника питания и управление посредством интерфейса: измерение выходного напряжения и тока; контроль состояния аппаратных защит; дистанционное включение-выключение источника.
https://microtechnics.ru/stm32cubemx-bystryj-start-s-freertos-dlya-stm32/
https://hackaday.com/2020/10/22/stm32-clones-the-good-the-bad-and-the-ugly/
https://alexgyver.ru/lessons/code-optimisation/
https://alexgyver.ru/lessons/filters/
https://itnan.ru/post.php?c=1&p=267573 - про RTOS
-
Поднять CAN;
-
Перевести на библиотеку LL;
-
Вместо RTOS применить легкие протопотоки (сопрограммы), например http://dunkels.com/adam/pt/