Pouzivate nekdo Marlin na laser

Petr Labaj labaj na volny.cz
Pondělí Leden 3 13:34:23 CET 2022


Napřed krátká odbočka.
Když už jsem s tím experimentoval (tj. měl na to přilepený analyzátor), 
tak jsem zjistil, resp. potvrdil, 2 chyby GRBL.
Obě se týkají řízení PWM pro vřeteno/laser.
- Při zapnutí vřetene s nějak nastaveným plněním PWM se první pulz 
vygeneruje s jiným plněním.
Evidentně tam schází buď po předchozím zastavení PWM nebo před jeho 
spuštěním udělat reset daného timeru. A tak startuje z nedefinované hodnoty.
- Při rychlé sekvenci M5 S1 M3, tj. vynutí PWM, nastavení nejnižšího 
možného plnění a zase zapnutí laseru, se laser zapne na plný výkon.
Ta první chyba je nepříjemná při zaměřování laseru. Obsluha čeká, že 
laser se zapne na minimální intenzitu. Ale v praxi on napřed silně 
blikne (náhodně, pokaždé jinak) a teprve pak se výkon stáhne.
Ta druhá chyba se asi tak často nestane, je to možná trochu nestandardní 
sekvence. Ale pokud už k ní dojde, tak je to případně slušný problém.

Chtělo by to postavit nějaký rychlý měřák reálného svícení. To zpoždění 
výstupu je celkem nepříjemné.
Já jsem si ubastlil měřák výkonu, ale ten je na tohle pomalý.
Ty drivery vypadají šíleně jednoduše. Takže je to zřejmě jen spouštěný 
spínaný zdroj.
To je ale (podle mě) chyba.
Když jsem si stavěl svůj driver pro malý UV laser, tak jsem tam udělal 2 
stupně. Napřed DC-DC měnič z vysokého napájecího napětí na vhodné nízké 
napětí.
A pak rychlý analogový spínač. To mezinapětí bylo stanoveno tak, aby 
ztráty na regulačním FETu byly nejnižší možné.
Pak to s rychlým operákem bylo schopno spínat s latencí ve zlomcích 
mikrosekund.
Tak jestli nakonec nedojde k tomu, že si budeme bastlit ještě i vlastní 
drivery.

Kromě použití M3 místo M4 by bylo dobré vypnout (aspoň pro pokusy) 
případnou volbu, která zajišťuje vypnutí laseru u stojící osy.
I když ta bývá většinou vázaná na režim M4 a v M3 se neuplatní. Ale pro 
sichr.

PL

*******************

Dne 3.1.2022 v 11:49 Marek Sembol napsal(a):
> Diky, ano, resil jsem to ja, od te doby jsem prave jeste ve velkem 
> experimentoval (a nedosel nikam).
> LA (usb, ale imho staci), pripadne osciloskop. Ale nenapada mne jak 
> presne to merite? To se chytnete na signaly motoru a laseru?
> M3/M4 - nedoslo mi, ze je tam rozdil. Ani si nejsem jisty, ze je i na 
> Marlinu. Zkusim.
> Plny vykon jsem zkousel - zadny rozdil.
> To 'I' je prave pro vyuziti LASER_POWER_INLINE (podle mne obdoba, 
> mozna i 'lepsi' toho M4 na GRBL). Jak rikam, zkousel jsem i bez nej a 
> zkousel jsem uplne s vypnutou podporou behem kompilace - zadny rozdil.
> Myslim, ze jsou podporovane jen atmega 128 a 256 pameti, nevim to jiste.
> Dnes vecer doplnim do hlavicky konfiguraku jak mam 
> nanapovane 'optional' piny, stejne jsem to chtel udelat a ty 2 soubory 
> Vam poslu. Predem diky.
> BR,
> Marek
>
> On Mon, Jan 3, 2022 at 4:14 AM Petr Labaj <labaj na volny.cz> wrote:
>
>     Když nevím, tak měřím.
>
>     Myslím, že jste tenhle problém tady zmiňoval už nedávno (nebo to byl
>     někdo jiný?).
>     Já jsem tehdy odepsal, že mám s něčím podobným taky problém.
>     Když jste to teď zmínil znovu, tak jsem se konečně dokopal k tomu,
>     abych
>     to změřil.
>
>     Mám GRBL na malém Arduinu (Nano, ATmega328).
>     GRBL to zpoždění nezpůsobuje. Díval jsem se na to logickým
>     analyzátorem,
>     a je to skoro naopak.
>     GRBL spustí laser o maličko dřív než nastartuje posun (cca o 2-5ms).
>     Po skončení pálení ještě nechá doběh laseru, a to občas i docela
>     dlouho
>     (třeba 25ms). V té chvíli ale osy stojí, takže to neudělá žádný
>     přeběh.
>     To variabilní zpoždění přičítám tomu, že v té chvíli zpracovává
>     další G-kód.
>
>     Můj pracovní závěr je, že zpoždění tam zanáší driver laseru.
>     Takže by to chtělo udělat nějaký měřicí přípravek s fotodiodou a
>     změřit
>     zpoždění reálného startu laseru po signálu z GRBL.
>
>     K tomu zde postovanému G-kódu:
>     Rozhodně bych pro pokusy použil okamžité spínání laseru (příkaz M3) a
>     nikoli variabilní výkon v závislosti na rychlosti (příkaz M4,
>     který tam
>     máte).
>     Aspoň teda doufám, že to M3 a M4 je u Marlina stejně jako v GRBL.
>     Dál bych pro pokusy nechal plný výkon. A rozhodně ne nějaké desetinné
>     číslo jako parametr příkazu S.
>     Taky nevím, co má dělat to 'I', které tam máte po M4.
>
>     Samozřejmě by bylo ideální ty výstupy změřit analyzátorem, jako
>     jsem to
>     udělal já. Ale ten zřejmě nemáte, jinak byste to už určitě udělal.
>     Nakonec bych to mohl změřit i já. Kdyby Marlin jel na ATmega328,
>     tak by
>     to bylo velmi jednoduché. Ale obávám se, že už se do toho ani
>     nevejde a
>     chce to Arduino Mega, ne?
>     To bych taky měl někde mít, ale už bych ho musel hledat, tak to
>     není tak
>     jednoduché a tedy ani rychlé.
>     Pokud tomu chcete pomoct, tak mi pošlete stejný firmware a
>     konfiguraci,
>     jaký používáte. Do nějakého velkého hledání na Internetu se mi moc
>     nechce.
>     Zkusím to svoje Mega někde vyhrabat.
>
>     PL
>
>     *********************
>
>     Dne 2.1.2022 v 16:09 Marek Sembol napsal(a):
>     > Zdravim,
>     > snazim se rozchodit laser na 3D tiskarne s Marlin FW a stoji to
>     za...
>     > Rizeni mam na pinu s HW podporou PWM, frekvence 5KHz (ale
>     zkousel jsem
>     > i 25KHz), AVR board.
>     > Puvodne jsem zkousel 2.0.9.2, tad jsem na poslednim bugfixu -
>     stejne.
>     > Zkousel jsem s i bez LASER_POWER_INLINE (a v pripade s jsem zkousel
>     > oba typy pouziti, tzn. s i bez 'I' v M4 a G1) - stejne
>     > Dal jsem Jerk na minimum (1) - stejne
>     > Chova se to jako by laser (diodova cina) zapinal pozde (viz
>     obrazek).
>     > Velikost tech obdelnicku je asi 0.8 x 3mm.
>     >
>     https://drive.google.com/file/d/1QcJGgDZn4juDD1Bxt0lMtXzpUwnz8AlO/view
>     >
>     > Tady je fragment gcode (start a prvni 2 obdelnicky):
>     > G21         ; Set units to mm
>     > G90         ; Absolute positioning
>     > G0 F2000
>     > M4I S0       ; Enable Laser/Spindle (0 power)
>     > G0 X35.36 Y88.20
>     > G0 Z31.00
>     > G1 X34.56 Y88.20 M4 I S127.50 F500
>     > G1 X34.56 Y91.15
>     > G1 X35.36 Y91.15
>     > G1 X35.36 Y88.20
>     > G1 X35.36 Y88.20
>     > G0 X35.36 Y86.10
>     > G1 X35.36 Y83.15 M4 I S127.50 F500
>     > G1 X34.56 Y83.15
>     > G1 X34.56 Y86.10
>     > G1 X35.36 Y86.10
>     >
>     > Tak nejak nevim co jeste zkusit. Napada mne:
>     > 1) AVR je na to prilis slabe (vzhledem k tomu, ze tisk na vyzsi
>     > rychlosti posuvu jede OK - nezda se mi to)
>     > 2) Laser (jeho driver) je sunt a trva mu, nez se probere (ale
>     jak to
>     > rozumne overit?)
>     > 3) Jsem idiot a mam neco blbe v konfiguraci (jop, to zni
>     pravdepodobne)
>     >
>     > Takze by se sikla pro zacatek alespon informace, ze to nekomu
>     funguje
>     > (idealne na AVR) Ale uvitam kazdou radu :)
>     > BR,
>     > Marek
>     >
>
>     _______________________________________________
>     HW-list mailing list  -  sponsored by www.HW.cz <http://www.HW.cz>
>     Hw-list na list.hw.cz
>     http://list.hw.cz/mailman/listinfo/hw-list
>
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list



Další informace o konferenci Hw-list