Spisu treści:

Robotyczny dozownik filamentu dla Arduino: 8 kroków (ze zdjęciami)
Robotyczny dozownik filamentu dla Arduino: 8 kroków (ze zdjęciami)

Wideo: Robotyczny dozownik filamentu dla Arduino: 8 kroków (ze zdjęciami)

Wideo: Robotyczny dozownik filamentu dla Arduino: 8 kroków (ze zdjęciami)
Wideo: Robot do przykręcania śrub do masowej produkcji,automatyczny dozownik śrub do oświetlenia zewnętrzne 2024, Lipiec
Anonim
Image
Image

Dlaczego zmotoryzowane narzędzie

Filament drukarek 3D – zazwyczaj prawie wytrzymały – jest wciągany przez ekstruder, podczas gdy rolka jest umieszczona w pobliżu drukarki, swobodnie się obracając. Zaobserwowałem znaczące różnice w zachowaniu materiału w zależności od poziomu zużycia, w odniesieniu do rolek filamentu 1Kg. Nowa (pełna) szpula filamentu płynie prawie dobrze, ale siła wywierana przez ekstruder powinna być stosunkowo odpowiednia: waga wynosi co najmniej 1,5 kg.

Silnik ekstrudera (w większości przypadków jest to stepper Nema17) ma wystarczającą moc, aby wykonać zadanie, ale dwa koła zębate ekstrudera popychające filament w stronę gorącego końca podczas pracy zbierają cząsteczki filamentu z powodu przyłożonych sił; wymaga to częstej konserwacji ekstrudera, aby uniknąć zatkania dyszy. Cząsteczki te mają tendencję do odrywania się i mieszania z czystym filamentem podczas jego podawania, zwiększając problemy z dyszą i częstsze zużycie dyszy; zdarza się to częściej w przypadku dysz o średnicy 0,3 mm.

Gdy rolka filamentu jest używana w połowie lub więcej, jej spirale stają się mniejsze, aw niektórych warunkach środowiskowych włókno ma tendencję do zbyt częstego pękania. Długie zadania drukowania stają się mniej niezawodne i stresujące; Nie mogę pozostawić drukarki pracującej samej przez całą noc bez kontrolowania jej. W ten sposób kontrolując podawanie filamentu za pomocą liczb motorycznych, rozwiązując szereg problemów.

Zestaw jest dostępny na Tindie.com

Krok 1: Zawartość zestawu

Zawartość zestawu
Zawartość zestawu
Zawartość zestawu
Zawartość zestawu

Zestaw zawiera wszystkie drukowane części 3D i mechanikę do montażu zmotoryzowanego dozownika filamentu. Zamiast tego istnieją dwie opcjonalne części: silnik i płyta sterownika silnika.

W mojej konfiguracji użyłem szczotkowego motoreduktora McLennan 12 V, ale każdy motoreduktor o średnicy 37 mm może prawidłowo pasować do wspornika silnika.

Najlepsze osiągi osiąga się dzięki tarczy Arduino TLE94112LE firmy Infineon (pełna recenzja tutaj); Ta płyta sterownika silnika prądu stałego może obsługiwać do 6 różnych zestawów dozujących zrobotyzowanych w tym samym czasie.

Przetestowałem cały system zarówno na Arduino UNO R3, jak i na płycie kompatybilnej z Arduino XMC1100 Boot kit firmy Infineon i system bardzo dobrze reagował na obie płyty mikrokontrolerów.

Sugerowane jest użycie tarczy TLE94112LE, ale nie jest to konieczne. Dowolny sterownik silników DC dla Arduino - w tym Twój własny projekt! - może działać dobrze z tym narzędziem

Zestaw jest podzielony na dwa zestawy komponentów, ponieważ dwie części są zbudowane tak, aby ze sobą współpracowały. Platforma podstawowa będzie podtrzymywać rolkę filamentu obracającą się na czterech wolnych łożyskach kół. Podstawa jest przymocowana do czujnika wagi, aby sterować mechanizmem obrotowym wyzwalającym jego aktywację, a także monitorować stan filamentu: wagę, metry i procent. Wiele informacji, a także kompletny zestaw poleceń są dostępne z Arduino poprzez terminal szeregowy.

Narzędzia, których potrzebujesz

Do montażu potrzebny jest solidny klej do plastiku do niektórych części, śrubokręt i zestaw śrub imbusowych.

Krok 2: Projekt i projekt

Projekt i projekt
Projekt i projekt
Projekt i projekt
Projekt i projekt
Projekt i projekt
Projekt i projekt

Ten projekt jest trzecią ewolucją serii dozowników filamentu do drukarek 3D. Jakiś czas temu stworzyłem obrotową podstawę, aby zoptymalizować przepływ filamentu ciągniętego przez ekstruder drukarki 3D.

Drugi model zawierał czujnik wagi do monitorowania zużycia filamentu w czasie rzeczywistym za pomocą płytki Arduino. Ten ostatni projekt obejmuje automatyczne uwalnianie filamentu w zależności od potrzeb pracy drukarki 3D. Opiera się na wirtualnych zmianach wagi, gdy ekstruder zaczyna ciągnąć filament. To zdarzenie uruchamia mikrokontroler przez czujnik wagi, a zmotoryzowany walec filamentu zaczyna zwalniać kilka cali materiału, a następnie zwalniać i zatrzymywać.

Komponenty zostały wyeksportowane w formacie STL i wydrukowane w 3D, a następnie dopracowane i złożone razem. Stworzyłem niestandardową podporę, aby wyrównać ruchomą część z podstawą. Dłuższa aluminiowa szyna została również użyta do podparcia Arduino i osłony silnika, aby całe narzędzie było kompaktowe i łatwe do przenoszenia.

Tworząc projekt kierowałem się szeregiem założeń:

  • Sprawia, że zautomatyzowany silnik jest prawie prosty i łatwy do odtworzenia
  • Zredukuj maksymalnie liczbę komponentów niedrukowalnych w 3D, aby to zrobić
  • Zredukuj w jak największym stopniu naprężenie wywierane na ekstruder podczas drukowania
  • Użyj taniej i łatwej do zaprogramowania płytki mikrokontrolera
  • Użyj czujnika obciążenia, aby kontrolować zużycie i podawanie filamentu Zarządzaj hałasem otoczenia zakłócającym pomiary masy filamentu

To jest wynik, który osiągnąłem.

Krok 3: Montaż podstawy

Montaż podstawy
Montaż podstawy
Montaż podstawy
Montaż podstawy
Montaż podstawy
Montaż podstawy

Pierwszym krokiem jest montaż podstawy z czujnikiem wagi.

  1. Włóż małą rurkę osi łożyska do otworu łożyska
  2. Umieść dwie tarcze oddzielające po bokach łożyska
  3. Wprowadzić elementy do wspornika łożyska o rozmiarze „U”, wyrównując otwory
  4. włóż śrubę imbusową z jednej strony a podkładkę i nakrętkę z drugiej strony zamykając nakrętkę bez większego wysiłku

Należy powtórzyć operację na wszystkich czterech wspornikach łożyska. Następnie przetestuj montaż: łożyska powinny się swobodnie obracać.

Teraz zamocuj śrubami imbusowymi cztery wsporniki łożysk na górnej podstawie z czterema otworami regulacyjnymi. Wyrównaj podpory łożyska, aby utrzymać je równolegle. Reguluj odległość w zależności od szerokości rolek z filamentem.

Następnym krokiem jest montaż drążka czujnika wagi, który łączy dolną i górną podstawę. Czujnik masy ma dwie różne śruby imbusowe po obu stronach i należy go ustawić tak, aby etykieta maksymalnej masy była czytelna, gdy podstawa jest prawidłowo ustawiona. Dolna podstawa ma dwa dodatkowe boczne otwory do mocowania wzmacniacza A/D z czujnikiem masy. Wzmacniacz oparty na układzie scalonym HX711 będzie zasilany i podłączony do płytki Arduino za pomocą czterech przewodów, jak pokazano na załączonej karcie danych czujnika.

Ostatnim krokiem jest zamontowanie kompletnej górnej podstawy na czujniku masy już przymocowanym do dolnej części.

Pierwszy składnik został skonfigurowany!

Krok 4: Montaż części silnika ruchu szpuli

Montaż części silnika szpulowego
Montaż części silnika szpulowego
Montaż części silnika szpulowego
Montaż części silnika szpulowego
Montaż części silnika szpulowego
Montaż części silnika szpulowego

Łatwiejszą procedurą montażu silnika ruchu szpulowego jest oddzielne złożenie czterech najważniejszych elementów, a następnie ukończenie ostatecznego budynku:

Motoreduktor prądu stałego w skrzyni biegów silnika

Silnik prądu stałego należy zamontować w środkowej części podpory konstrukcji; przed przykręceniem silnika powinieneś zdecydować, która będzie preferowana strona, w której umieścić stronę przekładni, aby prawidłowo wyrównać dwa ramiona, które trzymają silnik i napędzane duże koło zębate.

Napędzany duży bieg

Duże koło zębate należy przykręcić blokiem stożka ściętego za pomocą czterech śrub imbusowych. Ta przekładnia zostanie zablokowana na osi obrotowej za pomocą nakrętek; część stożkowa utrzyma szpulę filamentu, która jest zablokowana z drugiej strony za pomocą podobnych nakrętek blokujących wewnątrz innego bloku ze ściętym stożkiem. To rozwiązanie nie tylko utrzymuje w miejscu mechanizm jezdny, ale kieruje cały ciężar na podstawę i jest to waga tara systemu.

Uchwyt blokady szpuli

Jest to blok ze ściętym stożkiem, który wraz z napędzanym kołem zębatym podobną stroną blokującą będzie przytrzymywał mechanizm ruchu na szpuli filamentu. Właściwie jest to rolka filamentu, która uzupełnia budynek, podczas gdy ruch dwóch podpórek może swobodnie poruszać się po drugiej stronie.

Jak widać na zdjęciach, uchwyt zamka szpuli składa się z dwóch części. Najpierw włóż nakrętkę M4 w większą część bloku, a następnie sklej drugą część (pokrywę) utrzymując bloki razem. Nakrętka pozostaje uwięziona w uchwycie zamka, który zostanie przykręcony do gwintowanej osi napędzanej.

Skrzynka łożysk

Skrzynka łożyskowa spełnia dwie funkcje: zapewnia dobre podparcie dla przekładni oraz płynny i cichy ruch. Aby zmontować obudowę łożyska, wykonaj następujące proste czynności:

  1. Przykręć pierwszą nakrętkę M4 do jednego z dwóch końców gwintowanej osi napędzanej uchwytem szpuli
  2. Włóż pierwsze łożysko
  3. Wstaw separator
  4. Włóż drugie łożysko
  5. Dokręć drugą nakrętkę i zablokuj ją umiarkowanie. Wewnętrzny plastikowy separator przeciwstawia się wystarczającej sile, aby utrzymać rzeczy na miejscu również przez długi czas użytkowania.
  6. Włóż zmontowane łożyska do obudowy łożyska. Powinno to być zrobione na siłę, aby uzyskać lepsze wyniki, więc nie rozszerzaj zbytnio wnętrza pudełka podczas uszlachetniania części plastikowych.

Jesteśmy gotowi do ostatecznego montażu komponentów!

Krok 5: Zakończenie montażu silnika ruchu

Kończenie montażu silnika ruchu
Kończenie montażu silnika ruchu
Kończenie montażu silnika ruchu
Kończenie montażu silnika ruchu
Kończenie montażu silnika ruchu
Kończenie montażu silnika ruchu

Zaraz kończymy montaż konstrukcji, a następnie możemy przejść do testowania ruchu. Teraz znowu potrzebujesz trochę kleju. Skrzynkę łożyskową - zmontowaną w poprzednim kroku - należy włożyć w otwór uchwytu skrzynki dwuramiennej podpory silnika i ewentualnie przykleić przed przykręceniem pokrywy skrzynki.

Uwaga: nie przyklejać pokrywy pudełka, tylko ją przykręcać. Osłona jest ważna ze względu na ochronę przed kurzem i powinna być zdejmowana podczas przyszłych czynności konserwacyjnych.

Po zakończeniu tej konfiguracji przed dodaniem napędzanego koła zębatego (większego) dodaj mały pierścień oddzielający: utrzymuje on duży bieg w linii z kołem zębatym silnika, działając jako podkładka, aby zamocować napędzany ruchomy zespół.

Następnie włóż koło zębate napędu (małe) w wał silnika. Zwróć uwagę, że w silniku znajduje się płaska strona, a także w centralnym otworze przekładni, aby utrzymać koło zębate obracające się napędzane przez silnik prądu stałego.

Ostatni krok, włóż duże napędzane koło zębate, jak pokazano na zdjęciach, i zablokuj je na gwintowanej osi za pomocą dwóch nakrętek M4.

Budowa mechaniki jest gotowa!

Krok 6: Bonus: Jak dostosowałem wsparcie do zarządzania zestawem

Bonus: Jak dostosowałem wsparcie do zarządzania zestawem
Bonus: Jak dostosowałem wsparcie do zarządzania zestawem
Bonus: Jak dostosowałem wsparcie do zarządzania zestawem
Bonus: Jak dostosowałem wsparcie do zarządzania zestawem
Bonus: Jak dostosowałem wsparcie do zarządzania zestawem
Bonus: Jak dostosowałem wsparcie do zarządzania zestawem

Aby utrzymać zestaw na miejscu, stworzyłem bardzo prostą konstrukcję opartą na dwóch kwadratowych rurach aluminiowych, które wspierają zarówno podstawę, jak i strukturę ruchu. Podstawa została przykręcona czterema śrubami do dwóch szyn (około 25 cm długości), a za pomocą kilku małych podpór wydrukowanych w 3D naprawiam silnik ruchu, aby można go było swobodnie przesuwać, aby ułatwić wkładanie i wyjmowanie rolki filamentu.

Każdy może wybrać własne rozwiązanie w zależności od tego, jak zorganizowany jest jego stół warsztatowy.

Krok 7: Okablowanie i łączenie z Arduino

Image
Image
Okablowanie i łączenie z Arduino
Okablowanie i łączenie z Arduino

Jak wyjaśniono w kroku zawartości zestawu, użyłem osłony silnika DC Infineon TLE94112LE dla Arduino i przetestowałem silnik zarówno na zestawie rozruchowym Arduino UNO R3, jak i Infineon XMC110.

Jeśli będziesz sterować silnikiem (potrzebujesz funkcji PWM) za pomocą wybranej płyty kontrolera DC, po prostu dostosuj instrukcje do specyfikacji technicznych swojej osłony.

Uwaga dotycząca tarczy Arduino TLE04112LE

Jednym z ograniczeń, jakich doświadczyłem w przypadku innych nakładek sterujących silnikami dla Arduino, jest wykorzystanie funkcji tego samego mikrokontrolera (tj. pinów PWM i GPIO); oznacza to, że twoja płyta staje się dedykowana do tych zadań, podczas gdy tylko kilka innych zasobów (MPU i GPIO) jest dostępnych do innych zastosowań.

Mając możliwość postawienia w ręce nakładki Arduino TLE94122LE do testów drogowych, najbardziej ewidentną zaletą układu scalonego, na którym opiera się płyta, jest po prostu jego kompletność. Płytka Arduino komunikuje się z tarczą za pomocą protokołu SPI za pomocą tylko dwóch pinów. Każde polecenie wysłane do tarczy jest przetwarzane autonomicznie przez układ TLE94112LE IC bez zużywania zasobów MPU. Kolejną niezwykłą cechą płyty Infineon jest możliwość sterowania do sześciu silników szczotkowych za pomocą trzech programowalnych kanałów PWM. Oznacza to, że Arduino może skonfigurować jeden lub więcej silników, uruchomić je i kontynuować pracę nad innymi zadaniami. Ta osłona okazała się idealna do obsługi do sześciu różnych rolek z filamentem w tym samym czasie, a ruch jest tylko jednym z zadań odpowiedzialnych za MPU. Biorąc pod uwagę możliwość zarządzania sześcioma różnymi szpulami z filamentem za pomocą jednej osłony Arduino +, wpływ na koszty mikrokontrolera na każdym kontrolerze żarnika za mniej niż 5 euro.

Czujnik wagi

Po wykonaniu kilku eksperymentów zobaczyłem, że można sterować całym systemem - monitorowaniem i automatycznym podawaniem - za pomocą jednego czujnika; ogniwo obciążnikowe (czujnik wagi) jest w stanie dynamicznie mierzyć zmiany wagi szpuli filamentu, dostarczając wszystkich potrzebnych nam informacji.

Użyłem niedrogiego czujnika tensometrycznego w zakresie 0-5 kg wraz z małą płytką opartą na wzmacniaczu HX711 AD, układzie scalonym przeznaczonym do zarządzania czujnikami tensometrów. Nie było problemów z interfejsem, ponieważ dostępna jest dobrze działająca biblioteka Arduino.

Trzy kroki do ustawienia sprzętu

  1. Umieść osłonę na górze płyty Arduino lub zestawu rozruchowego Infineon XMC110
  2. Podłączyć przewody silnika do złączy śrubowych Out1 i Out2 ekranu
  3. Podłącz zasilanie i sygnały ze wzmacniacza czujnika wagi HX711 AD do pinów Arduino. W tym przypadku użyłem pinów 2 i 3, ale wszystkie wolne piny są w porządku.

Ostrzeżenie: piny 8 i 10 są zarezerwowane przez tarczę TLE94113LE dla połączenia SPI

To wszystko! Gotowy do instalacji oprogramowania? Zacząć robić.

Krok 8: Oprogramowanie i zestaw poleceń sterujących

Oprogramowanie i zestaw poleceń sterujących
Oprogramowanie i zestaw poleceń sterujących
Oprogramowanie i zestaw poleceń sterujących
Oprogramowanie i zestaw poleceń sterujących
Oprogramowanie i zestaw poleceń sterujących
Oprogramowanie i zestaw poleceń sterujących
Oprogramowanie i zestaw poleceń sterujących
Oprogramowanie i zestaw poleceń sterujących

Pełne udokumentowane oprogramowanie można pobrać z repozytorium GitHub 3DPrinterFilamentDispenserAndMonitor

tutaj rozważamy tylko najbardziej znaczące części i polecenia sterujące.

Nie bez powodu ilość dostępnych pinów w Arduino UNO postanowiłem sterować układem poprzez port szeregowy USB; Ponieważ każda jednostka zmotoryzowana jest oparta na czujniku wagi, sterowanie sześcioma różnymi dozownikami filamentu wymaga odczytu danych z sześciu czujników wagi. Każde ogniwo obciążnikowe „zużywa” dwa piny, pin 0 i 1 są zarezerwowane (Tx/Rx) dla połączenia szeregowego, a piny 8 i 10 są zarezerwowane dla kanału SPI łączącego ekran TLE94112LE.

Status systemu

Oprogramowanie sterujące działa w czterech różnych stanach, zdefiniowanych w filament.h:

#define SYS_READY "Gotowy" // System gotowy

#define SYS_RUN "Uruchomiony" // Filament w użyciu #define SYS_LOAD "Load" // Załadowana rolka #define SYS_STARTED "Uruchomiona" // Aplikacja uruchomiona // Kody statusu #define STAT_NONE 0 #define STAT_READY 1 #define STAT_LOAD 2 #define STAT_RUN 3

Status: Rozpoczęty

Ten stan pojawia się po resecie sprzętowym lub po włączeniu zasilania systemu. Włączenie zasilania (i wywołanie setup(), gdy rozpoczyna się szkic) inicjalizuje wewnętrzne wartości domyślne i powinno być rozpoczęte bez dodatkowej wagi na platformie, ponieważ częścią sekwencji inicjalizacji jest akwizycja bezwzględnej tary w celu osiągnięcia fizycznej wagi zerowej.

Stan: Gotowy

Stan gotowości następuje po miękkim resecie (wysłanym z terminala szeregowego). Jest podobny do resekcji fizycznej, ale nie oblicza się tary; polecenie resetowania może być uruchomione również podczas pracy systemu.

Stan: Załaduj

Status ładowania występuje, gdy polecenie ładowania jest wysyłane przez terminal. Oznacza to, że rolka filamentu została załadowana i obliczono tarę dynamiczną. Dokładną wagę filamentu uzyskuje się przez rodzaj ustawienia rolek, odejmując ciężar jednostki silnikowej i pustej rolki.

Stan: działa

Ten status umożliwia automatyczne obliczanie wagi i automatyczny dozownik filamentu.

Wiadomości końcowe

Aktualna wersja oprogramowania zwraca do terminala komunikaty czytelne dla człowieka w zależności od poleceń. Komunikaty tekstowe są zdefiniowane w dwóch plikach nagłówkowych: commands.h (komunikaty i odpowiedzi związane z poleceniami) oraz filament.h (łańcuchy używane przez parser do tworzenia komunikatów złożonych).

Polecenia

W zarządzanie poleceniami zaangażowane są dwa różne pliki: commands.h zawierający wszystkie polecenia i powiązane parametry oraz filament.h zawierający wszystkie stałe i definicje używane przez system ważenia i przez parser.

Podczas gdy wewnętrzne obliczenia są wykonywane automatycznie przez oprogramowanie, zaimplementowałem szereg poleceń, aby ustawić zachowanie systemu i ręcznie sterować niektórymi parametrami.

W słowach kluczowych poleceń rozróżniana jest wielkość liter i należy je po prostu wysłać z terminala. Jeśli komenda nie jest odpowiednia dla bieżącego statusu, nie zostanie rozpoznana, zwracany jest błędny komunikat komendy, w przeciwnym razie komenda jest wykonywana.

Polecenia stanu

Zmień aktualny stan systemu, a zachowanie jest również dostosowywane

Polecenia dotyczące żarnika

Za pomocą oddzielnych poleceń można ustawić charakterystykę filamentu i rolki w oparciu o najpowszechniejszą wagę i rozmiary dostępne obecnie na rynku

Polecenia jednostek

Oto kilka poleceń służących do ustawienia wizualizacji jednostek miary w gramach lub centymetrach. W rzeczywistości możliwe jest wyeliminowanie tych poleceń i zawsze przedstawianie danych w obu jednostkach.

Polecenia informacyjne

Pokaż grupy informacji w zależności od stanu systemu

Polecenia silnika

Kontroluj silnik pod kątem podawania lub ciągnięcia filamentu.

Wszystkie polecenia silnika podążają ścieżką przyspieszania/zwalniania. Dwie komendy feed i pull wykonują krótką sekwencję zdefiniowaną w motor.h przez stałą FEED_EXTRUDER_DELAY, podczas gdy komendy feedc i pullc działają w nieskończoność, dopóki nie zostanie odebrane polecenie stop.

Polecenia trybu biegania

Stan pracy akceptuje dwa tryby; mode man po prostu odczytuje od czasu do czasu masę, a silnik porusza się, aż polecenie sterowania silnikiem nie zostanie wysłane. Tryb auto zamiast tego wykonuje dwa polecenia podawania, gdy ekstruder potrzebuje więcej filamentu.

Zasada opiera się na odczytach wagi, dostosowanych do tego konkretnego środowiska. Spodziewamy się, że zużycie filamentu jest stosunkowo wolne, drukarki 3D są prawie wolne, a normalne oscylacje wagi zależą od wibracji otoczenia (lepiej, jeśli nie umieścisz całego materiału na drukarce 3D)

Kiedy ekstruder zamiast tego pociąga za włókno, różnica w wadze dramatycznie wzrasta (50 g lub więcej) w bardzo krótkim czasie, zwykle między dwoma lub trzema odczytami. Informacje te są filtrowane przez oprogramowanie, które „odlicza”, że potrzebny jest nowy filament. Aby uniknąć błędnych odczytów, wahania masy podczas pracy silnika są w ogóle ignorowane.

Logika aplikacji

Logika aplikacji jest dystrybuowana w głównym.ino (szkic Arduino) na trzy funkcje: setup(), loop() i parseCommand(commandString)

Szkic wykorzystuje dwie oddzielne klasy: klasę FilamentWeight do zarządzania wszystkimi obliczeniami żarnika i odczytem czujnika za pośrednictwem klasy HX711 IC i klasy MotorControl, która łączy metody niskopoziomowe osłony Arduino TLE94112LE.

Ustawiać()

Uruchamiany jednorazowo po włączeniu zasilania lub po resecie sprzętowym inicjalizacji instancji klas, konfiguracji sprzętu i komunikacji terminala.

pętla()

Funkcja pętli głównej zarządza trzema różnymi warunkami.

Chociaż istnieją dwie klasy stosunkowo złożonych czujników masy i silników, zaletą jest to, że powstały szkic jest naprawdę łatwy do zrozumienia i zarządzania.

  1. Sprawdź (w trybie auto), czy ekstruder potrzebuje więcej filamentu
  2. Jeśli silnik pracuje, sprawdź błędy sprzętowe (zwrócone przez TLE94112LE)
  3. Jeśli dostępne są dane szeregowe, przeanalizuj polecenie

parseCommand(CommandString)

Funkcja parsowania sprawdza ciągi pochodzące z portu szeregowego i po rozpoznaniu polecenia jest natychmiast przetwarzane.

Każde polecenie działa jak maszyna stanów wpływając na jakiś parametr systemu; zgodnie z tą logiką wszystkie polecenia są zredukowane do trzech następujących po sobie czynności:

  1. Wyślij polecenie do klasy FilamentWeight (polecenia wagi) lub do klasy MotorControl (polecenia silnika)
  2. Wykonuje obliczenia w celu aktualizacji wartości masy lub aktualizacji jednego z parametrów wewnętrznych
  3. Pokaż na terminalu i informacje wyjściowe po zakończeniu wykonywania

Zainstaluj bibliotekę Arduino HX711, pobierz oprogramowanie z GitHub i prześlij je na swoją płytkę Arduino, a następnie ciesz się!

Zalecana: