PDA

Επιστροφή στο Forum : Απορίες σχετικά με το ARDUINO



val_mike
13-05-11, 12:01
Γειά σας και απο εμένα!

Για αρχή έχω να πώ μόνο ενα πράγμα, Μπράβο σας!
Ασχολούμαι πάρα πολύ με το internet και γενικά μου αρέσει το θέμα DIY.
Οι πληροφορίες και τα πρότζεκτ που είδα εδώ είναι άπειρα! Πιστεύω πολύ στην ικανότητα του κάθε ανθρώπου να κάνει κάτι μικρό αλλά σημαντικό.

¶ν είχε προχωρήσει σε βιομηχανικό - παραγωγικό επίπεδο όλο αυτό το κομμάτι απο περισσότερους ανθρώπους στην Ελλάδα πιστεύω ότι δεν θα είχαμε να φοβηθούμε ούτε κρίσεις ούτε Αμερικές και Γερμανίες, γιατί πολύ απλά θα είχαμε ισχυρή βιομηχανία και πολλές εξαγωγές.

Λοιπόν ήδη μακρυγόρησα οπότε ας μπώ στο θέμα.

Σαν μηχανολόγος των Τει διδάχτηκα κάποια πράγματα σχετικά με τα PLC.
Δομή προγραμματισμός κτλ....
Προχώρησα λοιπόν στην αγορά ενός ARDUINO γτ νόμιζα ότι θα ήταν εύκολο στον προγραμματισμό.
Βλέπετε εγώ έμαθα να δουλεύω στο Τει με γλώσσες FBD (Function Block Diagram) και συγκεκριμένα τη Logo της Siemens.

Ήρθε λοιπόν το κιτ που περίμενα ( Πολυ καλό με μεγάλη μπλέ οθόνη, καλώδια, αντιστάσεις, breadboard και άλλα διάφορα).

Έπειτα ανακάλυψα ότι δεν μπορώ να το προγραμματίσω σε FBD γιατί πολύ απλά δεν βρήκα κάποιο πρόγραμμα.

Στα πρότζεκτ που έχω στο μυαλό μου χρειάζομαι οθόνη και απλό πρόγραμματισμό.
Υπάρχουν εναλλακτικές λύσεις καθώς τα PLC είναι πολύ ακριβα?

Ενδεικτικά να αναφέρω ότι θέλω να υπολογίσω τον πραγματικό βαθμό απόδοσης (n) ενός ηλεκτρικού λέβητα θέρμανσης νερού μέσω αισθητήρων [έντασης (W)] [θερμοκρασίας και ροής (Φυσικός τύπος Q=mcΔΤ)]. Με καταγραφή αποτελεσμάτων.

Όποιος γνωρίζει απο προγραμματισμό Arduino ή έχει δεί κάτι αντίστοιχο ας βοηθήσει!

sharkovios
13-05-11, 14:41
Καλησπέρα και καλώς σε βρήκαμε.

Το Arduino προγραμματίζεται με C/C++ http://www.nongnu.org/avr-libc/
Tutorials θα βρέις πολλά στο google. Μερικά:
http://www.youtube.com/watch?v=fCxzA9_kg6s
http://tronixstuff.wordpress.com/tutorials/

Η C είναι σχετικά έυκολη γλώσσα αλλά είναι κα πάρα πολύ δυνατή.
Από εκεί και πέρα πρέπει να συνδέσεις τα ανάλογα αισθητήρια και να τα διαβάζεις..

Αντώνης

firewalker
13-05-11, 14:52
Επίσης το Arduino προγραμματίζεται σε μία γλώσσα τύπου C, C++ παραλλαγή της Processing. Αυτό που θέλεις να κάνεις είναι σχετικά εύκολο, και με την γλώσσα του Arduino και με κάποια άλλη γλώσσα.

Θα σου πρότεινα να παρακολουθήσεις τα παρακάτω μαθήματα (videos).

http://jeremyblum.com/category/arduino-tutorials/

manolena
13-05-11, 15:19
Αγαπητέ Μιχάλη, καλώς όρισες! Για απάντηση στις απορίες σου περί Arduino, δεν έχεις παρά να επισκεφτείς τον επίσημο ιστοχώρο του, http://www.arduino.cc/. Σε ετούτο τον χώρο, θα βρείς μεταξύ άλλων οδηγό για το πώς να ξεκινήσεις, βιβλιοθήκες με έτοιμα παραδείγματα που μπορείς να ανακυκλώσεις στην εφαρμογή σου, ερωτήσεις και απαντήσεις στο forum του για ένα σωρό θέματα και διάφορα projects φίλων αυτής της πλατφόρμας. Ο προγραμματισμός του δεν έχει καμμία σχέση με γλώσσα λογικής PLC, στηρίζεται στην C++ και το περιβάλλον ανάπτυξης είναι γραμμένο σε java. Χρειάζεσαι μια ελεύθερη θύρα USB του υπολογιστή σου και ένα καλώδιο mini USB για τη σύνδεση. ¶, και αρκετό διάβασμα! Μην αγχώνεσαι καθόλου όμως, το αποτέλεσμα έρχεται πολύ γρήγορα! Καλή επιτυχία στα έργα σου!

val_mike
13-05-11, 15:30
Σας ευχαριστώ για τις γρήγορες απαντήσεις! Ομολογώ πως δέν το περίμενα.

Συμφωνώ με αυτά που λέτε και έχω ψάξει το επίσημο site.
Φοβάμαι όμως με τα αρχικά πειραματάκια μην χάσω το λογισμικό της οθόνης!!!
Έχω μπερδευτεί απίστευτα σε σημείο που το έχω παρατήσει στην άκρη σχεδόν ενα μήνα....
Αν θυμάμαι καλά στο Logo είχε κάποιο κουμπί που μετάφραζε απο FBD----> Ladder ή C
Ξέρετε κάποιο αντίστοιχο προγραμματάκι??

manolena
13-05-11, 15:42
Μια ερώτηση: χρησιμοποιείς κάποιο starter kit; Αν ισχύει αυτό, σίγουρα υπάρχει κάποιο συνοδευτικό tutorial απο εκεί που το προμηθεύτηκες για να μπορέσεις να ξαναβρείς το sketch που σου οδηγεί την οθόνη και να επαναπρογραμματίσεις τον Arduino (ποιόν χρησιμοποιείς, αλήθεια);

val_mike
13-05-11, 21:06
Παράγγειλα ένα κίτ που περιλαμβάνει ένα Arduino ATmega 1280 με 128x64 Lcd blue. (Δέν είναι να λέει κάτι πάνω οποτε πιστεύω οτι μπορεί να είναι κλώνος)
Rf εκπομπή και λήψη για ανάγνωση απο συμβατικά τηλεχειριστήρια κάποια ποτενσιόμετρα αντιστάσεις Led και καλώδια.
Η απορία μου πάνω στον κώδικα της οθόνης είναι (Πρέπει να βάζω κάθε φορά τον κώδικα σε όποιο πρότζεκτ φτιάχνω?)

dalai
13-05-11, 21:47
οχι δεν χρειαζετε, αν δεν θελεις να διχνει τιποτε. π.χ. αν θελησεις να αναβοσβησεις ενα LED δεν χρειαζεται να φωρτωνεις την βιβλιοθηκη της LCD .
δειξε λιγο το λινκ της αγορας του κιτ ,να ξερουμε τι πηρες

manolena
14-05-11, 20:47
Η οθόνη λειτουργεί κάνοντας include το header file απο τη βιβλιοθήκη για οθόνες. Για περάδειγμα, η LiquidCrystalDisplay που βρίσκεται εδώ http://arduino.cc/en/Tutorial/LiquidCrystalDisplay σου δείχνει πως να φορτώσεις
κώδικα ανάλογα με τις συνδέσεις που έχει το shield της οθόνης που έχεις. Και θα ήταν καλό, όπως λέει και ο Νίκος απο πάνω, να έβαζες
εδώ το link που προμηθεύτηκες την οθόνη για να βοηθήσουμε όσο μπορούμε. Μην αγχώνεσαι αν θα χάσεις τον κώδικα της οθόνης, κανονικά
το kit που προμηθεύτηκες πρέπει να έχει παράδειγμα λειτουργίας. Ανάλογα τώρα με το project που κατασκευάζεις, θα πρέπει να μετατρέπεις
και ανάλογα τον κώδικά σου για την οθόνη.

val_mike
15-05-11, 12:22
Καλημέρα το λίνκ απο το ebay είναι αυτό:
http://cgi.ebay.co.uk/ws/eBayISAPI.dll?ViewItem&item=280628614554&ssPageName=STRK:MEWNX:IT

¶ν για οποιονδήποτε λόγο δέν λειτουργεί το λίνκ δοκιμάστε στο Ebay
Arduino Kit Mega kit ATmega 1280 128x64 LCD Kit blue



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

Απο τους νόμους της φυσικής ισχύει γενικά Αποροφούμενη ενέργεια= Αποδιδόμενη ενέργεια + απώλειες.

Στην περίπτωση μου ηλεκτρικός "λέβητας θέρμανσης νερού"
1) Αποροφούμενη ενέργεια "Ρεύμα" άρα E=I*V*συνφ αισθητήρες μέτρησης τάσης, έντασης και συνφ (3 αισθητήρες)
2) Αποδιδόμενη ενέργεια "Ζεστό νερό" Q=m*c*ΔΤ αισθητήρες παροχής, θερμοκρασιών Τ1(θερμοκρασία εισόδου κρυο νερό) Τ2 (θερμοκρασία εξόδου ζεστό νερό)
3) Μέσω μίας συνάρτησης στον κώδικα μου (2)/(1) βρίσκω τον βαθμό απόδοσης.

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

manolena
15-05-11, 17:55
Κατ' αρχήν Μιχάλη, το κιτάκι σου είναι εξαιρετικό! Και η τιμή του επίσης. Η οθόνη σου είναι graphical LCD 128x64 dots που για κάποιον που βρίσκεται στην αρχή, είναι κάπως δύσκολο να ενσωματωθεί στον κώδικά σου. Μια 2x16 character LCD νομίζω θα ήταν ό,τι έπρεπε για αρχή. Τώρα σε ό,τι αφορά την ιδέα σου:
Σε αυτήν εδώ την διεύθυνση, http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2008/cj72_xg37/cj72_xg37/index.html υπάρχει μια ανάλυση project που έχει όλους τους βασικούς υπολογισμούς, τουλάχιστον για το πρώτο μέρος της εξίσωσης P= Vrms*Irms*cos(φ).

Για το δεύτερο μέρος της εξίσωσης, η μέτρηση θερμοκρασίας in-out (ζεστό-κρύο) είναι εύκολη με αισθητήρια θερμοκρασίας. Η μέτρηση της παροχής, προυποθέτει κάτι τέτοιοhttp://www.seeedstudio.com/depot/g12-water-flow-sensor-p-635.html, που είναι και αυτό εύκολο να μετρηθεί (παράγει παλμούς, η ποσότητα των οποίων είναι ανάλογη της παροχής απο μια διάμετρο σωλήνας 1/2"). Ενδιαφέρον επίσης, παρουσιάζει και αυτό εδώ το link: http://www.allaboutcircuits.com/vol_2/chpt_11/4.html.

Παρακάτω και άλλα σχετικά με Arduino και cos(φ) links:

http://jarv.org/pwrmon.shtml
http://www.tinaja.com/glib/muse123.pdf
http://gekgasifier.com/forums/showthread.php?p=1295#post1295
http://openenergymonitor.org/emon/arduinocomm
http://openenergymonitor.org/emon/node/43, στο οποίο έχει και κώδικα για Arduino http://openenergymonitor.org/emon/sites/default/files/MainSketch27jan.tar.gz
http://draythomp.blogspot.com/p/test-html-code.html

Στον κώδικα που παρουσιάζει ο τύπος του πρώτου link, υπάρχουν ρουτίνες που μπορείς εύκολα να τις προσαρμόσεις σε sketch και είναι ακόμα πιο εύκολο γιατί είναι γραμμένες για Mega32. Θα πρότεινα να κάνεις ένα καλό διάβασμα στα παραπάνω. Αυτές είναι κάποιες αρχικές σκέψεις που θα έκανα εγώ, δεν είναι κάτι που μπορεί να είναι και αυτό που πρέπει να γίνει.

val_mike
15-05-11, 21:24
Μάνο ότι και να πώ θα είναι λίγο.
Σε ευχαριστώ πάρα πολύ.

Λοιπόν όπως ανέφερα και στα προηγούμενα post δεν έχω ιδέα τελικά απο Arduino και τον προγραμματισμό τους!!! :confused1:
Αγόρασα το κιτάκι για αυτόν ακριβώς τον λόγο ( η οθόνη είναι πολύ ωραία και μεγάλη ) γιατί θέλω να μου εμφανίζει όλες τις τιμές μαζί.
Απο μια γρήγορη ματιά στα λίνκ που μου έστειλες είδα πολύ ενδιαφέροντα πράγματα.
*Σημείωση: πέντε αστέρια στον μετρητή ροής:thumbup: αν και δεν ξέρω αν έχει προβλήματα με τους 90 βαθμούς κελσίου..........

Θα κάτσω να τα μελετήσω αλλά σου λέω με σιγουριά οτι θα χρειαστώ βοήθεια με τον κώδικα (δέν αναφέρομαι σε εσένα φυσικά αρκετά έκανες!)
και θα προσπαθήσω να αγκαρέψω κάποιον φίλο που έχει γνώσεις απο προγραμματισμό.

manolena
16-05-11, 09:27
Μην ανησυχείς Μιχάλη... Μπορώ να σε βοηθήσω σε ό,τι μπορώ, είναι χαρά μου να βλέπω σε άλλους ανθρώπους το αίσθημα της χαράς και της ικανοποίησης για δημιουργία. Βέβαια με τις λίγες γνώσεις που έχω, γιατί κι εγώ μόνος μου έμαθα όσα ξέρω... Ο Arduino δεν είναι και μαύρο κουτί, να ξέρεις! Του παίρνεις τον τσαμπουκά με λίγο διάβασμα και κατανόηση για τον τρόπο σκέψης και δόμησης του προγράμματος που γράφεις. Οπότε μην ανησυχείς και πειραματίσου όσο θές, απο το αναβόσβημα ενός LED μέχρι τον έλεγχο με PID ενός θερμοσιφώνου, με ταυτόχρονη προβολή όλων των παραμέτρων σε GLCD!
Στη διάθεσή σου για απορίες, πάντα!