Οπτικός προγραμματισμός και έλεγχος εργαλειομηχανής CNC τριών αξόνων - Λογισμικό
Ευρετήριο Άρθρου |
---|
Οπτικός προγραμματισμός και έλεγχος εργαλειομηχανής CNC τριών αξόνων |
Λογισμικό |
Όλες οι Σελίδες |
-SOFTWARE-
Λογισμικο
Κάνοντας ευθείες με τον αλγόριθμο Bresenham mid-point line
Αλγόριθμος υπολογισμού ευθείας
Είναι πολύ απλό να σχεδιάσουμε μια ευθεία υπολογίζοντας τα σημεία που απαιτούνται γι’αυτό χρησιμοποιώντας πράξεις κινητής υποδιαστολής.
void draw_line(int x1, int y1, int x2, int y2)
{
int dx = x2 – x1;
int dy = y2 – y1;
float m = dy/dx;
for (int x = x1; x < x2; x++)
{
int y = m*x + y1 + 0.5;
putpixel(x, y);
}
}
Ο προηγούμενος αλγόριθμος βασίζεται στην παραδοχή ότι:
Το πρόβλημα!
Ο αλγόριθμος Bresenham
Ας πούμε ότι θέλουμε να σχεδιάσουμε μια ευθεία μεταξύ δυο σημείων και ας υποθέσουμε επίσης:
Εξίσωση ευθείας
Μπορεί να αποδειχτεί ότι για οποιοδήποτε σημείο πάνω από την γραμμή η εξίσωση γίνεται μικρότερη του 0, ενώ για οποιοδήποτε σημείο κάτω της ευθείας γίνεται μεγαλύτερη.
Έτσι αν ορίσουμε την εξίσωση:
F(x,y)=2*dy*x – 2*dx*y + 2*dx*B
Τότε για κάθε σημείο (x,y) που αναπαριστά ένα μέσο σημείο επιλέγετε το διπλανό ή διαγώνιο σημείο ανάλογα με το αν F(x,y)>0 ή F(x,y)<0
Για το πρώτο μέσο σημείο (x1+1,y1+1/2) μπορούμε να υπολογίσουμε από την F(x,y) αν το επόμενο σημείο θα είναι το (χ1+1, y1) ή (χ1+1,y1+1).
Ονομάζουμε την τιμή αυτή: «αρχική μεταβλητή απόφασης»
D=2*dy-dx
Τώρα για το επόμενο μέσο σημείο έχουμε:
F(x1+2, y1+1/2) ή F(x1+2,y1+1) ανάλογα με την τιμή της μεταβλητής απόφασης
Ας υπολογίσουμε την διαφορά μεταξύ δυο διαδοχικών μέσον σημείων.
Παρατηρήσαμε ότι για την εύρεση του επόμενου διακριτού σημείου που βρίσκεται πιο κοντά στην πραγματική ευθεία απαιτείται μόνο ο υπολογισμός των τιμών incE, incNE, D, ο οποίος μπορεί να γίνει μόνο μια φορά στην αρχή και έπειτα απλά να προστίθεται.
Γενίκευση
πηγή: wikipedia -> bresenham line algorithm
Βέβαια η υλοποίηση του αλγόριθμου για CNC παρουσιάζει διαφορές καθώς το CNC είναι ένα σύστημα που περιέχει έναν όρο ολοκλήρωσης. Σε αντίθεση με έναν υπολογιστή όπου μπορούμε να πάμε σε οποιοδήποτε pixel της οθόνης άμεσα, στο CNC πρέπει να περάσουμε από ΟΛΑ τα ενδιάμεσα σημεία, μεταξύ των δυο ακριανών.
Επίσης οι ρουτίνες που χρησιμοποιούνται από την κατασκευή περιέχουν πληροφορία και για τον τρίτο άξονα (ύψος) κάνοντας έτσι τρισδιάστατη παρεμβολή.
Κύκλος με τον αλγόριθμο Bresenham
Μεταβλητή απόφασης:
ei=d1-d2 όπου
d1=Yi^2 – Y^2 και d2=Y^2-(Y1-1)^2
Αν ei>0 επιλέγεται το (xi+1,yi-1)
Διαφορετικά » » (xi+1, yi)
Επειδή για x=xi+1 ισχύει y^2=r^2-(xi+1)^2 έχουμε:
-VeNC-
Καρπός της έρευνας είναι το πρόγραμμα VeNC. Το VeNC (από το Visual Enhanced (C)NC) είναι ένα πρόγραμμα γραμμένο σε γλώσσα C/C++, ενώ η τελική του έκδοση περιλαμβάνει συνεργασία με εξωτερικό hardware το όποιο επιτρέπει μεγαλύτερες ταχύτητες και μεγαλύτερη αξιοπιστία.
Μερικά Χαρακτηριστικά της κατασκεύης
Κεντρική οθόνη του προγράμματος (κάντε κλίκ για μεγένθυση)
Σχετικά με το πρόγραμμα(κάντε κλίκ για μεγένθυση)
Διασύνδεση
-Επίλογος-
Αποτέλεσμα της εργασίας είναι η επιπλέον εξοικείωση με τα CNC μηχανήματα καθώς και με τον τρόπο τον οποίο δουλεύουν.
Ο κλάδος των CNC είναι ένας κλάδος που γνωρίζει ραγδαία αύξηση στην Ελλάδα και λόγο της συνεχόμενης πτώσης των τιμών τους και αύξηση των δυνατοτήτων τους γίνονται όλο και πιο προσιτά σε μικρότερες επιχειρήσεις επιτρέποντας τες να γίνουν πολύ πιο αποδοτικές και πολύ πιο ποιοτικές στα παραγόμενα προϊόντα τους. Άρα και πιο ανταγωνίστηκες και πιο καινοτόμες με τα ειδή της κατεργασίας. Το CNC είναι το μέλλον όλων των εργαλειομηχανών αλλά και όλων των διεργασιών που απαιτούν αριθμητικό έλεγχο και όχι μονό για κατεργασία υλικών αλλά για οποιαδήποτε διεργασία απαιτεί γρήγορο, αξιόπιστο και με μεγάλες ταχύτητες έλεγχο σε όλους τους τομείς της βιομηχανίας.
-Τέλος-