Kars-cnc schreef: ↑11 sep 2022 08:49
Allereerst is het grappig dat aan het eind van jou quote nog staat "eerder het tegendeel". Als je terug kijkt naar mijn bericht dan staat dat er niet.
Ja, dat quoten is gewoon een stuk tekst kopieren. Dat blijft daarna tot in de eeuwigheid staan.
Waar mijn bedenkingen liggen is in de G-code uitvoering. Anders dan losse lineaire segmentjes kun je volgens mij niet sturen naar elke servo.
Kijk ik naar een gewone step/dir aangestuurde servodrive, dan draaien daar in de basis 3 'controllers':
- Een koppel-controller met als input gewenst koppel en als output motorstroom.
- Een hoeksnelheids-controller met als inputs de gewenste hoeksnelheid, eventueel voorkennis van de gewenste acceleratie en actuele hoeksnelheid (via encoder), als output koppel.
- Een positie-controller met als input gewenste positie (via step/dir, een segment via RS485, bla), actuele positie (encoder) en als output hoeksnelheid.
Zou je die servo via digitaal protocol X zoals bijvoorbeeld EtherCAT aansturen, dan zou je de servo de gewenste snelheid, acceleratie en eventueel acceleratieprofiel or meerdere afgeleiden van de snelheid (acceleratie is de 1e afgeleide) sturen. Positiedata komt terug naar de motioncontroller en die sluit de positielussen, want dat is het eerste upstream device dat weet heeft van meerdere slaafjes die synchroon hun ding moeten doen.
Op deze manier heb je in theorie maar 1 commando nodig per G-code lineair- of boogsegment. In de praktijk moet je het vaker doen om kleine correcties door te voeren want zoals altijd doen de uitvoerende instanties net niet helemaal wat jij wil. Maar daarvoor is bij EtherCAT voldoende ruimte met z'n accurate gedistribueerde klok en tot 30kHz update-snelheid. Nouja, je kunt vast iets verzinnen met extreme snelheden en nanometer-precisie waarbij het onvoldoende is, maar dat kun je altijd wel.
Het voelt als schieten met een kanon op een mug waarbij er waarschijnlijk ook probleempjes zullen zijn die tegen je kunnen werken. Ik denk dan aan meer jitter, beperking in maximale data-rate (=step rate) etc.
Bluetooth is ook een fors eind complexer dan een 3,5mm jackplugje en brengt zijn eigen problemen met zich mee, maar het aantal mensen dat perse een jackplugje wil om de koptelefoon aan te sluiten is niet meer zo groot.
Een DC servodrive kan met een twintigtal transistoren, in een AC servodrive staat een 32-bit processor zich suf te rekenen en is de vermogenselektronica fors ingewikkelder. Dat ingewikkelde AC-spul is voor de meeste toepassingen ook een mug doodschieten met een kanon, toch willen maar weinig mensen expliciet een DC-servo.
Enzovoorts.
De belangrijkste wet in de wetenschap: 'hoe minder efficient en hoe meer herrie, hoe leuker het is'