Sterownik serwo DC na STM32F4 / HIP4081A

Rozmowy na temat układów elektronicznych sterowania obrabiarek CNC
Awatar użytkownika

Autor tematu
ursus_arctos
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 70
Posty: 2083
Rejestracja: 11 cze 2011, 18:29
Lokalizacja: Warszawa / Lublin

#51

Post napisał: ursus_arctos » 12 lis 2012, 15:14

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 (!).



Tagi:


jarekk
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 33
Posty: 1701
Rejestracja: 17 mar 2006, 08:57
Lokalizacja: Gdańsk

#52

Post napisał: jarekk » 12 lis 2012, 16:17

Jakie tam są transile/dioda/oporniki na bramkach ?

Te co znalazłem dla siebie są dużo większe ( SMA) - wszystko inne wydawało mi się za delikatne - a kolega chyba właśnie takie mniejsze wziął.

No i wszystko chodzi na diodach w tranzystorach ? ( nie widzę zewnetrznych)

Awatar użytkownika

Autor tematu
ursus_arctos
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 70
Posty: 2083
Rejestracja: 11 cze 2011, 18:29
Lokalizacja: Warszawa / Lublin

#53

Post napisał: ursus_arctos » 12 lis 2012, 16:48

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


piotr_olbrysz
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 16
Posty: 478
Rejestracja: 04 mar 2012, 13:51
Lokalizacja: Warszawa

#54

Post napisał: piotr_olbrysz » 14 lis 2012, 19:42

ursus_arctos pisze:więc diody są raczej niepotrzebne.
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.
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.

Awatar użytkownika

Autor tematu
ursus_arctos
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 70
Posty: 2083
Rejestracja: 11 cze 2011, 18:29
Lokalizacja: Warszawa / Lublin

#55

Post napisał: ursus_arctos » 14 lis 2012, 21:46

Takie diody zalecane są dla THB6064 czy przetwornic np. LTC3440.
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.
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.
A ten biedny 7805 z jakiego napięcia chodzi?
33V :) Po wyłączeniu układu i wystudzeniu działa z powrotem, więc spoko - to i tak tylko płytka badawcza.

BTW - wychodzą mi z tych silników "przeloty" na poziomie 7cm/s (100obr/3s pod obciążeniem).

Awatar użytkownika

Autor tematu
ursus_arctos
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 70
Posty: 2083
Rejestracja: 11 cze 2011, 18:29
Lokalizacja: Warszawa / Lublin

#56

Post napisał: ursus_arctos » 18 lis 2012, 23:51

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ą.


poorchava
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 10
Posty: 327
Rejestracja: 10 sty 2012, 15:32
Lokalizacja: Festung Breslau

#57

Post napisał: poorchava » 19 lis 2012, 06:50

A próbowałeś filtrować sygnały z enkodera? Mam na myśli jakiś filtr RC albo LC ktory by ograniczył dzwonienia, ale nie zniekształcał sygnału.


piotr_olbrysz
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 16
Posty: 478
Rejestracja: 04 mar 2012, 13:51
Lokalizacja: Warszawa

#58

Post napisał: piotr_olbrysz » 19 lis 2012, 08:31

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
Jezeli dobrzę rozumię to to nie działa przerwanie zewnętrzne? czy też za dużo imulsów widzi procesor.

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.


jarekk
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 33
Posty: 1701
Rejestracja: 17 mar 2006, 08:57
Lokalizacja: Gdańsk

#59

Post napisał: jarekk » 19 lis 2012, 08:45

ursus_arctos pisze:NIE działa obsługa na liniach EXTI - pozycja się gubi.
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.

Wszystko to powoduje, że przy 60MIPS zostaje tak naprawdę więcej na algorytm niż przy STM32 i nawet 170MHz


piotr_olbrysz
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 16
Posty: 478
Rejestracja: 04 mar 2012, 13:51
Lokalizacja: Warszawa

#60

Post napisał: piotr_olbrysz » 19 lis 2012, 09:37

ursus_arctos pisze:Chciałbym się podzielić z kolegami doświadczeniami w zakresie obsługi enkodera
Ile impulsów na obrót daje encoder , ile obrotów na minutę na osi?

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „Elektronika CNC”