# Συζήτηση Κυκλωμάτων > Ψηφιακά Κυκλώματα > Μικροελεγκτές >  >  Σχεδίαση αναπτυξιακού περιφερειακού USB με PIC

## lastid

Εισαγωγή
Ανοίγω εδώ ένα βαρβάτο θέμα, με σκοπό να σχεδιάσω μαζί σας *ένα USB αναπτυξιακό βασισμένο σε PIC, για πειραματισμούς σε breadboard* αλλά και μετεξέλιξή του σε χίλιες δυο εφαρμογές. 
Μέχρι τώρα είχα σχεδιάσει διάφορα USB περιφερειακά, όλα όμως βασίζονταν στο κλασικό FT232 της FTDI που μας δίνει μία εικονική σειριακή μέσω USB. Θέλω όμως τώρα να αξιοποιήσω τις τελευταίες εξελίξεις της τεχνολογίας, συνδυάζοντάς τες ώστε να φτιάξω ένα πραγματικά χρήσιμο πολυεργαλείο. 
Ελπίζω ότι έτσι θα βοηθήσω αρκετούς στο να γνωρίσουν καινούριες γι αυτούς τεχνολογίες. Και οι πιο έμπειροι όμως θα μπορέσουν να αποκτήσουν ένα εργαλείο με σημαντικές ικανότητες.
Φυσικά, εννοείται ότι στην χειρότερη περίπτωση, την περισσότερη δουλειά (το χαμαλίκι δηλαδή) θα την κάνω εγώ. Θα ήθελα όμως να συζητάμε διεξοδικά το κάθε βήμα. Μπορείτε να σχολιάζετε και να προτείνετε, παρακαλώ όμως να είμαστε σύντομοι, περιεκτικοί και εντός θέματος για να μην μεγαλώσει δυσανάλογα το θέμα με άσχετες συζητήσεις.
Θα ήταν ωραίο αφού τελειώσει, να λέμε ότι το project αυτό ήταν ένα επιτυχημένο πείραμα συλλογικής προσπάθειας, της οποίας τα ωφέλη επιστρέφουν στην κοινότητα.

Προγραμματισμός εργασιών
Αρχικά πρέπει να συζητήσουμε τις *απαιτήσεις* που θέλουμε από ένα τέτοιο σύστημα, καθώς και τις λύσεις που έχει βρει ο καθένας μας για τα επιμέρους θέματα της σχεδίασης, πριν καταλήξουμε σε κάτι συγκεκριμένο. 
Ύστερα, θα προχωρήσουμε στην *επιλογή των υλικών*, ένα θέμα καθοριστικό για την επιτυχία.
Κατόπιν, θα προχωρήσουμε στη *σχεδίαση της πλακέτας*.
Μετά, θα προχωρήσουμε στην *ανάπτυξη του λογισμικού*. 
Τέλος, έχουμε την (αέναη ελπίζω) *σχεδίαση περιφερειακών* για το αναπτυξιακό αυτό.

Χαρακτηριστικά (v1):
Οι αρχικές μου σκέψεις είναι για ένα σύστημα με τα εξής χαρακτηριστικά:
*Σύνδεση με PC μέσω USB 1.1 full speed (12MBps)*
Θέλουμε να πετύχουμε την μεγαλύτερη δυνατή ταχύτητα, ξεφεύγοντας επιτέλους από την σειριακή. Το USB 2.0 (480 Mbps) δεν είναι εφικτό στο επίπεδο αυτό, μπορεί όμως να γίνει ξεχωριστό θέμα κάποτε.
*Μικρό μέγεθος πλακέτας, με εξαρτήματα επιφανειακής στήριξης*
Με μία λέξη: SMD! Τα δουλεύω (όπως και πολλοί από εμάς) αρκετά χρόνια τώρα. Όπως θα δείτε, δεν είναι τόσο δύσκολα όσο αρχικά φαίνονται. Ούτε απαιτούν ιδιαίτερο εξοπλισμό. Όπως και να το κάνουμε,  οι μικρές και συμμαζεμένες πλακέτες είναι πιο ωραίες. 
Αν κάποιος δεν μπορεί να φτιάξει τέτοια πλακέτα, είμαστε εδώ για να τον βοηθήσουμε. Και θα είναι μια καλή ευκαιρία για όσους θέλουν επιτέλους να ξεκινήσουν με τα SMD.
*Μικροελεγκτής Microchip με ενσωματωμένη USB*
Διότι για τη σύνδεσή τους θέλουν μόνο ένα βύσμα USB και τίποτε άλλο. Εμείς όμως θα βάλουμε και άλλα, γιατί τα χρειαζόμαστε. 
*Θύρα επέκτασης με μονή αρσενική ακιδοσειρά, ώστε να καρφώνουμε το αναπτυξιακό κατευθείαν σε breadboard*
Στην ακιδοσειρά αυτή θα βγαίνουν όλα τα pins του μικροελεγκτή, εκτός από αυτά του USB.
Μπορούμε έτσι να πειραματιζόμαστε γρήγορα και εύκολα.
Μπορούμε ακόμη να σχεδιάσουμε επεκτάσεις (περιφερειακά) για την κατασκευή μας και να τις κουμπώνουμε εκεί.
*Ρυθμιζόμενη τάση τροφοδοσίας (2V,2.5V,2.7V,3V, 3.3V, 5V)*
Η USB δίνει 5 Volt και συνήθως μας αρκεί. Υπάρχουν όμως πλέον πολλά ολοκληρωμένα και περιφερειακά που δουλεύουν π.χ. μόνο σε 3.3V και που με την πλακέτα αυτή θα μπορέσουμε να χρησιμοποιήσουμε. 
*Τροφοδοσία της breadboard μέσω της USB*
Επειδή δεν έχουμε πάντα πρόχειρο ένα τροφοδοτικό. Θα υπάρχει φυσικά προστασία από βραχυκύκλωμα, για να μην κάψουμε τίποτε στο PC.
*Επαναφορτιζόμενη Li ion μπαταρία*
Ξεκουμπώνουμε το αναπτυξιακό από τη USB, το παίρνουμε μαζί μας και συνεχίζει να δουλεύει! Είναι μαγικό!
*Επιλογή υλικών που να μπορούν να βρεθούν*
Πριν καταλήξω σε ένα εξάρτημα, θα πρέπει να έχω βρει τουλάχιστο ένα προμηθευτή (εγχώριο ή ξένο) ο οποίος να το έχει διαθέσιμο και ο οποίος να μπορεί να μας το πουλήσει. Ο καμένος στο χυλό φυσάει και το γιαούρτι..
*Εύκολος προγραμματισμός μέσω της USB*
Χωρίς να αποσυνδέσουμε τίποτε, να μπορούμε να κάνουμε αλλαγές στο πρόγραμμα και ανέβασμά του στον PIC, είτε ολόκληρο είτε κομμάτια του. Το κλειδί εδώ είναι να είναι εύκολο στη χρήση. Να μπορούμε φυσικά να χρησιμοποιήσουμε τον αγαπημένο μας compiler.


Περιφερειακά (V1):
Έχω κατά νου να σχεδιάσω τα παρακάτω περιφεριακά για το αναπτυξιακό αυτό:
*Πληκτρολόγιο και LCD.* Μπορεί να φαίνονται περιττά λόγω του PC, έχουμε όμως και μπαταρία...
*RF modules*, χρησιμοποιώντας π.χ. το Zigbee module της Microchip ή και άλλα
*GPS module*
*Bluetooth module*
*Μίνι παλμογράφος/λογικός αναλυτής/βολτόμετρο/αμπερόμετρο/καπασιτόμετρο*
*Servo controller* για σερβομηχανισμούς, βηματικά μοτέρ αλλά και μοτέρ DC
*PIC programmer*.
*Διάφορα πρωτόκολλα επικοινωνίας* (σειριακή, I2C, SPI, άλλα)
*Διάφορα αισθητήρια* για πειραματισμούς πριν τη σχεδίαση της τελικής τους πλακέτας

Περιμένω τα σχόλιά σας, τις απορίες σας και τις υποδείξεις σας....

----------


## lastid

Η επιλογή του μικροελεγκτή είναι λογικά το επόμενο βήμα. 

Θέλω κατ' αρχήν να έχει τα εξής χαρακτηριστικά:
*USB
Self-write
EEPROM*

Κατόπιν πρέπει να αποφασίσουμε πόσα pins θα έχει (20/28/40/44/64/80).
Τα 20 είναι λίγα. Τα 40 και πάνω είναι μάλλον πολλά για να τα βγάλουμε σε μονή ακιδοσειρά για breadbord, αυτό όμως είναι συζητήσιμο. Αρχικά επιλέγω τα 28.

Το site της Microchip μου δίνει 4 μικροελεγκτές που να πληρούν τα παραπάνω κριτήρια: 18F2455,18F2458,18F2550 και 18F2553.
Διαφέρουν μεταξύ τους ως προς τη μνήμη προγράμματος (24 ή 32 kilobytes), τον ADC (10 ή 12 bits) και την τιμή (3.30$ - 4.33$). 

Η διαθεσιμότητα για όλους εκτός από τον 18F2458, είναι πολύ καλή: Τουλάχιστον 2 στα 3 sites από τα Farnell,Mouser,Digikey τους έχουν.
Επειδή και οι 3 είναι συμβατοί μεταξύ τους ως προς τα pins, δεν έχει και τόσο σημασία ποιον από τους 3 θα διαλέξω. Επιλέγω λοιπόν αρχικά τον ισχυρότερο:
PIC18F2553 (32kB Program memory, 2kB RAM, 256 data EEPROM, 2-5.5V, 28pins, USB, self-write, 2CCP, 10x12bit ADC, 2 comparators, 1x8bit και 3x16bit timers, USART,I2C/SPI.
με εναλλακτικές λύσεις τους 
*PIC18F2455,PIC18F2550*.

----------


## Mihos

Εξαιρετική η ιδέα σου Δημήτρη! Ένα project που ανεβάζει πραγματικά το επίπεδο του forum και ασχολείται επιτέλους με κάτι πιο επίκαιρο. Δε ξέρω κατά πόσο οι γνώσεις μου στους pic μπορούν να φανούν πολύ χρήσιμες (καθώς είναι λιγοστές... Είμαι avr-άκιας :Lol: ). Προτήθεμαι όμως να βοηθήσω όσο μπορώ στην ανάπτυξη του λογισμικού (όταν έρθει αυτή η ώρα)... Η usb ήταν και για μένα πάντα μία πρόκληση. Προς το παρόν δεν έχω να προσθέσω κάτι επί της ουσίας. Όσα είπες μου φαίνονται σωστά. Αν σκεφτώ κάτι θα postάρω. Ελπίζω το θέμα να διατηρηθεί γιατί αξίζει...

----------


## dbsjro

Kαι γω μεσα, εννοειται οσο προλαβαινω και οσο μπορω(αρχαριος yet)
Προσωπικα δν θεωρω την μπαταρια καλη ιδεα, γιατι θα βγει ισως μεγαλυτερο
μεγεθος πλακετας απ οτι χωρις μπαταρια. Αν και με τοσα περιφερειακα η
μπαταρια δν θα κανει την διαφορα οποτε "it's up to you" :Smile: 
Γιατι να μην μπει βαση ZIF και να κανει και για αλλους PIC?

----------


## stom

Μερικες απαιτησεις ακομα..
Να υποστηριζει ΚΑΙ AVR

υ.γ. To arduino το εχεις υποψιν σου υποθετω...

----------


## lastid

> Μερικες απαιτησεις ακομα..
> Να υποστηριζει ΚΑΙ AVR
> υ.γ. To arduino το εχεις υποψιν σου υποθετω...



Ναι, το έχω υπ'όψιν. Αρχικά σκεφτόμουν να κάνω μία Arduino συμβατή πλακέτα για το σκοπό αυτό, όμως υπάρχουν οι εξής διαφορές αυτού που κατέληξα με το Arduino:
- Βασίζεται σε μικροελεγκτή της Microchip, με την οποία έχω πολύ μεγαλύτερη εξοικείωση. Όπως και σκέφτηκα να σχεδιάσω Arduino βασισμένο σε Microchip, όμως δεν ήξερα αν αυτό θα ήταν εφικτό.
- Έχει ρυθμιζόμενη τάση λειτουργίας (2-5Volt). Θα μπορώ έτσι να πειραματιστώ με εξαρτήματα που δουλεύουν σε χαμηλότερες τάσεις (2.5V, 3.3V). To Arduino από όσο ξέρω δουλεύει μόνο στα 5Volt. 
- Δέχεται μπαταρία. Το Arduino από όσο ξέρω όχι.
- Βγάζει μία μονή ακιδοσειρά για breadboard. Το Arduino Βγάζει 2, εκατέρωθεν της πλακέτας του. Βέβαια αυτή δεν είναι κρίσιμη διαφορά σαν τις άλλες.

Τώρα, όταν λες να υποστηρίζει και AVR, εννοείς να βγει και μία παραλλαγή βασισμένη σε AVR? Γιατί αυτό θα μπορούσε να γίνει σαν άλλο project.





> Προσωπικα δν θεωρω την μπαταρια καλη ιδεα, γιατι θα βγει ισως μεγαλυτερο
> μεγεθος πλακετας απ οτι χωρις μπαταρια. Αν και με τοσα περιφερειακα η
> μπαταρια δν θα κανει την διαφορα οποτε "it's up to you"



Εν μέρει συμφωνώ ότι η μπαταρία είναι "κάπως". Γι αυτό και σκοπεύω να την υλοποιήσω προαιρετικά ως εξής: 
Η πλακέτα θα είναι απλή, χωρίς μπαταρία, θα έχει όμως τζαμπεράκια στις γραμμές της  τροφοδοσίας (5V,GND) από την USB προς το υπόλοιπο κύκλωμα. 
α) Αν θέλω 5Volt από την USB και τίποτε άλλο, γεφυρώνω τα τζαμπεράκια.
β) Αν θέλω και μπαταρία, βγάζω τα τζαμπεράκια και βάζω στη θέση τους μικρή πλακέτα που περιέχει το κύκλωμα φόρτισης και τον κοννέκτορα της μπαταρίας.

----------


## ALAMAN

> Μερικες απαιτησεις ακομα..
> *Να υποστηριζει ΚΑΙ AVR*
> 
> υ.γ. To arduino το εχεις υποψιν σου υποθετω...



Συμφωνώ!! Καλό θα ήταν να μπορούσε να υλοποιηθεί και με αντίστοιχο μικροελεγκτή AVR.

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

----------


## ALAMAN

> Τώρα, όταν λες να υποστηρίζει και AVR, εννοείς να βγει και μία παραλλαγή βασισμένη σε AVR? Γιατί αυτό θα μπορούσε να γίνει σαν άλλο project.



Ναί μάλλον αυτό εννοεί όπως έγγραψα κι εγώ στο προηγούμενό μου ποστ.
Το μόνο που θα αλλάξει είναι κατα 100% το software και λιγότερο το hardware.

----------


## lastid

> Επίσης μια ακόμα καλή ιδέα θα ήταν να υπάρχει και ένα ακόμα λογισμικό γραμμένο για υπολογιστή ώστε να μπορούμε να ελέγχουμε κάποιες εξόδους της πλακέτας μέσω προγράμματος του υπολογιστή ή να μπορούμε να διαβάζουμε αντίστοιχα τις εισόδους μέσα απο το πρόγραμμα!



Α, μα φυσικά! Σ' ευχαριστώ που το αναφέρεις.
Στον PIC θα τρέχει ένα πρόγραμμα (το λειτουργικό του ας πούμε), το οποίο θα κάνει τα εξής δύο βασικά:
- Θα φορτώνει από το PC προγράμματα του χρήστη και θα τα ξεκινά
- Θα μιλά με το PC μέσω ενός καλά ορισμένου πρωτοκόλλου, διαβάζοντας και αλλάζοντας την κατάσταση της μνήμης και των I/O, υλοποιώντας εντολές Ι/Ο, αναλογικές εισόδους, debug κλπ.
Έτσι, αν φτιάξουμε και το αντίστοιχο πρόγραμμα στο PC, θα μπορούμε να έχουμε κατευθείαν έλεγχο των I/O για να πειραματιζόμαστε. Αυτός άλλωστε
είναι και ο σκοπός μας.

----------


## ALAMAN

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

----------


## ALAMAN

Νομίζω πως αυτό το project δεν είναι εύκολη υπόθεση καθώς δεν είναι μια απλή πλακέτα στην οποία βρίσκεται ένας μικροελεγκτής με διάφορα περιφερειακά αλλά μια κανονική πλακέτα υπολογιστή που επικοινωνεί με αυτόν με τη διαφορά οτί αντί να κουμπώνει σε υπολογιστή κουμπώνει στο ράστερ με σκοπό να μας βοηθήσει στα πειράματά μας. Πχ. να δώσει τάση (ψηφιακή) να μετρήσει τάση, αντίσταση, ρεύμα, ισχύ κλπ.
Και πάνω απ' όλα να δείξει σε κάποιον αρχάριο το τί κάνει και τί είναι ένας μικροελεγκτής.
Θα ήθελα να βοηθήσω σε αυτό το project αλλά δεν γνωρίζω πολλά απο μικροελεγκτές.
Το θέμα είναι τόσο προτότυπο όσο και σύγχρονο για το forum.
Ας ξεκινήσουμε με PIC όπως αναφέρει και το θέμα και μετά τροτοποιούμε την πλακέτα για AVR.

----------


## lastid

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



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

----------


## her

Πολύ ωραίο για να είναι αληθινό

----------


## ALAMAN

> Πολύ ωραίο για να είναι αληθινό



 :Lol:  :Lol:  :Lol:

----------


## lastid

> Πολύ ωραίο για να είναι αληθινό



Στο χέρι μας είναι λοιπόν να γίνει αληθινό...
Σχεδιάζω τώρα μία πρώτη έκδοση του κυκλώματος. Χωρίς σταθεροποιητή και μπαταρία, αλλά με τα τζάμπερς για περαιτέρω πειραματισμό.
Ελπίζω απόψε να προλάβω να ανεβάσω σχέδιο (δουλεύω παράλληλα), ώστε να το δείτε και να μου πείτε. Δεν είναι και τίποτε ιδιαίτερο..

----------


## ALAMAN

Οκ Δημήτρη! Περιμένουμε το πρώτο σχέδιο της πλακέτας !!  :Biggrin:

----------


## JOHNY+

Μεσα και εγω να βοηθησω οσο ξερω , και οσο μπορω .

----------


## dbsjro

Α!Δημητρη να λαβεις/βουμε και εναν αλλο παραγοντα, τον χρηματικο υποψιν
Αν θες κανε εναν προυπολογισμο περιπου η να θεσουμε ενα budget

----------


## lastid

Σας παρουσιάζω την έκδοση 1.0   :Smile: 
Λίγα λόγια για το σχέδιο:
- Το όνομα PICASUS το έδωσα προσωρινά
- Η πλακέτα είναι μονής όψης, με ένα μόνο γεφύρωμα.
- Όλα τα εξαρτήματα εκτός από τον  κρύσταλλο και έναν πυκνωτή είναι SMD.
- To USB βύσμα είναι τύπου mini B SMD. Το βρίσκουμε στη *Sparkfun εδώ* και στη *Farnell εδώ*. Το επέλεξα αντί του κανονικού Β λόγω του μεγέθους ( είναι πιο μουράτο από την κανονική γκουμούτσα)
- Ο εξωτερικός κρύσταλλος χρειάζεται για την USB. Επέλεξα 24 MHz αλλά μπορούν να μπουν και άλλες τιμές, σύμφωνα με το datasheet του PIC.
- Υπάρχουν 6 test points: 1-5 για τον προγραμματισμό και 6 για την τάση 3.3V που βγάζει ο PIC για την USB. Βύσμα για τον αρχικό προγραμματισμό δεν χρειάζεται, μπορεί να μπει στην ακιδοσειρά (expansion).
- Στο schematic, περιγράφω στα σήματα τις λειτουργίες των pins για να τις έχουμε πρόχειρες.
- Η διάταξη των σημάτων στην ακιδοσειρά είναι όπως με βόλευε, για να βγει μονή όψη και να είναι ελαφρώς μαζεμένα.
- Το κόστος των υλικών μέχρι στιγμής είναι θα έλεγα πολύ μικρό.
- Η ακιδοσειρά μπορεί να μπεί όρθια (τρυπώντας την πλακέτα) ή ξαπλωτή (γλυτώνοντας τις τρύπες...)
- Τα jumpers JP1 και JP2 τα βραχυκυκλώνουμε ή τους κουμπώνουμε οποιαδήποτε πλακέτα σχεδιάσουμε για να "παίξουμε" με την τροφοδοσία...
- Στην πλακέτα αριστερά, είναι τυπωμένα σε χαλκό τα σήματα της ακιδοσειράς για να τα έχουμε πρόχειρα

Μερικά θέματα για συζήτηση:
- USB βύσμα: Να μπει κανονικό αντί του mini?
- USB βύσμα: Να περιστραφεί 90 μοίρες δεξιά, ώστε το καλώδιο να έρχεται από πάνω?
- Κρύσταλλος: Να γίνει και αυτός SMD?
- Κρύσταλλος: 24 MHz είναι καλά? ( η απάντηση απαιτεί διάβασμα του datasheet...)
- Expansion βύσμα: Ok με τη διάταξη των σημάτων?
- Expansion βύσμα: Να βγαίνει εκεί και η συχνότητα του κρυστάλλου OSC2 (6 MHz)?
- Reset button: Να μπει? (κι ας μη χωράει  :Sad: )
- JP1,2: Μήπως είναι πολύ κοντά στο USB βύσμα?

Επίσης, αν κάποιος διακρίνει κανένα λάθος βιασύνης, καλύτερα να το πει τώρα, αλλιώς ας σωπάσει για πάντα  :Laugh:

----------


## dbsjro

- USB βύσμα: Να μπει κανονικό αντί του mini?
--->Για ποιο λογο να το αλλαξεις?
- USB βύσμα: Να περιστραφεί 90 μοίρες δεξιά, ώστε το καλώδιο να έρχεται από πάνω?
--->Ετσι μαλλον καλυτερο ειναι γιατι καθετα θα δεχεται περισσοτερη μηχανικη καταπονηση η πλακετα
- Κρύσταλλος: Να γίνει και αυτός SMD?
--->Γιατι να το αλλαξεις?
- Κρύσταλλος: 24 MHz είναι καλά? ( η απάντηση απαιτεί διάβασμα του datasheet...)
Τυχαια τιμη με max 48 ε? Απ οτι φαινεται καλα θα εισαι στα 5V
- Expansion βύσμα: Ok με τη διάταξη των σημάτων?
--->Aς μπει βαση για το αρχικο προγραμματισμο
- Expansion βύσμα: Να βγαίνει εκεί και η συχνότητα του κρυστάλλου OSC2 (6 MHz)?
........Χμμμμμ :Confused1: 
- Reset button: Να μπει? (κι ας μη χωράει  :Sad: )
--->Καλο θα ηταν ναι(που δν χωραει στο PCB?)ενα jumper απο πανω βαλε οχι διαδρομο στην πλακετα κ την αντισταση
- JP1,2: Μήπως είναι πολύ κοντά στο USB βύσμα?
--->Αναλογα τι jumper θα μπει, εχεις σκεφτει?

1Κ για το LED μεγαλη δν ειναι?

----------


## lastid

--->Για ποιο λογο να το αλλαξεις?
Για την περίπτωση που θεωρήσετε ότι θα μας δυσκολεύει το διαφορετικό καλώδιο. Βέβαια και το καλώδιο αυτό είναι πολύ κοινό.

--->USB βύσμα: Ετσι μαλλον καλυτερο ειναι γιατι καθετα θα δεχεται περισσοτερη μηχανικη καταπονηση η πλακετα
Η ερώτησή μου ήταν ασαφής. Δεν εννοούσα να έρχεται κάθετα προς την πλακέτα. Εννοούσα να έρχεται από την βορινή (στενή) πλευρά της πλακέτας.

--->Γιατί να αλλάξεις τον κρύσταλλο σε SMD?
Για να μην ξεπροβάλλει σαν ουρανοξύστης, στην περίπτωση που κουμπώσουμε και άλλη πλακέτα από πάνω.

--->Aς μπει βαση για το αρχικο προγραμματισμο
Δεν χρειάζεται. Τα 5 σήματα που απαιτούνται για τον αρχικό προγραμματισμό, εμφανίζονται και στην 25πινη ακιδοσειρά. Τα 5 test points τα έβαλα περισσότερο για οπτικό οδηγό.

---> Expansion βύσμα: Να βγαίνει εκεί και η συχνότητα του κρυστάλλου OSC2 (6 MHz)? ........Χμμμμμ :Confused1: 
Εννοούσα 24 MHz, δηλ. την έξοδο από το pin 10 του PIC.

--->Reset button:Καλο θα ηταν ναι(που δν χωραει στο PCB?)ενα jumper απο πανω βαλε οχι διαδρομο στην πλακετα κ την αντισταση
Ναι, ένα jumper ακόμη θα μπορέσουμε να το βολέψουμε..

-----> JP1,2: Μήπως είναι πολύ κοντά στο USB βύσμα? --->Αναλογα τι jumper θα μπει, εχεις σκεφτει?
Το κλασικό, από ακιδοσειρά. Θέλει προσοχή γιατί θα κουμπώνει και πλακέτα πάνω στα jumpers. Δεν νομίζω όμως ότι θα υπάρχει πρόβλημα.

---->1Κ για το LED μεγαλη δν ειναι?
Είναι λίγο μεγάλη, όμως με τα leds που χρησιμοποιώ είναι οκ. Εξάλλου, θέλω να μειώσω την κατανάλωση όσο περισσότερο γίνεται.

----------


## ALAMAN

> Μερικά θέματα για συζήτηση:
> -1) USB βύσμα: Να μπει κανονικό αντί του mini?
> -2) USB βύσμα: Να περιστραφεί 90 μοίρες δεξιά, ώστε το καλώδιο να έρχεται από πάνω?
> -3) Κρύσταλλος: Να γίνει και αυτός SMD?
> -4) Κρύσταλλος: 24 MHz είναι καλά? ( η απάντηση απαιτεί διάβασμα του datasheet...)
> -5) Expansion βύσμα: Ok με τη διάταξη των σημάτων?
> -6) Expansion βύσμα: Να βγαίνει εκεί και η συχνότητα του κρυστάλλου OSC2 (6 MHz)?
> -7) Reset button: Να μπει? (κι ας μη χωράει )
> -8) JP1,2: Μήπως είναι πολύ κοντά στο USB βύσμα?
> ...



Πολύ καλή δουλειά! Συγχαρητήρια Δημήτρη!!!
Λοιπόν ας σχολιάσουμε την πλακέτα!
1) Το mini βύσμα είναι καλύτερο, οπότε μένει έτσι!
2) Άν περιστραφεί το βύσμα το καλώδιο θα έρχεται απο δεξιά, ίσως να φαίνετε καλύτερα αν περιστραφεί.
3) Εγώ προτιμώ τον κανονικό κρύσταλλο εξάλου δεν είναι μεγάλος μπελάς, μην ξεχνάμε οτι δεν είναι όλα τα εξαρτήματα SMD (πχ ηλεκτρολυτικοί πυκνωτές)
7) Πιστεύω πως θα ήταν καλύτερα να υπήρχε τρόπος να ξεκινάμε το πρόγραμμα απο την αρχή με ένα απλό κουμπί παρά να κόβουμε την τροφοδοσία της πλακέτας βγάζοντας συνέχεια το USB βύσμα
8) Το JP1 θέλει λίγο μετακίνηση προς τα δεξιά... αν και δεν κατάλαβα τί ακριβώς κάνουν.

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

----------


## lastid

3 ) Και φυσικά, υπάρχουν και οι κοντοί κρύσταλλοι...
7 ) Γι αυτό το λόγο θα πρέπει να μπει τελικά κουμπί Reset. Το ξεκίνημα όμως από την αρχή, θα μπορεί να γίνεται και με software από το PC.
8 ) Tα JP1 και JP2 τα έβαλα να απέχουν ακριβώς 0.2" μεταξύ τους, για τη διευκόλυνση της σχεδίασης της πλακέτας που θα κουμπώνει πάνω τους.
Και τέλος, οι αγωγοί που φαίνονται να μην έχουν κλίση ακριβώς 45 μοιρών, μόλις τα έλεγξα με ζουμ και ναι, είναι από την ποιότητα της εικόνας.

----------


## ALAMAN

> 3 ) Και φυσικά, υπάρχουν και οι κοντοί κρύσταλλοι...
> 7 ) Γι αυτό το λόγο θα πρέπει να μπει τελικά κουμπί Reset. Το ξεκίνημα όμως από την αρχή, θα μπορεί να γίνεται και με software από το PC.
> 8 ) Tα JP1 και JP2 τα έβαλα να απέχουν ακριβώς 0.2" μεταξύ τους, για τη διευκόλυνση της σχεδίασης της πλακέτας που θα κουμπώνει πάνω τους.
> Και τέλος, οι αγωγοί που φαίνονται να μην έχουν κλίση ακριβώς 45 μοιρών, μόλις τα έλεγξα με ζουμ και ναι, είναι από την ποιότητα της εικόνας.



8) Έλεγξε το με μια εκτύπωση να είσαι σίγουρος... και διόρθωσε λίγο τις γραμμές που εξέχουν απο την ακιδοσειρά.

Τώρα αρχίζει το software?

----------


## lastid

Οι γραμμές που εξέχουν από την ακιδοσειρά είναι και αυτές οπτικοί οδηγοί για να ξεχωρίζουμε την τροφοδοσία από τα άλλα σήματα: H λεπτή είναι το + και η χοντρή είναι η γείωση. Αν όμως δεν φαίνονται καλά στο μάτι, να τις αφαιρέσω.

Τώρα αρχίζει το software? Ναι, αφού όμως πρώτα καταλήξουμε ότι το hardware είναι εντάξει. 
Εντάξει με τα υλικά? Με τη διάταξή τους? Καμία ένσταση? Ευχαριστώ όσους απάντησαν άμεσα, ας δώσουμε και λίγο χρόνο σε αυτούς που δεν τσεκάρουν το site συχνά ή δεν έτυχε να δουν το θέμα αμέσως..

Για το software, θα εκτιμούσα ότι βοήθεια μπορέσει να μου δώσει ο καθένας σχετικά με την USB, τόσο στο PC όσο και στον PIC: descriptors, endpoints, HID, κλπ Έχω κάποια βοηθήματα για ανάπτυξη, αλλά είναι πολυσέλιδα και θα μου φάνε αρκετό χρόνο μέχρι να ξεδιαλέξω την πληροφορία.  Κάθε βοήθεια (παραδείγματα, links, κλπ) δεκτή.

----------


## ALAMAN

Εγώ λέω ΟΚ για τα υλικά και την πλακέτα!
Μακάρι να μπορούσα να βοηθήσω στο software αλλα δυστηχώς δεν γνωρίζω τίποτα...
Οπότε μπορώ μόνο να παρακολουθώ.
Σε τί γλώσσα θα αναπτυχθεί?
Εγώ θα έλεγα C, άν και στα επόμενα ποστ πολλοί θα προτιμήσουν Assembly  :Tongue2:

----------


## ALAMAN

Σκεύτικα, μήπως θα ήτανε πιο όμορφο αν βάζαμε κανονικό USB βύσμα...?
Σαν αυτό που φαίνετε στη φωτο.

----------


## Radiometer

lastid οραιο και χρήσιμο θα ήταν να μπει και ένα RTC   ( Real-Time Clock ).    Από αισθητήρες τι σκεφτικές να βάλεις ?    

έμενα μου αρέσει ο 18F4620  ( Program Memory (Bytes) 65536   :Biggrin:  ) εγώ με αυτόν έκανα την πτυχιακή μου εργασία 
παντός η ιδέα σου είναι πολύ ωραία  :OK:

----------


## ALAMAN

Απο αισθητήρια προτείνω:
Θερμοκρασίας.
Υγρασίας.
Ίσως και φωτισμού.
Τα δύο πρώτα θα βοηθήσουν σίγουρα στον χώρο μας ώστε να ξέρουμε τί θερμοκρασία έχει κάποιο ολοκληρωμένο κάποιο τρανζίστορ κλπ. και τί υγρασία έχει κάποιο δωμάτιο.

----------


## KOKAR

Δημήτρη ( lastid )

----------


## lastid

Alaman, εννοείς να βάλουμε βύσμα τύπου Α που να κουμπώνει στο καλώδιο της φωτό? Γίνεται, αλλά δεν συνηθίζεται για περιφερειακά τύπου Β.

Radiometer, ωραίος ο 18F4620 αλλά δεν έχει USB. Θα πρέπει επομένως να μπει FTDI ή κάτι καλύτερο. Τί ταχύτητες USB θα μπορέσουμε να πιάσουμε?

Alaman και Radiometer, τα αισθητήρια και το RTC clock μου αρέσουν και μένα σαν ιδέες, μήπως όμως να μπουν προαιρετικά? Μία λύση θα ήταν π.χ. μία δεύτερη πλακέτα που να κουμπώνει πάνω από την πρώτη, κάτι σαν πρώτος όροφος και ισόγειο. Αυτή η δεύτερη πλακέτα θα μπορούσε να έχει το κύκλωμα ρύθμισης τάσης τροφοδοσίας (και από software!!), το κύκλωμα φόρτισης μπαταρίας, το RTC, μερικά λεντάκια, μερικά buttons και μερικά αισθητήρια. Έτσι, κρατάμε διαθέσιμη και την Expansion ακιδοσειρά μας για τους υπόλοιπους πειραματισμούς.
Η σύνδεση ισογείου και πρώτου ορόφου θα απαιτεί power και data. Για την data σύνδεση, πρέπει να δούμε τί θα δεσμευτεί από τον PIC. Καλό είναι να μην δεσμευτεί κάτι που θα θέλαμε πιθανόν να το χρησιμοποιήσουμε στην Expansion, αλλά αν δεν γίνεται αλλιώς...
Πιθανοί υποψήφιοι φυσικά είναι το I2C και το SPI. Το πρόβλημα είναι ότι ο PIC υποστηρίζει με το hardware του μόνο I2C ή μόνο SPI, όχι και τα δύο ταυτόχρονα. Τί γίνεται αν κάνουμε σύνδεση I2C με πρώτο όροφο και κατόπιν θελήσουμε SPI σε Expansion?
Η λύση που σκέφτομαι σε αυτό, είναι να υλοποιηθεί το SPI με άλλα pins του PIC μέσω software. Η CCS C π.χ. έχει έτοιμες ρουτίνες βιβλιοθήκης γι αυτό. Δεν είναι η τέλεια λύση, αλλά θα δουλεύει. Έχετε να προτείνετε κάτι καλύτερο?

Όσον αφορά το software, διαβάζω σήμερα στον PIC για την USB. Πολύ ωραία πράγματα! Θα ανεβάσω σύντομα τις σημειώσεις μου.
Κάτι που είδα και δεν μου άρεσε, είναι ότι η Vdd του PIC δεν μπορεί να είναι χαμηλότερη από από την 3.3V Vusb του pin 14, ακόμη και αν το USB είναι απενεργοποιημένο. Αυτό σημαίνει πρακτικά ότι δεν θα  μπορεί το σύστημα να δουλεύει με Vdd ίση με 2,2.5,2.7 ή 3 Volt. Καμία ιδέα?

----------


## ALAMAN

Πολύ ωραία ιδέα αυτό το expansion με τις extra πλακέτες!
Κάτι σαν mini computer!  :Rolleyes: 
Στο τελικό αποτέλεσμα βέβαια ίσως να υπάρξει όγκος και να δυσκολεύεται να κουμπώσει στο ράστερ αλλα δεν θα μας πειράζει, η λύση θα ήταν να έχουμε εξωτερική ακιδοσειρά με καλωδιοταινία!
Όσον αφορά την τροφοδοσία του pic, μάλλον ενοείς δια μέσου της μπαταρίας!
Θα μπορούσε να γίνει με 9V επαναφορτιζόμενη, έτσι ώστε στον pic να πέσουν τα 5V που θέλουμε!

----------


## dbsjro

Γιατι να θες να το αλλαξεις απο SPI σε I2C?
Ας εχουν ολα το ιδιο

----------


## lastid

Alaman, μία λύση για την μπαταρία είναι να μπει Li Ion, όπως στα κινητά, PDA κλπ. Θεωρείται σαν η καλύτερη λύση από τους περισσότερους σήμερα. Χάνει μόνο 0.1% το μήνα και δεν έχει φαινόμενο μνήμης. Αν τραβάμε πολύ λίγο ρεύμα αργεί να εμφανίσει γήρανση. 
Ένα cell φορτίζει με 4.2V και δίνει περίπου 3.6V. Στα 3.3V λοιπόν, ο PIC θα λειτουργεί άψογα. Αν θέλουμε να έχουμε και 5V, βάζουμε μπαταρία με 2 cells.
Υπάρχουν δε τόσα καλά ολοκληρωμένα για φόρτιση Li Ion, που δεν ξέρω ποιο να διαλέξω.

dbsjro, το Zigbee Module της Microchip που σκέφτομαι να χρησιμοποιήσω π.χ., δουλεύει μόνο με SPI.
Η κάμερα TCM8240MD της Toshiba που σκέφτομαι να πειραματιστώ και με αυτή, δουλεύει μόνο με I2C.

----------


## ALAMAN

Και γιατί να κουμπώνει η πλακέτα πάνω στο ράστερ... και όχι το ράστερ πάνω στην πλακέτα! ??
Στην φώτο που επισυνάπτω φαίνετε μια εικόνα που σκεύτηκα για την πλακέτα με το ράστερ.
Δεξιά πάνω θα υπάρχει η οθόνη LCD που θα απεικονήζει διάφορες μετρήσεις με ακρίβεια, όπως μέτρηση τάσης, ρεύματος, ισχύος, αντίστασης, χωρητηκότητας κλπ κλπ...
Άν οι απαιτήσεις της πλακέτας είναι πάρα πολλές υπάρχει θύρα επέκτασης κάτω όπως φαίνετε με κόκκινο (όπως η μητρηκή των pc) για να κουμπώσει ακόμα μία πλακέτα που θα προσφέρει τις υπόλοιπες απαιτήσεις που χρειαζόμαστε. Όπως γίνετε και με τα πολύμετρα όταν περιστρέφουμε το κουμπί!
Αριστερά στα κουτάκια με τα νούμερα υπάρχουν jumper που συνδέουμε απλά τους ακροδέκτες για μέτρηση τάσης, ρεύματος, αντίστασης και θερμοκρασίας αντίστοιχα (ως παράδειγμα).
Στα στρόγγυλα με τα γράμματα υποθέτουμε πως υπάρχουν κουμπιά για χειρισμό των οργάνων. Μετατροπή σε βολτόμετρο, αμπερόμετρο, ωμόμετρο και θερμόμετρο.
Και τέλος η μπαταρία με το βύσμα τροφοδοσίας-φόρτισης που ξέχασα να προσθέσω, και το βύσμα σύνδεσης USB.

Και φυσικά το ράστερ στα αριστερά στο οποίο αναπτύσεται το πείραμα.

Αυτή είναι μια άλλη εικόνα του όλου επιχειρήματος που μπορεί να προσφέρει περισσότερη άνεση! (κατα τη γνώμη μου βέβαια!  :Tongue2: )
Απο 'κεί και πέρα η πλακέτα θα γίνει όπως την θέλουνε οι περισσότεροι ή ο καθένας μπορεί να την σχεδιάσει όπως του αρέσει σύμφωνα πάντα με το σχέδιο βέβαια!

----------


## lastid

Alaman, αυτή είναι μία διάταξη που μου αρέσει. Υπάρχουν όμως τα εξής θέματα για συζήτηση:
1. Τί γίνεται με το μέγεθος αν κάποιος δεν θέλει πχ ράστερ και lcd, αλλά μόνο μία φορητή συσκευή που να την πάρει μαζί του, να την κουμπώσει κάπου, να τραβήξει κάποια δεδομένα και να τα μεταφέρει μετά στο PC?
2. Το μέγεθος της μπαταρίας θα καθιστά άχρηστη την κεντρική περιοχή της πλακέτας. Η μπαταρία επίσης παύει να είναι και αυτή προαιρετική. Μία λύση είναι η μπαταρία να είναι εκτός πλακέτας - μπορεί να μπει και από κάτω.
3. Υπάρχουν πολλές οθόνες LCD, είτε text είτε graphics. Δεν θέλω να περιοριστώ σε μία μόνο.
4. Κάποιος μπορεί να έχει 2,3,4.. διαφορετικά ράστερ με διαφορετικά projects που τρέχουν, ένα όμως μόνο αναπτυξιακό. Θα βόλευε να αλλάζουμε γρήγορα ράστερ (με μία κίνηση) και να μην έχουμε ένα ράστερ μόνιμα συνδεμένο.
5. Κάποιος μπορεί να θέλει να έχει 30 buttons, 8 αναλογικά ποτενσιόμετρα, 30 λεντάκια, ένα LCD και 10 αισθητήρια. Κάποιος άλλος πάλι λόγω κόστους και λόγω πολυπλοκότητας (αν το φτιάξει μόνος του) μπορεί να θέλει να έχει τα ελάχιστα. Μπορούμε να συνδυάσουμε όλες τις λύσεις, π.χ. φτιάχνοντας π.χ. διαφορετικές εκδόσεις πλακέτας πρώτου ορόφου?

Υπάρχει τρόπος ώστε α) το αναπτυξιακό να έχει την παραπάνω εικόνα και παράλληλα β) τα ράστερ,οθόνη,leds,buttons,μπαταρία να είναι προαιρετικά?

----------


## ALAMAN

> Alaman, αυτή είναι μία διάταξη που μου αρέσει. Υπάρχουν όμως τα εξής θέματα για συζήτηση:
> 1. Τί γίνεται με το μέγεθος αν κάποιος δεν θέλει πχ ράστερ και lcd, αλλά μόνο μία φορητή συσκευή που να την πάρει μαζί του, να την κουμπώσει κάπου, να τραβήξει κάποια δεδομένα και να τα μεταφέρει μετά στο PC?
> 2. Το μέγεθος της μπαταρίας θα καθιστά άχρηστη την κεντρική περιοχή της πλακέτας. Η μπαταρία επίσης παύει να είναι και αυτή προαιρετική. Μία λύση είναι η μπαταρία να είναι εκτός πλακέτας - μπορεί να μπει και από κάτω.
> 3. Υπάρχουν πολλές οθόνες LCD, είτε text είτε graphics. Δεν θέλω να περιοριστώ σε μία μόνο.
> 4. Κάποιος μπορεί να έχει 2,3,4.. διαφορετικά ράστερ με διαφορετικά projects που τρέχουν, ένα όμως μόνο αναπτυξιακό. Θα βόλευε να αλλάζουμε γρήγορα ράστερ (με μία κίνηση) και να μην έχουμε ένα ράστερ μόνιμα συνδεμένο.
> 5. Κάποιος μπορεί να θέλει να έχει 30 buttons, 8 αναλογικά ποτενσιόμετρα, 30 λεντάκια, ένα LCD και 10 αισθητήρια. Κάποιος άλλος πάλι λόγω κόστους και λόγω πολυπλοκότητας (αν το φτιάξει μόνος του) μπορεί να θέλει να έχει τα ελάχιστα. Μπορούμε να συνδυάσουμε όλες τις λύσεις, π.χ. φτιάχνοντας π.χ. διαφορετικές εκδόσεις πλακέτας πρώτου ορόφου?
> 
> Υπάρχει τρόπος ώστε α) το αναπτυξιακό να έχει την παραπάνω εικόνα και παράλληλα β) τα ράστερ,οθόνη,leds,buttons,μπαταρία να είναι προαιρετικά?



1. 



> Αυτή είναι μια άλλη εικόνα του όλου επιχειρήματος που μπορεί να προσφέρει περισσότερη άνεση! (κατα τη γνώμη μου βέβαια! )
> Απο 'κεί και πέρα η πλακέτα θα γίνει όπως την θέλουνε οι περισσότεροι ή ο καθένας μπορεί να την σχεδιάσει όπως του αρέσει σύμφωνα πάντα με το σχέδιο βέβαια!



2. Την μπαταρία την έβαλα κατα τύχη εκεί πέρα! Φυσικά θα μπεί σε διαφορετικό σημείο, εγώ ήθελα να δείξω στο περίπου τί θα περιέχει.
3. Και βέβαια θα υπάρχουν διαφορετικές οθόνες. Ας ξεκινήσουμε με την απλή πρώτα.
4. Το ράστερ δεν είναι μόνιμα συνδεδεμένο, αλλά κολημένο στην πλακέτα (με αυτοκόλητο). Θεώρησα οτι υπάρχει ένα ράστερ, τώρα αν υπάρχουν περισότερα η πλακέτα απλά θα μπεί δίπλα στο ράστερ! 
5. Γιαυτό έβαλα και μία θύρα επέκτασης! για να μπορούμε να πάρουμε περισσότερες απαιτήσεις!

Τέλος για να έχει η πλακέτα α) την παραπάνω εικόνα και β) να υπάρχουν τα ράστερ,οθόνη,leds,buttons,μπαταρία προαιρετικά νομίζω πως θα πρέπει να πέσει βάρος στο software και μάλλον δεν γίνετε με έναν μικροελεγκτή!

----------


## ALAMAN

Η παραπάνω πλακέτα γίνετε για δική μας άνεση διότι με αυτόν τον τρόπο δεν χρειαζόμαστε πολύμετρο, 
έχουμε ότι θέλουμε σε μία πλακέτα και σε ένα pc.
Βολτόμετρο
Αμπερόμετρο
Ωμόμετρο
Συχνόμετρο
Θερμόμετρο
Γεννήτρια Α.Σ.
Μίνι τροφοδοτικό (πχ 0-15V, σε περίπτωση που βρισκόμαστε σε πάγκο και τροφοδοτούμε την πλακέτα απο την πρίζα)
Τροφοδοτικό λογικών τάσεων 0, 1 (με έτοιμα pull-up και pull-down resistor)
Στατιστικά δεδομένα μετρήσεων μέσα στο pc με χρήση λογισμικού στο pc.
Έλεγχος διάφορων συσκευών μέσω pc χρησιμοποιόντας πρόσθετη πλακέτα στην αντίστοιχη υποδοχή!
Και διάφορα άλλα που μπορεί να σκευτεί ο καθένας, απλά γίνοντε πρόσθετα και προεραιτικά!

----------


## ALAMAN

Ορίστε, έτοιμο!
Για κοιτάξτε εδώ...
http://www.hlektronika.gr/forum/showthread.php?t=47008

Όπως βλέπετε δεν χρειάζεται ο εγκέφαλος της πλακέτας να είναι ένας και μόνο μικροελεγκτής! Θα υπάρχουν πολλά τμήματα.

Την προέκταση της κλίμακας θα μπορούσαμε να την κάνουμε με διαιρέτη τάσης. Βέβαια θα πρέπει να πειράξουμε το λογισμικό
για να απεικονίζει τις αντίστοιχες τάσεις.
Δηλαδή αν διπλασιάσουμε την κλίματα τότε θα μπορούμε να δώσουμε στην είδοσο μέχρι 10V δηλαδή στον Pic θα μπούνε 5V άρα πρέπει
να έχουμε ένα κουμπί που να διπλασιάζει την κλίματα, δηλαδή για Vin=5V να δείχνει 10V κλπ

----------


## lordi

Κατ αρχήν συγχαρητήρια για την ιδέα! Είναι τρομερή και αξίζει λόγο και της ομαδικής δουλειάς!

Σχετικά με το project, γιατί δεν φτιάχνεται η πλακέτα χωριστά και μετά να συνδέεται στο breadboard με μια ακιδοσειρά με ταινία? Είναι ανάγκη να κουμπώνει ολόκληρη πάνω? Έτσι και σε πολλά πειράματα θα δουλεύουμε με μία πλακέτα και παράλληλα θα είναι όσο κοντά θέλουμε, δηλαδή καλύπτει και τις δυο προαναφερθείσες ιδέες!

----------


## gsmaster

Καλησπέρα σας!

Διάβασα όλες τις σελίδες και έχω να πώ:

1. Το βύσμα USB εκεί που είναι δεν θα κουμπώνει το καλώδιο γιατί θα βρίσκει το πλαστικό του βύσματος στην πλακέτα. Πρέπει να τοποθετηθεί στην άκρη της πλακέτας.

2. Τα TP1-5 κάντα αρκετά μεγάλα έτσι ώστε να μπορείς να τα τρυπήσεις και να βάλεις ακιδοσειρά για μας που έχουμε ICSP programmers.

3. Ξέχασες να βάλεις αντίσταση pull-up στο MCLR ή την άφησες σκόπιμα? Βάλε και μια δίοδο σε σειρά για μας που έχουμε ICSP programmers.

4. Βάλε δυο jumperakia στα D+ και D- του USB προς τον PIC και βγάλε τα εν λόγω πιν στην ακιδοσειρά που πάει στο ράστερ. Για να μπορεί κάποιος να χρησιμοποιεί την USB μόνο για τροφοδοσία. 

5. Τον κρυσταλλο μην τον κάνεις SMD, για να μπορείς να βάλεις βάση και να αλλάζεις κατα βούληση. Ασε που δεν υπάρχουν SMD στο ελλαδιστάν

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

Αυτα προς το παρών

----------


## edgar

υπάρχει διάθεση για σύνδεση περιφερειακού ethernet adapter στο ολο project?

πιστεύω θα μετρούσε τρελλά

----------


## lordi

> υπάρχει διάθεση για σύνδεση περιφερειακού ethernet adapter στο ολο project?
> 
> πιστεύω θα μετρούσε τρελλά



Καλή ιδέα αυτή! Μπορεί να χρησιμοποιηθεί το ENC28J60 της ίδιας της microschip που το δουλεύεις με SPI αν το έχει δουλέψει κανείς ας αναφέρει εντυπώσεις και πολυπλοκότητα γιατί δεν το γνωρίζω!!

----------


## lastid

Alaman,
συμφωνώ γενικά με αυτά που λές. Θα το παλέψω λίγο και θα προτείνω συγκεκριμένη τροποποιημένη αρχιτεκτονική.

lordi,
Το σκέφτηκα κι εγώ αρχικά για καλωδιοταινία. Μία ζωή εξάλλου με ταινίες παιδευόμαστε. Απλά θέλησα να πρωτοτυπήσω λίγο, γιατί οι ταινίες: Kόβονται σε συχνή χρήση, πιάνουν χώρο, μπορεί να μπουν ανάποδα ευκολότερα, αυξάνουν λίγο τα εξαρτήματα και το κόστος, αυξάνουν λίγο τον χρόνο κατασκευής.
Βέβαια, τίποτε δεν μας εμποδίζει να χρησιμοποιήσουμε και ταινία σαν προέκταση. Θέλω όμως να υπάρχει ελευθερία επιλογής.

gsmaster,
1. Thanks for the tip. Βλέπεις, δεν έχω πιάσει ακόμη στα χέρια μου USB mini B (έχω παραγγείλει ήδη όμως και τα περιμένω).
2. Αρχικά κι εγώ αυτό σκέφτηκα. Μετά, σκέφτηκα ότι δεν χρειάζεται μια που το ICSP καλώδιο μπορεί να κουμπώσει στα pins 15-19 της Expansion ακιδοσειράς. Τώρα όμως σκέφτομαι ότι μπορεί να μπει για In Circuit Debugging  με τον programmer/debugger σε δεύτερη USB? Οπότε μάλλον οκ, θα βάλω.
3. Και ξέχασα και σκόπιμα  :Rolleyes:  Μπορεί να μπει πάνω στο ICSP καλώδιο. Ήθελα και το Ε3 πλήρως διαθέσιμο. Θα βάλω όμως μάλλον.
4. Οk. Θα πάει το jumper σύννεφο. Το βλέπω να γίνεται κανονική ακιδοσειρά, ώστε να ρίξω και πλάκα για πάνω όροφο πλακέτα.
5. Ναι, έτσι νομίζω κι εγώ. Το οχυρό των through hole κρυστάλλων κρατάει καλά ακόμη.
6. Εννοείς να κουμπώνουν κατευθείαν στις δύο μακρυές γραμμές του ράστερ? Και τί γίνεται με τα ράστερ που δεν έχουν τις γραμμές τροφοδοσίας μαζί αλλά μακρυά τη μια με την άλλη? Ή αν στην πλακέτα κολλήσω ακιδοσειρά με πολλούς τρόπους, π.χ. γωνία ή  ίσια, με τρύπες ή επιφανειακά, οπότε οι αποστάσεις και οι γωνίες αλλάζουν ή δεν βολεύουν?

----------


## lastid

Edgar,
Ναι, πολύ καλό ακούγεται και υπάρχει διάθεση! Μπορεί πάντα να μπει Ethernet στην Expansion. Θέλουμε να ενσωματωθεί στην κεντρική πλακέτα? Θα πρέπει να το ψάξω λίγο...

----------


## lastid

Να μην ξεχάσω:
Σε συνέχεια του θέματος που άνοιξε ο typografos εδώ, μπορεί να σχεδιαστεί σαν περιφερειακό, ένα μικρό αλλά θαυματουργό σύστημα συναγερμού. 
Φυσικά, η κατασκευή όπως και σε κάθε άλλη περίπτωση, θα προβλέπεται να μπαίνει σε κουτί και να δουλεύει μόνη της. Υπάρχουν και τροφοδοτικά που βγάζουν USB mini B βύσμα (ψάξτε στους φορτιστές για κινητά της Motorola). 
Η κατασκευή θα κουμπώνει στη USB μόνο όταν θα θέλουμε να την επαναπρογραμματίσουμε.

----------


## ALAMAN

Πώς πάει το project? Υπάρχουν νεότερα?
Η πρώτη έκδοση τελικά τί δυνατότητες θα έχει?

----------


## lastid

Νά'μαι πάλι... Είχα μία ολιγοήμερη αναγκαστική διακοπή λόγω ασθένειας, αλλά μή φοβάστε, δεν το παράτησα.
Όσο για το project, το προχωράω διαβάζοντας documentation κυρίως για USB. Από τη μεριά του PIC τα πράγματα είναι εύκολα και λίγα. To PC έχει αρκετά μεγαλύτερη πολυπλοκότητα, γιατί στο κάτω κάτω αυτό είναι που έχει το πάνω χέρι στη USB και πρέπει να πάρει και τις περισσότερες αποφάσεις.

Να ρωτήσω τώρα κάτι: 
Πιστεύετε ο 28πινος PIC 18F2553 θα είναι εντάξει, ή μήπως να επιλεγεί o 40πινος 18F4553?
Οι βασικές τους διαφορές είναι:

*Ευκολία κολλήσεων*
Η απόσταση μεταξύ των pins στον 28pin SOIC είναι *1.27mm*, γενικά αποδεκτή. 
Στον 44pin TQFP είναι *0.80mm*, εφικτή αλλά λίγο δύσκολη. 
Στον 44pin QFN είναι 0.65mm, μόνο για καλά εξοπλισμένους πάγκους και σταθερά χέρια.
Όλα αυτά βέβαια, είναι διαφορετική εμπειρία σε σχέση με τα 2.54mm των κλασικών ολοκληρωμένων.

*Αριθμός Ι/Ο*
Ο 28pin θα μας δώσει *20 pins* για το Expansion. Ο 44pin θα μας δώσει *31 pins*, 11 επιπλέον δηλαδή. Μερικές φορές, πραγματικά τα χρειαζόμαστε.

*Αριθμός αναλογικών εισόδων*
Ο 28pin έχει *10* εισόδους. Ο 44pin *13*.

*CCP/ECCP*
Η μία CCP θύρα του 44pin είναι *enhanced*. Αυτό πρακτικά σημαίνει περισσότερες δυνατότητες σε PWM εφαρμογές (περισσότερες έξοδοι για half bridge και full bridge, έλεγχος πολικότητας κλπ)

*Ανεξάρτητα pins για programming/debugging*
Προαιρετική λειτουργία του 44pin, όπου έχουμε 3 νέα pins για programming/debugging, αποδεσμεύοντας τα 3 κανονικά. Πιθανόν να χρησιμεύσει σε debugging, πιθανόν και όχι.

*Parallel Slave Port*
Είναι μία επιλογή που την έχει μόνο ο 44pin. Δίνει *8-bit data bus* + σήματα ελέγχου για γρήγορη παράλληλη επικοινωνία με περιφερειακά. Είναι π.χ. ο μόνος εφικτός τρόπος να επικοινωνήσουμε έτσι με αυτή την CMOS κάμερα 1280x1024

*Κόστος*
Η διαφορά κόστους μεταξύ τους είναι περίπου *5%*, σχεδόν αμελητέα.

*Διαθεσιμότητα*
Ίσως ο 28-pin να βρίσκεται ευκολότερα στην Ελλάδα. *Ίσως και όχι*. Από το εξωτερικό είναι το ίδιο.

Προσωπικά, πιστεύω ότι τα ωφέλη που δίνει ο 44pin αξίζουν τον κόπο να τον προτιμήσουμε. Αν όμως πιστεύετε ότι η 0.8mm απόσταση μεταξύ των pins του είναι πολύ μικρή ή ότι η Expansion ακιδοσειρά θα μεγαλώσει πολύ για να βολεύει (από 25 pins θα πάει στα 36), τότε μπορούμε να παραμείνουμε στον σχετικά ασφαλή 28pin.

----------


## ALAMAN

Κι εγώ θα έλεγα με περισσότερα πιν.
Θα μπορεί να προσφέρει περισσότερες λειτουργίες!

----------


## lastid

Σας παρουσιάζω την V 1.1 με τις εξής προσθήκες/βελτιώσεις :
- PIC18F4553 44-pin
- Ακιδοσειρά 39-pin για expansion. 30 pins για γενικό Ι/Ο, 8 για ειδικές χρήσεις και ένα δεν χρησιμοποιείται.
- Δύο ακιδοσειρές των 4 pin για Ι2C περιφερειακά (π.χ. πληκτρολόγιο,οθόνη,RF,Ethernet)
- Ακιδοσειρά 6-pin για ICSP  (σπασμένη σε δύο μέρη των 2 και 4 pins λόγω τοπολογίας)
- Δυνατότητα για κρύσταλλο κανονικό ή SMD
- Πλακέτα μονής όψης, 30 mm x 100 mm (Yes!!)
- Απομόνωση της USB με jumpers σε 4x2 ακιδοσειρά. Αντί για jumpers μπορούμε να βάλουμε πλακέτα για πειραματισμούς και extras στην τροφοδοσία  (π.χ. σταθεροποιητής, προστασία, μπαταρία, κλπ)
- Jumper για Reset, με σκοπό να ξαναφορτώνεται το "λειτουργικό σύστημα"
- Παρουσία του clock OSC2 στην Expansion

Expansion pins (1..39): 
GND,D3..D0,C2..C0,OSC2,GND,VCC,E2..E0,A5..A0,RESET  ,-,B7..B0,VCC,GND,D7..D4,C7,C6,GND
I2C pins (1..4):
GND,VCC,SDA,SCL
ICSP pins (1..6):
GND,VCC  και  PGM,PGC,PGD,RESET

Περιμένω υποδείξεις. Κατόπιν, θα προχωρήσω σε κατασκευή πρωτοτύπου και θα ανεβάσω τα αρχεία του project (είναι από Eagle 4.11).
Επί τη ευκαιρία, σκοπεύω να πάρω μερικούς από τους PIC αυτούς μέσω internet. Αν ενδιαφέρεται και κανείς άλλος, ας μου πει.

----------


## lastid

Ίσως αυτά που έγραψα παραπάνω να φάνηκαν ακαταλαβίστικα. Δεν πειράζει, όσο συνεχίζει το project, κάποια πράγματα θα γίνονται πιο εύκολα.
Αύριο θα παραγγείλω τον PIC. Κοστίζει 5,35 Ευρώ. Αν θέλει κανένας άλλος, μπορεί να μου πει. Μέχρι να έρθουν εν τω μεταξύ, θα έχω κάνει και μία πλακέτα για πρωτότυπο.

----------


## ALAMAN

Η τελική λειτουργία αυτής της έκδοσης είναι να συλλέγει δεδομένα στο pc?
Η ακιδοσειρά δεν είναι λίγο μεγάλη για ράστερ?

----------


## lastid

Μία από τις λειτουργίες της είναι να συλλέγει δεδομένα. Δεν σχεδιάστηκε όμως μόνο γι αυτό.

Για το μέγεθος της ακιδοσειράς (39 pins), έχεις εν μέρει δίκιο. Υπάρχουν μικρά ράστερ (29 ή 30 γραμμών) και μεγάλα. Στα μικρά δεν θα χωράει. Επειδή χρησιμοποιώ μεγάλο ράστερ, δεν με προβλημάτισε ιδιαίτερα. 

Γενικά, βλέπω τις εξής λύσεις:
1. Μεγάλη ακιδοσειρά, χωράει μόνο σε μεγάλο ράστερ
2. Μικρή ακιδοσειρά, με ορισμένα pins του PIC να βγαίνουν σε δεύτερη ακιδοσειρά. Από εκεί, αν θέλουμε τα πηγαίνουμε στο ράστερ με καλωδιοταινία.

Η πρώτη λύση μου φάνηκε πιο κομψή. Το μόνο ρίσκο είναι στο να αγοράσουμε ένα μεγαλύτερο ράστερ.
Αν κάποιος έχει να προτείνει τρίτη λύση που δεν μου πέρασε από το μυαλό, ας την πει να την συζητήσουμε.

----------


## dikos

Μου αρέσει πολύ, περιμένω πως και πως να φτιάξω την κατασκευή... :Rolleyes:

----------


## ALAMAN

Ας υλοποιηθεί πρώτα έτσι και μετά βλέπουμε...
Τα software του pc και του pic πότε θα αναπτυχθούν?

----------


## Stergios_[.gr]

Και εγώ μέσα, ψάχνω και για PIC! Eύγε ΔΗΜΗΤΡΗ! (χρόνια πολλά!!!) :Ψώνιο:

----------


## lastid

> Ας υλοποιηθεί πρώτα έτσι και μετά βλέπουμε...
> Τα software του pc και του pic πότε θα αναπτυχθούν?



Αυτές τις μέρες παιδεύομαι με το sotfware για το PC. Προσπαθώ να προσαρμόσω έναν σχετικό driver της Microchip, αλλά είναι άγνωστο πόσο θα μου πάρει.

----------


## ALAMAN

Περιμένουμε σύντομα νέα σου... αλλά καλό θα ήτανε να λες τις κινήσεις σου κυρίως τώρα που αναπτύσονται τα 2 software για να βοηθάει και το forum.
Καλή σου επιτυχία και Χρόνια Πολλά!!!  :Smile: 
Η δουλειά μέχρι τώρα ήταν άψογη!

----------


## lastid

> Περιμένουμε σύντομα νέα σου... αλλά καλό θα ήτανε να λες τις κινήσεις σου κυρίως τώρα που αναπτύσονται τα 2 software για να βοηθάει και το forum.



Έχεις δίκιο. Απλά μαζεύω πληροφορίες πριν να θέσω τις κατάλληλες ερωτήσεις.
Αυτό που έχω κατεβάσει από την Microchip και με βοηθάει πάρα πολύ είναι μία συλλογή από help και προγράμματα που λέγεται Microchip Application Libraries. Κάποιος μπορεί να το κατεβάσει από  εδώ. 
Ένα από τα προγράμματα, το USBConfig tool, αφού μας ρωτήσει λεπτομέρειες όπως το είδος του περιφερειακού που θέλουμε να κατασκευάσουμε και την οικογένεια PIC που θα χρησιμοποιήσουμε, παράγει δύο αρχεία, το usb_config.c και το usb_config.h που περιέχουν όλες τις δομές που θα γραφτούν στον PIC προκειμένου να αναγνωρίζεται σωστά σαν USB περιφερειακό από το PC.
Υπάρχουν επίσης παραδείγματα για PC drivers με C κώδικα.

Κάτι άλλο τώρα σημαντικό:
Είχαμε πει ότι θέλουμε ο PIC να μπορεί να δουλεύει και σε χαμηλότερη τάση λειτουργίας, π.χ. στα 3.3 Volt. Η κανονική έκδοση που δουλεύει μόνο από 4.5 μέχρι 5.5 Volt δεν μας κάνει. H LF έκδοση (δηλαδή ο 18LF4553) δουλεύει από 2 μέχρι 5.5 Volt και είναι αυτή που μας κάνει.
*Όμως* ο 18LF4553 δεν βρίσκεται εύκολα στην αγορά. Αυτός που βρίσκεται είναι ο *18LF4550*. Η μόνη του διαφορά είναι στον A/D. Είναι μόνο 10-bit αντί για 12-bit. Όμως μας αποζημιώνει με διπλάσια ταχύτητα δειγματοληψίας (100k αντί 50k).

----------


## lastid

Αυτή είναι η πρωτότυπη πλακέτα  :Rolleyes:  Κάποιες τρύπες μεγάλωσαν πολύ, λόγω πειραματισμών με τα καινούρια οδοντιατρικά τρυπανάκια μου  :Huh:  Φυσικά, οι νησίδες για τα γεφυρώματα θα πρέπει να μεγαλώσουν...
Είμαι τώρα στο στάδιο της παραγγελίας των υλικών. Παράλληλα επιλέγω για να παραγγείλω και ορισμένα υλικά με τα οποία θα αρχίσω να πειραματίζομαι μόλις γίνει η πλακέτα.

----------


## ALAMAN

Πολύ ωραία πλακέτα!
Οι τρύπες μην σε ανησυχούν εξάλου κατα την κόλληση θα καλυφθούν αυτές οι ατέλειες...
Περιμένουμε να την δούμε και ολοκληρωμένη!  :Biggrin: 
Με τα λογισμικά τί γίνετε?

----------


## lastid

Με τα λογισμικά, προς το παρόν κατέβασα και σκαλίζω τα Microchip Application Libraries για να δώ από αυτά τί μπορεί να χρησιμοποιηθεί και πώς πρέπει να αλλαχθεί .
Θα κάνω ένα ολιγοήμερο διάλειμμα λόγω υποχρεώσεων και μετά θα ανεβάσω ότι υλικό έχω διαθέσιμο από λογισμικό.

----------


## Thanos10

Μπραβο Δημητρη φοβερο project.
Το μονο δυσκολο θα ειναι τα υλικα smd για οσους δεν εχουν κολλησει ξανα.

----------


## lastid

> Το μονο δυσκολο θα ειναι τα υλικα smd για οσους δεν εχουν κολλησει ξανα.



Όπως όλοι σχεδόν, έτσι κι εγώ ξεκίνησα με  through hole αντί για SMD. Και  θυμάμαι ότι δίσταζα για αρκετό καιρό πριν ασχοληθώ με τα SMD. Τώρα? Μην με ρωτήσετε τί προτιμώ, εννοείται τα SMD!
Πάντως, αφού δέκα από εμάς (που λέει ο λόγος) μπορούν και τα κολλάνε με το παλιό καλό τους κολλητήρι, γιατί να μην μπορούν και οι υπόλοιποι πενήντα? Συν το ότι μερικές φορές μου φαίνονται πιο εύκολα, συν το ότι γλυτώνω το επίπονο τρύπημα, συν πολλά ακόμη.

Να επανέρθω στο λογισμικό:
Πριν την συγγραφή του software, πρέπει να καθορίσουμε πρώτα τί θα κάνει αυτό το software.
Ξεκινώντας από τα βασικά, το σκεπτικό είναι ότι πρέπει να γραφτούν 3 πράγματα:
*A) Μία εφαρμογή στα Windows (ή και σε Linux, Mac, κλπ)*
- Θα δίνει τη δυνατότητα εύκολης χρήσης του PIC (Π.χ. αναλογικό σε ψηφιακό, είσοδοι, έξοδοι, κλπ).
- Θα επιτρέπει να ανεβάσουμε και να τρέξουμε στο αναπτυξιακό (σαν υποπρόγραμμα) κάποιο δικό μας προγραμματάκι.
- Θα έχει προεκτάσεις ανάλογα με τα περιφερειακά του αναπτυξιακού, π.χ. σαν παλμογράφο, λογικό αναλυτή, PIC programmer, κλπ.
*Β) Ενας Windows driver*
- Θα ασχολείται με την low level επικοινωνία μέσω της USB
*Γ) Ενα πρόγραμμα για τον PIC*
- Θα παίζει το ρόλο του "λειτουργικού συστήματος" του αναπτυξιακού
- Θα εξυπηρετεί την εφαρμογή στα Windows μέσω ενός όμορφα και καλά ορισμένου πρωτοκόλλου εντολών

Όσον αφορά το θέμα του *Windows driver*, υπάρχουν γενικά δύο επιλογές: Είτε να προσομοιωθεί στον PIC κάτι γνωστό και ευέλικτο, π.χ. μία σειριακή θύρα, είτε να γραφτεί κάτι εξειδικευμένο.
Το βασικό πλεονέκτημα της πρώτης περίπτωσης (έτοιμος driver), είναι ότι γλυτώνουμε κόπο και χρόνο που θα απαιτούνταν για την συγγραφή του δικού μας driver.
Το βασικό πλεονέκτημα της δεύτερης περίπτωσης (δικός μας driver) είναι ότι μπορούμε να σπρώξουμε την USB περισσότερο στα άκρα (π.χ. μεγαλύτερες ταχύτητες, λιγότεροι περιορισμοί).
*Τί πιστεύετε ότι είναι καλύτερο??? Έτοιμος (π.χ. virtual COM port) driver ή να κάνουμε τον δικό μας ?*

Όσον αφορά το θέμα του *πρωτοκόλλου επικοινωνίας* μεταξύ PC και αναπτυξιακού, θα πρέπει να ορίσουμε μία σειρά από εντολές που θα υλοποιούν όλα τα χαρακτηριστικά που θέλουμε να προσθέσουμε.
Πχ, μερικά παραδείγματα αυτών που θέλουμε να κάνουμε με τη βοήθεια του πρωτοκόλλου αυτού:
- Κάνε την Α2 έξοδο, την Α1 είσοδο και την Α0 αναλογική είσοδο.
- Στείλε 1 στην Α2
- Διάβασε την Α1
- Διάβασε την αναλογική Α0
- Στείλε αυτήν την παλμοσειρά στην Α2 με αυτό το ρυθμό, τόσες φορές ή μέχρι να σου πώ stop
- Διάβαζε την Α0 συνεχώς με αυτό τον ρυθμό και δίνε μου τις τιμές της μέχρι να σου πω stop
- Πες μου τί έχει η θέση μνήμης Χ
- Γράψε το byte Υ στη θέση μνήμης X
- Ξεκίνα αυτόν τον timer και κάνε κάτι όταν τελειώσει
- Φόρτωσε αυτό το υποπρόγραμμα
... και άλλα πολλά.
Θα ήθελα τώρα να σκεφτούμε καλά και με την ησυχία μας και να *προτείνουμε τις εντολές αυτές* που θέλουμε να υλοποιήσουμε, προκειμένου να σχεδιάσουμε το πρωτόκολλο  :Rolleyes: 
*Ποιες εντολές να έχει το πρωτόκολλο??*

----------


## Thanos10

Δημητρη καλυτερα ειναι ετοιμος driver και μπορεις να κανεις καποιες ρυθμισεις ειναι λιγο χρονοβορο να φιαξεις προγραμμα και λιγο δυσκολο.
Παντος τα smd μου αρεσουν εχω ολη την σειρα απο πυκνωτες και αντιστασεις.
Οσο για τις εντολες θελει λιγο σκεψη.

----------


## Stergios_[.gr]

Εμένα θα με ενδιέφερε πολύ HID  (Human Interface Device) μέσω USB.. Joystick, πληκτρολόγια, ποντίκια. Να κτυπήσουμε και τον ανταγωνισμό  :Wink:  ..

----------


## ΓΕΡΟΝΤΑΣ

Το RV 3 είναι "εικονικό" επειδή το πρόγραμμα της προσομ. δεν βλαιπει τον πικ σαν φορτίο.
Δείτε το σε φλας.

----------


## ΓΕΡΟΝΤΑΣ

> Το RV 3 είναι "εικονικό" επειδή το πρόγραμμα της προσομ. δεν βλαιπει τον πικ σαν φορτίο.
> Δείτε το σε φλας.



  Είναι δοκιμασμένο και δουλεύει , για τις εντολές τώρα χρειάζεται σκέψη.
Πάντως είμαι μέσα και σκέφτομαι ...  :Brick wall:  :Brick wall:  :Σκέψη:

----------


## lastid

Το παραπάνω κύκλωμα του Γιώργου δίνει μπαταρία με εύκολο τρόπο. Η μπαταρία δεν επαναφορτίζεται πάνω στο κύκλωμα(πού να φορτίσει μέσα από τα 10ΜΩ!), αλλά το κατασκευάζουμε εύκολα.
Ο λόγος που προστέθηκε η 4x2 ακιδοσειρά στην τροφοδοσία, είναι ακριβώς για να κάνουμε τέτοιους πειραματισμούς. Μπορούμε να σχεδιάσουμε ότι κύκλωμα τροφοδοσίας θελήσουμε και να το δοκιμάσουμε πάνω εκεί.

Το κύκλωμα φόρτισης που σχεδιάζω αυτές τις μέρες, προσπαθώ να έχει τα εξής:
- Χρήση επαναφορτιζόμενης μπαταρίας Li+ (κινητά/laptop/PDA) με ασφαλή και γρήγορη φόρτιση επί του κυκλώματος.
- Προγραμματιζόμενη (μέσω του software) τάση λειτουργίας του PIC από 2V μέχρι 5V, ΑΚΟΜΗ και από την μπαταρία.

Προς το παρόν βέβαια, δεν θα χρησιμοποιήσω μπαταρία. Μου αρκούν 4 jumpers. Προτεραιότητα έχω να το κάνω απλά να δουλέψει...

----------


## ΓΕΡΟΝΤΑΣ

> Το παραπάνω κύκλωμα του Γιώργου δίνει μπαταρία με εύκολο τρόπο. Η μπαταρία δεν επαναφορτίζεται πάνω στο κύκλωμα(πού να φορτίσει μέσα από τα 10ΜΩ!),



 Δημήτρη η μπαταρία φορτίζει απο το 557 με κάπου 50 μΑ(δες το φλας του #67) και είναι για χωρίς ΔΕΗ λειτουργία του μΕ και μόνο.
Τώρα βέβαια αν θέλουμε να δουλεύει όλο το κύκλωμα από την μπαταρία σίγουρα χρειάζεται κάτι σαν κι αυτό που περιγράφεις :Rolleyes:  :Rolleyes:  :Rolleyes:

----------


## lastid

Πολύ ωραία.  Σου είναι εύκολο να φτιάξεις και πλακέτα ή να την σχεδιάσω εγώ?

Αύριο ελπίζω να έχω ανεβάσει σχέδιο περιφερειακού για (tadaaaaaa) 
*PIC programmer* 
και να πώ για software  :Smile: .

----------


## Stergios_[.gr]

Είμαστε μαζί σου, περιμένουμε νέα!

----------


## ΓΕΡΟΝΤΑΣ

> Πολύ ωραία.  Σου είναι εύκολο να φτιάξεις και πλακέτα ή να την σχεδιάσω εγώ?



Μπορώ να φτιάξω τη πλακέτα αν έχω το σχέδιο  :Thumbup1:

----------


## QED

Χρήσιμο για το project.
Κάτι σαν arduino με pic - pinguino
http://www.hackinglab.org/

----------


## lastid

QED, ωραίο το Pinguino. Μου υπενθύμισε επίσης ότι δεν έχω βάλει αντιστάσεις 470 Ω στα Ι/Ο pins.
gger, συγνώμη αν ήμουν ασαφής. Ρωτούσα αν μπορείς να σχεδιάσεις το PCB.

----------


## lastid

Ιδού και ο Programmer:
- Βασισμένος στον Open programmer
- Βάση για 8,14,18,20,28 και 40 Pin PIC
- ICSP connector
- Μέγεθος πλακέτας 100x30 mm (ίδιο με του αναπτυξιακού  :Smile:  )

Μπορεί να λειτουργήσει αρχικά και με το software του Open Programmer, *εφόσον* προηγουμένως κάποιος (εγώ ή άλλος) κάνει μία μετατροπή στο software, διότι χρησιμοποιούνται κάποια άλλα pins.

Θα ανεβάσω σύντομα και τα project files.

Επίσης, πρόκειται να παραγγείλω και εξαρτήματα, τόσο για το αναπτυξιακό όσο και για τον programmer. Σκεφτόμουν, θεωρείτε καλή ιδέα, προκειμένου να προχωρήσουμε σε ομαδική παραγγελία κάποιων εξαρτημάτων, να έκανα ένα Excel στο Google Docs για να συγχρονιστούμε από εκεί στις (αρκετές) λεπτομέρειες? 
Όποιος δεν γνωρίζει, ας ψάξει στο Google για Google Docs για να καταλάβει τί λέω. 
Σκοπεύω να ανεβάσω αύριο ένα spreadsheet εκεί (και να σας πώ πώς να το δείτε), για να καταλάβετε καλύτερα τη σκέψη μου.

----------


## lastid

Τελικά ήταν πιο εύκολο από όσο περίμενα.
Ιδού και το link για το spreadsheet για όσους θέλουν να τους παραγγείλω εξαρτήματα, να τους αποχαλκώσω την πλακέτα ή ακόμη και να τους κολλήσω εξαρτήματα.
*ΠΡΟΣΟΧΗ: TO SHEET είναι δοκιμαστικό! Οι τιμές είναι στο περίπου για ενδεικτική αξία αλλά όχι οι σωστές. Το έκανα για δοκιμή μόνο!*

----------


## ΓΕΡΟΝΤΑΣ

> gger, συγνώμη αν ήμουν ασαφής. Ρωτούσα αν μπορείς να σχεδιάσεις το PCB.



Αυτό ... αν χρειαστεί

----------


## Stergios_[.gr]

LastID, μήπως θα μπορούσες να φτιάξεις λίγο τον τύπο του SHEET ο οποίος υπολογίζει το κόστος? έχω συμπληρώσει αυτά τα οποία θα χρειαστώ εγώ..

----------


## lastid

Μετά από αρκετές καθυστερήσεις και κάθε στερήσεις  :Smile: , σας παρουσιάζω και επίσημα *την πρώτη έκδοση του αναπτυξιακού*. Περιλαμβάνει την κύρια πλακέτα (v1.1), καθώς και μία επέκταση που την κάνει PIC programmer (v1.0).

Επιπλέον, έχω αναρτήσει στο Internet ένα *spreadsheet ομαδικής παραγγελίας*, όπου ο καθένας που θέλει να πάρει μέρος στην ομαδική παραγγελία υλικών και πλακέτας, θα μπορεί να συμπληρώσει αυτά που θέλει *μέχρι και την Κυριακή 15 Νοεμβρίου*. 
_Για Στέργιο:_ Στέργιο, μια που στο spreadsheet έγιναν σοβαρές αλλαγές, αν θέλεις κάνε έναν κόπο και ξανακοίταξέ το.
Εφόσον λοιπόν η παραγγελία θα έχει οριστικοποιηθεί, θα ανακοινώσω έναν *αριθμό λογαριασμού* για να προχωρήσει η αγορά των υλικών.
Όσοι θέλουν, μπορούν μέσω του spreadsheet να μου ζητήσουν και *πλακέτα*, σκέτη ή και με τα εξαρτήματα κολλημένα.
Μπορούν τέλος να ζητήσουν και *ταχυδρομική αποστολή* , αφού μου στείλουν με pm την ταχυδρομική τους διεύθυνση.
Άιντε! Να δώ τί άλλο θα μου ζητήξετε!

Αν και τις πλακέτες τις έχω παρουσιάσει στα προηγούμενα posts, παραθέτω συνοπτικά εδώ τα χαρακτηριστικά τους:

*PICASUS v1.1*
- Πλακέτα μονής όψης SMD 3cm x 10cm
- USB σύνδεση με PC
- Ακιδοσειρά 39 pins για επέκτασή της με περιφερειακά ή για να κουμπώσει απευθείας σε ράστερ κανονικού μεγέθους. Παρέχει 34 γραμμές Ι/Ο, καθώς και τροφοδοσία.
- Δύο ακιδοσειρές των 4 pin για Ι2C περιφερειακά (π.χ. πληκτρολόγιο,οθόνη,RF,Ethernet) τα οποία θα σχεδιαστούν προσεχώς.
- Ακιδοσειρά 4x2 pins για απομονώνουμε την USB και να κουμπώνουμε εκεί πλακέτα διαχείρισης τροφοδοσίας, η οποία θα σχεδιαστεί προσεχώς, παρέχοντας μπαταρία, μεταβλητή τροφοδοσία 2-5V και προστασία.
- Ακιδοσειρά 6-pin για προγραμματισμό της πλακέτας μέσω ICSP.
- PIC18LF4550 SMD με λειτουργία στα 24MHz...32KΗz (ή και 48ΜHz με προυποθέσεις). Συχνότητα ελεγχόμενη από το software.
- Κρύσταλλος 12MHz, κανονικός ή SMD.
- Reset jumper
- Προσεχώς λογισμικό για χρήση από το PC, το οποίο θα έχει διάφορα επίπεδα ευκολίας και γνώσεων από αρχάριος μέχρι έμπειρος και με λειτουργίες όπως "Παίζω με το ράστερ μου", "Διαβάζω τους αισθητήρες μου", "Φορτώνω το πρόγραμμά μου" κλπ.

*PIC programmer v1.0*
- Πλακέτα μονής όψης SMD 3cm x10 cm
- Βάση ZIF 40 pins, στην οποία προγραμματίζονται 8,12,14,18,20,28 και 40 pins μικροελεγκτές.
- Προγραμματίζει και κατ' οίκον με ICSP καλώδιο
- 99% συμβατός με το λογισμικό του open programmer.

Ελπίζω να σας έδωσα αρκετή πνευματική τροφή. Καλή όρεξη!  :Hammer:

----------


## Stergios_[.gr]

Συμπλήρωσα το spreadsheet! Έχω προγραμματιστή (PicKit2), οπότε δεν θα χρειαστώ. Ανυπομονώ να το έχω στα χέρια μοΥ!
Ευχαριστούμε LastID!

----------


## lastid

Ιδού και το δεύτερο περιφερειακό: Servomaster!
Τί κάνει? 
Ελέγχει μέχρι 30 servos και αισθητήρες.Κουμπώνει στην Expansion του PICASUS και βγάζει 30 headers των 3 pin. Κάθε header μπορεί να οδηγήσει ένα servo ή να διαβάσει έναν αισθητήρα θέσης. Η επιλογή του τύπου γίνεται από το software.Επειδή τα servos μπορούν να ζητήσουν αρκετό ρεύμα (ανάλογα πόσα θα συνδέσετε και αν θα δουλεύουν ταυτόχρονα), δέχεται εξωτερική τροφοδοσία. Η κατασκευή περιλαμβάνει σταθεροποιητή 5V (7805).Επιτρέπει επιλογή τροφοδοσίας μέσω jumpers από: Θύρα USB, εξωτερική τροφοδοσία (πριν το 7805), σταθεροποιημένη τροφοδοσία (μετά το 7805).
Μαζί με τα σχέδια του Servomaster, ανεβάζω ξανά τα σχέδια του PICASUS και του programmer με μικροδιορθώσεις.

----------


## klik

> Ελέγχει μέχρι 30 servos και αισθητήρες.



 λέτε να μη φτάσουν;  :Tongue Smilie: 
Το συμαντικό πλεονέκτημα ενός αναπτυξιακού, είναι οι επεκτάσεις του... μπράβο Δημήτρη

----------


## Stergios_[.gr]

> Ιδού και το δεύτερο περιφερειακό: Servomaster!
> Τί κάνει? 
> Ελέγχει μέχρι 30 servos και αισθητήρες.Κουμπώνει στην Expansion του PICASUS και βγάζει 30 headers των 3 pin. Κάθε header μπορεί να οδηγήσει ένα servo ή να διαβάσει έναν αισθητήρα θέσης. Η επιλογή του τύπου γίνεται από το software.Επειδή τα servos μπορούν να ζητήσουν αρκετό ρεύμα (ανάλογα πόσα θα συνδέσετε και αν θα δουλεύουν ταυτόχρονα), δέχεται εξωτερική τροφοδοσία. Η κατασκευή περιλαμβάνει σταθεροποιητή 5V (7805).Επιτρέπει επιλογή τροφοδοσίας μέσω jumpers από: Θύρα USB, εξωτερική τροφοδοσία (πριν το 7805), σταθεροποιημένη τροφοδοσία (μετά το 7805).
> Μαζί με τα σχέδια του Servomaster, ανεβάζω ξανά τα σχέδια του PICASUS και του programmer με μικροδιορθώσεις.



 :W00t:   :Drool:   :W00t:   :Drool:   :W00t:  

ΑΠΙΣΤΕΥΤΑ ΕΞΥΠΝΟ! Μπράβο ρε Δημήτρη, ήρωας! ΑΝυπομονώ! Τι έγινε με το spreadsheet? Πότε θα μπορεέσουμε να σου στείλουμε τα λεφτά?

----------


## lastid

Μην ανησυχείς, πρώτα θα κάνω την παραγγελία και μετά θα σας πώ. Ο λόγος είναι απλός: Προσπαθώ να κάνω κάποιες τιμές να πέσουν  :Brick wall:  και δεν θα ήθελα να μου στείλει κανένας παραπάνω χρήματα.

----------


## ALAMAN

Για να καταλάβω ο παραπάνω pic programmer είναι μία επέκταση του περιφερειακού που συνδέεται μαζί του μέσω του ράστερ?
Ποιούς pic υποστηρίζει?

----------


## lastid

Δεν χρειάζεται ράστερ για τον programmer. Ο programmer προσαρμόζεται πάνω στον PICASUS κατευθείαν.
Θεωρητικά, υποστηρίζονται οι εξής PIC

----------


## HFProject

Δεν έχω παρακολουθήσει το θέμα από την αρχή... αλλά... ένα μεγάλο μπράβο.

Το όνομα ποιος το σκέφτηκε;

Πολύ καλή επιλογή.

----------


## dbsjro

όλα ο lastid
του αξιζουν πολλα μπραβο οχι μονο ενα
Τον εχεις δοκιμασει με AVR και δουλευει?

----------


## lastid

Σας ευχαριστώ για τα σχόλια...
Όχι, με AVR δεν τον έχω δοκιμάσει, ούτε και με PIC ακόμη. Τους 18F4550 δεν τους έχω ακόμη στα χέρια μου. 
Για τους AVR, καλό θα ήταν κάποιος από μας που τους δουλεύει, να τσεκάρει αν χρειάζεται κάτι ακόμη από πλευράς hardware στον Programmer.
Το όνομα το έβγαλα προσωρινά και δεν ήμουν σίγουρος αν ήταν καλό, ακούω όμως συνέχεια θετικά σχόλια, οπότε ουδέν μονιμότερον.

----------


## lastid

Προχτές παρήγγειλα τους PIC (και άλλα υλικά). Μέσα στην επόμενη εβδομάδα λογικά θα τους έχω στα χέρια μου.

----------


## billtech

απο που παραγγελνεις φιλε μου?

----------


## lastid

Mouser και Sparkfun για τα "δύσκολα" υλικά. Τα υπόλοιπα από την τοπική αγορά της Μακεδονίας.

----------


## billtech

και απο μεταφορικα?
εγω ως τωρα futurlec πηρα.

----------


## lastid

Νόμιζα ότι εννοούσες γι αυτήν την παραγγελία και όχι γενικά. 
Γενικά έχω αγοράσει και από Futurlec, Microchip, Farnell, Bgmicro, Ebay, καθώς και από  άλλες που δεν θυμάμαι τώρα.
Τα μεταφορικά... παίζουν. Στην παραγγελία που έκανα τώρα από Mouser ας πούμε, επειδή ήταν πάνω από 75 Ευρώ, δεν χρεώθηκα μεταφορικά.

----------


## babisko

> Νόμιζα ότι εννοούσες γι αυτήν την παραγγελία και όχι γενικά. 
> Γενικά έχω αγοράσει και από Futurlec, Microchip, Farnell, Bgmicro, Ebay, καθώς και από  άλλες που δεν θυμάμαι τώρα.
> Τα μεταφορικά... παίζουν. Στην παραγγελία που έκανα τώρα από Mouser ας πούμε, επειδή ήταν πάνω από 75 Ευρώ, δεν χρεώθηκα μεταφορικά.



Και με το τελωνείο τι γίνεται;

----------


## lastid

Αν εννοείς για αγορές γενικά, έχει συζητηθεί αρκετά.
Αν εννοείς για τη Mouser και για την αγορά που είναι > 75 Ευρώ, έχει συζητηθεί εδώ.

----------


## billtech

Δημητρη τελικα παμε να σου φαμε το θεμα.συγμνωμη.
εγω το ξεκινησα και ρωτουσα ασχετα.

----------


## lastid

Update:
Η παραγγελία με τους PIC και τα περισσότερα υλικά έχει έρθει και με περιμένει στα γραφεία της μεταφορικής. Δεν αξιώθηκα να την πάρω ακόμη γιατί εδώ και πολλές μέρες είμαι εκτός Θεσσαλονίκης για δουλειά. Οι συμμετέχοντες θα ενημερωθούν εγκαίρως.

----------


## lastid

Νά'μαι και πάλι!
Λόγω σοβαρών προβλημάτων είχα αναγκαστεί να διακόψω εντελώς τη δουλειά μου πάνω στο project τους τελευταίους μήνες. Ζητάω συγνώμη από κάποιους που το περίμεναν να φτάσει τουλάχιστο σε σημείο ώστε να αρχίζουν να παίζουν με αυτό. Θα προσπαθήσω να συνεχίσω με όσο χρόνο διαθέτω.
Ευτυχώς έχω πολύ καλά νέα: 
- Το πρωτότυπο που έκανα φαίνεται να συμπεριφέρεται άψογα στις δοκιμές που του έκανα ως τώρα. Άρα δεν απαιτείται επανασχεδίαση για κάτι σοβαρό. Βέβαια, δεν το έχω δοκιμάσει πλήρως (π.χ. στα 3.3V).
- Η επικοινωνία με το PC μέσω της USB είναι άψογη και αυτή. Επέλεξα τελικά τη λύση της εικονικής σειριακής. Στα 115200 baud, με απλές σχετικά ρουτίνες για init,send,receive στην CCS C και με τη χρήση οποιοδήποτε τερματικού προγράμματος (π.χ. hyperterminal) στο PC, δούλεψε απροβλημάτιστα.

Στο software τώρα.....

- Για τον PIC, έκανα ένα πρόγραμμα το οποίο απλά δέχεται text εντολές από τη σειριακή, προκειμένου να διαβάσει ή να γράψει bits ή bytes στη μνήμη. Δεδομένου ότι όλοι οι καταχωρητές ελέγχου είναι στη μνήμη, μπορώ να πειράξω οτιδήποτε και να το μελετήσω πλέον από το PC.

- Για το PC έκανα ένα προγραμματάκι το οποίο επικοινωνεί με τον PIC και μου επιτρέπει να διαβάζω και να γράφω οποιαδήποτε θέση μνήμης (ή I/O pin) θέλω. 
Το προγραμματάκι αυτό έχει γραφικό interface και μου επιτρέπει να ορίζω προς το παρόν μεταβλητές (vars) τύπου bit,byte, bit array, byte array, word κλπ. τις οποίες βλέπω σαν binary, hex, decimal κλπ.
Έχει σε δενδροειδή -editable- μορφή τους ειδικούς καταχωρητές του PIC ώστε να μην ψάχνω κάθε φορά να βρώ πού στο καλό είναι ο καθένας. Έτσι, αν θέλω να παρακολουθήσω π.χ. την PORT B, επιλέγω την διεύθυνσή της ως εξής:  -> I/O -> Ports -> PORTB. Έτσι, δεν χρειάζεται να  ανατρέχω στην βιβλιογραφία για να βρίσκω ότι η PORTB είναι π.χ. στην διεύθυνση 0F81 στον συγκεκριμένο PIC.

Το πρόγραμμα αυτό το αναπτύσσω τώρα. Περιμένω ιδέες σας! Μερικά screenshots:

----------


## Mihos

Μπράβο Δημήτρη! Έχεις κάνει καταπληκτική δουλειά! Τον τελευταίο καιρό δεν επισκέπτομαι συχνά το forum και τώρα είδα το πόση δουλειά έχει γίνει με αυτό το project. Σε τι πλατφόρμα αναπτύσεις το software; Java; .net;

----------


## lastid

Ευχαριστώ.. Σε Delphi.

----------


## sv4lqcnik

συγνωμη για το oftipic θα μου πειτε περσινα ξυνα σταφιλα ,ενα χρονο μετα το θυμηθηκες;;
αλλα με αυτο το καλο θεμα του lastid  τι εγινε περπατησε καθολου, το ολοκληροσε κανενας η εμεινε στα χαρτια αυτο το ωραιο και βολικο αναπτυξιακο;;

----------

