Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
Jakiś czas temu wykonałem niestandardową stacjonarną frezarkę CNC. Od tego czasu rozbudowywałem go o nowe komponenty. Ostatnim razem dodałem drugie Arduino z 4-cyfrowym wyświetlaczem, aby kontrolować obroty mojego wrzeciona za pomocą pętli PID. Musiałem połączyć go z podstawową płytką Arduino za pomocą 5 przewodów, aby mogły się komunikować. Ale podczas mojego pierwszego testu zepsułem sterownik silnika, więc kupiłem nowy, mocniejszy. Miał też 5 dodatkowych przewodów, które musiałem podłączyć. W tym momencie pin +5V na płycie głównej został podzielony na 4 oddzielne połączenia i po prostu nie miałem ochoty ponownie dzielić przewodu. Więc zrobiłem coś innego.
Krok 1: Szkicowanie połączeń
Naszkicowałem wszystkie potrzebne połączenia (z wyjątkiem przewodów silnika i ograniczników, ponieważ idą bezpośrednio do kontrolera GRBL i nigdzie indziej). Wprowadziłem również kilka zmian w już istniejących połączeniach - zatrzymanie awaryjne resetuje teraz również główne Arduino i używa tylko normalnie otwartego styku, gdzie wcześniej używał zarówno NO, jak i NC do sterowania przekaźnikiem. Dzięki nowemu sterownikowi silnika uproszczono również połączenie z przekaźnikami.
Krok 2: Problemy z połączeniami
Poprzedni sterownik silnika, którego używałem, to prosta płytka z transoptorem i mosfetem. Mogła obracać wrzeciono tylko w jednym kierunku, więc nie było potrzeby używania kołka kierunkowego. Nowy jest nieco bardziej skomplikowany. Ma piny o nazwie INA i INB, i w zależności od tego, czy chcę obracać się zgodnie z ruchem wskazówek zegara, czy przeciwnie, muszę pociągnąć jeden z nich do VCC. Nie brzmi to tak skomplikowanie, problem polega na tym, że GRBL ma tylko jeden pin zwany SP-DIR (pin kierunku wrzeciona), który jest przeciągany do VCC dla ruchu zgodnego z ruchem wskazówek zegara i do GND dla ruchu przeciwnego do ruchu wskazówek zegara. Nie wiem, czy można to zmienić w GRBL (jest to dla mnie trochę zbyt skomplikowany program), więc zrobiłem to inną metodą.
Właśnie dodałem bramkę logiczną NOT do schematu, która odwróci sygnał SP-DIR i umieści go w INB. Dlatego gdy pin DIR jest wysoki, INA jest również wysoki (są one połączone), a INB jest odwrócony do niskiego (CW), a gdy DIR jest niski, INA jest również niski, a INB jest wysoki (CCW).
Krok 3: Inteligentny, ale nie tak prosty projekt
Następnie zaprojektowałem płytkę drukowaną w Eagle, która miała wszystkie niezbędne połączenia wewnątrz. Ale przy tylu przewodach nie było to takie proste.
Najpierw stworzyłem niestandardową bibliotekę Eagle dla moich bloków terminali. Jest bardzo prosty, w zasadzie to zwykły pin, tylko większy – rozstaw 5,08 mm (0,2”).
Frezowałbym go na CNC i dlatego chciałem, aby była to płytka jednostronna. Ale z 26 listwami zaciskowymi i kilkoma wewnętrznymi połączeniami z bramką logiczną zaprojektowanie tego było trudnym zadaniem. Można to zrobić, ale z dużą ilością zworek. To jest powód, dla którego wszystkie moje listwy zaciskowe (w Eagle) są tylko pojedynczymi pinami. W ten sposób mogę je przenosić w obszarze roboczym płytki i unikać używania przewodów połączeniowych. Wadą jest to, że lokalizacja niektórych połączeń wydaje się przypadkowa. Na przykład patrząc od spodu mamy GND, potem SP-EN, a potem VCC, co jest bardzo rzadkie. Ale w ten sposób mogłem zredukować liczbę zworek do zaledwie 2 i łatwiej mi było wykonać PCB.
Specjalne są również nazwy bloków zacisków. Zostały one pogrupowane tak, że np. A oznacza Arduino, więc wszystkie zaciski śrubowe o nazwie A_ należy umieścić na spodzie płytki, ponieważ Arduino z GRBL znajduje się pod płytką.
Na koniec dodałem również prostą diodę LED wskazującą stan sondy Z.
Krok 4: Tworzenie tablicy
Jak powiedziałem wcześniej, wyfrezowałem płytkę na moim DIY CNC, wywierciłem otwory i przylutowałem wszystkie elementy. W tym procesie nie było nic szczególnego, co sprawiało, że PCB była jak każda inna.
Jeśli nie posiadasz CNC możesz wykonać PCB metodą termotransferu lub zamówić u profesjonalnego producenta.
Nie zapomnij również sprawdzić wszystkich połączeń za pomocą multimetru, aby znaleźć i naprawić ewentualne błędy.
Krok 5: Łączenie wszystkiego razem
Jednym z ostatnich kroków było umieszczenie gotowej płytki PCB w maszynie i podłączenie wszystkich przewodów. Wydrukowałem mały schemat płytki, aby pomóc mi podłączyć każdy przewód tam, gdzie powinien być. Po ponownym sprawdzeniu połączeń był gotowy do testów!