Runtime de Eding variabelen lezen

Nederlandse CNC controller op basis van de usb poort of Ethernet.

Moderator: Moderators

Plaats reactie
afc
Berichten: 31
Lid geworden op: 02 nov 2013 15:19

Runtime de Eding variabelen lezen

Bericht door afc »

Van een “leerling machinist” aan de kenners van de EdingCNC omgeving.

Mijn oude freesmachine is omgebouwd naar CNC en na enkele tests kom ik voor een probleem.
Het blijkt moeilijk om de optimale snelheden te vinden.
Het zou aardig zijn als m.b.v. een pre-run de optimale snelheid(dus zonder noemenswaardige stappen verlies)bepaalt kan worden. Ook voor het instellen van de backlash compensatie is dit goed te gebruiken.
Op de machine zitten linialen die met een arduino worden uitgelezen.
Ik wil de EdingCNC posities vergelijken met de “echte” posities (bijvoorbeeld 5 tot 10 maal per seconden) en bij een afwijking groter dan een gekozen limiet de machine stilzetten.
Een macro die de Edingposities naar een file schrijft is niet moeilijk en de micro app deze file laten lezen lukt ook wel maar de "tussen-file” maakt het allemaal (te)traag en on-stabiel.
Is het mogelijk om van buiten af, “runtime” ,de Eding variabele te lezen en ,mooier nog, te schrijven?
Een beter idee om hetzelfde te bereiken is natuurlijk ook welkom.
Groeten Anton
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13488
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: Runtime de Eding variabelen lezen

Bericht door Arie Kabaalstra »

Ja,dat kan, maar dan zul je zelf een stukje software moeten schrijven dat met de API van EdingCNC kan praten..
Gebruikersavatar
Breaker
Donateur
Berichten: 1961
Lid geworden op: 26 mei 2015 22:43
Locatie: Nabij Antwerpen
Contacteer:

Re: Runtime de Eding variabelen lezen

Bericht door Breaker »

In de EdingCNC installatie (standaard C:\CNC4.02) staat in de 'cncapi' directory meer informatie. En voorbeelden van een programma zijn in de directory 'Qt_ExampleUI' te vinden.

Heb er een tijdje terug naar gekeken, hier bijvoorbeeld een programmaatje wat de machine stopt als Z onder een gegeven waarde komt:
12363

Dan zoiets nog combineren met een deel wat de waarden van de arduino uitleest.
Geduld is een schone zaak, frezen niet...
afc
Berichten: 31
Lid geworden op: 02 nov 2013 15:19

Re: Runtime de Eding variabelen lezen

Bericht door afc »

Bedankt voor de snelle reacties.

Een vluchtige blik op de api gegevens met daarin de structuur van de software brengt twijfels aan de effecten van
een "extra" runtime actie op de timing van de Edingsoftware.

Na wat nadenken toch een ander pad gevonden. Ik monitor de pulsen naar de stappenmotoren met de arduino (een externe DRO zonder display) en doe de "verloren stappen test" in de Arduino die dan de stop input activeert.
De timing wordt dan bepaalt door de maximale uitlees frequentie van de linialen zodat er geen extra synchronisatie probleem ontstaat. Het zou aardig zijn als de backlash compensatie tijdens een pre-run door de Arduino aan/uit geschakeld kan worden. Zo niet, dan voor iedere pre-run, de backlash compensatie via de setup switchen.

Op deze manier is er geen enkel effect op de Edingsoftware.

Dit is waarschijnlijk al eens eerder door iemand anders bedacht. Gaarne commentaar.

groeten Anton.
keesfrees
Berichten: 3112
Lid geworden op: 08 jan 2008 20:25
Locatie: Grönnen

Re: Runtime de Eding variabelen lezen

Bericht door keesfrees »

afc schreef:Het zou aardig zijn als m.b.v. een pre-run de optimale snelheid(dus zonder noemenswaardige stappen verlies)bepaalt kan worden.
Klinkt interessant, maar ik kan me er nog niet alles bij voorstellen, ben je misschien een mogelijk probleem aan het oplossen wat je in praktijk niet tegen gaat komen, ik ken dat verschijnsel :-)
afc schreef:Ook voor het instellen van de backlash compensatie is dit goed te gebruiken.
De backlash of de speling van het hele systeem ? Die is nl sterk afhankelijk van de belasting, de weerstand die de frees in het materiaal ondervindt dus.
Die omzeil je met de bekende "truuk", eerst ietsje te ruim frezen dan nog een keer er langs met juiste maat.

Je bent zelf ook al op het idee gekomen om de signalen naar de stappen motoren te monitoren, zo ben je helemaal systeem onafhankelijk.

Als je het voor elkaar krijgt om de step en dir signalen goed te verwerken in een arduino (of andere besturing) dan heb ik ook nog wel een paar ideeën.
Daar wil ik graag eens over van gedachten wisselen met je.

btw
Ik kreeg van Bert eens een programmaatje om het eea aan interne signalen te kunnen monitoren :
https://cnczone.nl/viewtopic.php?f=39&t ... 25#p113033
Laatst gewijzigd door keesfrees op 28 apr 2017 15:08, 1 keer totaal gewijzigd.
handig aanhalen (citeren, quoten) : https://cnczone.nl/viewtopic.php?f=37&t=12599
Gebruikersavatar
hugo stoutjesdijk
Donateur
Berichten: 12045
Lid geworden op: 02 mar 2011 17:04
Locatie: elst (u)
Contacteer:

Re: Runtime de Eding variabelen lezen

Bericht door hugo stoutjesdijk »

Volgens mij was linuxcnc meer op jouw wensen afgestemd geweest. (voor het beter hobby werk)
En als het alleen voor het tunen is, is misschien het monteren van een encoder een eerlijker oplossing, dan zit eventuele afwijking door de rest van de machine er niet bij, wat natuurlijk wel weer handig is om te weten in de rest van het traject.
Ik ben voor meer techniek op school, maar dan wel vanaf groep 1 basischool.
Gebruikersavatar
ruudpg
Donateur
Berichten: 1051
Lid geworden op: 19 jul 2011 12:37
Locatie: Spijkenisse
Contacteer:

Re: Runtime de Eding variabelen lezen

Bericht door ruudpg »

afc schreef: Ik wil de EdingCNC posities vergelijken met de “echte” posities (bijvoorbeeld 5 tot 10 maal per seconden) en bij een afwijking groter dan een gekozen limiet de machine stilzetten.
Het constateren van stappenverlies is natuurlijk interessant, DaBit heeft ook een soortgelijk iets gedaan met zijn machine, volgens mij in Linuxcnc, maar de laatste stap zie ik niet zo het nut van... het stil zetten van de machine... en dan?

Als je er toch mee aan de slag gaat lijkt het me een betere oplossing als je het stappenverlies terug kan koppelen naar de besturing zodat deze "realtime" gecorrigeerd wordt en het programma door kan gaan met zijn werk.

Voorbeeld: de X-as krijgt opdracht van 0 naar 100mm te gaan, maar de externe meetlus constateert dat hij bij 98mm is gestopt, als dit halverwege je programma/bewerking gebeurd kan je weer overnieuw beginnen als de machine gestopt wordt, ik zou denken vertel de machine dat hij nog 2mm heeft af te leggen en ga daarna verder met de rest van de bewerking.

Bij een vierkantje uitfrezen kan je het programma rustig stoppen, maar bij een programma van pak hem beet 50.000 regels is het niet leuk als het systeem stop bij regel 45.271...

Leadshine heeft als oplossing hiervoor volgens mij de closed-loop drivers/motoren bedacht, of natuurlijk direct voor servo's gaan met terugkoppeling.
afc
Berichten: 31
Lid geworden op: 02 nov 2013 15:19

Re: Runtime de Eding variabelen lezen

Bericht door afc »

Met encoders op de assen als feedback is het probleem van de gemiste stappen elegant op te lossen. Het hobby budget laat dit echter niet toe. Ik weet trouwens niet hoe EdingCNC met encoders in combinatie met backlash compensatie omgaat of moeten er speciale drivers worden gebruikt die de feedback van de encoders regelen.
Ik ga er van uit dat een reactie tijd van enkele tiende seconden snel genoeg is om ernstige machine/werkstuk schade te voorkomen. Het gaat dus in eerste instantie om een "gemiste stappen beveiliging" en niet om een diagnose tool om de oorzaak van gemiste stappen te achterhalen of deze te voorkomen.
Natuurlijk zijn de goedkopere linialen met een maximale sample frequentie van ca 10 maal per seconden niet geschikt als feedback naar de bewegingssoftware.
Het project is overigens geen spielerei. Tijdens de testfase heb ik in een blok aluminium een pocket van rond 60 mm en 45 mm diep willen frezen. In eerste instantie leek alles goed te gaan maar halverwege liep de frees in de wand van de pocket omdat een van de assen stappen miste. Door snel een noodstop te maken kon freesbreuk en beschadiging van het werkstuk worden voorkomen. Omdat een dergelijk pocket frezen op een lichte machine enkele uren duurt is naast de machine staan om schade te vermijden niet erg leuk.
Natuurlijk kan door langzamer voeden de kans op gemiste stappen worden verminderd maar dan duurt zo'n pocket klusje al gauw een halve dag of meer.
Vaak zal vastlopen worden voorafgegaan door het missen van stappulsen . Als dit snel genoeg wordt gedetecteerd kan een tijdige noodstop of halt erger voorkomen en hoef ik niet langer uren naast de machine te staan . De beveiliging moet permanent actief zijn.
Als het project een succes wordt horen jullie er nog van.
Groeten Anton
keesfrees
Berichten: 3112
Lid geworden op: 08 jan 2008 20:25
Locatie: Grönnen

Re: Runtime de Eding variabelen lezen

Bericht door keesfrees »

hier (even snel) oude onderwerpen over
stappenverlies detecteren

https://cnczone.nl/search.php?keywords= ... mit=Search
handig aanhalen (citeren, quoten) : https://cnczone.nl/viewtopic.php?f=37&t=12599
Gebruikersavatar
Arie Kabaalstra
Donateur
Berichten: 13488
Lid geworden op: 07 feb 2007 18:37
Locatie: Bakhuuz'n
Contacteer:

Re: Runtime de Eding variabelen lezen

Bericht door Arie Kabaalstra »

Het hobby budget laat dit echter niet toe.
het is in elk geval een "one stop shop solution".. en derhalve makkelijker en sneller te bouwen dan een eigen ontwerp detectie.. bovendien.. waarom zou je het überhaupt willen?.. zelf heb ik een Open-loop systeem op mijn machine, zoals zo'n beetje ieder ander..en.. ach.. zolang ik onderdelen die ±0.1 mogen zijn gewoon zonder enige kunstgrepen ±0.05 uit de machine haal (titanium horlogekasten), dan zie ik de noodzaak tot extra investeringen niet..zei het in geld, zei het in tijd..

Ok.. zou ik een nieuwe machine bouwen (ik heb wel ideetjes), dan ga ik ondanks de hogere kosten voor Closed Loop steppers met Encoders.. gewoon om de bedrijfszekerheid, maar da's dan ook omdat ik er mijn boterham mee moet verdienen.. en dan verdien ik die extra kosten wel terug
Gebruikersavatar
DaBit
Donateur
Berichten: 11032
Lid geworden op: 05 dec 2012 13:48
Locatie: Oss

Re: Runtime de Eding variabelen lezen

Bericht door DaBit »

Alles bij elkaar is het aardig plakband plakken waar het niet hoort. Als je een open-loop systeem steppersysteem gebruikt behoor je snelheden en acceleraties zodanig in te stellen dat je bij de zwaarst denkbare belasting geen stappenverlies hebt. Daar heb je geen ingewikkelde systemen voor nodig; als je stappenverlies opmerkt halveer je gewoon de snelheden en als dat een half jaar goed gaat doe je er weer een beetje bij.
Als je het al niet red met de stappenmotoren niet vlotter dan ca. 500rpm, dan moet je dat systeem onder handen nemen.

Het kan gewoon niet op het scherpst van de snede; straks is het winter en de laatste smeerbeurt is alweer even geleden, dan doet je scherpst op de snede instelling het alsnog niet, en na stappenverlies weer perfect verder gaan met de klus is niet handig. In aluminium zie je een paar um afwijking al in het oppervlak.

Verder: je hebt het over 5-10 maal per seconde een update. Dan moet je nog vergelijken en de boel stilzetten. Tegen die tijd heeft mijn frees allang krak gezegd of ik heb een deuk in m'n werkstuk. Los daarvan doet me dat denken dat je van die capacitieve lineaaltjes van HBM gebruikt, en dan ga je zowiezo nog leuke verrassingen tegenkomen. Daar komt incidenteel ook wel eens een positie uit die 25,4mm afwijkt van de juiste, bijvoorbeeld.
De belangrijkste wet in de wetenschap: 'hoe minder efficient en hoe meer herrie, hoe leuker het is'
Gebruikersavatar
hugo stoutjesdijk
Donateur
Berichten: 12045
Lid geworden op: 02 mar 2011 17:04
Locatie: elst (u)
Contacteer:

Re: Runtime de Eding variabelen lezen

Bericht door hugo stoutjesdijk »

DaBit schreef:Daar komt incidenteel ook wel eens een positie uit die 25,4mm afwijkt van de juiste, bijvoorbeeld.
Nou, dat kun je dan toch mooi uitfilteren. :lol:
Ik ben voor meer techniek op school, maar dan wel vanaf groep 1 basischool.
Gebruikersavatar
DaBit
Donateur
Berichten: 11032
Lid geworden op: 05 dec 2012 13:48
Locatie: Oss

Re: Runtime de Eding variabelen lezen

Bericht door DaBit »

Ja, klopt.

Probleem met die dingen is voornamelijk dat die controllertjes die erin zitten maar net doen waar ze op dat moment zin in hebben, of althans de dingen die in die HBM linealen zaten die ik toen gebruikte.
Geen probleem als de uitlezing gewoon op een LCD-schermpje komt, maar in zo'n terugkoppellus is het niet ideaal.
De belangrijkste wet in de wetenschap: 'hoe minder efficient en hoe meer herrie, hoe leuker het is'
benkr
Donateur
Berichten: 7774
Lid geworden op: 16 jun 2012 16:32
Locatie: Valkenswaard

Re: Runtime de Eding variabelen lezen

Bericht door benkr »

Ik heb zo'n HBM ding ook op mijn draaibankje zitten, dat was nog een hele toer om er voor te zorgen dat bij het aanzetten van de TL lamp erboven of het aanzetten van de draaibank motor de uitlezing bleef staan waar die stond.
Ik zit er toch sterk over te denken om de hele handel te gaan vervangen door echte meetlinialen (Mitutoyo). Ik moet wel zeggen dat de dwarsslede geen problemen geeft, maar daar zit dan ook een digitale schuifmaat als meetgever op.
Plaats reactie