Commit Graph

16 Commits

Author SHA1 Message Date
324c42f823 #4 Улучшен модуль ШИМ
Теперь он имеет отдельные структуры для таймеров (TimerSimHandle) и структуры для управления каждой фазой (PWMPhaseSimHandle)

Поддерживает режимы формирвоания ШИМ:
- для каждого таймера отдельно (PWM_SIMULATION_MODE_REGULAR_PWM)
- через линии ТК для всей фазы разом (PWM_SIMULATION_MODE_TK_LINES).
За основу взяты из функции улитковского

В целом картина трехфазноого напряжения похожая, но ТК режим работает чуть ровнее и синхронее
2025-01-17 12:50:59 +03:00
20a0a62cc8 #3 Переструктурирован проект, начата работа над улучшением модуля ШИМ (open #4)
- Папка app_wrapper содержит модули для управления приложением МК: инициализция, входы/выходы, вызов функций приложения

- Папка xilinx_wrapper содержит модули для имитации xilinx (на будущее, хочу вытащить в отдельные sfunction)

- Папка Src содержит исходный код приложения МК

- В корне Inu файлы для запуска приложения (модулей app_wrapper) и run_bat для компиляции sfunction
2025-01-17 10:19:40 +03:00
dde0a37088 Перенос выполненых действий из ветки on_ship
#5 Векторное что-то считает, но:

- без подключения к двигателю формируется вроде корректное трехуровневое напряжение. при подключении не всегда:
	- при порядке фаз CBA, BAC: более-менее синусный ток на втором ПЧ (на первом кривой синус) и трехуровневое напряжение
	- при порядке фаз ABC,: более-менее синусный ток на первом ПЧ (на втором кривой синус), но без трехуровнего напряжения (???)
- при попытке векторного управления двигателем почему-то будто ограничена скважность и она менятся в очень небольшом диапазоне
- скалярное в этой ветке не сделано еще
2025-01-16 16:31:32 +03:00
444252c465 Чет не получается запустить simple_scalar 2025-01-16 09:27:10 +03:00
2163dad313 #3 Добавлена поддержка двойного прерывания
ReadMemory(ADR_SAW_VALUE) возвращает текущее значение пилы PWM и алгоритм может определить уровень прерывания detect_level_interrupt()
2025-01-15 12:35:47 +03:00
affe05dc54 заготовка для симуляции АЦП 2025-01-15 11:49:27 +03:00
4cdcd20770 Проект перенесен на мои шаблоны для симуляции 2025-01-15 11:01:26 +03:00
5169ba84d3 #5 Заработало, но есть ньюансы
- Почему-то функция recalc_time_pwm_minimal_2_xilinx_pwm24 работает только если pwm24->XilinxFreq в формате int, а не unsigned

- Алг нормально стартует почему-то не сразу, а где-то после 4 секунды

- Тесты при разном порядке фаз (дефайн SIMULINK_SEQUENCE = V_PWM24_PHASE_SEQ_XXX)
	- V_PWM24_PHASE_SEQ_NORMAL_ABC: работает красиво, но не правильно.
	- V_PWM24_PHASE_SEQ_NORMAL_BCA: работает вроде кое-как правильно, но почти моментально выходит на скорость 34Гц. Плюс сильный выброс в начале. Мб параметры двигателя неправильные
	- остальные работают через жопу

- Задание (оборотов, мощности, Izad) почему-то никак не влияет

- ШИМ вроде шимиться нормально (учитывая высокую частоту огибающей) closed #4
2025-01-14 18:41:34 +03:00
c42e0fa1d3 Добавлены выводы текущей скважности ШИМ
Кое как работает только половина ШИМ
2025-01-14 16:39:15 +03:00
4de878ee68 #4 Добавлен модуль для формирования ШИМ
#3 Добавлена запись ШИМ в выходы SFunction

Алгоритм тот же, что и раньше просто оптимизирован в структуры и функции. Вроде даже что-то формирует, но не совсем понятно что. Надо дальше разбираться
2025-01-14 13:26:48 +03:00
298ce44264 обновлены параметра ГЭД для 23550 (мб не до конца обновил) 2025-01-14 12:53:37 +03:00
e93242da70 #3 алгоритм запускается и даже что-то считает но пока не формирует шим. Просто считает время включения ключей 2025-01-13 16:58:59 +03:00
adf0437341 алгоритм векторного управления вызывается и даже что-то считает. теперь надо завести в него уставки и измерения с ротора 2025-01-13 13:05:34 +03:00
7e0063eee0 #3 Скомпилилось, но пока ничего не вызывается
Все основные файлы подтянуты без изменений

Изменены (только папка main_matlab):
- заглушки для ненужных функций (main_matlab.c)
- iq библиотека (IQmathLib_matlab.c)
- библиотеки DSP281x
2025-01-13 11:09:58 +03:00
06c76feb3b init2 2024-12-27 10:55:18 +03:00
da2cd65e9a init 2024-12-27 10:50:32 +03:00