kachurovskiy / megaels

Metal lathe electronic lead screw project built on top of Russian-speaking DigitalFeed ELS system by Oleg A. and contributors from ChipMaker.ru
47 stars 19 forks source link

Table HTML #8

Closed Dididu12 closed 1 year ago

Dididu12 commented 2 years ago

hello to all I have a small problem with the cone option for example when I want to make a 45 degree cone it is not 45 degrees however the cross carriage moves well 50 m minutes as well as the z axis everything is well entered in the code as it should be my screw of the crossed axis is 1 mm the screw of the z axis is 2 mm the cross axis driver is set to 400 the z axis driver is set to 800 I have a gear ratio on the cross axis of 3:1. I find that on the automatic threading mode it takes form big passes

Again sorry for the translation if it is not good I do with Google 😉 thank you

kachurovskiy commented 2 years ago

Dilan, if it's not 45 degrees - what is the resulting cone angle exactly? What is the deviation for other cone angles e.g. for 30 degrees?

Also, please post your Digital_Feed_7e2.ino as a gist so that we could take a look at the code - https://gist.github.com/

Thank you.

Dididu12 commented 2 years ago

hello Maxime I checked the angle it is 20 degrees instead of 45 degrees so indeed it is not good

https://gist.github.com/Dididu12/6d27bc34b5af3b8faead01b2d5c6ad23

kachurovskiy commented 2 years ago

Dilan, looks like you need to update the tables in your code as per tables.html

image

Here are the table values I got generated for your parameters:

const cone_info_type Cone_Info[] = {
  {  0, 6600, "45dg"},
  { 25, 3598, " KM0"}, // 1:19.212
  { 26, 4620, " KM1"}, // 1:20.047
  { 26, 4264, " KM2"}, // 1:20.02
  { 26, 2970, " KM3"}, // 1:19.922
  { 25, 4153, " KM4"}, // 1:19.254
  { 25,  826, " KM5"}, // 1:19.002
  { 25, 3176, " KM6"}, // 1:19.18
  {  5, 2800, " 1:4"}, // 1:4
  {  6, 6000, " 1:5"}, // 1:5
  {  9, 2400, " 1:7"}, // 1:7
  { 13, 2000, "1:10"}, // 1:10
  { 21, 1200, "1:16"}, // 1:16
  { 26, 4000, "1:20"}, // 1:20
  { 31, 6800, "1:24"}, // 1:24
  { 39, 6000, "1:30"}, // 1:30
  { 66,    0, "1:50"}, // 1:50
  { 12,  686, "7:64"}, // 7:64
  {  4, 6961, " 8dg"},
  {  3, 7430, "10dg"},
  {  2, 4632, "15dg"},
  {  1, 1432, "30dg"},
};

and

const thread_info_type Thread_Info[] = {
  { 12,    0,   3, 9600, "0.25mm", 0.250, 4, " 750rpm"},
  { 10,    0,   3, 3000, "0.30mm", 0.300, 4, " 750rpm"},
  {  8, 5714,   2, 8286, "0.35mm", 0.350, 4, " 750rpm"},
  {  7, 5000,   2, 4750, "0.40mm", 0.400, 4, " 750rpm"},
  {  6,    0,   1, 9800, "0.50mm", 0.500, 4, " 750rpm"},
  {  5,    0,   1, 6500, "0.60mm", 0.600, 4, " 750rpm"},
  {  4, 2857,   1, 4143, "0.70mm", 0.700, 4, " 750rpm"},
  {  4,    0,   1, 3200, "0.75mm", 0.750, 5, " 750rpm"},
  {  3, 7500,   1, 2375, "0.80mm", 0.800, 5, " 700rpm"},
  {  3,    0,   0, 9900, "1.00mm", 1.000, 6, " 560rpm"},
  {  2, 4000,   0, 7920, "1.25mm", 1.250, 7, " 460rpm"},
  {  2,    0,   0, 6600, "1.50mm", 1.500, 7, " 380rpm"},
  {  1, 7143,   0, 5657, "1.75mm", 1.750, 8, " 320rpm"},
  {  1, 5000,   0, 4950, "2.00mm", 2.000, 9, " 280rpm"},
  {  1, 2000,   0, 3960, "2.50mm", 2.500, 11, " 220rpm"},
  {  1,    0,   0, 3300, "3.00mm", 3.000, 15, " 190rpm"},
  {  0, 7500,   0, 2475, "4.00mm", 4.000, 22, " 140rpm"},

  {  9, 4488,   3, 1181, "80tpi ", 0.318, 4, " 750rpm"},
  {  8, 5039,   2, 8063, "72tpi ", 0.353, 4, " 750rpm"},
  {  7, 5591,   2, 4945, "64tpi ", 0.397, 4, " 750rpm"},
  {  7,  866,   2, 3386, "60tpi ", 0.423, 4, " 750rpm"},
  {  6, 6142,   2, 1827, "56tpi ", 0.454, 4, " 750rpm"},
  {  5, 6693,   1, 8709, "48tpi ", 0.529, 4, " 750rpm"},
  {  5, 1969,   1, 7150, "44tpi ", 0.577, 4, " 750rpm"},
  {  4, 7244,   1, 5591, "40tpi ", 0.635, 4, " 750rpm"},
  {  4, 2520,   1, 4031, "36tpi ", 0.706, 5, " 750rpm"},
  {  3, 7795,   1, 2472, "32tpi ", 0.794, 5, " 710rpm"},
  {  3, 3071,   1,  913, "28tpi ", 0.907, 5, " 650rpm"},
  {  3, 1890,   1,  524, "27tpi ", 0.941, 5, " 600rpm"},
  {  3,  709,   1,  134, "26tpi ", 0.977, 6, " 570rpm"},
  {  2, 8346,   0, 9354, "24tpi ", 1.058, 6, " 500rpm"},
  {  2, 5984,   0, 8575, "22tpi ", 1.155, 6, " 450rpm"},
  {  2, 3622,   0, 7795, "20tpi ", 1.270, 7, " 440rpm"},
  {  2, 2441,   0, 7406, "19tpi ", 1.337, 7, " 420rpm"},
  {  2, 1260,   0, 7016, "18tpi ", 1.411, 7, " 380rpm"},
  {  1, 8898,   0, 6236, "16tpi ", 1.587, 8, " 350rpm"},
  {  1, 6535,   0, 5457, "14tpi ", 1.814, 9, " 320rpm"},
  {  1, 4173,   0, 4677, "12tpi ", 2.117, 10, " 270rpm"},
  {  1, 1811,   0, 3898, "10tpi ", 2.540, 11, " 220rpm"},
  {  1,  630,   0, 3508, " 9tpi ", 2.822, 14, " 190rpm"},
  {  0, 9449,   0, 3118, " 8tpi ", 3.175, 16, " 170rpm"},
  {  0, 8268,   0, 2728, " 7tpi ", 3.629, 19, " 150rpm"},
  {  0, 7087,   0, 2339, " 6tpi ", 4.233, 24, " 140rpm"},
};
Dididu12 commented 2 years ago

THANK YOU VERY MUCH I ENTER THE PARAMETERS AND I TELL YOU IF IT CORRESPOND!!!

Dididu12 commented 2 years ago

well I have just done the test I am at 35° for 45° on the arduino there is 10° difference I do not know why

kachurovskiy commented 2 years ago

Dilan, can you please post another gist with your current Digital_Feed_7e2.ino? https://gist.github.com/ - thank you.

Dididu12 commented 2 years ago

https://gist.github.com/Dididu12/c48915304ff0e5e1392b54baaea7925d

kachurovskiy commented 2 years ago

Dilan, most likely there's a problem with cross-slide lead screw settings e.g. you've specified it as having 1mm pitch but it's actually 1.25mm. Try using Feed mm/min at 50 and see if your cross-slide actually moves 50 mm within 60 seconds?

Dididu12 commented 2 years ago

16490170339578579505793482809574

Dididu12 commented 2 years ago

Screenshot_20220403-222545_Clock

Dididu12 commented 2 years ago

I just did the 50mm/minute test on the stopwatch set to 1min so it's 57 seconds for 50mm/min 3 seconds away

kachurovskiy commented 2 years ago

Here are the values I'm setting in tables.html based on your hardware parameters:

image

I'm looking at the tables you posted in https://gist.github.com/Dididu12/c48915304ff0e5e1392b54baaea7925d and they don't match what I see in http://kachurovskiy.com/megaels/Digital_Feed_7e2/tables.html

You need to paste const cone_info_type Cone_Info[] = ... and const thread_info_type Thread_Info[] = ... code blobs from tables.html into your code. Did you do that? Thank you.

Dididu12 commented 2 years ago

yes i did as you said thank you My x axis is 1mm as the picture shows as there is the reduction you told me to put 0.33 in HTML that's what I did

Dididu12 commented 2 years ago

HELLO MAXIME WHAT I NEED TO DO TO RECOVER THE 3 SECONDS OF THE X AXIS. IT IS GOING FASTER THAN IT SHOULD THANK YOU

kachurovskiy commented 2 years ago

Dilan, I've realized my mistake, you've correctly used 0.33 as your X axis pitch in tables.html calculation and the code you shared in https://gist.github.com/Dididu12/c48915304ff0e5e1392b54baaea7925d looks good.

With regards to the 3 seconds problem during the Feed mm/min mode, I think it's not precise enough for us to draw conclusions. Let's try something else: use the MPG wheel to move the X or Z axis a set distance.

Respective axis should move by 1mm. Try doing this several times for each axis and see if there's a consistent problem for Z or X.

https://user-images.githubusercontent.com/517919/162625971-53bce4ae-0b3b-404e-a04d-fef5175db8a8.mp4

If the problem is there (axis moves too little or too much), try adjusting the respective pitch (200 or 33) up or down until it's fixed?

Dididu12 commented 2 years ago

ok thank you for the explanation it and very clear thank you I try this method 👍🏼💪

Dididu12 commented 2 years ago

hello I did as you said and everything and ok the two x and z axes are fine at 1.mm 2.mm ect by turning the wheel 100clic but it still can't get me the 45dg look at the photo 1 1649704159448853701923886456640 16497041742531836320055662437453

Which line of code should I modify if you told me the respective step

kachurovskiy commented 2 years ago

Dilan, looks like it's a common problem, I just tried turning 45 degrees and here's what I got:

PXL_20220411_202518005

Dididu12 commented 2 years ago

oh yes indeed there is something to do to fix it?and I am making a pulley but there is not the angle I want it is possible in added??

Dididu12 commented 2 years ago

Hello Maxime, did you find a solution to the problem? ? Is it possible to add different angle degrees I was wondering if it is possible and how to do it thanks

kachurovskiy commented 2 years ago

Dilan, sorry for being slow here, I don't have a solution yet, maybe worth looking into the original https://github.com/kachurovskiy/megaels/raw/a729a16273ba023c915f1070309def422d8849c0/Digital_Feed_7e2/!_Calc_v7e.xls formula for the cone table and see if I messed up some logic in tables.html? Sorry, I don't have the energy for this at the moment.

Dididu12 commented 2 years ago

Salut Maxime quoi que je fasse en rajoutant des angle au delà de 45° il me fait toujours un 34°

kachurovskiy commented 2 years ago

Dilan, let's try setting the "X axis pitch in mm" higher in http://kachurovskiy.com/megaels/Digital_Feed_7e2/tables.html than it really is - e.g. multiply it by 45/34=1.32 - to generate an adjusted cone_info_type table and see if this helps to fix all cones?

kachurovskiy commented 2 years ago

Tried adjusting "X axis pitch in mm" up and down and it didn't affect the 45 degree results significantly. My next theory is that "45dg" is broken because it's the only cone that has "0" in the leftmost column.

Testing if other angles are cut correctly. Dilan, did you test them - e.g. 30 degrees?

kachurovskiy commented 2 years ago

Tried 30 degree cone and it was cut spot-on with a normal cone table from http://kachurovskiy.com/megaels/Digital_Feed_7e2/tables.html

Looks like only 45 degree cone is affected

PXL_20220529_135227077 .

Dididu12 commented 2 years ago

A OUI EFECTIVEMENT LE CONE DE 45° DECONNE MAIS PAS LES AUTRES JE TROUVE SA VRAIMENT BIZARRE JE VAIS TESTER POUR VOIR SI CELA CHANGE POUR MOI

bhvictor commented 2 years ago

Hello guys.

First I want to thank Maxim. The PCB was amazing and made the assembly a lot easier. If it weren't for its modification, I wouldn't have the courage to start assembling the ELS.

As for the 45º cone, I was able to successfully cut. 20220606_172637

I've been reading on the Russian forum and from what I understand, the results of the table of threads and cones (first column) cannot be less than 1 or greater than 255.

image

The coefficient would be something like: 0 = does not work 1 = Goes bad 2 = It's good 3 or more = perfect

I don't know if that would be the cause. My lathe is a FortG FG0001 (Brazilian version of CJ0618). I'm currently using the following settings:

https://gist.github.com/bhvictor/e3024ea78c232ace8bd7e0455fb372f2

This week I'm going to test a 2500 PPR encoder to increase the coefficient on screws with a pitch greater than 1.00mm. With current 600 PPR I get a coefficient above 3 only up to 0.75mm pitch.

Dididu12 commented 2 years ago

Salut @kachurovskiy @vdstecnoclogia avez vous vue la version améliorée du chip maker ru

https://www.chipmaker.ru/files/file/17341/

https://youtu.be/OOZKoAvfO34

Et t'il possible de rajouter des donné au code qu'on a déjà. merci les gars moi je ne connais pas grand chose Il y a des passes de finition plein de nouvelles choses qu'on a pas sur nos trucs 😅

kachurovskiy commented 2 years ago

Dilan, looks like https://www.chipmaker.ru/files/file/17341/ should be compatible with our hardware. You should be able to simply upload that sketch to your Arduino Mega after copying over your parameters (encoder pulse count, stepper settings, cone and thread tables).

@bhvictor thank you for sharing that, it does sound like I just need to increase Z steps to 1600 and that would get rid of the leading 0 in the Cone_Info table solving the 45dg problem - thank you.

Dididu12 commented 2 years ago

hello @kachurovskiy it is possible to set the axis driver z to on 1600step/rev and also add in the arduino code to fix the 45° cone problem??

kachurovskiy commented 2 years ago

Dilan, yes, that's the theory - change McSTEP_Z from 4 to 8 - so that you would get 1 instead of 0 in the cone table - and regenerate Cone_Info and Thread_Info.

image

kachurovskiy commented 2 years ago

Also, very important, don't forget to actually change the steps on the driver to 1600 :) Fixed the problem for me:

image

Dididu12 commented 2 years ago

1- @kachurovskiy hi why did i set x driver to 1200 should i do the same??otherwise great to have managed to find the problem

2- I want to share with you the code that contains the update that I translated into French how do you share it thank you?

kachurovskiy commented 2 years ago

I have 400 steps on x driver and 3x reduction with 1.25 lead screw, so instead of dividing 1.25 by 3 I decided to multiply 400 by 3 - hence 1200 steps :)

Dididu12 commented 2 years ago

@kachurovskiy my cross axis and 1mm screw I don't really understand the calculation I also have the X3 reduction and I'm also set to 400 for xdriver

So what parameters should I have thank you

kachurovskiy commented 2 years ago

Dilan, you'd want to set "X driver steps" = 1200 and "X axis pitch" = 1

Dididu12 commented 2 years ago

@kachurovskiy actuellement on avait mis dans table HTML 0.33 pour la réduction de l'axe x et non 1mm ??

kachurovskiy commented 2 years ago

Since you have 3x reduction, we have 2 options - divide pitch by 3 or multiply X steps by 3.

Dividing pitch introduces 1% error since 0.33*3 = 0.99 and not 1.00.

So, using 1200 steps and 1mm pitch is suggested :)

Dididu12 commented 2 years ago

Ok merci beaucoup j'essaie sa !👍🏼

Dididu12 commented 2 years ago

@kachurovskiy Salut donc je met comme sur la photo ?? 20220625_113651

Dididu12 commented 2 years ago

@kachurovskiy avez vous une photo de réglage de vos driver et un photo de votre réglage sur Arduino merci

Dididu12 commented 2 years ago

@kachurovskiy cela ne fonctionne pas pour moi ou alors j'ai fait une fausse manip

kachurovskiy commented 2 years ago

Dilan, here are my Arduino settings:

#define ENC_LINE_PER_REV     600      // Encoder lines per 1 spindle turn
#define MOTOR_Z_STEP_PER_REV 200      // Z motor steps (leadscrew) - almost always 200, microsteps configured below
#define SCREW_Z              200      // Z (leadscrew) pitch, in hundreds of a mm
#define McSTEP_Z             8        // Z driver microsteps (400 steps = 2, 800 steps = 4, etc)
#define Z_INVERT                      // Comment this line if Z motor is connected directly to the lead screw, uncomment if via belt
// #define Z_ENA_INVERT                  // Comment/uncomment this line if Z motor is getting disabled when it should be enabled
#define MOTOR_X_STEP_PER_REV 200      // X motor steps (cross-slide) - almost always 200, microsteps configured below
#define SCREW_X              125       // X (cross-slide) pitch, in hundreds of a mm
#define REBOUND_X            200      // X backlash in microsteps
#define REBOUND_Z            200      // Z backlash in microsteps
#define McSTEP_X             6        // Z driver microsteps (400 steps = 2, 800 steps = 4, etc)
//
#define THRD_ACCEL           25       // К.деления с которого будем ускоряться на Резьбах, Accel+Ks должен быть < 255
#define FEED_ACCEL           3        // Жесткость разгона на подачах, бОльше значение - короче разгон.
//
#define MIN_FEED             2        // Min feed in 0.01mm. 2 = 0.02mm
#define MAX_FEED             20       // Max feed in 0.01mm. 20 = 0.20mm
#define MIN_aFEED            20       // Min feed in mm/min. 20 = 20mm/min
#define MAX_aFEED            400      // Max feed in mm/min. 400 = 400mm/min

// Rapid feed           
#define MAX_RAPID_MOTION     25                       // Smaller - faster           //16000000/32/((25+1)*2)/800*60=721rpm
#define MIN_RAPID_MOTION    (MAX_RAPID_MOTION + 150)  // Bigger - slower, max 255 //16000000/32/((150+25+1)*2)/800*60=107rpm
#define REPEAt              (McSTEP_Z * 1)            // Repeats for full speed within one step
                                                      // Acceleration duration = 150/2*REPEAT(4)/Microstep(4) = 75 full steps for acceleration
// Manual pulse generator (100 lines)
#define HC_SCALE_1           1        // 1-e положение, масштаб = 1сотка/тик = 1мм/оборот
#define HC_SCALE_10          10       // 2-e положение, масштаб = 10соток/тик = 10мм/оборот
#define HC_START_SPEED_1     250      // старт РГИ, 250000/(250+1)/800*60/2 = 37rpm
#define HC_MAX_SPEED_1       150      // максимум скорости РГИ, 250000/(150+1)/800*60/2 = 62rpm
#define HC_START_SPEED_10    150      // старт РГИ, 250000/(150+1)/800*60/2 = 62rpm
#define HC_MAX_SPEED_10      23       // максимум скорости РГИ, 250000/(23+1)/800*60/2 = 391rpm
#define HC_X_DIR             0        // 1-CW, 0-CCW

Drivers - top one is cross-slide, bottom one is leadscrew.

image

What exactly doesn't work?

Dididu12 commented 2 years ago

J'essaie les même réglage et je te dit si sa marche j'espère qu'on i arriveras un jour on est pas très loin du but 😅

Et après quel réglage a tu mis sur HTML

Dididu12 commented 2 years ago

Bon sayer j'ai réussi enfin pars contre le moteur de l'axe croisé x vibre énormément

L'axe x déconne pour les filetage il perd des pas je croit qui i a un réglage pour sa non ??

C'est le seul problème que j'ai vu sinon impecc

kachurovskiy commented 1 year ago

Dilan, sorry, don't remember how we resolved this topic but I think your project is successfully completed by now :) Let us know if you have any tips and tricks to share. Thanks!