في مقال سابق ، تم توضيح كيفية معايرة طابعة دلتا في الوضع اليدوي. ولكن بسبب تعقيد الإعدادات وتعقيدها ، فقد تقرر إجراء المعايرة التلقائية. نظرًا لأن الإصدار النهائي في مرحلة الاختبار والتصنيع ، فإننا ما زلنا نريد أن نجعل الحياة أسهل لعملائنا ، وكل من صنع الطابعات لأنفسهم وفقًا لهذا المخطط. بعد ذلك ، سيتم النظر في إحدى طرق تنفيذ المعايرة التلقائية.هناك العديد من الأساليب ، تثبيت مسبار قابل للسحب على قاذف مع مفتاح مصغر ، وأجهزة استشعار FSR ، ومستشعر Hall ، إلخ. لكن هذه الأنظمة لها عيب كبير - فهي تقيس المسافة ليس إلى الفوهة ، ولكن مباشرة إلى المستشعر ، بالإضافة إلى ذلك ، في بعض الحالات ، قد تفشل المحاذاة (إذا لم يكن المستشعر موجودًا بدلاً من الفوهة ، فقد يتم انتهاك حساب الهندسة. ناهيك عن الدقة) .الخيار المثالي هو إصلاح لمسة الفوهة نفسها على الطاولة. وهنا يمكنك الذهاب بطريقتين:- قم بإنشاء اتصال كهربائي بين HotEnd والمستجيب ، بحيث يكون HotEnd متحركًا ويفتح (أو يغلق) جهة الاتصال عند النقر فوقه.
- إنشاء اتصال كهربائي بين الفوهة المعدنية والجدول.
الخيار الأول أكثر تعقيدًا في تصنيع العمل واستقراره ، ولكن مع التصميم المناسب سيعطي نتيجة مستقرة دائمة ، بدون حركات جسم إضافية.الخيار الثاني أقل ملاءمة للاستخدام ، ولكنه سهل التنفيذ ، وغالبًا ما تكون المعايرة مطلوبة ويمكن إجراؤها حسب الحاجة.سنتحدث عن الطريقة الثانية:
من الأداة نحتاج:- شريط سكوتش الألومنيوم (في الواقع ، هو رقائق الألومنيوم على أساس لاصق ، وليس جميع أنواع أشرطة التسليح هناك)
- "تمساح" - لربط أحد جهات الاتصال بالعلبة المعدنية ذات الطرف الساخن ، من حيث المبدأ ، يمكنك القيام بأي مشبك ورق ، أو إصلاح نهاية السلك عن طريق شده أو لحامه (صارم ولكن فعال)
- مكتب الغسيل
- دبوس كتلة 2.54 لتوصيل جهاز استشعارنا المرتجل بلوحة RAMPS 1.4 (أو بموصل EndStop المقابل على اللوحة). قلة من الناس لديهم تجعيد لتركيب مثل هذه الكتل ، ولكن يمكنك العثور على كتلة مماثلة في وحدة الكمبيوتر بإزالتها من "مكبر الصوت" أو الأزرار.
- ملحقات اللحام ، من المستحسن أن يكون هناك تدفق نشط وحديد لحام أقل قوة.
- الأسلاك ، حوالي متر.
كانت أبسط طريقة لتطبيق طبقة موصلة للتيار على سطح عملنا (الزجاج) عبارة عن ملصق من شريط الألمنيوم ، ولكن من المهم التمسك به بشكل متساوٍ وتنعيمه بحيث يكون هناك اتصال كهربائي بين شرائط الشريط ، ويتم فحصه بشكل أساسي باستخدام مقياس متعدد من أجل "الرنين".
أيضًا ، للتبديل ، يجب أن تصنع سلكًا ، كما هو مكتوب سابقًا ، اضغط على أحد طرفيه في كتلة 2.54 (أو لحام عليه) ، سيتم تثبيت الطرفين الآخرين على مشعاع HotEnd وعلى الطاولة بشريط ألومنيوم. من أجل الزحف إلى الرادياتير ، نأخذ تمساحًا عاديًا ونلحم أحد طرفي السلك إليه ، أنصح باستخدام الحمض لسهولة اللحام ، على الرغم من أنني تمكنت من تسخينه جيدًا وصنوبري الصنوبري العادي ، ولكن يمكن أيضًا لحام الطرف الثاني في التمساح ، ولكن في هذه الحالة هناك فرصة لتلف الشريط اللاصق عند الإصلاح ، يجب أن يكون التمساح كبيرًا بما يكفي. تصرفنا على النحو التالي: خذ مشبك ورق ونظفه من الطلاء (يفضل من جميع الجهات). النقطة المهمة هناأننا سنلحم سلكًا نحاسيًا في قطعة قماش معدنية مع لحام عادي (PIC 61) ولحام ناجح تمامًا ، نحتاج إلى تدفق نشط ، استخدمنا حمض orthophosphoric عادي (حامض لحام).
فيما يلي صور للاتصال باللوحة والطابعة نفسها. ترتبط نهايات الأسلاك في طابعتنا بـ Z-max. وفي البرامج الثابتة ، من الضروري الإشارة إلى الحالة الطبيعية لمفتاح الحد (مستشعرنا ، مغلق أو مفتوح). مع هذا النهج ، يكون المستشعر مفتوحًا في حالة طبيعية.


يمكن أخذ البرامج الثابتة مع المعايرة التلقائية لطابعات دلتا من هنا: البرامج الثابتة Marlin Delta مع تحديثات المعايرة التلقائية . RichCattellإعدادات البرامج الثابتة:Cohfiguration.h
#define AUTOCALIBRATION_PRECISION 0.03
#define BED_DIAMETER 170
const bool X_MIN_ENDSTOP_INVERTING = false;
const bool Y_MIN_ENDSTOP_INVERTING = false;
const bool Z_MIN_ENDSTOP_INVERTING = false;
const bool X_MAX_ENDSTOP_INVERTING = false;
const bool Y_MAX_ENDSTOP_INVERTING = false;
const bool Z_MAX_ENDSTOP_INVERTING = true;
بعد توصيل الأسلاك وضبط البرنامج الثابت للطابعة ، تحتاج إلى بدء المعايرة نفسها. وهنا نقطة مهمة للغاية أنه يجب إجراء المعايرة من جهاز كمبيوتر ، لأن الطابعة نفسها لا تقوم بهذه العملية بشكل صحيح. يبدو أنه لا توجد ذاكرة كافية للجهاز وتنتهي المعايرة في مكان ما في المنتصف.أيضًا ، إحدى ميزات المعايرة التلقائية هي أن الخوارزمية تختار بشكل متسلسل معلمات الهندسة ، والتي يمكن أن تستغرق وقتًا طويلاً ، خاصة إذا كانت الهندسة مكسورة بشدة أو لم يتم تعيين المعلمات الأولية بشكل صحيح (على سبيل المثال ، طول الأقطار 150 مم ، وفي الواقع 200 مم ، وستعيد الخوارزمية ذات الخطوة المحددة المعايرة كل تكرار مرة أخرى ، وفي النهاية ستتم معايرتها ، ولكنها ستستغرق وقتًا لا يمكن تصوره)لبدء المعايرة التلقائية ، اتصل بالطابعة عبر USB واستخدم برنامج pronterface. هناك ثلاثة أنواع من المعايرة:- يقوم الأمر G30 - لمعايرة الإزاحة - بتعيين الارتفاع إلى مفاتيح الحد بشكل أساسي.
- يقوم فريق G30A - بمعايرة هندسة الطابعة بالكامل ، وطول الأقطار ، ومسافة بادئة مفاتيح الحد (الارتفاع) وانحناء الهندسة وفقًا لـ "البرج" - الأبراج (على الأرجح ، تدعم الطابعة ارتفاعات مختلفة)
- فريق G29 - ما يسمى AutoBedLevel - المعايرة التلقائية لانحناء الجدول. على طابعات دلتا ، تعمل بشكل صحيح ، وتبدأ مباشرة قبل بدء الطباعة في g-code الأولي.
وبناء على ذلك ، فإن الأخيرين أكثر صلة.فيما يلي قائمة بوحدة تحكم الطابعة بدون معايرة أولية وإعادة تشغيلها.مبدأ المعايرة القصيرة:- فحص / ضبط تعويضات Endstop
- فحص / ضبط دلتا الشعاع
- فحص أخطاء هندسة البرج
- تحديد الطول القطري> فحص هندسة البرج> تسوية إزاحة EndStop. عندما تتغير المعلمتان الأوليان ، يتم تحديد الثالث ويتم تكرار الدورة حتى يتم استيفاء جميع المعلمات الثلاث.
قائمة المعايرة الأولية - يتم قطع التكرارات من 4 إلى 17 منذ ذلك الحين يكرر العملConnecting...
start
Printer is now online.
echo:Marlin 1.0.0
echo: Last Updated: Jul 31 2015 11:09:21 | Author: (RichCattell, Prism Mini)
Compiled: Jul 31 2015
echo: Free Memory: 1753 PlannerBufferBytes: 1232
echo:Hardcoded Default Settings Loaded
echo:Steps per unit:
echo: M92 X100.00 Y100.00 Z100.00 E156.00
echo:Maximum feedrates (mm/s):
echo: M203 X200.00 Y200.00 Z200.00 E200.00
echo:Maximum Acceleration (mm/s2):
echo: M201 X9000 Y9000 Z9000 E9000
echo:Acceleration: S=acceleration, T=retract acceleration
echo: M204 S3000.00 T3000.00
echo:Advanced variables: S=Min feedrate (mm/s), T=Min travel feedrate (mm/s), B=minimum segment time (ms), X=maximum XY jerk (mm/s), Z=maximum Z jerk (mm/s), E=maximum E jerk (mm/s)
echo: M205 S0.00 T0.00 B20000 X20.00 Z20.00 E20.00
echo:Home offset (mm):
echo: M206 X0.00 Y0.00 Z0.00
echo:Delta Geometry adjustment:
echo: M666 A0.000 B0.000 C0.000 I0.000 J0.000 K0.000 U0.000 V0.000 W0.000 R66.00 D154.00 H230.00
echo:Endstop Offsets:
echo: M666 X0.00 Y0.00 Z0.00
echo:Z-Probe Offset:
echo: M666 P X0.00 Y0.00 Z0.00
echo:PID settings:
echo: M301 P15.09 I0.75 D76.13
echo:SD init fail
Setting hotend temperature to 190.000000 degrees Celsius.
Setting bed temperature to 70.000000 degrees Celsius.
>>> g30 a
SENDING:G30 A
Starting Auto Calibration..
Calibration precision: +/-0.100mm
| Z-Tower Endstop Offsets
| -7.8500 X:0.00 Y:0.00 Z:0.00
| -5.2400 -8.5900 Tower Offsets
| -6.8400 A:0.00 b:0.00 C:0.00
| -3.7200 -8.0400 I:0.00 J:0.00 K:0.00
| -5.6900 Delta Radius: 66.0000
| X-Tower Y-Tower Diagonal Rod: 154.0000
Iteration: 1
Checking/Adjusting endstop offsets
x:-3.6800 (adj:-3.6800) y:-7.9600 (adj:-7.9600) z:-7.7700 (adj:-7.7700)
X=ERROR Y=ERROR Z=ERROR
x:0.7500 (adj:-2.9300) y:-0.1900 (adj:-8.1500) z:-0.2200 (adj:-7.9900)
X=ERROR Y=ERROR Z=ERROR
x:0.1600 (adj:-2.7700) y:-0.0800 (adj:-8.2300) z:0.0500 (adj:-7.9400)
X=ERROR Y=OK Z=OK
x:0.0300 (adj:-2.7400) y:-0.0200 (adj:-8.2500) z:0.0100 (adj:-7.9300)
X=OK Y=OK Z=OK
| Z-Tower Endstop Offsets
| -0.0300 X:-2.74 Y:-8.25 Z:-7.93
| -0.0200 0.1500 Tower Offsets
| -0.2800 A:0.00 b:0.00 C:0.00
| -0.0300 -0.0300 I:0.00 J:0.00 K:0.00
| -0.1900 Delta Radius: 66.0000
| X-Tower Y-Tower Diagonal Rod: 154.0000
Checking delta radius
Adjusting Delta Radius
x:-0.0600 (adj:-2.8000) y:-0.0300 (adj:-8.2800) z:-0.0500 (adj:-7.9800)
X=OK Y=OK Z=OK
c: -0.2000 delta radius:66.0000 prec:0.010 tries:0
done:false
x:0.0700 (adj:-2.7300) y:0.0900 (adj:-8.1900) z:0.0300 (adj:-7.9500)
X=OK Y=OK Z=OK
c: -0.2100 delta radius:66.2000 prec:0.010 tries:0
done:false
x:0.0600 (adj:-2.6700) y:0.0300 (adj:-8.1600) z:0.0600 (adj:-7.8900)
X=OK Y=OK Z=OK
c: -0.1500 delta radius:66.4000 prec:0.010 tries:0
done:false
x:0.0400 (adj:-2.6300) y:-0.0100 (adj:-8.1700) z:0.0300 (adj:-7.8600)
X=OK Y=OK Z=OK
c: -0.0800 delta radius:66.6000 prec:0.010 tries:1
done:false
x:0.0300 (adj:-2.6000) y:0.0400 (adj:-8.1300) z:0.0600 (adj:-7.8000)
X=OK Y=OK Z=OK
c: 0.0200 delta radius:66.8000 prec:0.010 tries:2
done:false
x:-0.0100 (adj:-2.6100) y:0.0200 (adj:-8.1100) z:-0.0200 (adj:-7.8200)
X=OK Y=OK Z=OK
c: -0.0900 delta radius:66.7000 prec:0.010 tries:3
done:false
x:-0.0000 (adj:-2.6100) y:-0.0000 (adj:-8.1100) z:-0.0000 (adj:-7.8200)
X=OK Y=OK Z=OK
c: -0.0500 delta radius:66.7500 prec:0.020 tries:0
done:false
x:0.0500 (adj:-2.5600) y:0.0100 (adj:-8.1000) z:0.0300 (adj:-7.7900)
X=OK Y=OK Z=OK
c: -0.0400 delta radius:66.8000 prec:0.020 tries:1
done:false
x:-0.0100 (adj:-2.5700) y:-0.0500 (adj:-8.1500) z:-0.0400 (adj:-7.8300)
X=OK Y=OK Z=OK
c: 0.0100 delta radius:66.8500 prec:0.020 tries:1
done:true
Iteration: 2
Checking/Adjusting endstop offsets
x:-0.0000 (adj:-2.5700) y:0.0300 (adj:-8.1200) z:0.0300 (adj:-7.8000)
X=OK Y=OK Z=OK
| Z-Tower Endstop Offsets
| 0.0100 X:-2.57 Y:-8.12 Z:-7.80
| 0.0100 0.1700 Tower Offsets
| 0.0000 A:0.00 b:0.00 C:0.00
| 0.0200 -0.0200 I:0.00 J:0.00 K:0.00
| -0.1900 Delta Radius: 66.8500
| X-Tower Y-Tower Diagonal Rod: 154.0000
Checking for tower geometry errors..
x_diff = 0.15000
y_diff = 0.03000
z_diff = 0.20000
high_diff = 0.20000
xy_equal = false
xz_equal = true
yz_equal = false
Opp Range = 0.36000
t1:Err t2:OK t3:Err
Tower geometry OK
Checking DiagRod Length
target:0.0033 c:0.0000 adj:0.00000
| Z-Tower Endstop Offsets
| -0.0000 X:-2.57 Y:-8.12 Z:-7.80
| 0.0400 0.2000 Tower Offsets
| -0.0000 A:0.00 b:0.00 C:0.00
| -0.0100 -0.0000 I:0.00 J:0.00 K:0.00
| -0.2000 Delta Radius: 66.8500
| X-Tower Y-Tower Diagonal Rod: 154.0000
Iteration: 3
Checking/Adjusting endstop offsets
x:-0.0100 (adj:-2.5800) y:0.0300 (adj:-8.0900) z:0.0300 (adj:-7.7700)
X=OK Y=OK Z=OK
| Z-Tower Endstop Offsets
| -0.0300 X:-2.58 Y:-8.09 Z:-7.77
| 0.0300 0.1400 Tower Offsets
| -0.0200 A:0.00 b:0.00 C:0.00
| 0.0100 -0.0400 I:0.00 J:0.00 K:0.00
| -0.2200 Delta Radius: 66.8500
| X-Tower Y-Tower Diagonal Rod: 154.0000
Checking for tower geometry errors..
x_diff = 0.13000
y_diff = 0.07000
z_diff = 0.19000
high_diff = 0.19000
xy_equal = true
xz_equal = true
yz_equal = false
Opp Range = 0.36000
t1:Err t2:OK t3:Err
Tower geometry OK
Checking DiagRod Length
target:-0.0033 c:-0.0200 adj:-0.20000
target:0.2133 c:0.2000 adj:-0.20000
target:0.4267 c:0.4000 adj:-0.20000
target:0.6233 c:0.6200 adj:0.00000
Diag Rod Length changed .. Homing Endstops
| Z-Tower Endstop Offsets
| -0.4600 X:-2.58 Y:-8.09 Z:-7.77
| -0.4000 -0.2900 Tower Offsets
| -0.4600 A:0.00 b:0.00 C:0.00
| -0.4500 -0.5200 I:0.00 J:0.00 K:0.00
| -0.6900 Delta Radius: 66.8500
| X-Tower Y-Tower Diagonal Rod: 153.4000
Iteration: 17
Checking/Adjusting endstop offsets
x:0.0100 (adj:-3.0300) y:0.0300 (adj:-8.5000) z:0.0100 (adj:-8.2300)
X=OK Y=OK Z=OK
| Z-Tower Endstop Offsets
| -0.0300 X:-3.03 Y:-8.50 Z:-8.23
| 0.0400 0.1200 Tower Offsets
| -0.0300 A:0.00 b:0.00 C:0.00
| 0.0100 -0.0600 I:0.00 J:0.00 K:0.00
| -0.2600 Delta Radius: 66.8500
| X-Tower Y-Tower Diagonal Rod: 153.3453
Checking for tower geometry errors..
x_diff = 0.11000
y_diff = 0.10000
z_diff = 0.23000
high_diff = 0.23000
xy_equal = true
xz_equal = false
yz_equal = false
Opp Range = 0.38000
Tower 3 has largest error
t1:Err t2:Err t3:Err
Tower3 Error: Adjusting
tower: -0.0400 opptower:-0.2700 tower radius adj:0.0000
done:false
x:0.0000 (adj:-3.0300) y:0.0000 (adj:-8.5000) z:-0.0600 (adj:-8.2900)
X=OK Y=OK Z=OK
tower: -0.0700 opptower:-0.1300 tower radius adj:-1.0000
done:false
x:-0.0600 (adj:-3.0900) y:-0.0900 (adj:-8.5900) z:-0.0900 (adj:-8.3800)
X=OK Y=OK Z=OK
tower: -0.0900 opptower:0.0900 tower radius adj:-2.0000
done:false
x:-0.0500 (adj:-3.1400) y:-0.0400 (adj:-8.6300) z:-0.0700 (adj:-8.4500)
X=OK Y=OK Z=OK
tower: 0.0400 opptower:0.0500 tower radius adj:-1.5000
done:true
Tower Postions changed .. Homing Endstops
| Z-Tower Endstop Offsets
| 0.6400 X:-3.14 Y:-8.63 Z:-8.45
| 0.3300 0.4500 Tower Offsets
| 0.0900 A:0.00 b:0.00 C:0.00
| 0.0900 0.0100 I:0.00 J:0.00 K:-1.50
| -0.0200 Delta Radius: 66.8500
| X-Tower Y-Tower Diagonal Rod: 153.3453
Iteration: 18
Checking/Adjusting endstop offsets
x:0.1000 (adj:-3.0400) y:0.0600 (adj:-8.5700) z:0.6500 (adj:-7.8000)
X=OK Y=OK Z=ERROR
x:-0.0500 (adj:-3.0900) y:-0.0400 (adj:-8.6100) z:0.0600 (adj:-7.7400)
X=OK Y=OK Z=OK
| Z-Tower Endstop Offsets
| -0.0000 X:-3.09 Y:-8.61 Z:-7.74
| -0.0600 0.0200 Tower Offsets
| -0.1100 A:0.00 b:0.00 C:0.00
| -0.0000 -0.0700 I:0.00 J:0.00 K:-1.50
| 0.0200 Delta Radius: 66.8500
| X-Tower Y-Tower Diagonal Rod: 153.3453
Checking delta radius
Adjusting Delta Radius
x:-0.0200 (adj:-3.1100) y:-0.0300 (adj:-8.6400) z:0.0200 (adj:-7.7200)
X=OK Y=OK Z=OK
c: -0.1100 delta radius:66.8500 prec:0.010 tries:0
done:false
x:0.0500 (adj:-3.0600) y:0.0400 (adj:-8.6000) z:0.0100 (adj:-7.7100)
X=OK Y=OK Z=OK
c: -0.0400 delta radius:67.0500 prec:0.010 tries:1
done:false
x:0.0400 (adj:-3.0200) y:0.0800 (adj:-8.5200) z:0.0600 (adj:-7.6500)
X=OK Y=OK Z=OK
c: -0.0000 delta radius:67.2500 prec:0.010 tries:1
done:true
Iteration: 19
Checking/Adjusting endstop offsets
x:-0.0000 (adj:-3.0200) y:-0.0200 (adj:-8.5400) z:0.0100 (adj:-7.6400)
X=OK Y=OK Z=OK
| Z-Tower Endstop Offsets
| -0.0200 X:-3.02 Y:-8.54 Z:-7.64
| -0.0600 0.0200 Tower Offsets
| 0.0000 A:0.00 b:0.00 C:0.00
| -0.0100 -0.0300 I:0.00 J:0.00 K:-1.50
| 0.0200 Delta Radius: 67.2500
| X-Tower Y-Tower Diagonal Rod: 153.3453
Autocalibration Complete
SENDING:M500
echo:Settings Stored
قائمة إعادة المعايرة الكاملةSENDING:G30 A
Starting Auto Calibration..
Calibration precision: +/-0.100mm
| Z-Tower Endstop Offsets
| -0.1800 X:-3.02 Y:-8.54 Z:-7.64
| -0.3000 -0.1600 Tower Offsets
| -0.2200 A:0.00 b:0.00 C:0.00
| -0.2200 -0.2000 I:0.00 J:0.00 K:-1.50
| -0.1500 Delta Radius: 67.2500
| X-Tower Y-Tower Diagonal Rod: 153.3453
Iteration: 1
Checking/Adjusting endstop offsets
x:-0.2100 (adj:-3.2300) y:-0.2000 (adj:-8.7400) z:-0.1700 (adj:-7.8100)
X=ERROR Y=ERROR Z=ERROR
x:0.0100 (adj:-3.2200) y:0.0100 (adj:-8.7300) z:-0.0200 (adj:-7.8300)
X=OK Y=OK Z=OK
| Z-Tower Endstop Offsets
| 0.0200 X:-3.22 Y:-8.73 Z:-7.83
| -0.1000 0.0300 Tower Offsets
| 0.0000 A:0.00 b:0.00 C:0.00
| -0.0200 -0.0300 I:0.00 J:0.00 K:-1.50
| 0.0100 Delta Radius: 67.2500
| X-Tower Y-Tower Diagonal Rod: 153.3453
Autocalibration Complete