Τ.Ε.Ι ΑΝΑΤΟΛΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ & ΘΡΑΚΗΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΤΕΧΝΟΛΟΓΙΑΣ ΠΕΤΡΕΛΑΙΟΥ ΚΑΙ Φ.Α-ΜΗΧΑΝΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ



Σχετικά έγγραφα
ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Συναρτήσεις I Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Εντολές for, while, do-while Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Προγραμματισμός Υπολογιστών με C++

ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ. Τι είναι ; Συναρτήσεις. Παράδειγμα #1. double convert ( double cm ) { double inch;

2 η Διάλεξη C++ Δρ. Χρήστος Δρόσος ΑΕΙ ΠΕΙΡΑΙΑ ΤΤ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ

Αντικειμενοστραφείς Γλώσσες Προγραμματισμού C++ / ROOT

Γ7.1 Επανάληψη ύλης Β Λυκείου. Γ Λυκείου Κατεύθυνσης

Εντολές εισόδου - εξόδου. Εισαγωγή στη C++

Προγραμματισμός Υπολογιστών με C++

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Τύποι δεδομένων, μεταβλητές, πράξεις. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Η εντολή if-else. Η απλή μορφή της εντολής if είναι η ακόλουθη: if (συνθήκη) { Η γενική μορφή της εντολής ifelse. εντολή_1; εντολή_2;..

Δισδιάστατοι Πίνακες (2D Arrays) Εισαγωγή στη C++

ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ. Τι είναι οι πίνακες; Μονοδιάστατοι πίνακες. Απλές μεταβλητές: Κεντρική μνήμη

ΤΥΠΟΛΟΓΙΟ ΣΤΟΙΧΕΙΑ ΜΗΧΑΝΩΝ Ι

ΗΥ-150. Προγραμματισμός

Προγραμματισμός Ι. Κλάσεις και Αντικείμενα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Το πρόγραμμα θα τυπώνει και τους τρεις πίνακες.

Εισαγωγή στη γλώσσα προγραμματισμού C++

ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ. Τύποι δεδομένων ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΠΡΑΞΕΙΣ ΜΕΤΑΒΛΗΤΕΣ. Ακέραιοι αριθμοί (int) Πράξεις μεταξύ ακεραίων αριθμών

Δομή Προγράμματος C++, Χειρισμός Μεταβλητών και Συναρτήσεις Εισόδου - Εξόδου

Προγραμματισμός Υπολογιστών με C++

ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ Εντολές επανάληψης Εντολές επανάληψης while for do-while ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ Παράδειγμα #1 Εντολή while

Εισαγωγή στην πληροφορική

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Συναρτήσεις II Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

ΗΥ-150. Προγραμματισμός

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Εντολή if. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Χωρική Βάση δεδοµένων Autocad

ΣΤΟΙΧΕΙA ΜΗΧΑΝΩΝ Ι - ΘΕΩΡΙΑ (για τις ασκήσεις βλ. σελ. 3)

ΑΕΝ/ΑΣΠΡΟΠΥΡΓΟΥ ΣΤΟΙΧΕΙΑ ΜΗΧΑΝΩΝ Ε Εξαμ. ΒΟΗΘΗΤΙΚΕΣ ΣΧΟΛΗ ΜΗΧΑΝΙΚΩΝ Καθηγητής : Κώστας Τατζίδης ΣΗΜΕΙΩΣΕΙΣ

Συναρτήσεις και Πίνακες

Δομές Επανάληψης. Εισαγωγή στη C++

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Συναρτήσεις (Functions) Εισαγωγή στη C++

Διαδικασιακός Προγραμματισμός

ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ. Τι είναι οι πίνακες; Μονοδιάστατοι πίνακες. Απλές μεταβλητές: Κεντρική μνήμη

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Υπολογιστικά Mαθηματικά II

ΑΕΝ/ΑΣΠΡΟΠΥΡΓΟΥ ΣΤΟΙΧΕΙΑ ΜΗΧΑΝΩΝ Ε Εξαμ. ΒΟΗΘΗΤΙΚΕΣ ΣΧΟΛΗ ΜΗΧΑΝΙΚΩΝ Καθηγητής : Κώστας Τατζίδης ΣΗΜΕΙΩΣΕΙΣ

Πίνακες (Arrays) Εισαγωγή στη C++

Οντοκεντρικός Προγραμματισμός

ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΚΑΙ ΠΙΝΑΚΕΣ

Εισαγωγή στον Προγραμματισμό

Γλώσσα Προγραμματισμού C++ Εισαγωγή - Μια πρώτη ματιά

Σχήμα 12-7: Σκαρίφημα άξονα με τις φορτίσεις του

Προγραμματισμός Η/Υ (ΤΛ2007 )

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Μονοδιάστατοι πίνακες Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Εισαγωγή στην πληροφορική

Εισαγωγή στον Προγραμματισμό με C++

Προγραμματισμός Υπολογιστών με C++

Παίρνοντας Αποφάσεις 1

Τίτλος Μαθήματος: Ηλεκτρονικοί Υπολογιστές IΙΙ. Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης

Πληροφορική 2. Γλώσσες Προγραμματισμού

3 η Διάλεξη C++ - Βασικοί τύποι δεδομένων. Δρ. Χρήστος Δρόσος ΑΕΙ ΠΕΙΡΑΙΑ ΤΤ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ

ΣΧΕΔΙΑΣΗ ΑΤΡΑΚΤΩΝ. Λειτουργικές Παράμετροι

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Προγραμματισμός Η/Υ (ΤΛ2007 )

Υπολογιστικά Μαθηματικά

Προγραμματισμός Η/Υ (ΤΛ2007 )

Εργαστήριο 3 Εντολή for while, do while

Προγραμματισμός Ι (ΗΥ120)

ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ. Τι περιλαμβάνει μια μεταβλητή; ΔΕΙΚΤΕΣ. Διεύθυνση μεταβλητής. Δείκτης

Κεφάλαιο 6: Συναρτήσεις IΙΙ Αρθρωτός Προγραμματισμός. (Διάλεξη 14) Παράδειγμα: Αλλαγή τιμής μεταβλητής μόνο τοπικά

Αναφορές, είκτες και Αλφαριθμητικά

α. Οι ήλοι κατασκευάζονται από ανθρακούχο χάλυβα, χαλκό ή αλουμίνιο. Σ

Μονοδιάστατοι πίνακες

Εισαγωγή στον Προγραμματισμό με C++

Εισαγωγή στην πληροφορική

Προγραμματιστικές Τεχνικές

Δομές Δεδομένων & Αλγόριθμοι

5. ΣΥΝΑΡΤΗΣΕΙΣ. (Πρόχειρο σχέδιο - Μαθήµατος 3) p Συναρτήσεις, που δεν επιστρέφουν κάποια τιµή

ΣΥΝΑΡΤΗΣΕΙΣ Παραδείγματα χρήσης συναρτήσεων

Συμβολοσειρές ΣΥΜΒΟΛΟΣΕΙΡΕΣ. Γεώργιος Παπαϊωάννου ( )

Εισαγωγή στον Προγραμματισμό με C++

Γ7.2 Συμβολοσειρές (Strings) Γ Λυκείου Κατεύθυνσης

Στοιχειώδης προγραμματισμός σε C++

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΕΠΛ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ

Κλάσεις και αντικείμενα #include <iostream.h<

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Η βασική συνάρτηση προγράμματος main()

Εισαγωγή στον Προγραμματισμό με C++

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Προγραμματισμός Υπολογιστών με C++

Προγραμματισμός Ι. Εισαγωγή στην C++ Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Δομημένος Προγραμματισμός

Κλήση Συναρτήσεων ΚΛΗΣΗ ΣΥΝΑΡΤΗΣΕΩΝ. Γεώργιος Παπαϊωάννου ( )

Εισαγωγή στη γλώσσα προγραμματισμού C++

ΕΙΣΑΓΩΓΗ ΣΤΗ ΜΗΧΑΝΟΛΟΓΙΑ (7 Ο ΕΞΑΜΗΝΟ)

7 η ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ

Γλώσσα Προγραμματισμού C

Aσκήσεις Πράξης 6 - EΠΑΝΑΛΗΠΤΙΚΟ A ΜΕΘΟ ΟΛΟΓΙΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Ι ΕΡΓΑΣΤΗΡΙΟ. 5. Τι τυπώνει το επόµενο πρόγραµµα:

Προγραμματισμός Υπολογιστών με C++

Οντοκεντρικός Προγραμματισμός

ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ

Προγραμματιστικές τεχνικές

Τίτλος Μαθήματος: Ηλεκτρονικοί Υπολογιστές IΙΙ. Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Δομή του προγράμματος. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Μεθόδων Επίλυσης Προβλημάτων

Προγραμματισμός Ι. Δείκτες. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Κεφάλαιο 6: Συναρτήσεις IΙΙ Αρθρωτός Προγραμματισμός. Δείκτες (Διάλεξη 14)

Transcript:

Τ.Ε.Ι ΑΝΑΤΟΛΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ & ΘΡΑΚΗΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΤΕΧΝΟΛΟΓΙΑΣ ΠΕΤΡΕΛΑΙΟΥ ΚΑΙ Φ.Α-ΜΗΧΑΝΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΤΕΥΘΥΝΣΗ:ΜΗΧΑΝΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΘΕΜΑ:ΥΠΟΛΟΓΙΣΜΟΣ ΜΕΛΕΤΗΣ ΚΑΙ ΕΛΕΓΧΟΥ ΑΤΡΑΚΤΩΝ ΜΕ ΤΗ ΒΟΗΘΕΙΑ Η/Υ ΣΠΟΥΔΑΣΤΕΣ: ΜΕΛΕΤΗΣ ΒΑΞΕΒΑΝΙΔΗΣ του ΠΑΝΑΓΙΩΤΗ (4907) ΠΡΟΔΡΟΜΟΣ ΦΑΡΜΑΚΗΣ του ΧΡΗΣΤΟΥ (5162) ΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ: ΙΩΑΝΝΗΣ Θ. ΑΡΑΜΠΑΤΖΗΣ ΚΑΒΑΛΑ ΝΟΕΜΒΡΙΟΣ 2013 1

ΠΕΡΙΕΧΟΜΕΝΑ 1. Πρόλογος...σελ 2 2. Κύριο Μέρος...σελ 3-35 3. Βιβλιογραφία...σελ 35 2

ΠΡΟΛΟΓΟΣ Σκοπός: Η παρούσα εφαρμογή αφορά την σχεδιομελέτη αυξομειωτήρα στροφών με τροχούς τριβής. Η σχεδίαση και υλοποίηση έγινε με την χρήση της γλώσσας προγραμματισμού C++ σε περιβάλλον Netbeans 7.3.1 και λειτουργικό σύστημα Windows 7. Ακολουθεί περιληπτικά η ροή του προγράμματος και στην συνέχεια υπάρχει ολόκληρος ο κώδικας (998 γραμμές) με κατατοπιστικά σχόλια δίπλα ή πάνω από τις διάφορες διεργασίες του προγράμματος. Για λόγους ευκολίας στην ανάγνωση έχουν μπει χρώματα που το διαχωρίζουν σε κατανοητά και μικρότερα κομμάτια. Ο χρήστης συμμετέχει 6 φορές (δίνει 4 τιμές στην αρχή και επιλέγει 2 φορές υλικά) στην διαδικασία και το πρόγραμμα κάνει τους υπολογισμούς τις συγκρίσεις, συνδέεται με τους πίνακες και εμφανίζει τις πιο σημαντικές μεταβλητές που λαμβάνουν μέρος. Αρχικά μας ζητείται από το πρόγραμμα να δώσουμε τιμές στις μεταβλητές d, D, L1, L2. Στην συνέχεια ακολουθούν οι υπολογισμοί της Μελέτης Ατράκτου 3, Αντιδράσεων Ροπών Κάμψης, γίνεται η Σύνθεσης των επιπέδων καθώς και ο υπολογισμός της διαμέτρου Ατράκτου 3. Στην συνέχεια ζητείται από τον χρήστη να επιλέξει υλικό ανάμεσα στα St42, St50, St60, St70 και 30CrNiM08. Ακολουθεί ο υπολογισμός των Εδράνων Κυλίσεως και η επιλογή αυτού από τον πίνακα 1. Μετά γίνεται η εκλογή του κατάλληλου ελατηρίου από το πρόγραμμα, συμφωνά με τον πίνακα 3 και τους υπολογισμούς που προηγήθηκαν. Στη συνέχεια γίνεται ο υπολογισμός της Ατράκτου 3 κατά THUM. Οι υπολογισμοί συνεχίζουν κάνοντας χρήση δεκάδων μεταβλητών και ελέγχων μέχρι να καταλήξουμε στα τελικά αποτελέσματα. Να σημειωθεί ότι παρατηρήθηκε μικρή απόκλιση από τα αποτελέσματα του βιβλίου. Για την διευκόλυνση του χρήστη μπήκε η συνάρτηση sleep(3), που κάνει χρονοκαθυστέρηση 3 δευτερολέπτων στην εμφάνιση της κάθε γραμμής του προγράμματος. Ευχαριστίες: Για την βοήθεια της εκτέλεσης του προγράμματος καθώς κ για την ολοκλήρωση της πτυχιακής ευχαριστούμε τον κ. Ιωάννη Θ.Αραμπατζή, για τον χρόνο κ την βοήθεια που μας πρόσφερε. 3

ΚΥΡΙΟ ΜΕΡΟΣ Στο κύριο μέρος της εργασίας παρατίθεται αναλυτικά ο κώδικας του προγράμματος, που με την βοήθεια επικεφαλίδων και σχολίων αναλύεται η άσκηση και τα βήματα της ένα ένα ξεχωριστά. #include <iostream> #include <cmath> #include <iomanip> #include <unistd.h> //για τη main()) //για τον υπολογισμό των πράξεων // για τη ακρίβεια των δεκαδικών //για την sleep using namespace std; static int pin2 [35][4]={ //πίνακας2 {15,35,8150,202}, {17,40,9800,203}, {17,40,14000,2203}, {17,47,15800,303}, {20,47,13400,204}, {20,47,18300,2204}, {20,52,20400,304}, {25,52,16300,205}, {25,52,20800,2205}, {25,62,26000,305}, {25,62,38000,2305}, {30,55,14300,1006}, {30,62,20400,206}, {30,62,29000,2206}, {30,72,34000,306}, 4

{30,72,45500,2306}, {30,90,65000,406}, {35,62,19000,1007}, {35,72,29000,207}, {35,72,43000,2207}, {35,80,43000,307}, {35,80,57000,2307}, {35,100,68000,407}, {40,68,21200,1008}, {40,80,38000,208}, {40,80,51000,2208}, {40,90,51000,308}, {40,90,73500,2308}, {40,110,88000,408}, {45,75,26500,1009}, {45,85,40000,209}, {45,86,54000,2209}, {45,100,85500,309}, {45,100,95000,2309}, {45,120,104000,409} }; static double pin3 [29][9] = { //πίνακας 3 {8, 4.2, 0.3, 0.25, 0.55, 12, 0.19, 0.36, 135}, {10, 5.2, 0.4, 0.3, 0.7, 21, 0.22, 0.48, 131}, {12.5, 6.2, 0.5, 0.35, 0.85, 30, 0.26, 0.59, 114}, {14, 7.2, 0.5, 0.4, 0.9, 28, 0.3, 0.6, 113}, {16, 8.2, 0.6, 0.45, 1.05, 42, 0.34, 0.71, 114}, {18, 9.2, 0.7, 0.5, 1.2, 58, 0.37, 0.83, 114}, 5

{20, 10.2, 0.8, 0.55, 1.35, 76, 0.41, 0.94, 115}, {22.5, 11.2, 0.8, 0.65, 1.45, 72, 0.49, 0.96, 111}, {25, 12.2, 0.9, 0.7, 1.6, 88, 0.52, 1.08, 105}, {28, 14.2, 1, 0.8, 1.8, 113, 0.6, 1.2, 112}, {31.5, 16.3, 1.25, 0.9, 2.15, 194, 0.67, 1.48, 122}, {35.5, 18.3, 1.25, 1, 2.25, 173, 0.75, 1.5, 110}, {40, 20.4, 1.5, 1.15, 2.65, 267, 0.86, 1.79, 117}, {45, 22.4, 1.75, 1.3, 3.05, 372, 0.97, 2.08, 118}, {50, 25.4, 2, 1.4, 3.4, 485, 1.05, 2.35, 117}, {56, 28.5, 2, 1.6, 3.6, 452, 1.2, 2.4, 112}, {63, 31, 2.5, 1.75, 4.25, 730, 1.31, 2.94, 112}, {71, 36, 2.5, 2, 4.5, 690, 1.5, 3, 108}, {80, 41, 3, 2.3, 5.3, 1070, 1.72, 3.58, 117}, {90, 46, 3.5, 2.5, 6, 1450, 1.88, 4.12, 114}, {100, 51, 3.5, 2.8, 6.3, 1330, 2.1, 4.2, 108}, {112, 57, 4, 3.2, 7.2, 1830, 2.4, 4.8, 119}, {125, 64, 5, 3.5, 8.5, 3100, 2.65, 5.85, 127}, {140, 72, 5, 4, 9, 2850, 3, 6, 122}, {160, 82, 6, 4.5, 10.5, 4200, 3.4, 7.1, 122}, {180, 92, 6, 5.1, 11.1, 3800, 3.8, 7.3, 115}, {200, 102, 8, 5.6, 13.6, 7800, 4.2, 9.4, 125}, {225, 112, 8, 6.5, 14.5, 7200, 4.85, 9.65, 119}, {250, 127, 10, 7, 17, 12200, 5.25, 11.75, 126} }; static int pin1 [16][3] = { //πίνακας1 {60, 345000, 29412}, {65, 397000, 29413}, {70, 449000, 29414}, {75, 518000, 29415}, 6

{80, 575000, 29416}, {85, 633000, 29417}, {90, 702000, 29418}, {100, 863000, 29420}, {110, 1010000, 29422}, {120, 1170000, 29424}, {130, 1380000, 29426}, {140, 1400000, 29428}, {150, 1610000, 29430}, {160, 1790000, 29432}, {170, 2020000, 29434}, {180, 2250000, 29436} }; //pin3 variables double f; int F; int di; void selectspur(int dp3) { //επιλογή ελατηρίου από τον πίνακα 3 for (int i = 0; i < 29; i++) { if (dp3 <= pin3[i][1]) { cout <<"Επιλέγουμε από τον πίνακα 3, ελατήριο με τα παρακάτω χαρακτηριστικά:"<<endl; cout << "Da = " << pin3[i][0] <<"mm"<< endl; cout << "Di = " << pin3[i][1] <<"mm"<< endl; cout << "s = " << pin3[i][2] <<"mm"<< endl; cout << "ho = " << pin3[i][3] <<"mm"<< endl; cout << "Io = " << pin3[i][4] <<"mm"<< endl; cout << "F = " << pin3[i][5] <<"Kp"<< endl; cout << "f = " << pin3[i][6] <<"mm"<< endl; F = pin3[i][5]; 7

f = pin3[i][6]; break;} } } void selectbearing(int c) { //επιλογή εδράνου κυλήσεως από τον πίνακα 1 for (int i = 0; i < 16; i++) { if (c <= pin1[i][1]) { cout<<"επιλέγουμε από τον πίνακα 1, έδρανο κυλήσεως με τα παρακάτω χαρακτηριστικά:"<<endl; } } cout << "d =" << pin1[i][0] <<"mm"<<endl; cout << "Cdynamic = " << pin1[i][1] <<"N"<< endl; cout << "Έδρανο κυλίσεως " << pin1[i][2] <<"Ε"<< endl; di=pin1[i][0]; break; } else { } cout << "Δεν υπαρχει διαθέσιμο έδρανο κυλίσεως στον πίνακα 1 " << endl; break; int main() { // αρχικοποίηση τιμών double p = 12.5; //ισχύς ηλεκτροκινητήρα int n = 1500; //αριθμός στροφών double d; //εσωτερική διάμετρος double D; //εξωτερική διάμετρος 8

char yliko; //υλικό τροχών τριβής double m = 0.1; //συντελεστής ημιυγρής τιμής int d1 = 150; //εξωτερική διάμετρος του τροχού τριβής double l1;// double l2;// cout << "παρακαλώ πληκτρολογήστε την τιμή (d) της εσωτερικής διαμέτρου του τροχού τριβής και πατήστε enter" << endl; cin >> d; cout << "παρακαλώ πληκτρολογήστε την τιμή (D) της εξωτερικής διαμέτρου του τροχού τριβής και πατήστε enter " << endl; cin >> D; cout << "παρακαλώ πληκτρολογήστε την τιμή (l1) " << endl; cin >> l1; cout << "παρακαλώ πληκτρολογήστε την τιμή (l2) " << endl; cin >> l2; //παρακάτω γίνεται ο υπολογισμός της μελέτης της ατράκτου 3 int ab = (D - d)/2; //απόσταση AB double n3 = n; double t, t3; t3 = (716.2 * p) / n3; // η ροπή στρέψεως της ατράκτου 3 του ηλεκτροκινητήρα t = t3; cout<<endl; cout<<"aπόσταση ΑΒ = "<<ab<<" mm"<<endl; cout<<"τ3 = "<<t3<<" kp.m"<<endl<<endl; //παρακάτω γίνεται ο υπολογισμός του σημείου συνεργασίας Α 9

double rxa = d / 2.; rxa = rxa / 1000.; double ftra = t3 / rxa; //Δύναμη τριβής double fka = ftra / m; // Δύναμη πίεσης cout<<"yπολογισμός του σημείου συνεργασίας Α"<<endl; cout<<"rχa = "<<rxa<<"m"<<endl; cout<<"ftρα = "<<ftra<<"kp"<<endl; cout<<"fκa = "<<fka<<"kp"<<endl<<endl; //παρακάτω γίνεται ο υπολογισμός του σημείου συνεργασίας Β double fkmax; double rxb = D / 2.; rxb = rxb / 1000.; double ftrb = t / rxb; //Δύναμη τριβής double fkb = ftrb / m; //Δύναμη πίεσης fkmax = fka; double fkmin = fkb; double dfk = fkmax - fkmin; cout<<"yπολογισμός του σημείου συνεργασίας B"<<endl; cout<<"rχb = "<<rxb<<"m"<<endl; cout<<"ftρb = "<<ftrb<<"kp"<<endl; cout<<"fκb = "<<fkb<<"kp"<<endl<<endl; cout<<"dfk = "<<dfk<<"kp"<<endl<<endl; ///παρακάτω γίνεται ο υπολογισμός των αντιδράσεων και των ροπών κάμψης 10

double f5x, fax; f5x = ftra; fax = f5x; double f5y = (fka * 25) / 120; //Σfy=0 double f4y; f4y = f5y; //Δ.Ρ.Κ double m5 = f4y * 0.12; double maar = (f4y * 0.12)-(f5y * 0.045); double made = fax * 0.025; double mbmaxxy = m5; cout<<"yπολογισμός των αντιδράσεων και των ροπών κάμψης για το επίπεδο (Χ-Υ)"<<endl; cout<<"f5y = "<<f5y<<"kp"<<endl; cout<<"mbmax(x-y) = "<<mbmaxxy<<"kp.m"<<endl<<endl; //συνάρτηση χρονοκαθυστέρησης 3 δευτερολέπτων για ευκολία στην χρήση του προγράμματος //επίπεδο x-z double faz = ftra; double f5z = (faz * 165) / 120.; double f4z = f5z - faz; double m4z = f4z; //Δ.Ρ.Π m5 = m4z * 0.12; double mbmaxxz = m5; cout<<"υπολογισμός των αντιδράσεων και των ροπών κάμψης για το επίπεδο (Χ-Ζ)"<<endl; cout<<"fax = "<<fax<<"kp"<<endl; cout<<"f5z = "<<f5z<<"kp"<<endl; cout<<"f4ζ = "<<f4z<<"kp"<<endl; 11

cout<<"m5 = "<<m5<<"kp.m"<<endl; cout<<"mbmax(x-z) = "<<mbmaxxz<<"kp.m"<<endl<<endl; //////παρακάτω γίνεται η σύνθεση των επιπέδων double f4r = sqrt(pow(f4y, 2) + pow(f4z, 2)); //υπολογισμός του F4r double f5r = sqrt(pow(f5y, 2) + pow(f5z, 2)); //υπολογισμός του F5r double f5a = fka; f5x=f5a; cout<<"σύνθεση επιπέδων"<<endl; cout<<"f4r = "<<f4r<<endl; cout<<"f5r = "<<f5r<<endl; cout<<"f5a = F5x = "<<f5a<<endl<<endl; double mbmax3 = sqrt(pow(mbmaxxy, 2) + pow(mbmaxxz, 2)); // υπολογισμός του Mb max3 cout<<"mbmax3 = "<<mbmax3<<endl<<endl; int ep = 0; double sbao; double ttp; double csb; double cst; int szo2; double ma = mbmax3; int done = 0; //βοηθητική μεταβλητή ελέγχου //////παρακάτω γίνεται η επιλογή του υλικού while (!done) { cout << "----------------------ΕΠΙΛΟΓΗ ΥΛΙΚΟΥ--------------------------"<<endl; cout << "--παρακαλώ πληκτρολογήστε '1' για το St 42 και πατήστε enter--" << endl; 12

cout << "--παρακαλώ πληκτρολογήστε '2' για το St 50 και πατήστε enter--" << endl; cout << "--παρακαλώ πληκτρολογήστε '3' για το St 60 και πατήστε enter--" << endl; cout << "--παρακαλώ πληκτρολογήστε '4' για το St 70 και πατήστε enter--" << endl; cout << "--παρακαλώ πληκτρολογήστε '5' για το 30CrNiM08 --"<<endl; cout<< "--και πατήστε enter --" << endl; cout << "--------------------------------------------------------------"<<endl; cin >> ep; if (ep>=1 && ep<=5) { if (ep == 1) { sbao = 22; ttp = 18; csb = 1.25; cst = csb; szo2 = 26; done = 1; } else if (ep == 2) { sbao = 26; ttp = 21; csb = 1.25; cst = csb; szo2 = 30; done = 1; } else if (ep == 3) { sbao = 30; ttp = 23; csb = 1.25; cst = csb; szo2 = 34; 13

done = 1; } else if (ep == 4) { sbao = 34; ttp = 26; csb = 1.25; cst = csb; szo2 = 37; done = 1; } else if (ep == 5) { sbao = 60; ttp = 73; csb = 1.25; cst = csb; szo2 = 105; done = 1; }//else if }//if else{ cout << '\a'; //Προειδοποιητικός ήχος για μη αποδεκτή επιλογή cout << " ΛΑΘΟΣ ΕΠΙΛΟΓΗ!! ΞΑΝΑΠΡΟΣΠΑΘΗΣΤΕ" << endl;} }//while //παρακάτω γίνεται o υπολογισμός της διαμέτρου ατράκτου 3 float dp = 35.8 * pow(csb / sbao, (1 / 3.0)) * pow(pow(ma, 2) + pow(sbao / (2 * ttp) * t, 2), 1. / 6); cout<<endl<<endl<<"dπ = "<<dp<<"mm"<<endl; //πίνακας τυποποίησης din3 int i = 0; 14

//int Dp; //κάτω ο πίνακας τυποποίησης din3 double din3[150] = {0.3, 0.4, 0.5, 0.6, 0.8, 1, 1.1, 1.2, 1.4, 1.5, 1.6, 1.8, 2, 2.2, 2.5, 2.8, 3, 3.2, 3.5, 4, 4.5, 5, 5.5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28, 30, 32, 34, 35, 36, 38, 40, 42, 44, 45, 46, 48, 50, 52, 53, 55, 56, 58, 60, 62, 63, 65, 67, 68, 70, 71, 72, 75, 78, 80, 82, 85, 88, 90, 92, 95, 98, 100, 105, 110, 115, 120, 125, 130, 135, 140, 145, 150, 155, 160, 165, 170, 175, 180, 185, 190, 195, 200, 210, 220, 230, 240, 250}; if (dp >= 150) //εδώ γίνεται έλεγχος αν το dp έχει μη επιτρεπτή τιμή. Δηλαδή αν dp > = 150 { cout << "to Dp exei mi epitrepti timi " << dp << endl; cout<<"τελοσ ΠΡΟΓΡΑΜΜΑΤΟΣ!!!"<<endl; return 0; } else { while (dp>din3[i] dp==din3[i] ) // βάζει την αμέσως μεγαλύτερη τιμή του dp { i = i + 1; }//while dp = din3[i]; } // εδώ το Dp παίρνει την τυποποιημένη τιμή // cout<<"η τιμή του Dπ μετά την τυποποίηση από τον πίνακα Din3 είναι Dπ= " <<dp<<endl<<endl; //παρακάτω θα γίνει ο υπολογισμός των εδράνων κυλίσεως //θεση 5 double p5a; double p5b; if (f5r > 0.55 * f5a) { cout << " δεν ισχύει η σχέση F5r<=0.55*F5a" << endl;///αν δεν ισχύει η σχέση το πρόγραμμα τερματίζεται cout<<"τελοσ ΠΡΟΓΡΑΜΜΑΤΟΣ!!!"<<endl; return 0; 15

}//if else { } p5a = (1.2 * f5r) + f5a; p5b = csb*p5a; double cap1= p5b * pow(((60 * 1500 * 12000) / pow(10, 6)), 0.3); double cap = cap1*9.81; cout<<"yπολογισμοσ ΤΩΝ ΕΔΡΑΝΩΝ ΚΥΛΗΣΕΩΣ "<<endl; cout<<endl<<"θεση 5"<<endl; cout<<"p'5 = "<<p5a<<"kp"<<endl; cout<<"p5 = "<<p5b<<"kp"<<endl; cout<<"cαπ = "<<cap<<"n"<<endl<<endl; selectbearing(cap); //εδώ καλείται η συνάρτηση selectbearing που επιλέγει από τον πίνακα1 (pin1) το κατάλληλο έδρανο κυλήσεως //θέση 4 double p4a = f4r; double p4b = csb*p4a; double cap2 = p4b * pow(((60 * 1500 * 12000) / pow(10, 6)), 0.3); cout<<"θεση 4"<<endl; cout<<"p4 ="<<p4b<<"kp"<<endl; cout<<"cαπ ="<<cap2<<"kp"<<endl; // //εκλογή ελατηρίου double df = 0.017456 * ((D - d) / 2.); // υπολογίζουμε το Δf cout<<endl<<endl<<"εκλογή ελατηρίου"<<endl<<endl; 16

cout<<"δf = "<<df<<endl<<endl; selectspur(di);// εδω καλείται η συνάρτηση selectspur που επιλέγει από τον πίνακα3 (pin3) το κατάλληλο ελατήριο double f2 = df; double F2 = (F * f2) / f;//f=timh APO TON PINAKA3 cout<<"f = "<<F2<<"kp"<<endl; cout<<"δfk = "<<dfk<<"kp"<<endl<<endl; //Υπολογισμός ελέγχου της ατράκτου 3 κατά THUM //υπολογισμός τάσεων λειτουργίας //καμπτική τάση double pi = 3.1415926535897932; // το π double wb = (pi * pow(dp, 3)) / 32; double sb = (ma / wb)*1000; cout<<"a. Καμπτική τάση:"<<endl; cout<<"σb = "<<sb<<"kp/mm2"<<endl<<endl; //στρεπτική τάση double wp = wb * 2; double tt = (t / wp)*1000; cout<<"b. Στρεπτικη τάση:"<<endl; cout<<"tt = "<<tt<<"kp/mm2"<<endl<<endl; //καμπτική τάση λειτουργίας double sbl = csb*sb; cout<<"γ. Καμπτική τάση λειτουργίας:"<<endl; cout<<"(σb)λ = "<<sbl<<"kp/mm2"<<endl<<endl; //στρεπτική τάση λειτουργίας double akt = 1.3; 17

double ttl = cst * akt*tt; cout<<"δ. Στρεπτική τάση λειτουργίας:"<<endl; cout<<"(τt)λ = "<<ttl<<"kp/mm2"<<endl<<endl; sleep(5); //ΥΠΟΛΟΓΙΣΜΟΣ ΕΠΙΤΡΕΠΟΜΕΝΩΝ ΤΑΣΕΩΝ //Επιτρεπόμενη καμπτική ταση double bop ;//οι τιμές που παίρνει ο συντελεστής βοp σύμφωνα με το ΣΧΗΜΑ3 if (di>=10 && di<15 ) bop=1.05; else if (di>=15 && di<20) bop=0.95; else if (di>=20 && di<30) bop=0.88; else if (di>=30 && di<40) bop=0.85; else if (di>=40 && di<50) bop=0.82; else if (di>=50 && di<60) bop=0.80; else if (di>=60 && di<70) bop=0.78; else if (di>=70 && di<80) bop=0.73; else if (di>=80 && di<90) bop=0.69; else if (di>=90 && di<100) bop=0.67; else if (di>=100 && di<110) bop=0.66; if (di>=110 && di<120) bop=0.65; if (di>=120 && di<140) bop=064; if (di>=140 && di<200) bop=0.63; double bot = bop; double szth = 42; double rt = 6; double b1b = 0.94; double b2b = 1; double nkb = 0.64; double akb = 2.6; 18

double bkb = 2.024; long double sbaep = (sbao * bop * b1b * b2b) / bkb; cout<<"υπολογισμοσ ΕΠΙΤΡΕΠΟΜΕΝΩΝ ΤΑΣΕΩΝ"<<endl; cout<<"α.eπιτρεπόμενη καμπτική τάση"<<endl; cout<<"βοb ="<<bop<<endl; cout<<"β1b ="<<b1b<<endl; cout<<"β2b ="<<b2b<<endl; cout<<"nkb ="<<nkb<<endl; cout<<"(σba)επ ="<<sbaep<<"kp/mm2"<<endl<<endl; //Επιτρεπόμενη στρεπτική τάση double ct = 1.35; double dt = 1 + 0.75 * (ct * akt - 1) * pow((30 / szo2), 1 / 4.); double ttep = (szo2 / sqrt(3)) * dt; cout<<"b.eπιτρεπόμενη στρεπτική τάση"<<endl; cout<<"(tt)επ ="<<ttep<<"kp/mm2"<<endl<<endl; //ΥΠΟΛΟΓΙΣΜΟΣ ΣΥΝΤΕΛΕΣΤΗ ΑΣΦΑΛΕΙΑΣ //Υπολογισμός συντελεστή ασφαλείας σε κάμψη cout<<"υπολογισμός συντελεστή ασφαλείας"<<endl<<endl; double Sb = sbaep / sbl; cout<<"a.συντελεστής ασφαλείας σε κάμψη"<<endl; cout<<"sb ="<<Sb<<endl; //Υπολογισμός συντελεστή ασφαλείας σε στρέψη 19

double St = ttep / ttl; cout<<"b.συντελεστής ασφαλείας σε στρέψη"<<endl; cout<<"st ="<<St<<endl; //ΙΣΟΔΥΝΑΜΟΣ ΣΥΝΤΕΛΕΣΤΗΣ ΛΕΙΤΟΥΡΓΙΑΣ double sis = sqrt(1 / (1 / pow(sb, 2)+(1 / pow(st, 2)))); if (sis < 2 && sis > 1.5) { cout << "Ο ισοδύναμος συντελεστής είναι μέσα στα όρια " << endl; cout << "1.5 <" << sis << "< 2" << endl; } else { cout << "Ο ισοδύναμος συντελεστής ΔΕΝ είναι μέσα στα όρια, 1.5< Sισ <2" << endl; cout << sis << endl; } // ΥΠΟΛΟΓΙΣΜΟΣ ΑΝΤΟΧΗΣ ΤΡΟΧΩΝ ΤΡΙΒΗΣ 6 & 7 //ΥΛΙΚΟ ΚΑΤΑΣΚΕΥΗΣ ΤΟΥΣ double p1 = d1 / 2.; int p2 = 3000; double ks; double h; float costh = ((1 / p1)-(1 / 3000.)) / ((1 / p1)+(1 /3000.)); float th =( acos(costh) * 180 )/ 3.14159265; double x1, y1; double x2, y2; //παρακάτω κάνουμε την γραμμική παρεμβολή για να βρούμε τα ξ,η if (th == 0) { 20

ks = 0; h = 0; } else if (th == 10 th < 10) { x1 = 6.612; x2 = ((20 - th) * x1) / 10; ks = 6.612 + x2; y1 = 0.319; y2 = ((10 - th) * y1) / 10; h = 0.319 - y2; } else if (th == 20 th < 20 && th > 10) { x1 = 2.834; x2 = ((20 - th) * x1) / 10; ks = 3.778 + x2; y1 = 0.089; y2 = ((20 - th) * y1) / 10; h = 0.408 - y2; } else if (th == 30 th < 30 && th > 20) { x1 = 1.047; x2 = ((30 - th) * x1) / 10; ks = 2.731 + x2; y1 = 0.085; y2 = ((30 - th) * y1) / 10; h = 0.493 - y2; } else if (th == 40 th < 40 && th > 30) { x1 = 0.595; x2 = ((40 - th) * x1) / 10; ks = 2.136 + x2; y1 = 0.074; y2 = ((40 - th) * y1) / 10; 21

h = 0.567 - y2; } else if (th == 50 th < 50 && th > 40) { x1 = 0.382; x2 = ((50 - th) * x1) / 10; ks = 1.754 + x2; y1 = 0.074; y2 = ((50 - th) * y1) / 10; h = 0.641 - y2; } else if (th == 60 th < 60 && th > 50) { x1 = 0.268; x2 = ((60 - th) * x1) / 10; ks = 1.486 + x2; y1 = 0.076; y2 = ((60 - th) * y1) / 10; h = 0.717 - y2; } else if (th == 70 th < 70 && th > 60) { x1 = 0.202; x2 = ((70 - th) * x1) / 10; ks = 1.284 + x2; y1 = 0.085; y2 = ((70 - th) * y1) / 10; h = 0.802 - y2; } else if (th == 80 th < 80 && th > 70) { x1 = 0.156; x2 = ((80 - th) * x1) / 10; ks = 1.128 + x2; y1 = 0.091; y2 = ((80 - th) * y1) / 10; h = 0.893 - y2; 22

} else if (th == 90 th < 90 && th > 80) { x1 = 0.128; x2 = ((90 - th) * x1) / 10; ks = 1 + x2; y1 = 0.107; y2 = ((90 - th) * y1) / 10; h = 1 - y2; } else { cout << "Η γωνία θ έχει μη αποδεκτή τιμή" << endl; return 0; } cout<<endl<<"ξ ="<<ks<<endl; cout<<"η ="<<h<<endl<<endl; //υπολογίζουμε το Pmax double xv = (2.1 * pow(10, 4)*((1.0 / 3000.0)+(1.0 / p1))) / (3.0 * (1.0 - pow(0.3, 2.0))); double yv = (1.5) / (3.14 * ks * h); double zv = fkmax; double nv = zv * pow(xv, 2); double pmax = yv * pow(nv, (1. /3.)); cout<<"pmax= "<<pmax<<endl<<endl; //ΥΠΟΛΟΓΙΣΜΟΣ ΜΕΛΕΤΗΣ ΤΗΣ ΑΤΡΑΚΤΟΥ 8 double ftramax = ftra; //ΕΠΙΠΕΔΟ Χ-Υ double f11y = fkmax * (l1 / (l1 + l2)); double f10y = fkmax * (l2 / (l1 + l2)); double mbmaxxy8 = (fkmax * ((l1 * l2) / (l1 + l2)))/1000; 23

cout<<"υπολογισμοσ ΜΕΛΕΤΗΣ ΤΗΣ ΑΤΡΑΚΤΟΥ 8"<<endl; cout<<"επιπεδο Χ-Υ"<<endl; cout<<"f11y ="<<f11y<<"kp"<<endl; cout<<"f10y ="<<f10y<<"kp"<<endl; cout<<"mbmax(x-y) ="<<mbmaxxy8<<"kpm"<<endl<<endl; //ΕΠΙΠΕΔΟ Χ-Ζ //double f11z=ftramax* double f11z = ftra * (l1 / (l1 + l2)); double f10z = ftra * (l2 / (l1 + l2)); double mbmaxxz8 = (ftra * ((l1 * l2) / (l1 + l2)))/1000; cout<<"επιπεδο Χ-Z"<<endl; cout<<"f11z ="<<f11z<<"kp"<<endl; cout<<"f10z ="<<f10z<<"kp"<<endl; cout<<"mbmax(x-z) ="<<mbmaxxz8<<"kpm"<<endl<<endl; //////παρακάτω γίνεται η σύνθεση των επιπέδων double f11r = sqrt(pow(f11y, 2) + pow(f11z, 2)); //υπολογισμός του F11r double f10r = sqrt(pow(f10y, 2) + pow(f10z, 2)); //υπολογισμός του F10r cout<<"σύνθεση επιπέδων"<<endl; cout<<"f11r = "<<f11r<<"kp"<<endl; cout<<"f10r = "<<f10r<<"kp"<<endl; double mbmax8 = sqrt(pow(mbmaxxy8, 2) + pow(mbmaxxz8, 2)); // //υπολογισμός του Mbmax8 cout<<"mbmax8 = "<<mbmax8<<"kp.m"<<endl<<endl; int ep2 = 0; 24

double sbao2; double ttp2; // double csb2; // double cst2; int szo22; double ma2 = mbmax8; int done2 = 0; //βοηθητική μεταβλητή ελέγχου while (!done2) { cout << "------------------------ΕΠΙΛΟΓΗ ΥΛΙΚΟΥ------------------------" << endl; cout << "--παρακαλώ πληκτρολογήστε '1' για το St 42 και πατήστε enter--" << endl; cout << "--παρακαλώ πληκτρολογήστε '2' για το St 50 και πατήστε enter--" << endl; cout << "--παρακαλώ πληκτρολογήστε '3' για το St 60 και πατήστε enter--" << endl; cout << "--παρακαλώ πληκτρολογήστε '4' για το St 70 και πατήστε enter--" << endl; cout << "--παρακαλώ πληκτρολογήστε '5' για το 30CrNiMo8----------------" <<endl; cout << "--και πατήστε enter-------------------------------------------" << endl; cout << "--------------------------------------------------------------"<<endl; cin >> ep2; if (ep2>=1 && ep2<=5) { if (ep2 == 1) { sbao2 = 22; ttp2 = 18; // csb2 = 1.25; //cst = csb; szo22 = 26; done2 = 1; } else if (ep2 == 2) { 25

sbao2 = 26; ttp2 = 21; //csb2 = 1.25; //cst2 = csb; szo22 = 30; done2 = 1; } else if (ep2 == 3) { sbao2 = 30; ttp2 = 23; //csb = 1.25; //cst = csb; szo22 = 34; done2 = 1; } else if (ep2 == 4) { sbao2 = 34; ttp2 = 26; //csb = 1.25; //cst = csb; szo22 = 37; done2 = 1; } else if (ep2 == 5) { sbao2 = 60; ttp2 = 73; //csb = 1.25; //cst = csb; szo22 = 105; done2 = 1; }//else if 26

}//if else{ cout << '\a'; //Προειδοποιητικός ήχος για μη αποδεκτή επιλογή cout << " ΛΑΘΟΣ ΕΠΙΛΟΓΗ!! ΞΑΝΑΠΡΟΣΠΑΘΗΣΤΕ" << endl;} }//while //////παρακάτω γίνεται ο υπολογισμός της διαμέτρου της ατράκτου double n8min=(n*d)/d1; double n8max=(n*d)/d1; double t2= 716*(p/n8min); cout<<"n8min = "<<n8min<<"rpm"<<endl; cout<<"n8max = "<<n8max<<"rpm"<<endl; cout<<"t8 = "<<t2<<"kpm"<<endl; float dp2 = 35.8 * pow(csb / sbao2, (1 / 3.0)) * pow(pow(ma2, 2) + pow(sbao2 / (2 * ttp2) * t2, 2), 1. / 6); cout<<endl<<endl<<"dπ = "<<dp2<<"mm"<<endl; double t1; if (dp2>=6 && dp2<8 ) { t1= 1.1; cout<<"επιλέγω διατομή σφήνα 2 Χ 2 με t1 ="<<t1<<endl;} else if (dp2>=8 && dp2<10) { t1= 1.7; cout<<"επιλέγω διατομή σφήνα 3 Χ 3 με t1 ="<<t1<<endl;} 27

else if (dp2>=10 && dp2<12) { t1= 2.4; cout<<"επιλέγω διατομή σφήνα 4 Χ 4 με t1 ="<<t1<<endl;} else if (dp2>=12 && dp2<17) { t1= 2.9; cout<<"επιλέγω διατομή σφήνα 5 Χ 5 με t1 ="<<t1<<endl;} else if (dp2>=17 && dp2<22) { t1= 3.5; cout<<"επιλέγω διατομή σφήνα 6 Χ 6 με t1 ="<<t1<<endl;} else if (dp2>=22 && dp2<30) { t1= 4.1; cout<<"επιλέγω διατομή σφήνα 8 Χ 7 με t1 ="<<t1<<endl;} else if (dp2>=30 && dp2<38) { t1= 4.7; cout<<"επιλέγω διατομή σφήνας 10 Χ 8 με t1 ="<<t1<<endl;} else if (dp2>=38 && dp2<44) { t1= 4.9; cout<<"επιλέγω διατομή σφήνας 12 Χ 8 με t1 ="<<t1<<endl;} else if (dp2>=44 && dp2<50) { t1= 5.5; cout<<"επιλέγω διατομή σφήνας 14 Χ 9 με t1 ="<<t1<<endl;} else if (dp2>=50 && dp2<58) { t1= 6.2; cout<<"επιλέγω διατομή σφήνας 16 Χ 10 με t1 ="<<t1<<endl;} else if (dp2>=58 && dp2<65) { t1= 6.8; cout<<"επιλέγω διατομή σφήνας 18 Χ 11 με t1 ="<<t1<<endl;} else if (dp2>=65 && dp2<75) { t1= 7.4; 28

cout<<"επιλέγω διατομή σφήνας 20 Χ 12 με t1 ="<<t1<<endl;} else if (dp2>=75 && dp2<85) { t1= 8.5; cout<<"επιλέγω διατομή σφήνας 22 Χ 14 με t1 ="<<t1<<endl;} else if (dp2>=85 && dp2<95) { t1= 8.7; cout<<"επιλέγω διατομή σφήνας 25 Χ 14 με t1 ="<<t1<<endl;} else if (dp2>=95 && dp2<110) { t1= 9.9; cout<<"επιλέγω διατομή σφήνας 28 Χ 16 με t1 ="<<t1<<endl;} else if (dp2>=110 && dp2<130) { t1= 11.1; cout<<"επιλέγω διατομή σφήνας 32 Χ 18 με t1 ="<<t1<<endl;} else if (dp2>=130 && dp2<150) { t1= 12.3; cout<<"επιλέγω διατομή σφήνας 36 Χ 20 με t1 ="<<t1<<endl;} else if (dp2>=150 && dp2<170) { t1= 13.5; cout<<"επιλέγω διατομή σφήνας 40 Χ 22 με t1 ="<<t1<<endl;} else if (dp2>=170 && dp2<200) { t1= 15.3; cout<<"επιλέγω διατομή σφήνας 45 Χ 25 με t1 ="<<t1<<endl;} else if (dp2>=200 && dp2<230) { t1= 17; cout<<"επιλέγω διατομή σφήνας 50 Χ 28 με t1 ="<<t1<<endl;} else if (dp2>=230 && dp2<260) { t1= 19.3; cout<<"επιλέγω διατομή σφήνας 56 Χ 32 με t1 ="<<t1<<endl;} else if (dp2>=260 && dp2<290) 29

{ t1= 19.6; cout<<"επιλέγω διατομή σφήνας 63 Χ 32 με t1 ="<<t1<<endl;} else if (dp2>=290 && dp2<330) { t1= 22; cout<<"επιλέγω διατομή σφήνας 70 Χ 36 με t1 ="<<t1<<endl;} else if (dp2>=330 && dp2<380) { t1= 24.6; cout<<"επιλέγω διατομή σφήνας 80 Χ 40 με t1 ="<<t1<<endl;} else if (dp2>=380 && dp2<440) { t1= 27.5; cout<<"επιλέγω διατομή σφήνας 90 Χ 45 με t1 ="<<t1<<endl;} else if (dp2>=440 && dp2<500) { t1= 30.4; cout<<"επιλέγω διατομή σφήνας 100 Χ 50 με t1 ="<<t1<<endl;} double dp8=dp2+t1; int i2 = 0; if (dp8 >= 250) //εδώ γίνεται έλεγχος αν το dp έχει μη επιτρεπτή τιμή. Δηλαδή αν dp > = 250 { cout << "to Dp exei mi epitrepti timi " << dp2 << endl; cout<<"τελοσ ΠΡΟΓΡΑΜΜΑΤΟΣ!!!"<<endl; return 0; } else { while (dp8>din3[i2] dp8==din3[i2] ) // βάζει την αμέσως μεγαλύτερη τιμή του dp { i2 = i2 + 1; }//while dp8 = din3[i2]; 30

} // εδώ το Dp8 παίρνει την τυποποιημένη τιμή //else cout<<"η τιμή του Dπ μετά την τυποποίηση από τον πίνακα Din3 είναι Dπ= " <<dp8<<endl<<endl; //Υπολογισμός εδράνων κυλίσεως //θέση 11 double p11a=f11r; double p11 = csb*p11a; double n11=((2*n8min)+n8max)/3; double cap11= p11 * pow(((60 * n8max * 12000) / pow(10., 6)), 0.3); cap11 = cap11*9.81; cout<<"υπολογισμός των εδράνων κυλίσεως "<<endl<<endl; cout<<endl<<endl<<"θεση 11"<<endl; cout<<"p11 = "<<p11<<"kp"<<endl; cout<<"cαπ11 = "<<cap11<<"kp"<<endl; //cout<<n11<<"n11"<<endl<<endl; // selectbearing(cap); //εδώ καλείται η συνάρτηση selectbearing που επιλέγει από τον πίνακα1 (pin1) το κατάλληλο έδρανο κυλήσεως //θέση 10 double p10a=f10r; double p10 = 1.25*p10a; double cap10= p10 * pow(((60 * n8max * 12000) / pow(10, 6)), 0.3); cap10 = cap10/100; cout<<"υπολογισμός των εδράνων κυλίσεως "<<endl<<endl; cout<<endl<<endl<<"θεση 10"<<endl; cout<<"p10 = "<<p11<<"kp"<<endl; 31

cout<<"cαπ10 = "<<cap11<<"kp"<<endl<<endl; //Υπολογισμός ελέγχου της ατράκτου 8 κατά THUM //καμπτική τάση double ma8=mbmax8*1000; double wb2 = (pi * pow(65, 3)) /32.; //double sb2 = 212541./26947.58; double sb2 = (ma8 / wb2); cout<<"υπολογισμός τάσεων λειτουργίας"<<endl<<endl; cout<<"a. Καμπτική τάση:"<<endl; cout<<"σb8 = "<<sb2<<"kp/mm2"<<endl<<endl; cout<<"wb2 = "<<wb2<<"mm3"<<endl<<endl; //στρεπτική τάση t2=t2*1000; //double w2 = ; double w2=(wb2 + wb2); double tt2 = (t2 / w2); cout<<t2<<"--t2"<<endl; cout<<w2<<"--wp2"<<endl; cout<<"b. Στρεπτική τάση:"<<endl; cout<<"tt8 = "<<tt2<<"kp/mm2"<<endl<<endl; //καμπτική τάση λειτουργίας double sbl8 = 1.25*sb2; cout<<"γ. Καμπτική τάση λειτουργίας:"<<endl; cout<<"(σb)λ = "<<sbl8<<"kp/mm2"<<endl<<endl; //στρεπτική τάση λειτουργίας 32

double akt8 = 2.5; double ttl2 = 1.25 *akt8*tt2; cout<<"δ. Στρεπτική τάση λειτουργίας:"<<endl; cout<<"(τt)λ = "<<ttl2<<"kp/mm2"<<endl<<endl; sleep(5); //ΥΠΟΛΟΓΙΣΜΟΣ ΕΠΙΤΡΕΠΟΜΕΝΩΝ ΤΑΣΕΩΝ //Επιτρεπόμενη καμπτική τάση double bop8 ;//οι τιμες που περνει ο συντελεστής βοb σύμφωνα με το ΣΧΗΜΑ3 if (dp8>=10 && dp8<15 ) bop=1.05; else if (dp8>=15 && dp8<20) bop8=0.95; else if (dp8>=20 && dp8<30) bop8=0.88; else if (dp8>=30 && dp8<40) bop8=0.85; else if (dp8>=40 && dp8<50) bop8=0.82; else if (dp8>=50 && dp8<60) bop8=0.80; else if (dp8>=60 && dp8<70) bop8=0.78; else if (dp8>=70 && dp8<80) bop8=0.73; else if (dp8>=80 && dp8<90) bop8=0.69; else if (dp8>=90 && dp8<100) bop8=0.67; else if (dp8>=100 && dp8<110) bop8=0.66; else if (dp8>=110 && dp8<120) bop8=0.65; else if (dp8>=120 && dp8<140) bop8=064; else if (dp8>=140 && dp8<200) bop8=0.63; double bot8 = bop8; double szth8 = 126; double rt8 = 10; double b1b8 = 0.76; 33

double b2b8 = 1; double nkb8 = 0.93; double akb8 = 2.2; double bkb8 = 2.116; long double sbaep8 = (sbao2 * bop8 * b1b8 * b2b8) / bkb8; cout<<"υπολογισμοσ ΕΠΙΤΡΕΠΟΜΕΝΩΝ ΤΑΣΕΩΝ"<<endl; cout<<"α. Επιτρεπόμενη καμπτική τάση"<<endl; cout<<"βοb ="<<bop8<<endl; cout<<"β1b ="<<b1b8<<endl; cout<<"β2b ="<<b2b8<<endl; cout<<"nkb ="<<nkb8<<endl; cout<<"(σba)επ ="<<sbaep8<<"kp/mm2"<<endl<<endl; //Επιτρεπόμενη στρεπτική τάση //double ct = 1.35; double dt8 = (1 + 0.75) * (1.35 * (2.5-1)) * pow((30 / szo22), 1 / 4.); double ttep8 = (szo22 / sqrt(3)) * dt8; cout<<"b. Επιτρεπόμενη στρεπτική τάση"<<endl; cout<<"(tt)επ ="<<ttep8<<"kp/mm2"<<endl<<endl; cout<<"dt8---"<<dt8<<endl; //ΥΠΟΛΟΓΙΣΜΟΣ ΣΥΝΤΕΛΕΣΤΗ ΑΣΦΑΛΕΙΑΣ //Υπολογισμός συντελεστή ασφαλείας σε κάμψη cout<<"υπολογισμός συντελεστή ασφαλείας"<<endl<<endl; 34

double Sb8 = sbaep8 / sbl8; cout<<"a. Συντελεστής ασφαλείας σε κάμψη"<<endl; cout<<"sb ="<<Sb8<<endl; //Υπολογισμός συντελεστή ασφαλείας σε στρέψη double St8 = ttep8 / ttl2; cout<<"b. Συντελεστής ασφαλείας σε στρέψη"<<endl; cout<<"st ="<<St8<<endl; //ΙΣΟΔΥΝΑΜΟΣ ΣΥΝΤΕΛΕΣΤΗΣ ΛΕΙΤΟΥΡΓΙΑΣ double sis8 = sqrt(1 / (1 / pow(sb8, 2)+(1 / pow(st8, 2)))); if (sis8 < 2 && sis8 > 1.5) { cout << "Ο ισοδύναμος συντελεστής είναι μέσα στα όρια " << endl; cout << "1.5 <" << sis8 << "< 2" << endl; } else { cout << "Ο ισοδύναμος συντελεστής ΔΕΝ είναι μέσα στα όρια, 1.5< Sισ <2" << endl; cout << sis8 << endl<<endl<<endl; } 35

ΒΙΒΛΙΟΓΡΑΦΙΑ 1.Εισαγωγη στη C++ (Γιαννης Τσιομπικας,Κωνσταντινος Μαργαριτης) 2. Προγραμματισμός με τη γλώσσα C++ τευχος 1 (Αλεβιζος.Θ) 3.Προγραμματισμός με τη γλώσσα C++ τευχος 2 (Αλεβιζος.Θ) 36