optyczny przedłużacz LPT

Rozmowy na temat układów elektronicznych sterowania obrabiarek CNC
Awatar użytkownika

Autor tematu
pitsa
Moderator
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 11
Posty: 4698
Rejestracja: 13 wrz 2008, 22:40
Lokalizacja: PL,OP

Re: optyczny przedłużacz LPT

#11

Post napisał: pitsa » 06 mar 2019, 21:53

Dorzucam do tematu link do postu od Bronsonboss na temat emc2arduino:
chinska-plyta-5-osi-t98571.html#p680012
Chodzi o możliwość komunikacji linuxcnc - arduino tak aby mieć dodatkowe piny do wyklikiwania w GUI.
https://qtpyvcp.kcjengr.com/tutorials/basic_vcp.html



zachowanie spokoju oznacza zdolności do działania
ᐃ 🜂 ⃤ ꕔ △ 𐊅 ∆ ▵ ߡ

Awatar użytkownika

Autor tematu
pitsa
Moderator
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 11
Posty: 4698
Rejestracja: 13 wrz 2008, 22:40
Lokalizacja: PL,OP

Re: optyczny przedłużacz LPT

#12

Post napisał: pitsa » 07 mar 2019, 22:31

Zamiast rozwiązywania krzyżówek na starość drążenia tematu ciąg dalszy...
Czytam o mostkach H i szukam informacji czy można hamować nimi silniki komutatorowe.

Znalazłem taki kit: https://serwis.avt.pl/manuals/AVT1825.pdf
https://ep.com.pl/artykuly/9976-Modul_P ... em_RS.html
Ma jedną wadę: "moduł zaprogramowany" a ja chcę nauczyć się samemu zaprogramować :-)
za sterowanie odpowiada mikrokontroler Attiny24, napięcia stabilizowanego dostarcza układ 78M05, komunikacja z magistralą RS485 odbywa się poprzez układ MAX485. Elementami wykonawczymi są dwa tranzystory MOSFET-N.
Sterownie modułem odbywa się poprzez magistralę RS485 przy pomocy prostych komend. ... 0x50 0x33 0x36 0x3D 0x31 0x32 0x38 0x2C 0x30 0x0D Ustawia na wyjściu modułu o adresie 36 sygnał Pwm o wypełnieniu 50% (128/256) bez opóźnienia.

Cenowo (35zł) odpowiada mi się ten moduł z dwoma półmostkami H BTS 7960. Przykładowa aplikacja wygląda tak:
Obrazek
W gotowym module są 4 pinów do sterowania mostkami poprzez SNx4AHC244( Octal Buffers/Drivers With 3-State Outputs - jak to się zwie po naszemu?):
1 RPWM - Sygnał sterujący obracaniem silnika w kierunku R (PWM lub poziom)
2 LPWM - Sygnał sterujący obracaniem silnika w kierunku L (PWM lub poziom)
3 R_EN - Sygnał zezwolenia na pracę w kierunku R
4 L_EN - Sygnał zezwolenia na pracę w kierunku L
5 R_IS - Wyjście alarmu (R)
6 L_IS - Wyjście alarmu (L)
7 VCC - Zasilanie bufora wejściowego (3,3 V...5,5 V)
8 GND - Masa

Do koszyka i trzeba poeksperymentować z hamowaniem. :-)
zachowanie spokoju oznacza zdolności do działania
ᐃ 🜂 ⃤ ꕔ △ 𐊅 ∆ ▵ ߡ


Bronsonboss
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 1
Posty: 304
Rejestracja: 14 sty 2018, 18:27
Lokalizacja: Cedry Wielkie

Re: optyczny przedłużacz LPT

#13

Post napisał: Bronsonboss » 07 mar 2019, 23:08

pitsa pisze:Dorzucam do tematu link do postu od Bronsonboss na temat emc2arduino

Jak skończę z kablowaniem maszyny albo znajdę trochę czasu w pracy to spróbuję odpalić to arduino jako I/O dla linuxCNC...
Cały czas szukałem informacji i dodawałem sobie znalezione do zakładek bo do sterowania maszyną miałem dostępny tylko port LPT więc więcej niż 5 wyjść do dyspozycji nie było.. Traf chciał że kupiłem kartę Mesy... No ale że temat ciekawy, arduin kilka leży to trzeba będzie temat przebadać..

Awatar użytkownika

Autor tematu
pitsa
Moderator
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 11
Posty: 4698
Rejestracja: 13 wrz 2008, 22:40
Lokalizacja: PL,OP

Re: optyczny przedłużacz LPT

#14

Post napisał: pitsa » 08 mar 2019, 14:14

Znalazłem http://georgestone72.blogspot.com/2017/ ... duino.html - przykład użycia arduino do regulacji temperatury w drukarce 3D.
zachowanie spokoju oznacza zdolności do działania
ᐃ 🜂 ⃤ ꕔ △ 𐊅 ∆ ▵ ߡ


nanab
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 2
Posty: 330
Rejestracja: 01 paź 2018, 22:34

Re: optyczny przedłużacz LPT

#15

Post napisał: nanab » 08 mar 2019, 15:45

Przedłużacz lpt: Czy komunikacja ma być w dwie strony? Ile pinów? Jakie max częstotliwości sygnałów step? Chyba mam gotowy układ który by mógł to ogarnąć. W sumie wystarczy na okrągło czytać 8 bitów z portu i wysyłać jednym bajtem przez uart, drugi odbiera przez uart i wystawia to na swoim porcie. Jak ma być w dwie strony to puściłbym, osobnymi skrętkami, ten max485 kosztuje grosze, a bedzie full duplex, dużo prostrzy program i mniej czasu zmarnowane na jego wykonywanie. Jakby się uprzeć, to gejduino ma na płytce konwerter uart->usb, więc możnaby pominąć port lpt od strony komputera i emulować go w windowsie.

Co do mostka H-żeby go hamować powinien wysarczyć przekaźnik z jakimś rezystorem dla ograniczenia "sily hamowania". "Octal Buffers/Drivers With 3-State Outputs" tak jak się czyta- to poczwórny bufor/driver z wyjściami trzystanowymi.

Awatar użytkownika

Autor tematu
pitsa
Moderator
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 11
Posty: 4698
Rejestracja: 13 wrz 2008, 22:40
Lokalizacja: PL,OP

Re: optyczny przedłużacz LPT

#16

Post napisał: pitsa » 08 mar 2019, 21:29

Gdybyś miał coś ciekawego dla "nowicjusza" to podziel się. :-)

W skrócie: Idę w kierunku dodatkowych pinów poza portem LPT sterowanych z gcodu i AXIS. "Optyczny przedłużacz LPT" to taki niedościgniony dla mnie poziom umiejętności. ;-)

Między innymi chcę kręcić szybko silnikiem, w odpowiednim miejscu wyhamować. Ten moduł, który wybrałem nie ma hamowania jako tryb pracy ale będzie się dało wyhamować na chwilowym wstecznym. Tak robiłem w dwukołowym robocie na prostym DRV8835 z gotową biblioteką do arduino. Jak to nie wystarczy to poszukam innego modułu.

Podoba mi się w linuxcnc, że AXIS jest taki łatwy do ogarnięcia i da się do niego dołożyć, pokrętła, suwaki, przyciski, wskaźniki. https://www.linuxcnc.org/docs/2.4/html/hal_pyvcp.html - z tym dam sobie radę. Całej reszty jeszcze nie potrafię i małymi kroczkami uczę się i eksperymentuję. Gdy będzie coś co się nadaje to pokażę. W dalszych planach mam nauczenie się KiCada, więc to wszystko trochę potrwa. ;-)

Za radą kwarca sięgnąłem do skrzyni skarbów, w której mam sterowanie ze starej maszyny cnc (karty 8-bit XT bus z uP ATMEL 8051). Ze schematów nie byłoby tego widać ale na płytce drukowanej pooglądałem jak blisko są odpowiednie kondensatory przy układach scalonych, gdzie są filtry i jak rozdzielone od siebie różne funkcje. Znalazłem ciekawy drobiazg - watchdog i monitor zasilania w jednym - adm707 (ten watchdog prawdopodobnie robi restart mikroprocesora po określonym czasie od włączenia zasilania) i kilka kości "octal bus transceiver" i "Octal Transparent D-Type Latches With 3-State Outputs" wnioskuję z datasheets, że całe przekazywanie informacji na linie sterujące do silników krokowych idą równolegle 8-bitowo. Tyle wywnioskowałem, nie znając się na tym. ;-)
zachowanie spokoju oznacza zdolności do działania
ᐃ 🜂 ⃤ ꕔ △ 𐊅 ∆ ▵ ߡ

Awatar użytkownika

adam Fx
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 2
Posty: 5562
Rejestracja: 04 lip 2004, 16:03
Lokalizacja: Gliwice

Re: optyczny przedłużacz LPT

#17

Post napisał: adam Fx » 08 mar 2019, 23:52

pitsa pisze:Czytam o mostkach H i szukam informacji
ja też z tym walczyłem ale stanęło (brak wiedzy elektronicznej i dość pilny temat) na https://botland.com.pl/pl/sterowniki-si ... 0v20a.html być może to mostek H własnie.

Te arduina jako wyjścia niezwykle ciekawe muszę to zgłębić.
sorki za wszystkie błędy ... (dyslektyk) :?
Zobacz moje filmy http://www.youtube.com/user/pokachontass/videos


nanab
Specjalista poziom 2 (min. 300)
Specjalista poziom 2 (min. 300)
Posty w temacie: 2
Posty: 330
Rejestracja: 01 paź 2018, 22:34

Re: optyczny przedłużacz LPT

#18

Post napisał: nanab » 09 mar 2019, 17:49

pitsa pisze:Ten moduł, który wybrałem nie ma hamowania jako tryb pracy ale będzie się dało wyhamować na chwilowym wstecznym.

Każdy mostek H ma "funkcję" hamowania, wystarczy zewrzeć oba wyprowadzenia silnika do plusa albo do masy.
adam Fx pisze:ja też z tym walczyłem ale stanęło (brak wiedzy elektronicznej i dość pilny temat) na https://botland.com.pl/pl/sterowniki-si ... 0v20a.html być może to mostek H własnie.

http://electropark.pl/drivery/1055-vnh3 ... h-30a.html ten dużo tańszy i imho lepszy.
pitsa pisze:"Optyczny przedłużacz LPT" to taki niedościgniony dla mnie poziom umiejętności.

I trochę niepotrzebny, bo po 485 wszystko działa na setkach metrów skrętki we wielu fabrykach, więc raczej nie ma sensu kombinować czegoś nowego :)
pitsa pisze:Między innymi chcę kręcić szybko silnikiem, w odpowiednim miejscu wyhamować.

Jak to silnik DC bez enkodera to nie da rady tak w konkretnym miejscu wyhamować, no chyba że "mniej więcej w tym miejscu" wystarczy.
pitsa pisze: Idę w kierunku dodatkowych pinów poza portem LPT sterowanych z gcodu i AXIS

No to tak się nie da, gcode są przetwarzane w programie, na port trafiają już gotowe sygnały dla sterowników.

Awatar użytkownika

Autor tematu
pitsa
Moderator
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 11
Posty: 4698
Rejestracja: 13 wrz 2008, 22:40
Lokalizacja: PL,OP

Re: optyczny przedłużacz LPT

#19

Post napisał: pitsa » 09 mar 2019, 23:08

nanab pisze:gcode są przetwarzane w programie, na port trafiają już gotowe sygnały dla sterowników.

Ale na przykład w gcode możesz mieć M3 i M7 do włączania/wyłączania wrzeciona oraz M7 i M9 do mgły lub chłodziwa wyprowadzone przez LPT do dwóch przekaźników. Podobnie w gkodzie możesz dodać własne M101-M199 i pościć je właśnie "arduinowym kanałem przez max485" lub też niezależnie od gkodu sterować parametrami pracy osprzętu maszyny cnc.
Zobacz tutaj: https://github.com/sam0737/hrepstrap

Spójrz na to okno: AXIS screenshot.png

i przeczytaj jak to jest zrobione: https://github.com/sam0737/hrepstrap/bl ... README.txt

To przykład sprzed 9 lat ale sprawdziłem instrukcję sprawdzoną przez kogoś w 2017r: http://georgestone72.blogspot.com/2017/ ... duino.html i w linuxcnc uzyskałem to samo. To jest drobnostka. Dużo trudniej rozpracować to wszystko co się dzieje w skryptach pythona itp... ale jak widać komuś coś takiego się udało.


Tu jest dużo prostsza wersja z arduino:
1. https://ckcnc.wordpress.com/2011/01/08/ ... ino-howto/
2. https://ckcnc.wordpress.com/basic-ardui ... o-example/
3. https://ckcnc.wordpress.com/basic-ardui ... no-sketch/
4. https://ckcnc.wordpress.com/basic-ardui ... mc-module/

Skrypt w pytonie, nasłuchujący arduino przez port PORT = "/dev/ttyUSB0", jest podczepiony do AXIS w custom_postgui.hal (w pliku ini swojej maszyny,w sekcji [HAL] trzeba dopisać linijkę HALUI = halui” )
W tym custom_postgui.hal tak to wygląda:

Kod: Zaznacz cały

loadusr -Wn arduino simple_arduino
 
#Map the machine on/off state to the arduino
net machstate arduino.machine-state <= halui.machine.is-on
 
#Map the switch events to the halui pins for requesting on and off
net turnoff halui.machine.off <= arduino.switch-off
net turnon halui.machine.on <= arduino.switch-on
i w zależności do stanu włącznika nadanego z arduino włącza lub wyłącza maszynę, czyli arduino w tym przykładzie steruje przyciskiem w AXIS. Pod tymi 4 linkami jest kod, dobrze skomentowany.

Trochę poeksperymentować, zrozumieć o co chodzi z tymi strzałkami w HALu => <= i coś się w końcu zmajstruje. Choćby na początek w dwóch bajtach po serialu. ;-)
zachowanie spokoju oznacza zdolności do działania
ᐃ 🜂 ⃤ ꕔ △ 𐊅 ∆ ▵ ߡ

Awatar użytkownika

Autor tematu
pitsa
Moderator
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 11
Posty: 4698
Rejestracja: 13 wrz 2008, 22:40
Lokalizacja: PL,OP

Re: optyczny przedłużacz LPT

#20

Post napisał: pitsa » 11 mar 2019, 21:40

zachowanie spokoju oznacza zdolności do działania
ᐃ 🜂 ⃤ ꕔ △ 𐊅 ∆ ▵ ߡ

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „Elektronika CNC”