Ethersweep, ethernet direct op een NEMA17 stepper
Moderator: Moderators
Ethersweep, ethernet direct op een NEMA17 stepper
Dat is nog eens een leuk projectje:
Met dank aan HackADay voor de tip
Met dank aan HackADay voor de tip
When it fits stop using the hammer.
Re: Ethersweep, ethernet direct op een NEMA17 stepper
Gaaf !
Jammer dat het niet mogelijk is een kant en klaarbprintje te bestellen .
Jammer dat het niet mogelijk is een kant en klaarbprintje te bestellen .
Re: Ethersweep, ethernet direct op een NEMA17 stepper
Het is wel een leuk concept en zeker handig voor allerlei huis tuin en keuken toepassingen. Maar het is niet geschikt voor toepassingen met meerder steppers die nauwkeurig synchroon moeten werken zoals een CNC frees. Het TCP/IP protocol is nu eenmaal verre van real-time.
Re: Ethersweep, ethernet direct op een NEMA17 stepper
Maar hoe werkt EtherCat dan wel real-time?
Assumptions are the mother of all $%^& ups.
Twee keer meten is zeker weten, als je weet wat je meet...
Twee keer meten is zeker weten, als je weet wat je meet...
Re: Ethersweep, ethernet direct op een NEMA17 stepper
Ethercat dan hangen alle drivers in een keten achter elkaar.
Bij initialisatie wordt de throughput tijd en delay gemeten en die wordt meegenomen. Ook is er een vorm van synchronisatie maar ook ethercat heeft zijn beperkingen qua absolute synchroniciteit maar goed genoeg voor frezen
Bij initialisatie wordt de throughput tijd en delay gemeten en die wordt meegenomen. Ook is er een vorm van synchronisatie maar ook ethercat heeft zijn beperkingen qua absolute synchroniciteit maar goed genoeg voor frezen
Re: Ethersweep, ethernet direct op een NEMA17 stepper
Ik ben niet in detail op de hoogte van wat er in de Ethercat standaard zit en wat niet, maar ik weet wel een beetje wat er zoal bedacht is om aansturing via TCP/IP synhroniseerbaar te maken. Daarbij zijn er verschillende niveau's van nauwkeurigheid gedefinieerd. Het begint inderdaad met het meten van de throughput tijd. Omdat in een wat groter netwerk dit heel sterk kan variëren zijn er een aantal randvoorwaarden bedacht zoals speciale netwerk switches die voorrang geven aan de datapakketjes die besturingsinfo bevatten. Hierdoor wordt al een redelijke synchroniciteit bereikt. Maar om het echt nauwkeurig te krijgen moet elke eind-node een real-time clock hebben die exact gelijk loop (binnen nano secondes) met de clock van alle andere eind-nodes. Om die klokken gelijk te krijgen is er een principe bedacht wat ik niet zo direct meer weet maar wat bij initialisatie uitgevoerd moet worden.
Hierna is het gemakkelijk; een commando waarbij meerdere eind-nodes exact tegelijk van start moeten gaan zegt niet "begin nu" maar "begin op tijdstip X". Dat tijdstip X moet dan iets in de toekomst liggen zodat zeker is dat alle betrokken nodes hun datapakketje met deze info op tijd binnen hebben.
Ik ben voorlopig nog niet overtuigd dat Ethercat voordelen heeft als het gaat om de servo's in een CNC machine aan te sturen. Maar het is natuurlijk wel handig in gebruik. Vooral in een industriële omgeving waar vele verschillende zaken centraal moeten worden aangestuurd geeft het een stuk standaardisatie waar leveranciers en gebruikers zich naar kunnen richten zodat het niet één grote warboel wordt.
Re: Ethersweep, ethernet direct op een NEMA17 stepper
Wel bijna kant en klaar, bij JLCPCB. Alleen de componenten die niet in het leverprogramma van LCSC zitten zul je zelf moeten bestukken, en dat zal wel meevallen.
Hij gebruikt UDP, en een broadcast om meerdere motoren tegelijk te bedienen. Opzich is er geen netwerk-technische reden waarom dat niet met <1ms lateny kan draaien.Kars-cnc schreef: ↑09 sep 2022 22:18 Het is wel een leuk concept en zeker handig voor allerlei huis tuin en keuken toepassingen. Maar het is niet geschikt voor toepassingen met meerder steppers die nauwkeurig synchroon moeten werken zoals een CNC frees. Het TCP/IP protocol is nu eenmaal verre van real-time.
3 praktische probleempjes waardoor hij tot 10ms latency meet:
- Wiznet W5500 als Ethernet bridge op de stepperhardware, meh.
- Sturen vanuit een niet-realtime OS (en Python ipv een gecompileerd taaltje zoals C/C++/Rust/etc. zal ook wel niet meehelpen)
- Onbekend gedrag Ethernet-switch met broadcast packets. Niet zelden zit er een broadcast-storm protectie ingebakken die in de weg kan zitten.
Voor die eerste: ESP32/STM32/whatever gebruiken met ingebakken Ethernet-MAC. De tweede: OS gebruiken met een bovengrens aan de latency, bijvoorbeeld een PREEMPT-RT Linux kernel, en een aparte Ethernet-kaart voor het steppernetwerk. De derde: paar switches evalueren, de probleemlozen eruit pikken. Probleem opgelost.
De datastroom word niet centraal ergens opgevangen en vermenigvuldigd naar n devices zoals je met een switch zou doen, maar het passeert als een trein alle stations, en de trein stopt niet. Terwijl de trein langsdendert pakken de devices de informatie die voor hun is uit de wagons, en proppen retourdata er weer in. Omdat die trein op constante snelheid rijd en niet stopt is het ook exact bekend wanneer die waar is.
Nadeel is dat een 'gewone' Ethernet-adapter dat niet kan; dat is trein stoppen, even rustig in- en uitlaaien, en weer verder rijden. Ethercat heeft dus speciale hardware nodig voor de slaves. De master, het station waar de trein weggestuurd word en weer binnen rijd, kan wel reguliere Ethernet-hardware zijn.
Verwar dit overigens niet met AVB/PTP capable netwerkhardware. Hoewel je daar voor hobbygebruik ook best wel wat mee zou moeten kunnen.
Ik wel eigenlijk. Gisteren samen met benkr weer eens een spindelservo aangestuurd met step/dir, pfff, wat een ge-armoei is dat toch.
Met EtherCAT kan gangbare PC hardware master spelen, de informatieuitwisseling is veel inniger dan je met step/dir, 0-10V/whatever kunt bereiken, en je hebt een Ethernet-kabeltje rondlopen in plaats van een pan gekookte spaghetti in je besturingskast.
De belangrijkste wet in de wetenschap: 'hoe minder efficient en hoe meer herrie, hoe leuker het is'
- hugo stoutjesdijk
- Donateur
- Berichten: 12055
- Lid geworden op: 02 mar 2011 17:04
- Locatie: elst (u)
- Contacteer:
Re: Ethersweep, ethernet direct op een NEMA17 stepper
Als je ziet hoeveel problemen sommige mensen hebben met het aansluiten van step/dir signalen, is een RJ45 connector misschien een uitkomst.
Met het accent op misschien.
Ik heb het vermoeden dat EMC technisch het integreren van controllers in de motor en dus alleen een power snoertje en een stuurkabeltje wel veel ellende kan voorkomen.
Ik ben voor meer techniek op school, maar dan wel vanaf groep 1 basischool.
Re: Ethersweep, ethernet direct op een NEMA17 stepper
Plus een stel van limitswitches, plus een stel naar luchtkleppen, toolchangers, mistvloeistofvat-nog-vol sensor, whatever. Bult kabel, en aan het eind van het liedje heeft de controller nog steeds geen enkel idee wat de randapparatuur nou eigenlijk aan het doen is.
Als Leadshine/JMC/huanyang/bla ooit EtherCAT gaat doen en Eding/MachX kan master spelen dan zijn jullie heel dat step/dir en 0-10V gekloot binnen 5 minuten vergeten.
De belangrijkste wet in de wetenschap: 'hoe minder efficient en hoe meer herrie, hoe leuker het is'
- hugo stoutjesdijk
- Donateur
- Berichten: 12055
- Lid geworden op: 02 mar 2011 17:04
- Locatie: elst (u)
- Contacteer:
Re: Ethersweep, ethernet direct op een NEMA17 stepper
En als Leadshine/JMC/huanyang/bla ooit EtherCAT gaat doen en bij elke controller standaard extra 3 ingangen en 3 uitgangen mee leveren voor (limit)switsches en ander gefrutsel wordt het helemaal sjiek.
Ik ben voor meer techniek op school, maar dan wel vanaf groep 1 basischool.
Re: Ethersweep, ethernet direct op een NEMA17 stepper
Op een beetje VFD of servodrive zitten meestal al meer in/uitgangen dan strikt noodzakelijk. Via EtherCAT of Modbus kun je daar bij
De belangrijkste wet in de wetenschap: 'hoe minder efficient en hoe meer herrie, hoe leuker het is'
Re: Ethersweep, ethernet direct op een NEMA17 stepper
Mij lijkt het een zeer interessante techniek, ook al is het wel een beetje ver van mijn bed show.
Ik heb er eens een filmpje van gezien op jijtub waarin het min of meer op dezelfde manier uit werd gelegd zoals Dabit dat hierboven ergens deed.
Mher hier op het forum gaat dit gebruiken voor een retorfit op zijn Bridgeport, dit zijn dan leadshine servo's maar die hebben -voor zover ik weet- maar 1 type beschikbaar.
Ik heb er eens een filmpje van gezien op jijtub waarin het min of meer op dezelfde manier uit werd gelegd zoals Dabit dat hierboven ergens deed.
Mher hier op het forum gaat dit gebruiken voor een retorfit op zijn Bridgeport, dit zijn dan leadshine servo's maar die hebben -voor zover ik weet- maar 1 type beschikbaar.
Volgens mij is dat niet nodig, de limit sluit je gewoon aan op de I/O van de driver en die gooit dit vervolgens op de Ethercat als ik het goed begrepen heb. Het mooie is dan dat je gelijk een hele vracht I/O's ter beschikking hebt omdat je op een freesbank al minimaal 3 drivers hebt waar je ze op aan kan sluiten.