Stappenmotor met encoder synchroniseren

Hoi allemaal,

Ik ben nieuw op dit forum..
Mijn naam is Jeffrey en ben werkzaam in de verspaandende (lees mechanische) industrie.
Ik weet niet of ik dit bericht op de goeie afdeling plaats maar ik gok het er gewoon op. Ik zit met een probleem en ik hoop dat jullie mij ermee kunnen helpen. Mijn programmeer kennis is echt niet noemenswaardig. Het enige wat ik eigenlijk kan is een bestaande sketch her en der een klein beetje aanpassen.

Het gaat om het volgende:

Ik wil graag een verdeelkop maken voor mijn freesbank die wordt aangestuurd door een stappenmotor. Die stappenmotor zal een signaal krijgen van de encoder die aan de spil van de freesbank zit gemonteerd.
In het Engels wordt dit "gear hobbing" genoemd. In het Nederlands bij jullie misschien iets minder bekend heet het "afwikkelfrezen". De frees zelf is in feite een spiraal(oftewel schroefdraadvormige) frees waar snijtanden aan zitten. Elke keer als deze frees 1 volledige rotatie maakt zal het te snijden tandwiel 1"tand" verplaatsen. Voor de goeie orde: stel ik wil een tandwiel frezen van 45 tanden. Dan moet mijn frees zelf dus 45 x volledige omwentelingen hebben gemaakt en het te snijden tandwiel slechts 1. Omdat dit bij elk aantal tanden een variabele overbrengings verhouding is lijkt het me handig als dit via een lcd scherm en een draaiknop te verstellen is. Bijvoorbeeld dus die 45 tanden. Verhouding is dan 45:1 oftewel het aantal te snijden tanden ingeven en bevestigen.

De overbrengings Verhouding tussen de stappenmotor en het te snijden tandwiel is nog niet zeker, maar ik gok op 60:1 (wormwieloverbrenging)

Ik heb een aantal zaken al gekocht:

Arduino due (vanwege zijn snelle proccecor)

Nema 23 met 3nm koppel

Bijbehorende driver (tb6600)

600ppr roterende encoder (a+b + vcc + grd)

Lcd1602 i2c

En wat drukknoppen

Ik was van plan om de stappenmotor driver op hele stappen te laten staan (200).

Ik zal het hieronder even kort samenvatten:

1 rotatie van de frees = 600 encoder pulsen

1 rotatie van het te frezen tandwiel = 200x60= 12000 stappen van de stappenmotor

Het toerental waarop de frees draait zal maximaal 200 toeren per minuut zijn.

Wie kan en wil mij aan een sketch helpen?

Hieronder een YouTube link met hetzelfde principe:

Met vriendelijke groet Jeffrey .

Alle hulp wordt zeer gewaardeerd!

Je hebt een flinke stappenmotor nodig hoor, want er komen best veel krachten op het nieuwe tandwiel te staan.
maar het kan wel, je hebt dus 60*200 stappen te doen is 12000 stappen met 200 stappen/seconde ben je dus 60 seconden bezig om een toer te doen, dat gaat je dus met een simpele motor niet lukken.
tenminste niet zo snel als dat de video is.
maar het kan wel, je hebt een 600 ppr en kje wilt dan bijv 45 tanden.
dat is dus 12000/45 =266,667 pulsen per tand
als je frees dus 600 ppr doet moet je dus 266.67 verder zijn met je stappenmotor.
ofwel voor elke encoder puls moet jij 2.25 en een beetje verder zijn.
ik heb het gewoon uitgerekend, maar in werkelijkheid moet je dat dus met een int uitrekenen want dan kom je precies uit.
maar als je het rustig aan doet gaat het best goed hoor.
ook in nederland bestaat een club die dit doet.
cnczone.nl
leg het daar neer en je krijgt gelijk het goede antwoord.

Bedankt voor je reactie!

Ik ben me ervan bewust dat ik een behoorlijke stappenmotor moet hebben. Echter degene op het filmpje freest een tandwiel van delrin kunstof. Dot vereist een veel hogere snijsnelheid dan de stalen tandwielen die ik ga maken. De snelheid is echt geen probleem.. ook al duurt het 2 uur om 1 tandwiel te frezen is dat zo.. als het maar lukt. Voor wat betreft het koppel zit dat denk ik wel goed.. ik wil namelijk een spelingsvrije wormoverbrenging van 60:1 gaan bouwen. Dus het koppel zal (in theorie) ook met factor 60 omhoog gaan.. goed, stel ik heb een rendement van 50% van blijft er nog een koppel van : 3nm×60=180nm×0.5=90 nm over. En omdat een wormwiel overbrenging zelf remmend is zal hij geen roterende kracht overbrengen op de stappenmotor. Als ik kijk naar een verdeeltafel die hand bediend is dan merk ik wanneer ik een frees van 20mm doorsnede heb die zonder enkele moeite door een massief stuk staal heendraai met een snede diepte van 10mm..

Maar heel erg bedankt voor je reactie! Zoals ik zei zijn alle reacties en tips meer dan welkom!

Het programmeren zelf is alleen niet aan mij besteed. Het mechanische gedeelte is geen enkel probleem voor mij. Ik heb alle machines en gereedschappen tot mijn beschikking om alle onderdelen te maken, dat is overigens ook mijn werk.

Mvg jeff

Kun je dat niet met Mach3, dan hoef je het warm water niet terug uit te vinden.
Je hebt wel een cotroller kaart nodig ,vroeger was dat parallel aangestuurd maar met met de recente versies gaat dat over USB en een voeding.
Op die kaart heb je standaart aansluitingen voor encoders, MDI,Stop,Noodstop, programmeerbare uitgangen ed.
Er zitten ook optocouplers op de ingangen.
Je kunt g-code invoeren via je keyboard en scherm ofwel uploaden (AutoCad etc...)

Dat dat wellicht ook een goeie optie.
Alleen weet ik niet of het lukt omdat ik slechts 1 aangedreven as heb? Ik beschik hier over een conventionele freesbank namelijk dus geen aangestuurde Assen.

Mvg jeff

Ofwel jouw freesmachine ombouwen, ofwel nc X-Y tafel bestellen bij wish als het voor te proberen is.

Ik heb nog wel een kleine x y tafel liggen220x120, die heb ik al omgebouwd naar cnc met stappenmotoren en kogelomloop spindels. Alleen die is te klein om die verdeelkop erop te monteren. Maar zit Net te denken.. kan ik niet gewoon alleen die stappenmotor aansluiten die op de verdeeltafel zit? Enige wat voor mij interessant is is dat de stappenmotor synchroon loopt met de encoder (in de opgegeven verhouding). De rest is onbelangrijk namelijk. Voedingen op de Assen is al mechanisch door de freesbank zelf voorzien.

Mvg jeff

Dat zou kunnen maar denk dat je veel melktanden zal maken als de x-as niet over de controller loopt.
Is wat reken werk aan ,en je hebt ook een set moerfrezen nodig als je verschillende modulo wilt frezen.

Moerfrezen?

Wat bedoel je precies? Heb je het over de afwikkelfrees zelf?

Ja dat zal hier een plaatselijk dialect zijn voor afwikkelfrees.

Oké helder.. praten we idd over hetzelfde.

Het klopt idd dat ik voor elke soort moduul een aparte frees nodig heb.
Maar wil eerst graag even een test opspanning maken voordat ik die verdeelkop zelf ga bouwen.. zit erg veel werk in (draaien frezen boren tappen harden en slijpen) en ik wil eerst zeker weten hoe ik die stappenmotor met de encoder kan synchroniseren voordat ik daadwerkelijk start met het daadwerkelijke bouwen

Mvg jeff

Zoals eerder vermeld,denk dat je je beter concentreert op Mach3.
Ea is daar al klaar gestoomd en er zitten ook al jaren research achter.
Op cnc zone of andere fora zal je daar rapper aan je trekken komen.
Met een van die vorige versies nog over de parrallelpoort kun 4-assen aansturen en ook backlash bijstellen.
Jij wilt de X-as natuurlijk gewoon op voeding laten lopen ,dit vraagt wat rekenwerk .
Toerental zal niet zo een groot probleem zijn denk ik.

Ja ik wil inderdaad de voeding op de x as laten lopen. Echter vergt dit geen rekenwerk omdat de "4e as" in dit geval mijn verdeelkop continu rond draait synchroon aan de afwikkelfrees. En dus ook de encoder. Omdat de frees zelf spiraal vormig is zal hij dus eindeloos rond kunnen draaien en de automatische langsvoeding wat op de freesbank zelf zit die zorgt ervoor dat er heel langzaam maar zeker een zijdelingse verplaatsing wordt gedaan.. je zou hem zelfs nog met de hand kunnen voeden.. het enige wat ik nodig heb dat is dus een sketch die de stappenmotor synchroon aan de frees zelf laat lopen. Als een soort elektronische versnellingsbak zeg maar. Stel tand wiel met 40 tanden dan 40 rotatie van de frees en 1 rotatie van het tandwiel. Meer heb ik eigenlijk niet nodig. Wat jij bedoeld dat is een zogenaamde moduulfrees.. dan heb je 8 soorten schijffrezen. Elk voor een bepaald aantal tanden als bereik zeg maar. Dan heb je inderdaad de 4e as nodig om de beweging van de x-as te synchroniseren met de van de 4e as.. in dit geval is het slechts een overbrengings verhouding. Omdat het tandwiel en de frees slechts met elkaar gelijk hoeven rond te draaien.

Mvg jeff

Mvg jeff

Ja ik wil inderdaad de voeding op de x as laten lopen. Echter vergt dit geen rekenwerk omdat de "4e as" in dit geval mijn verdeelkop continu rond draait synchroon aan de afwikkelfrees. En dus ook de encoder. Omdat de frees zelf spiraal vormig is zal hij dus eindeloos rond kunnen draaien en de automatische langsvoeding wat op de freesbank zelf zit die zorgt ervoor dat er heel langzaam maar zeker een zijdelingse verplaatsing wordt gedaan.. je zou hem zelfs nog met de hand kunnen voeden.. het enige wat ik nodig heb dat is dus een sketch die de stappenmotor synchroon aan de frees zelf laat lopen. Als een soort elektronische versnellingsbak zeg maar. Stel tand wiel met 40 tanden dan 40 rotatie van de frees en 1 rotatie van het tandwiel. Meer heb ik eigenlijk niet nodig. Wat jij bedoeld dat is een zogenaamde moduulfrees.. dan heb je 8 soorten schijffrezen. Elk voor een bepaald aantal tanden als bereik zeg maar. Dan heb je inderdaad de 4e as nodig om de beweging van de x-as te synchroniseren met de van de 4e as.. in dit geval is het slechts een overbrengings verhouding. Omdat het tandwiel en de frees slechts met elkaar gelijk hoeven rond te draaien.

Als je bijvoorbeeld kijkt naar een afwikkelfreesmachine zie je dat het te frezen tandwiel synchroon loopt met de frees zelf.. alleen het aantal tanden is hierbij van belang. Dit wordt normaliter gedaan door hele tandwiel constructies die zorgen dat een tandwiel bijvoorbeeld 1 keer rond draait terwijl de frees zelf al 40 moet maken. (Voor bijvoorbeeld 40 tands)

Mvg jeff

Dit is een vereenvoudigde versie van wat ik nodig heb.

Enige wat ik dan nog wil is een lcd scherm met een knoppie om de overbrengingsverhouding te wijzigen voor een bepaald aantal tanden.

En dan de verhouding tussen de encoder en stappenmotor aanpassen voor het juiste aantal tanden.

Ik vraag het hier omdat ik de c++ taal niet (of nauwelijks) beheers

Mvg jeff

Het vraagt gewoon wat rekenwerk hoeveel pulsen heb je per omwenteling en hoeveel pulsen wil je dat jouw stappenmotor dan maakt.
dan kun je met stepper al een aardig ding maken.
stepper is een stukje library dat in de arduino kan zitten.

Ja oké helder.. het rekenwerk lukt me wel.. probleem is echter dat ik geen flauw benul heb van hoe ik zo'n sketch in elkaar moet knutselen. Zoals ik zei is mijn kennis wat betreft programmeren echt k*t. Ik kan een heel klein beetje een bestaand programma lezen en enigzins wat aanpassen. Maar eigenlijk niet noemenswaardig.

Ik.begrijp dat ik een variabel getal nodig heb (wat dan de het aantal tanden voorsteld) en dat die dan synchroon loopt met de encoder die aan de spindel van de freesbank zit gemonteerd. En daartussen wat rekenwerk wat betreft een overbrengingsverhouding. En nog een lcd scherm en een knopje op het aantal tanden te wijzigen.

Mvg jeff

omdat je weinig programmeer ervaring hebt kijk eens naar scratch, bijv de mblock variamt.
zoek een jongen in de buurt die dat wel kent, dat is programeren met blokjes dus je hoeft geen taal te leren.
er zijn versies die het ge;ijk doen op een arduino, maar die zijn door hun aard erg langzaam, er zijn ook versies waar je de C taal kunt zien.
daar leer je dus snel.

Oke daar kan ik wel.wat mee.. ik zal morgen eens opzoek gaan naar iets dergelijks

Bedankt voor je tip