Sterownik serwo DC na STM32F4 / HIP4081A

Rozmowy na temat układów elektronicznych sterowania obrabiarek CNC

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

#141

Post napisał: jarekk » 14 lut 2013, 11:40

No ja smaruję pastą , układam elementy i kładę na "hot plate"
Potem czekam aż się wszystko ładnie podtopi.

Problemy są tylko z np. dużymi cewkami które mają metalowe łapy.



Tagi:

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

#142

Post napisał: ursus_arctos » 14 lut 2013, 14:30

Duże SMD (D-PAK, dławiki mocy, MELF) lutuję kolbą.

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

#143

Post napisał: ursus_arctos » 16 lut 2013, 17:00

Hula - jak na razie zasilanie, USB i 1 blok mocy :) W weekend pewnie resztę zlutuję....
Ze strony bloków mocy nie spodziewam się niespodzianek; zobaczymy, jak się sprawdzi sterowanie wrzecionem i krańcówki.

[ Dodano: 2013-02-16, 16:48 ]
Oto sterownik w całej okazałości:
Obrazek
Zaraz zabieram się za testy :)

[ Dodano: 2013-02-16, 18:28 ]
Jeden tranzystor był uszkodzony, zabrał ze sobą drugi. Po wymianie wszystkie 4 sekcje działają.


kszumek
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 1
Posty: 388
Rejestracja: 04 kwie 2006, 18:08
Lokalizacja: Białystok

#144

Post napisał: kszumek » 16 lut 2013, 22:09

Witam
Napisz coś więcej o swojej konstrukcji,
gdzie zamawiałeś płytki , ile Amper planujesz wycisnąć na silnik
Czy używałeś FPU w STMie że wziąłeś taki mocny STM ?
też przymierzam się do zabawy z STM albo tms piccolo

pozdrawiam

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

#145

Post napisał: ursus_arctos » 17 lut 2013, 00:48

Płytki zamawiane w firmie merkar - ładnie zrobione, no i testują :)
Planuję wycisnąć do 6A średnio i 30-50A chwilowo. Przy 6A jeszcze powinno chodzić bez radiatora.
Używam FPU, zarówno do PID/feedforward jak i do interpolacji krzywych.

Przetestowałem też już sterowanie przekaźnikiem do wrzeciona - działa :)
Zostały tylko wejścia krańcówek oraz czujnika narzędzia do sprawdzenia.

O konstrukcji stopnia mocy chyba pisałem wcześniej w tym temacie.

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

#146

Post napisał: ursus_arctos » 20 lut 2013, 11:27

Prace nad softwarem trwają - na razie opracowuję protokół komunikacyjny - warstwą transportową jest SLIP; wyższa warstwa będzie już specyficzna dla maszyny.
Równolegle uporządkowałem cały kod na STM32, przerzuciłem też sporą część programu z C na C++ - różnica w wydajności nie powinna być zauważalna (i tak najbardziej niskopoziomowy kod będzie de facto w C), a wygoda i bezpieczeństwo kodu znacznie wyższe - jednak C++ pozwala na znacznie więcej.
W kwestii "metalowej" - wprowadziłem 4 tryby pracy silnika:
1. wyłączony = zwarty
2. tryb serwo
3. tryb prędkościowy ze sprzężeniem zwrotnym
4. surowy PWM
Tryb pracy każdego z silników będzie można ustalić jako element wykonywanego programu. Oznacza to na przykład, że będzie można użyć osi obrotowej do toczenia (w trybie prędkościowym) lub w ogóle użyć którejś osi do sterowania innym urządzeniem, na przykład pompą czy niewielkim wrzecionem z zasilaniem DC do 50V - w trybie PWM.

Sam sterownik nie będzie wykonywać g-kodu (tylko dobiegi do zadanej pozycji i krzywe Beziera) - chociaż przewiduję translator g-kodu na PC, który do maszyny wrzuci już obrobione dane. Będzie też obsługa formatu SVG oraz map wysokości (do płaskorzeźb) w bitmapach. Wejściowe dane będzie można przetworzyć za pomocą dowolnej transformacji afinicznej (obroty, skalowanie, pochylenia, odbicia).
Jeżeli chodzi o formaty wektorowe (SVG, g-kod) - to mam cichą nadzieję, że w sporej części przypadków uda się umieścić cały program w pamięci maszyny - dzięki czemu połączenie z PC nie będzie miało krytycznego znaczenia dla wykonywanego programu.
Obecnie połączenie PC-sterownik jest ustawione na 0.5Mbps - pozwala to wysłać ponad 1000 krzywych na sekundę, czyli dla prędkości 6m/min jedna krzywa musiałaby mieć 0.1mm. Większa prędkość chyba nie będzie potrzebna, chociaż do 1Mbps bez większego problemu powinno się dać dociągnąć.

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

#147

Post napisał: ursus_arctos » 22 lut 2013, 02:20

Sensory oprogramowane (wstępnie).
Ostatecznie przyjąłem taki model, że jest 9 uniwersalnych sensorów, których znaczenie i tryb pracy można skonfigurować:
Do wyboru pullup/pulldown i tryby active low/active high. Przykładowo, krańcówka NC pracuje jako active high i pullup.
Funkcję każdego sensora również można określić programowo - może to być:
Krańcówka (min lub max), przełącznik bazujący oś lub czujnik narzędzia.
Funkcje bazowania i krańcówki można łaczyć.

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

#148

Post napisał: ursus_arctos » 04 mar 2013, 01:22

Interfejs programowy w dużej mierze gotowy; wykonywanie programu przez maszynę działa.
Obecnie obsługiwane elementy programu to:
- krzywa beziera
- ustawienie prędkości silnika (zmiana na tryb prędkościowy)
- wł/wył. przekaźnika wrzeciona
- czekaj x sekund
- pauza (czeka na sygnał kontynuacji z komputera)
- odpowiednik G0 - idzie wszystkimi osiami jak najszybciej umie do zadanej pozycji - przed przejściem do następnego punktu prędkość i położenie muszą się zmieścić w zadanej tolerancji.

Działa przesył programu z PC, działa też pobieranie statusu maszyny (wszystkie sensory, pozycje, prędkości, tryby pracy) oraz konfiguracja PID/Feedforward.
Powoli chyba mogę zaczynać rzeźbić (jeszcze na krokówkach) adaptery NEMA23 na NEMA34, aby zastąpić krokówki serwami. Coś czuję, że panel frontowy do obudowy sterownika będzie już wykonany na serwach.
Ale to wszystko może się odwlec, bo niebawem rodzina się powiększa :)
Jak się nic nie urodzi (dosłownie), to jutro dam filmy z pracy silnika.

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

#149

Post napisał: ursus_arctos » 05 mar 2013, 18:18

http://youtu.be/e84G3QYK1ys

Przebieg testowy - ruch skokowy o 5 obrotów i powrót; następnie 10x ruch o 0.3obr i powrót (krzywe Beziera) oraz na końcu 50 obrotów i powrót (również krzywe beziera) - 1.5s w każdą stronę.
"Krzywe" są krzywymi kwadratowymi w czasie - profil prędkości jest paraboliczny.

Awatar użytkownika

Zienek
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 3
Posty: 3730
Rejestracja: 13 gru 2008, 19:32
Lokalizacja: Szczecin
Kontakt:

#150

Post napisał: Zienek » 15 mar 2013, 13:19

Cisza w temacie. Pewnie snu za dużo nie ma?
Mały ? Mała?
Imię wybrane?

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „Elektronika CNC”