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

Πώς να χρησιμοποιήσετε τις καρφίτσες GPIO ενός Raspberry Pi και το Avrdude στο πρόγραμμα Bit-bang DIMP 2 ή DA PIMP 2: 9 Βήματα
Πώς να χρησιμοποιήσετε τις καρφίτσες GPIO ενός Raspberry Pi και το Avrdude στο πρόγραμμα Bit-bang DIMP 2 ή DA PIMP 2: 9 Βήματα

Βίντεο: Πώς να χρησιμοποιήσετε τις καρφίτσες GPIO ενός Raspberry Pi και το Avrdude στο πρόγραμμα Bit-bang DIMP 2 ή DA PIMP 2: 9 Βήματα

Βίντεο: Πώς να χρησιμοποιήσετε τις καρφίτσες GPIO ενός Raspberry Pi και το Avrdude στο πρόγραμμα Bit-bang DIMP 2 ή DA PIMP 2: 9 Βήματα
Βίντεο: Raspberry Pi Remote Desktop Connection 2024, Νοέμβριος
Anonim
Πώς να χρησιμοποιήσετε τις καρφίτσες GPIO ενός Raspberry Pi και το Avrdude στο πρόγραμμα Bit-bang DIMP 2 ή DA PIMP 2
Πώς να χρησιμοποιήσετε τις καρφίτσες GPIO ενός Raspberry Pi και το Avrdude στο πρόγραμμα Bit-bang DIMP 2 ή DA PIMP 2

Αυτές είναι οδηγίες βήμα προς βήμα για το πώς να χρησιμοποιήσετε ένα Raspberry Pi και τη δωρεάν εντολή ανοιχτού κώδικα avrdude για bit-bang-program σε DIMP 2 ή DA PIMP 2. Υποθέτω ότι είστε εξοικειωμένοι με το Raspberry Pi και το LINUX γραμμή εντολών. Δεν χρειάζεται να είστε εξοικειωμένοι με τον προγραμματισμό τσιπ AVR, αλλά βοηθά εάν κάτι πάει στραβά, επειδή μπορείτε να διαβάσετε την έξοδο του avrdude και να έχετε κάποια ιδέα για το τι πρέπει να κάνετε.

Αυτή η διαδικασία πρέπει να διαρκέσει περίπου 1 ώρα την πρώτη φορά και 5 έως 10 λεπτά κάθε φορά μετά.

Θα χρειαστείτε:

1) Ένα Raspberry Pi με καρφίτσες GPIO και τροφοδοτικό. Χρησιμοποιώ Raspberry Pi Zero W με καρφίτσες GPIO κολλημένες. Το λειτουργικό σύστημα πρέπει να είναι Raspberry Pi OS (πρώην Raspbian). Χρησιμοποιώ το Raspbian Lite (Stretch), το οποίο είναι παλιό. Αυτές οι εντολές θα εξακολουθούν να λειτουργούν στην τελευταία έκδοση του Raspberry Pi OS.

Προχωρώντας θα αναφερθώ στο Raspberry Pi ως "RPi".

2) Γυναικεία-θηλυκά καλώδια. Πάρτε ένα από καθένα από αυτά τα χρώματα: κόκκινο, μαύρο, μπλε, κίτρινο, πράσινο, μοβ. Χρησιμοποιώ καφέ αντί για μοβ.

3) Ένα DIMP 2 ή DA PIMP 2 με την προαιρετική κεφαλίδα ICSP 10 ακίδων συγκολλημένη. Χρησιμοποιώ εδώ ένα DIMP 2, αλλά οι οδηγίες είναι ίδιες για το DA PIMP 2.

4) Πρόσβαση στο Διαδίκτυο για το RPi, ώστε να μπορείτε να εγκαταστήσετε τη δωρεάν εντολή ανοιχτού κώδικα avrdude.

5) Ένα αντίγραφο του αρχείου.hex flash για το DIMP 2 ή το DA PIMP 2. Μπορείτε να δημιουργήσετε μόνοι σας το αρχείο.hex από τον ακατέργαστο πηγαίο κώδικα, αλλά δεν θα σας δείξω πώς να το κάνετε εδώ.

6) Κάποιος τρόπος για να συνδεθείτε στο RPi-χρησιμοποιήστε είτε σύνδεση δικτύου είτε άμεση πρόσβαση στην κονσόλα. Πρέπει να είστε σε θέση να εκτελέσετε εντολές σε αυτό.

Βήμα 1: Αφαιρέστε το καλώδιο τροφοδοσίας AC και αφαιρέστε την μπαταρία 9V

Αρχικά, ελέγξτε εάν το καλώδιο τροφοδοσίας AC είναι συνδεδεμένο στο DIMP 2 ή DA PIMP 2 και είναι συνδεδεμένο στο δίκτυο AC. Αν ναι, ΚΙΝΔΥΝΟΣ: ΚΙΝΔΥΝΟΣ ΛΕΘΑΛΙΚΟΥ ΣΟΚ. Φορέστε λαστιχένια γάντια και, στη συνέχεια, απενεργοποιήστε τον κύριο διακόπτη στο DIMP 2 ή DA PIMP 2. Στη συνέχεια, αποσυνδέστε το καλώδιο τροφοδοσίας AC από το δίκτυο AC και αποσυνδέστε το καλώδιο τροφοδοσίας AC από το DIMP 2 ή το DA PIMP 2. Μπορείτε να πάρετε αφαιρέστε τα λαστιχένια γάντια μόλις αφαιρεθεί το καλώδιο τροφοδοσίας AC.

Στη συνέχεια, αφαιρέστε την μπαταρία 9V. Η τροφοδοσία θα παρέχεται στο DIMP 2 από το RPi μέσω των κόκκινων (Vcc) και των μαύρων καλωδίων (GND). Απενεργοποιήστε το ρυθμιστικό διακόπτη DIMP 2 ή DA PIMP 2 για κάθε περίπτωση.

Βήμα 2: Συνδέστε τα καλώδια βραχυκυκλωτήρων

Συνδέστε τα καλώδια βραχυκυκλωτήρων
Συνδέστε τα καλώδια βραχυκυκλωτήρων
Συνδέστε τα καλώδια βραχυκυκλωτήρων
Συνδέστε τα καλώδια βραχυκυκλωτήρων
Συνδέστε τα καλώδια βραχυκυκλωτήρων
Συνδέστε τα καλώδια βραχυκυκλωτήρων
Συνδέστε τα καλώδια βραχυκυκλωτήρων
Συνδέστε τα καλώδια βραχυκυκλωτήρων

Με το RPi να μην τροφοδοτείται, ξεκινήστε να συνδέετε τα καλώδια του βραχυκυκλωτήρα. Προχωρώντας, οι καρφίτσες GPIO βρίσκονται στο Raspberry Pi και οι ακίδες ICSP στο DIMP 2 (κεφαλίδα J3) ή DA PIMP 2 (κεφαλίδα J1).

Ανατρέξτε στο διάγραμμα που μπήκα μαζί και στις φωτογραφίες αν χαθείτε.

Το τμήμα RPi του διαγράμματος προέρχεται από το pinout.xyz.

Το τμήμα ATMEGA48V-10PU του διαγράμματος είναι πνευματικά δικαιώματα 2016 Atmel Corp.

Διεκδικώ δίκαιη χρήση αυτών των σχεδίων λόγω των σημαντικών, μετασχηματιστικών προσθηκών.

Το μαύρο πηγαίνει από το pin GPIO 6 στο pin ICSP 10. Αυτό είναι GND (Ground)

Το κίτρινο πηγαίνει από το pin GPIO 12 στο ICSP pin 9. Αυτό είναι το MISO.

Το πράσινο πηγαίνει από το pin GPIO 16 στο ICSP pin 1. Αυτό είναι το MOSI.

Το μπλε πηγαίνει από το pin GPIO 18 στο pin ICSP 7. Αυτό είναι SCK ή SCLK (SClock)

Το μωβ (καφέ στις φωτογραφίες μου) πηγαίνει από το GPIO pin 32 στο ICSP pin 5. Αυτό είναι RESET.

Το κόκκινο πηγαίνει από το pin GPIO 4 στο ICSP pin 2. Αυτό είναι Vcc (5V Power)

Βήμα 3: Ενεργοποιήστε το RPi

Τώρα, προχωρήστε και ενεργοποιήστε το RPi. Το τμήμα βολτόμετρου του DIMP 2 ή του DA PIMP 2 θα πρέπει επίσης να ενεργοποιηθεί, αλλά δεν θα το γνωρίζετε κοιτάζοντας την οθόνη. Σε περίπτωση αμφιβολίας, μετρήστε την τάση με τον κόκκινο αισθητήρα στον πείρο 20 στο ATMEGA48V-10PU και τον μαύρο αισθητήρα στον ακροδέκτη 4, 6 ή 8 στην κεφαλίδα ICSP. Θα πρέπει να είναι περίπου 5VDC.

Βήμα 4: Εγκαταστήστε το Avrdude

Οι οδηγίες μου θα εμφανίζουν μόνο τις εντολές της γραμμής εντολών. Εάν έχετε ένα GUI που εκτελείται, θα θέλετε να ανοίξετε ένα τερματικό για να εκτελέσετε αυτές τις εντολές της γραμμής εντολών.

Συνδεθείτε ως προεπιλεγμένο χρήστη pi. Ο προεπιλεγμένος κωδικός πρόσβασης είναι βατόμουρο

Εγκαταστήστε την εντολή avrdude πληκτρολογώντας τα ακόλουθα στη γραμμή εντολών τερματικού:

sudo apt-get install avrdude

Βήμα 5: Επεξεργαστείτε το αρχείο διαμόρφωσης Avrdude

Επεξεργαστείτε το αρχείο διαμόρφωσης avrdude πληκτρολογώντας:

sudo nano /etc/avrdude.conf

Προσθέστε αυτές τις γραμμές στη μέση του αρχείου όπου βρίσκονται οι άλλοι ορισμοί προγραμματιστή. Αυτό που έκανα ήταν να αντιγράψω την ενότητα προγραμματιστή ακριβώς πάνω από αυτήν για id = "linuxgpio", στη συνέχεια να την επικολλήσω ακριβώς κάτω (στη γραμμή 1274), και στη συνέχεια να επεξεργαστεί τη νέα ενότητα.

προγραμματιστής

id = "pi_1"; desc = "Χρησιμοποιήστε τη διεπαφή Linux sysfs για bitbang γραμμές GPIO"; type = "linuxgpio"; επαναφορά = 12; sck = 24; mosi = 23; miso = 18; ?

Στη συνέχεια, αποθηκεύστε το αρχείο πατώντας: Ctrl-O

Στη συνέχεια, κλείστε τον επεξεργαστή nano πατώντας: Ctrl-X

Βήμα 6: Κατεβάστε ή αντιγράψτε το αρχείο.hex Flash στο /home /pi

Αντιγράψτε το αρχείο.hex flash στο RPi. Υποθέτω ότι ξέρετε πώς να το κάνετε αυτό. ΥΠΟΔΕΙΞΗ: Χρησιμοποιήστε την εντολή wget, curl, git ή scp για να κατεβάσετε το αρχείο από τον ιστό στο RPi.

Το αρχείο.hex του DIMP 2 είναι εδώ, μαζί με τον πηγαίο κώδικα:

github.com/dchang0/dimp2

Μια προσαρμοσμένη έκδοση του αρχείου.hex του DA PIMP 2 είναι εδώ. Δεν το έχω δοκιμάσει αυτό!

github.com/jcwren/DaPimp2

Εάν η παραπάνω έκδοση του αρχείου.hex του DA PIMP 2 δεν λειτουργεί, ο αρχικός κώδικας DA PIMP 2 του Mikey Sklar είναι εδώ. Θα πρέπει να το μεταγλωττίσετε σε ένα.hex αρχείο εργασίας μόνοι σας. Δεν το καλύπτω σε αυτές τις οδηγίες γιατί θα είναι ένα μακρύ (αλλά όχι δύσκολο) σεμινάριο. Έχω προγραμματίσει με επιτυχία πολλές μονάδες DA PIMP 2 που χρησιμοποιούν αυτόν τον πηγαίο κώδικα:

drive.google.com/open?id=0Bx5Als-UeiZbSUdH…

Or μπορείτε να μεταβείτε στην κύρια σελίδα DA PIMP 2 εδώ και να κάνετε κλικ στον σύνδεσμο προς τον πηγαίο κώδικα.

mikeysklar.blogspot.com/p/da-pimp-battery-…

Τοποθετήστε το αρχείο.hex σε αυτήν τη διαδρομή και το όνομα αρχείου στο RPi…

Για το DIMP 2:

/home/pi/dimp2.hex

Για το DA PIMP 2:

/home/pi/da_pimp2.hex

Βήμα 7: Βεβαιωθείτε ότι το Avrdude μπορεί να μιλήσει με το ATMEGA48V-10PU

Εκτελέστε την εντολή avrdude για να βεβαιωθείτε ότι μπορεί να μιλήσει με το τσιπ ATMEGA48V-10PU στο DIMP 2 ή DA PIMP 2.

cd /home /pi

sudo avrdude -c pi_1 -p m48 -v

Θα λάβετε περίπου μια σελίδα εξόδου. Κοίτα στο τέλος. Εάν λάβετε μια τέτοια απάντηση, τότε μπορείτε να προχωρήσετε.

avrdude: Η συσκευή AVR έχει προετοιμαστεί και είναι έτοιμη να δεχτεί οδηγίες

Ανάγνωση | ################################################### | 100% 0,00

Αν όχι, τότε κάτι δεν πάει καλά και πρέπει να το καταλάβετε. Πιθανότατα είναι λάθος σύνδεση, αλλά ένα άλλο κοινό παράπονο που έχω δει είναι ότι το τσιπ ATMEGA48V-10PU είναι ψεύτικο. Φαίνεται ότι πολλά από αυτά που πωλούνται στο Amazon ή το ebay είναι πλαστά. Αυτά που πωλούνται από τον Mouser ή το Digikey και άλλους εξουσιοδοτημένους διανομείς είναι γνήσια.

Βήμα 8: Μετακινήστε το αρχείο.hex στο ATMEGA48V-10PU

Εκτελέστε αυτήν την εντολή για να κάνετε τον προγραμματισμό του τσιπ…

Για το DIMP 2:

cd /home /pi

sudo avrdude -c pi_1 -p m48 -U flash: w: dimp2.hex

Για το DA PIMP 2:

cd /home /pi

sudo avrdude -c pi_1 -p m48 -U flash: w: da_pimp2.hex

Θα λάβετε περίπου μια σελίδα εξόδου. Αναζητήστε αυτές τις γραμμές:

avrdude: flash flash (1528 bytes):

Γραφή | ################################################### | 100% 0,79s

avrdude: επαλήθευση…

avrdude: 1528 byte flash verified avrdude: safemode: Fuses OK (E: FF, H: DF, L: 62)

Εάν φτάσατε τόσο μακριά, θα πρέπει να δείτε την οθόνη LED που δείχνει μηδενικά για την τάση. Αν δείτε τα μηδενικά, τελειώσατε! Εάν όχι, μεταβείτε στο επόμενο βήμα.

Εάν δείτε τα μηδενικά, κλείστε με ευγένεια το RPi σας με αυτήν την εντολή:

sudo shutdown -h τώρα

Όταν η λυχνία τροφοδοσίας στο RPi σβήσει (το DIMP 2 ή το DA PIMP 2 θα είναι ακόμα αναμμένο), μπορείτε να αποσυνδέσετε το τροφοδοτικό από το RPi. Στη συνέχεια, αποσυνδέστε τα καλώδια του βραχυκυκλωτήρα μεταξύ του RPi και του DIMP 2 ή DA PIMP 2.

Βήμα 9: Απλή Αντιμετώπιση προβλημάτων Εάν το Flash απέτυχε

Εάν δεν βλέπετε μηδενικά στην οθόνη σας DIMP 2 ή DA PIMP 2, τότε ήρθε η ώρα για αντιμετώπιση προβλημάτων.

Και πάλι, ελέγξτε πρώτα την καλωδίωση.

Στη συνέχεια, ελέγξτε τις καταστάσεις ασφάλειας που εμφανίζονται από το avrdude. Είναι πιθανό το τσιπ σας να έχει τις ασφάλειες που έχουν οριστεί σε διαφορετικές τιμές από τις εργοστασιακές προεπιλογές. Το τσιπ μπορεί να χρειαστεί να κάνει επαναφορά των ασφαλειών του, κάτι που απαιτεί μια εντελώς διαφορετική συσκευή υλικού. Αυτό είναι ένα πρόβλημα με πολλά από τα ψεύτικα τσιπ ATMEGA48V-10PU που πωλούνται στο ebay-είναι παλιά τσιπ βγαλμένα από απορριμμένο υλικό και οι ασφάλειες έχουν ρυθμιστεί και ο πωλητής δεν μπήκε στον κόπο να επαναφέρει τις ασφάλειες.

Μερικές φορές το τσιπ δεν είναι καν ATMEGA48V-10PU. Θα μπορούσε να είναι ένα διαφορετικό chip με επανετικέτα. Συνήθως μπορείτε να πείτε αυτά τα ψεύτικα κοιτάζοντας προσεκτικά τα σημάδια στο πάνω και κάτω μέρος του τσιπ. Είναι πιο σοφό να αποκτήσετε το ATMEGA48V-10PU μέσω ενός αξιόπιστου προμηθευτή όπως το Mouser ή το Digikey.

Συνιστάται: