Google+ Ηλεκτρολόγος μηχανικός: Arduino. Πλακέτα με προγραμματιζόμενο AVR μικροελεγκτή της ATMEL. Παράδειγμα προγραμματισμού.
Προσοχή: Οι οδηγίες που δίνονται στο παρόν blog πρέπει να εφαρμόζονται από άτομα με εξουσιοδότηση από τον νόμο για την πραγματοποίηση ηλεκτρολογικών εργασιών καθώς και τις απαραίτητες γνώσεις. Μη τήρηση των κανόνων ασφαλείας ενδέχεται να εγκυμονεί κινδύνους για όσους πραγματοποιούν τις εργασίες, αλλά και για το κοινό.

Arduino. Πλακέτα με προγραμματιζόμενο AVR μικροελεγκτή της ATMEL. Παράδειγμα προγραμματισμού.

Το Arduino uno στην έκδοση R3.  

Το Arduino είναι ένας μικρός, σχετικά, σε δυνατότητες, υπολογιστής μιας πλακέτας, με μνήμη για δεδομένα και πρόγραμμα, με ψηφιακές εισόδους, εξόδους και αναλογικές εισόδους στα 5 volt DC, ή στα 3,3 volt DC για νεώτερα μοντέλα. Έχει το πλεονέκτημα της χαμηλής τιμής σε σχέσει με αυτά που προσφέρει.

Τα περισσότερα μοντέλα arduino έχουν μια εξομοίωση της αναλογικής εξόδου, σε συγκεκριμένες θέσεις, χρησιμοποιώντας την τεχνική του P.W.M.(Pulse-width modulation), είναι οι έξοδοι που στην πλακέτα έχουν το σύμβολο του κύματος όπως του εναλλασσόμενου ρεύματος.

Το Arduino due διαθέτει και πραγματικές αναλογικές εξόδους.


Συνδέεται και προγραμματίζεται στον υπολογιστή με απλό καλώδιο USB εξομοιώνοντας την σειριακή RS 232.

Ο επεξεργαστής του arduino είναι της εταιρίας Atmel (Advanced Technology for MEmory and Logic) την οποία την έχει ιδρύσει ο Έλληνας Γιώργος Περλέγκος το 1984 στις Η.Π.Α. Πριν την ίδρυση της εργάζονταν για την Intel.
Το AVR είναι μια αρχιτεκτονική κατασκευής R.I.S.C. (Reduced Instruction Set Computer) επεξεργαστών που προσφέρουν μεγάλη ταχύτητα εκτέλεσης των εντολών, συνήθως σε ένα κύκλο του ρολογιού τους.

Πάνω στην κύρια πλακέτα του Arduino προσαρμόζονται διάφορες πλακέτες που ονομάζονται Shields και προσθέτουν έξτρα δυνατότης όπως: Οθόνες, gsm κάρτες, κάρτα ethernet, bluetooth, συστοιχία ρελέ κ.α. Tο κάθε ένα από αυτά έχει τις δικές του εντολές (ρουτίνες) ελέγχου που ενσωματώνονται στο περιβάλλον ανάπτυξης ως Libraries.

Υπάρχει μικρό PLC, σαν το LOGO! που βασίζεται στο Arduino, είναι συμβατό με αυτό και ονομάζεται controllino. http://www.controllino.cc/

Ο προγραμματισμός του arduino γίνεται σε ολοκληρωμένο περιβάλλον ανάπτυξης (I.D.E. Integrated Development Environment) που βασίζεται στην γλώσσα C και διατίθεται δωρεάν από το site http://www.arduino.cc/ .

Τα προγράμματα λέγονται sketch γιατί το περιβάλλον βασίζεται στην Processing language που απευθύνεται σε γραφίστες.

Το περιβάλλον προγραμματισμού του Arduino με ένα παράδειγμα. 
Με την ρουτίνα pinMode (εντολή της C), ορίζουμε αν το αντίστοιχο pin (ακροδέκτης) θα είναι είσοδος ή έξοδος γιατί στο Arduino μπορεί να είναι και τα δυο, όχι βέβαια ταυτόχρονα.

Το πρόγραμμα που εκτελείται διαρκώς, μέχρι να κόψουμε το ρεύμα της παροχής του, είναι αυτό που ορίζεται στην ρουτίνα loop( ) από την αρχική ( { ) έως την τελικά αγκύλη ( } ).

Δεξιά από τα "// " βάζουμε σχόλια για την καλύτερη τεκμηρίωση του προγράμματος.

Με το arduino μπορούμε να ελέγξουμε και step motor όπως φαίνεται εδώ κι' εδώ.

24 σχόλια:

  1. Im 20 years old and Im at crossroads in life as too what to do. I initially started going to school for criminal justice but im coming to the realization that I do not want to live the life of a cop so ive been exploring my options and looking into different fields and Im interested in this one. Im a little confused as to how somebody like me with harldy any experience could open the door to a field like this. where do I begin? who do I talk to? Ive been thinking about joining the military and I know a popular job is doing electrical work and that could help me in the future after I get out, to have electrical training while serving active. but if i were to not join and remain a civilian how could I recieve the proper training? Im probably not going to go to college and i do not want to just sit around all my life doing nothing wishing I had done this or that.. i just want to make a decent living. I appreciate any insight.. thanks.
    Electrician Bridgend

    ΑπάντησηΔιαγραφή
    Απαντήσεις
    1. Hi john

      I'm surprised for your "comment ".
      Why you choose a greek blog for electricians job and why this particular post?
      I'm sure you can google for this type of training near you place.
      You are from UK, right? You have plenty of options there.

      Arduino is mostly for starters in electronic education, it's a very good start.visit arduino.cc you can find plenty of stuff there.

      I hope to help you.

      Διαγραφή
  2. Ανώνυμος16/2/16, 3:25 μ.μ.

    Nice service there are just few who are providing this service great job.
    Best Electrician

    ΑπάντησηΔιαγραφή
  3. Καλησπέρα Δημήτρη,έχεις κάνει ωραία δουλειά στο blog , μπράβο. Στο δια ταύτα, έχω κατασκευάσει ινβέρτερ για οδήγηση AC κινητήρα, αλλά ζορίζομαι με τον κώδικα του arduino. Που μπορώ να ψάξω,έχω φάει το ίντερνετ αλλά δεν βρήκα κάτι να δουλεύει.Είναι για εκπαιδευτικό σκοπό,(πτυχιακή).Ευχαριστώ.

    ΑπάντησηΔιαγραφή
    Απαντήσεις
    1. Γιατί δεν τον γράφεις μόνος σου;
      Για κάτι καλό μάλλον πρέπει να βάλεις assembly και χρήση των counters.
      Για κάτι απλό νομίζω αρκεί το pwm με τρικ.

      Διαγραφή
  4. Γιατί,δεν έχω ασχοληθεί με προγ/σμό και ότι έγραψα ,δεν δουλεύει . :P

    ΑπάντησηΔιαγραφή
    Απαντήσεις
    1. Arduino is not for quitters. Είπε ο Massimo banzi.
      Δεν έχω κάτι για να βοηθήσω.

      Διαγραφή
  5. I have read many blogs in the net but have never come across such a well written blog. Good work keep it up
    Electrical services

    ΑπάντησηΔιαγραφή
  6. Ανώνυμος14/3/17, 12:17 μ.μ.

    This information is really worthy and please provide me some new content along with best bookmarking sites .. and please keep posting more information.
    skilled electrician

    ΑπάντησηΔιαγραφή
  7. Δημήτρη καλημέρα! Χαίρομαι να βλέπω νέους ανθρώπους να ξεχειλίζουν όχι μόνο απο εξειδικευμένη γνώση αλλά το ξεχείλισμα αυτό να το προσφέρουν μεθοδικά και στους άλλους, στην Κοινότητα, που είναι τελικά αυτή καθ αυτή η φύση του Ανθρώπου. Εχω σπουδάσει Ηλεκτρολογία και Ηλεκτρονικά σε επίπεδο ΤΕΙ και δούλεψα κι ένα διάστημα στην πράξη, όμως με τράβηξε κάποια καλλιτεχνική αγάπη και τα παράτησα! Τώραν στα όρια της σύνταξης προσπαθώ να ξανθυμηθώ συγκεκριμένες εφαρμογές αλλα στο μυαλό μο υπάρχει λίγο πολύ σύγχυση και αδιέξοδες ή λάθος επιλογές! Τέλος πάντων ήθελα μια καθοδήγηση σε μια οικιακή εφαρμογή φωτοβολταϊκού κυκλώματος grid tie με PLC η Arduino, Rashberry η CHIP9$. Δηλαδή να ελέγξω 1.6kW AC απο τα φ/α panel μετα το inversion( η πρίν?) κατ ευθείαν στις επιλεγμένες επιμέρους καταναλώσεις του σπιτιού συν ασφάλεια και τηλεχειρισμό. Αν μπορείς και έχεις καποια ιδέα ή καλύτερα έτοιμη εφαρμογή κάνε με κοινωνό!
    Thank you in advance
    Πέτρος

    ΑπάντησηΔιαγραφή
    Απαντήσεις
    1. Γειά Πέτρο.
      Το blog το ξεκίνησα εντελώς τυχαία, ήθελα απλός να γράψω κάτι για το οποίο ήξερα.
      Όταν στις αρχές είδα ότι είχα πάνω από 100 επισκέπτες την ημέρα ενθουσιάστικα και το εμπλουτισα.
      Είμαι 48 ετών τώρα και το blog περίπου 8 ετών.
      Για την εφαρμογή σου δεν μπορώ να πω πολλά.
      Δεν είμαι σίγουρος τι ακριβώς θέλεις. Δώσε αν θες λεπτομέρειες αν και μόνο σαν πρόταση μπορώ να βοηθήσω.

      Διαγραφή
  8. Καλησπέρα Δημήτρη,ευχαριστώ για την γρήγορη απάντηση!
    Πράγματι η περιγραφή μου ήταν βιαστική και ασαφής. Ουσιαστικά θέλω να περάσω το εναλλασόμενο ρεύμα που παίρνω απο τον inverter των φωτοβολταϊκών στον ηλεκτρ.πίνακα του σπιτιού. Οχι grid tie ακριβώς. Δηλαδή χωρίς να τραβήξω άλλες γραμμές να "παντρέψω" τη γραμμή απο τα φ/α αφού διακόπτω τον γενικό απο τη ΔΕΗ και να λειτουργώ τις υπάρχουσες μπρίζες (επιλεκτικά ) και τους διακόπτες φωτισμού, μέσω ρελέ ισχύος που θα ελέγχω φυσικά με αυτοματισμό και ανεβασμένο επίπεδο ασφαλούς λειτουργίας- χειροκίνητα ΚΑΙ αυτόματα. Φυσικά απαιτείται δεύτερος πίνακας που θα συνδέεται με τον υπάρχοντα πρίν τον γενικό διακόπτη. Η συμβουλή που ψάχνω είναι στις κατασξευαστικές λεπτομέρειες και στην σχεδίαση των κυκλωμάτων των επιπλέον ασφαλειών και των ρελέ προστασίας,γιατί δεν ξέρω καλά την ηλεκτρολογική αγορά, αλλά και διότι δυσκολεύομαι να αντικαταστήσω την συμβατικές ηλεκτρολογικές λύσεις με την PLC λογική σχεδίαση σε οικιακές εφαρμογές.
    Ευχαριστώ πολύ και πάλι για το ενδιαφέρον.
    Πέτρος

    ΑπάντησηΔιαγραφή
    Απαντήσεις
    1. Κατ αρχήν υπάρχει νομικό πρόβλημα σε αυτό που θέλεις να κάνεις, δεν επιτρέπεται να τροφοδοτηθεί οικία από φωτοβολταϊκά χωρίς να το ξέρει ο παροχος.πρέπει αναγκαστικά να περάσει από αυτόν.
      Ο αυτοματισμος θέλει δουλειά, δεν μπορεί να περιγράψει από εδώ όσο αναλυτικά απαιτείται.

      Διαγραφή
  9. Καλημέρα Δημήτρη!Μάλλον έχεις δίκιο,αλλά σκέφτομαι οτι νομικά η ΔΕΗ ή ο Πάροχος πάει μέχρι το ρολόϊ. Πρόκειται για επέμβαση στο καθαρά ιδιωτικό "χώρο" πρίν και ανεξάρτητα από τον Πάροχο.Γι αυτό έγραψα οτι δεν είναι grid tie αλλά off grid "χρήση του ίδιου κυκλώματος σε άλλο χρόνο". Τέλος πάντων συμβούλευσέ με πως να προδιαγραφεί ή σχεδιαστεί η επέμβαση στο οικιακό κύκλωμα ώστε να αποφευχθεί εντελώς η πιθανότητα να ανακατευτεί το φωτοβολταϊκό με τη παροχή του δημόσιου δικτύου, υποθέτω στη λογική του RCD relay. Αλλοιώς πρέπει να κατεβάσω μιά γραμμή απ τη ταράτσα με ...πολύμπριζο να τροφοδοτήσω ό,τι θέλω?
    Ευχαριστώ έτσι κι αλλοιώς, συγνώμη αν κουράζω, ψάχνω τις ψηφιακές,έστω απλές λύσεις, ακριβώς για λόγους περσσότερης ασφάλειας!
    Πέτρος

    ΑπάντησηΔιαγραφή
    Απαντήσεις
    1. Θέλει άδεια για να χρησιμοποιηθεί και όπως το θες.

      Τέλος πάντων.
      Το καλύτερο για την εναλλαγή τροφοδοσίας είναι χειροκινητος επιλογικος διακόπτης.
      Μια έξοδο δύο εισόδους.
      Αυτόματα αυτό γίνεται με πίνακα αυτοματισμού που έχουν δύο ρελέ με μηχανική και ηλεκτρική μανδάλωση. Το βάζουν στις μεγάλες γεννήτριες σε εργοστάσια και κρίσιμα φορτία

      Διαγραφή
  10. Καλημέρα και καλή χρονιά. Έχω πρόβλημα με το πλυντήριο ρούχων. Έδωσα σε τεχνικό την πλακέτα και μου είπε πως αν δεν δουλέψει, μετά την παρέμβαση του, θα χρειαστεί αλλαγή γιατί θα έχει χάσει το πρόγραμμά της. Λόγω αδυναμίας μου κάλυψης μιας τέτοιας δαπάνης αυτή τη στιγμή, σκέφτηκα μήπως υπάρχει τρόπος να επαναπρογραμματίσει την πλακέτα. Το πλυντύριο είναι Brandt στενό. Ευχαριστώ εκ των προτέρων.

    ΑπάντησηΔιαγραφή
    Απαντήσεις
    1. Δεν είναι δυνατό για κάποιον που δεν δουλεύει στην εταιρεία που φτιάχνει το πρόγραμμα να ξέρει τις λεπτομέρειες που χρειάζονται.

      Μία πλακέτα δεν είναι μόνο το πραγραμμα, είναι και ένα σωρό ηλεκτρονικά που είναι πιθανότερο να έχουν πρόβλημα.
      Το να φτιάξεις καινούργια πλακέτα με δικό σου πρόγραμμα είναι δουλειά εβδομάδων

      Διαγραφή
  11. Καλημέρα. Εγώ έχω σπουδάσει ηλεκτρονικός Τ.Ε.Ι. Εδώ και περίπου ένα χρόνο ασχολούμαι με τον προγραμματισμό από χόμπυ χρησιμοποιώντας την Python. Γνωρίζει κάποιος αν μπορώ να προγραμματίσω το Arduino με την Python και πώς;
    Ευχαριστώ

    ΑπάντησηΔιαγραφή
  12. Γειά σας,

    Θα ήθελα να σας ρωτησω αν φτιάχνετε κώδικα κατά παραγγελια. Συγκεκριμένα θέλω να φτιάξω ενα μικρο γεμιστικο υγρών Χρισειμοποιοντας μια δυναμοκυψελη έτσι ώστε να γεμίζει ένα μπουκάλι μέχρι το επιθυμητό βάρος.

    ΑπάντησηΔιαγραφή

Διαβάζω όλα τα σχόλια