cnc

Is het mogelijk om bij een CNC sturing de positie van de stappenmotors X,Y,Z af te lezen op LCD ( de gcode) via I2c. Is handig als gcode via sd-card wordt ingebracht.

Groeten

Rudy

Die posities moeten worden bijgehouden, de machine moet ten allen tijden weten waar de motoren zijn.
Dus dan kan die machine dat ook best wel communiceren.
Maar dat betekent ook dat jij wel degene moet zijn die die machine programmeert.
Je moet in de code van die machine kunnen komen (en een beetje weten waar je dan mee bezig bent), zodat je die kunt wijzigen en zo de posities van die motoren kunnen doorgeven.

Overigens moet dit ook wel op andere wijze mogelijk zijn.
Want je kunt ook meekijken met de pulsen die naar de motoren gestuurd worden, en de home positie sensoren.
Dat is dan het plan als je niet in de code van de machine kunt komen.
Dan moet je echter wel meer weten over die machine.
Want hoe ver beweegt het ding bij 1 enkele stap, en is dat bij elke as identiek ?
Natuurlijk kun je ook een stap als eenheid aanhouden.
Dan hoef je het niet naar millimeters, centimeters of inches (of whatever) om te rekenen, maar het maakt de weergegeven posities wel wat abstracter.

Ik werk met GBRL als interpreder op de arduino, en universal g code sender op pc. ik vermoed dat g code sender via usb en rx tx verbind naar cnc board. Daarom is er misschien een mogelijkheid om via rx tx of om puls telling via step uitgang? Het is niet dat ik de millimeters moet kunnen aflezen maar bij als er geen beweging is en toch pulsen is er de controle dat er iets mis is.

In GBRL worden stepperdrivers gebruikt, en die houden precies bij waar een motor is. dus je kunt er in de loop gewoon een functie bijzetten die deze naar een display stuurt.

in je tweede heb je het over controle of de stappenmotoren stappen en dat is iets heel anders, dat zul je op moeten lossen met of een encoder op de as, maar dat betekent eigenlijk behoorlijk inbreken in het programma, en ik weet niet of je daar capabel voor bent. GBRL is open source (github) .

of je moet de positie meten van elke as en die vergelijken met de positie zoals de gcode op dat moment.

Beste Paul Het lijkt me moeilijker als ik me voorgesteld had. Als ik je goed begrijp zou ik een manier moeten vinden om de stepperdriver uit te lezen

Je kunt niet naar pulsen kijken via de seriële communicatie, want seriële communicatie bestaat van zichzelf uit pulsen. Die pulsen vertegenwoordigen informatie, maar het zijn niet de pulsen die je naar je motoren stuurt.

Je kunt op heel eenvoudige wijze zien of je motoren worden aangestuurd. Dan zet je een LED (met bijbehorende weerstand uiteraard) parallel over de motor spoel. Eventueel twee van zulke LEDs antiparallel (naast elkaar maar in tegenovergestelde richting), zodat je beide niveaus kan zien. Nog mooier, een tweedraads bi-color LED. Dan kun je aan de kleur zien wat er gebeurt: Rood de ene kant op, groen de andere kant op. En geel als ze elkaar zo snel opvolgen dat je niet meer kan zien of het rood of groen is (het lijkt dan of ze beiden tegelijk oplichten). Op die manier heb je wel informatie, je ziet dat de motoren worden aangestuurd, en in zekere zin ook waarheen er word gestuurd. Maar je ziet niet precies hoe ver er werd gestuurd.

Ik denk dat wat shooter eerder ook al zei, is dat het aansturen van een motor is 1 ding. Het wil niet per se zeggen dat die motor dan ook zal draaien. Als je met zekerheid wil kunnen tellen hoeveel stappen de motor heeft gedraaid, dan zul je naar de as moten kijken, dus bijvoorbeeld met de genoemde encoder.

Overigens, een vaker geziene oorzaak van missende stappen is dat de stappen elkaar te snel opvolgen. De motor heeft dan niet de tijd een stap te zetten, vooraleer de volgende stap gecommandeerd word.

dat gebeurt vaak door te grote verwachtingen, en te zwakke motoren, teveel wegnemen per keer, een botte frees, etc. de eerste stap is rustig aan, vaak naar nulpunt (en dat controleren), goede frees, snelle freesmotor, goed materiaal en zoals je zelf al aan gaf, het is een flinke klus, en tegelijk ook een punt wat vaak misgaat vooral bij beginners, en leerlingen.

Ik zal het dan houden bij die LED's dan heb ik tenminste een visuele controle. Bedank allemaal voor de info.