Πίνακας περιεχομένων:
- Βήμα 1: Το κύκλωμα
- Βήμα 2: Η γραμμική κίνηση
- Βήμα 3: Το τύμπανο
- Βήμα 4: Συμβουλές κατασκευής
- Βήμα 5: Αλγόριθμος σχεδίασης γραμμών Bresenham
- Βήμα 6: Ο κώδικας
- Βήμα 7: Μενού
- Βήμα 8: Βαθμονόμηση
- Βήμα 9: Προεπεξεργασία Gcode
- Βήμα 10: Αποτελέσματα
- Βήμα 11: Ενημέρωση κώδικα
- Βήμα 12: Drum_plotter_v3.ino
- Βήμα 13: Drum_plotter_plotter_v4.ino
Βίντεο: CNC Drum Plotter: 13 βήματα (με εικόνες)
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:35
Αυτό το εκπαιδευτικό περιγράφει ένα σχεδιαστή Α4/Α3 κατασκευασμένο από ένα τμήμα πλαστικού σωλήνα, δύο βηματικούς κινητήρες BYJ-48 και ένα σερβο SG-90. Ουσιαστικά είναι ένας πλότερ επίπεδου κρεβατιού τυλιγμένος σε τύμπανο.
Ο ένας κινητήρας περιστρέφει το τύμπανο ενώ ο άλλος μετακινεί την κεφαλή εκτύπωσης. Το σερβο χρησιμοποιείται για το ανέβασμα και το κατέβασμα της πένας.
Αυτός ο σχεδιαστής έχει πολλά πλεονεκτήματα έναντι ενός παραδοσιακού επίπεδου επιμελητή:
- σημαντικά μικρότερο αποτύπωμα
- απαιτεί μόνο μία γραμμική ράγα -οδηγό
- απλό στην κατασκευή
- φτηνός
Ένας διερμηνέας επί του σκάφους αποδέχεται την έξοδο gcode από το Inkscape.
Η επικοινωνία με τον σχεδιαστή γίνεται μέσω σύνδεσης bluetooth.
Ο σχεδιαστής είναι συμβατός με το Tablet γραφικών CNC που περιγράφεται στο διδακτικό μου
Αν και δεν είναι όργανο ακριβείας, η ακρίβεια αυτού του πλότερ είναι ικανοποιητική για τον επιδιωκόμενο σκοπό της μεταφοράς περιγραμμάτων ακουαρέλας σε χαρτί.
Βήμα 1: Το κύκλωμα
Το κύκλωμα περιλαμβάνει έναν μικροελεγκτή Arduino UNO R3 και μια προσαρμοσμένη ασπίδα στην οποία είναι τοποθετημένα τα διακριτά εξαρτήματα. Η ισχύς παρέχεται μέσω εξωτερικού ρυθμιστή 5 volt 1 amp. Το μέσο ρεύμα είναι περίπου 500mA.
Οι βηματικοί κινητήρες BYJ-48 είναι προσαρτημένοι στο PORTB (ακίδες D8, D9, D10, D11) και PORTC (καρφίτσες A0, A1, A2, A3). Ο σέρβο SG-90 στυλό ανύψωσης είναι προσαρτημένος στην ακίδα D3.
Οι αντιστάσεις 560 ohm, οι οποίες μπορεί να παραλειφθούν, παρέχουν ένα μέτρο προστασίας από βραχυκύκλωμα στο arduino σε περίπτωση που κάτι δεν πάει καλά. Επίσης, διευκολύνουν την καλωδίωση της ασπίδας καθώς λειτουργούν ως "άλτες" στις ράγες τροφοδοσίας.
Οι αντιστάσεις 1k2 και 2K2 αποτρέπουν τη ζημιά στη μονάδα bluetooth HC-06 [1] ρίχνοντας την έξοδο 5 volt από το arduino στα 3,3 βολτ.
[1] Αποσυνδέστε τη μονάδα bluetooth HC-06 κατά τη μεταφόρτωση κώδικα στο arduino μέσω της θύρας USB. Αυτό θα αποφύγει τυχόν διενέξεις σειριακών θυρών.
Βήμα 2: Η γραμμική κίνηση
Η γραμμική κίνηση είναι κατασκευασμένη από μήκος ράβδου αλουμινίου 3mm x 32mm, μια λωρίδα φύλλου αλουμινίου και τέσσερις μικρές τροχαλίες με ρουλεμάν.
Το αλουμίνιο διατίθεται από τα περισσότερα καταστήματα υλικού. Οι τροχαλίες U-groove U624ZZ 4x13x7mm διατίθενται από τη διεύθυνση
Τα απλά εργαλεία χειρός είναι όλα όσα χρειάζεστε. Κόψτε τη ράβδο αλουμινίου που ταιριάζει στις διαστάσεις του πλότερ σας.
Το συγκρότημα κινητήρα
Τοποθετήστε το βηματικό μοτέρ BJY-48 μέσω της ράβδου στο ένα άκρο και συνδέστε μια τροχαλία GT2 20, τροχαλίας 5 mm, στον άξονα του κινητήρα. Τώρα τοποθετήστε μια άλλη τροχαλία GT2 στο άλλο άκρο της ράβδου σας έτσι ώστε η τροχαλία να μπορεί να περιστρέφεται ελεύθερα. Χρησιμοποίησα ένα σωληνοειδές διαχωριστικό διαμέτρου 5 mm και ένα μπουλόνι 3 mm για να το πετύχω αυτό.
Τώρα βιδώστε ένα μήκος ιμάντα χρονισμού GT2 γύρω από τις τροχαλίες. Συνδέστε τα άκρα του ιμάντα χρονισμού με μισή συστροφή έτσι ώστε τα δόντια να παρεμβάλλονται και να στερεώνονται με μια γραβάτα καλωδίου.
Τέλος, συνδέστε το συγκρότημα μεταφοράς στον ιμάντα χρονισμού με μια γραβάτα καλωδίου.
Το συγκρότημα μεταφοράς
Το συγκρότημα μεταφοράς είναι κατασκευασμένο από μια λωρίδα φύλλου αλουμινίου [1] πάνω στην οποία είναι βιδωμένες οι τροχαλίες U624ZZ. Εάν είναι απαραίτητο, χρησιμοποιήστε μια ροδέλα 4mm για να απομακρύνετε τις τροχαλίες από το φύλλο αλουμινίου.
Οι τροχαλίες, οι οποίες έχουν αυλάκωση 4 mm, αγκαλιάζουν τη ράβδο αλουμινίου πάνω και κάτω, έτσι ώστε να μην υπάρχει κάθετη κίνηση, αλλά η λωρίδα αλουμινίου κινείται ελεύθερα αριστερά και δεξιά.
Για να διασφαλίσετε ότι ο φορέας κινείται ελεύθερα, τοποθετήστε πρώτα τις δύο κορυφαίες τροχαλίες και στη συνέχεια, με τις τροχαλίες καθισμένες στη ράβδο, σημειώστε τις θέσεις των δύο κάτω τροχαλιών. Οι οπές για αυτές τις δύο τροχαλίες μπορεί τώρα να ανοίξουν. Χρησιμοποιήστε πρώτα ένα μικρό «πιλοτικό» τρυπάνι για να αποτρέψετε το μεγαλύτερο τρυπάνι 4 χιλιοστών να παρασυρθεί.
Πριν λυγίσετε τη λωρίδα αλουμίου σε "U", ανοίξτε μια τρύπα πάνω και κάτω ώστε να ταιριάζει στη διάμετρο της πένας σας. Τώρα ολοκληρώστε τις στροφές.
Συνδέστε τον ιμάντα χρονισμού στο συγκρότημα του φορέα μέσω ενός δεσμού καλωδίου και ενός μπουλονιού 3 mm μεταξύ των δύο επάνω τροχαλιών.
Η διάταξη ανύψωσης στυλό
Συνδέστε ένα σερβο SG-90 στην κορυφή του συγκροτήματος μεταφοράς χρησιμοποιώντας έναν ή δύο δεσμούς καλωδίων.
Ρίξτε το στυλό σας κάτω από τις δύο τρύπες που έχετε ανοίξει. Βεβαιωθείτε ότι το στυλό σύρεται ελεύθερα πάνω και κάτω.
Στερεώστε ένα "κολάρο" στο στυλό σας έτσι ώστε το στυλό να είναι απαλλαγμένο από το τύμπανο όταν το σερβο είναι στη θέση στυλό.
[1] Το αλουμίνιο μπορεί να κοπεί βαθμολογώντας και τις δύο πλευρές του φύλλου με ένα κοφτερό μαχαίρι (κουτί-κόπτης) και στη συνέχεια λυγίζοντας το κόψιμο στην άκρη ενός τραπεζιού. Λίγες κουδουνίστρες και το φύλλο θα σπάσει αφήνοντας μια ευθεία διακοπή. Σε αντίθεση με τα τσιμπιδάκια, αυτή η μέθοδος δεν τσακίζει το αλουμίνιο.
Βήμα 3: Το τύμπανο
Το τύμπανο περιλαμβάνει ένα τμήμα πλαστικού σωλήνα με δύο ξύλινα άκρα [1].
Χρησιμοποιήστε μια πυξίδα, ρυθμισμένη στην εσωτερική ακτίνα του σωλήνα σας, για να σχεδιάσετε τα περιγράμματα του τελικού βύσματος. Τώρα κόψτε κάθε περίγραμμα χρησιμοποιώντας ένα λεπτό πριόνι ("αντιμετώπιση", "φρενάρισμα") και στη συνέχεια προσαρμόστε το κάθε βύσμα με τη βοήθεια ενός ξύλινου κούμπου. Στερεώστε τα ακραία βύσματα χρησιμοποιώντας μικρές αντιβυθισμένες βίδες ξύλου.
Ένα μπουλόνι μηχανικής 6 mm στο κέντρο κάθε ακραίου βύσματος σχηματίζει τον άξονα.
Διαστάσεις τυμπάνου
Οι διαστάσεις του τυμπάνου καθορίζονται από το μέγεθος του χαρτιού σας. Μια διάμετρος τυμπάνου 100 mm υποστηρίζει πορτρέτο A4 και τοπίο A3. Μια διάμετρος τυμπάνου 80 mm θα υποστηρίζει μόνο το τοπίο Α4. Χρησιμοποιήστε όσο το δυνατόν μικρότερη διάμετρο τυμπάνου για να μειώσετε την αδράνεια… οι κινητήρες BYJ-48 είναι μόνο μικροί.
Μια διάμετρος τυμπάνου 90 mm είναι ιδανική για πορτραίτο Α4 και χαρτί τοπίου Α3, καθώς οι αντίθετες άκρες, όταν τυλίγονται γύρω από το τύμπανο, επικαλύπτονται κατά περίπου 10 mm, πράγμα που σημαίνει ότι έχετε μόνο μία ραφή για να κολλήσετε στη θέση του.
Περιστροφή του τυμπάνου
Κάθε άξονας περνά μέσα από ένα τελικό στήριγμα αλουμινίου έτσι ώστε το τύμπανο να μπορεί να περιστρέφεται ελεύθερα. Το τελικό πλωτήρα εμποδίζεται μέσω GT-2, 20 δοντιών, οπής 6mm, τροχαλίας που στερεώνεται στον άξονα στο ένα άκρο. Ένας συνεχής ιμάντας χρονισμού GT-2 συνδέει τον κινητήρα βηματισμού BJY-48 με το τύμπανο. Ο κινητήρας απαιτεί τροχαλία με μέγεθος οπής 5mm.
[1] Τα πλαστικά βύσματα είναι διαθέσιμα για τις περισσότερες διαμέτρους σωλήνων, αλλά απορρίφθηκαν καθώς ταιριάζουν πάνω στο σωλήνα και όχι στο εσωτερικό και το πλαστικό τείνει να λυγίζει. Πιθανότατα θα ήταν εντάξει αν χρησιμοποιούνταν ένας συνεχής άξονας αντί για τα μπουλόνια … αλλά στη συνέχεια απαιτείται κάποια μέθοδος στερέωσης του άξονα στα άκρα.
Βήμα 4: Συμβουλές κατασκευής
Βεβαιωθείτε ότι η πένα ταξιδεύει κατά μήκος του κέντρου του τυμπάνου. Αυτό μπορεί να επιτευχθεί κόβοντας τις γωνίες από τα ξύλινα στηρίγματα. Εάν η πένα είναι εκτός κέντρου, θα τείνει να γλιστρήσει προς τα κάτω στο πλάι του τυμπάνου.
Η ακριβής διάνοιξη των δύο οπών στυλό είναι σημαντική. Οποιαδήποτε ταλάντωση στον οδηγό στυλό ή στη διάταξη του φορέα θα προκαλέσει ταλαντεύσεις κατά μήκος του άξονα Χ.
Μην σφίγγετε υπερβολικά τους ιμάντες χρονισμού GT-2… απλά πρέπει να είναι τεντωμένοι. Οι βηματικοί κινητήρες BYJ-48 δεν έχουν μεγάλη ροπή.
Οι βηματικοί κινητήρες BJY-48 εμφανίζουν συχνά μικρές ποσότητες αντίδρασης που είναι ασήμαντες κατά μήκος του άξονα Χ αλλά είναι ανησυχητικές όταν πρόκειται για τον άξονα Υ. Ο λόγος για αυτό είναι ότι μία περιστροφή του κινητήρα του άξονα Υ ισοδυναμεί με μία περιστροφή του τυμπάνου, ενώ ο φορέας τύπου πένας απαιτεί πολλές στροφές του κινητήρα του άξονα Χ για να διασχίσει το μήκος του τυμπάνου. Οποιαδήποτε αντίδραση στον άξονα Υ μπορεί να εξαλειφθεί διατηρώντας μια σταθερή ροπή στο τύμπανο. Μια απλή μέθοδος είναι να συνδέσετε ένα μικρό βάρος σε ένα νάιλον κορδόνι τυλιγμένο γύρω από το τύμπανο.
Βήμα 5: Αλγόριθμος σχεδίασης γραμμών Bresenham
Αυτός ο σχεδιαστής χρησιμοποιεί μια βελτιστοποιημένη έκδοση [1] του αλγορίθμου σχεδίασης γραμμών του Bresenham. Δυστυχώς αυτός ο αλγόριθμος ισχύει μόνο για κλίσεις γραμμών μικρότερες ή ίσες με 45 μοίρες (δηλ. Μία οκτάντζα ενός κύκλου).
Για να ξεπεράσω αυτόν τον περιορισμό "χαρτογραφώ" όλες τις εισόδους XY στο πρώτο "οκτάν", και στη συνέχεια τις "απομακρύνω" όταν είναι ώρα να σχεδιάσουμε. Οι συναρτήσεις χαρτογράφησης εισόδου και εξόδου για να επιτευχθεί αυτό φαίνονται στο παραπάνω διάγραμμα.
Παραγωγή
Το υπόλοιπο αυτού του βήματος μπορεί να παραλειφθεί εάν είστε εξοικειωμένοι με τον αλγόριθμο του Bresenham.
Ας τραβήξουμε μια γραμμή από (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);
- για (int x = 1; x <= x1; x ++) {
- int y = στρογγυλό (m*x);
- οικόπεδο (x, y)?
- }
Πίνακας 1: Απλός αλγόριθμος
Χ | Μ | m*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 έναντι x για αυτήν τη γραμμή φαίνεται παραπάνω.
Ο αλγόριθμος του Bresenham
Ο Μπρέσενχαμ εισήγαγε την έννοια του όρου σφάλματος «ε» που αρχικοποιείται στο μηδέν. Συνειδητοποίησε ότι οι τιμές m*x που φαίνονται στον πίνακα 1 μπορούν να ληφθούν με διαδοχική προσθήκη του 'm' στο '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);
- για (int x = 1; x <= x1; x ++) {
- e+= m;
- εάν (ε> = 0,5) {
- e -= 1;
- y ++;
- }
- οικόπεδο (x, y)?
- }
Πίνακας 2: Αλγόριθμος Bresenham
Χ | Μ | μι | 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.
Αλλά εξακολουθούμε να χρησιμοποιούμε αριθμούς κυμαινόμενου σημείου… ας το διορθώσουμε.
Ο αλγόριθμος του Bresenham (βελτιστοποιημένος)
Ο αλγόριθμος του κυμαινόμενου σημείου του Μπρέσενχαμ μπορεί να μετατραπεί σε ακέραιη μορφή εάν κλιμακώσουμε τα '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;
- για (x = 1; x <= x1; x ++) {
- e += m;
- εάν (e> = x1) {
- ε -= Ε
- y ++;
- }
- οικόπεδο (x, y)?
- }
Πίνακας 3: Αλγόριθμος Bresenham's (Optimized)
Χ | Μ | μι | μι | e - E | 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] Αυτή η βελτιστοποιημένη έκδοση του αλγορίθμου του Bresenham προέρχεται από ένα έγγραφο "Bresenham Line and Circle Drawing", πνευματικά δικαιώματα © 1994-2006, W Randolph Franklin (WRF). Το υλικό του μπορεί να χρησιμοποιηθεί για μη κερδοσκοπική έρευνα και εκπαίδευση, με την προϋπόθεση ότι τον πιστώνετε και επιστρέφετε στην αρχική του σελίδα,
Βήμα 6: Ο κώδικας
Κατεβάστε το συνημμένο αρχείο σε ένα φάκελο με το ίδιο όνομα και, στη συνέχεια, ανεβάστε το στο σχεδιαστή χρησιμοποιώντας το arduino IDE (ενσωματωμένο περιβάλλον ανάπτυξης).
Αποσυνδέστε τη μονάδα HC-06 bluetoorh πριν επιχειρήσετε τη μεταφόρτωση. Αυτό είναι απαραίτητο για την αποφυγή σύγκρουσης σειριακής θύρας με το καλώδιο USB.
Κωδικός τρίτου μέρους
Εκτός από τον παραπάνω.ino κώδικα, θα χρειαστείτε τα ακόλουθα πακέτα λογισμικού τα οποία είναι δωρεάν / είδη δωρεών:
- Teraterm που είναι διαθέσιμο στη διεύθυνση
- Το Inkscape είναι διαθέσιμο στη διεύθυνση
Οδηγίες για την εγκατάσταση και τη χρήση καθενός από τα παραπάνω πακέτα τρίτων μπορείτε να βρείτε στο άρθρο μου
Βήμα 7: Μενού
Πραγματοποιήστε μια σύνδεση bluetooth με τον σχεδιαστή σας χρησιμοποιώντας το "Teraterm".
Ενεργοποιήστε το "caps lock" καθώς όλες οι εντολές είναι πεζά.
Πληκτρολογήστε το γράμμα «Μ» και θα εμφανιστεί ένα μενού όπως φαίνεται παραπάνω.
Το μενού είναι λογικά αυτονόητο:
- M (ή M0) εμφανίζει το μενού
- Το G0 σάς επιτρέπει να στείλετε το στυλό σε μια συγκεκριμένη συντεταγμένη XY με την πένα σηκωμένη.
- Το G1 σάς επιτρέπει να στείλετε το στυλό σε μια συγκεκριμένη συντεταγμένη XY με το στυλό κατεβασμένο.
- Το T1 σας επιτρέπει να τοποθετήσετε την πένα σας πάνω από το συντεταγμένο 0, 0. Πληκτρολογήστε 'E' για έξοδο.
- Το T2 σάς επιτρέπει να κλιμακώσετε την έλξη σας. Για παράδειγμα, το "T2 S2.5" θα κλιμακώσει το σχέδιό σας κατά 250%. Η προεπιλεγμένη κλίμακα είναι 100%
- Τα T3 και T4 σας επιτρέπουν να σηκώνετε ή να κατεβάζετε τη συσκευή τύπου πένας.
- Το Τ5 σχεδιάζει ένα μοτίβο δοκιμής "ABC".
- Το Τ6 σχεδιάζει έναν «στόχο».
- Το T7 σχεδιάζει ένα σύνολο ακτινικών γραμμών, σκοπός των οποίων είναι να επαληθεύσει ότι ο αλγόριθμος του Bresenham λειτουργεί σε κάθε μία από τις οκτώ "οκτάντες"
Σημειώσεις:
- όλες οι κινήσεις στυλό χρησιμοποιούν το σετ κλίμακας σχεδίασης χρησιμοποιώντας την επιλογή μενού T2
- οι αριθμοί "17:" και "19:" είναι οι κωδικοί τερματικών χειραψίας "Xon" και "Xoff" από τον διερμηνέα arduino.
Βήμα 8: Βαθμονόμηση
Οι τιμές για X_STEPS_PER_MM και Y_STEPS_PER_MM είναι για τύμπανο διαμέτρου 90 mm.
Οι τιμές για άλλες διαμέτρους τυμπάνου μπορούν να υπολογιστούν χρησιμοποιώντας τις ακόλουθες σχέσεις:
- η περιφέρεια του τυμπάνου είναι PI*διάμετρος
- 2048 βήματα ισούται με μία περιστροφή κάθε άξονα κινητήρα
- μία περιστροφή τροχαλίας GT-2 ισοδυναμεί με 40 χιλιοστά γραμμική κίνηση ενός ιμάντα χρονισμού
Μια άλλη μέθοδος είναι να εισαγάγετε τις ακόλουθες εντολές,
- G1 X0 Y100
- G1 X100 Y100
στη συνέχεια, μετρήστε το μήκος των γραμμών που προκύπτουν και "κλιμακώστε" τις τιμές για X-STEPS_PER_MM και Y_STEPS_PER_MM
Βήμα 9: Προεπεξεργασία Gcode
Αυτός ο σχεδιαστής απαιτεί μόνο τέσσερις από τους κώδικες Inkscape (δηλαδή: G0, G1, G2, G3). Ο κώδικας θα εκτελεστεί σημαντικά πιο γρήγορα αν αφαιρέσουμε όλους τους περιττούς κωδικούς και σχόλια.
Για να το κάνετε αυτό χρειάζεστε ένα αντίγραφο του "Σημειωματάριο ++". Αυτός ο δωρεάν επεξεργαστής κειμένου περιέχει μια μηχανή αναζήτησης "κανονικής έκφρασης" για εύρεση και αφαίρεση ανεπιθύμητου κειμένου. Το Σημειωματάριο ++ είναι διαθέσιμο στη διεύθυνση
Ανοίξτε το αρχείο προς τροποποίηση με το Σημειωματάριο ++ και τοποθετήστε τον κέρσορα στο επάνω μέρος του αρχείου.
Επιλέξτε "Προβολή/Εμφάνιση συμβόλου/Όλοι οι χαρακτήρες" και στη συνέχεια "Αναζήτηση/Αντικατάσταση …" από την επάνω γραμμή μενού.
Κάντε κλικ στο πλαίσιο ελέγχου "Κανονική έκφραση" (δείτε την 1η εικόνα) και εισαγάγετε καθεμία από τις ακόλουθες ακολουθίες κώδικα στο πλαίσιο αναζήτησης.
Κάντε κλικ στην επιλογή "Αντικατάσταση όλων" μετά από κάθε καταχώριση:
- %
- (.*)
- ^Μ.*$
- Ζ.*$
Οι παραπάνω κανονικές εκφράσεις αφαιρούν όλα τα σύμβολα %, όλα τα σχόλια που εμφανίζονται σε αγκύλες, όλους τους κωδικούς Μ, όλους τους κωδικούς Ζ και τους κωδικούς που ακολουθούν.
Τώρα κάντε κλικ στο πλαίσιο ελέγχου "Εκτεταμένη έκφραση" (δείτε 2η εικόνα) και εισαγάγετε την ακόλουθη ακολουθία κώδικα:
r / n / r / n / r / n
Αυτή η έκφραση αφαιρεί τις ανεπιθύμητες επιστροφές μεταφοράς και τροφοδοσίες γραμμής που δημιουργήθηκαν από την πρώτη ακολουθία.
Αποθηκεύστε το αρχείο σας με διαφορετικό όνομα χρησιμοποιώντας "Αποθήκευση ως".
Εγινε.
Βήμα 10: Αποτελέσματα
Αυτός ο σχεδιαστής κατασκευάστηκε ως "απόδειξη της ιδέας" και ποτέ δεν σκόπευε να είναι τέλειος. Έχοντας πει ότι τα αποτελέσματα δεν είναι πολύ άσχημα. Ανταποκρίνονται σίγουρα στον σχεδιαστικό μου στόχο να μεταφέρω περιγράμματα ακουαρέλας σε χαρτί.
Οι τρεις πρώτες εικόνες είναι τα ενσωματωμένα μοτίβα δοκιμής T5, T6, T7 αντίστοιχα.
Το "Hello World!" το μοτίβο στάλθηκε στον σχεδιαστή μέσω bluetooth. Επισυνάπτεται ένα "προεπεξεργασμένο" αντίγραφο αυτού του αρχείου.
Βήμα 11: Ενημέρωση κώδικα
Ο κώδικας για αυτό το plotter έχει ενημερωθεί σε Drum_Plotter_V2.ino.
Οι αλλαγές από το αρχικό Drum_Plotter.ino περιλαμβάνουν:
- ομαλότερη τοποθέτηση της πένας
- τώρα αναγνωρίζει οδηγίες gcode G02 (δεξιόστροφα τόξα)
- τώρα αναγνωρίζει οδηγίες gcode G03 (αριστερόστροφα τόξα)
Το συνημμένο διάγραμμα περιγράφει τη μέθοδό μου για τον υπολογισμό της γωνίας τόξου.
Βήμα 12: Drum_plotter_v3.ino
Επισυνάπτεται μια ενημέρωση κώδικα για το "CNC Drum Plotter".
Το "drum_plotter_v3.ino" διορθώνει ένα μικρό σφάλμα που επηρέασε την ακρίβεια του σχεδιαστή.
Αλλαγή ιστορικού
Έκδοση 2:
Προστέθηκαν καμπύλες δύο τόξων
Έκδοση 3:
Οι ακόλουθες λειτουργίες ξαναγράφηκαν για να αντιμετωπίσουν ένα μικρό σφάλμα που επηρέασε την ακρίβεια του σχεδιαστή.
- (int) αντικαθίσταται με round () στη συνάρτηση move_to ().
- Ο αλγόριθμος αναζήτησης "octant" συνάρτησης draw_line () βελτιώθηκε
- Ο διερμηνέας χρησιμοποιεί πλέον συναρτήσεις συμβολοσειράς παρά δείκτες που απλοποιεί τον σχεδιασμό. Για παράδειγμα, μπορούμε τώρα να αναζητήσουμε το "MENU" αντί να αναζητήσουμε το γράμμα "M" και στη συνέχεια να εξάγουμε τον ακέραιο αριθμό που ακολουθεί. Αυτό σας επιτρέπει να εξατομικεύσετε το σχεδιαστή με τις δικές σας εντολές.
Βήμα 13: Drum_plotter_plotter_v4.ino
16 Ιανουαρίου 2017:
Ο κώδικας για αυτό το drum plotter έχει βελτιστοποιηθεί περαιτέρω. Πρόσθετες δυνατότητες έχουν προστεθεί.
Οι αλλαγές περιλαμβάνουν:
- γρηγορότερος αλγόριθμος draw_line ()
- αντιστοίχιση συνάρτησης move_to ()
- μετρητές βημάτων
- μικροδιόρθωση σφαλμάτων
Για περισσότερες λεπτομέρειες, διαβάστε τα σχόλια στο "drum_plotter_v4.ino" που επισυνάπτεται.
Κάντε κλικ εδώ για να δείτε τις άλλες οδηγίες μου.
Συνιστάται:
ROTARY CNC BOTTLE PLOTTER: 9 βήματα (με εικόνες)
ΣΤΡΟΦΑΛΟΣ ΡΟΤΑΡΙΚΟΥ ΜΠΟΥΚΑΛΙΟΥ CNC: Πήρα μερικούς κυλίνδρους, οι οποίοι πιθανότατα χρησιμοποιούνται στον εκτυπωτή. Μου ήρθε η ιδέα να τα μετατρέψω στον άξονα περιστροφής του πλότερ μπουκαλιών CNC. Σήμερα, θα ήθελα να μοιραστώ πώς να φτιάξω ένα πλότερ μπουκαλιών CNC από αυτούς τους κυλίνδρους και άλλα απορρίμματα. Για να
CNC Plotter: 3 Βήματα
CNC Plotter: Ciao a tutti! Prima di tutto mi presento! Sono nuovo in Instructables. Sono Andrea Solari, ho 25 anni e sono laureato in ingegneria elettrica. In questi anni ho creato molti progetti personali, è giunto il momento di pubblicarne alcuni! βλέπω ενδιαφέρον
CNC Robot Plotter: 11 βήματα (με εικόνες)
CNC Robot Plotter: a.articles {font-size: 110.0%; font-weight: bold; γραμματοσειρά: πλάγια; κείμενο-διακόσμηση: κανένα? φόντο-χρώμα: κόκκινο;} a.articles: hover {background-color: black;} Αυτό το διδακτικό περιγράφει έναν προγραμματιστή ρομπότ που ελέγχεται από CNC. Το ρομπότ περιλαμβάνει
Arduino CNC Plotter (DRAWING MACHINE): 10 βήματα (με εικόνες)
Arduino CNC Plotter (ΜΗΧΑΝΗ ΣΧΕΔΙΑΣΗΣ): Γεια σας παιδιά! Ελπίζω να σας άρεσε ήδη το προηγούμενο εκπαιδευτικό " Πώς να φτιάξετε τη δική σας εκπαιδευτική πλατφόρμα Arduino " και είστε έτοιμοι για ένα νέο, ως συνήθως έκανα αυτό το σεμινάριο για να σας καθοδηγήσω βήμα προς βήμα κάνοντας αυτό το είδος σούπερ εκπληκτικού
Arduino Mini CNC Plotter (With Proteus Project & PCB): 3 βήματα (με εικόνες)
Arduino Mini CNC Plotter (With Proteus Project & PCB): Αυτό το arduino mini CNC ή XY plotter μπορεί να γράψει και να κάνει σχέδια στην περιοχή των 40x40mm. Ναι, αυτό το εύρος είναι μικρό, αλλά είναι μια καλή αρχή για να μεταβείτε στον κόσμο του arduino. [Έχω δώσει τα πάντα σε αυτό το έργο, ακόμη και PCB, Proteus File, Παράδειγμα σχεδίασης