Witam,
chciałbym się podzielić jednym z moich projektów i jednocześnie zaczerpnąć waszej opinii na temat przydatności urządzenia, które niżej przedstawiam.
Kilka lat temu umarło mi sterowanie 3 osiowej frezarki CNC, w której osie XYZ sterowane były przez serwa z wejściem analogowym. Poprzednie sterowanie wymienione zostało na mniej wypasiony, bez obsługi pętli zamkniętej, z interfejsem STEP/DIR (z racji budżetu i tego, że nowy sterownik już posiadałem). Z uwagi na to potrzebowałem więc konwertera z pętli otwartej STEP/DIR na zamkniętą pętlę z sterowaniem prędkościowym +/-10V i sprzężeniem od enkoderów liniowych.
Przeszukując internet nie znalazłem gotowego rozwiązania mieszczącego się w budżecie. Natrafiłem za to, na projekt YAPSC:10V. Wydawał się być obiecujący, lecz ciężko było z dostępnością zmontowanych układów. Skompletowałem więc potrzebne części, zleciłem wytrawienie płytek PCB i zmontowałem układ. Później delikatna korekta oryginalnego firmware, programowanie i testy przy maszynie.
Wszystko działało jak trzeba, ale… okazało się, że układ robił robotę lecz ze względu na swoją prostotę miał pewne wady.
Po pierwsze na wyjściu obecne były szumy na wyjściu analogowym, powodujące wibracje bardzo czułych serwonapędów, szczególnie nasilające się przy małym napięciu.
Po drugie na każdą oś potrzeba było osobnego układu. Przy trzech osiach, trzy płytki tworzyły już dość sporą konstrukcje.
Po trzecie, w układzie brakowało zintegrowanego transcievera RS232 co powodowało konieczność używania przejściówek TTL<->RS232.
Dodatkowo brak wewnętrznej dystrybucji zasilania powodował konieczność dostarczania wszystkich napięć zewnętrznie.
Biorąc pod uwagę niedosyt w idealności konstrukcji YAPSCa i własne ambicje (zawsze marzyło mi się projektowanie układów PCB) zdecydowałem się trochę polepszyć konstrukcję (czy mi się udało nie wiem ;D), więc zaprojektowałem swoje własne urządzenie - SCX3.
Założenia dla układu były takie, by na jednej płytce zmieścić obsługę dla trzech osi obrabiarki, ograniczyć szumy na wyjściach analogowych +/-10V, zapewnić wewnętrzną dystrybucję potrzebnych napięć dla układu (uC, wyjścia +/-10V) oraz podpiętych enkoderów z zasilania 12-24VDC, dołożyć przekaźnik gotowości (niebędący wyjściem bezpiecznym, jedynie sygnalizacją stanu OK jak w serwach z którymi miał współpracować), zwiększyć moc obliczeniową uC, zwiększyć przepustowość wejść enkoderowych, zintegrować interfejs RS232 w układzie oraz dostosować kształt płytki do formatu pozwalającego ją rozsądnie zamontować np. na szynie DIN.
Projekt układu prezentuje się tak:
1 - złącze zasilania 12-24 VDC (+VDC, GND)
2 - gniazdo bezpiecznika
3 - diody LED obecności napięć 12-24VDC, +/-12VDC, 5VDC, 3V3DC
4 - przetwornica DC/DC 12-24VDC na 5VDC
5 - przetwornica DC/DC 12-24VDC na +/-12VDC
6 - stabilizator LDO 5VDC na 3V3DC
7 - mikrokontroler PIC32
8 - złącze ICSP programowania mikrokontrolera
9 - diody sygnalizacyjne stanu urządzenia
10 - transciever RS232
11 - złącze DB9 RS232
12 - tranzystorowy driver wyjść cyfrowych DO
13 - transoptory wejść cyfrowych DI
14 - złącze DB25 interfejsowe sygnałów STEP/DIR, DI, DO “INTERFACE”
15 - transoptory wejść STEP/DIR
16 - złącza DB9 wejść enkoderowych “ENCODER(1,2,3)”
17 - transoptory wejść enkoderowych
18 - złącze DB9 “OUTPUT” wyjść symetrycznych +/-10VDC
19 - wzmacniacze operacyjne wyjść symetrycznych +/-10VDC
20 - przekaźnik obwodowy gotowości układu “READY”
21 - złącze 3 pinowe przekaźnika “READY” (styki NO, COM, NC)
Na stan obecny dysponuję zmontowanym prototypem pierwszej wersji. Objawiło się wtedy kilka błędów konstrukcyjnych (źle rozmieszczone opisy, zamieniony pin w wtyczce enkodera ENCODER1 i źle zaprojektowane zasilanie przekaźnika READY). Jednak nie było to przeszkodą do testów i rozwoju firmware.
Podsumowując najważniejsze różnice między YAPSC a SCX3:
- Wewnętrzna dystrybucja napięć, zasilanie z 12-36VDC
- Po 4 DI i DO do komunikacji z sterownikiem przez złącze ‘14’.
- 3 wejścia enkoderowe na transoptorach kluczujących, zrealizowane dokładnie tak samo jak w przypadku YAPSC.
- 3 wyjścia analogowe +/-10VDC sterowane są dwoma kanałami PWM na każde wyjście analogowe, tak jak w YAPSC. Układ wyjściowy zbudowany jest z wzmacniaczy operacyjnych w 3 stopniowej kaskadzie - różnicowa, filtrująca i buforująca.
- Na pokładzie uC 3 regulatory PID współpracujące z wejściami enkoderowymi oraz wyjściami +/-10V.
- Modbus do komunikacji przez interfejs RS232 - zacząłem pisać aplikację na PC do obsługi urządzenia, jednak pozostała w bardzo wczesnej fazie rozwoju.
Gotowy układ prezentuje się tak (brak wlutowanego wtedy złącza ‘21’ :P)
Projekt ze względu na to, że w trakcie pisania firmware natrafiłem na błąd z obsługą pamięci EEPROM wbudowanej w uC ugrzązł na dobre dwa lata. W tym czasie natrafiłem na gotowe rozwiązanie od firmy CSLab, więc ukończenie układu nie było już konieczne do uruchomienia maszyny.
Ostatnimi czasy zastanawiam się co z tym tak naprawdę zrobić - czy schować głęboko w szafie czy ukończyć go do pełnej funkcjonalności. Nie badałem na tyle zapotrzebowania na tego rodzaju urządzenia w tej raczej hobbystycznej(?) klasie wykonania, więc nie wiem czy jest sens poświęcać temu więcej czasu.
Interesuje mnie Wasza opinia koledzy, czy ktoś poszukuje tego rodzaju rozwiązań, czego oczekuje od takiego sprzętu, co powinno się w nim znajdować a co nie. Jestem otwarty na propozycje co można zmienić, dodać, usunąć. Chętnie odpowiem też na wszystkie pytania.
Wszystkie uwagi będą dla mnie cenne. Również takie, że mam dać z tym spokój
Pozdrawiam!