Ο απλούστερος προγραμματιστής JDM για PIC σε παθητικά στοιχεία. Σπιτικός προγραμματιστής για ελεγκτές PIC Do-it-yourself καθολικός προγραμματιστής για μικροελεγκτές pic

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

Πώς να προγραμματίσετε μικροελεγκτές PIC ή απλό προγραμματιστή JDM

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

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

Έτσι, ένας προγραμματιστής για μικροελεγκτές PIC. Απλό, αν και όχι 5 καλώδια όπως οι μικροελεγκτές AVR που χρησιμοποιώ ακόμα. Εδώ είναι το διάγραμμα:

Εδώ είναι η πλακέτα τυπωμένου κυκλώματος ().

Ο σύνδεσμος COM είναι συγκολλημένος με καρφίτσες απευθείας στα μαξιλάρια επαφής (το κύριο πράγμα είναι να μην μπερδευτείτε με την αρίθμηση). Η δεύτερη σειρά ακίδων συνδέεται με την πλακέτα με μικρούς άλτες (το είπα πολύ ασαφή, ναι). Θα προσπαθήσω να σας δώσω μια φωτογραφία... παρόλο που είναι τρομακτική (δεν έχω κανονική κάμερα αυτή τη στιγμή).
Το χειρότερο είναι ότι οι μικροελεγκτές PIC απαιτούν 12 βολτ για υλικολογισμικό. Και είναι καλύτερα όχι 12, αλλά λίγο περισσότερο. Ας πούμε 13. Ή 13,5 (παρεμπιπτόντως, ειδικοί - διορθώστε με στα σχόλια αν κάνω λάθος. Παρακαλώ.). Τα 12 βολτ μπορούν ακόμα να ληφθούν κάπου. Πού είναι το 13; Απλώς βγήκα από την κατάσταση - πήρα μια φρεσκοφορτισμένη μπαταρία λιθίου-πολυμερούς, η οποία είχε 12,6 βολτ. Λοιπόν, ή ακόμα και μια μπαταρία τεσσάρων κυψελών, με τα 16 βολτ της (ανάστραψα μια PIC έτσι - κανένα πρόβλημα).

Αλλά αποσπάθηκα πάλι. Έτσι - οδηγίες για τους μικροελεγκτές PIC που αναβοσβήνουν. Ψάχνουμε για το πρόγραμμα WinPIC800 (δυστυχώς δεν μου λειτούργησε το απλό και δημοφιλές icprog) και το ρυθμίζουμε όπως φαίνεται στο στιγμιότυπο οθόνης.

Μετά από αυτό, ανοίξτε το αρχείο υλικολογισμικού, συνδέστε τον μικροελεγκτή και αναβοσβήστε το.

Όταν άρχισα να δουλεύω στους ελεγκτές PIC, φυσικά, το πρώτο πράγμα που προέκυψε ήταν το ζήτημα της επιλογής προγραμματιστή. Δεδομένου ότι οι επώνυμοι προγραμματιστές δεν είναι φθηνοί, και γενικά φαινόταν αντιαθλητικό να αγοράσω έναν προγραμματιστή, αποφάσισα να τον συναρμολογήσω μόνος μου. Αφού σερφάρισα στο Διαδίκτυο, κατέβασα το διάγραμμα κυκλώματος και συναρμολόγησα έναν προγραμματιστή JDM. Λειτούργησε πολύ άσχημα: είτε ανέβασε μερικά χάλια, μετά δεν ανέβασε τα πρώτα λίγα byte ή δεν ανέβασε τίποτα απολύτως.

Ένα σημαντικό μειονέκτημα του προγραμματιστή JDM είναι ότι δεν μπορεί να ελέγξει τη γραμμή Vdd και, ως εκ τούτου, δεν μπορεί να εφαρμόσει τον σωστό αλγόριθμο τροφοδοσίας τάσης (πρώτα Vpp, μετά Vdd) κατά τον προγραμματισμό. Εάν ο ελεγκτής έχει ρυθμιστεί με αυτόν τον τρόπο: "Internal Oscillator", "MCLR Off", τότε εάν η ακολουθία τροφοδοσίας τάσης είναι λανθασμένη, ξεκινά πρώτα και αρχίζει να εκτελεί το πρόγραμμα που είχε προγραμματιστεί προηγουμένως σε αυτόν και στη συνέχεια μεταβαίνει σε λειτουργία προγραμματισμού (στο Σε αυτή την περίπτωση, ο δείκτης μπορεί να δείχνει οπουδήποτε, και όχι στην αρχή της μνήμης του προγράμματος). Από αυτή την άποψη: πού θα ανέβει το πρόγραμμά σας και αν θα ανέβει καθόλου, είναι ένα μεγάλο ερώτημα!

Έχοντας ταλαιπωρηθεί με τον προγραμματιστή JDM, σε ένα από τα αστικά sites βρήκα ένα διάγραμμα ενός προγραμματιστή στο οποίο διορθώθηκαν αυτές οι ελλείψεις. Εξακολουθώ να χρησιμοποιώ αυτόν τον προγραμματιστή μέχρι σήμερα και προσφέρω το διάγραμμα του κυκλώματος στην προσοχή σας:

Ένας απλός μετατροπέας στάθμης RS232->TTL κατασκευάζεται χρησιμοποιώντας διόδους D1...D4 και δίοδο zener D6. Όταν η τάση στις γραμμές DATA και CLOCK είναι μικρότερη από 0 V, έλκονται στο έδαφος μέσω των διόδων D1, D2 και όταν η τάση σε αυτές τις γραμμές είναι μεγαλύτερη από 5 V, έλκονται μέσω των διόδων D3, D4 στα +5V παροχή, η οποία ρυθμίζεται από τη δίοδο zener D6.

Αυτή η συσκευή τροφοδοτείται απευθείας από τη θύρα COM. Οι δίοδοι και οι δίοδοι zener σε αυτό το κύκλωμα μπορούν εύκολα να αντικατασταθούν με οικιακές: D814D, KS147A κ.λπ.

Πώς εφαρμόζεται ο σωστός αλγόριθμος τροφοδοσίας τάσης και από πού προέρχεται η τάση προγραμματισμού 13 Volt; Όλα είναι όπως πάντα πολύ απλά.

Όταν η θύρα έχει αρχικοποιηθεί, το "-10V" κρέμεται στην έξοδο TxD. Σε αυτή την περίπτωση, ο πυκνωτής C1 φορτίζεται μέσω της διόδου zener D7 (η οποία σε αυτήν την περίπτωση είναι ενεργοποιημένη προς τα εμπρός και λειτουργεί ως δίοδος). Εκείνοι. η τάση στο θετικό σκέλος C1 σε σχέση με το GND είναι μηδέν, αλλά σε σχέση με TxD = +10V (ή όποια τάση είναι στην έξοδο της θύρας COM).

Τώρα ας φανταστούμε τι συμβαίνει όταν η τάση στην έξοδο TxD αλλάζει από -10V σε +10V. Ταυτόχρονα με την αύξηση της τάσης στον ακροδέκτη TxD, η τάση στο θετικό σκέλος του πυκνωτή C1 θα αρχίσει επίσης να αυξάνεται. Το φορτίο δεν μπορεί να ρέει προς τη γείωση μέσω του D7, γιατί Τώρα το D7 είναι ξανά ενεργοποιημένο, ο μόνος τρόπος είναι η διαρροή μέσω του PIC, αλλά το ρεύμα εκεί είναι αμελητέα. Έτσι, η τάση στο θετικό σκέλος του C1 (και, κατά συνέπεια, στον ακροδέκτη MCLR) αρχίζει να αυξάνεται. Τη στιγμή που το TxD είναι μηδέν σε σχέση με τη γείωση, ο πυκνωτής C1 (στο θετικό του σκέλος και επομένως το MCLR) είναι +10V σε σχέση με τη γείωση. Όταν το TxD είναι +3V, το C1 είναι ήδη 3+10=13V. Αυτό είναι όλο, η τάση Vpp έχει ήδη εφαρμοστεί, αλλά εξακολουθεί να υπάρχει μόνο +3V στη γραμμή VDD.

Με περαιτέρω αύξηση της τάσης στο TxD, η τάση στο C1 δεν αυξάνεται, αφού η δίοδος zener D7 αρχίζει να λειτουργεί. Όταν η τάση στο TxD αυξάνεται πάνω από τα +5V, η δίοδος zener D6 αρχίζει να λειτουργεί.

Για να περιοριστεί το ρεύμα εκφόρτισης του πυκνωτή C1 μέσω της διόδου zener D7, περιλαμβάνεται στο κύκλωμα αντίσταση R6, η τάση στο C1 δεν είναι ακριβώς ίση με την τάση σταθεροποίησης, αλλά ελαφρώς υψηλότερη: UC1 = Ust + IRESR * R6. Για τη ρύθμιση της τάσης προγραμματισμού, χρησιμοποιείται η αντίσταση R3. Μπορείτε να ρυθμίσετε τη μεταβλητή στα 10 KOhm ή να επιλέξετε μια σταθερή, έτσι ώστε η τάση προγραμματισμού να είναι περίπου 13 V (στη συσκευή που φαίνεται στο παρακάτω σχήμα R3 = 1,2 kOhm).

Προγραμματίζω με επιτυχία τους ελεγκτές και με αυτόν τον προγραμματιστή, ωστόσο, ο συγγραφέας ισχυρίστηκε ότι με αυτόν τον προγραμματιστή (στην έκδοση που παρουσίασα) είναι δυνατός ο προγραμματισμός , και . Εκτός από αυτά, στον ιστότοπο του συγγραφέα feng3.cool.ne.jp υπάρχουν τροποποιήσεις προγραμματιστή για άλλους ελεγκτές PIC.

Έτοιμες συσκευές:


Επιλογή προγραμματιστή από το Mixer:

Μπορείτε να κατεβάσετε το πρόγραμμα IC-prog 1.05D για ελεγκτές που αναβοσβήνουν στην ενότητα " ". Όταν αναβοσβήνει το υλικολογισμικό, επιλέξτε τον τύπο προγραμματιστή JDM. Ενεργοποίηση ελέγχου Vcc για JDM. Όταν χρησιμοποιείται σε συνδυασμό με λειτουργικά συστήματα Windows 2000/NT/XP, επιλέξτε τη διεπαφή API των Windows και ενεργοποιήστε το πλαίσιο ελέγχου "Ενεργοποίηση προγράμματος οδήγησης NT/2000/XP", σε άλλες περιπτώσεις, χρησιμοποιήστε τη διεπαφή Direct I/O.


Αλλο. Κύριοι, αποθηκεύστε τα bits βαθμονόμησης όταν αναβοσβήνει το υλικολογισμικό ή μην παραπονιέστε ότι η εσωτερική γεννήτρια είναι ασταθής/δεν λειτουργεί!!!

Μπορείτε να κατεβάσετε την πλακέτα τυπωμένου κυκλώματος (AutoCAD2000i) από τον σύνδεσμο. Το PCB από το Mixer (DipTrace 2.0) είναι διαθέσιμο εδώ

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

Το κύκλωμα σάς επιτρέπει να προγραμματίσετε μικροελεγκτές και μνήμη EEPROM I2C.

Λίστα υποστηριζόμενων μικροελεγκτών, που υπόκεινται σε κοινή χρήση με το βοηθητικό πρόγραμμα IC-PROG v1.05D:

Μικροελεγκτές από τη Microchip: PIC12C508, PIC12C508A, PIC12C509, PIC12C509A, PIC12CE518, PIC12CE519, PIC12C671, PIC12C672, PIC12CE673, PIC12CE674, PIC12CE674, PIC1296, PIC12F PIC16C62A, PIC16C62B, PIC16C63, PIC16C63A, PIC16C64A, PIC16C65A, PIC16C65B, PIC16C66, PIC16C67, PIC16C71, PIC16C72, PIC16C72A, PIC16C73A, PIC16C73B, PIC16C74A, PIC16C74B, PIC16C76, PIC16C77, PIC16F72, PIC16F73, PIC16F74, PIC16F76, PIC16F76, PIC1, PIC16F76, PIC1 6F84A, PIC16F88, PIC16C505*, PIC16C620, PIC16C620A, PIC16C621, PIC16C621A, PIC16C622, PIC16C622A, PIC16CE623 , PIC16CE624, PIC16CE625, PIC16F627, PIC16F628, PIC16F628A, PIC16F630*, PIC16F648A, PIC16F676*, PIC16C710, PIC16C161C, PIC16C717C, PIC16C717C, PIC16C745, PIC16C765, PIC16C770*, PIC16C771*, PIC16C773, PIC16C774, PIC16C781*, PIC16C782*, PIC16F818 , PIC16F819, PIC16F870, PIC16F871, PIC16F872, PIC16F873, PIC16F873A, PIC16F874, PIC16F874A, PIC16F876, PIC16F876F826C, PIC16F876F873C , PIC18F242, PIC18F248, PIC18F252, PIC18F258, PIC18F442, PIC18F448, PIC18F452, PIC18F458, PIC18F1220 , PIC18F138F442, PIC18F138230 , PIC18F4320, PIC18F4539, PIC18F6620*, PIC18F6720*, PIC18F8620*, PIC18F8720*

Σημείωση:Οι μικροελεγκτές που σημειώνονται με αστερίσκο (*) πρέπει να συνδέονται στον προγραμματιστή μέσω μιας υποδοχής ICSP.

Σειριακή μνήμη EEPROM I2C(IIC): X24C01, 24C01A, 24C02, 24C04, 24C08, 24C16, 24C32, 24C64, AT24C128, M24C128, AT24C256, M24C2556, AT.


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

Εάν δεν έχετε το υλικολογισμικό, φτιάξτε το: για να το κάνετε αυτό, ανοίξτε το τυπικό πρόγραμμα Σημειωματάριο ή οποιοδήποτε άλλο πρόγραμμα επεξεργασίας. Εισαγάγετε το κείμενο του υλικολογισμικού στο έγγραφο. αποθήκευση με οποιοδήποτε όνομα με επέκταση *.txt ή *.hex.

Στη συνέχεια, στο βοηθητικό πρόγραμμα στο IC-PROG File >> Άνοιγμα αρχείου >> βρείτε το αρχείο μας με το υλικολογισμικό. Το παράθυρο «Κωδικός προγράμματος» θα πρέπει να γεμίσει με διαφορετικούς κωδικούς.

Στο παράθυρο IC-PROG, κάντε κλικ στο «Προγραμματισμός του τσιπ» και ανάβει η κόκκινη λυχνία LED στο διάγραμμα της συσκευής. Ο προγραμματισμός διαρκεί περίπου 30 δευτερόλεπτα. Για έλεγχο, επιλέξτε - Σύγκριση τσιπ με buffer.

Μπορείτε να ανοίξετε μια εναλλακτική έκδοση του κυκλώματος προγραμματιστή EXTRA-PIC με μια ολοκληρωμένη πλακέτα τυπωμένου κυκλώματος στο Sprint Layout χρησιμοποιώντας τον πράσινο σύνδεσμο παραπάνω.

Τα κυκλώματα που χρησιμοποιούν μικροελεγκτές κερδίζουν αρκετά μεγάλη δημοτικότητα στο Διαδίκτυο. Ο μικροελεγκτής είναι ένα ειδικό τσιπ που, στην ουσία, είναι ένας μικρός υπολογιστής με τις δικές του θύρες εισόδου/εξόδου και μνήμη. Χάρη σε έναν μικροελεγκτή, μπορείτε να δημιουργήσετε πολύ λειτουργικά κυκλώματα με ελάχιστα παθητικά εξαρτήματα, για παράδειγμα, ηλεκτρονικά ρολόγια, συσκευές αναπαραγωγής, διάφορα εφέ LED και συσκευές αυτοματισμού.

Για να ξεκινήσει το μικροκύκλωμα να εκτελεί οποιεσδήποτε λειτουργίες, πρέπει να αναβοσβήσει, δηλ. φορτώστε τον κωδικό υλικολογισμικού στη μνήμη του. Αυτό μπορεί να γίνει χρησιμοποιώντας μια ειδική συσκευή που ονομάζεται προγραμματιστής. Ο προγραμματιστής συνδέει τον υπολογιστή στον οποίο βρίσκεται το αρχείο υλικολογισμικού με τον μικροελεγκτή να αναβοσβήνει. Αξίζει να αναφέρουμε ότι υπάρχουν μικροελεγκτές της οικογένειας AVR, για παράδειγμα, Atmega8, Attiny13 και σειρές pic, για παράδειγμα PIC12F675, PIC16F676. Η σειρά Pic ανήκει στη Microchip και η σειρά AVR ανήκει στην Atmel, επομένως οι μέθοδοι υλικολογισμικού για PIC και AVR είναι διαφορετικές. Σε αυτό το άρθρο θα δούμε τη διαδικασία δημιουργίας ενός προγραμματιστή Extra-pic, με τον οποίο μπορείτε να αναβοσβήσετε έναν μικροελεγκτή σειράς pic.
Τα πλεονεκτήματα του συγκεκριμένου προγραμματιστή περιλαμβάνουν την απλότητα του κυκλώματος του, την αξιοπιστία λειτουργίας και την ευελιξία, επειδή υποστηρίζει όλους τους κοινούς μικροελεγκτές. Ο υπολογιστής υποστηρίζεται επίσης από τα πιο κοινά προγράμματα υλικολογισμικού, όπως τα Ic-prog, WinPic800, PonyProg, PICPgm.

Κύκλωμα προγραμματιστή


Περιέχει δύο μικροκυκλώματα, το εισαγόμενο MAX232 και το εγχώριο KR1533LA3, τα οποία μπορούν να αντικατασταθούν με το KR155LA3. Δύο τρανζίστορ, KT502, τα οποία μπορούν να αντικατασταθούν με KT345, KT3107 ή οποιοδήποτε άλλο τρανζίστορ PNP χαμηλής ισχύος. Το KT3102 μπορεί επίσης να αλλάξει, για παράδειγμα, σε BC457, KT315. Το πράσινο LED χρησιμεύει ως ένδειξη διαθεσιμότητας ρεύματος, το κόκκινο LED ανάβει κατά τη διαδικασία του υλικολογισμικού του μικροελεγκτή. Η δίοδος 1N4007 χρησιμοποιείται για την προστασία του κυκλώματος από την παροχή τάσης εσφαλμένης πολικότητας.

Υλικά


Λίστα εξαρτημάτων που απαιτούνται για τη συναρμολόγηση του προγραμματιστή:
  • Σταθεροποιητής 78L05 – 2 τεμ.
  • Σταθεροποιητής 78L12 – 1 τεμ.
  • LED 3 V. πράσινο - 1 τεμ.
  • LED 3 V. κόκκινο - 1 τεμ.
  • Δίοδος 1N4007 – 1 τεμ.
  • Δίοδος 1N4148 – 2 τεμ.
  • Αντίσταση 0,125 W 4,7 kOhm – 2 τεμ.
  • Αντίσταση 0,125 W 1 kOhm – 6 τεμ.
  • Πυκνωτής 10 uF 16V – 4 τεμ.
  • Πυκνωτής 220 uF 25V – 1 τεμ.
  • Πυκνωτής 100 nF – 3 τεμ.
  • Τρανζίστορ KT3102 – 1 τεμ.
  • Τρανζίστορ KT502 – 1 τεμ.
  • Τσιπ MAX232 – 1 τεμ.
  • Τσιπ KR1533LA3 – 1 τεμ.
  • Υποδοχή τροφοδοσίας - 1 τεμ.
  • Θηλυκή υποδοχή θύρας COM - 1 τεμ.
  • Υποδοχή DIP40 – 1 τεμ.
  • Υποδοχή DIP8 – 2 τεμ.
  • Υποδοχή DIP14 – 1 τεμ.
  • Υποδοχή DIP16 – 1 τεμ.
  • Υποδοχή DIP18 – 1 τεμ.
  • Υποδοχή DIP28 – 1 τεμ.
Επιπλέον, χρειάζεστε ένα κολλητήρι και τη δυνατότητα χρήσης του.

Κατασκευή PCB

Ο προγραμματιστής συναρμολογείται σε πλακέτα τυπωμένου κυκλώματος διαστάσεων 100x70 mm. Η πλακέτα τυπωμένου κυκλώματος κατασκευάζεται με τη μέθοδο LUT, το αρχείο επισυνάπτεται στο άρθρο. Δεν χρειάζεται να αντικατοπτρίσετε την εικόνα πριν την εκτύπωση.


Κατεβάστε τον πίνακα:

(λήψεις: 639)

Συναρμολόγηση προγραμματιστή

Πρώτα απ 'όλα, οι βραχυκυκλωτήρες συγκολλούνται στην πλακέτα τυπωμένου κυκλώματος και, στη συνέχεια, οι αντιστάσεις, οι δίοδοι. Τέλος, πρέπει να κολλήσετε τις πρίζες και τις υποδοχές τροφοδοσίας και τη θύρα COM.



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


Η υποδοχή θύρας COM (που ονομάζεται DB-9) έχει δύο ακίδες που πρέπει να "κολληθούν" στην πλακέτα. Για να μην ανοίξετε επιπλέον τρύπες στην πλακέτα για αυτούς, μπορείτε να ξεβιδώσετε τις δύο βίδες κάτω από τις πλευρές του συνδετήρα και οι ακίδες θα πέσουν, όπως και η μεταλλική μπορντούρα του συνδετήρα.


Μετά τη συγκόλληση όλων των εξαρτημάτων, η πλακέτα πρέπει να πλυθεί από τη ροή και οι γειτονικές επαφές πρέπει να δακτυλιωθούν για να διαπιστωθεί εάν υπάρχουν βραχυκυκλώματα. Βεβαιωθείτε ότι δεν υπάρχουν μικροκυκλώματα στις πρίζες (πρέπει να αφαιρέσετε τόσο το MAX232 όσο και το KR1533LA3), συνδέστε το ρεύμα. Ελέγξτε εάν υπάρχει τάση 5 βολτ στις εξόδους των σταθεροποιητών. Εάν όλα είναι καλά, μπορείτε να εγκαταστήσετε τα μικροκυκλώματα MAX232 και KR1533LA3, ο προγραμματιστής είναι έτοιμος για χρήση. Η τάση τροφοδοσίας του κυκλώματος είναι 15-24 βολτ.



Η πλακέτα προγραμματιστή περιέχει 4 υποδοχές για μικροελεγκτές και μία για τσιπ μνήμης που αναβοσβήνουν. Πριν εγκαταστήσετε τον μικροελεγκτή που πρόκειται να αναβοσβήσει στην πλακέτα, πρέπει να ελέγξετε αν το pinout του ταιριάζει με το pinout στην πλακέτα του προγραμματιστή. Ο προγραμματιστής μπορεί να συνδεθεί στη θύρα COM του υπολογιστή απευθείας ή μέσω καλωδίου επέκτασης. Καλή κατασκευή!

Ο προτεινόμενος προγραμματιστής βασίζεται σε μια δημοσίευση από το περιοδικό "Radio" No. 2, 2004, "Programming modern PIC16, PIC12 on PonyProg." Αυτός είναι ο πρώτος μου προγραμματιστής που χρησιμοποίησα για να αναβοσβήνω τσιπ PIC στο σπίτι. Ο προγραμματιστής είναι μια απλοποιημένη έκδοση του προγραμματιστή JDM, το αρχικό κύκλωμα έχει μετατροπέα RS-232 σε TTL με τη μορφή μικροκυκλώματος MAX232, είναι πιο καθολικό, αλλά δεν μπορείτε να το συναρμολογήσετε "στα γόνατά σας". Αυτό το κύκλωμα δεν έχει καθόλου ενεργό εξάρτημα, δεν περιέχει σπάνια εξαρτήματα και είναι πολύ απλό, μπορεί να συναρμολογηθεί χωρίς τη χρήση πλακέτας τυπωμένου κυκλώματος.

Ρύζι. 1: Σχηματικό διάγραμμα του προγραμματιστή.

Περιγραφή της λειτουργίας του κυκλώματος
Το κύκλωμα προγραμματιστή φαίνεται στο Σχ. 1. Οι αντιστάσεις στα κυκλώματα CLK (clocking), DATA (πληροφορίες), Upp (τάση προγραμματισμού) χρησιμεύουν για τον περιορισμό της ροής του ρεύματος. Οι ελεγκτές PIC προστατεύονται από βλάβη από ενσωματωμένες διόδους zener, επομένως υπάρχει κάποια συμβατότητα μεταξύ της λογικής TTL και RS-232. Το παρουσιαζόμενο κύκλωμα περιέχει διόδους VD1, VD2, οι οποίες «παίρνουν» τη θετική τάση από τη θύρα COM σε σχέση με τον ακροδέκτη 5 και τη μεταφέρουν στην τροφοδοσία του ελεγκτή, χάρη στην οποία σε ορισμένες περιπτώσεις είναι δυνατό να απαλλαγούμε από μια πρόσθετη πηγή ενέργειας.

Εγκαθιστώ
Στην πράξη, δεν συμβαίνει πάντα αυτός ο προγραμματιστής να λειτουργεί χωρίς προσαρμογή, με την πρώτη προσπάθεια, επειδή... Η λειτουργία αυτού του κυκλώματος εξαρτάται σε μεγάλο βαθμό από τις παραμέτρους της θύρας COM. Ωστόσο, για μένα, σε δύο μητρικές κάρτες Gigabyte 8IPE1000 και WinFast κάτω από XP, όλα λειτούργησαν αμέσως. Εάν είστε πολύ τεμπέλης για να αντιμετωπίσετε ένα σπασμένο, πιο περίπλοκο κύκλωμα προγραμματιστή, τότε θα πρέπει να προσπαθήσετε να συναρμολογήσετε αυτό. Εδώ είναι μερικά πράγματα που μπορεί να επηρεάσουν:

Όσο πιο καινούργιο είναι το χαλάκι. board, οι προγραμματιστές δίνουν λιγότερη προσοχή σε αυτές τις θύρες, επειδή αυτές οι θύρες έχουν από καιρό ξεπεραστεί. Μπορείτε να απαλλαγείτε από αυτό αγοράζοντας έναν προσαρμογέα USB-COM, αν και και πάλι η συσκευή που αγοράσατε μπορεί να μην είναι κατάλληλη. Οι απαιτούμενες παράμετροι είναι οι εξής: η μεταβλητή τάση πρέπει να κυμαίνεται από τουλάχιστον -10V έως +10V (λογικό 0 και 1) σε σχέση με την 5η ακίδα του βύσματος. Το παρεχόμενο ρεύμα πρέπει να είναι τουλάχιστον τέτοιο ώστε όταν συνδέεται μια αντίσταση 2,7 kOhm μεταξύ της 5ης επαφής και της επαφής υπό δοκιμή, η τάση να μην πέσει κάτω από 10 V (δεν έχω δει τέτοιες πλακέτες ο ίδιος). Επίσης, η θύρα πρέπει να προσδιορίζει σωστά τις τάσεις που προέρχονται από τον ελεγκτή σε επίπεδο τάσης κοντά στα 0V, αλλά όχι περισσότερο από 2V, προσδιορίζεται το μηδέν και κατά συνέπεια, όταν είναι πάνω από 2V, προσδιορίζεται ένα.

Προβλήματα μπορεί επίσης να προκύψουν λόγω λογισμικού.
Αυτό ισχύει ιδιαίτερα για το LINUX OS, επειδή... Λόγω της παρουσίας εξομοιωτών όπως το wine, το VirtualBox, οι θύρες ενδέχεται να μην λειτουργούν σωστά και απαιτούνται πολλές δυνατότητες από αυτές. Θα θίξω αυτά τα προβλήματα με περισσότερες λεπτομέρειες σε άλλο άρθρο.

Γνωρίζοντας αυτές τις δυνατότητες, ας ξεκινήσουμε να το ρυθμίζουμε.
Για αυτό, είναι πολύ επιθυμητό να έχουμε το πρόγραμμα ICProg 1.05D.
Στο μενού προγράμματος, πρέπει πρώτα να επιλέξετε την κατάλληλη ρύθμιση στις ρυθμίσεις. θύρα (COM1. COM2), επιλέξτε προγραμματιστής JDM. Στη συνέχεια, ανοίξτε το παράθυρο «Έλεγχος υλικού», στο μενού «Ρυθμίσεις». Σε αυτό το μενού, πρέπει να ελέγξετε τα πλαίσια ένα προς ένα και να χρησιμοποιήσετε ένα βολτόμετρο για να μετρήσετε την τάση στις επαφές του συνδεδεμένου βύσματος. Εάν οι παράμετροι τάσης δεν αντιστοιχούν στον κανόνα, τότε, δυστυχώς, αυτό μπορεί να είναι η αιτία της αλειτουργίας, τότε θα πρέπει να συναρμολογήσετε ένα κύκλωμα με έναν μετατροπέα RS-232 TTL. Έχοντας ελέγξει όλα τα πλαίσια, πρέπει να βεβαιωθείτε ότι δημιουργείται τάση τροφοδοσίας περίπου 5 V στη δίοδο zener. Εάν οι τάσεις είναι κανονικές και δεν υπάρχουν σφάλματα εγκατάστασης, τότε όλα θα πρέπει να λειτουργούν. Βάζουμε το χειριστήριο στην υποδοχή, ανοίγουμε το υλικολογισμικό, το προγραμματίζουμε. Δεν χρειάζεται να ενεργοποιήσετε πλαίσια ελέγχου όπως "Αντιστροφή δεδομένων εξόδου" (όλα είναι μη επιλεγμένα). Επίσης, μην ξεχνάτε ότι ορισμένες παρτίδες ελεγκτών μπορεί να έχουν μη τυπικές παραμέτρους και δεν είναι δυνατό να τις αναβοσβήνουν σε τέτοιες περιπτώσεις, με αυτόν τον προγραμματιστή, μπορείτε μόνο να προσπαθήσετε να μειώσετε την τάση τροφοδοσίας από 5V σε 3-4V. συνδέοντας ανάλογα. δίοδος zener, κοιτάξτε τον ελεγκτή για εσφαλμένη ενεργοποίηση της λειτουργίας LVP (προγραμματισμός χαμηλής τάσης), πώς να το αποτρέψετε, μπορείτε να διαβάσετε στο Διαδίκτυο για έναν συγκεκριμένο τύπο ελεγκτή. Είναι πιθανώς δυνατό να αυξηθεί η τάση προγραμματισμού του προβληματικού ελεγκτή μόνο περιπλέκοντας το κύκλωμα εισάγοντας ένα στάδιο ενίσχυσης με έναν κοινό πομπό, που τροφοδοτείται από μια πρόσθετη πηγή ισχύος.

Τώρα ας μιλήσουμε περισσότερο για το πρόβλημα με το τροφοδοτικό της συσκευής. Ο προγραμματιστής δοκιμάστηκε με προγράμματα ICProg και κονσόλα picprog σε Linux, θα πρέπει να λειτουργεί με οποιοδήποτε που υποστηρίζει JDM εάν συνδέσετε μια πρόσθετη πηγή τροφοδοσίας (συνδέεται μέσω αντίστασης 1 kOhm στη δίοδο zener, οι δίοδοι με αντιστάσεις σε αυτήν την περίπτωση μπορούν να εντελώς αποκλείεται). Το γεγονός είναι ότι οι αλγόριθμοι ελέγχου προγραμματιστή για μεμονωμένο λογισμικό είναι διαφορετικοί, το πρόγραμμα ICProg είναι το πιο ανεπιτήδευτο. Παρατηρήθηκε ότι στο λειτουργικό σύστημα Windows αυτό το πρόγραμμα αύξησε την απαιτούμενη τάση τροφοδοσίας στον αχρησιμοποίητο ακροδέκτη 2, το ίδιο πρόγραμμα κάτω από τον εξομοιωτή στο Linux σε άλλο στρώμα. Η πλακέτα δεν μπορούσε πλέον να το κάνει αυτό, αλλά βρέθηκε μια διέξοδος παίρνοντας ρεύμα από την τάση προγραμματισμού. Γενικά, νομίζω ότι μπορείτε να χρησιμοποιήσετε αυτόν τον προγραμματιστή με το ICProg χωρίς πρόσθετη ισχύ. Με άλλο λογισμικό αυτό είναι απίθανο να είναι εγγυημένο, για παράδειγμα, το "εγγενές" picprog από τα αποθετήρια του Ubuntu χωρίς τροφοδοσία απλά δεν ανιχνεύει τον προγραμματιστή, εμφανίζοντας το μήνυμα "Το υλικό JDM δεν βρέθηκε". Πιθανότατα είτε λαμβάνει κάποια δεδομένα χωρίς να εφαρμόζει την τάση προγραμματισμού, είτε το κάνει πολύ γρήγορα, έτσι ώστε ο πυκνωτής του φίλτρου να μην έχει ακόμη χρόνο για φόρτιση.