ReadMe.txt 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. По логіці роботи програми.
  2. Використовуються два таймери - 0 та 2.
  3. Таймер0 викорисовується лише для запуску перетворень АЦП.
  4. В обробнику переривань від АЦП обчислюється напруга мережі 220В,
  5. детектується перехід через "0", та виконується ПІД-синхронізація частоти
  6. другого таймера до частоти мережі.
  7. Таймер0 налаштовано на частоту 5 кГц (період 200 мкс) - в 100 разів більше від
  8. частоти мережі. Десь читав, що треба 100+ разів від частоти вимірюваної
  9. напруги. Тобто треба збільшити частоту?
  10. Таку частоту не можна задати віртуальному таймеру - треба шукати інші
  11. можливості для запуску АЦП з потрібною частотою.
  12. Зідно налаштувань таймера - в дійсності його частота в два рази менша, тобто
  13. період 400 мкс. Можливо помилка налаштування.
  14. Таймер2 працює з частотою 50 Гц (період 20 мс), в процссі роботи підстроюється
  15. під частоту мережі.
  16. В обробнику переривань теймеру2 виконуються:
  17. - Razgon_() - управління релє
  18. - якщо pdm, то PDM_() - твердотільне релє, щось там рахують і міняють
  19. прапорець ,по якому вже буде TURN_SSR_ON чи TURN_SSR_OFF
  20. - інвертується флаг напівволни мережевої напруги (?)
  21. - завантажуєтся нове значення в дільник таймеру2
  22. - рахуються періоди до секунди. коли секунда:
  23. - оновлення дісплею(?)
  24. - контролюється таймаут меню
  25. - контроль таймауту для усарт
  26. - відсилання репорту на ADprotocol
  27. - Buttons_() - опитування кнопок.
  28. Зроблю:
  29. один VT на 50 Гц - релюхі
  30. другий VT на 1 сек
  31. третій VT на 50 Гц - кнопки. або, краще, окремий потік.
  32. -----
  33. Опитування кнопок - евенти
  34. https://www.playembedded.org/blog/mastering-exti-chibios-pal/
  35. -----
  36. 20.11.2023
  37. На цьому - все.
  38. тут тупік.
  39. воно не робить - скоріш за все прибрав щось зайве, код такий, що розбиратись в
  40. ньому немає жодного бажання.
  41. краще почати з 0.