Komunkiacja drukarki po Ethernet (LAN)

Oprogramowanie sterownika drukarki i do łączenia komputera z drukarką
robo1973
Postów w temacie: 21
Posty: 59
Rejestracja: 19 lip 2022, 14:33
x 2

Re: Komunkiacja drukarki po Ethernet (LAN)

Post autor: robo1973 »

J 23 nadaje
Dziękuje kol konradsdev1 za rzeczową pomoc
Nie trzeba żadnych komputerów i innych wynalazków :D :D
Uruchomiłem konwerter / 2-CH UART TO ETH/ - 2-kanałowy konwerter UART-Ethernet . Na wejściu po LAN robot śle gcode a na wyjściu mam je po UART
Teraz tylko przylutować TR i TX do proca i skonfigurować UART w Marlin
Popatrzcie na komendy wysyłane z robota - jak coś to zmienię , napisałem postprocesor na robota co wyrzuca dwa parametry (ilość filamentu i prędkość )
Reszta to kosmetyka.
Pierwsza E1 ma podawać ilość filamentu w mm a druga prędkość wysuwania filamentu Czy taka powinna być składnia gcode ?
Załączniki
uart_LAN.png
Awatar użytkownika
dziobu
Zasłużony
Postów w temacie: 8
Posty: 8943
Rejestracja: 28 gru 2016, 16:38
Drukarka: ZMorph 2.0(S)
x 5873
Kontakt:

Re: Komunkiacja drukarki po Ethernet (LAN)

Post autor: dziobu »

robo1973 pisze:Nie trzeba żadnych komputerów i innych wynalazków :D :D
Uruchomiłem konwerter / 2-CH UART TO ETH/ - 2-kanałowy konwerter UART-Ethernet . Na wejściu po LAN robot śle gcode a na wyjściu mam je po UART
No czyli zrobiłeś tak jak Ci inni pisali. To już nie piszesz stosu TCP? :P
robo1973 pisze: Teraz tylko przylutować TR i TX do proca i skonfigurować UART w Marlin
Popatrzcie na komendy wysyłane z robota - jak coś to zmienię , napisałem postprocesor na robota co wyrzuca dwa parametry (ilość filamentu i prędkość )
Reszta to kosmetyka.
No taka jak np synchronziacja ruchów maszyny z pracą ekstrudera. Ale nie znam tego softu, może to jakoś tu działa.
robo1973 pisze: Pierwsza E1 ma podawać ilość filamentu w mm a druga prędkość wysuwania filamentu Czy taka powinna być składnia gcode ?
https://marlinfw.org/meta/gcode/
G0/G1.
mcxmcx
Drukarz
Postów w temacie: 3
Posty: 2474
Rejestracja: 09 kwie 2017, 21:32
x 310

Re: Komunkiacja drukarki po Ethernet (LAN)

Post autor: mcxmcx »

Akurat tam synchro jest ogarniete, a dla slabszych :) jest tez opcja ekstruzji ze stala prędkością.

I tylko efektor zapitala wolniej albo szybciej, zeby osiagnac efekt.


(I tak jakosc bedzie mocno umowna, jak z dobota).
Jeżeli przypadkiem podam ceny w GBP to sobie kolego, koleżanko, pomnóż razy pięć.
robo1973
Postów w temacie: 21
Posty: 59
Rejestracja: 19 lip 2022, 14:33
x 2

Re: Komunkiacja drukarki po Ethernet (LAN)

Post autor: robo1973 »

Do druku 3D za pomocą robota stosuje się symulator ROboDK Za pomocą tej platformy wprowadzmy model do druku i wykorzystując postprocesor generujemy program na robota.
Robot porusza extruder tak jak w drukarce trzy trzy osie ruchu x,y,z . Robot robi to za pomocą 6 zmiennych ruchu.
Podczas wykonywania ruchu wysyłane są funkcje , które sobie zaprogramujemy za pomocą postprocesora.
Poniżej kawałek programu. Robot jedzie do punktu i wysyła komendę o wartości ile trzeba wysunąć filament i z jaką prędkością
Wszystko jest zsynchronizowane i działa dobrze

Kod: Zaznacz cały

  # Main program:
  # Program generated by RoboDK v5.4.3 for UR3 on 23/07/2022 11:37:38
  # Using nominal kinematics.
  blend_radius_m = 0.001
  speed_ms    = 0.083
  speed_ms    = 1.000
  ref_frame = p[0.240000, -0.300000, 0.050000, 0.000000, 0.000000, 0.000000]
  set_tcp(p[0.053240, -0.011570, 0.107870, 0.000000, 0.000000, 0.000000])
  # Show 3D Printer Extruder Tool
  movej([0.223502, -1.945501, -1.353423, -1.413462, 1.570796, 1.794303],accel_radss,speed_rads,0,0)
  movel(pose_trans(ref_frame,p[0.104650, 0.265654, 0.005000, -0.000000, 3.141593, -0.000000]),accel_mss,speed_ms,0,0)
  Extruder(0.000)
  speed_ms    = 0.130
  movel(pose_trans(ref_frame,p[0.104650, 0.265654, 0.000500, -0.000000, 3.141593, -0.000000]),accel_mss,speed_ms,0,blend_radius_m)
  Extruder(-2.000)
  speed_ms    = 0.040
  movel(pose_trans(ref_frame,p[0.104650, 0.265654, 0.000500, -0.000000, 3.141593, -0.000000]),accel_mss,speed_ms,0,0.000)
  Extruder(0.000)
  speed_ms    = 0.130
  movel(pose_trans(ref_frame,p[0.104650, 0.265654, 0.000500, -0.000000, 3.141593, -0.000000]),accel_mss,speed_ms,0,0.000)
  Extruder(2.000)
  speed_ms    = 0.040
  movel(pose_trans(ref_frame,p[0.104650, 0.265654, 0.000500, -0.000000, 3.141593, -0.000000]),accel_mss,speed_ms,0,0) # end trace
  speed_ms    = 0.030
  Extruder(2.037)
Robot wywołuje funkcję Extruder(2.037) z której odczytuję inną funkcją o ile musi wysunąć extruder filament i wysyłam to po LAN za pomocą gcode do pyty drukarki 3D . Tak samo z prędkością podawania filamentu, która jest powiązana z prędkością druku czyli poruszania robota.


Przy okazji spytam jaki polecacie program GUI żeby można było połączyć się z płytą drukarki po LAN czy USB i wydać komendy gcode z palca. ?
Awatar użytkownika
konradsdev1
Postów w temacie: 5
Posty: 455
Rejestracja: 30 wrz 2020, 16:55
Lokalizacja: Warszawa
Drukarka: VORON 0
x 178

Re: Komunkiacja drukarki po Ethernet (LAN)

Post autor: konradsdev1 »

Czy funkcja Extruder wywoływana jest na początku ruchu czy dopiero po jego zakończeniu?
Jeśli dopiero po zakończeniu to powinna być wywołana przed movel.
robo1973 pisze:Przy okazji spytam jaki polecacie program GUI żeby można było połączyć się z płytą drukarki po LAN czy USB i wydać komendy gcode z palca. ?
Sprawdzałeś Repetier-Host o którym pisałem wcześniej?
"Everybody needs a hobby" (Tony Stark).
VORON V0.2 (BTT SKR Pico + RPi 4B + Phaetus x Voron Dragon Hotend ST)
DIY MK4 + VORON Stealthburner (BTT SKR PRO V1.1 + RPi Zero 2 W)
robo1973
Postów w temacie: 21
Posty: 59
Rejestracja: 19 lip 2022, 14:33
x 2

Re: Komunkiacja drukarki po Ethernet (LAN)

Post autor: robo1973 »

konradsdev1 pisze:Czy funkcja Extruder wywoływana jest na początku ruchu czy dopiero po jego zakończeniu?
Jeśli dopiero po zakończeniu to powinna być wywołana przed movel.
Tego nie wiem bo jeszcze nie drukowałem Ale patrząc na program robota to instrukcja ruchu, jak robot zakończy wysyła parametry Extrudra i
i zaczyna nowy ruch roboczy i tak dalej. Dopiero pracuję nad projektem wydruku za pomocą robota.
Jak zepnę to wszystko do dam gotowca łącznie z postprocesorem który jest NP. Na zagranicznych forach drukują i to działa
Awatar użytkownika
McKee
Zasłużony
Postów w temacie: 1
Posty: 2630
Rejestracja: 20 kwie 2016, 23:00
x 717

Re: Komunkiacja drukarki po Ethernet (LAN)

Post autor: McKee »

Tak z ciekawości: Czy możesz napisać: Po co?
Sprzęt za >20kPLN zwykle ma pracować i zarabiać na siebie. Do tego ma być 'tanio'. Wygląda mi to więc raczej na jakieś zaliczenie przedmiotu na studiach (ale 1973 nie pasuje) ... albo nietrafioną inwestycję w robota (spółka państwowa?). Marny że mnie Sherlock Holmes ;) a ciekawi mnie jaki jest cel ćwiczenia i ew przewidywane korzyści :P
Oczywiście jeżeli chcesz / możesz odpowiedzieć.
Motto na dziś: "How may I abuse you?"
mcxmcx
Drukarz
Postów w temacie: 3
Posty: 2474
Rejestracja: 09 kwie 2017, 21:32
x 310

Re: Komunkiacja drukarki po Ethernet (LAN)

Post autor: mcxmcx »

A moze hobbysta potrzebuje miec duza objetosc druku, na dodatek nietypowe ksztalty?

Ej...
Jeżeli przypadkiem podam ceny w GBP to sobie kolego, koleżanko, pomnóż razy pięć.
robo1973
Postów w temacie: 21
Posty: 59
Rejestracja: 19 lip 2022, 14:33
x 2

Re: Komunkiacja drukarki po Ethernet (LAN)

Post autor: robo1973 »

he praca badawcza i wdrożenie pewnych technologii Np druk ciekłym metalem , druk 3D i trochę hobby ..
McKee
robo1973
Postów w temacie: 21
Posty: 59
Rejestracja: 19 lip 2022, 14:33
x 2

Re: Komunkiacja drukarki po Ethernet (LAN)

Post autor: robo1973 »

Uruchomiłem Marlin na Creality CR-10S
Zgodnie z opisem płyta komunikuje się na UART 0

Kod: Zaznacz cały

#define SERIAL_PORT 0
Z tym że patrząc na dokumentacje mikroprocesora https://docs.arduino.cc/static/ed4d33b8 ... g_Rev2.png

UART 0 fizycznie na płycie podłączony jest do 19 i 18 pin Analizując schemat proca jest to UART 1

Do rzeczy Chcę zdefiniować drugi port komunikacyjny

Kod: Zaznacz cały

#define SERIAL_PORT_2 1
#define BAUDRATE_2 250000   // Enable to override BAUDRAT
i pojawia się błąd

Kod: Zaznacz cały

#error "Serial Port 1 pin D18 and/or D19 conflicts with another pin on the board."
Czyli Port 1 jest zajęty ?

Czy macie jakiś pomysł ? Jak zdefiniować drugi port ? Przyjmuje #define SERIAL_PORT_1 1 Tylko to jest UART 1 ??>??
ODPOWIEDZ

Wróć do „Firmware'y i hosty”