Σελίδα 1 από 2 1 2 ΤελευταίαΤελευταία
Εμφάνιση αποτελεσμάτων : 1 έως 10 από 12

Θέμα: ROVER5 Αυτονομο οχημα με Pic16f887 και OSA RTOS (σε αρχικο σταδιο)

  1. #1
    Μέλος
    Όνομα
    Λευτέρης
    Εγγραφή
    Jul 2009
    Περιοχή
    Ρόδος
    Μηνύματα
    32

    Προεπιλογή ROVER5 Αυτονομο οχημα με Pic16f887 και OSA RTOS (σε αρχικο σταδιο)

    καλησπερα

    βλεποντας τι μπορουν να κανουν τα RTOS σε εναν μικροεπεξεργαστη ειπα να κανω και εγω την κινηση και να το βαλω πανω σε εναν pic16f887.
    μεχρι στιγμης η λειτουργεια του ειναι πολυ απλη αλλα σιγα σιγα θα προσθετω και αλλα πραγματα πανω.
    οι βασικες λειτουργιες που κανει ειναι:
    1. ελεγχος με Ultrasonic Sensor την αποσταση μπροστα.
    2. οταν βρει εμποδιο μπροστα ελεγχει αριστερα και δεξια για να δει που υπαρχει μεγαλυτερη αποσταση και να στριψει εκει
    3. εχω βαλει πανω στο οχημα εναν πολυ φθηνο RF Transmitter καθως επισης και εναν RF Receiver στον υπολογιστη μου στελνωντας του βασικες πληροφοριες (πχ Επιπεδο Μπαταριας, Την αποσταση που διαβαζει το Ultrasonic κτλ) αλλα επειδη υπαρχουν ακομα αρκετα παρασιτα και το προγραμμα στον υπολογιστη ειναι πολυ προχηρο δεν το εχω ανεβασει μεχρι να το κανω ποιο λειτουργικο
    4. την αποσταση που μετραω με το ultrasonic την αποθηκευω στην εσωτερικη eeprom του Pic16f887 με συγκεκριμενο τροπο επειδη ειναι πολυ μικρη (256 byte μονο) ετσι ωστε να κανει χαρτογραφηση της περιοχης που ειναι

    αν και εχει ακομα πολλα προβληματα ( ειδικα εκει που μοιαζει σαν χαμενο ) αλλα ελπιζω να σας αρεσει




    Youtube Channel http://www.youtube.com/greekrobots
    Συνημμένα Thumbnails Συνημμένα Thumbnails Πατήστε στην εικόνα για να τη δείτε σε μεγένθυνση Όνομα:  Info.jpg Εμφανίσεις:  463 Μέγεθος:  150,4 KB   Πατήστε στην εικόνα για να τη δείτε σε μεγένθυνση Όνομα:  20130601_001.jpg Εμφανίσεις:  316 Μέγεθος:  155,8 KB   Πατήστε στην εικόνα για να τη δείτε σε μεγένθυνση Όνομα:  20130530_002.jpg Εμφανίσεις:  369 Μέγεθος:  149,8 KB  

    14 Not allowed! Not allowed!
    Τελευταία επεξεργασία από το χρήστη gRooV : 09-06-13 στις 23:28

  2. 6 μέλη ευχαρίστησαν τον Dragonblades για αυτό το χρήσιμο μήνυμα:

    angel_grig (10-06-13), GeorgeVita (09-06-13), jami (08-06-13), manolena (09-06-13), marfa (12-06-13), sakisr (09-06-13)

  3. #2
    Μέλος Το avatar του χρήστη stavros_97s
    Όνομα
    Σταύρος
    Εγγραφή
    Jan 2011
    Περιοχή
    θεσσαλονίκη
    Μηνύματα
    292

    Προεπιλογή

    Λευτέρη ωραίος!
    Αναφέρεις στην περιγραφή πως κάνει χαρτογράφηση μπορείς να το αναλύσεις λίγο και αν σου είναι εύκολο να ανεβάσεις ένα βιντεάκι πού θα παρουσιάζει αυτήν την λειτουργία..

    0 Not allowed! Not allowed!

  4. #3
    Μέλος Το avatar του χρήστη SV1EDG
    Όνομα
    Μάριος
    Εγγραφή
    Apr 2005
    Περιοχή
    ΑΘΗΝΑ
    Μηνύματα
    1.095

    Προεπιλογή

    Μπράβο Λευτέρη.Πες μας λίγο τα RF ΤΧ/RX που χρησιμοποίησες.

    0 Not allowed! Not allowed!

  5. #4
    Μέλος
    Όνομα
    Λευτέρης
    Εγγραφή
    Jul 2009
    Περιοχή
    Ρόδος
    Μηνύματα
    32

    Προεπιλογή

    Παράθεση Αρχικό μήνυμα από stavros_97s Εμφάνιση μηνυμάτων
    Λευτέρη ωραίος!
    Αναφέρεις στην περιγραφή πως κάνει χαρτογράφηση μπορείς να το αναλύσεις λίγο και αν σου είναι εύκολο να ανεβάσεις ένα βιντεάκι πού θα παρουσιάζει αυτήν την λειτουργία..
    Καλημερα

    επειδη στον 16f887 τα πραγματα ειναι λιγο (τι λιγο πολυ θα ελεγα) στριμωγμενα σε θεμα eeprom (Μονο 256byte) και μνημης RAM (μονο 384byte) επρεπε να γινω λιγο δημιουργικος.
    αρχικα του οριζω την θεση που θα ξεκινα που ειναι ακριβως στην μεση του χαρτη (το μειον εδω ειναι οτι η τοποθεσια που ξεκινα ειναι παντα η ιδαι ασχετα με το που θα το βαλεις στον χωρο εσυ).
    μετα εφτιαξα 2 arrays απο byte συνολικο μεγεθος 96byte (επειδη η μνημη του ειναι χωρισμενη στα 4 αυτο ειναι το οριο του) στο ενα βαζω μεσα την διευθυνση της eeprom που θα αποθηκευσω (δηλαδη την τοποθεσια που ειναι το ρομποτ με τις οποιες κινησεις εχει κανει) και στο αλλο την αποσταστη που εχω διαβασει απο το Ultrasonic. ο λογος που δεν τα αποθηκευω απευθειας στην eeprom ειναι επειδη δουλευει με RTOS ο χρονος ειναι περιορισμενος. εχω φτιαξει μια ρουτινα χωριστει που ανα τακτα χρονικα διαστηματα ελεγχει τα 2 αυτα arrays με την eeprom και αποθηκευει μονο της διαφορες τους (με αυτο τον τροπο γινετε πιο γρηγορη η διαδικασια και δεν επιβαρυνεις και την eeprom πολυ γραφοντας συνεχεια).αρκετα με την θεωρια. παμε στην πραξη. το Ultrasonic που εχω πανω διαβαζει μεχρι 5 μετρα αποσταση. χωριζω αυτη την αποσταση σε κομματια τον 30 εκατοστων. οποτε 5μετρα/30 εκατοστα = 16,67. και εδω ειναι η μαγεια. ενα byte εχει 8bit. Το δεκαδικο νουμερο 15 ειναι το 00001111 που σημαινει οτι υπαρχει εμποδιο στα 15χ30cm=4,5μετρα. αν διαβασει αποσταση παραπανω απο αυτη καταλαβαινει οτι υπαρχει πολυς ελευθερος χωρος και την αγνοει.τα υπολοιπα 4bit τα χρεισιμοποιω ως οδηγο για το που εχει γινει το σκαναρισμα του ultrasonic. δηλ. 10001111 σημαινει οτι εχει γινει σκαναρισμα αριστερα σε σχεση με το προς τα που πηγαινει (με το που κοιταει το σωμα του ρομποτ) και εχει αποσταση χωρις εμποδιο μεχρι 4,5μ. ομοιως 01001111 για δεξια και 00101111 για ευθεια. με αυτο τον τροπο με ενα byte εχω και την αποσταση και την κατευθυνση που κοιτα (αυτο ειναι to byte που αποθηκευω στο ενα array μεσα). Το αλλο μαγικο σημειο ειναι ο σωστος χειρισμος της eeprom.κανω σχεδον το ιδιο. στην ουσια σπαω τα byte σε bits και το καθε bit αντιπροσωπευει ενα τετραγωνο 30cm.αν εχει τιμη 1 σημαινει οτι εχει εμποδιο σε αυτο το τετραγωνο ενω αν εχει 0 σημαινει οτι ειναι ελευθερος χωρος.πχ ενα byte 00111000 στην ουσια ειναι μια αποσταση 8χ30cm=2,4μετρα στην οποια τα πρωτα 60cm ειναι ελευθερος χωρος, τα επομενα 90cm ειναι καποιο εμποδιο-τοιχος και τα τελευταια 90cm παλι ελευθερος χωρος. αυτο εχει σαν αποτελεσμα τα 256byte της eeprom να μπορουν να αποθηκευσουν εναν χαρτη μεχρι 180τμ (ναι τοσα ειναι ).

    video δεν εχω φτιαξει ακομα δυστυχως αλλα το εχω στο προγραμμα
    τωρα ετοιμαζω μια παρουσιαση για Battery Voltage Monitor που χρεισιμοποιω στην ιδια κατασκευη και θα το ανεβασω συντομα
    ελπιζω να τα εκανα λιγο πιο ξεκαθαρα και να μην σας μπερδεψα περισσοτερο

    0 Not allowed! Not allowed!

  6. #5
    Μέλος Το avatar του χρήστη stavros_97s
    Όνομα
    Σταύρος
    Εγγραφή
    Jan 2011
    Περιοχή
    θεσσαλονίκη
    Μηνύματα
    292

    Προεπιλογή

    Για να καταλάβω αν εσύ αφήσεις σε ένα χολ το ρομπότ σου μπορεί να το χαρτογραφήσει ή όχι;
    Και αν ναι με ποιόν τρόπο γίνετε αυτό, δηλαδή οι μετρήσεις από τον αισθητήρα πως καταλήγουν στον χάρτη;

    0 Not allowed! Not allowed!

  7. #6
    Μέλος
    Όνομα
    Λευτέρης
    Εγγραφή
    Jul 2009
    Περιοχή
    Ρόδος
    Μηνύματα
    32

    Προεπιλογή

    Παράθεση Αρχικό μήνυμα από SV1EDG Εμφάνιση μηνυμάτων
    Μπράβο Λευτέρη.Πες μας λίγο τα RF ΤΧ/RX που χρησιμοποίησες.
    αχ αυτα τα RF.....

    αγορασα 2 ζευγαρια RF link ενα στα 315MHz και ενα στα 434Mhz
    τα πειρα απο http://robotstore.gr/ γιατι ηταν πολυ φθηνα ουτε 10 ευρω το ζευγαρι.
    ειναι λιγο αποτυχια μεχρι στιγμης αλλα πιθανοτατα εγω εχω κανει καποιο λαθος.
    εχω υπερβολικα πολλα παρασιτα.χρησιμοποιω Uart στα 4800bps που ειναι και το οριο για το συγκεκριμενο RF.
    στην πλευρα του υπολογιστη εχω ενα usb to serial καλωδιο και εκει εχω συνδεμενο το rf receiver χωρις καποιο αλλο επιπλεον εξαρτημα.
    επειδη υπαρχουν πολλα παρασιτα το προχυρο προγραμμα που εκανα σε Visual C# περιμενει μια συγκεκριμενη ακολουθια χαρακτηρων
    και αφου την βρει διαβαζει τα επομενα 5 byte που ειναι τα δεδομενα απο το οχημα.τα RF αυτα λεει το site που τα αγορασα οτι ειναι για αποσταση
    μεχρι 160μετρα αλλα με το που το βαλω σε 2-3 μετρα ή ειναι σε διαφορετικο υψος απο τον receiver δεν ποιανω τιποτα.
    τις στιγμες που ειναι κοντα τα δεδομενα ερχονται κανονικα σε μορφη [τοποθεσια ρομποτ χ],[τοποθεσια ρομποτ ψ],[επιπεδο μπαταριας],[που κοιταει το σωμα],[που το κεφαλι μαζι με την αποσταση].
    ισως πρεπει να του βαλω καμια καλη κεραια για εκπομπη και ληψη δεν ξερω.

    0 Not allowed! Not allowed!

  8. Ένα μέλος ευχαρίστησε τον Dragonblades για αυτό το χρήσιμο μήνυμα:

    SV1EDG (09-06-13)

  9. #7
    Μέλος
    Όνομα
    Λευτέρης
    Εγγραφή
    Jul 2009
    Περιοχή
    Ρόδος
    Μηνύματα
    32

    Προεπιλογή

    Παράθεση Αρχικό μήνυμα από stavros_97s Εμφάνιση μηνυμάτων
    Για να καταλάβω αν εσύ αφήσεις σε ένα χολ το ρομπότ σου μπορεί να το χαρτογραφήσει ή όχι;
    Και αν ναι με ποιόν τρόπο γίνετε αυτό, δηλαδή οι μετρήσεις από τον αισθητήρα πως καταλήγουν στον χάρτη;
    οταν το αναβεις ειναι σαν να εχει παντου εμποδια.
    κανοντας το πρωτο σκαναρισμα καθαριζει την αποσταση μπροστα του και ξεκινα.
    οταν φθασει στο εμποδιο ελεγχει αριστερα - δεξια τις αποστασεις και ενημερωνει τον χαρτη του με τους νεους ελευθερους χωρους που βρηκε και κανει στροφη αριστερα ή δεξια
    αυτο γινετε συνεχεια μεχρι να το κλεισω
    αν λυθει το προβλημα που εχω με τα encoder disks(και δεν τρελενετε οπως δειχνει το βιντεο) ετσι ωστε να στριβει 90 μοιρες ακριβος, ναι κανει κανονικα χαρτογραφηση απο εμποδιο σε εμποδιο
    απλα επειδη ειναι ακομα σε αρχικο σταδιο για να δω τον χαρτη που εχει φτιαξει πρεπει να διαβασω την eeprom απο το chip και να την περασω σε ενα excel πανω (πολυ καψιμο η υποθεση) byte-byte

    0 Not allowed! Not allowed!

  10. Ένα μέλος ευχαρίστησε τον Dragonblades για αυτό το χρήσιμο μήνυμα:

    Marc (11-06-13)

  11. #8
    Μέλος
    Όνομα
    Γιώργος
    Εγγραφή
    Feb 2010
    Περιοχή
    Αθήνα
    Μηνύματα
    4.618

    Προεπιλογή

    Παράθεση Αρχικό μήνυμα από Dragonblades Εμφάνιση μηνυμάτων
    ...επειδη στον 16f887 τα πραγματα ειναι λιγο (τι λιγο πολυ θα ελεγα) στριμωγμενα σε θεμα eeprom (Μονο 256byte) και μνημης RAM (μονο 384byte) επρεπε να γινω λιγο δημιουργικος.
    Μπράβο για την κατασκευή σου!
    Στους μC μπορείς να χρησιμοποιήσεις και την μνήμη προγράμματος για αποθήκευση. Φαντάζομαι για τις ταχύτητες που πηγαίνει το όχημα δεν θα είναι πρόβλημα ο χρόνος προσπέλασης της flash. Τη διαφορά του χρόνου μπορείς να τη γλυτώσεις από λιγότερη διαχείρηση των bits, δηλαδή να χρησιμοποιήσεις 1-2 memory banks αντί των 256 bytes της eeprom.

    0 Not allowed! Not allowed!

  12. #9
    Μέλος
    Όνομα
    Λευτέρης
    Εγγραφή
    Jul 2009
    Περιοχή
    Ρόδος
    Μηνύματα
    32

    Προεπιλογή

    Παράθεση Αρχικό μήνυμα από GeorgeVita Εμφάνιση μηνυμάτων
    Μπράβο για την κατασκευή σου!
    Στους μC μπορείς να χρησιμοποιήσεις και την μνήμη προγράμματος για αποθήκευση. Φαντάζομαι για τις ταχύτητες που πηγαίνει το όχημα δεν θα είναι πρόβλημα ο χρόνος προσπέλασης της flash. Τη διαφορά του χρόνου μπορείς να τη γλυτώσεις από λιγότερη διαχείρηση των bits, δηλαδή να χρησιμοποιήσεις 1-2 memory banks αντί των 256 bytes της eeprom.
    αυτο που ειχα στον νου μου για την flash ηταν να υπαρχουν 4-5 διαφορετικη χαρτες αποθηκευμενοι και να εψαχνε στην ουσια σε ποιον χαρτη βρισκετε για να τον φορτωνε (αυτο βεβαια ειναι πολυ μακρια ακομα.....)
    για το θεμα της μνημης καλο ακουγετε σιγουρα πρεπει να το δω πιο ζεστα

    0 Not allowed! Not allowed!

  13. #10
    Μέλος Το avatar του χρήστη ΝΕΚΤΑΡΙΟΟΣ
    Όνομα
    Νεκταριος
    Εγγραφή
    Jan 2013
    Περιοχή
    ΑΙΓΙΝΑ
    Μηνύματα
    859

    Προεπιλογή

    απαιχτοοο και πεχνιδιαρικο καλη συνεχεια παντα τετεια.

    0 Not allowed! Not allowed!

Σελίδα 1 από 2 1 2 ΤελευταίαΤελευταία

Παρόμοια Θέματα

  1. Απαντήσεις: 5
    Τελευταίο Μήνυμα: 08-03-13, 15:09
  2. Βοηθεια σχετικα με το σταδιο του μετασχηματιστη
    By korimpios in forum Ερωτήσεις Αρχάριων
    Απαντήσεις: 2
    Τελευταίο Μήνυμα: 24-05-12, 16:22
  3. Αυτονομο συστημα Φ/Β στο εξοχικο...του κουμπαρου
    By dalai in forum Παρουσίαση Ολοκληρωμένων Κατασκευών
    Απαντήσεις: 23
    Τελευταίο Μήνυμα: 16-06-11, 23:11
  4. τηλεχειριζομενο οχημα (ROV) με pic16F887
    By efthgeorge in forum Ερωτήσεις Αρχάριων
    Απαντήσεις: 2
    Τελευταίο Μήνυμα: 01-05-10, 12:48

Tags for this Thread

Δικαιώματα - Επιλογές

  • Δημιουργία θεμάτων: Όχι
  • Υποβολή μηνυμάτων: Όχι
  • Σύναψη αρχείων: Όχι
  • Επεξεργασία μηνυμάτων: Όχι
  •  
  • BB code: σε λειτουργία
  • Smilies: σε λειτουργία
  • [IMG]: σε λειτουργία
  • [VIDEO] code is σε λειτουργία
  • HTML: εκτός λειτουργίας