Marlin 1.1.9 – Tronxy problem z LCD

Marlin 1.1.9 – Tronxy problem z LCD


Witajcie, jako że w trakcie serwisu rozpocząłem aktualizację oprogramowania marlin w drukarce Tronxy C5 Marlin 1.1.3 dev EN na nowszą wersję jaką jest Marlin 1.1.9 w języku polskim.

Aktualizacja oprogramowania w drukarce 3D Tronxy C5 nie jest tak prosta jakby się wydawało. Okazuje się, że płyta główna MELZI wykorzystywana w drukarce nie posiada bootloadera w związku z tym wgranie oprogramowania bezpośrednio z Programu Arduino jest wręcz niemożliwe. Po instalacji Arduino 1.8.8 w standardzie do wyboru płyt jest Arduino Uno, Arduno Mega etc, natomiast nie ma płyty która nas interesuje, dlatego też należy doinstalować płytę Sanguino.

Sanguino można pobrać bezpośrednio z GitHub:
https://github.com/Lauszus/Sanguino

Po instalacji wybieramy ją z zakładki: Narzędzi / Płyta / Sanguino. Wybieramy również mikrokontroler, w Tronxy C5 użyta została Atmega 1284P taktowana 16Mhz. Aby prawidłowo skompilować program musimy również dołączyć bibliotekę od wyświetlacza GLCD. Aby była możliwość wybrania właściwej biblioteki wyświetlacza musimy ją również dołączyć do projektu.

Biblioteka U8GLib dla Arduino: https://bintray.com/olikraus/u8glib/Arduino

Po wykonaniu powyższych czynności będziemy mieli możliwość kompilacji programu. Aby program prawidłowo działał musimy jeszcze skonfigurować plik Configuration.h oraz Configuration_adv.h. O tych plikach napiszę w kolejnym artykule. Na ten moment zajmijmy się problemem z wyświetlaczem

Płytka MELZI a w zasadzie mikrokontroler nie ma wgranego bootloadera dlatego nie da się bezpośrednio z Arduino wgrać programu. Nie udało mi się również z poziomu Arduino „wypalić” – wgrać bootloadera dlatego znalazłem inny sposób na wgranie skompilowanego firmware.

Po kompilacji programu w ścieżce: C:\Users\DRUMIK\AppData\Local\Temp\ znajdują się katalogi np: arduino_build_58532 wraz z otwarciem programu tworzy się nowy katalog lecz zdarza się, że prędzej używane katalogi nie zawsze się usuną przy zamykaniu programu dlatego też musimy zwrócić uwagę na datę i godzinę utworzenia katalogu tymczasowego. W powyższym katalogu znajdują się pliki o różnych nazwach, natomiast nas interesują pliki:
– Marlin.ino.eep
– Marlin.ino.with_bootloader.hex
Pliki kopiujemy do osobnego katalogu. Za pomocą przejściówki 6pin ISP na 10 pin ISP podpinam się programatorem USBasp do płyty drukarki. Używam programu mkAVRCalculator za pomocą którego sprawdzam podłączony mikrokontroler, dołączam powyższe pliki oraz rozpoczynam wgrywanie programu. Po jego załadowaniu mym oczom ujrzała się jakaś nowa wersja programu, pisząc jakaś mam na myśli błąd wyświetlacza, który nie jest w stanie prawidłowo wyświetlić wersji Marlina nie wspominając już o menu.

Błąd LCD Marlin Tronxy C5
Błąd LCD Marlin Tronxy C5

Jak się jednak okazuje po ok 20 godzinach prób udało się rozwiązać problem. W pliku konfiguracyjnym – Configuration.h w sekcji SCARA Printer odnajdujemy komendę odpowiadającą za ustawienie odpowiedniej płyty głównej drukarki. W moim przypadku jest to BOARD_MELZI_TRONXY a więc w kodzie wpisujemy odpowiednią nazwę płyty:

#ifndef MOTHERBOARD
#define MOTHERBOARD BOARD_MELZI_TRONXY
#endif

Następnie odnajdujemy plik odpowiadający konfiguracji naszej płyty dla Tronxy C5 o nazwie: pins_MELZI_TRONXY.h, w pliku odnajdujemy linię odpowiadającą za czas opóźnienia wyświetlacza:

#define ST7920_DELAY_2 DELAY_NS(128)

zmieniamy wartość milisekund, tutaj najniższą wartością graniczną jest 190 ms natomiast zalecam ustawienie 200 ms.

#define ST7920_DELAY_2 DELAY_NS(200)

Po dokonaniu zmian kompilujemy cały program i wgrywamy do mikrokontrolera. Od tego momentu możemy się cieszyć oprogramowaniem Marlin w wersji 1.9.1.

W pliku konfiguracyjnym zmieniamy define LCD_LANGUAGE en
na define LCD_LANGUAGE pl
po kompilacji oraz wgraniu programu ujrzymy polskie menu.

TRONXY C5 UPDATE
TRONXY C5 UPDATE
TRONXY C5 UPDATE
Druk przestrzenny – Druk 3D, Prototypowanie

Druk przestrzenny – Druk 3D, Prototypowanie

Witajcie

Dawno niczego nowego nie publikowałem a to dlatego, że z dniem 10.04.2017 rozpocząłem własną działalność gospodarczą związaną z Drukiem 3D, prototypowaniem, oraz programowaniem na PC, Android oraz mikrokontrolery.

W związku z tym wszystkie osoby zainteresowaniem Drukiem 3D i nie tylko zapraszam na stronę firmową:
http://drumik.pl w celu zapoznania się z naszą ofertą.

Stronę firmową programuję samemu dlatego też jeszcze wielu rzeczy na niej nie ma. jednakże możecie zapoznać się z realizacjami.

Wykonuję Druk 3D z powierzonych plików STL oraz szkiców zwymiarowanych.

Obiecuję, że postaram się na bloga avrtech.pl wstawiać nowe posty, mój blog nie zmieni kierunku ani dziedziny publikacji.

W przypadku chęci kontaktu jestem pod adresem info @ drumik.pl jak i numerem telefonu +48 534 88 44 33









To są nasze przykładowe realizację zapraszam do częstego odwiedzania strony firmowej.

Pozdrawiam

#02 Lampka RGB – Minecraft – PCB

#02 Lampka RGB – Minecraft – PCB

W poprzednim artykule opisałem Lampkę RGB z gry Minecraft, a dokładniej jej schemat. Teraz zajmiemy się płytką PCB. W zasadzie płytka jest dwustronna ale z powodzeniem udałoby się zmieścić wszystkie elementy na jednej stronie. Ja jednak zamiast przelotek robionych przewodami wolę zrobić przelotkę jako otwór, a następnie połączyć go po obu stronach. W ten sposób zamiast ścieżki wykonanej przewodem, która może posłużyć jako antena i zbierać zakłócenia mam ścieżkę na drugiej stronie płytki która otoczona jest masą. Takie rozwiązanie zapobiega zakłóceniom, może nie w 100% bo nie tylko ten współczynnik jest ważny ale na pewno są one dużo mniejsze niż w przypadku przewodu wiszącego w powietrzu.
… czytaj więcej.

#01 Lampka RGB – Minecraft – opis schemat

#01 Lampka RGB – Minecraft – opis schemat

Na prośbę Córki wykonałem lampkę, która jest blokiem z gry Minecraft. Lampka została wykonana za pomocą technologii druku 3D, dodatkowo podstawa bloku została specjalnie zaprojektowana tak aby pomieścić płytkę PCB oraz podstawę do cyfrowych diod WS28B12 RGB. Podstawa lampki otrzymała gumowe nóżki aby nie ślizgała się po blacie od biurka, posiada również otwory na których umieścimy płytkę drukowaną oraz podstawkę do 5 cyfrowych diod rgb. … czytaj więcej.

Menu wielopoziomowe – przewijanie w obie strony

Menu wielopoziomowe – przewijanie w obie strony

Dopisałem obsługę 2 klawiszy gdzie funkcja key_g to przyciśnięcie klawisza górnego natomiast key_d to wciśnięcie klawisza dolnego.
Musimy jednak pamiętać o tym, że przewijanie menu w dół będzie dodawało 1 do flagi w efekcie przejdziemy z pozycji 5 na 6 i wypadniemy z obiegu pętli to samo stanie się gdzie flaga menu będzie zmniejszana wtedy z pozycji 0 przeskoczymy na 255. W tym celu musimy zadbać o to aby zmieniać wartość flagi zależnie od pozycji końcowej. … czytaj więcej.

Menu wielopoziomowe – trwają prace

Menu wielopoziomowe – trwają prace

Witajcie trwają aktualnie prace nad menu wielopoziomowym aby podzielić się z wami kodem jak i opisać za co dany fragment kodu służy.

Pomysłów i przykładów w internecie odnośnie menu wielopoziomowego jest sporo zapewne tyle samo co programistów a nawet i więcej bo każdy ma kilka pomysłów jak je wykonać. … czytaj więcej.

12