grblHAL / ESP32

grblHAL driver for ESP32
Other
73 stars 43 forks source link

compilazione grblhal/nucleo + esp32 + mksdlc32 v.2.1 #77

Open distebia opened 1 year ago

distebia commented 1 year ago

Salve, sono giorni che cerco di compilare grblhal/nucleo + esp32 + mksdlc32 v.2.1 ma, anche leggendo e rileggendo, non riesco a farlo. qualcuno mi potrebbe aiutare in questa "impresa"? Nello specifico mi serve solo l'homing xy, con possibilità di spostare comunque la Z e di aumentare il parametro DEFAULT_SPINDLE_PWM_MIN_VALUE a un valore che mi permette di avere l'uscita laser al 1% (utilizzando il valore 1000 in lightburn (non 255). Grazie

terjeio commented 1 year ago

Bruk Web Builder for å kompilere?

distebia commented 1 year ago

Salve e grazie per la risposta...ho visto ma trovo la mks dlc32 v.2.0, io ho la v2.1. è che non ne capisco tanto di compilazione...ho seguito la guida si grblhal/esp32 ma ottengo errori. poi non ho capito se partire dal nucleo, aggiungere esp32 e poi mks dlc32 o altro modo. ho editato anche il config.h ma non vengo a capo di homing solo xy e DEFAULT_SPINDLE_PWM_MIN_VALUE

distebia commented 1 year ago

in particolar modo non capisco questo: /! @name $44 - Setting_HomingCycle_1 / ///@{

if !defined DEFAULT_HOMING_CYCLE_0 || defined DOXYGEN

define DEFAULT_HOMING_CYCLE_0 (Z_AXIS_BIT) // REQUIRED: First move Z to clear workspace.

endif

///@}

/! @name $45 - Setting_HomingCycle_2 / ///@{

if !defined DEFAULT_HOMING_CYCLE_1 || defined DOXYGEN

if COREXY

define DEFAULT_HOMING_CYCLE_1 (X_AXIS_BIT) // OPTIONAL: Then move X.

else

define DEFAULT_HOMING_CYCLE_1 (X_AXIS_BIT|Y_AXIS_BIT) // OPTIONAL: Then move X,Y at the same time.

endif

endif

///@}

/! @name $46 - Setting_HomingCycle_3 / ///@{

if !defined DEFAULT_HOMING_CYCLE_2 || defined DOXYGEN

if COREXY

define DEFAULT_HOMING_CYCLE_2 (Y_AXIS_BIT) // OPTIONAL: Then move Y.

else

define DEFAULT_HOMING_CYCLE_2 0 // OPTIONAL: Uncomment and add axes mask to enable

endif

endif

///@}

/! @name $47 - Setting_HomingCycle_4 / ///@{

if (defined A_AXIS && !defined DEFAULT_HOMING_CYCLE_3) || defined DOXYGEN

define DEFAULT_HOMING_CYCLE_3 0 // OPTIONAL: Uncomment and add axes mask to enable

endif

///@}

/! @name $48 - Setting_HomingCycle_5 \ref axismask / ///@{

if (defined B_AXIS && !defined DEFAULT_HOMING_CYCLE_4) || defined DOXYGEN

define DEFAULT_HOMING_CYCLE_4 0 // OPTIONAL: Uncomment and add axes mask to enable

endif

///@}

/! @name $49 - Setting_HomingCycle_6 / ///@{

if (defined C_AXIS && !defined DEFAULT_HOMING_CYCLE_5) || defined DOXYGEN

define DEFAULT_HOMING_CYCLE_5 0 // OPTIONAL: Uncomment and add axes mask to enable

endif

///@}

come dovrei settare per avere soltanto l'homing di x e y contemporaneamente? se possibile anche i comandi $hx, $hy e $hz

distebia commented 1 year ago

Utilizzare Web Builder per compilare?

ma basta solo questo per fare il flash?

terjeio commented 1 year ago

v2.1 = v2.0 for pinout?

come dovrei settare per avere soltanto l'homing di x e y contemporaneamente? se possibile anche i comandi $hx, $hy e $hz

$44=3 $45=0 $22=33

ma basta solo questo per fare il flash?

Yep.

distebia commented 1 year ago

ok, grazie...il firmware è stato caricato ma ho problemi con dei pin che usavo prima e che ora sono per altri usi, tipo gpio4 che usavo per il coolant floor (da spostare su gpio5) per liberare cycle start dal pin4 (che non uso)..(al comando ? ho Pn.S...è CYCLE_START_PIN?). Domani faccio delle prove e le faccio sapere se va bene. non riesco a trovare un wiki che spiega il perchè $44=3 fa solo homing xy e cosa significa $22=33. mi piace conoscere i vari scenari (magari per usi futuri). poi se tutto funziona come dovrebbe sono curioso di provare il grbl cluster con lightburn. grazie e alla prossima.

distebia commented 1 year ago

ho una macchina co2 autocostruita di 1300x1000, ho integrato anche il diodo. oltre ai finecorsa x e y ho montato un induttivo su z. vorrei lasciare l'asse Z senza homing iniziale (non eseguito con $H) ma consentire il $hz. vorrei anche disattivare i limiti soft solo per l'asse z. per mettere a fuoco il laser co2 con lente 1.5" (da ramp test 3.5mm dall'ugello) di solito faccio: $27= (la distanza che mi serve per il fuoco) $HZ $27=(il valore di pull off predefinito per tutti gli assi) non potendo eseguire il HZ l'asse la posso solo scendere, se provo a salire mi dice che supero le dimensioni della macchina. come dovrei impostare tutto questo?

terjeio commented 1 year ago

Nye settinger, se wiki. Hjelp/informasjon er også tilgjengelig for settinger via $$=<setting id>, f.eks $$=22 gir:

    0 - Enable (1)
    1 - Enable single axis commands (2)
    2 - Homing on startup required (4)
    3 - Set machine origin to 0 (8)
    4 - Two switches shares one input pin (16)
    5 - Allow manual (32)
    6 - Override locks (64)
    7 - Keep homed status on reset (128)
Enables homing cycle. Requires limit switches on axes to be automatically homed.
When `Enable single axis commands` is checked, single axis homing can be performed by $H<axis letter> commands.
When `Allow manual` is checked, axes not homed automatically may be homed manually by $H or $H<axis letter> commands.
`Override locks` is for allowing a soft reset to disable `Homing on startup required`.

Du kan slå av soft-limit for Z-aksen ved å sette $132=0. $22=3 er muligens settingen du kan bruke for å "home" Z-aksen med $HZ.

distebia commented 1 year ago

bit0 - enable homing. Only when this bit is set can the other bits be set. 1 bit1 - enable single axis homing commands. 2 bit2 - homing on startup required. bit3 - set machine origin to 0. 8 bit4 - two switches shares one input pin. bit5 - allow manual homing of axes not automatically homed. 32 bit6 - override locks, allow reset to clear homing on startup required alarm. bit7 - keep homed status on reset if possible.

ho fatto 32+8+2+1=43 ma non mi permette di effettuare $hz. ok per $132=0

distebia commented 1 year ago

eccomi, $132=0 ha funzionato, muovo l'asse liberamente sopra e sotto. $HZ non mi riesce, devo mettere bit5 in quanto è un asse non $h automatico (32), ho bisogno di avere x0y0 all'avvio (8), devo abilitare singoli assi, $hx e $hy (2) e abilitare bit0, quindi 43 totale. anche cambiando in $22=3 ottengo che $hz non è abilitato. non so come andare avanti. con $HZ ottengo questo $hz <Home|MPos:581.005,191.001,0.000|FS:0,0> [MSG:] ok se poi lancio una foto a 8000mm/min ottengo questo image cosa devo cambiare?

terjeio commented 1 year ago

Prøv med $22=11 (8+2+1), tillater separat automatisk homing av Z. Bit 5 gjør at hjemmeposisjon settes til Z-posisjonen når $HZ ble sendt.

cosa devo cambiare?

Error 22 = "Feed rate has not yet been set or is undefined." F mangler etter G93 eller G94?

distebia commented 1 year ago

image ho impostato da $22=43 a $22=11, eseguo $hz e ottengo questa immagine e non ho nessun movimento di Z.

"Errore 22 = "La velocità di avanzamento non è stata ancora impostata o non è definita." Fmangler etter G93 o G94?" non lo so dove è l'errore, eseguo una foto a 8000mm/min. certe volte la fa, altre volte (il 90%) mi restituisce questo errore. non so cosa fare

distebia commented 1 year ago

ok $$ $0=10.0 $1=255 $2=0 $3=4 $4=7 $5=0 $6=1 $9=1 $10=509 $11=0.010 $12=0.002 $13=0 $14=6 $15=1 $16=0 $17=0 $18=0 $19=0 $20=1 $21=0 $22=11 $23=3 $24=1000.0 $25=5000.0 $26=250 $27=2.100 $28=0.100 $29=0.0 $30=1000.000 $31=0.000 $32=1 $33=10000.0 $34=0.0 $35=9.0 $36=100.0 $37=0 $39=1 $40=0 $43=1 $44=3 $45=0 $46=0 $62=0 $63=3 $64=0 $65=0 $70=79 $73=0 $74=1 $75=biagio1975 $76=grblHAL_AP $77=grblHALpwd $100=79.977 $101=79.874 $102=640.000 $110=20000.000 $111=20000.000 $112=200.000 $120=4000.000 $121=200.000 $122=50.000 $130=1100.000 $131=890.000 $132=0.000 $310=grblHAL_AP $312=192.168.5.1 $313=192.168.5.1 $314=255.255.255.0 $320=grblHAL $322=192.168.5.1 $323=192.168.5.1 $324=255.255.255.0 $325=23 $326=80 $327=81 $328=21 $330=admin $331=user $341=0 $342=30.0 $343=25.0 $344=200.0 $345=200.0 $346=1 $370=0 $372=0 $384=0 $396=30 $397=0 $398=35 $481=0 ok

questi i miei valori $

se eseguo $# ottengo questo: image

terjeio commented 1 year ago

Beklager, $22=11 og $132=0 går ikke sammen - $132 definerer distansen og den kan ikke være 0. Bruk $22=41, flytt Z-aksen til ønsket hjemmeposisjon og send $HZ.

error: 7 er fra korrupte data i EEPROM (flash), prøv med $RST=# for å nullstille offsets. error 22: zip gcode (de første linjene til og med linjen som feiler) og legg til i en kommentar.

distebia commented 1 year ago

Beklager, $22=11 og $132=0 går ikke sammen - $132 definerer distansen og den kan ikke være 0. Bruk $22=41, flytt Z-aksen til ønsket hjemmeposisjon og send $HZ.

il valore iniziale di $132 era 170. è stato portato a 0 su VS consiglio per permettere l'esclusione dei soft limiti per l'asse Z. quindi imposto $132=170 e $22=41 per eseguire $HZ singolarmente, ma ho sempre i soft limit attivati? se è così potrei fare una macro lightburn con: $132=170 $22=41 $27=2.1 (la distanza di messa a fuoco) $hz $27=1.5 $132=0

error: 7 er fra korrupte data i EEPROM (flash), prøv med $RST=# for å nullstille offsets.

dopo che ho ricevuto questo errore ho riportato a zero la scheda mediante https://www.espressif.com/en/support/download/other-tools ma una versione + vecchia...con la 3.9.5 non funzionava. successivamente ho caricato un salvataggio da Lightburn e aggiustato i parametri $14, $15, invertito la sonda e qualcos'altro ancora. forse fra backup e restore di lightburn è successo qualcosa.

error 22: zip gcode (de første linjene til og med linjen som feiler) og legg til i en kommentar.

per questo problema posso salvare il progetto in .gc e inviare le prime righe stasera quando torno a casa. Grazie

distebia commented 1 year ago

image in questo modo non funziona. image ma funziona con $22=11 e $132=170...finalmente $hz.

distebia commented 1 year ago

image image stesso errore, sia a 8000 che 15000mm/min.

terjeio commented 1 year ago

Ok, ny variant av cluster formatet som jeg ikke har sett før. F blir satt i en egen linje uten clusters i de som jeg har testet med:

; LightBurn 1.2.02 ; GRBL device profile, absolute coords ; Bounds: X20.01 Y50.05 to X179.99 Y59.89 G00 G17 G40 G21 G54 G90 ; GCode clustering enabled (max 16) G4 P1 M4 ; Image @ 40000.02 mm/min, 55% power M9 G0 X20.011Y50.046 ; Layer PorcheFull G91 G1 X30F40000.02S0 G1 X0.96S253.3:253.3:251.2:266.3:264.2:253.3:253.3:272.8:270.7:257.7:262:264.2:262:259.8:249:266.3

Dette betyr at jeg må endre koden til å støtte F når den finnes i en cluster.

distebia commented 1 year ago

ok, grazie per l'aiuto. ritornando al $hz potrei fare una macro in LB in questo modo: $132=170 $22=11 $27=3 (la mia distanza di fuoco) $hz $27=1 (pulloff predefinito per tutti) $132=0 (per avere i soft limit disabilitati per l'asse z)

secondo te funziona oppure no?

terjeio commented 1 year ago

secondo te funziona oppure no?

Prøv?

Laserburn cluster plugin er nå oppdatert til å håndtere formatet med F ord (og eventuelt andre parameter) i clusterlinjer.

distebia commented 1 year ago

oggi proverò sicuramente. circa il plugin LB lo acquisisco generando il firmware da http://svn.io-engineering.com:8080/ ? oppure devo seguire altre strade?

terjeio commented 1 year ago

oggi proverò sicuramente. circa il plugin LB lo acquisisco generando il firmware da http://svn.io-engineering.com:8080/ ? oppure devo seguire altre strade?

Web Builder er oppdatert så kan brukes.

distebia commented 1 year ago

$132=170 $22=11 $27=3 (la mia distanza di fuoco) $hz $27=1 (pulloff predefinito per tutti) $132=0

tutto questo funziona...quello che non funziona è il cluster image

terjeio commented 1 year ago

Cluster virker når jeg tester med en fil jeg har modifisert, her er firmware jeg tester med (generert av Web Builder):

firmware.zip

Jeg har ikke en LightBurn lisens så kan ikke generere gcode selv, kan du zippe en av dine filer som feiler og legge ved en kommentar?

distebia commented 1 year ago

image mio_firmware_gcode.zip questo è con versione lightburn 1.3.01 e firmware (da web build) per mks dlc32 con solo clusterig selezionato.

fra un pò, il tempo di settare la macchina con il tuo firmware, ti rimando il file + errori

distebia commented 1 year ago

image caricando il tuo firmware e usando sempre lo stesso file, precedentemente allegato, ottengo lo stesso errore, ma con valori diversi

terjeio commented 1 year ago

Firmware fungerer fint hos meg med 1.gc, over 420000 linjer så langt:

image

Mulig du må resette flash igjen før programmering?

distebia commented 1 year ago

quindi è il tuo firmware con il mio file e funziona? mi potresti dare i comandi per fare un'installazione pulita? magari usare i programmi giusti da usare? la tua immagine è iosender? ho provato ma non mi trova il controller (connesso su com3)

terjeio commented 1 year ago

quindi è il tuo firmware con il mio file e funziona?

Yep. Men mulig jeg har funnet en årsak, prøv denne versjonen:

firmware(2).zip

mi potresti dare i comandi per fare un'installazione pulita?

Kjør ERASE i ESP32 FLASH DOWNLOAD TOOL før programmering.

image

la tua immagine è iosender?

Yep.

ho provato ma non mi trova il controller (connesso su com3)

Com port viser ikke i denne dialogen?

image

Hvis ikke hvordan ser portnavnet ut i Device Manager;

image

Det var tidligere et problem med en oversatt versjon av Windows (ikke engelsk) som gjorde at porten ikke viste, det kan være noe tilsvarende?

distebia commented 1 year ago

eseguo il flash del firmware con ESP32 FLASH DOWNLOAD TOOL ma la versione 3.6.5, la 3.9.5 non funziona per me, e prima di fare il flash uso sempre erase con la porta com selezionata. circa iosender all'avvio mi informa che manca il file di configurazione e lo crea, scelgo la porta com3 a 115200 (la stessa porta che uso per LB) ma restituisce l'errore "non trovato" o qualcosa del genere. la porta viene vista in gestione dispositivi e anche presente nel menù a discesa all'avvio di iosender. ho scaricato il firmware e lo vado a provare

distebia commented 1 year ago

tutto sembra funzionare, non ho errori...domani farò altri test e mi faccio sentire. Grazie

distebia commented 5 months ago

quindi è il tuo firmware con il mio file e funziona?

Sì. Ma potrei avere una funzione per un anno, prova questa versione:

firmware(2).zip

potrei osare i comandi per fare un'installazione pulita?

Migliore ERASE in ESP32 FLASH DOWNLOAD TOOL per la programmazione.

Immagine

la tua immagine è iosender?

Sì.

ho provato ma non ho trovato il controller (connesso su com3)

La porta com non è visualizzata in questa finestra di dialogo?

Immagine

Se non è necessario utilizzare Portnavnet in Gestione dispositivi;

Immagine

Prima c'era un problema con una versione eccessiva di Windows (non inglese) che non vedeva la porta, potrebbe non essere disponibile?

Mi scuso per aver riaperto questa vecchia discussione ma sono giorni che esco pazzo e non ne vengo a capo. In sostanza stavo programmando un mks dlc32 con processore esp32 e mi succede che se genero il firmware da web build questo non viene caricato mentre se carico quello che mi aveva inviato a settembre tutto funziona perfettamente. Come allora ed anche adesso utilizzo lo strumento esp32 versione 3.6.5 e riesco a caricare senza problemi la vecchia versione del firmware

image

image

Cosa è cambiato da settembre ad oggi che mi impedisce di caricare il firmware scaricato adesso e nessun problema con quello generato a settembre?

distebia commented 6 days ago

image in questo modo non funziona. image ma funziona con $22=11 e $132=170...finalmente $hz.

Hi, I apologize for reopening this discussion but the problem of homing the z-axis arises again, but this time on a new construction and corexy kinematics and firmware of 23/10/2024...mks dlc32 board (esp32) On an old firmware of 29/12/2023, with values ​​$22=11 and $132=0, homing of the Z-axis only works for me by setting (on a Lightburn macro) the following sequence: $132=170 $22=11 $27=5 $hz $27=1 $132=0 and I get homing of Z but the position of x and y are maintained

Now on a new machine, mks, corexy and firmware of 23/10/24, I use the same settings as above, it regularly performs homing but, if I read the position of the machine, it I find it on x0y0 ... basically homing only Z brings the whole machine to zero coordinates. If instead I home as a $H command I find the coordinates at x1y1 (essentially $27=1)... in the old machine however $H gives me the value x0y0

terjeio commented 5 days ago

There is a bug in the corexy code that has been there for a long time that affects homing if force positions to 0. I'll fix that in the next commit.

FYI I have just added a plugin that allows setting different pulloff distances for each axis, and on my todo list for an upcoming settings revision I'll add a setting for specifying which axes soft limits should apply to. This means that you can reduce/get rid of on-the-fly settings changes if you want to.

distebia commented 5 days ago

ok, thanks...I saw the plugin for the pulloff... I need to position the plane at a certain height and the only way to do this from a macro is to put $132=0 in the firmware and run the $hz at the pulloff distance (in the macro)...but what really doesn't work is that if I do all this, for example, at x200y200, after the $hz command I find myself all at x0y0...but I was at the center of the plane.

terjeio commented 4 days ago

Fix committed. I am not sure why you want $132=0 after homing, it is for disabling soft limits for Z right?

distebia commented 4 days ago

Yes

Il gio 21 nov 2024, 18:17 Terje Io @.***> ha scritto:

Fix committed. I am not sure why you want $132=0 after homing, it is for disabling soft limits for Z right?

— Reply to this email directly, view it on GitHub https://github.com/grblHAL/ESP32/issues/77#issuecomment-2491829403, or unsubscribe https://github.com/notifications/unsubscribe-auth/AMR5HGIDEGTHMB4XAFEO3532BYIT3AVCNFSM6AAAAABJLWYG2OVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIOJRHAZDSNBQGM . You are receiving this because you modified the open/close state.Message ID: @.***>

distebia commented 4 days ago

ok, thanks...i saw the plugin for pulloff...i need to position the plane at a certain height and the only way to do it from a macro is to put $132=0 in the firmware and run $hz at the pulloff distance (in the macro)...but what doesn't really work is that if i do all this at, for example, x200y200, after the $hz command i end up at x0y0...but i was in the center of the plane.

basically just homing the Z axis brings me to zero (as coordinates, no movement) also the other axes...if the machine is at x200 and y200 and I do $hx the coordinates are x0y200, then for $hy the coordinates update to x0y0...if instead they are at x200y200 and I do only $hz I find the coordinates at x0y0z0

distebia commented 1 day ago

C'è un bug nel codice corexy che esiste da molto tempo e che influisce sul ritorno se si forzano le posizioni a 0. Lo risolverò nel prossimo commit.

Per vostra informazione, ho appena aggiunto un plugin che consente di impostare diverse distanze di pulloff per ogni asse e nella mia lista di cose da fare per una prossima revisione delle impostazioni aggiungerò un'impostazione per specificare a quali assi devono essere applicati i limiti soft. Ciò significa che potete ridurre/eliminare le modifiche delle impostazioni al volo, se volete.

I tried to compile by activating the plugin (uncommenting #define HOMING_PULLOFF_ENABLE 1 but I get a compilation error

image

if instead I do not activate the plugin, therefore leaving everything as //#define HOMING_PULLOFF_ENABLE 1 the compilation occurs without problems, also testing by loading it into the card

image