CNC begrundanden

Robot, CNC, Pneumatik, Hydraulik, mm
malman
Inlägg: 811
Blev medlem: 13 februari 2006, 01:17:03
Ort: Arboga

Re: CNC begrundanden

Inlägg av malman »

Beställdes kulskruvar och dylik mtrl igår….

Så nu borde man börja fräsa motorhus o lagerbockar….

Men snöade idag in på encoder interfacen igen….
( gillar iden med linjärskalor på axlarna för att se vad mekaniken håller på med efter servona)

Om man tittar på en NUCLEO-H753ZI (STM32-H753) så har den 4st 32bit counters….
Utv kortet kostar ~250+moms…

Har ett par microchip evm moduler på ingång… EVB-LAN9252-SPI, tillsammans med ovanstående kanske man skulle kunna plita ihop något lämpligt…. 4kanaligt…
(Ja jag är slö och bygger på moduler istället för att rita egna highspeed pcb’er… så slipper jag debugga dom delarna… ;)
hawkan
Inlägg: 3842
Blev medlem: 14 augusti 2011, 10:27:40

Re: CNC begrundanden

Inlägg av hawkan »

Smidigt sätt att få ihop en EtherCAT slave, med moduler. Tur jag inte tänkte i de banorna.
Det kan dock vara bättre att undersöka om du kan koppla enkodrarna till servo-drivarna.
Saken är att informationen om positionen från enkodrarna eller ja från alla EtherCAT-slavar
är fördröjd med två cykler innan de når in i linuxcnc. Det har inget med egna slavar
eller klantig programmering att göra. Utan det är så kedjan med information blir, mellan
två cykliska operationer som kommunicerar dubbelriktat en gång per cykel.

Normalt kör man servona i CSP-läget, och ser till att tuna de så bra man kan.
Positions-feedback används bara för att se till så det inte spårar ur fullständigt
och i så fall stanna.
malman
Inlägg: 811
Blev medlem: 13 februari 2006, 01:17:03
Ort: Arboga

Re: CNC begrundanden

Inlägg av malman »

Med dessa servo drivers var det ej möjligt… de som hade dessa möjligheter kostade lika mycket som mina 3 motorer o servondrivers ihop… (dvs bara en driver)
( encoder ingångarna på dessa lichuan drivers är något av otaliga seriella format… till vilken std linjär encoder quadratur ej passar direkt )

Jaja vi får se vad det blir.. ;)
malman
Inlägg: 811
Blev medlem: 13 februari 2006, 01:17:03
Ort: Arboga

Re: CNC begrundanden

Inlägg av malman »

Om man vågar tro på vad perplexity hallucinerar ihop, så hävdar den att lcnc klarar av att hanterar denna typ av delayer.
LinuxCNC applies feedforward + lookahead (up to 10 cycles) to preempt feedback delays, keeping contour errors low even at 1kHz servo rates.
hawkan
Inlägg: 3842
Blev medlem: 14 augusti 2011, 10:27:40

Re: CNC begrundanden

Inlägg av hawkan »

Det var lustigt, inget jag vet något om. Finns det källa man kan kolla?

Normalt så är detta med fördröjning av feedback inget problem.
Men man ska undvika velocity loop som man brukar göra med analoga servon.
Istället använder man Cyclic Synchronous Position mode där linuxcnc skickar ny position
varje servocykel typ 1 kHz och så får servot lösa det. Därav bra tunat.
Det finns de som kör snabbare 2 och 4 kHz. Kommer in i annan problematik kring
realtid och linux.
malman
Inlägg: 811
Blev medlem: 13 februari 2006, 01:17:03
Ort: Arboga

Re: CNC begrundanden

Inlägg av malman »

Tchadu… blev inte klokare av att följa de länkar perplexity hänvisade till…. Ingen av länkarna pratar om lcnc öht…
Undrar hur den kom fram till detta…..
Så här svarade den på min flummiga fråga:

In lcnc when running position feedback from linear scales connected through a ethercat encoder interface, is the two cycle delay an issue?

No, the two-cycle delay is typically not a significant issue in LinuxCNC with EtherCAT linear scale feedback.
https://drives.novantamotion.com/kb/lat ... rvo-drives


Why It's Manageable
LinuxCNC's EtherCAT master (via IgH EtherCAT Master or SOEM) compensates for EtherCAT's inherent 2-frame latency (~2x cycle time) through Distributed Clocks (DC) sync and proper PDO timing configuration.
https://www.lenze.com/en-de/application ... e/295243/1
https://infosys.beckhoff.com/content/10 ... 18347.html

At 1ms cycle: Total feedback delay = ~2ms (acceptable for most motion control).

Scales report position via DC-synced sampling (not frame-triggered), minimizing jitter to <1µs.
https://infosys.beckhoff.com/content/10 ... 18347.html
https://www.ethercat.org/en/technology.html

LinuxCNC EtherCAT Config
In your linuxcnc/ethercat.conf or HAL:

text
# PDO mapping: position feedback in SM2 (process data)
# DC sync: align scale sampling to master clock
NETMASTER 0 {
...
DC_SO 1000 # Sync shift offset (µs)
}
LinuxCNC applies feedforward + lookahead (up to 10 cycles) to preempt feedback delays, keeping contour errors low even at 1kHz servo rates.
https://www.lenze.com/de-de/application ... l/280013/1

When It Becomes Problematic
Scenario Delay Impact
High-speed contouring (>10m/s, accel >5g) Noticeable following error
1ms cycle + many nodes (>20 slaves) Propagation adds ~100ns/node
No DC sync Jitter >10µs ruins velocity calc
Practical Thresholds
<1ms cycle: Negligible (feedsync scales like Celera M-6000 work great).

2ms cycle: Fine for general CNC; tune PID gains down 20%.
https://www.lenze.com/en-de/application ... e/295243/1

4ms+ cycle: Only for low-bandwidth axes (Z, A).

For your SOES/LAN9252 + NUCLEO-H753ZI setup: Use 500µs-1ms cycles with DC sync. LinuxCNC's ethercat_dc component handles the 2-cycle offset transparently—your linear scales will track smoothly for CiA402 CSP mode.
https://drives.novantamotion.com/kb/lat ... rvo-drives



Såå njaee… var kanske trots allt halucination….. om nu inte distribuerad klocka (DC-sync) hjälper till att lösa detta åt en…
Teoretiskt kan man ju få servots position och encoder position avlästa samtidigt med hjälp av dc sync, men hur sen lcnc hanterar detta i sin reglering med någon cykels (2) försening är ju fortfarande den springande punkten
Skriv svar