Sterownik serwo DC na STM32F4 / HIP4081A
-
Autor tematu - Lider FORUM (min. 2000)
- Posty w temacie: 70
- Posty: 2083
- Rejestracja: 11 cze 2011, 18:29
- Lokalizacja: Warszawa / Lublin
To jest tak zwane dobre pytanie, bo najzwyczajniej nie wiem. Jeżeli chodzi o HIPa, to nie ma znaczenia prąd, tylko częstotliwość. Tranzystory - nie wiem.... Robiłem test z zatrzymaniem silnika kombinerkami - to powinno dać coś rzędu 6A - ale taki test trwał parę sekund. Tranzystory się nie podgrzały w zauważalnym stopniu, a jak widać, jedynym radiatorem jest tu płytka.
Ten układ nie wytrzyma włączony 5min, bo się 7805 wyłączy (!).
Ten układ nie wytrzyma włączony 5min, bo się 7805 wyłączy (!).
Tagi:
-
Autor tematu - Lider FORUM (min. 2000)
- Posty w temacie: 70
- Posty: 2083
- Rejestracja: 11 cze 2011, 18:29
- Lokalizacja: Warszawa / Lublin
Tak, chodzi na diodach w tranzystorach, ale nie do końca: górne tranzystory mostka są zawsze włączone (PWM chodzi na dolnych) - HIP sam wyłącza górny tranzystor przy otwieraniu dolnego. Przy takim układzie, kiedy silnik nie jest zasilany, prąd płynie przez 2 przewodzące MOSFETy (górne) - więc diody są raczej niepotrzebne.
Translie: ESDA142VL (15V, 300W)
Rezystory do bramek: 10Ω, 0603
Diody od bramek do drivera: PMEG4005
Translie: ESDA142VL (15V, 300W)
Rezystory do bramek: 10Ω, 0603
Diody od bramek do drivera: PMEG4005
-
- Specjalista poziom 2 (min. 300)
- Posty w temacie: 16
- Posty: 478
- Rejestracja: 04 mar 2012, 13:51
- Lokalizacja: Warszawa
Chyba że komuś strasznie zależy na każdym procencie sprawności. W stanach ustalonych, wszytko co kolega napisał jest prawdą. W takich układach zawsze staramy się aby górny i dolny tranzystor nie przewodził jednocześnie więc jest taki moment że żaden tranzystor nie jest ON i wtedy przewodzą diody bo prąd musi płynąć. Z drugiej strony nie specjalnie wiadomo ile procent sprawności tracimy gdy nie dajemy tych diod.ursus_arctos pisze:więc diody są raczej niepotrzebne.
Takie diody zalecane są dla THB6064 czy przetwornic np. LTC3440.
http://cds.linear.com/docs/Datasheet/3440fb.pdf
A ten biedny 7805 z jakiego napięcia chodzi? Bo kiedyś trafiła mi się partia 78L05 która padała przy zasilaniu 24V.
-
Autor tematu - Lider FORUM (min. 2000)
- Posty w temacie: 70
- Posty: 2083
- Rejestracja: 11 cze 2011, 18:29
- Lokalizacja: Warszawa / Lublin
Tak, ale w sterownikach silników krokowych stosuje się często "fast decay". Jeżeli układ nie stosuje przy tym synchronicznego prostowania, to będzie cienko. U mnie zawsze "góra" jest otwarta, jeżeli silnik nie jest zasilany. W przetwornicach praktycznie nigdy się tak nie robi, bo to oznacza po prostu zwarcie indukcyjności przez tranzystory, czyli wytracenie energii pola magnetycznego w oporach (tutaj głównie silnika, w przetwornicy głównie tranzystorów). Dalej idąc, scalone sterowniki typu A3977 stosują synchroniczne prostowanie nawet w trybie Fast Decay, ale nadal dla większych prądów zaleca się diody, gdyż nawet opór otwartego tranzystora jest tam dość duży - wyprowadzenie tej mocy poza scalak jest korzystne.Takie diody zalecane są dla THB6064 czy przetwornic np. LTC3440.
Tutaj mam 4 duże tranzystory, których diody przewodzą tylko w czasie przełączania. Czas przełączania weźmy 100ns (w jedną stronę), deadtime 200ns - przy częstotliwości 50kHz to jest zaledwie 2% całego okresu.
33VA ten biedny 7805 z jakiego napięcia chodzi?

BTW - wychodzą mi z tych silników "przeloty" na poziomie 7cm/s (100obr/3s pod obciążeniem).
-
Autor tematu - Lider FORUM (min. 2000)
- Posty w temacie: 70
- Posty: 2083
- Rejestracja: 11 cze 2011, 18:29
- Lokalizacja: Warszawa / Lublin
Chciałbym się podzielić z kolegami doświadczeniami w zakresie obsługi enkodera pod STM32. Przy włączonej większej liczbie peryferiów NIE działa obsługa na liniach EXTI - pozycja się gubi. Dlatego przeszedłem na obsługę na timerze 100kHz. Linie wejścia są ustawione na niską prędkość (2MHz) aby zredukować wpływ szumów. Ponadto zastosowałem taką sztuczkę: odczytuję stany poszczególnych linii i zapisuję historie odczytów. Aktualny stan jest ustalany jako dominanta 3 ostatnich odczytów (czyli min. 2 jedynki to 1, min. 2 zera to 0) - dzięki temu pojedyncze szpilki, nawet na obu kanałach na raz, są ignorowane. Jak kto chce, można brać dominantę z 5 czy 7 - ale to chyba przerost formy nad treścią.
-
- Specjalista poziom 2 (min. 300)
- Posty w temacie: 16
- Posty: 478
- Rejestracja: 04 mar 2012, 13:51
- Lokalizacja: Warszawa
Jezeli dobrzę rozumię to to nie działa przerwanie zewnętrzne? czy też za dużo imulsów widzi procesor.ursus_arctos pisze:Chciałbym się podzielić z kolegami doświadczeniami w zakresie obsługi enkodera pod STM32. Przy włączonej większej liczbie peryferiów NIE działa obsługa na liniach EXTI
Ja osobiście wykonał bym 3 rzeczy
1. Zapewnił dobry kabel od encodera do sterownika ( ekran+skrętka),
być może dopasowanie ( zależy od typu wyjścia encodera)
2. Dał filtr RC tnący pasmo do poziomu niezbędnego dla poprawnego działania
3. Ograniczył pasmo wejścia CPU jeżeli funkcja taka istnieje.
4. Zastosował filtr cyfrowy mniej więcej jak to zrobił kolega ( podobny lub identyczny stosuje się przy programowym przegadaniu klawiatury)
ale gdyby działo przerwanie to bym to zrobił na przerwaniu, ale dlaczego nie działa, może za niski priorytet. Lub za duzo zadań w przerwaniach.
-
- ELITA FORUM (min. 1000)
- Posty w temacie: 33
- Posty: 1701
- Rejestracja: 17 mar 2006, 08:57
- Lokalizacja: Gdańsk
Właśnie dlatego wziąłem dsPIC'a - sprzętowa obsługa enkodera jak i step/dir ( również sprzętowy enkoder skonfigurowany w tryb liczenia impulsów ) daje duż komfort. Zwłaszcza że mają również sprzętowe filtry cyfrowe.ursus_arctos pisze:NIE działa obsługa na liniach EXTI - pozycja się gubi.
Wszystko to powoduje, że przy 60MIPS zostaje tak naprawdę więcej na algorytm niż przy STM32 i nawet 170MHz
-
- Specjalista poziom 2 (min. 300)
- Posty w temacie: 16
- Posty: 478
- Rejestracja: 04 mar 2012, 13:51
- Lokalizacja: Warszawa