hugo stoutjesdijk schreef:
Voor mensen die het in de basis eigenlijk wel bedgrijpen ( of zelf zouden kunnen bedenken )
En daar liften wij dan weer mooi op mee.
Maar ik weet niet of ik ooit zover ga komen.
Koudwatervrees Hugo, koudwatervrees.
Als je een USBCNC via een paar stepperdrives aan motoren kunt knopen en je VFD via een PWM->0-10V printje zonder een door een ander gemaakt bedradingsschema te volgen, dan kun je dit ook. Het werkt immers precies hetzelfde.
Standaard-steppersituatie in LinuxCNC:
- We hebben een motion-'printplaatje'. Daar komen voor een standaard freesmachine 3 'joints' uit, 0, 1 en 2 met standaardmapping X=0, Y=1, Z=2. Die 'joints' hebben aansluitingen, waaronder motor-pos-cmd en motor-pos-fb. Juist ja, de gecommandeerde positie en de actuele positie.
- We hebben 3 stepgen-'printplaatjes'. Ook die heeft weer een aansluitingen genaamd pos-cmd en pos-fb. Die knoop je met 'draden' aan de motioncontroller: 'axis.0.motor-pos-cmd => stepgen.0.pos-cmd', etc.
- Uit het stepgen-'printplaatje' komen een step en een dir. Die willen we naar buiten hebben. Verrie iesie: 'stepgen.0.step => parport.0.pin-07-out'
En zo zit de hele boel in elkaar. Probe aansluiten? Leg maar een draadje: 'parport.0.pin-14-in => motion.probe'. Enzovoorts. 't zijn gewoon 'printplaatjes' met verschillende functies die je aan elkaar knoopt, zoals je dat in de echte wereld ook doet. Om te kijken of het doet wat het moet doen gebruik je net zoals in de echte wereld een 'oscilloscoop' (HAL-scope) en 'multimeter' (HAL meter).
Ik zal het stukje HAL-code voor de glaslineaal en stukje G-code wel eens posten. Dan zie je dat het echt niet ingewikkeld is.
Maar loop je nog niet tegen je pinnen begrenzing op, of doe je de steppers al over een ander interface kanaal ( welk?) of heb je gewoon 2 parr poorten?
Ik heb 2 parallelle poorten. Eentje op het moederbord, en een PCI uitbreidingskaartje van 8 euro. Eigenlijk heb ik er zelfs 3 als ik wil, want de 2e parallelle poort op dat uitbreidingskaartje mist enkel het connectortje en 17 weerstandjes van 33 ohm.
Vanwege het tragere robuuste breakoutbord (ULN28xx is niet erg snel) draait dat spul nu op 'maar' 40kHz. Dus sja, boven de 100mm/sec kom ik in een oranje gebied en boven de 200mm/sec kan de PC de glaslineaal niet meer bijhouden. En stappen kan ik 'maar' tot maximaal 40kHz. Ik heb er genoeg aan.
Veel goede fabrieksmachines meten trouwens gewoon met een encoder op de ko-spil, direkt meetsysteem is vaak optioneel wel te leveren.
Als je goeie KO-spindels gebruikt is zo'n encoder op de spil geen slecht plan. Is toch een stuk robuuster dan een glaslineaal lijkt me.
En als je eenmalig die compensatie tabel aanmaakt ( wat ze ook bij glas-linealen doen ) ben je ook redelijk goed bezig.
Ja, ik heb er wel vertrouwen in dat een opstelling met C7 kogelomlopen die met een dubbele moer en voorgespannen vastlager spelingsvrij gemaakt is samen met een compensatietabel een uitstekend resultaat kan bieden. En zo'n glaslineaal is voor hobby-doeleinden nauwkeurig genoeg om als referentie te gebruiken.
Moet er op die nog-te-bouwen frees wel ruimte zijn om fatsoenlijk een glaslineaal te monteren, want uitlijning lineaal<->bewegende meetkop komt stiekum best nauw. Met de rol ducttape kom je er niet, kwam ik achter.
Voor jouw is dit nu om te testen natuurlijk de meest betrouwbare opstelling.
En als je lekkere dunne ko-spindels wilt gebruiken, kun je die torsie beter via een direct meetsysteem controleren.

Sja, iedereen denkt 'als het groter is zal het wel beter zijn', maar ik zie enkel nadelen. De afwijking die van een 16mm kogelomloopje van driekwart meter lang af komt door torsie en in/uitveren is behoorlijk verwaarloosbaar, zeker tijdens nafrezen.
Arie Kabaalstra schreef:
Daarom zijn er dus inderdaad machines met een direct meetsysteem.. mooi dat dit blijkbaar werkt met LinuxCNC
Zoals altijd met Linux: het werkt niet standaard. Je moet wel nog zelf de goeie componentjes aan elkaar knopen en verzinnen wat je maken wil.
De keerzijde van geen klik-klak-klaar: je kunt maken wat je kunt verzinnen. Vind ik zwaarder wegen.
als ik het even goed begrepen hebt.. gebruik je de linealen als direct meetsysteem, en heb je daar een "map" van gemaakt die je gebruikt ter correctie?..
Yup.
En omdat ik 't niet kon laten heb ik nog wat gespeeld met closed-loop correctie van de positie.
Bij een direct meetsysteem gebruik je naar mijn weten de pulsen van de linealen als encoder input, ter controle van de positie van de steppers of servo's?..
Bij mij mag de glaslineaal de positie maximaal 0,2mm 'fijnafregelen'. Is wat liever voor de machine als je de PID-controller instabiel maakt tijdens het spelen. Die 0,2mm komt uit mijn duim; na voorcorrectie met de 'map' is 0,05mm ook wel genoeg.
zou het ook mogelijk zijn om de Encoder ingang van een Driver (servo of hybride stepper) te "voeden" met de impulsen van zo'n lineaal?.. dan heb je al een directe meting.. totaal los van de besturing.. lijkt me een goede oplossing.
Dat werkt alleen als je een heel stijf systeem hebt waarbij je geen hysterese hebt tussen motor-as en glaslineaal. In de praktijk werkt dat niet of niet lang betrouwbaar. Beter is het om de servo of stepper z'n servowerk te laten doen en in een 2e controlelus de correctie voor de glaslineaal uit te voeren.
De belangrijkste wet in de wetenschap: 'hoe minder efficient en hoe meer herrie, hoe leuker het is'