Სარჩევი:

CNC Drum Plotter: 13 ნაბიჯი (სურათებით)
CNC Drum Plotter: 13 ნაბიჯი (სურათებით)

ვიდეო: CNC Drum Plotter: 13 ნაბიჯი (სურათებით)

ვიდეო: CNC Drum Plotter: 13 ნაბიჯი (სურათებით)
ვიდეო: How to make mini CNC plotter 2D using scrap DVD 2024, ნოემბერი
Anonim
Image
Image
CNC დრამის შემქმნელი
CNC დრამის შემქმნელი

ეს ინსტრუქცია აღწერს პლასტმასის მილის მონაკვეთისგან დამზადებულ A4/A3 პლოტერს, ორ BYJ-48 სტეპერ ძრავას და SG-90 სერვო. არსებითად ეს არის ბრტყელი საწოლის პლოტერი, რომელიც შემოვიდა ბარაბანში.

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

ამ პლოტერს აქვს რიგი უპირატესობები ტრადიციულ ბრტყელტერფიან დიზაინერთან შედარებით:

  • მნიშვნელოვნად მცირე კვალი
  • საჭიროა მხოლოდ ერთი ხაზოვანი მეგზური რკინიგზა
  • მარტივი ასაშენებელი
  • იაფი

ბორტ თარჯიმანი იღებს gcode გამომავალს Inkscape– დან.

პლოტერთან კომუნიკაცია ხდება bluetooth ბმულის საშუალებით.

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

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

ნაბიჯი 1: წრე

წრე
წრე

მიკროსქემის შემადგენლობაში შედის Arduino UNO R3 მიკროკონტროლერი და პერსონალური ფარი, რომელზედაც დამონტაჟებულია დისკრეტული კომპონენტები. ენერგია გამოიყენება გარე 5 ვოლტი 1 ამპ რეგულატორის საშუალებით. საშუალო დენი არის დაახლოებით 500mA.

BYJ-48 საფეხურებიანი ძრავები მიმაგრებულია PORTB (ქინძისთავები D8, D9, D10, D11) და PORTC (ქინძისთავები A0, A1, A2, A3). SG-90 კალამი-ლიფტის სერვო მიმაგრებულია პინ D3- ზე.

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

1k2 და 2K2 რეზისტორები აფერხებენ HC-06 bluetooth მოდულის დაზიანებას [1] არდუინიდან 5 ვოლტიანი გამომუშავების ვარდნით 3.3 ვოლტამდე.

[1] გათიშეთ HC-06 bluetooth მოდული არდუინოში კოდის USB პორტის საშუალებით ატვირთვისას. ეს თავიდან აიცილებს სერიული პორტის კონფლიქტს.

ნაბიჯი 2: ხაზოვანი დისკი

ხაზოვანი წამყვანი
ხაზოვანი წამყვანი
ხაზოვანი წამყვანი
ხაზოვანი წამყვანი
ხაზოვანი წამყვანი
ხაზოვანი წამყვანი

წრფივი დრაივი დამზადებულია 3 მმ x 32 მმ ალუმინის ბარის სიგრძისგან, ალუმინის ფურცლის ზოლისგან და ოთხი პატარა ბურთის საყრდენი პულისაგან.

ალუმინი იყიდება ტექნიკის უმეტეს მაღაზიებში. U624ZZ 4x13x7 მმ U-groove პულელები ხელმისაწვდომია https://www.aliexpress.com– დან

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

საავტომობილო შეკრება

დაამონტაჟეთ BJY-48 საფეხურიანი ძრავა ბარის ერთ ბოლოში და მიამაგრეთ GT2 20 კბილი, 5 მმ-იანი ჭურვი, ძრავის ლილვზე. ახლა დააინსტალირეთ სხვა GT2 პულე თქვენი ბარის მეორე ბოლოში ისე, რომ პულეს შეეძლოს თავისუფლად ბრუნვა. ამის მისაღწევად გამოვიყენე 5 მმ დიამეტრის ტუბულარული (რადიო) გამყოფი და 3 მმ ჭანჭიკი.

ახლა მარყუჟის სიგრძე GT2 დროებითი ქამარი გარშემო pulleys. შეაერთეთ დროის ქამრის ბოლოები ნახევრად ბრუნვის საშუალებით ისე, რომ კბილები გადახვიდეთ და დააფიქსიროთ საკაბელო ჰალსტუხით.

ბოლოს მიამაგრეთ ვაგონის შეკრება დროის სარტყელზე საკაბელო ჰალსტუხით.

ვაგონის ასამბლეა

ვაგონის ასამბლეა დამზადებულია ალუმინის ფურცლის ზოლისგან [1], რომელზედაც U624ZZ პულებია შეკრული. საჭიროების შემთხვევაში გამოიყენეთ 4 მმ გამრეცხი ჭურჭელი ალუმინის ფურცლიდან.

ბორბლები, რომლებსაც აქვთ 4 მმ -იანი ღარი, ალუმინის ზოლს ზემოდან და ქვემოდან ისე ასხამენ, რომ ვერტიკალური მოძრაობა არ ხდება, მაგრამ ალუმინის ზოლები თავისუფლად მოძრაობს მარცხნივ და მარჯვნივ.

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

ალუმიუმის ზოლის "U" - ში მოხვლამდე, გააღეთ ხვრელი ზედა და ქვედა, თქვენი კალმის დიამეტრის შესაფერისად. ახლა დაასრულეთ მოსახვევები.

მიამაგრეთ დროის სარტყელი ვაგონის შეკრებაზე საკაბელო ჰალსტუხის და 3 მმ ჭანჭიკის ზედა ორ პულეს შორის.

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

მიამაგრეთ SG-90 სერვო ვაგონის ასამბლეის თავზე ერთი ან ორი საკაბელო კავშირების გამოყენებით.

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

მიამაგრეთ "საყელო" თქვენს კალამზე ისე, რომ კალამი მხოლოდ ბარაბანიდან იყოს გაშლილი, როდესაც სერვო არის კალამი-მაღლა.

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

ნაბიჯი 3: დრამი

დრამი
დრამი
დრამი
დრამი
დრამი
დრამი

ბარაბანი მოიცავს პლასტმასის მილის მონაკვეთს ორი ხის ბოლოსათვის [1].

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

6 მმ საინჟინრო ჭანჭიკი თითოეული ბოლო დანამატის ცენტრში ქმნის ღერძს.

დრამის ზომები

ბარაბნის ზომები განისაზღვრება თქვენი ქაღალდის ზომით. ბარაბნის დიამეტრი 100 მმ მხარს უჭერს A4 პორტრეტს და A3 ლანდშაფტს. ბარაბნის დიამეტრი 80 მმ მხოლოდ A4 ლანდშაფტს დაუჭერს მხარს. გამოიყენეთ რაც შეიძლება მცირე დოლის დიამეტრი ინერციის შესამცირებლად … BYJ-48 ძრავები მხოლოდ მცირეა.

ბარაბნის დიამეტრი 90 მმ იდეალურია A4 პორტრეტისთვის და A3 ლანდშაფტის ქაღალდისთვის, რადგან საპირისპირო კიდეები, როდესაც ბარაბანზეა შემოხვეული, გადახურულია დაახლოებით 10 მმ -ით, რაც იმას ნიშნავს, რომ თქვენ გაქვთ მხოლოდ ერთი ნაკერი შესაკრავად.

ბარაბანი ტრიალებს

თითოეული ღერძი გადის ალუმინის ბოლოში, ისე რომ ბარაბანი თავისუფლად ბრუნავს. ბოლო ათწილადის თავიდან აცილება შესაძლებელია GT-2, 20 კბილით, 6 მმ-იანი ჭურჭლით, ღერძი ერთ ბოლოში მიმაგრებული. უწყვეტი GT-2 დროის ქამარი აკავშირებს BJY-48 გადაცემათა კოლოფის ძრავას დრამთან. ძრავას სჭირდება რულეტი 5 მმ ჭაბურღილით.

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

ნაბიჯი 4: სამშენებლო რჩევები

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

მნიშვნელოვანია კალმის ორი ხვრელის ზუსტი ბურღვა. კალმის სახელმძღვანელოში ან ვაგონის შეკრებაში ნებისმიერი მოძრაობა გამოიწვევს რხევას X ღერძის გასწვრივ.

ნუ გადააჭარბებთ GT-2 დროის ქამრებს… ისინი უბრალოდ უნდა იყვნენ დაჭიმული. BYJ-48 საფეხურებრივ ძრავებს არ აქვთ დიდი ბრუნვის მომენტი.

BJY-48 საფეხურებიანი ძრავები ხშირად ავლენენ მცირე რაოდენობის უკუცემას, რაც უმნიშვნელოა X ღერძის გასწვრივ, მაგრამ შეშფოთებულია, როდესაც საქმე Y ღერძს ეხება. ამის მიზეზი ის არის, რომ Y- ღერძის ძრავის ერთი ბრუნვა უდრის ბარაბნის ერთ ბრუნვას, ხოლო კალამი-ვაგონი მოითხოვს ბრუნვის სიგრძის გასავლელად X- ღერძის ძრავის მრავალ შემობრუნებას. ნებისმიერი Y- ღერძის უკუსვლა შეიძლება აღმოიფხვრას ბარაბზე მუდმივი ბრუნვის შენარჩუნებით. მარტივი მეთოდია ბარაბანზე შემოხვეული ნეილონის კაბელზე მცირე წონის მიმაგრება.

ნაბიჯი 5: ბრეზენჰემის ხაზის ხატვის ალგორითმი

ბრეზენჰემის ხაზის ხატვის ალგორითმი
ბრეზენჰემის ხაზის ხატვის ალგორითმი
ბრეზენჰემის ხაზის ხატვის ალგორითმი
ბრეზენჰემის ხაზის ხატვის ალგორითმი

ეს პლოტერი იყენებს ბრეზენჰემის ხაზის ალგორითმის ოპტიმიზირებულ ვერსიას [1]. სამწუხაროდ, ეს ალგორითმი მოქმედებს მხოლოდ 45 გრადუსზე ნაკლები ან ტოლი ხაზების ფერდობებზე (ანუ წრის ერთი ოქტანტი).

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

დერივაცია

ამ ნაბიჯის დარჩენილი ნაწილი შეიძლება გამოტოვებული იყოს, თუ თქვენ იცნობთ ბრეზენჰემის ალგორითმს.

მოდით დავხატოთ ხაზი (0, 0) - დან (x1, y1) - მდე, სადაც:

  • x1 = 8 = ჰორიზონტალური მანძილი
  • y1 = 6 = ვერტიკალური მანძილი

წარმოშობის (0, 0) გავლით სწორი ხაზის განტოლება მოცემულია y = m*x განტოლებით, სადაც:

m = y1/x1 = 6/8 = 0.75 = ფერდობზე

მარტივი ალგორითმი

ამ ხაზის შედგენის მარტივი ალგორითმია:

  • int x1 = 8;
  • int y1 = 6;
  • float m = y1/x1;
  • ნაკვეთი (0, 0);
  • for (int x = 1; x <= x1; x ++) {
  • int y = მრგვალი (m*x);
  • ნაკვეთი (x, y);
  • }

ცხრილი 1: მარტივი ალგორითმი

x მ*x y
0 0.75 0 0
1 0.75 0.75 1
2 0.75 1.5 2
3 0.75 2.25 2
4 0.75 3 3
5 0.75 3.75 4
6 0.75 4.5 5
7 0.75 5.25 5
8 0.75 6 6

ამ მარტივ ალგორითმს ორი პრობლემა აქვს:

  • მთავარი მარყუჟი შეიცავს გამრავლებას, რომელიც ნელია
  • ის იყენებს მცურავი წერტილების რიცხვებს, რაც ასევე ნელია

Y ხაზის y წინააღმდეგ x ამ ხაზისთვის ნაჩვენებია ზემოთ.

ბრეზენჰემის ალგორითმი

ბრეზენჰემმა შემოიღო ცდომილების ცნება "e", რომელიც ინიციალიზებულია ნულამდე. მან გააცნობიერა, რომ 1 ცხრილში ნაჩვენები m*x მნიშვნელობები შეიძლება მიღებულ იქნეს 'e' - ზე თანმიმდევრული დამატებით. მან ასევე გააცნობიერა, რომ y იზრდება მხოლოდ იმ შემთხვევაში, თუ m*x- ის წილადი ნაწილი 0.5 -ზე მეტია. მისი შედარებისთვის 0 <= 0.5 <= 1 დიაპაზონში, ის გამოაქვს 1 -ს 'e' - დან, როდესაც y იზრდება.

  • int x1 = 8;
  • int y1 = 6;
  • float m = y1/x1;
  • int y = 0;
  • float e = 0;
  • ნაკვეთი (0, 0);
  • for (int x = 1; x <= x1; x ++) {
  • e+= m;
  • თუ (ე> = 0.5) {
  • e -= 1;
  • y ++;
  • }
  • ნაკვეთი (x, y);
  • }

ცხრილი 2: ბრეზენჰემის ალგორითმი

x e-1 y
0 0.75 0 0 0
1 0.75 0.75 -0.25 1
2 0.75 0.5 -0.5 2
3 0.75 0.25 2
4 0.75 1 0 3
5 0.75 0.75 -0.25 4
6 0.75 0.5 -0.5 5
7 0.75 0.25 5
8 0.75 1 0 6

თუ თქვენ შეისწავლით ალგორითმს და ცხრილს 2 თქვენ შეამჩნევთ ამას;

  • მთავარი მარყუჟი იყენებს მხოლოდ შეკრებას და გამოკლებას … არ არის გამრავლება
  • y ნიმუში იგივეა რაც ცხრილში 1.

მაგრამ ჩვენ კვლავ ვიყენებთ მცურავი წერტილების რიცხვებს … მოდით გამოვასწოროთ ეს.

ბრეზენჰემის (ოპტიმიზირებული) ალგორითმი

ბრეზენჰემის მცურავი წერტილის ალგორითმი შეიძლება გარდაიქმნას მთელ ფორმაში, თუ გავაფართოვებთ 'm' და 'e' 2*x1- ით, ამ შემთხვევაში m = (y1/x1)*2*x1 = 2*y1

გარდა "m" და "e" სკალირებისა, ალგორითმი მსგავსია ზემოაღნიშნულისა გარდა:

  • ჩვენ ვამატებთ 2*y1 'e' - ს ყოველ ჯერზე 'x'
  • ჩვენ ვამატებთ y- ს, თუ e ტოლია ან მეტია x1- ზე.
  • ჩვენ გამოვაკლებთ 2*x1 'e' - ს ნაცვლად 1
  • შედარებისთვის x1 გამოიყენება 0.5 -ის ნაცვლად

ალგორითმის სიჩქარე შეიძლება კიდევ გაიზარდოს, თუ მარყუჟი ტესტისთვის იყენებს ნულს. ამისათვის ჩვენ უნდა დავამატოთ შეცდომა შეცდომის ტერმინში 'e'.

  • int x1 = 8;
  • int y1 = 6;
  • int m = (y1 << 1); // მუდმივი: ფერდობზე გაფართოებული 2*x1
  • int E = (x1 << 1); // მუდმივი: 2*x1 მარყუჟში გამოსაყენებლად
  • int e = -x1; // ოფსეტური -E/2: ტესტი ახლა შესრულებულია ნულზე
  • ნაკვეთი (0, 0);
  • int y = 0;
  • for (x = 1; x <= x1; x ++) {
  • e += m;
  • თუ (e> = x1) {
  • ე -= ე
  • y ++;
  • }
  • ნაკვეთი (x, y);
  • }

ცხრილი 3: ბრეზენჰემის (ოპტიმიზირებული) ალგორითმი

x ე - ე y
0 12 16 -8 0
1 12 16 4 -12 1
2 12 16 0 -16 2
3 12 16 -4 2
4 12 16 8 -8 3
5 12 16 4 -12 4
6 12 16 0 -16 5
7 12 16 -4 5
8 12 16 8 -8 6

კიდევ ერთხელ ნიმუში y იგივეა, რაც სხვა ცხრილებში. საინტერესოა აღინიშნოს, რომ ცხრილი 3 შეიცავს მხოლოდ მთელ რიცხვებს და რომ თანაფარდობა m/E = 12/16 = 0.75 რაც არის წრფის ფერდობზე 'm'.

ეს ალგორითმი ძალიან სწრაფია, რადგან მთავარი მარყუჟი მხოლოდ დამატებას, გამოკლებას და ნულთან შედარებას გულისხმობს. გამრავლება არ გამოიყენება გარდა იმ შემთხვევისა, როდესაც ჩვენ ვიწყებთ მნიშვნელობას 'E' და 'm' 'მარცხენა ცვლის' გამოყენებით x1 და y1 მნიშვნელობების გაორმაგებისთვის.

[1] ბრეზენჰემის ალგორითმის ეს ოპტიმიზირებული ვერსია არის ნაშრომიდან "ბრეზენჰემის ხაზი და წრის ნახაზი", საავტორო უფლება © 1994-2006, W Randolph Franklin (WRF). მისი მასალა შეიძლება გამოყენებულ იქნას არაკომერციული კვლევისა და განათლებისათვის, იმ პირობით, რომ თქვენ მას მიანიჭებთ კრედიტს და დაუკავშირდებით მის მთავარ გვერდზე,

ნაბიჯი 6: კოდი

გადმოწერეთ თანდართული ფაილი ამავე სახელწოდების საქაღალდეში, შემდეგ ატვირთეთ ის პლუტერში თქვენი arduino IDE (ინტეგრირებული განვითარების გარემო) გამოყენებით.

გათიშეთ HC-06 bluetoorh მოდული ატვირთვამდე. ეს აუცილებელია USB კაბელთან სერიული პორტის კონფლიქტის თავიდან ასაცილებლად.

მესამე მხარის კოდი

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

  • Teraterm, რომელიც ხელმისაწვდომია
  • Inkscape, რომელიც ხელმისაწვდომია

თითოეული მესამე მხარის პაკეტის დაყენების და გამოყენების ინსტრუქცია შეგიძლიათ იხილოთ ჩემს სტატიაში

ნაბიჯი 7: მენიუ

მენიუ
მენიუ

შექმენით bluetooth კავშირი თქვენს პლოტერთან "Teraterm" - ის გამოყენებით.

ჩართეთ თქვენი "caps lock", რადგან ყველა ბრძანება არის დიდი ასოებით.

ჩაწერეთ ასო "M" და მენიუ უნდა გამოჩნდეს როგორც ზემოთ ნაჩვენებია.

მენიუ გონივრულად ახსნილია:

  • M (ან M0) აჩვენებს მენიუს
  • G0 საშუალებას გაძლევთ გაგზავნოთ კალამი ამაღლებულ კალმასთან ერთად კონკრეტულ XY კოორდინატზე.
  • G1 საშუალებას გაძლევთ გაგზავნოთ კალამი სპეციალურ XY კოორდინატთან ერთად კალამი დაბლაა.
  • T1 საშუალებას გაძლევთ განათავსოთ თქვენი კალამი თქვენს 0, 0 კოორდინატზე. გასასვლელად ჩაწერეთ 'E'.
  • T2 საშუალებას გაძლევთ შეაფასოთ თქვენი ნახაზი. მაგალითად "T2 S2.5" გააფართოვებს თქვენს ნახატს 250%-ით. ნაგულისხმევი მასშტაბი არის 100%
  • T3 და T4 გაძლევთ საშუალებას აწიოთ ან დაწიოთ კალამი.
  • T5 ხატავს "ABC" ტესტის ნიმუშს.
  • T6 ხატავს "სამიზნეს".
  • T7 ხატავს რადიალური ხაზების ერთობლიობას, რომლის მიზანია გადაამოწმოს, რომ ბრეზენჰემის ალგორითმი მუშაობს რვა "ოქტანტიდან" თითოეულში

შენიშვნები:

  • კალმის ყველა ნაბიჯი იყენებს ნახაზის მასშტაბის ნაკრებებს მენიუს ვარიანტის T2 გამოყენებით
  • "17:" და "19:" რიცხვები არის "Xon" და "Xoff" ტერმინალის ხელის ჩამორთმევის კოდები არდუინოს თარჯიმნისგან.

ნაბიჯი 8: კალიბრაცია

მნიშვნელობები X_STEPS_PER_MM და Y_STEPS_PER_MM არის 90 მმ დიამეტრის ბარაბანისთვის.

ბარაბნის სხვა დიამეტრის მნიშვნელობა შეიძლება გამოითვალოს შემდეგი ურთიერთობების გამოყენებით:

  • ბარაბნის გარშემოწერილობა არის PI*დიამეტრი
  • 2048 საფეხური უდრის თითოეული ძრავის ლილვის ერთ რევოლუციას
  • GT-2 პულეს ერთი რევოლუცია უტოლდება დროის ქამრის 40 მილიმეტრის სწორხაზოვან მოძრაობას

კიდევ ერთი მეთოდი არის შემდეგი ბრძანებების შეყვანა,

  • G1 X0 Y100
  • G1 X100 Y100

შემდეგ გაზომეთ მიღებული ხაზების სიგრძე და "შეაფასეთ" მნიშვნელობები X-STEPS_PER_MM და Y_STEPS_PER_MM

ნაბიჯი 9: Gcode წინასწარი დამუშავება

Gcode წინასწარი დამუშავება
Gcode წინასწარი დამუშავება
Gcode წინასწარი დამუშავება
Gcode წინასწარი დამუშავება

ამ შემგროვებელს სჭირდება მხოლოდ ოთხი Inkscape კოდი (მაგ.: G0, G1, G2, G3). კოდი მნიშვნელოვნად სწრაფად შესრულდება, თუ ჩვენ ამოვიღებთ ყველა არასაჭირო კოდს და კომენტარს.

ამისათვის თქვენ გჭირდებათ "Notepad ++" ასლი. ეს უფასო ტექსტური რედაქტორი შეიცავს "რეგულარული გამოხატვის" საძიებო სისტემას არასასურველი ტექსტის მოსაძებნად და მოსაშორებლად. Notepad ++ ხელმისაწვდომია

გახსენით შესაცვლელი ფაილი Notepad ++ - ით და განათავსეთ თქვენი კურსორი ფაილის ზედა ნაწილში.

აირჩიეთ "სიმბოლოების ჩვენება/ჩვენება/ყველა პერსონაჟი", რასაც მოჰყვება "ძებნა/ჩანაცვლება …" მენიუს ზედა ზოლიდან.

დააწკაპუნეთ „რეგულარული გამოხატვის“ჩამრთველზე (იხ. პირველი სურათი) და შეიყვანეთ თითოეული კოდის მიმდევრობა საძიებო ველში.

დააწკაპუნეთ "შეცვალეთ ყველა" ყოველი ჩანაწერის შემდეგ:

  • %
  • (.*)
  • ^მ.*$
  • ზ.*$

ზემოხსენებული რეგულარული გამონათქვამები ამოიღებს ყველა % სიმბოლოს, ფრჩხილებში ნაჩვენებ ყველა კომენტარს, ყველა M კოდს, ყველა Z კოდს და შემდეგ კოდებს.

ახლა დააწკაპუნეთ "გაფართოებული გამოხატვის" ჩამრთველზე (იხ. მე -2 სურათი) და შეიყვანეთ კოდის შემდეგი თანმიმდევრობა:

r / n / r / n / r / n

ეს გამოთქმა შლის პირველი მიმდევრობის მიერ შექმნილ არასასურველ გადაზიდვას და დაბრუნებას.

შეინახეთ ფაილი სხვა სახელით "შენახვა როგორც".

Შესრულებულია.

ნაბიჯი 10: შედეგები

შედეგები
შედეგები

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

პირველი სამი სურათი არის ჩაშენებული ტესტის ნიმუშები T5, T6, T7 შესაბამისად.

"გამარჯობა მსოფლიო!" ნიმუში გაიგზავნა შემდგენელში bluetooth- ის საშუალებით. თან ერთვის ამ ფაილის "წინასწარ დამუშავებული" ასლი.

ნაბიჯი 11: კოდის განახლება

კოდის განახლება
კოდის განახლება

ამ პლოტერის კოდი განახლდა Drum_Plotter_V2.ino.

ცვლილებები ორიგინალური Drum_Plotter.ino– დან მოიცავს:

  • კალმის უფრო გლუვი პოზიციონირება
  • ახლა აღიარებს G02 gcode ინსტრუქციას (საათის ისრის მიმართულებით)
  • ახლა აღიარებს G03 gcode ინსტრუქციას (საათის ისრის საწინააღმდეგოდ)

თანდართული დიაგრამა ასახავს რკალის კუთხის გამოთვლის ჩემს მეთოდს.

ნაბიჯი 12: Drum_plotter_v3.ino

თანდართულია კოდის განახლება "CNC Drum Plotter" - ისთვის.

"drum_plotter_v3.ino" აფიქსირებს უმნიშვნელო შეცდომას, რომელმაც გავლენა მოახდინა პლოტერის სიზუსტეზე.

ისტორიის შეცვლა

ვერსია 2:

დაემატა ორ რკალის მოსახვევები

ვერსია 3:

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

  • (int) შეიცვალა მრგვალით () move_to () ფუნქციაში.
  • draw_line () ფუნქცია "octant" ძიების ალგორითმი გაუმჯობესდა
  • ახლა თარჯიმანი იყენებს სტრიქონის ფუნქციებს და არა პოინტერებს, რაც ამარტივებს დიზაინს. მაგალითად, ჩვენ შეგვიძლია ახლა მოძებნოთ "MENU" და არა "M" ასო და შემდეგ ამოვიღოთ მთელი რიცხვი, რომელიც მომდევნოა. ეს საშუალებას გაძლევთ პერსონალურად შეაფასოთ პლანტერი საკუთარი ბრძანებებით.

ნაბიჯი 13: Drum_plotter_plotter_v4.ino

2017 წლის 16 იანვარი:

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

ცვლილებები მოიცავს:

  • უფრო სწრაფი draw_line () ალგორითმი
  • შესაბამისი move_to () ფუნქცია
  • საფეხურის მრიცხველები
  • მცირე ხარვეზის გამოსწორება

დამატებითი დეტალებისთვის წაიკითხეთ კომენტარები "drum_plotter_v4.ino" - ში.

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

გირჩევთ: