მარლინის firmware 3D– სთვის რუსულად. მაგიდის დაკალიბრება

მე დიდხანს ვიყენებდი მარლინ კიმბრას (MagoKimbra / MK4duo) firmware- ს (დაახლოებით ნახევარი წელი).

ეს არის Marlin- ის განახლებული firmware, რომელიც იტალიური საზოგადოების RepRap- ის მიერ არის განთავსებული. Firmware საინტერესოა იმით, რომ მისი გაშვება შესაძლებელია როგორც 8-ბიტიან, ისე 32-ბიტიან ტვინზე Arduino DUE დაფაზე, დაბალბიუჯეტიანი RAMPS4Due- სთან ერთად.

შეგიძლიათ ჩამოტვირთოთ firmware და იხილოთ მისი მახასიათებლების ჩამონათვალი github- ის ოფიციალური firmware მისამართით.

ასევე მინდა ვთქვა, რომ კლასიკურ მარლინთან შედარებით, firmware ბევრად უფრო ადვილია კონფიგურაცია. ეს იმის გამო ხდება, რომ ყველა პარამეტრი დაჯგუფებულია სხვადასხვა ჩანართებში. არ არის საჭირო უზარმაზარი კონფიგურაციის ფეხსაცმლის გათხრა. ძალიან კომფორტულად.

Firmware მუშაობს ჩემს პრინტერზე, პრობლემა არ არის. პერიოდულად ვაახლებ firmware- ს, როგორც წესი, შემდეგი ვერსიის გამოცემასთან ერთად.

თუ გსურთ firmware შეცვალოთ, სცადეთ. მგონი მოგეწონებათ.

Firmware– დან მარლინიდან MagoKimbra– ში შეცვლის შემდეგ, პირველი ნაბიჯი არის EEPROM– ის გაწმენდა ბრძანებით

M502 - დაუბრუნდით ნაგულისხმევ "ქარხნის პარამეტრებს". ამის შემდეგ კვლავ გჭირდებათ მათი შენახვა EEPROM– ში, თუ გსურთ.

M500 - შეინახეთ პარამეტრები EEPROM– ში

საიტს თეორიულად აქვს გარკვეული firmware კონფიგურატორი, მაგრამ მე ის არასოდეს გამომიყენებია. ვცდილობდი, მაგრამ ის რაღაც კიბოსნაირებია. შედეგად, ადვილია ყველაფრის კონფიგურაცია ხელით.

მოკლედ გეტყვით, თუ როგორ უნდა დააყენოთ firmware ჩემი პრინტერის მაგალითზე, ტვინის მსგავსად arduino mega + ramps sandwich და კარტეზული კინემატიკა (Prusa i3). ვააქტიურებ მუშაობისთვის საჭირო მახასიათებლების მინიმალურ რაოდენობას.

განსაკუთრებით რთული არაფერია firmware- ის დაყენებაში, ყველაფერი ინტუიციურია.

მეც ყურადღებას მივაქცევ BRAINS Prusa i3 მიერ flsun3d ... პრინტერს მოყვება ერთი დედაპლატა RAMPS 1.4 Plus

თუ მასში ჩაიღვარეთ firmware, რომელიც განსხვავდება ჩინელების მიერ გამოგზავნილი პროგრამისგან (Marlin 1.0.0), ჩვენება ავტომატურად შეწყვეტს მუშაობას პრინტერზე და E0- ის ექსტრაუდა გადავა E1- ზე. ასეთ პრობლემას წავაწყდი, საღამოს გარშემო დავჯექი და გამოსავალი ვიპოვნე. სტატიის ბოლოს მე გეტყვით, თუ როგორ უნდა გამოსწორდეს ეს.

Firmware იქმნება უპრობლემოდ Arduino- ს უახლეს გარემოში (1.8.1).

გახსენით MK4duo.ino ფაილი Arduino გარემოს გამოყენებით და დაიწყეთ კონფიგურაცია.

ჩვენ ვიწყებთ ჩანართით კონფიგურაცია_ფუძური. თ

აქ ჩვენ გავაკეთებთ კონფიგურაციას

* - სერიული კომუნიკაციების ტიპი

* - დედა დაფა

* - მექანიკის ტიპი (კარტეზიული Prusa I3– სთვის)

* - ექსტრაუდერების რაოდენობა

პირდაპირ ღამურაზე

# განსაზღვრეთ BAUDRATE 250000

თუ ნადირობენ ტერმინალში (ან Pronterface), ნახეთ ვინ ჩამოაყალიბა firmware

# განსაზღვრა STRING_CONFIG_H_AUTHOR "(Mef73, პერსონალური კონფიგურაცია)"

ან შეგიძლია მარტო დატოვო.

ამ ჩანართში მეტი არაფერია გასაკეთებელი, რადგან სტანდარტულად ის უკვე ჩართულია

# განსაზღვრეთ MOTHERBOARD BOARD_RAMPS_13_HFB

# განსაზღვრეთ MECHANISM MECH_CARTESIAN

და ასევე დაინსტალირებული ერთი ექსტრაუდერი და ერთი დრაივერი ექსტრუდერისთვის.

გადადით ჩანართზე კონფიგურაცია_ქართული. თ

დავიწყებ პრინტერის სახელის შეცვლით, თუმცა ეს არ არის საჭირო

# განსაზღვრა CUSTOM_MACHINE_NAME "Prusa I3 flsun"

# განსაზღვრეთ INVERT_E0_DIR სიმართლე

შებრუნებულია flusun3d– ის Prusa i3 პრინტერის ჩემი სტანდარტული ექსტრუდერი. შეგიძლიათ გადააფეთქოთ სტეპერის ძრავის კონექტორი (SM), მაგრამ მე არ მინდა. ისე, რომ როდესაც პრინტერის ტვინს ვცვლი, ძრავის კონექტორის გადაბრუნების ხარჯზე თავი არ გავათბო.

კიდევ ერთხელ, ჩემი პრინტერისთვის drv8825 და 32 ნაბიჯით

# განსაზღვრეთ DEFAULT_AXIS_STEPS_PER_UNIT (200, 200, 800, 310, 310, 310, 310) // drv8825

ჩემი პრინტერისთვის a4988 და microstep 16

# განსაზღვრეთ DEFAULT_AXIS_STEPS_PER_UNIT (100, 100, 400, 155, 155, 155, 155) // a4988

საჭიროა მხოლოდ ერთი სტრიქონის დაწერა. ერთი ან სხვა სტეპერი საავტომობილო მძღოლისთვის.

დანარჩენისთვის ვსწორებ

# განსაზღვრეთ DEFAULT_MAX_FEEDRATE (200, 200, 2, 100, 100, 100, 100)

# განსაზღვრეთ DEFAULT_MAX_ACCELERATION (1500, 1500, 50, 1000, 1000, 1000, 1000)

# განსაზღვრეთ DEFAULT_ACCELERATION 1500

# განსაზღვრეთ DEFAULT_XJERK 30.0

# განსაზღვრეთ DEFAULT_YJERK 30.0

# განსაზღვრეთ DEFAULT_ZJERK 0.4

თქვენ ასევე შეგიძლიათ განათავსოთ საკუთარი ღირებულებები. ამ ჩანართით კონფიგურაცია_ქართული. თ ჩვენ ვამთავრებთ

გადადით ჩანართზე კონფიგურაცია_გამოყენება. თ

აქ ჩვენ ვაყენებთ ყველა სახის firmware მახასიათებელს. მე გეტყვი რა და სად ჩავრთავ. ალბათ ვინმე კომენტარში გეტყვით, კიდევ რას იყენებს. ფაქტობრივად, მე ვიყენებ მინიმუმ ნებისმიერ მახასიათებელს, მხოლოდ იმას, რაც მჭირდება.

მოდით წავიდეთ ...

ამოღება // გ

# განსაზღვრეთ HOME_Y_BEFORE_X

ჩვენ ჯერ ვაყენებთ Y ღერძს. მე მაქვს სარკე დამჭერებით, თუ მე ვაკეთებ X ღერძს ჯერ დაბალ სიმაღლეზე Z ნაკადით მე დავანგრევი დამჭერები.

# განსაზღვრეთ FORCE_HOME_XY_BEFORE_Z

z- ღერძი ბოლო გაჩერებულია

ახლა ჩვენ ქვემოთ

// \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d ADDON თვისებები \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d

მოდით გავაკეთოთ კომენტარი

# განსაზღვრეთ EEPROM_SETTINGS

# განსაზღვრეთ EEPROM_CHITCHAT

# განსაზღვრეთ SDSUPPORT

# განსაზღვრეთ SD_SETTINGS

eEPROM და SD ბარათის მხარდაჭერის გააქტიურებით

მე მაქვს პერსონაჟის ეკრანი, 2004, ფასდაკლების კონტროლერის რეპროდუქცია

# განსაზღვრეთ ULTRA_LCD

# განსაზღვრეთ ENCODER_PULSES_PER_STEP 4

# განსაზღვრეთ ENCODER_STEPS_PER_MENU_ITEM 1

# განსაზღვრეთ REVERSE_ENCODER_DIRECTION

# განსაზღვრეთ LCD_FEEDBACK_FREQUENCY_DURATION_MS 40

# განსაზღვრეთ LCD_FEEDBACK_FREQUENCY_HZ 2000

ამ პარამეტრებით, ორივე ჩინელი reprap ფასდაკლებით სმარტ კონტროლერები კარგად მუშაობს ჩემთვის.

# განსაზღვრეთ LCD_INFO_MENU

# განსაზღვრეთ REPRAP_DISCOUNT_SMART_CONTROLLER

თუ თქვენ გაქვთ Arduino DUE, ყურადღება მიაქციეთ აქ:

// \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d

//===========================================================================

/****************************************************************************************

********************************* ბუფერული ნივთიერებები ********** * ************************

****************************************************************************************/

// ხაზოვანი მოძრაობების რაოდენობა, რომელიც შეიძლება იყოს გეგმაში ნებისმიერ დროს.

// ბლოკის ბუფერული ზომა უნდა იყოს 2-ის ძალა, მაგ. 8,16,32 რადგან ცვლა და ors გამოიყენება ბეჭდის ბუფერის გასაკეთებლად.

// Arduino DUE- სთვის BLOCK BUFFER SIZE- ის 32 პარამეტრისთვის

# განსაზღვრა BLOCK_BUFFER_SIZE 16

// ASCII ბუფერი სერიალიდან მისაღებად:

# განსაზღვრეთ MAX_CMD_SIZE 96

// Arduino DUE- სთვის 8-ის დაყენება

# განსაზღვრეთ BUFSIZE 4

ზოგადად, ეს და ყველა პარამეტრი, რომელიც განსხვავდება მეგა და DUE– ით, სხვები ვერ ვიპოვნე.

გადადით ჩანართზე კონფიგურაცია_ ტემპერატურა.თ

# განსაზღვრეთ TEMP_SENSOR_BED 1

მაგიდა თბება და სტანდარტულად, გამათბობელი თერმისტორი გამორთულია firmware- ში

გადადით ********************* PID პარამეტრებზე - HOTEND ******************** ****

# განსაზღვრეთ DEFAULT_Kp (14.17, 40, 40, 40) // Kp H0, H1, H2, H3- ისთვის

# განსაზღვრეთ DEFAULT_Ki (01.55, 07, 07, 07) // Ki H0, H1, H2, H3

# განსაზღვრეთ DEFAULT_Kd (32.29, 60, 60, 60) // Kd H0, H1, H2, H3- ისთვის

ციმციმის შემდეგ, მე აუცილებლად გადავაფასებ Kp Ki Kd- ს ბრძანებით

M303 H0 C8 S240 U

ჩვენ ქვემოთ ჩამოვდივართ *********************** PID პარამეტრებზე - საწოლზე ***************** *** *******

ჩემს ცხრილს ასევე არეგულირებს PID. Bang Bang უფრო მარტივია, მაგრამ არც ისე ზუსტი. ამიტომ, ჩვენ უკომენტაროდ გავაკეთებთ

# განსაზღვრეთ PIDTEMPBED

# განსაზღვრეთ DEFAULT_bedKp 88.21

# განსაზღვრეთ DEFAULT_bedKi 12.77

# განსაზღვრეთ DEFAULT_bedKd 152.28

ეს არის პარამეტრები, რომლებიც ექსპერიმენტულად ერთხელ იქნა მიღებული ჩემი პრინტერისთვის.

ციმციმის შემდეგ, მე აუცილებლად გადავაფასებ მაგიდის Kp Ki Kd ბრძანებით

M303 H-1 C8 S100 U

Pronterface– ში ან შეწუხების გარეშეც, Octoprint– ის ტერმინალში. U გასაღები გამოიყენებს შედეგს დაუყოვნებლივ.

თუ გათბობა ტაიმერით ჩამოვარდება და შეცდომას იძლევა, ვიმეორებ ბრძანებას.

შემდეგ თქვენ უნდა შეასრულოთ ბრძანება

ცხელი დასასრულისა და მაგიდის გადახურებისგან დასაცავად, მე გამოვახტი

# განსაზღვრეთ THERMAL_PROTECTION_HOTENDS

# განსაზღვრეთ THERMAL_PROTECTION_BED

Სულ ეს არის.

ჩემს დაფაზე დამონტაჟებულია ხელნაკეთი Fan Extender, 1 არხისთვის და ის ცხოვრობს 11 პინზე. მე მივაერთე გულშემატკივართა მასზე თერმული ბარიერის აფეთქებისთვის.

ჩანართში კონფიგურაცია_გამოყენება. თ

ჩვენ ამოვიღებთ // დან

# განსაზღვრეთ HOTEND_AUTO_FAN

# განსაზღვრეთ HOTEND_AUTO_FAN_TEMPERATURE 45

მე დავაყენე საპასუხო ტემპერატურა 45 გრადუსზე

იმისათვის, რომ ფუნქციონირება იმუშაოს, ჩანართში კონფიგურაციის_ფილები. თ

# თუ ჩართულია (HOTEND_AUTO_FAN)

# განსაზღვრეთ H0_AUTO_FAN_PIN 11

მე აღვნიშნავ, რომ გულშემატკივართა კონტროლი 11 პორტზე ცხოვრობს.

ახლა მე გეტყვით მშვენიერ დაფაზე RAMPS 1.4 Plus... დაფს მიეწოდება Prusa I3 Flsun3d პრინტერი.

დაფაზე ქინძისთავები არ ემთხვევა ორიგინალ RAMPS 1.4 სენდვიჩს. !!!

მე გადავხედე firmware- ს ჩინელებისგან და განსხვავებები აღმოვაჩინე ქინძისთავებში.

საქაღალდეში ჩავსვით

MK4duo-masterMK4duosrcboards

ორიგინალი ფაილის ჩანაცვლება 99.h.

ახლა კი Configuration_Basic.h ჩანართში

განათავსეთ // MOTHERBOARD BOARD_RAMPS_13_HFB– ის წინ

// # განსაზღვრეთ დედაბორტის ბორტი_RAMPS_13_HFB

# განსაზღვრეთ დედათა ბორდი_99

ჩვენი RAMPS 1.4 Plus დაფა ახლა BOARD_99

ეს არის დაფის ნომერი, რომელიც დაცულია firmware– ში, ვფიქრობ, მხოლოდ ასეთი შემთხვევისთვის.

ამის შემდეგ, RAMPS 1.4 Plus– ზე ცხოვრება უკეთესდება. ჩვენება იწყებს მუშაობას და ყველაფერი დანარჩენი ისეა, როგორც უნდა იყოს.

ფაილში მოცემულ პარამეტრებთან ანალოგიით, დაფის კონფიგურაცია შეგიძლიათ კლასიკურ მარლინში. მეც გავაკეთე.

MagoKimbra / MK4duo Firmware, Firmware Settings for Prusa i3 for RAMPS 1.4 Sandwich and for RAMPS 1.4 Plus Board

მე აღვნიშნე, რომ ექსტრაუდერზე დრაივერის დაყენება, რომელიც იძლევა 1/32 მიკროსეპს, საკმაოდ სასარგებლო რამეა (თუმცა სარგებელს აჩვენებს მოწყობილობა, რომელსაც მეტროლოგიის განყოფილებაში არ აქვს დამოწმების ნიშანი, სხვა სიტყვებით რომ ვთქვათ, თითის ფრჩხილი !). ამასთან, შეიძლება დაგჭირდეთ ყველა დრაივერის ჩანაცვლება მსგავსი დრაივერებით. ბევრ ფორუმზე წავიკითხე, რომ ეს ძრავების ხმას უფრო მუსიკალურს ხდის. მინდა ვთქვა: ზომიერად ყველაფერი კარგია. ეს არ არის სრულიად ცუდი, მაგრამ ნება მიბოძეთ აღვწერო ის არგუმენტები, რომლებიც მარლინის firmware- ის ნაწლავებში ჩაღრმავების შემდეგ გამოჩნდა, რადგან ის არის ის, ვინც ბევრ 3D პრინტერში გამოიყენება როგორც საფუძველი.

სად უნდა დაიწყოს? პირველი, მე ვისაუბრებ აჩქარებაზე. ისინი ჩვენთვის სასარგებლო იქნება, მაგრამ ტექსტში მათი ჩასმა არ შეიძლება, ნარატივი ყველგან დახეული იქნება. მოდით ეს იყოს შესავალივით. თუ თავი მკვეთრად მოიქეცით, ბევრი პრობლემა იქნება. დაბალსიხშირული ბეჭდვის ხმებიდან დაწყებული, რომლებმაც კბილები წინა სტატიებში უკვე დააყენეს და დამთავრებული იმით, რომ ძრავას მკვეთრი დაწყებაზე შეუძლია რამდენიმე ნაბიჯის გადატოვება. ამ ყველაფრის თავიდან ასაცილებლად თავი უჩქაროდ აჩქარდება. ისე, და ისინი შენელდებიან - ძალიან, იქ უკვე საჭიროა ხმაურის შემცირება. Marlin firmware მუშაობს ტრაპეციული სიჩქარის გრაფიკის რეჟიმში.

ანუ, სიჩქარე ამაღლდება და დაეცემა წრფივად გარკვეულ არეალში. დაჩქარების და შენელების დროს სიჩქარის გრაფიკის დახრის კუთხე ზუსტად არის დადგენილი "აჩქარების" პარამეტრით. ასე გამოიყურება ნაბიჯის სიხშირის დაცემა ოსცილოსკოპზე (წითელი აფეთქებები არის ძრავის საფეხურები X ღერძის გასწვრივ, ყვითელი - ექსტრუდერი ძრავა, მე გადავარჩინე ეს ოსილოგრამა, როდესაც RF- სთან დარეკვისას დავრწმუნდი, რომ ექსტრუდერი ორჯერ უფრო ხშირად ნაბიჯებს, ვიდრე ადრე:

ახლა მოდით ვისაუბროთ იმაზე, თუ რამდენად სწრაფად დადის ჩვენი ძრავა. მოდით ვკითხოთ თავად პრინტერს საკომუნიკაციო პანელის საშუალებით. მე ვმუშაობ Simplify3D- ში, მაგრამ სხვა პანელებში არის ასეთი პანელი:


უბრალოდ გამორთეთ შემაშფოთებელი ტემპერატურის შეტყობინებები. ჩვენ ამოიღეთ ეს ველი:



ჩვენ ვუბრუნდებით კომუნიკაციის ჩანართს, ახლა წარწერები არ ციმციმებს (ძველი მაინც დარჩა ადგილზე, მაგრამ ამას მნიშვნელობა არ აქვს). ჩვენ ვესაუბრებით პრინტერს M503 და დააჭირეთ გაგზავნას



პრინტერმა გამოაქვეყნა ბევრი რამ და ადამიანის ენაზე. ჩვენ გვაინტერესებს ეს ხაზი:

მიღებული: echo: ნაბიჯები ერთეულზე:

ნაბიჯები ერთეულზე:

მიღებულია: ექო: M92 X100.00 Y100.00 Z1600.00 E100.00

M92 X100.00 Y100.00 Z1600.00 E100.00

გამოდის, რომ ჩემს X და Y ღერძებს აქვს 100 ნაბიჯი მილიმეტრზე. კარგად, უფრო სწორედ, მიკროსეპები.

მშვენიერია. Რას ნიშნავს? ეს ნიშნავს, რომ 1 მილიმეტრის გადასაადგილებლად X და Y ძრავებმა 100 ნაბიჯი უნდა გადადგას. ზოგადად, იქ გაცილებით მეტი ინფორმაცია გავრცელდა, წაიკითხე, ეს ძალიან სასაცილო რამაა. პარამეტრების შეცვლა და შენახვა შესაძლებელია EEPROM– ში, თუმცა სხვა რამეზე სხვა დროსაც.

მოდით, თავი იმოძრაოს 100 მმ / წმ სიჩქარით. შემდეგ მან უნდა გადადგას 100 * 100 \u003d 10,000 ნაბიჯი წამში. ანუ, ძრავა მუშაობს 10 კილოჰერცით. 150 მმ / წმ - 15 კილოჰერცი და ა.შ. ციფრები შეიძლება ოდნავ განსხვავებული იყოს, ეს დამოკიდებულია იმაზე, თუ რომელი სიჩქარის ბორბლებია ძრავებზე.

Firmware ტექსტიდან გავიგე, რომ თეორიულად არსებობს პრინტერები MZ3D-256A და MZ3D-256B, მათ აქვთ სხვადასხვა რაოდენობის ნაბიჯები. მოდით განვიხილოთ, როგორც სხვა მაგალითი, არა ჰიპოთეტური A და B, არამედ ნამდვილი MakerGear M2 პრინტერი, მას აქვს 88,8 საფეხური მილიმეტრზე, შემდეგ 100 მმ / წმ იქნება 8,88 კილოჰერცი, 150 მმ / წმ - დაახლოებით 13 კილოჰერცი. ზოგადად, ჰკითხეთ თქვენს პრინტერს, ის გიპასუხებთ, თუ რა პარამეტრები აქვს მას პირადად.

სინამდვილეში, თუ ძრავის მიკროსეპს 16-დან 32 საფეხურამდე გავზარდი, ჩემი პრინტერის სიხშირეები 20 და 30 კილოჰერცით გაიზრდება, ხოლო M2- სთვის (მისი 88.8-დან) შესაბამისად 17 და 26 კილოჰერცი. ბევრია თუ ცოტა? მოდით მივმართოთ firmware- ს.

რას ვხედავთ მარლინის firmware- ში? ჩვენ ვხედავთ, რომ ძრავებს ემსახურება ტაიმერი 1. ტაიმერის ერთი ნიშანი - ერთი ნაბიჯი. შემდეგ პროცესორი შეწყვეტს მუშაობას ძრავებთან მომდევნო მონიშვნამდე. მაგრამ მარლინი ძალიან სახიფათო ფირმაა! ის ადგენს ტაიმერს ისე, რომ შემდეგი დრო ზუსტად დროულად მოხდეს! ამისათვის ფუნქცია ეწოდება

ხელმოუწერელი მოკლე calc_timer (ხელმოუწერელი მოკლე ნაბიჯი_რატი) (

როგორც ხედავთ, ძრავის სიხშირე მას გადაეცემა. და რას ვხედავთ შესასვლელთან? ოოოო! ჯერ უწყინარს ვხვდებით

თუ (ნაბიჯი_კაცი\u003e MAX_STEP_FREQUENCY) ნაბიჯი_კაცი \u003d MAX_STEP_FREQUENCY;

კარგად, აქ შემოწმებულია, რომ სიხშირე არ არის 40 KHz- ზე მეტი (ჩემი პრინტერისთვის მის მშობლიურ ვერსიაში ეს არის 400 მმ / წმ, მაგრამ თუ მიკროსეპს გავაკეთებ 1/32, მაშინ მხოლოდ 200 მმ / წმ). უფრო მეტიც

თუ (ნაბიჯი_რატე\u003e 20000 ) (// თუ steprate\u003e 20kHz\u003e ნაბიჯი 4-ჯერ

Step_rate \u003d (step_rate \u003e\u003e 2)

ნაბიჯი_ლოპები \u003d 4;

სხვა თუ (ნაბიჯი_გადაცემა\u003e 10000 ) (// თუ steprate\u003e 10kHz\u003e ნაბიჯი 2-ჯერ

Step_rate \u003d (ნაბიჯი_კარი\u003e 1)

ნაბიჯი_ლოპები \u003d 2;

სხვა (

ნაბიჯი_ლოპები \u003d 1;

მე ვთარგმნი რუსულად: AtMega პროცესორის მოქმედება არ არის საკმარისი ტაიმერის შეწყვეტის სერვისზე 10 კჰც-ზე მეტი სიხშირით. ამიტომ, თუ ძრავა მუშაობს 10 კჰც – მდე სიჩქარით, შეწყვეტისას იქნება ერთი ნაბიჯი. 10 – დან 20 გკტ – მდე - შეწყვეტისას ორი ნაბიჯი იქნება. და 20-დან 40 კჰც-მდე - ოთხი ნაბიჯი.

სინამდვილეში, სტატიის დასკვნაა ზუსტად ის, რომ ყველაფერი, რაც 10 კჰც – ზე ნაკლებია (100 მმ / წმ ჩემი პრინტერისთვის) Marlin– ის აპარატში, რომელიც მუშაობს AtMega კონტროლერზე (არდუინოში) დამუშავდება თანაბრად. ზემოთ - ნაბიჯები არათანაბარი იქნება. ორი ნაბიჯი, პაუზა, ისევ ორი \u200b\u200bნაბიჯი, ისევ პაუზა. ან თუნდაც ოთხი ნაბიჯი, პაუზა, კიდევ ოთხი ნაბიჯი, კიდევ ერთი პაუზა.

იყიდება (int8_t i \u003d 0; i< step_loops; i++) { // Take multiple steps per interrupt (For high speed moves)

თუ (counter_x\u003e 0) (

#ifdef DUAL_X_CARRIAGE

თუ (extruder_duplication_enabled) (

სხვა (

თუ (current_block-\u003e active_extruder! \u003d 0)

WRITE (X2_STEP_PIN,! INVERT_X_STEP_PIN);

სხვა

WRITE (X_STEP_PIN,! INVERT_X_STEP_PIN);

# სხვა

WRITE (X_STEP_PIN,! INVERT_X_STEP_PIN);

#დაასრულე თუ

მრიცხველი_ x - \u003d მიმდინარე_ბლოკი-\u003e ნაბიჯი_ ღონისძიების_ანგარიშს;

გრაფი_პოზიცია + \u003d თვლა_ მიმართულება;

დაგვიანება მიკროწამები (2);

// იგივე Y, Z და Extruder

ზოგადად, მიკროელექტროსადგურზე 1/32-ზე, ძრავები უფრო მუსიკალური ხდება, მაგრამ ისინი აშკარად მძაფრია.

შეიძლება თუ არა ერთგვაროვნება? არდუინოზე - დარწმუნებული არ ვარ. თქვენ შეგიძლიათ გადაიტანოთ ეს ყველაფერი ARM- ზე, სადაც პროცესორი უფრო სწრაფია და გამრავლება / დაყოფა ხორციელდება ტექნიკურად, ამიტომ ის უფრო სწრაფად მუშაობს (და გზაზე შეგიძლიათ ააგდოთ ასამბლეის ჩანართები და მაგიდის გაანგარიშების ნაწილი - ეს არის AVR– ში მათ გარეშე, ARM– ს უკვე აქვს შემდგენელი, რომელიც C კოდს გარდაქმნის მისაღები ასამბლეის ბრძანებებად, ჩვენი დახმარების გარეშე). ზოგიერთ კორტექსს ასევე აქვს ტექნიკური მცურავი არითმეტიკის ტექნიკა (ამგვარი გამოთვლების საშუალებით firmware უბრალოდ მრავლადაა). პირადად მე ეს ზუსტად ზუსტად ერთ კვირაში მოვახერხე, ასე რომ ყველაფერი რეალურია (სუფთა - რა თქმა უნდა მაინც ხერხი და ხერხი). უბრალოდ არ იფიქროთ, რომ ახლა ჩვენ გავაკეთებთ ამ შედარებებს და ყველაფერი იმუშავებს! ჰა! იქ, შეამოწმეთ გამშვები და გამშვები დრაივები. ვთქვათ, აქ დასრულდა ეს calc_timer ფუნქცია:

თუ (ტაიმერი< 100) { timer = 100; MYSERIAL.print(MSG_STEPPER_TOO_HIGH); MYSERIAL.println(step_rate); }//(20kHz this should never happen)

დაბრუნების ტაიმერი;

ანუ, თუ ტაიმერის ტკიპის სიხშირე უფრო მეტია, ვიდრე 20 KHz, აქ ის შემცირდება. ზოგადად, შეიძლება საჭირო გახდეს იმ ადგილების შემოწმება, სადაც გარკვეული შეზღუდვები გვხვდება. მაგალითად, აქ არის თავის მოძრაობის გაანგარიშების ფუნქცია, აჩქარების გათვალისწინებით (სწორედ ამის გამო მოვიყვანე ტრაპეციული სიჩქარის თეორია)

ძალადაკარგულად გამოთვალეთ_ბლოკვის_თერაპიისთვის (block_t * ბლოკი, float entry_factor, float exit_factor) (

ხელმოუწერელი გრძელი საწყისი_ხარისხი \u003d ჭერი (ბლოკი-\u003e ნომინალური_გრადუსი * შესვლის_ფაქტორი); // (ნაბიჯი / წთ)

ხელმოუწერელი გრძელი საბოლოო_ შეფასება \u003d ჭერი (ბლოკი-\u003e ნომინალური_რაიტი * გასასვლელი_ფაქტორი); // (ნაბიჯი / წთ)

// მინიმალური ნაბიჯის სიჩქარის შეზღუდვა (წინააღმდეგ შემთხვევაში ტაიმერი გადაივსება.)

თუ (საწყისი_ხალი<120) {

საწყისი_გარიჯი \u003d 120;

თუ (საბოლოო_ანგარიშს< 120) {

საბოლოო_ანგარიში \u003d 120;

მართალია, აქ გამოიყენება მინიმალური სიჩქარე ისე, რომ 16 ბიტიანი ტაიმერი არ გადაიზარდოს. ამასთან, ეს გვიჩვენებს, რომ შემოწმებები შეიძლება დაიმალოს კოდის ნებისმიერ წერტილში. ძნელი არ არის ძრავების მუსიკალური შენარჩუნება. თუმცა, პრინციპში, ყველაფერი რეალურია. არა ის, რომ შევიძინეთ ახალი დრაივერები, გამოვასწორეთ რამდენიმე მუდმივა და ეს არის ყველაფერი. ეს მუსიკალურობა ლამაზია, მაგრამ მატყუარა.

დასკვნა

სტატიიდან ჩანს, რომ ფაქტია, რომ აზრი აქვს სამგზავრო ძრავების X და Y დრაივერების შეცვლა დამხმარე მიკროსეპით 1/32. Arduino– ს (AVR– ზე დაფუძნებული კონტროლერის საშუალებით) გამოყენებისას, შეიძლება არ იყოს სრული სამართლიანობა, თუ ის 10 კჰც – ზე მეტია. ნაბიჯების პატიოსნების შემოწმება ARM პროცესორისთვის კვლავ აქტიურ ფაზაშია, მაგრამ დანამდვილებით უკვე ცნობილია, რომ მინიმუმ თქვენ მოგიწევთ firmware- ში შეზღუდვების მოხსნა ან შეცვლა.

არაპროფესიონალ ან ნახევრად პროფესიონალურ 3D პრინტერთან მუშაობის დაწყებამდე, ასევე ნაკრების თვითშეწყობისთვის, ხშირად საჭიროა firmware- ის ”შევსება” და კონფიგურაცია. Firmware არის პროგრამის კოდი, რომლის ძირითადი ამოცანებია: G- კოდის კითხვა და რეპროდუცირება, პრინტერის კონტროლი სხვადასხვა ინტერფეისის საშუალებით, ბეჭდვის პროცესის შესახებ ინფორმაციის ჩვენება. სხვა სიტყვებით რომ ვთქვათ, firmware საჭიროა იმისთვის, რომ აპარატურა და ელექტრონიკის კომპლექტი "გაცოცხლდეს" და მათი კონტროლირებად შესაძლებელი გახდეს. Firmware ატვირთულია საკონტროლო დაფაზე. სხვადასხვა 3D პრინტერებს აქვთ სხვადასხვა მართვის დაფები, შესაბამისად, firmware ასევე განსხვავებულია.

ჩვენი Prusa i3 Steel 3D პრინტერები იყენებენ Arduino Mega 2560 და Ramps 1.4 დაფების შეკვრას, ამიტომ ამ სტატიაში უკეთ გადავხედავთ და გავაანალიზებთ მათთვის შესაფერისი firmware- ის მარლინს.

თუ ჯერ არ გაქვთ შეგროვებული ელექტრონიკა, გადახედეთ სტატიას:

ეს firmware ერთ-ერთი ყველაზე პოპულარულია, ასევე იმის გამო, რომ დეველოპერები მას რეგულარულად უმატებენ ახალ მახასიათებლებს: ხარვეზის ავტომატური რეგულირება, ბარის ბოლოს სენსორი და მრავალი სხვა. უფრო მეტიც, ეს firmware აბსოლუტურად უფასოა და მისი ჩამოტვირთვა შეგიძლიათ ოფიციალური ვებსაიტიდან.

სად უნდა მიიღოთ?

Marlin firmware- ის უახლესი ვერსია ხელმისაწვდომია დეველოპერის ოფიციალურ ვებ – გვერდზე https://github.com/MarlinFirmware/Marlin. შეგიძლიათ ჩამოტვირთოთ firmware- ის ადრინდელი ვერსია ბმულიდან. საიტზე ასევე არსებობს მრავალი სხვადასხვა ვერსია, მაგრამ ჩვენ გირჩევთ ჩამოტვირთოთ უახლესი ვერსია, რომელიც აღინიშნება როგორც უახლესი გამოცემა. წერილის მომზადების დროს, ეს ვერსია არის 1.0.2-2

ქვემოთ ჩამოტვირთვისას, დააწკაპუნეთ კოდის კოდზე (zip) და ჩამოტვირთეთ firmware არქივი თქვენს კომპიუტერში. შემდეგ, ამოიღეთ არქივის შინაარსი საქაღალდეში.

მიმდინარეობს Arduino IDE ინსტალაცია

მას შემდეგ, რაც firmware გადმოწერეთ, უნდა შეცვალოთ იგი და შემდეგ დაწეროთ მართვის საბჭოს მიკროკონტროლერზე (Arduino mega 2560). ამ მიზნებისათვის გჭირდებათ Arduino IDE პროგრამა, რომლის ჩამოტვირთვა უფასოდ შეგიძლიათ Arduino– ს ოფიციალური ვებ – გვერდიდან.

Შენიშვნა! ეს Arduino IDE პროგრამა რეგულარულად განახლდება და შესაძლებელია, რომ firmware ატვირთეთ დაფაზე, შეიძლება წარმოიშვას პრობლემები Arduino IDE- ს ახალ ვერსიებში, კერძოდ, გამოვა შეცდომები და თქვენ ვერ შეძლებთ firmware- ის ჩაწერას მიკროკონტროლერი. ამიტომ, თუ პრობლემები წარმოიშვა, შეეცადეთ გადმოწეროთ პროგრამის ძველი ვერსია, მაგალითად, ვერსია 1.6.0)

საიმედოობისთვის დაუყოვნებლივ შეგიძლიათ ჩამოტვირთოთ გამოცდილი ვერსია 1.6.0


დააჭირეთ Windows Installer- ს და გადამისამართდებით სხვა გვერდზე, სადაც უნდა დააჭიროთ ღილაკს JUST DOWNLOAD, შემდეგ დაიწყება ფაილის ჩამოტვირთვა. დააინსტალირეთ პროგრამა და გადადით შემდეგ ეტაპზე.

რედაქტირება Marlin Firmware

თქვენ გადმოწერე პირდაპირ Marlin- ის firmware და Arduino IDE პროგრამა, რომლითაც შეგიძლიათ შეცვალოთ. გახსენით "მარლინის" firmware საქაღალდე, იპოვნეთ "Marlin" ფაილი .ino გაფართოებით


გახსენით ეს ფაილი, გაიხსნება Arduino IDE


პროგრამის ფანჯრის ზედა ნაწილში ბევრი ჩანართია, რომელთაგან თითოეული შეიცავს კოდის ნაწილებს, რომელზეც დამოკიდებულია 3D პრინტერის ფუნქციონირება. თქვენ გჭირდებათ მხოლოდ რამდენიმე მთავარი ჩანართი. პირველი და მთავარი ჩანართია "Configuration.h"


ეს არის კონფიგურაციის ფაილი, რომელიც შეიცავს ძირითად პარამეტრებს. სწორედ ამ ჩანართში უნდა გააკეთოთ ძირითადი ცვლილებები.

Შენიშვნა! შეასრულეთ firmware- ის ყველა ცვლილება ზემოდან ქვემოთ. ეს ცვლილებები აისახება კოდის მთავარ განყოფილებებზე და ისინი აუცილებელია თქვენი 3D პრინტერის საწყისი ამოსაღებად.

დააყენეთ ბოდის საჭირო მაჩვენებელი

პირველი, რაც უნდა შეიცვალოს, არის ბოდის მაჩვენებელი. სტანდარტულად, სიჩქარეა 250,000 (კოდის 47 ხაზი)

// ეს განსაზღვრავს პრინტერის კომუნიკაციის სიჩქარეს # განსაზღვრავს BAUDRATE 250000


// ეს განსაზღვრავს პრინტერის საკომუნიკაციო სიჩქარეს # განსაზღვრავს BAUDRATE 115200

თუ დაფას იყენებთ, მაშინ სიჩქარე უნდა იყოს 250,000.

საკონტროლო დაფის არჩევა

Baud– ის სიჩქარის დაყენების შემდეგ, უნდა მიუთითოთ გამოყენებული საკონტროლო დაფა (კოდის 55 ხაზი).

#ifndef MOTHERBOARD # განსაზღვრეთ Motherboardboard Board_ULTIMAKER #endif


სტანდარტულად, Ultimaker 3D პრინტერის დაფა BOARD_ULTIMAKER, ასე რომ თქვენ უნდა შეცვალოთ დაფა. დაფების მთელი სია მოცემულია ჩანართში "BOARDS_H"


მოცემულია სხვადასხვა დაფის უზარმაზარი სია, მაგრამ თქვენ გჭირდებათ მხოლოდ შემდეგი:

# განსაზღვრეთ BOARD_RAMPS_13_EFB 33 // RAMPS 1.3 / 1.4 (ენერგიის გამომუშავებები: ექსტრუდერი, გულშემატკივართა, საწოლი)

# განსაზღვრეთ BOARD_RAMPS_13_EEB 34 // RAMPS 1.3 / 1.4 (ენერგიის გამომუშავებები: Extruder0, Extruder1, Bed)

# განსაზღვრეთ BOARD_RAMPS_13_EFF 35 // RAMPS 1.3 / 1.4 (ენერგიის გამომუშავებები: ექსტრუდერი, გულშემატკივართა, გულშემატკივართა)

# განსაზღვრეთ BOARD_RAMPS_13_EEF 36 // RAMPS 1.3 / 1.4 (ენერგიის გამომუშავებები: Extruder0, Extruder1, Fan)

ეს დაფები არის Arduino mega 2560 და Ramps 1.4. თქვენი 3D პრინტერის მოდიფიკაციიდან გამომდინარე, უნდა აირჩიოთ შესაბამისი დაფა. მაგალითად, სტანდარტული შეკვრა 1 ექსტრუდერი + სამუშაო უბნის აფეთქება + გამათბობელი მაგიდა შეესაბამება BOARD_RAMPS_13_EFB დაფს

დაფის სახელი უნდა გადაწერა და შეიცვალოს ჩანართში "Configuration.h", შეცვალეთ შემდეგი სტრიქონები:


3D პრინტერის სახელის შეცვლა

დაყენებისას, აუცილებლად მიუთითეთ თქვენი 3D პრინტერის სახელი და მიუთითეთ ეს firmware- ში. Რისთვის? პრინტერის სახელი ნაჩვენებია მის LCD ეკრანზე, ასეთი შესაძლებლობა ზუსტად მოცემულია ამ ეკრანზე.

ნაკერების პოვნა: (59 ხაზი)

// # განსაზღვრეთ CUSTOM_MENDEL_NAME "ეს მენდელი"

# განსაზღვრებას წინ უძღვის "//" - ეს ნიშნავს, რომ ეს სტრიქონები კოდექსში არ არის გამოყენებული, მაგრამ განმარტებების როლს ასრულებს. ამ ხაზის გასააქტიურებლად საჭიროა ხაზის კომენტირების გაკეთება, ამოიღოთ // ხაზის წინ.

შეცვალეთ ნაგულისხმევი სახელი "This Mendel" თქვენი 3D პრინტერის სახელით, მაგალითად "P3Steel". მივიღებთ შემდეგს:

ტემპერატურის სენსორის შერჩევა მაგიდისა და ექსტრუდერისთვის

ზემოთ მოყვანილი იყო firmware პარამეტრები 1 ექსტრუდერი და გამათბობელი მაგიდა, ანუ 3D პრინტერში არის ორი გამათბობელი ელემენტი, რომელთა ტემპერატურა უნდა დარეგულირდეს. ტემპერატურის კონტროლი ხორციელდება ტემპერატურის სენსორების - თერმოსტორების გამოყენებით.

არსებობს დიდი რაოდენობით სხვადასხვა თერმისტორი, სხვადასხვა მახასიათებლით, ამიტომ firmware– ში უნდა მიუთითოთ რომელი თერმოსტორი გაქვთ. ეს აუცილებელია იმისთვის, რომ პრინტერმა მომავალში აჩვენოს სწორი ტემპერატურა. Firmware- ში იპოვეთ მხარდაჭერილი თერმოსტორების სია:

//// ტემპერატურის სენსორის პარამეტრები: // -2 არის თერმოდაწყვილება MAX6675– ით (მხოლოდ სენსორისთვის 0) // -1 არის თერმოდაწყვილება AD595– ით // 0 არ არის გამოყენებული // 1 არის 100k თერმოსტორი - საუკეთესო არჩევანი EPCOS 100k (4.7 k pullup) // 2 არის 200k თერმისტორი - ATC Semitec 204GT-2 (4.7k pullup) // 3 არის Mendel- ნაწილების თერმისტორი (4.7k pullup) // 4 არის 10k თერმისტორი !! არ გამოიყენოთ იგი ცხელი წერტილისთვის. ეს იძლევა ცუდი რეზოლუციის მაღალი ტემპერატურა. !! // 5 არის 100K თერმოსტორი - ATC Semitec 104GT-2 (გამოიყენება ParCan & J-Head- ში) (4.7 კგ გაყვანა) // 6 არის 100 კ EPCOS - არც ისე ზუსტია, როგორც ცხრილი 1 (შექმნილია თერმოკულოპის გამოყენებით) (4.7 კმ გაყვანა) ) // 7 არის 100k Honeywell თერმისტორი 135-104LAG-J01 (4.7k pullup) // 71 არის 100k Honeywell თერმისტორი 135-104LAF-J01 (4.7k pullup) // 8 is 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) / / 9 არის 100k GE Sensing AL03006-58.2K-97-G1 (4.7k pullup) // 10 is 100k RS thermistor 198-961 (4.7k pullup) // 11 is 100k beta 3950 1% thermistor (4.7k pullup) / / 12 არის 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) (დაკალიბრებული Makibox ცხელი საწოლისთვის) // 13 არის 100k Hisens 3950 1% 300 ° C ტემპერატურისთვის "Simple ONE" და "Hotend" All In One "// 20 არის PT100 სქემა, რომელიც გვხვდება Ultimainboard V2.x // 60 is 100k Maker "s Tool Works Kapton Bed Thermistor beta \u003d 3950 // // 1k ohm pullup მაგიდები - ეს არ არის ნორმალური, თქვენ უნდა შეცვლილიყო თქვენი 4.7 კ 1 კ // (მაგრამ იძლევა უფრო მეტ სიზუსტეს და უფრო სტაბილურ PID- ს) // 51 არის 100k თერმისტორი - EPCOS (1k pullup) // 52 is 200k thermistor - ATC Semitec 204GT-2 (1k pullup) // 55 is 100k termistor - ATC Semitec 104GT-2 (გამოიყენება ParCan & J-Head) (1k pullup) / / // 1047 არის Pt1000 4k7 pullup // 1010 არის Pt1000 1k pullup (არასტანდარტული) // 147 არის Pt100 4k7 pullup // 110 არის Pt100 1k pullup (არასტანდარტული)

იპოვნეთ საკუთარი სიაში, გახსოვდეთ ნომერი მარცხნივ. როგორც წესი, ბევრი იყენებს ჩინურ 100 კვ თერმოსტორს, მისთვის შესაფერისია თერმისტორის ნომერი "1".

// 1 არის 100k თერმოსტორი - საუკეთესო არჩევანი EPCOS 100k (4.7k pullup)

შეიტანეთ ცვლილებები სადაც გსურთ (ხაზები 115-118)

# განსაზღვრეთ TEMP_SENSOR_0 -1 # განსაზღვრეთ TEMP_SENSOR_1 -1 # განსაზღვრეთ TEMP_SENSOR_2 0 # განსაზღვრეთ TEMP_SENSOR_BED 0

სტანდარტულად, პირველი ორი თერმისტორი გააქტიურებულია firmware- ში:

TEMP_SENSOR_0 - პასუხისმგებელია პირველი ექსტრაუდერის თერმოსტორზე

TEMP_SENSOR_1 - პასუხისმგებელია მეორე ექსტრაუდერის თერმოსტორზე

TEMP_SENSOR_BED - პასუხისმგებელია მაგიდის თერმოსტორზე

შეცვალეთ ხაზები და მიიღეთ შემდეგი:


TEMP_SENSOR_1 და TEMP_SENSOR_2 არ არის გამოყენებული, ამიტომ მათ წინ "0" ნულს ვდებთ.

მაქსიმალური ტემპერატურის შეზღუდვა

მაქსიმალური ტემპერატურის შესამცირებლად საჭიროა შემდეგი ხაზები (140-143)

# განსაზღვრეთ HEATER_0_MAXTEMP 275 # განსაზღვრეთ HEATER_1_MAXTEMP 275 # განსაზღვრეთ HEATER_2_MAXTEMP 275 # განსაზღვრეთ BED_MAXTEMP 150

მარჯვნივ მოცემული რიცხვები, კერძოდ 275 და 150, შესაბამისად ექსტრაუდისა და გათბობის მაგიდის მაქსიმალური ტემპერატურაა.

როდესაც ტემპერატურა აღემატება მაქსიმალურ ტემპერატურას, თქვენი გამათბობელი გამორთულია. ეს ფუნქცია არსებობს თქვენი ექსტრუდერი შემთხვევითი გადახურებისგან დასაცავად. თუ შიგნით იყენებთ ტეფლონის ცხელ წერტილს, გირჩევთ, შეზღუდოთ ტემპერატურა 260 გრადუსამდე.

მინიმალური ტემპერატურის შეზღუდვა

ასევე, firmware– ში, ნაგულისხმევად, მოქმედებს ექსტრაუდერის მინიმალური ტემპერატურა 170 გრადუსით. ეს ნიშნავს, რომ თუ ექსტრაუდერის ტემპერატურა 170 გრადუსზე დაბალია, მაშინ ექსტრუდერი ძრავა არ ბრუნავს და პლასტიკი არ იკვებება. დაცვა თბური პლასტმასის გაჟონვისგან (ხაზი 230).

# განსაზღვრეთ EXTRUDE_MINTEMP 170

თუ გსურთ გამორთოთ ეს ფუნქცია, ხაზის წინ დააყენეთ "//"

ლიმიტის კონცენტრატორების დაყენება

ლიმიტის კონცენტრატორების ლოგიკის კონფიგურაცია

უპირველეს ყოვლისა, ის, რასაც ყურადღება უნდა მიაქციოთ არის ის, თუ რომელი ლიმიტის გადამრთველები იყენებთ და რა არის მათი მუშაობის პრინციპი. Firmware- ში საჭიროა სწორად მიუთითოთ ლიმიტის კონცენტრატორების ლოგიკა. იპოვნეთ შემდეგი ხაზები (301-306)

Const bool X_MIN_ENDSTOP_INVERTING \u003d მართალია; // დაყენებულია სიმართლეზე endstop- ის ლოგიკის დასაბრუნებლად. const bool Y_MIN_ENDSTOP_INVERTING \u003d მართალია; // დაყენებულია სიმართლეზე endstop- ის ლოგიკის დასაბრუნებლად. const bool Z_MIN_ENDSTOP_INVERTING \u003d მართალია; // დაყენებულია სიმართლეზე endstop- ის ლოგიკის დასაბრუნებლად. const bool X_MAX_ENDSTOP_INVERTING \u003d მართალია; // დაყენებულია ჭეშმარიტად, რომ დასრულდეს შეჩერებული ლოგიკის ლოგიკა. const bool Y_MAX_ENDSTOP_INVERTING \u003d მართალია; // დაყენებულია ჭეშმარიტად, რომ დასრულდეს შეჩერებული ლოგიკა. const bool Z_MAX_ENDSTOP_INVERTING \u003d მართალია; // დაყენებულია ჭეშმარიტად, რომ დასრულდეს შეჩერებული ლოგიკის ლოგიკა.

თუ თქვენ გაქვთ მექანიკური ლიმიტის კონცენტრატორები, ჩართვისას წრე დახურულია, შესაბამისი ღერძის თითოეული ხაზის წინ დააყენეთ მნიშვნელობები "ნამდვილი". თუ ოპტიკური ლიმიტის კონცენტრატორებს იყენებთ, ჩართვისას წრე იხსნება, შესაბამისი ღერძის თითოეული ხაზის წინ დააყენეთ მნიშვნელობები "ყალბი".

სტანდარტულად, თითოეული ლიმიტის გადამრთველის საწინააღმდეგო firmware არის მითითებული "true", რომელიც შეესაბამება მექანიკურ ლიმიტის კონცენტრატორებს.

ლიმიტის კონცენტრატორების მუშაობის კონფიგურაციის შემდეგ, შეგიძლიათ შეამოწმოთ ბრძანება M119 კონსოლში.
ტექსტი უნდა მოვიდეს საპასუხოდ:
x_min: ღია - ტრეილერი არ მუშაობდა;
x_min: TRIGGERED - ტრეილერი გააქტიურებულია.

"HOME" პოზიციის დაყენება - სახლი

Firmware მხარს უჭერს 3 წყვილ ლიმიტის კონცენტრატორს: თითოეული X, Y და Z ღერძისთვის ორი ლიმიტი კონცენტრატორია მინიმალური და მაქსიმალური როგორც წესი, ლიმიტის კონცენტრატორები დამონტაჟებულია მხოლოდ თითოეული ღერძის მინიმალური პოზიციისთვის, ხოლო მაქსიმუმი მითითებულია firmware- ში.

სახლის პოზიცია (საწყისი პოზიცია) იქნება ლიმიტის კონცენტრატორების მინიმალური პოზიციები და ეს დაყენებულია firmware- ში: (ხაზები 337-339)

# განსაზღვრეთ X_HOME_DIR -1 # განსაზღვრეთ Y_HOME_DIR -1 # განსაზღვრეთ Z_HOME_DIR -1

ძრავების ბრუნვის მიმართულების შეცვლა

3D პრინტერის აწყობისას, კერძოდ, სტეპური ძრავების დაფაზე დაკავშირებისას, შესაძლებელია შემდეგი სიტუაცია: როდესაც თქვენ გაქვთ ყველაფერი კონფიგურირებული და დაკავშირებული, როდესაც დააჭირეთ "სახლს", ერთი ღერძის ვაგონი სხვა მიმართულებით მიდის (არა ლიმიტის გადამრთველამდე), მაშინ აუცილებელია სტეპერის ძრავის კონექტორი 180 გრადუსით ან შეცვალოთ მნიშვნელობები firmware- ში:

# განსაზღვრეთ INVERT_X_DIR ჭეშმარიტი // მენდელისთვის დაყენებულია ცრუ, ორკასთვის სიმართლისთვის # განსაზღვრეთ INVERT_Y_DIR ყალბი // მენდელისთვის დაყენებული ჭეშმარიტი, ორკასთვის თვალის დევნისა true # განსაზღვრეთ INVERT_E0_DIR ყალბი // პირდაპირი წამყვანი ექსტრუდერისთვის v9 დაყენებულია ჭეშმარიტი, გადაცემული ექსტრუდერი დაყენებულია ცრუზე პირდაპირი დრაივი extruder v9 დაყენებულია true, ამისთვის გადაცემული extruder დაყენებულია false

მაგალითად, თუ Y ღერძის ეტლი გაქვთ სხვა მიმართულებით, მაშინ უნდა იპოვოთ ხაზი

# განსაზღვრეთ INVERT_Y_DIR ყალბი // მენდელისთვის დაყენებულია ჭეშმარიტი, ორკასთვის კი ცრუ

და შეცვალეთ "ყალბი" "ჭეშმარიტად". ასე რომ, თითოეული ღერძი და ექსტრუდერი.

მოძრაობის ზომების დაყენება

იმისათვის, რომ 3D პრინტერმა დაადგინოს სამუშაო არე, firmware- ში უნდა მიუთითოთ მისი ზომები: (ხაზები 345-350)

# განსაზღვრეთ X_MAX_POS 205 # განსაზღვრეთ X_MIN_POS 0 # განსაზღვრეთ Y_MAX_POS 205 # განსაზღვრეთ Y_MIN_POS 0 # განსაზღვრეთ Z_MAX_POS 200 # განსაზღვრეთ Z_MIN_POS 0

თითოეული ხაზის საპირისპიროდ მიუთითეთ შესაბამისი ზომები, სტანდარტულად სამუშაო ფართობი 205x205x200 მმ

ღერძების გასწვრივ მოძრაობის საფეხურების დაყენება

სტეპერული ძრავების ნაბიჯების რაოდენობის მითითება არის firmware- ის ერთ-ერთი მთავარი პარამეტრი (სტრიქონი 490):

# განსაზღვრეთ DEFAULT_AXIS_STEPS_PER_UNIT (78.7402,78.7402,200.0 * 8 / 3,760 * 1.1) // ნაგულისხმევი ნაბიჯები ერთეულში ულტიმეიკერისთვის

ფრჩხილებში, თითოეული ღერძისთვის მძიმით გამოყოფილი, მითითებულია ნაბიჯების რაოდენობა, რომლებიც სტეპინგმატორმა უნდა შეასრულოს ვაგონის 1 მმ სიგრძის გასავლელად. სად შეიძლება მივიღოთ ეს მნიშვნელობები? შეგიძლიათ გამოთვალოთ ან აიღოთ უკვე ცნობილი პირობა.

X და Y ღერძების გაანგარიშება (ქამრები)

ყველა ღერძს აქვს სტეპური ძრავა 200 ნაბიჯზე თითო რევოლუციაზე, 16 მიკრო ნაბიჯი ნაბიჯზე (ეს არის მითითებული მხტუნავით დაფაზე).

X და Y ღერძების გასწვრივ არის 2 მმ GT2 წამყვანი ღვედი და 20 კბილიანი ამძრავები.

გამოდის:

(200*16)/(2.0*20)=80

სტეპერის ძრავას იმდენი ნაბიჯის გადადგმა სჭირდება, რომ X და Y ღერძი ზუსტად 1 მმ გაიაროს.

თუ თქვენ გაქვთ Gt2 დაკბილული პლეი 2 მმ სიმაღლით და 20 კბილით, მაშინ ფორმულაა:

(200*16)/(2.0*16)=100

Z ღერძის გაანგარიშება (ტყვიის ხრახნი)

Z ღერძი შეიძლება იყოს:

  • Stud M8 ძაფის სიმაღლით 1.25 მმ, შემდეგ ფორმულა: 200 * 16 / 1.25 \u003d 2560
  • Stud M5 0.8 მმ სიმაღლით, შემდეგ ფორმულა: 200 * 16 / 0.8 \u003d 4000
  • ტრაპეციული ხრახნი 8 მმ დიამეტრით 1 მმ სიმაღლით და 1 ტყვიით, შემდეგ ფორმულა: 200 * 16/1 \u003d 3200
  • ტრაპეციული ხრახნი 8 მმ დიამეტრით 2 მმ სიმაღლით და 1 ტყვიით, შემდეგ ფორმულა: 200 * 16/2 \u003d 1600
  • ტრაპეციული ხრახნი 8 მმ დიამეტრით 2 მმ სიმაღლით და 4 დასაწყისით, შემდეგ ფორმულა: 200 * 16/2 * 4 \u003d 400

Pruse i3 Steel იყენებს M5 საყრდენებს, მაშინ ეს რიცხვი 4000-ია.

ექსტრუდერის გაანგარიშება

ექსტრაუდერის კვების ელემენტის დაყენება დამოკიდებულია შემცირების კოეფიციენტზე და კვების მექანიზმის დიამეტრზე. ნაბიჯების რაოდენობა, რომლებიც უნდა გააკეთოს ექსტრუტერის სტეპმატორმა, პლასტმასის 1 მმ-ით გასაქრობად, შეირჩევა ექსპერიმენტულად firmware- ის 3D შევსების შემდეგ 3D პრინტერში.

გახსენით საქშენა და შეამცირეთ მინიმალური ტემპერატურის ზღვარი 5 გრადუსამდე:

# განსაზღვრეთ EXTRUDE_MINTEMP 5

ექსტრუდერი ახლა ცივი საქშენით იმოძრავებს. ექსტრაუდერის პარამეტრების შეცვლის გარეშე, დააჭირეთ პლასტმასის 100 მმ-ით გასატარებლად. გაზომეთ სიგრძის ზოლი, რომელიც გავიდა ექსტრაუდერში, სახაზავით ან ვერნიერის საზომით.

ექსტრაუდერის პარამეტრის არჩევისას მიაღწიეთ ზუსტ ფიგურას ზოლის გასწვრივ სიგრძეს, მაგალითად 200 მმ. დაყენების შემდეგ, გადააყენეთ მინიმალური ტემპერატურის შეზღუდვები:

# განსაზღვრეთ EXTRUDE_MINTEMP 170

ღერძების გასწვრივ გადაადგილების მაქსიმალური სიჩქარის შეზღუდვა

# განსაზღვრეთ DEFAULT_MAX_FEEDRATE (500, 500, 5, 25) // (მმ / წმ)

სტანდარტულად, სიჩქარე 500,500.5, 25 მმ / წმ X, Y, Z ღერძებზე და ექსტრადერაზე, შესაბამისად. ჩვენ გირჩევთ შეამციროთ სიჩქარე 500-დან 200-მდე.

ღერძების გასწვრივ მოძრაობის აჩქარების დაყენება

კიდევ ერთი მნიშვნელოვანი პარამეტრია სხვადასხვა ღერძის აჩქარების დაყენება, რადგან ამ მომენტის არასწორი დაყენების გამო, ბეჭდვის დროს ხშირად წარმოიქმნება პრობლემები, კერძოდ, ფენების გადაადგილება საავტომობილო საფეხურების გამოტოვების გამო. თუ აჩქარებას ძალიან მაღალს დააყენებთ, მაშინ ხარვეზები იქნება. სტანდარტულად, firmware შეიცავს შემდეგ მნიშვნელობებს:

# განსაზღვრეთ DEFAULT_MAX_ACCELERATION (9000,9000,100,10000) // დაჩქარებული სვლების X, Y, Z, E მაქსიმალური საწყისი სიჩქარე. E ნაგულისხმევი მნიშვნელობები კარგია Skeinforge 40+ - ისთვის, ძველი ვერსიებისთვის ისინი ბევრს ზრდის. # განსაზღვრეთ DEFAULT_ACCELERATION 3000 // X, Y, Z და E მაქსიმალური აჩქარება mm / s ^ 2 ბეჭდვის მოძრაობებისთვის # განსაზღვრეთ DEFAULT_RETRACT_ACCELERATION 3000 // X, Y, Z და E მაქსიმალური აჩქარება მმ / წმ ^ 2-ში

X და Y ღერძებისთვის, აჩქარება 9000 მმ / წმ 2 - ეს ბევრია.

საწყისი პარამეტრისთვის დააყენეთ არაუმეტეს 1000, ხოლო DEFAULT_ACCELERATION– ისთვის 3000 – ის ნაცვლად.

ეკრანის გააქტიურება

ბოლო რაც უნდა გავაკეთოთ არის თქვენთვის სასურველი ეკრანის გააქტიურება. ერთ-ერთი ყველაზე პოპულარული ჩვენებაა. იპოვნეთ და გააუქმეთ შემდეგი ხაზები:

# განსაზღვრეთ ULTRA_LCD # განსაზღვრეთ SDSUPPORT # განსაზღვრეთ ULTIPANEL # განსაზღვრეთ REPRAP_DISCOUNT_SMART_CONTROLLER

ამ სტრიქონებს არ უნდა უსწრებდეს "//". თქვენ უნდა მიიღოთ შემდეგი:


შეავსეთ firmware

Firmware– ში განხორციელებული დიდი ცვლილებების შემდეგ შეგიძლიათ ატვირთოთ იგი. Arduino IDE- ში გადადით ჩანართზე "Tools" -\u003e "Board" და აირჩიეთ "Arduino / Genuino Mega ან Mega 2560"


აქ უნდა დააყენოთ თქვენი 3D პრინტერის სწორი COM პორტი. Firmware შევსების მიზნით, დააჭირეთ წრეს ისრით.


Firmware ატვირთვის პროგრესი მითითებულია ინდიკატორით და წარმატებით დასრულების შემდეგ ეკრანზე გამოჩნდება დადასტურების შეტყობინება.

გამარჯობა დამწყებ და პროფესიონალებო!

ახლახან მოვედი 3D ბეჭდვის სამყაროში და ძალიან მცირე გამოცდილება მაქვს ამ ბიზნესში. მაგრამ რაღაც მინდა გითხრათ. კერძოდ, პრინტერის ცხრილის დაკალიბრების იდეა.

მეთოდი დიდ დროს არ იღებს, არ საჭიროებს იშვიათ საზომ ინსტრუმენტს, საკმაოდ ზუსტი და მარტივია.

ასეთი კალიბრაციის იდეა ამ სურათის შემდეგ გაჩნდა:

როგორც სურათებიდან ჩანს, საზღვრის ზედა ნაწილი კარგად არის დაბეჭდილი, ერთმანეთზე წებებული (0,2 მმ სისქით), ხოლო ქვედა ნაწილი არ არის წებოვანი (0,3 მმ სისქის).

ცხრილის დაკალიბრებისთვის გჭირდებათ:

კლავიშების / ხრახნების კომპლექტი ცხრილის მოსაწესრიგებლად, ვინ რას არეგულირებს;

ვერნიერის საზომი (იდეალურია ვერნიესთან (მასშტაბი) 0,05);

ტესტის მოდელი - http: // site / 3d-models / detali-dlya-3d-printerov / raznoe / test_gorizont /

ჩემს შემთხვევაში, მაგიდა მორგებულია სამი ხრახნით, ასე რომ, მოდელი ასე გამოიყურება. თითოეული წრე თავის ხრახნთან არის ახლოს. L - მარცხენა, R - მარჯვნივ, Z - უკან, C - ცენტრში (ზედაპირის მრუდის დასადგენად). შრის სისქე 0,2 მმ საზღვართან. თქვენს შემთხვევაში შეგიძლიათ გააკეთოთ ეს თქვენი გზით.

მოდელის ელემენტი (ცენტრი):

მოდით დავიწყოთ.

წინასწარი დაკალიბრება:

ვიღებთ A4 ფურცელს და ვაწყობთ ცხრილს, როგორც ეს აღწერილია ბევრ სტატიასა და ვიდეოში ინტერნეტში.

ეს მეთოდი შეიძლება გამოყენებულ იქნას მაგიდის სრულყოფილად მოსაწყობად, მაგრამ! თქვენ ვერ შეძლებთ შეაფასოთ საკმარისი / არასაკმარისი ქაღალდის დამჭერი ძალა. მარტივი სრიალი ყველასთვის შეიძლება განსხვავებული იყოს.

ზოგადად, ჩვენ უხეშად დავარეგულირეთ.

საბოლოო დაკალიბრება:

ჩვენ ვბეჭდავთ მოდელს. როგორც სკრინშოტიდან ჩანს - ბეჭდვას 2 წუთი სჭირდება, გადახრებისა და დათბობის გათვალისწინებით - 5 წუთი.

ველოდებით მის გაგრილებას მოდელის გაგრილებას. მე არ დაელოდა, მაგრამ უბრალოდ ყალბი საკანცელარიო დანით, ABS საშუალებას გაძლევთ.

მოაცილეთ წრეები, აიღეთ კალიპერი და გაზომეთ სისქე. ჩემს შემთხვევაში, ეს უნდა იყოს 0.2 მმ.

ზომის გადახრაზე დაყრდნობით, თქვენ განსაზღვრავთ, თუ რომელი მიმართულებით გჭირდებათ მაგიდის გადახრა ან ხრახნიანი ხრახნი. დარწმუნდით, რომ ყველა წრეს აქვს იგივე და სასურველი სისქე.

თუ წნევა აშკარად არასაკმარისია, როდესაც ძაფები არ არის ერთმანეთთან, ბეჭდის დროს ვარეგულირებ, სანამ ძაფები არ დაიწყებს ერთმანეთთან შეხებას. შემდეგ ვზომავ და ვაკეთებ კონტროლის ბეჭდვას მოდელის გაზომვებით.

ცენტრის გამოყენება ერთხელ შეიძლება განისაზღვროს ცხრილის ამობურცულობის ან კონვაკურობის დასადგენად. მაგრამ ზოგჯერ არ მწყინს კონტროლი.

წარმატებები და დაკალიბრებული მაგიდა ყველასთვის!

კრიტიკოსები და წინადადებები მისასალმებელია.

როგორც მოგეხსენებათ, 3D პრინტერზე მაღალი ხარისხის ბეჭდვისთვის საჭიროა მაგიდის ზედაპირის ფრთხილად გასწორება. სამწუხაროდ, ეს ყოველთვის არ არის შესაძლებელი. ხშირად მაგიდა არის მოღუნული ზედაპირი და მინის გამოყენებაც კი სრულად ვერ აგვარებს ამ პრობლემას. საბედნიეროდ, Marlin- ის უახლესი firmware უფრო და უფრო მეტ ყურადღებას ამახვილებს მაგიდის ზედაპირის დაკალიბრების შესაძლებლობაზე. სრულად ავტომატური დაკალიბრებისთვის საჭიროა დამატებითი სენსორების გამოყენება, რომელიც ყოველთვის არ არის ხელმისაწვდომი, მაგრამ ამის გარდა, მაგიდის დაკალიბრების შესაძლებლობა არსებობს სახელმძღვანელო რეჟიმში. ამაზე მინდა გითხრა.

ავტომატურად დაკალიბრების მხარდაჭერა firmware- ში

ხელით დაკალიბრების მხარდაჭერის ჩართვა

ქსელის ვარიანტების დაყენება

ყურადღება! არ გამოიყენოთ 7 ღერზე მეტი თითო ღერძზე. ეს არის firmware- ის შეზღუდვა.

ელემენტების დამატება პრინტერის მენიუში

კალიბრაციის შემდგომი დამწერლობა. აქ, ნაგულისხმევად, სხეულის ზოგიერთი მოძრაობა ექსტრუდერის მიერ, და არა ის, რომ ისინი საჭიროა. ამაში დარწმუნებული არ ვარ.

// # განსაზღვრეთ Z_PROBE_END_SCRIPT "G1 Z10 F12000 \\ nG1 X15 Y330 \\ nG1 Z0.5 \\ nG1 Z10"

ამის შემდეგ, შეავსეთ განახლებული firmware.

მაგიდის დაკალიბრება

ხელით დაკალიბრებისთვის გამოიყენება ე.წ. Mesh Bed Leveling (MBL). იმ კალიბრაციის მეთოდი წერტილების მასივით. შესაბამისად, ცხრილის ზედაპირი დაყოფილია ბადედ და Z კოორდინატები იზომება ქსელის კვანძებში Z ღერძის ხელით გადაადგილებით. სინამდვილეში, გაზომვისთვის საჭიროა მხოლოდ ფურცლის ფურცელი და სწორი მკლავები.

ექსტრაუდერის საქშენის ქვეშ თითოეულ წერტილში ჩვენ დავაფენთ ფურცელს და გადავავლებთ Z ღერძს (ან კომპიუტერიდან სპეციალური G ბრძანების გაგზავნით კომპიუტერიდან, ან პრინტერის მენიუს საშუალებით) ჩვენ მივაღწევთ ასეთ მდგომარეობას, როდესაც ექსტრაუდერის ფურცელი კვლავ შესაძლებელია თავისუფლად გადაადგილება და ექსტრაუდერის პოზიციის ერთი ნაბიჯით შემცირება უკვე ხელს უშლის ფურცლის გადაადგილებას. ამის შემდეგ, მიმდინარე წერტილი ჩაიწერება და ჩვენ გავაგრძელებთ შემდეგიდან და ასე ბოლომდე.

პროცესის ბოლოს, როდესაც ყველა წერტილი იზომება, შედეგებს ვწერთ პრინტერის არამქრებალ მეხსიერებას და ეს საკმარისია. მომავალში, თქვენ არ გჭირდებათ ზედაპირის შეცვლა თითოეული გამოყენებამდე - გამოყენებული იქნება შენახული მნიშვნელობები.

სტანდარტულად, კალიბრაციისთვის გამოიყენება 3 × 3 ქსელი, ანუ 9 ქულა, მაგრამ თუ გსურთ, შეგიძლიათ სხვა ნომერი დააყენოთ firmware- ში (არა უმეტეს 7 ღერძი, ანუ არაუმეტეს 49).

დაკალიბრების სიზუსტის კიდევ უფრო გასაზრდელად შეგიძლიათ შეასრულოთ მაგიდა და ექსტრადერი სამუშაო ტემპერატურაზე, სანამ შეასრულებთ მას. ეს გაითვალისწინებს და კომპენსაციას გაუწევს თერმული გაფართოებას.

გარე პროგრამის საშუალებით

მაგიდის დაკალიბრებისთვის არსებობს სპეციალური ბრძანება G29

  1. G29 S0 წაიკითხეთ მიმდინარე წერტილის მნიშვნელობები პრინტერის მეხსიერებაში.
  2. G29 S1 გადააქვს პრინტერი პირველ წერტილში დაყენების პროცესის დასაწყებად. სინამდვილეში, პრინტერი ჯერ სახლის მდგომარეობაში დგება, შემდეგ კი პირველ წერტილამდე მიდის.
  3. G29 S2 დაწერეთ მიმდინარე წერტილი და გადადით შემდეგზე
  4. ჩვენ ვიმეორებთ პროცესს ყველა პუნქტისთვის
  5. ჩვენ ვიყენებთ ბრძანებას M500, რომ დავწეროთ გაზომული მნიშვნელობები პრინტერის მეხსიერებაში

პრინტერის მენიუს საშუალებით

აირჩიეთ შემდეგი პუნქტები Presets მენიუში


შემდეგ ჩვენ ვხედავთ შემდეგ წარწერას ეკრანზე და ვუყურებთ თუ როგორ იწყებს პრინტერის საკუთარ მდგომარეობას


შემდეგ პრინტერი გვეპატიჟება, დააჭიროთ შიფრატორს.


დაწკაპუნების შემდეგ, ექსტრუდერი მიდის პირველ წერტილამდე


და ჩვენ ვხედავთ Z ღერძის კორექტირებას.



დააჭირეთ შიფრატორს, რომ შეინახოთ მნიშვნელობა და გადადით შემდეგ წერტილში. ჩვენ ვიმეორებთ თითოეული წერტილის დაკალიბრებას (სულ 9 მათგანია). ბოლო წერტილის შემდეგ, პრინტერი გაჩერდება და შემდეგს გვაჩვენებს:



სულ

ჩემს შემთხვევაში, ამ სახელმძღვანელო დაკალიბრებამაც კი მნიშვნელოვნად გააუმჯობესა ბეჭდვის ხარისხი. უფრო მეტიც, ეს შეიმჩნევა შეუიარაღებელი თვალით. დამატებითი ბონუსი იყო ის, რომ შევწყვიტე მინის წებოთი წებოთი უკეთესი გადაბმის მიზნით - იმის გამო, რომ დაკალიბრების შემდეგ პრინტერი ითვალისწინებს მაგიდის უსწორმასწორობას, პირველი ფენა ახლა აბსოლუტურად თანაბრად ჯდება და კარგად ჯდება. კიდევ ერთხელ, ეს მაშინვე აშკარაა. ადრე, უთანასწორობის გამო, ერთი ნაწილი უფრო უარესი იყო და შედეგად, მოდელი დაეცა წებოვანი საფარის გარეშე.