This video is part of a series that describes how to build, operate and program a DC motor speed controller
Пікірлер: 7
@georgeageorgopoulos Жыл бұрын
Ωραιος,, πρωτος,,,ξερεις υπαρχουν και αναλογικα PWMs τσιπς,,να σε καλα
@SotirisFafoutis Жыл бұрын
Ναι το γνωρίζω. Να'σαι καλά επίσης! Ευχαριστώ για το σχόλιο
@georgeageorgopoulos Жыл бұрын
@@SotirisFafoutis Τα τσιπς μικροκοντρολερς τις μικροτσιπ ειναι οι ποιο μικροι κομπιουτερς και κανουν καλητερη δουλεια,,δλδ μπορεις με προγραματισμο να κανεις οτι σου γουσταρεις,,απλα εγω σου ειπα οτι PWM μπορει να γινει και με αναλογικα με τρανσιστορς η τσιπς,,βασικα αν θες εβεληξια καλυτερα ειναι τα μικροκοντρολερς αυτα που αναφερεις στο βιντεο σου
@vasilis7468 ай бұрын
Συγχαρητήρια για το video και την ωραία επεξήγηση συνάδελφε . Θα ήταν πολύ ενδιαφέρον να δούμε πως γράφεται ένα πρόγραμμα σε assembly με βάση το block διάγραμμα του μικροελεγκτή και τη λειτουργία που θέλουμε να κάνουμε . Σήμερα οι πιο πολύ δεν χρισημοποιουμε αυτή την γλώσσα και δεν την γνωρίζουμε ανάμεσα σε αυτούς και εγώ . Η οποία είναι πολύ κοντά στη γλώσσα μηχανής ένα επίπεδο πιο επανο θα έλεγα . Όσο αφορά τη διαμόρφωση εύρους παλμού θα μου επιτρέψεις να σχολιάσω κάτι για επισήμανση . Ότι η συχνότητα το παλμού δεν αλλάζει αλλά παρά μόνο το εύρος δηλαδή πόση διάρκεια στην ίδια συχνότητα σταθερή θα είναι ανοιχτός ο παλμός. Γιατί πόλοι μπερδεύονται και νομίζουν ότι αλλάζει η συχνότητα . Εκεί είναι όλη η μαγεία αυτού του τρόπου που λειτουργούν τα DC μοτέρ όπως πολύ καλά προανεφερες στο video. Βέβαια για να μπορέσει να λειτουργήσει αυτό το φαινόμενο πρέπει η συχνότητα να είναι αρκετά μεγάλη ώστε να μην αντιλαμβανόμαστε την διακοπή του παλμού . Όποτε είναι της τάξης το khz και μερικές φορές και mhz ανάλογα τι θέλουμε να κάνουμε με το παλμό αυτόν . Όσο αφορά σήμερα οι πιο πολλοί δουλεύουμε Arduino για απλές εφαρμογές και για επαγγελματικές εφαρμογές λειτουργούμε με St επεξεργαστές . Συνήθως οι γλώσσες που γράφουμε είναι σε wiring για Arduino και σε c c++ για St οι St είναι διαφορετικής αρχιτεκτονικής και έχουν μέχρι και δύο πυρήνες οι περισσότερους . Μάλιστα τα τελευταία χρόνια υπάρχει και micro python που κάνει ακόμη πιο εύκολα τα πράγματα στο προγραμματισμό . Πιστεύω ότι οι pic έχουν περάσει πλέον στη προϊστορία . Αλλά δεν θέλω να τους υποβάθμισω ως προς την άποψη ότι αν θέλεις να κάνεις κάτι το οποίο να είναι απλό και λειτουργικό με την χρήση της γλώσσας assembly θα το κάνεις μια χαρά και πολύ καλύτερα από ένα Arduino και με λιγότερη μνήμη . Ολλα χρειάζονται . Σε λίγα χρόνια κατά την ταπεινή μου άποψη δεν θα γράφουν καν προγράμματα σε καμία γλώσσα άνθρωποι . Αλλά θα επιβλέπουν την τεχνητή νοημοσύνη που θα αναπτύσσει αυτοί τα προγράμματα . Δεν λέω ότι είναι καλό αλλά δυστηχως εκεί πάμε . Μάλιστα και τα τεστ που κάνουμε στην βιομηχανία για να εξετάσουμε αν ολλα πηγαίνουν καλά σε ένα πρότυπο θα γίνεται και αυτά με τεχνητή νοημοσύνη και μηχανήματα όπως παλμογράφοι και πολύμετρα τροφοδοτικά που συνδέονται με αυτήν . Είδη η Keysight έχει σχεδιάσει κάτι τέτοιο . Αυτά να μην σας κουράζω άλλο 😂.
@SotirisFafoutis8 ай бұрын
Αγαπητέ Βασίλη σε ευχαριστώ για τον καλό σου λόγο, και χαίρομαι που ξαναδιαβάζω τα σχόλιά σου! Συμφωνώ σχεδόν με όλα όσα περιγράφεις και σε ελάχιστα διαφοροποιούμαι ελαφρά. Πράγματι οι γλώσσες υψηλού επιπέδου C++ etc είναι “εύκολα” εργαλεία (τίποτα δεν είναι εύκολο, εννοώ πρακτικά εργαλεία) και έχουν επεκταθεί σε σχεδόν κάθε εφαρμογή, αφού με λίγες γραμμές κώδικα έχεις το επιθυμητό αποτέλεσμα. Από την άλλη οι γλώσσες χαμηλού επιπέδου, απαιτούν την συγγραφή κώδικα σε μεγαλύτερη έκταση και παράλληλα καλή γνώση της αρχιτεκτονικής του μικροεπεξεργαστή και των ενσωματωμένων περιφερειακών του. Τί θέλω να πώ, δές ένα παράδειγμα με πράξεις με δύο μεταβλητές , x =5 , y = 4x Σε γλώσσα C int main() { int x = 5; int y; y = x * 4; return 0; } και το αντίστοιχο σε Assembly (με δύο τρόπους, μπορεί κανείς να επινοήσεις και άλλους ανάλογα με την φαντασία του και το επίπεδο του) I) ORG 0x00 BSF STATUS, 5 ; Επιλογή bank 1 MOVLW 0x05 ; Φόρτωση της τιμής στον W register MOVWF 0x21 ; Αποθήκευση της τιμής στη θέση 0x21 MOVF 0x21, W ; Φόρτωση της τιμής από τη θέση 0x21 στον W register ADDWF 0x21, W ; Προσθήκη της τιμής στον εαυτό της (πολλαπλασιασμός με 2) ADDWF 0x21, W ; Προσθήκη της τιμής στον εαυτό της (πολλαπλασιασμός με 4) MOVWF 0x22 ; Αποθήκευση του αποτελέσματος στη θέση 0x22 END II) ORG 0x00 BSF STATUS, 5 ; Επιλογή bank 1 MOVLW 0x05 ; Φόρτωση της τιμής στον W register MOVWF 0x21 ; Αποθήκευση της τιμής στη θέση 0x21 RLF 0x21, F ; Πρώτη αριστερή μετατόπιση (x2) RLF 0x21, F ; Δεύτερη αριστερή μετατόπιση (x4) MOVF 0x21, W ; Φόρτωση της τιμής στον W register MOVWF 0x22 ; Αποθήκευση του αποτελέσματος στη θέση 0x22 END Στην περίπτωση της C, γράφεις σύντομο κώδικα αλλά είσαι “τυφλός” , μιλάς με "black box", δεν γνωρίζεις τί κάνει, στην δεύτερη περίπτωση (Assembly) καθορίζεις εσύ ακριβώς με εξαιρετική λεπτομέρεια και ακρίβεια το που θα βρίσκεται η κάθε μεταβλητή και πώς θα εκτελεστεί η πράξη, υπάρχει πλήρης διαφάνεια, “βλέπεις”το επεξεργαστή από μέσα (αυτό για μένα έχει την δική του γοητεία, αλλά όλα εξαρτώνται από την οπτική που το βλέπει ο καθένας και όλες οι απόψεις είναι σεβαστές). Σχετικά με την Pwm και τα DC motors, Ενα μοτέρ που λειτουργεί σε υψηλότερη συχνότητα από ένα άλλο απαιτεί μικρότερη αυτεπαγωγή πηνίου άρα μικρότερο όγκο και βάρος. Λόγω του επιδερμικού φαινομένου (Skin Effect) και των δινορευμάτων(Eddy-current effects) που αναπτύσονται στον μεταλλικό άξονα περιστροφής (rotor), η συχνότητα δεν μπορεί να είναι πολύ υψηλή σε αναφορά πάντα με τα φαινόμενα, διότι εμφανίζονται αυξημένες απώλειες, όποτε στην πράξη γίνεται ένας συμβιβασμός (Trade off) μεταξύ ακουστικού θορύβου (Pwm Frequency >20Khz) όγκου/βάρους και της συχνότητας Fmax όπου τα φαινόμενα γίνονται αισθητά. Όσο για την Τεχνητή Νοημοσύνη (AI) ,νομίζω ότι θα αργήσει να έρθει εκείνη ή ώρα, αλλά αν έρθει (επειδή η AI αυτοεξελίσσεται) η ανθρώπινη εποπτεία ίσως αποτελεί παρελθόν. Χαίρομαι που σου αρέσουν τα βίντεο και τα παρακολουθείς σχολαστικά! Καλή συνέχεια σε ότι κάνεις!
@vasilis7468 ай бұрын
@@SotirisFafoutis Σε ευχαριστώ πολύ. Δεν διαφωνώ σε αυτά που λες .Για τις συχνότητες pwm αναφέρομαι για άλλες εφαρμογές όπως led driver ίσως δεν το διευκρινησα σωστά . Είδη η τεχνίτη νοημοσύνη όπως το chat gpt αν του δώσεις δεδομένα σου γράφει προγραματα τα οποία μπορείς να τα τσεκαρεις και να τα υλοποιήσεις . Δυστηχως δεν μας ρωτάει κάνεις για αυτές τις τεχνολογίες και δεν έχουν ψηφιστεί νομοθεσίες σχετικές για την προστασία του ανθρώπου από τους ίδιους τους ανθρώπους που θα εκμεταλλευτούν με κακό τρόπο την τεχνίτη νοημοσύνη . Τα επόμενα χρόνια κατά την γνώμη μου πάντα .Θα έχουμε μεγάλα προβλήματα από την κακή καθημερινή χρήση τέτοιων προγραμμάτων και θα το δούμε σε πόλεις τομείς . Επίσης προκύπτουν και πολλά ηθικά ζητήματα . Αν ολόκληρες κυβερνήσεις χρισημοποιουν αυτές τις τεχνολογίες για το συμφέρον τους. Όλες οι τεχνολογίες που δημιουργούνται από τον άνθρωπο πρέπει να δημιουργούνται με γνώμονα τη καλυτέρευση της ζωής του ανθρώπου την υγεία και την προστασία της φύσης . Δυστηχως σήμερα τα πάντα δημιουργούνται για το κέρδος . Όχι όμως το κέρδος της επιβιώσεις αλλά το κακό κέρδος της απληστίας . Σε ευχαριστώ για το κόπο που έγραψες ολόκληρο παράδειγμα με τις δύο γλώσσες προγραμματισμού. Καλό βράδυ να έχεις φυσικά και είναι ενδιαφέρον τα. Video σου και μου αρέσουν γιατί έχουν μέσα την ουσία της θεωρίας και της πράξης . Όλο αυτό ονομάζεται εμπειρία .