Nieuw machientje.. (non CNC)
Moderator: Moderators
- Arie Kabaalstra
- Donateur
- Berichten: 13527
- Lid geworden op: 07 feb 2007 18:37
- Locatie: Bakhuuz'n
- Contacteer:
Re: Nieuw machientje.. (non CNC)
een Guillocheermachine is nog niet zo complex als een Spirograaf.. je hebt met een nokkenschijf gewoon een X verplaatsing per zoveel graden A rotatie.. en daar kun je nog een lollige functie op zetten.. 't nokprofiel zeg maar..
- audiomanics
- Donateur
- Berichten: 5273
- Lid geworden op: 28 feb 2007 09:31
- Locatie: Appelscha
- Contacteer:
Re: Nieuw machientje.. (non CNC)
Ik heb even een paar filmpjes zitten kijken van zo'n machientje.
Nog even kortsluiten:
per wiel heb je een X aantal nokken. Die kunnen sinusvormig over de boogdelen zijn, maar ik kan daar natuurlijk ook meteen een macht inprogrammeren ^2 geeft een puntiger model en ^0,5 geeft een platter modelletje.
Als input krijg je dus:
-het aantal nokken per omwenteling (hele getallen)
-de macht van de sinus vorm (van plat tot puntig, kan ieder (positief?) getal zijn
-de amplitude van de sinus tot de macht hierboven,
-het aantal ringen (hele getallen)
-afstand tussen de ringen (bijv in micrometer, dus 1000 is 1mm)
-hoekverdraaiing tov vorige ring (positief of negatief in graden, bijv 0,75 graden)
-nauwkeurigheid in 1/graad. dus 100 geeft een resolutie van 1/100 graad (langzaam en een enorme datastroom!)
Denk je dat ik zo volledig genoeg ben om er ook nog iets aan te hebben?
Kees
Nog even kortsluiten:
per wiel heb je een X aantal nokken. Die kunnen sinusvormig over de boogdelen zijn, maar ik kan daar natuurlijk ook meteen een macht inprogrammeren ^2 geeft een puntiger model en ^0,5 geeft een platter modelletje.
Als input krijg je dus:
-het aantal nokken per omwenteling (hele getallen)
-de macht van de sinus vorm (van plat tot puntig, kan ieder (positief?) getal zijn
-de amplitude van de sinus tot de macht hierboven,
-het aantal ringen (hele getallen)
-afstand tussen de ringen (bijv in micrometer, dus 1000 is 1mm)
-hoekverdraaiing tov vorige ring (positief of negatief in graden, bijv 0,75 graden)
-nauwkeurigheid in 1/graad. dus 100 geeft een resolutie van 1/100 graad (langzaam en een enorme datastroom!)
Denk je dat ik zo volledig genoeg ben om er ook nog iets aan te hebben?
Kees
<klik>... euh..test... 123.... einde test... uit.<klik>
- Arie Kabaalstra
- Donateur
- Berichten: 13527
- Lid geworden op: 07 feb 2007 18:37
- Locatie: Bakhuuz'n
- Contacteer:
Re: Nieuw machientje.. (non CNC)
Ik heb me er eerlijk gezegd nog niet in verdiept.. maar wat jij schrijft snijdt wel hout..
je kunt inderdaad uitgaan van een Sinus, maar je kunt ook andere "nokvormen" genereren door gewoon eerstegraadsfuncties te gebruiken.. zodat je "scherpere" hoeken krijgt..
je kunt inderdaad uitgaan van een Sinus, maar je kunt ook andere "nokvormen" genereren door gewoon eerstegraadsfuncties te gebruiken.. zodat je "scherpere" hoeken krijgt..
- audiomanics
- Donateur
- Berichten: 5273
- Lid geworden op: 28 feb 2007 09:31
- Locatie: Appelscha
- Contacteer:
Re: Nieuw machientje.. (non CNC)
Nou, ik heb het programmatje klaar, maar door het grote aantal punten loopt de binnenste lus al na 194 in de fout en begint onzin te genereren.. ik heb 't even voor gelegd aan Bert.
Vereenvoudig gaat het hier om (wat er fout gaat, alle tussen liggende code is er uit gehaald)
We wachten op antwoord..
Ik verwacht iets van een stack-probleem en dat variabelen niet goed vrijgegeven worden ofzo..
(op mijn aloude XP met nog USBCNC4.01 stopt het al bij 22 !!)
Kees
Vereenvoudig gaat het hier om (wat er fout gaat, alle tussen liggende code is er uit gehaald)
Code: Selecteer alles
#112 = 0 ; teller 1e lus
WHILE [#112 < 10] ; eerste lus 10 x
#115 = 0 ;teller 2e lus
WHILE [#115<8] ; 2e lus 8x
#116 = 0 ;teller 3e lus
WHILE [#116<600] ;3e lus 600 x
MSG "#112 "#112" #115 "#115" #116 "#116
#116=[#116+1] ; volgende 3e lus
ENDWHILE
#115 = [#115+1] ;volgende 2e lus
ENDWHILE
#112=[#112+1] ; volgende 1e lus
ENDWHILE
M30 ;einde en uit
Ik verwacht iets van een stack-probleem en dat variabelen niet goed vrijgegeven worden ofzo..
(op mijn aloude XP met nog USBCNC4.01 stopt het al bij 22 !!)
Kees
<klik>... euh..test... 123.... einde test... uit.<klik>
- hugo stoutjesdijk
- Donateur
- Berichten: 12053
- Lid geworden op: 02 mar 2011 17:04
- Locatie: elst (u)
- Contacteer:
Re: Nieuw machientje.. (non CNC)
Dan toch maar gewoon een VB, C++, oid programmatje en Gcode genereren. Een bestandje met veel puntjes, daar zijn al die simpele besturingen meestal wel goed in.
Ik ben voor meer techniek op school, maar dan wel vanaf groep 1 basischool.
- audiomanics
- Donateur
- Berichten: 5273
- Lid geworden op: 28 feb 2007 09:31
- Locatie: Appelscha
- Contacteer:
Re: Nieuw machientje.. (non CNC)
't was zeker zondag voor de computer, want nu doet hij het gewoon goed:
Kees
Code: Selecteer alles
#100 = 0 ;X-center
#101 = 0 ;Y-center
#102 = 12 ;aantal nokken
#103 = 5 ;macht
#104 = 15 ;amplitude
#105 = -5 ;verdraaiing
#106 = 50 ;aantal ringen
#107 = 2 ;afstand ringen
#108 = 100 ;grootste hart diameter
#109 = 1 ;nauwkeurigheid
DLGMSG "Patroon" "X-center" 100 "Y-center" 101 "aantal nokken" 102 "macht" 103 "amplitude" 104 "verdraaiing" 105 "aantal ringen" 106 "afstand ringen" 107 "grootste diameter" 108 "nauwkeurigheid" 109
IF [#5398==1] ;OK
;----------- initialisatie --------------
#110 = [360/#102] ;hoek per sinus
#111 = [1/#108] ;stapgrootte in graden
#112 = 0 ; ringen teller
WHILE [#112 < #106] ;aantalringen
;------------schrijf cirkel ----------------
#113 = [#110*#109] ;aantal punten per nok
#114 = [#110/#113] ; hoek per punt
#115 = 0 ;starthoek
WHILE [#115<360] ; nokken lus
#116 = 0
WHILE [#116<#113] ;tussenpunten
#130=[[#116*#114] + [#115] + [#112*#105]] ;punthoek
#140=[sin[#116*#114*#102]]
#141=[#104*[ABS[#140]**#103]]
IF [#140<0] ;kwadraten van teken veranderen
#141= [-#141]
ENDIF
#131=[[#108-#112*#107]+#141] ;Puntradius
#132=[#131*COS[#130]] ;X
#133=[#131*SIN[#130]] ;Y
G0 X[#132+#100]Y[#133+#101] ;maar volgende punt
#116=[#116+1] ; volgende tussenpunt
ENDWHILE
#115 = [#115+#110] ; volgende nok
ENDWHILE
#112=[#112+1] ; volgende ring
ENDWHILE
ENDIF
M30 ;einde en uit
<klik>... euh..test... 123.... einde test... uit.<klik>
- audiomanics
- Donateur
- Berichten: 5273
- Lid geworden op: 28 feb 2007 09:31
- Locatie: Appelscha
- Contacteer:
Re: Nieuw machientje.. (non CNC)
En dan nog even een half uurtje code intikken en dan heb je ook je spirograaf:
Leuke is dat je bij de software-spirograaf ook je pen buiten het kleine tandwiel kan zetten en dat je ook halve of gedeelde tanden kunt hebben (maar dan sluit het mogelijk niet..).. 't maakt het program niets uit..
Kees
Code: Selecteer alles
#100 = 20 ;X-center
#101 = 20 ;Y-center
#102 = 80 ;tanden grote wiel
#103 = 25 ;tanden kleine wiel
#104 = 100 ;pen-hartafstand
#105 = 5 ;aantal keren rond
#106 = 1 ;Binnen / buiten
#107 = 100 ;diameter grote wiel
#108 = 100 ;gereserveerd voor eventuele extra functie
#109 = 0.5 ;nauwkeurigheid 1=1graad 0.1=10 graden 10=0.1 graad
DLGMSG "Patroon" "X-center" 100 "Y-center" 101 "Tanden Groot" 102 "Tanden Klein" 103 "Pen-Hartafst." 104 "cycli" 105 "binnen-1/buiten1" 106 "diameter groot" 107 "gereserveerd" 108 "nauwkeurigheid" 109
IF [#5398==1] ;OK
#110 = [#103*#107/#102] ; diameter kleine wiel
#111 = [[#107+[#106*#110]]/2] ;center cirkel radius D4/2
#112 = [360*#105*[#109]+1] ; aantal stappen
#113 = [1/#109] ;stapgrootte
#114=0 ;stappenteller
G0Z10 ;Safe Z
WHILE [#114 < #112] ;puntenlus
#115 = [#114*#113] ; alpha 1
#116 = [#115*#102/#103] ; alpha 2
#117= [[#111*COS[#115]]+[#104*COS[#116]]] ;Xp
#118= [[#111*SIN[#115]]+[#104*SIN[#116]]] ;Yp
G1X[#117+#100]Y[#118+#101]F2000
G1Z0 F300 ;plotten
#114=[#114+1] ; volgende punt
ENDWHILE
ENDIF
G0Z10 ;safe Z
M30 ;einde en uit
Kees
<klik>... euh..test... 123.... einde test... uit.<klik>
- Arie Kabaalstra
- Donateur
- Berichten: 13527
- Lid geworden op: 07 feb 2007 18:37
- Locatie: Bakhuuz'n
- Contacteer:
Re: Nieuw machientje.. (non CNC)
Kanonne!.. Ik ben gisteren bezig geweest om mijn atelier eens grondig op te ruimen.. en jij zet even een stukje Code neer van heb ik jou daar..
Ik ga er even naar kijken.. voor't zelfde geld doet het CNC wat normaliter nog met nokkenschijven gedaan wordt.. ..
er begint zich een beeld te vormen.. een Spil met Stappenmotor, met Spelingvrije Tandriemoverbrenging.. en een slede met een goede geleiding, en voorgespannen kogelomloopje.. 't hoeft allemaal niet hard te lopen.. :)
Of.. we laten de slede lekker voor wat het is.. en zetten de spil gewoon op een scharnier.. zoals een normale conventionele "rose-engine" of Guillocheermachine ook werkt.. dan is de amplitude en frequentie ook wel te regelen.. heck!.. de Amplitude kun je met een verstelbare arm en een excenter zelfs traploos maken.. !.. mogelijkheden genoeg dus..
Maar ik neem aan dat jouw code uitgaat van een "Draaibank-opstelling met vaste vaste kop..
Ik ga er even naar kijken.. voor't zelfde geld doet het CNC wat normaliter nog met nokkenschijven gedaan wordt.. ..
er begint zich een beeld te vormen.. een Spil met Stappenmotor, met Spelingvrije Tandriemoverbrenging.. en een slede met een goede geleiding, en voorgespannen kogelomloopje.. 't hoeft allemaal niet hard te lopen.. :)
Of.. we laten de slede lekker voor wat het is.. en zetten de spil gewoon op een scharnier.. zoals een normale conventionele "rose-engine" of Guillocheermachine ook werkt.. dan is de amplitude en frequentie ook wel te regelen.. heck!.. de Amplitude kun je met een verstelbare arm en een excenter zelfs traploos maken.. !.. mogelijkheden genoeg dus..
Maar ik neem aan dat jouw code uitgaat van een "Draaibank-opstelling met vaste vaste kop..
- audiomanics
- Donateur
- Berichten: 5273
- Lid geworden op: 28 feb 2007 09:31
- Locatie: Appelscha
- Contacteer:
Re: Nieuw machientje.. (non CNC)
Nee hoor, gewoon mijn eigen portaal- of kolomfreesje..
Om snel een beeld te krijgen kun je het best even in edit de defaultwaarden (#100-#10X bovenaan) aanpassen. Dan wordt het snel op het beeldscherm getekend en hoef je ook niet een eeuwigheid te wachten voor je het plaatje hebt..
Geldt trouwens voor al die programmatjes.. Gewoon ergens neer zetten als .nc en met F4-F2 inladen.. Hoef je echt niet onder je drukknoppen te programmeren..
Wel nog hier en daar aanpassen aan eigen behoefte natuurlijk..(vertalen naar een eventuele A-as ofzo..)
't staat redelijk gedocumenteerd achter de punt-komma's dus daar kom je wel uit hoop ik..
Even toch nog een carbide puntje in de frees gestopt en met stilstaande motor een patroontje "ge-Guillocheerd" in een restje aluminium.. Kwam er ook meteen achter dat de diameter eigenlijk de radius is.. Even aanpassen dus..
Voor een eerste probeerseltje wel aardig... in effe 10 minuten..
Kees
Om snel een beeld te krijgen kun je het best even in edit de defaultwaarden (#100-#10X bovenaan) aanpassen. Dan wordt het snel op het beeldscherm getekend en hoef je ook niet een eeuwigheid te wachten voor je het plaatje hebt..
Geldt trouwens voor al die programmatjes.. Gewoon ergens neer zetten als .nc en met F4-F2 inladen.. Hoef je echt niet onder je drukknoppen te programmeren..
Wel nog hier en daar aanpassen aan eigen behoefte natuurlijk..(vertalen naar een eventuele A-as ofzo..)
't staat redelijk gedocumenteerd achter de punt-komma's dus daar kom je wel uit hoop ik..
Even toch nog een carbide puntje in de frees gestopt en met stilstaande motor een patroontje "ge-Guillocheerd" in een restje aluminium.. Kwam er ook meteen achter dat de diameter eigenlijk de radius is.. Even aanpassen dus..
Voor een eerste probeerseltje wel aardig... in effe 10 minuten..
Kees
<klik>... euh..test... 123.... einde test... uit.<klik>
- Breaker
- Donateur
- Berichten: 1964
- Lid geworden op: 26 mei 2015 22:43
- Locatie: Nabij Antwerpen
- Contacteer:
Re: Nieuw machientje.. (non CNC)
R.E.S.T.E.C.P !
Dat krijg ik met G-klopperij nooit voor elkaar Toch maar eens gaan nadenken over de besturing. 't Is wel een heel mooi voorbeeld van een CNC plotter...
Dat krijg ik met G-klopperij nooit voor elkaar Toch maar eens gaan nadenken over de besturing. 't Is wel een heel mooi voorbeeld van een CNC plotter...
Geduld is een schone zaak, frezen niet...
- Arie Kabaalstra
- Donateur
- Berichten: 13527
- Lid geworden op: 07 feb 2007 18:37
- Locatie: Bakhuuz'n
- Contacteer:
Re: Nieuw machientje.. (non CNC)
de grote uitdaging is nu nog.. Guilloché doe je met een beiteltje.. dus je moet de A-as zo draaien dat de beitel altijd loodrecht op de te snijden lijn staat.. zodat je geen bramen en vervorming krijgt..
Maar da's een kwestie van de Code "op zijn kant zetten"...
Dit is wel een heel mooi patroon!.. ben benieuwd hoe dat op een A as gegraveerd eruit komt te zien.. 't mooie van CNC is.. je kunt spiralen interpoleren, en als je daar nog eens een sinusfunctie opzet.. krijg je patronen die je met een Guillocheermachine van zijn levensdagen niet voor elkaar krijgt..
Maar da's een kwestie van de Code "op zijn kant zetten"...
Dit is wel een heel mooi patroon!.. ben benieuwd hoe dat op een A as gegraveerd eruit komt te zien.. 't mooie van CNC is.. je kunt spiralen interpoleren, en als je daar nog eens een sinusfunctie opzet.. krijg je patronen die je met een Guillocheermachine van zijn levensdagen niet voor elkaar krijgt..
Re: Nieuw machientje.. (non CNC)
Heb je nog antwoord van Bert gekregen op het eerste probleem bij het simpele programma.
Bij mij loopt dat ook fout op een windows 7 machine met 8Gb geheugen.
Ik heb de msg eruit gehaald en er een tellertje voor in de plaats gezet en dan loopt hij alle loopjes keurig af.
Het lijkt dat de msg nog niet volledig geprint is als de volgende al komt en er dan iets fout gaat.
Bij mij loopt dat ook fout op een windows 7 machine met 8Gb geheugen.
Ik heb de msg eruit gehaald en er een tellertje voor in de plaats gezet en dan loopt hij alle loopjes keurig af.
Het lijkt dat de msg nog niet volledig geprint is als de volgende al komt en er dan iets fout gaat.
- audiomanics
- Donateur
- Berichten: 5273
- Lid geworden op: 28 feb 2007 09:31
- Locatie: Appelscha
- Contacteer:
Re: Nieuw machientje.. (non CNC)
Ja, ik had namelijk ook al ontdekt dat als ik MSG verving door LOGMSG (dus een bestand aan maak) het ook keurig verliep.Floppy schreef:Heb je nog antwoord van Bert gekregen op het eerste probleem .
Het schijnt dat door de hoge stroom gegevens de GUI op een lager plan (denk lagere prioriteit) gezet wordt, zo dat alle rekenkracht naar het proces gaat ipv dat "voor het proces-nutteloze" beeldscherm..
Eigenlijk niets loos dus... werd gewoon om de tuin geleid..
Kees
<klik>... euh..test... 123.... einde test... uit.<klik>
- audiomanics
- Donateur
- Berichten: 5273
- Lid geworden op: 28 feb 2007 09:31
- Locatie: Appelscha
- Contacteer:
Re: Nieuw machientje.. (non CNC)
Hier dan de code die op de A-as zou moeten werken, compleet met resetroutines etc.
Hier is de X de richting haaks op het materiaal waarbij X+ in het materiaal is en X- van het materiaal af.
De Z is de afstand tot het centrum.. Als dit Y moet worden, dan gewoon alle Z vervangen door Y.. Kom je wel uit, gok ik..
Anyway:
Kees
Hier is de X de richting haaks op het materiaal waarbij X+ in het materiaal is en X- van het materiaal af.
De Z is de afstand tot het centrum.. Als dit Y moet worden, dan gewoon alle Z vervangen door Y.. Kom je wel uit, gok ik..
Anyway:
Code: Selecteer alles
#100 = 0 ;X-center
#101 = 0 ;Y-center
#102 = 6 ;aantal nokken
#103 = 5 ;macht
#104 = 15 ;amplitude
#105 = 5 ;verdraaiing
#106 = 20 ;aantal ringen
#107 = 5 ;afstand ringen
#108 = 100 ;grootste hart radius
#109 = 1 ;nauwkeurigheid
DLGMSG "Patroon" "X-center" 100 "Y-center" 101 "aantal nokken" 102 "macht"103"amplitude"104 "verdraaiing" 105 "aantal ringen" 106 "afstand ringen" 107"grootste radius" 108 "nauwkeurigheid" 109
IF [#5398==1] ;OK
;----------- initialisatie --------------
G0 X-10 ; X naar saveX (is dit negatief op een draaibank?)
#110 = [360/#102] ;hoek per sinus
#112 = 0 ;ringen teller
WHILE [#112 < #106] ;aantalringen
;------------schrijf cirkel ----------------
#113 = [#110*#109] ;aantal punten per nok
#114 = [#110/#113] ; hoek per punt
#115 = 0 ;starthoek
WHILE [#115<360] ; nokken lus
#116 = 0
WHILE [#116<[#113+1]] ;tussenpunten
#129=[[#116*#114] + [#115] + [#112*#105]] ;punthoek
#130=[[#116*#114] + [#115] + [#112*#105]] ;punthoek
#140=[sin[#116*#114*#102]]
#141=[#104*[ABS[#140]**#103]]
IF [#140<0] ;kwadraten van teken veranderen
#141= [-#141]
ENDIF
#131=[[#108-#112*#107]+#141] ;Puntradius
;--------------- Afbeelding in XY vlak---------------
; #132=[#131*COS[#130]] ;X
; #133=[#131*SIN[#130]] ;Y
; G0 X[#132+#100]Y[#133+#101] ;naar volgende punt
;--------------- Afbeelding in X als functie van A
G1 Z#131A#130F1000
G1 X0.5 ; X naar puntradius, A naar punt hoek en X in materiaal
#116=[#116+1] ; volgende tussenpunt
ENDWHILE
#115 = [#115+#110] ; volgende nok
ENDWHILE
G0 X-10 ; X naar saveX (is dit negatief op een draaibank?)
G92 A[#130-360]
#112=[#112+1] ; volgende ring
ENDWHILE
ENDIF
RESETMODULO A
M30 ;einde en uit
<klik>... euh..test... 123.... einde test... uit.<klik>