Machsupport Forum
General CNC Chat => Share Your GCode => Topic started by: JungleStreetRecords on March 30, 2011, 12:12:42 AM
-
So, you have your drill set up and am pretty bored watching the same program over and over again.
Here's something new for you so you can cut your own grooves into vinyl.
Just put your turntable inside your router and give it a whirl.
operating range: X0 - X-6.601, Z0 - Z-0.500 no Y axis.
G1x-2F10.000
G1z-0.250F10.000
G1z-0.450F5.000
G1z-0.500F0.500
G1x-6.600F0.300
G1x-6.601F0.010
G1z-0.475F0.500
G1z0.000x0.000F10
M30
-
Warning, If you cut a groove with a drill bit, do not play the record back or you might pop the tip off your stylus.
Offset on X is 2", so your tool will be 2" to the right or left of the record depending on your setup.
Also, there's no lead-in/lead-out so you can actually preserve that waisted space for recording.
-
Now here's a thought.....
If you used circular interpolation in your GCode us mortals wouldn't need the turntable ;)
Tweakie.
-
Now theres a nice challenge! The spacing is about .005" per rev. start with 12" and keep subtracting .005" per revolution.
I'm sure it could be done but it would be demanding on the motors, and you'd need a A for rotating the cutter.
-
Hi JungleStreetRecords,
Well I gave your GCode a try, had to make a couple of modifications but it did not turn out all that well and I am a bit disappointed really.
Not only does it sound like a dragon snoring, it isn't even in stereo ! ;D ;D
Tweakie.
-
Thats a nice little groove you cut. I preprogrammed what I thought might work once I put my railing and lead screws on. I'll be using a #10-32 lead screw. Pretty small, high tpi for accuracy. I like your laser projects too. I'm wanting to do something with a fiber optic blue laser diode burner.
-
I think the frequency response of your cutting head is going to be your major problem, trying to get the mass small enough and avoiding resonance within the audio band (assuming you are going to record in 'real time') whilst still being able to get enough power into the coils to actually cut the vinyl is a finely balanced equation. This problem eluded the early record manufacturers for many years but technology moves on and I really do hope you succeed with this project. There are many extremely clever members on this forum who are only too willing to help and share their knowledge so don't be too proud to ask, just keep at it and you will win. ;)
I have never tried a blue laser so I would be most interested to see your results as and when.
Tweakie.
-
Yeah! My threaded rod came in today! I tested it out running a nut down it, seems very good. Its a meter long, so will be cutting it down to size for my lathe in a bit.
I've done tons of research on record cutters, and there isn't much out there so much of it is guess work. Though I have been playing around with my Neo magnets and electromagnets. I think I can do it after spending a solid month brainstorming on it. The stylus I'll be using will be 1 mil and that will be added last so I don't end up breaking it.
First thing after the railing goes on would be testing my motors to see if the programming was headed in the right direction. I'll keep everyone updated on the progress. Im still very excited to get it up and running.
-
I made something much like this a couple of weeks ago, here is some example code for MatLab or (FreeMat) that generates a sine wave with selectable amplitude and frequency as gcode.
It's a work in progress, I haven't had the time to try i t all out yet!
I used a spring loaded diamond engraver to do the cutting and old vinyl records, anodized aluminium and PCB-material for the actual records.
R0 = 84; % Start radius
dR = -0.5; % Radius step per revolution
R1 = 55; % Stop radius
N = (R1-R0)/dR; % Number of tracks
rpm = 45; % target rotation speed, rotations per minute
rps = rpm/60; % rotations per second
f_sample = 1378; % sampling frequency Hz
dt = 1/f_sample; % delta time between samples
t = (0:dt:(N/rps))'; % time vector from start to end
R = R0 + dR*rps*t; % Radius as a function of time t
fi = 2*pi*rps*t; % Angle as a function of time t
X = R.*cos(fi); % X coordinate as a function of angle and radius
Y = R.*sin(fi); % Y coordinate as a function of angle and radius
Z_max = 0; % antar att alla mÂtt ‰r i mm
Z_min = -0.5;
amplitud = Z_max - Z_min;
offset = (Z_max + Z_min)/2;
Z = (amplitud/2).*sin(2*pi*500*t)+offset; % ny amplitud blir den ˆnskade delat p 2, den fˆr sinus vanliga amplituden
plot3(X,Y,Z);
axis equal
fid = fopen('test5 sjua.txt', 'wt');
fprintf(fid, 'G01 X%0.3f Y%0.3f Z%0.3f\n', [X Y Z]');
fclose(fid);
Here is some untested routines to insert a wave file into the code:
(sorry, comments in Swedish at the moment)
clear
clc
[Z,fs] = wavread('1'); %H‰r l‰ses wav-filen 1.wav in..
Z=Z-max(Z); %alla z-v‰rden flyttas ner under nollan.
RPM = 33; %varvtalet p skivan d den spelas upp.
R0 = 30; %skivans ytterradie
dr = 0.05; %avstÂnd mellan varven
p = .1; %skalning av z
t = [1/fs:1/fs:size(Z,1)/fs]'; %tidsvektor som bet‰mms av samplingsfrekvens och l‰ngd p ljudspÂr
Vt = t*(RPM/60)*2*pi; %Vinkel som funktion av tiden
Rt = R0-(dr*t*(RPM/60)); %radie som funktion av tiden
R= min(Rt); %innre radien
%X=Rt.*cos(Vt); %Freemat: radie och vinkel ˆvers‰tts till X-koordinat.
%Y=Rt.*sin(Vt); %Freemat: radie och vinkel ˆvers‰tts till Y-koordinat.
[X,Y]=pol2cart(Vt,Rt); %Matlab: pol2cart ‰r en funktion i matlab som gˆr det samma som de tv raderna ˆver.
Z = Z*p; %Skalningen av z
%plot3(X,Y,Z);
%fid = fopen('test.txt', 'wt');
%fprintf(fid, 'G01 X%0.3f Y%0.3f Z%0.3f\n', [X Y Z]');
%fclose(fid);