Πίνακας περιεχομένων:

Προγραμματιστής AVR W/Υψηλή Τάση: 17 Βήματα
Προγραμματιστής AVR W/Υψηλή Τάση: 17 Βήματα

Βίντεο: Προγραμματιστής AVR W/Υψηλή Τάση: 17 Βήματα

Βίντεο: Προγραμματιστής AVR W/Υψηλή Τάση: 17 Βήματα
Βίντεο: 220v AC από 12v 90 Amps Εναλλάκτης αυτοκινήτου 1000W DIY 2024, Νοέμβριος
Anonim
Προγραμματιστής AVR W/High Voltage
Προγραμματιστής AVR W/High Voltage
Προγραμματιστής AVR W/High Voltage
Προγραμματιστής AVR W/High Voltage

Αυτό είναι το πρώτο μου εκπαιδευτικό. Ο πίνακας που σχεδίασα είναι προγραμματιστής AVR. Ο πίνακας συνδυάζει τις λειτουργίες 4 ξεχωριστών πρωτοτύπων σανίδων που έχω κατασκευάσει τα τελευταία χρόνια:

- Προγραμματιστής AVR υψηλής τάσης, που χρησιμοποιείται κυρίως σε συσκευές ATtiny για τη ρύθμιση ασφαλειών όταν χρησιμοποιείται η γραμμή επαναφοράς για I/O.

- Arduino ως ISP, 5V και 3v3 (υπολογίζεται ως δύο από τις λειτουργίες)

- Προγραμματιστής NOR Flash EEPROM (γρήγορα αντιγράφει από κάρτα SD σε NOR Flash)

Ο πίνακας χρησιμοποιεί κοινούς ρυθμιστές τάσης AMS1117 LDO για να πάρει 5V και 3v3. Η λειτουργία υψηλής τάσης απαιτεί 12V. Για αυτό χρησιμοποίησα έναν μετατροπέα επιτάχυνσης MT3608 DC-DC. Το mcu λειτουργεί στα 16MHz, 5V. Η αλλαγή επιπέδου για οτιδήποτε απαιτεί 3v3 επιτυγχάνεται χρησιμοποιώντας ένα LVC125A. Το LVC125A είναι αυτό που βρίσκετε σε πολλές μονάδες κάρτας SD. Το mcu είναι ATmega328pb. Το ATMega328pb είναι σχεδόν το ίδιο με το πιο συνηθισμένο ATMega328p, εκτός από το ότι έχει 4 ακόμη ακίδες εισόδου/εξόδου στο ίδιο πακέτο μεγέθους.

Αυτός ο πίνακας είναι έκδοση 1.5. Νέες δυνατότητες σε αυτήν την τελευταία έκδοση:- σειριακή διεπαφή usb.- ασφάλειες με δυνατότητα επαναφοράς.- Ενδεικτικές λυχνίες LED κάτω από τα κουμπιά επιλογής λειτουργίας.- διακόπτης ελέγχου σειριακής επαναφοράς αποσυνδέοντας το DTR από το σειριακό τσιπ USB. - ένα MOSFET για να απομακρύνει πλήρως την ισχύ από το DC-DC 12V όταν δεν χρησιμοποιείται.

Ο πίνακας έχει την επιλογή να προσθέσει ένα σειριακό EEPROM AT24Cxxx I2C και υπάρχει μια υποδοχή 5 ακίδων I2C JST-XH-05 (GND/5V/SCL/SDA/INT1) για σύνδεση συσκευών I2C.

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

Η μέθοδος που επέλεξα ήταν να γράψω μια εφαρμογή με το όνομα AVRMultiSketch που λειτουργεί με το Arduino IDE για να φορτώσει τα σκίτσα σε flash αλλάζοντας τις θέσεις μνήμης τους. Οι πηγές σκίτσων δεν τροποποιούνται με κανέναν τρόπο. Τρέχουν στον πίνακα σαν να είναι το μόνο σκίτσο. Πώς λειτουργεί αυτό περιγράφεται λεπτομερώς στο openme GitHub readme για AVRMultiSketch. Ανατρέξτε στη διεύθυνση https://github.com/JonMackey/AVRMultiSketch για περισσότερες λεπτομέρειες. Αυτό το αποθετήριο περιέχει επίσης τα σκίτσα που χρησιμοποίησα/έγραψα/τροποποίησα, τα οποία μπορούν να χρησιμοποιηθούν μεμονωμένα.

Για εναλλαγή μεταξύ σκίτσων, ο πίνακας έχει τέσσερα κουμπιά: Επαναφορά και κουμπιά με ετικέτα 0, 1, 2. Κατά την ενεργοποίηση ή την επαναφορά, εάν δεν κάνετε τίποτα, εκτελείται η τελευταία επιλεγμένη λειτουργία. Εάν κρατήσετε πατημένο ένα από τα αριθμημένα κουμπιά, επιλέγετε ένα σκίτσο/λειτουργία. Το σκίτσο γίνεται το επιλεγμένο σκίτσο. Οι λευκές λυχνίες LED κάτω από κάθε κουμπί λειτουργίας ανάβουν για να αντικατοπτρίζουν την τρέχουσα επιλογή.

Προς το παρόν ο πίνακας φιλοξενεί μόνο 3 σκίτσα, αλλά θα μπορούσε να φιλοξενήσει μερικά ακόμη. Σε αυτή την περίπτωση, υποθέτοντας μόνο 3 bit/αριθμημένα κουμπιά, θα μπορούσε να φιλοξενήσει έως και 7 κρατώντας πατημένα περισσότερα από ένα κουμπιά.

Το σχήμα περικλείεται στο επόμενο βήμα

Μια ελάχιστη βάση στήριξης είναι διαθέσιμη στο thingiverse. Δείτε

Ο πίνακας για την έκδοση 1.5 μοιράζεται στο PCBWay. Δείτε

Επικοινωνήστε μαζί μου εάν θέλετε μια συναρμολογημένη και δοκιμασμένη σανίδα.

Βήμα 1: Οδηγίες για τη Συναρμολόγηση του Διοικητικού Συμβουλίου

Οδηγίες Συναρμολόγησης του Διοικητικού Συμβουλίου
Οδηγίες Συναρμολόγησης του Διοικητικού Συμβουλίου

Ακολουθούν οδηγίες για τη συναρμολόγηση της σανίδας (ή σχεδόν κάθε μικρού πίνακα).

Εάν γνωρίζετε ήδη πώς να δημιουργήσετε έναν πίνακα SMD, μεταβείτε στο βήμα 13.

Βήμα 2: Συγκεντρώστε μέρη

Συγκεντρώστε ανταλλακτικά
Συγκεντρώστε ανταλλακτικά
Συγκεντρώστε ανταλλακτικά
Συγκεντρώστε ανταλλακτικά

Ξεκινώ χτυπώντας ένα κομμάτι χαρτί στο τραπέζι εργασίας με ετικέτες για όλα τα πολύ μικρά μέρη (αντιστάσεις, πυκνωτές, LED). Αποφύγετε την τοποθέτηση πυκνωτών και λυχνιών LED το ένα δίπλα στο άλλο. Εάν αναμειχθούν, μπορεί να είναι δύσκολο να τους ξεχωρίσουμε.

Στη συνέχεια συμπληρώνω το χαρτί με αυτά τα μέρη. Γύρω από την άκρη προσθέτω τα άλλα, εύκολα αναγνωρίσιμα μέρη.

(Σημειώστε ότι χρησιμοποιώ το ίδιο κομμάτι χαρτί για άλλους πίνακες που έχω σχεδιάσει, οπότε μόνο μερικές από τις τοποθεσίες στη φωτογραφία έχουν τμήματα δίπλα/στις ετικέτες)

Βήμα 3: Τοποθετήστε τον πίνακα

Τοποθετήστε τον πίνακα
Τοποθετήστε τον πίνακα
Τοποθετήστε τον πίνακα
Τοποθετήστε τον πίνακα

Χρησιμοποιώντας ένα μικρό κομμάτι ξύλου ως μπλοκ τοποθέτησης, σφίγγω την πλακέτα PCB ανάμεσα σε δύο κομμάτια πρωτότυπης σανίδας παλιοσίδερα. Οι πρωτότυπες σανίδες συγκρατούνται στο μπλοκ στερέωσης με ταινία διπλής ράβδου (δεν υπάρχει ταινία στο ίδιο το PCB). Μου αρέσει να χρησιμοποιώ ξύλο για το μπλοκ στερέωσης επειδή είναι φυσικά μη αγώγιμο/αντιστατικό. Επίσης, είναι εύκολο να το μετακινήσετε όπως απαιτείται κατά την τοποθέτηση εξαρτημάτων.

Βήμα 4: Εφαρμόστε το Solder Paste

Εφαρμόστε επικόλληση συγκολλήσεων
Εφαρμόστε επικόλληση συγκολλήσεων
Εφαρμογή επικόλλησης συγκολλήσεων
Εφαρμογή επικόλλησης συγκολλήσεων

Εφαρμόστε κόλλα συγκόλλησης στα μαξιλάρια SMD, αφήνοντας γυαλιά οποιαδήποτε τακάκια από τρύπες. Όντας δεξιόχειρας, γενικά δουλεύω από πάνω αριστερά προς τα κάτω δεξιά για να ελαχιστοποιήσω τις πιθανότητες να αλείψω την πάστα συγκόλλησης που έχω ήδη εφαρμόσει. Εάν αλείφετε την πάστα, χρησιμοποιήστε ένα μαντηλάκι χωρίς χνούδι, όπως αυτά για την αφαίρεση του μακιγιάζ. Αποφύγετε τη χρήση χαρτιού/χαρτιού Kleenex. Ο έλεγχος της ποσότητας πάστας που εφαρμόζεται σε κάθε μαξιλάρι είναι κάτι που μπορείτε να κολλήσετε μέσω δοκιμής και σφάλματος. Απλά θέλετε ένα μικροσκοπικό σφουγγάρι σε κάθε μαξιλάρι. Το μέγεθος του ταμπλό είναι σχετικό με το μέγεθος και το σχήμα του μαξιλαριού (κάλυψη περίπου 50-80%). Σε περίπτωση αμφιβολίας, χρησιμοποιήστε λιγότερο. Για καρφίτσες που βρίσκονται κοντά μεταξύ τους, όπως το πακέτο LVC125A TSSOP που ανέφερα νωρίτερα, εφαρμόζετε μια πολύ λεπτή λωρίδα σε όλα τα μαξιλάρια αντί να προσπαθείτε να εφαρμόσετε ξεχωριστό ταμπλό σε καθένα από αυτά τα πολύ στενά μαξιλάρια. Όταν λιώσει η συγκόλληση, η μάσκα συγκόλλησης θα προκαλέσει τη μετάβαση της συγκόλλησης στο τακάκι, όπως το πώς το νερό δεν θα κολλήσει σε μια λιπαρή επιφάνεια. Η συγκόλληση θα χτυπήσει ή θα μετακινηθεί σε μια περιοχή με εκτεθειμένο μαξιλάρι.

Χρησιμοποιώ κόλλα συγκόλλησης χαμηλού σημείου τήξης (137C Melting Point) Η δεύτερη φωτογραφία είναι ο πίνακας v1.3 και ο τύπος πάστας συγκόλλησης που χρησιμοποιώ.

Βήμα 5: Τοποθετήστε τα εξαρτήματα SMD

Τοποθετήστε τα εξαρτήματα SMD
Τοποθετήστε τα εξαρτήματα SMD

Τοποθετήστε τα μέρη SMD. Το κάνω από πάνω αριστερά προς τα κάτω δεξιά, αν και δεν έχει μεγάλη διαφορά εκτός από το ότι είναι λιγότερο πιθανό να χάσετε ένα μέρος. Τα εξαρτήματα τοποθετούνται με τσιμπιδάκια ηλεκτρονικής. Προτιμώ το τσιμπιδάκι με καμπύλο άκρο. Σηκώστε ένα εξάρτημα, γυρίστε το μπλοκ ανάρτησης εάν χρειάζεται και τοποθετήστε το εξάρτημα. Δώστε σε κάθε μέρος μια ελαφριά βρύση για να βεβαιωθείτε ότι κάθεται επίπεδη στον πίνακα. Κατά την τοποθέτηση ενός εξαρτήματος χρησιμοποιώ δύο χέρια για να βοηθήσω στην ακριβή τοποθέτηση. Όταν τοποθετείτε ένα τετράγωνο mcu, σηκώστε το διαγώνια από αντίθετες γωνίες.

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

Βήμα 6: Timeρα για το πιστόλι θερμού αέρα

Timeρα για το πιστόλι θερμού αέρα
Timeρα για το πιστόλι θερμού αέρα

Χρησιμοποιώ κόλλα συγκόλλησης χαμηλής θερμοκρασίας. Για το μοντέλο πιστόλι μου, η θερμοκρασία έχει ρυθμιστεί στους 275C, η ροή αέρα έχει ρυθμιστεί στο 7. Κρατήστε το πιστόλι κάθετα στην σανίδα περίπου 4 εκατοστά πάνω από τον πίνακα. Η συγκόλληση γύρω από τα πρώτα μέρη χρειάζεται λίγο χρόνο για να αρχίσει να λιώνει. Μην μπείτε στον πειρασμό να επιταχύνετε τα πράγματα μετακινώντας το όπλο κοντά στον πίνακα. Αυτό γενικά έχει ως αποτέλεσμα να φυσήξουν τα μέρη γύρω. Μόλις λιώσει η συγκόλληση, προχωρήστε στο επόμενο επικαλυπτόμενο τμήμα της σανίδας. Δουλέψτε με τον τρόπο σας σε όλο τον πίνακα.

Χρησιμοποιώ πιστόλι θερμού αέρα YAOGONG 858D SMD. (Στο Amazon για λιγότερο από $ 40.) Η συσκευασία περιλαμβάνει 3 ακροφύσια. Χρησιμοποιώ το μεγαλύτερο ακροφύσιο (8mm). Αυτό το μοντέλο/στυλ κατασκευάζεται ή πωλείται από διάφορους προμηθευτές. Έχω δει αξιολογήσεις παντού. Αυτό το όπλο λειτούργησε άψογα για μένα.

Βήμα 7: Ενισχύστε εάν χρειάζεται

Ενισχύστε εάν χρειάζεται
Ενισχύστε εάν χρειάζεται
Ενισχύστε εάν χρειάζεται
Ενισχύστε εάν χρειάζεται

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

Βήμα 8: Καθαρισμός/αφαίρεση του SMD Flux

Καθαρισμός/αφαίρεση του SMD Flux
Καθαρισμός/αφαίρεση του SMD Flux
Καθαρισμός/αφαίρεση του SMD Flux
Καθαρισμός/αφαίρεση του SMD Flux

Η πάστα συγκόλλησης που χρησιμοποιώ διαφημίζεται ως "όχι καθαρή". Πρέπει να καθαρίσετε τον πίνακα, φαίνεται πολύ καλύτερα και θα αφαιρέσει τυχόν μικρές χάντρες συγκόλλησης στον πίνακα. Χρησιμοποιώντας γάντια λατέξ, νιτριλίου ή καουτσούκ σε καλά αεριζόμενο χώρο, ρίξτε μια μικρή ποσότητα Flux Remover σε ένα μικρό κεραμικό ή ανοξείδωτο σκεύος. Επανασφραγίστε τη φιάλη αφαίρεσης ροής. Χρησιμοποιώντας μια άκαμπτη βούρτσα, βάλτε το πινέλο στο καθαριστικό ροής και τρίψτε μια περιοχή του σκάφους. Επαναλάβετε μέχρι να τρίψετε εντελώς την επιφάνεια της σανίδας. Χρησιμοποιώ μια βούρτσα καθαρισμού όπλων για το σκοπό αυτό. Οι τρίχες είναι πιο σκληρές από τις περισσότερες οδοντόβουρτσες.

Βήμα 9: Τοποθετήστε και συγκολλήστε όλα τα εξαρτήματα της τρύπας

Τοποθετήστε και συγκολλήστε όλα τα εξαρτήματα της τρύπας
Τοποθετήστε και συγκολλήστε όλα τα εξαρτήματα της τρύπας
Τοποθετήστε και συγκολλήστε όλα τα εξαρτήματα της τρύπας
Τοποθετήστε και συγκολλήστε όλα τα εξαρτήματα της τρύπας

Αφού εξατμιστεί το απορρυπαντικό ροής, τοποθετήστε και κολλήστε όλα τα μέρη της οπής της γούρνας, συντομότερα έως ψηλότερα, ένα κάθε φορά.

Βήμα 10: Ξεπλύνετε τις ακίδες με τρύπες

Ξεπλύνετε τις καρφίτσες τρυπών
Ξεπλύνετε τις καρφίτσες τρυπών

Χρησιμοποιώντας μια πένσα κοπής κοπής, κόψτε τις ακίδες διαμπερών οπών στην κάτω πλευρά της σανίδας. Κάνοντας αυτό καθιστά ευκολότερη την αφαίρεση του υπολείμματος ροής.

Βήμα 11: Ζεσταίνετε τις καρφίτσες μετά την τρύπα μετά το κόψιμο

Θερμάνετε μέσω των καρφιτσών τρύπας μετά το κόψιμο
Θερμάνετε μέσω των καρφιτσών τρύπας μετά το κόψιμο

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

Βήμα 12: Αφαιρέστε τη ροή διαμπερών οπών

Αφαιρέστε τη ροή διαμπερών οπών
Αφαιρέστε τη ροή διαμπερών οπών

Χρησιμοποιώντας την ίδια μέθοδο καθαρισμού όπως πριν, καθαρίστε το πίσω μέρος της σανίδας.

Βήμα 13: Εφαρμογή ισχύος στον πίνακα

Εφαρμογή ισχύος στον πίνακα
Εφαρμογή ισχύος στον πίνακα

Εφαρμόστε ισχύ στην πλακέτα (6 έως 12V). Εάν δεν τηγανιστεί τίποτα, μετρήστε 5V, 3v3 και 12V. 5V και 3v3 μπορούν να μετρηθούν από τη μεγάλη καρτέλα στα δύο τσιπ ρυθμιστή. Τα 12V μπορούν να μετρηθούν από το R3, το άκρο της αντίστασης πιο κοντά στην πλακέτα κάτω αριστερά (η πρίζα είναι πάνω αριστερά).

Βήμα 14: Φορτώστε το πρόγραμμα εκκίνησης

Φορτώστε το πρόγραμμα εκκίνησης
Φορτώστε το πρόγραμμα εκκίνησης

Από το μενού Arduino IDE Tools, επιλέξτε τον πίνακα και άλλες επιλογές για το mcu που στοχεύεται.

Στα σχέδια του σκάφους μου έχω σχεδόν πάντα μια υποδοχή ICSP. Εάν δεν έχετε Arduino ως ISP ή κάποιον άλλο προγραμματιστή ICSP, μπορείτε να δημιουργήσετε ένα σε ένα breadboard με σκοπό τη λήψη του bootloader στον πίνακα προγραμματιστών. Επιλέξτε Arduino ως ISP από το στοιχείο μενού προγραμματιστή και, στη συνέχεια, επιλέξτε εγγραφή bootloader. Εκτός από τη λήψη του bootloader, αυτό θα ρυθμίσει επίσης σωστά τις ασφάλειες. Στη φωτογραφία, ο πίνακας στα αριστερά είναι ο στόχος. Ο πίνακας στα δεξιά είναι ο ISP.

Βήμα 15: Φορτώστε το Multi Sketch

Φορτώστε το Multi Sketch
Φορτώστε το Multi Sketch
Φορτώστε το Multi Sketch
Φορτώστε το Multi Sketch
Φορτώστε το Multi Sketch
Φορτώστε το Multi Sketch

Ακολουθήστε τις οδηγίες στο αποθετήριο GitHub μου για AVRMultiSketch για να φορτώσετε το σκίτσο πολλαπλών φλας μέσω της σειριακής θύρας στον πίνακα. Το αποθετήριο GitHub AVRMultiSketch περιέχει όλα τα σκίτσα που εμφανίζονται στη φωτογραφία. Ακόμα κι αν δεν σχεδιάζετε να φτιάξετε τον πίνακα, μπορεί να βρείτε χρήσιμα τα σκίτσα NOR Flash Hex Copier και AVR High Voltage.

Βήμα 16: Έγινε

Εγινε
Εγινε
Εγινε
Εγινε
Εγινε
Εγινε
Εγινε
Εγινε

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

- Προσαρμογέας ATtiny85 ICSP. Χρησιμοποιείται για τον προγραμματισμό ενός αυτόνομου ATtiny85.

- ATtiny84 έως ATtiny85. Αυτό χρησιμοποιείται τόσο για προγραμματισμό υψηλής τάσης όσο και για σύνδεση με τον προσαρμογέα ATtiny85 ICSP.

- Προσαρμογέας NOR Flash.

Για να δείτε μερικά από τα άλλα σχέδιά μου, επισκεφτείτε τη διεύθυνση

Βήμα 17: Προηγούμενη έκδοση 1.3

Προηγούμενη έκδοση 1.3
Προηγούμενη έκδοση 1.3
Προηγούμενη έκδοση 1.3
Προηγούμενη έκδοση 1.3

Τα παραπάνω είναι φωτογραφίες της έκδοσης 1.3. Η έκδοση 1.3 δεν διαθέτει σειριακό USB, ασφάλειες με δυνατότητα επαναφοράς και ενδεικτικές λυχνίες LED. Μια έκδοση 1.3 χρησιμοποιεί ATmega644pa (ή 1284P)

Εάν ενδιαφέρεστε να δημιουργήσετε την έκδοση 1.3, στείλτε μου ένα μήνυμα (αντί να προσθέσετε ένα σχόλιο.)

Συνιστάται: