Witam,
Zrealizowałem przerywacz podwyższający napięcie z 5 V do 10 V, który jest sterowany atmegą a program napisałem w języku C, lecz mam problem ze stabilizacją napięcia wyjściowego przy zmianach obciążenia. Napięcie przy dużych zmianach obciążenia potrafi wzrosnąć na chwile nawet o 10 V.
Sterowanie wypełnieniem PWM zrealizowałem w przerwaniach poprzez zwiększanie "+/- 1", chciałem zrealizować programowy regulator PID lecz nie mogę sobie z tym poradzić. Robiliście może coś podobnego?
Tutaj schemat układu:
Atmega działa z f = 16 MHz a PWM zaprogramowałem z częstotliwością f = 32 kHz. Sterowanie mosfetem odbywa się poprzez driver IR2121. Zwiększanie/zmniejszenia wypełnienia (wartości zadanej) zrealizowane jest za pomocą dwóch przycisków. Napięcie wyjściowe mierzone jest poprzez przetwornik w przerwaniu od timera0 i porównywana jest z wartością zadaną.
Oraz program z komentarzami:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Układ zmontowałem na płytce stykowej:
Próbowałem zrealizowac regulator propocjonalny P ale układ nie działał kompletnie :/
próbowałem to zrobic tak:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Z góry dziękuję za pomoc.