Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 9 mar 2025, o 15:04


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
Autor Wiadomość
PostNapisane: 14 cze 2017, o 06:55 
Offline
Nowy

Dołączył(a): 04 kwi 2017
Posty: 2
Pomógł: 0

Serdecznie Witam wszystkich!
Oto mój problem.
Pracuję nad przetwornicą step-down dc/dc do prądnicy prądu przemiennego wzbudzanej magnesami stałymi, bez uzwojenia wzbudzenia. Chciałbym wykonać tenże układ na uC z wykorzystaniem czegoś takiego jak tzw. feedback - aby bez względu na to jakie napięcie jest na wejściu na wyjściu otrzymywać zawsze stałą wartość z możliwością delikatnej regulacji 11-15 [V]. - tutaj za pomocą ADC
Przejdę do sedna, zadany regulator/przetwornica miała by stabilizować napięcie z układu unregulated DC 16-70[V] na DC 12-14.5[V] w celu ładowania akumulatora i zasilania odbiorników w motocyklu. Posiadam zestaw Andromeda 1.5a z uC Atmega32A i bluebook. Zawzięcie analizuję treści i poradniki lecz moja wiedza jest jeszcze dość mizerna i ciężko mi wykrzesać coś więcej niż zawarte prostsze przykłady Pana Mirka :? . Wymyśliłem sobie aby całość zrealizować po stronie wyprostowanego napięcia DC ponieważ ściemniacz(bluebook) pracował na sinusoidzie sieci sztywnej o stałej częstotliwości, a u mnie ulega ona zmianie wraz z obrotami prądnicy.
Stwierdziłem że zaciągnę do pracy pomiar napięcia wyjściowego ADC i PWM sprzęgając je jakoś razem i kluczując tym sposobem za pomocą driver'a bramką mosfeta typu n w układzie High Side z f=5kHz a dalej podając sygnał na dławik 140uH/15A z równolegle diodą zwrotną i kondensatorem do masy w standardowym układzie przetwornicy step down.
Wpadłem na pomysł aby użyć sprzętowego rejestru OCR2(PWM) i zwiekszać go lub zmniejszać gdy uzyskiwane napięcie na wyjściu przetwornicy przekracza lub nie wartość zadaną np. 13V która odpowiada przyrównywanej wartości ADC. np. taki warunek if (wynikADC>13V) zwieksz OCR0...else...zmniejsz OCR0 bądź za pośrednictwem pętli while.

Odnośnie przetwornika analogowo-cyfrowego:
Napięcie odniesienia wybrałem 2,56V. Dobrałem dzielnik rezystorowy na 270k i 10k o współczynniku podziału 28. Przy 12V na wejściu dzielnika ADC=171,42, natomiast przy 15V ADC=214,2. Ustawiłem programowo chwilowo wartość na 170. Napięcie maksymalne graniczne na wejściu dzielnika oszacowałem na 70V wtedy ADC=1000.

Odnośnie zmiany wypełnienia impulsu(PWM):
Ustawiłem częstotliwość na około 4kHz, i skonfigurowałem do pracy w metodzie Fast PWM.

Zastanawia mnie tylko sposób rozwiązania, idea warunku sterowania PWM przez ADC(ich powiązania). Chciałbym się upewnić czy mój pomysł jest w miarę poprawny, prosiłbym o drobną wskazówkę jakich funkcji/rejestrów uC użyć i jak mniej więcej skonfigurować aby ruszyło. Układu jeszcze nie testowałem. Kompiluje się prawidłowo na płytce ATB, lecz zastanawia mnie czy fizycznie ma prawo funkcjonować? Oto kod i schemat mojego układu:

Przepraszam za ewentualne błędy jest to mój pierwszy temat na forum.
Składnia: [ Pobierz ] [ Ukryj ]
język cpp
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Załączniki:

Aby zobaczyć załączniki musisz się zalogować. Tylko zalogowani użytkownicy mogą oglądać i pobierać załączniki.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 cze 2017, o 08:04 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 paź 2013
Posty: 1967
Lokalizacja: Lipsko
Pomógł: 125

Ja w podobny sposób na atiny13 stabilizowałem prąd z bardzo dobrym skutkiem przy zasilaniu led. Z napięciem może być nieco gorzej jeśli nie masz stałego obciążenia. Aha, masz tam zły warunek przy stabilizacji - MUSI być możliwość pracy bez ciągłej zmiany rejestru czyli zamiast warunku >= użyj tylko >.

_________________
http://www.sylwekkuna.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 cze 2017, o 07:44 
Offline
Nowy

Dołączył(a): 04 kwi 2017
Posty: 2
Pomógł: 0

Dzięki wielkie! Kod już poprawiłem, niestety układ po przeniesieniu na stykówkę nie funkcjonuje jak należy. Zapewne błędy leżą po mojej stronie w filtrowaniu bądź błędnie dobranych elementach układu. Postaram się dopracować niedociągnięcia.

Taka ciekawostka: Po kilku błędnych pomiarach przetwornika doszedłem do wniosku że, Na płytce ATB 1.5a w wyposażeniu do pomiaru ADC (j33) trafił mi się raczej potencjometr montażowy 10k, a nie jak podaje instrukcja 20k.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 cze 2017, o 08:43 
Offline
Użytkownik

Dołączył(a): 22 sty 2014
Posty: 1806
Zbananowany użytkownik

Pomógł: 168

Chcesz zrobić przetwornice, w dodatku na procku, i to jeszcze na stykówce i dziwisz się że nie działa? no cóż...

Poczytaj tę notę aplikacyjną i zobacz podejście:

http://ww1.microchip.com/downloads/cn/A ... 00216a.pdf

------------------------ [ Dodano po: 6 minutach ]

ewentualnie to:
http://www.atmel.com/images/atmel-42183 ... t04204.pdf

------------------------ [ Dodano po: 42 minutach ]

Popatrz na swój kod. Marnujesz w nim mnóstwo czasu na jakieś głupoty typu wyswietlanie czegoś przeliczanie itd. to tak nie zadziała. Masz PWM Na Twoim miejscu ADC dałbym we free-running mode. Wartość w rejestrze będzie się updateować sama i już nie bedziesz zajmował tym procka. Wywal z petli głównej to całe wyświetlanie i zostaw tylko inkrementowanie lub pomniejszaanie w zależności od wartości pomiaru.

2 sprawa jest taka że kluczujesz te tranzystory z jakąś straszliwie niską częstotliwością! przemyślałeś/przeliczyłeś to w ogóle? zaraz Ci to pokaże w symulacji:

1. Twój PWM czyli procek pedzony 8MHz, preskaler 8 czyli 3900Hz PWM, wypełnienie 50%:

a) cewka pracuje w trybie DCM z dużym prądem szczytowym
b) napięcie wyjściowe wygląda jak sieczka bo za duży masz current i voltage ripple

Obrazek
2. Mój PWM: Procek pedzony 16MHz, preskaler na 1, czyli wychodzi f=16000000/256 = 62500

a) voltage ripple na poziomie dziesiątek miliwoltów,
b) cewka pracuje w trybie CCM z prądem szczytowym 3 razy mniejszym niż poprzednio

Obrazek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 3 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO