Για πολύ καιρό ήθελα να συναρμολογήσω την πλακέτα Arduino μου, κοίταξα τα κυκλώματα, αλλά δεν το τόλμησα. Υπήρχαν διάφοροι λόγοι:

  • Το laptop μου δεν έχει θύρα COM, οπότε η έκδοση με Θύρα COMδεν μου ταιριάζει
  • Η έκδοση USB χρησιμοποιεί ένα πολύ ακριβό τσιπ FT232R.

Λοιπόν, μια μέρα έπεσα πάνω σε ένα άρθρο στο Habré, όπου χρησιμοποιούσαν έναν μετατροπέα στο AVR αντί για το FT232R (το κύκλωμα δεν υπάρχει), καθώς και μια παρόμοια υλοποίηση στο Zelectro, αλλά στον μικροελεγκτή Atmega8. Το τελευταίο έγινε με βάση το ιαπωνικό έργο. Όλα αυτά με ενέπνευσαν να φτιάξω τη δική μου υλοποίηση Arduino.

Και έτσι, αν μεταβείτε στον ιστότοπο του AVR-CDC και δείτε τελευταίες αλλαγές(στο αρχείο με το firmware, δεν υπάρχουν πληροφορίες στο site) τότε εφαρμόζονται γραμμές Rx Tx, καθώς και DTR, CTS, RTS, όχι μόνο στο σχετικά ακριβό ATMega8, αλλά και στο φθηνό AtTiny2313. Οι τελευταίες γραμμές λειτουργούν μόνο σε χαλαζία στα 16 ή 20 MHz. Με βάση αυτό το τσιπ αποφάσισα να συναρμολογήσω έναν μετατροπέα USB - UART.

  • Υλικολογισμικό AtTiny2313 για χαλαζία 16 MHz -
  • Πρόγραμμα οδήγησης USB -
  • μπιτ ασφαλειών- HFuse: CD; LFuse: FF

Το μέρος του Arduino έχει ληφθεί από τον επίσημο ιστότοπο χωρίς σχεδόν καμία αλλαγή.

Η πλακέτα τροφοδοτείται από USB και εξωτερικό τροφοδοτικό. Η πλακέτα έχει μια τυπική υποδοχή για τον προγραμματιστή AVR910 για να αναβοσβήνει το κύριο τσιπ. Στην περίπτωσή μου, αυτό είναι το AtMega8, αλλά μπορεί να χρησιμοποιηθεί και το AtMega168.

Για να λειτουργήσει ο προγραμματιστής AVR910, πρέπει να προστεθούν οι ακόλουθες γραμμές στο αρχείο διαμόρφωσης προγραμματιστή..\Arduino\arduino-1.0.6\hardware\arduino\programmers.txt:

Avr910.name=avr910 avr910.protocol=avr910 avr910.communication=serial avr910.speed=115200

Το παραπάνω αρχείο επεξεργάζεται μόνο κανονικά Επεξεργαστής σημειωματάριων++. Στο κανονικό Σημειωματάριο φαίνεται δυσανάγνωστο.

Παρακάτω είναι μια φωτογραφία αυτής της διάταξης Arduino από τον Pavel!

Σπιτικό USB Arduino με προγραμματιστή

Για να εργαστείτε με τον μικροελεγκτή ATmega8 ή με τη συσκευή Arduino στο ATmega8 στο περιβάλλον ανάπτυξης Arduino, πρέπει να διαμορφωθεί το πρόγραμμα Arduino. Πρέπει να προσθέσετε τις παραμέτρους των υποστηριζόμενων συσκευών στον μικροελεγκτή ATmega8 στο αρχείο hardware/arduino/boards.txt.

Ίσως χρειαστεί να προσθέσετε τα αρχεία του bootloader στο φάκελο hardware/arduino/bootloaders/optiboot.

Ο μικροελεγκτής ATmega8 μπορεί να λειτουργήσει σε συχνότητα 0-16MHz σε τάση ~5V και ο ATmega8L σε συχνότητα 0-8MHz και ο ATmega8A σε συχνότητα 0-16MHz σε ένα ευρύ φάσμα τάσεων τροφοδοσίας. Αυτό είναι σύμφωνα με το διαβατήριο, αλλά πρακτικά, σε τάση 5 V, όλοι οι μικροελεγκτές της σειράς ATmega8 μπορούν να λειτουργούν σε συχνότητα 16 MHz με εξωτερικό συντονιστή χαλαζία και σε συχνότητες 8, 4, 2, 1 MHz με εσωτερικό γεννήτρια.

Υπάρχει μια παραλλαγή της πλακέτας Arduino στον μικροελεγκτή ATmega8, αυτός είναι ο Arduino NG. Το περιβάλλον ανάπτυξης Arduino (Arduino IDE) είναι έτοιμο να λειτουργήσει με τον μικροελεγκτή ATmega8, αλλά με μία μόνο συσκευή - αυτή είναι πλακέτα arduino NG με μικροελεγκτή ATmega8 σε συχνότητα 16 MHz με εξωτερικό συντονιστή χαλαζία. Έτσι είναι τα πράγματα στο Arduino v. 1.0.6. Επιπλέον, δεν προσφέρεται ο βέλτιστος και, κυρίως, ο μη βολικός bootloader για το Arduino NG.

Για να μπορέσετε να προγραμματίσετε μικροελεγκτές ATmega8 που λειτουργούν σε διαφορετικές συχνότητες με και χωρίς συντονιστή χαλαζία, πρέπει να κάνετε αλλαγές στο αρχείο hardware/arduino/boards.txt. Για παράδειγμα, μπορείτε να προσθέσετε τις ακόλουθες ενότητες σε αυτό:

# http://optiboot.googlecode.com # http://homes-smart.ru/index.php/oborudovanie/arduino/avr-zagruzchik ################# ########################################## atmega8o.name=ATmega8 ( optiboot 16MHz ext) atmega8o.upload.protocol=arduino atmega8o.upload.maximum_size=7680 atmega8o.upload.speed=115200 atmega8o.bootloader.low_fuses=0xbf atmega8o.bootfubootti file. =optiboot_atmega8.hex atmega8o.bootloader.unlock_bits=0x3F atmega8o.bootloader.lock_bits=0x0F atmega8o.build.mcu=atmega8 atmega8o.build.f_cpu=160000000L:atmega8o.inoardu. ################################################################## ############# a8_8MHz.name=ATmega8 (optiboot 8 MHz int) a8_8MHz.upload.protocol=arduino a8_8MHz.upload.maximum_size=7680 a8_8MHz.upload.speed0MHz a_8boot. =0xa4 a8_8MHz.bootloader.high_fuses=0xdc a8_8MHz.bootloader.path=optiboot a8_8MHz.bootloader.file=a8_8MHz_a4_d c.hex a8_8MHz.build.mcu=atmega8 a8_8MHz.build.f_cpu=8000000L a8_8MHz.build.core=arduino a8_8MHz.build.variant=standard ################## ########################################## a8_1MHz.name=ATmega8 (optiboot 1 MHz int) a8_1MHz.upload.protocol=arduino a8_1MHz.upload.maximum_size=7680 a8_1MHz.upload.speed=9600 a8_1MHz.bootloader.low_fuses=0xa1 a8_1MHzbooti. file=a8_1MHz_a1_dc.hex a8_1MHz.build.mcu=atmega8 a8_1MHz.build.f_cpu=1000000L a8_1MHz.build.core=arduino a8_1MHz.build.variant=standard ######## ########################################### a8noboot_8MHz.name=ATmega8 ( no boot 8 MHz int) a8noboot_8MHz.upload.maximum_size=8192 a8noboot_8MHz.bootloader.low_fuses=0xa4 a8noboot_8MHz.bootloader.high_fuses=0xdc a8noboot_8MHz.build.mcu=atmega8 a8noboot_8MHz.build.f_cpu=8000000L a8noboot_8MHz.build8noboot_8MHz .build.variant=standard ################################################ ########### #

Τώρα σε Το πρόγραμμα arduinoΟι ακόλουθες συσκευές θα εμφανιστούν στο μενού Service / Board:

  • ATmega8 (optiboot 16MHz ext)
  • ATmega8 (optiboot 8 MHz int)
  • ATmega8 (optiboot 1MHz int)
  • ATmega8 (χωρίς εκκίνηση 8 MHz int)

Οι τρεις πρώτες συσκευές στον μικροελεγκτή ATmega8 περιέχουν bootloader, είναι συμβατές με Arduino και μπορούν να φορτωθούν απευθείας με σκίτσα (προγράμματα) από το περιβάλλον ανάπτυξης Arduino. Η τέταρτη συσκευή δεν περιέχει bootloader, μπορεί να είναι ένα ξεχωριστό τσιπ ATmega8. Στο ATmega8 (χωρίς εκκίνηση 8 MHz int), μπορούν να φορτωθούν σκίτσα από το πρόγραμμα Arduino μέσω του προγραμματιστή, συμπεριλαμβανομένου του προγραμματιστή που βασίζεται στην πλακέτα Arduino.

Το ATmega8 (optiboot 16MHz ext) λειτουργεί με εξωτερικό κρύσταλλο, άλλες συσκευές με εσωτερικό ταλαντωτή.

Οι παράμετροι στο αρχείο hardware/arduino/boards.txt ορίζουν τα bit ασφαλειών, τη διαδρομή προς το αρχείο του bootloader, τον τύπο του μικροελεγκτή και τη συχνότητά του. Τα bit ασφαλειών εγγράφονται στον μικροελεγκτή (με ή χωρίς bootloader) όταν επιλέγετε τα Εργαλεία / Κάψτε το bootloader. Τα μπιτ ασφαλειών καθορίζουν σε ποια συχνότητα θα λειτουργεί ο μικροελεγκτής σας και άλλοι. σημαντικές παραμέτρους, συμπεριλαμβανομένων εκείνων από τα οποία εξαρτώνται η απόδοση, ο επαναπρογραμματισμός του κ.λπ.

Τα bit ασφαλειών ΔΕΝ γράφονται στον μικροελεγκτή όταν ανεβάζετε σκίτσα. Εάν έχει επιλεγεί λάθος πλατφόρμα στο μενού Service / Fee, τότε:

  • Όταν ανεβάζετε σκίτσα
    • Ακατάλληλη συχνότητα - οδηγεί σε αλλαγή στην ταχύτητα των προγραμμάτων
    • Ακατάλληλος επεξεργαστής - οδηγεί σε αλειτουργία των προγραμμάτων
  • Όταν γράφετε bootloader
    • Ακατάλληλη συχνότητα - μπορεί να οδηγήσει σε αδυναμία λειτουργίας του μικροελεγκτή σε αυτό το σύστημα
    • Ακατάλληλος επεξεργαστής (ασφάλειες) - για το μπλοκάρισμα του μικροελεγκτή

Προσοχή, οι λανθασμένες ενέργειές σας μπορεί να απενεργοποιήσουν τον μικροελεγκτή, ο οποίος θα απαιτήσει έναν προγραμματιστή για επαναφορά.

Bootloader για μικροελεγκτή ATmega8.

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

Bootloaders Το Optiboot είναι μια ανεξάρτητη, ανοιχτού κώδικα ανάπτυξη bootloader που αναγνωρίζεται από τους προγραμματιστές του Arduino. Το Optiboot έχει σχεδιαστεί για χρήση με διαφορετικές παραλλαγές Arduino και για διάφορες Μικροελεγκτές Atmel. Οι κύριες διαφορές του bootloader Optiboot από τους ανταγωνιστές είναι έως και τέσσερις φορές μειωμένο μέγεθος κώδικα, μείωση άχρηστων καθυστερήσεων στον μικροελεγκτή, υψηλή ταχύτηταανέβασμα σκίτσων από υπολογιστή.

Τοποθετήστε τα αρχεία των bootloaders στο πρόγραμμα Arduino σύμφωνα με όσα αναγράφονται στο αρχείο hardware/arduino/boards.txt. Για παράδειγμα, για μια συσκευή ATmega8 (optiboot 16MHz ext), το αρχείο bootloader πρέπει να τοποθετηθεί στο φάκελο hardware/arduino/bootloaders/optiboot50 και το όνομα αρχείου πρέπει να είναι optiboot_atmega8.hex

Κρατώντας την αρχική πλακέτα Arduino στα χέρια μου, προέκυψε στο κεφάλι μου η ιδέα να συναρμολογήσω τον κλώνο του. Αφού κάθισε και σκέφτηκα το έργο, αποφασίστηκε να χωρέσουν τα πάντα σε μια πλακέτα μονής όψης και να δοθεί στην πλακέτα ένα τσιπ FT232RL για επικοινωνία με υπολογιστή. Για να αποφευχθεί η κατάρρευση θύρα USBυπολογιστή, λόγω υπερβολικής κατανάλωσης ρεύματος, αποφάσισα να θυσιάσω τη δυνατότητα τροφοδοσίας από USB, αλλά περισσότερα για αυτήν την κίνηση λίγο αργότερα.

Λοιπόν, αγαπητοί αναγνώστες, παρουσιάζω στην προσοχή σας την έκδοση του κλώνου Arduino. Γνωρίστε το Paduino FT232RL

Όπως αναφέρθηκε παραπάνω, η πλακέτα έχει ένα μειονέκτημα - στερείται τη δυνατότητα τροφοδοσίας από τη θύρα USB. Ωστόσο, χάρη στη χρήση του τσιπ FT232RL, υπάρχει έξοδος 3,3 V στην πλακέτα. Επίσης να προσθέσω. Θα ήθελα να αποδώσω την παρουσία ενός βραχυκυκλωτήρα στη λειτουργικότητα αυτόματη λήψη(ΕΝΕΡΓΟΠΟΙΗΣΗ), καθώς και ένα βραχυκυκλωτήρα (JP LED13), που σας επιτρέπει να απενεργοποιήσετε το LED που δεν χρησιμοποιείται πάντα που είναι συνδεδεμένο με τον αριθμό 13.

Επίσης, εκτός από την ήδη υπάρχουσα έξοδο Vin στο Arduino, έχει προστεθεί μια έξοδος VTG INPUT. Κατά τη γνώμη μου, η τυπική έξοδος Vin έχει μια σειρά από μειονεκτήματα, αν και από την άλλη υπάρχουν πλεονεκτήματα. Τα μειονεκτήματα περιλαμβάνουν την απώλεια τάσης στη δίοδο (0,6-0,8 βολτ), επίσης όταν το Arduino τροφοδοτείται όχι από την υποδοχή τροφοδοσίας, αλλά απευθείας από τις χτένες, χάνουμε την προστασία από την αντιστροφή πολικότητας. η έξοδος Vin στο κύκλωμα βρίσκεται μετά την προστατευτική δίοδο. Στον ακροδέκτη ΕΙΣΟΔΟΥ VTG, έχουμε πάντα μια τάση ίση με την τάση εισόδου χωρίς απώλειες και όταν το Arduino τροφοδοτείται μέσω των χτενών, διατηρείται η λειτουργία προστασίας αντίστροφης πολικότητας. στο διάγραμμα, η έξοδος βρίσκεται μπροστά από την προστατευτική δίοδο. Τα πλεονεκτήματα της εξόδου Vin περιλαμβάνουν το γεγονός ότι όταν η τροφοδοσία τροφοδοτείται σωστά, θα υπάρχει πάντα ένα συν, διαφορετικά δεν θα υπάρχει τίποτα, ενώ στην ΕΙΣΟΔΟ VTG είναι είτε μείον είτε συν.

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

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

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

Λίγα λόγια για το FT232RL. Το μικροτσίπ είναι αρκετά μικρό. Για να μπορέσετε να αξιολογήσετε τις δυνάμεις σας, δίνω μια φωτογραφία του FTS σε ένα νόμισμα δέκα καπίκων.

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

Όσον αφορά το μέγεθος, το Paduino δεν είναι πολύ μεγαλύτερο από το αρχικό Arduino.

Τα πάντα, με την κατασκευή κατάλαβα. Για να εργαστείτε στο περιβάλλον Arduino, μένει μόνο να συμπληρώσετε τη μνήμη του ελεγκτή bootloader.

Μετά τη μεταφόρτωση του bootloader, τίποτα δεν μας εμποδίζει να προχωρήσουμε απευθείας στον προγραμματισμό.

Πρώτα πρέπει να κατεβάσετε το περιβάλλον Arduino. Κατεβάστε τελευταία έκδοσηδιαθέσιμο στον ιστότοπο του κατασκευαστή.

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

Εάν, κατά τη σύνδεση, το πρόγραμμα οδήγησης στο FT232RL δεν είναι εγκατεστημένο αυτόματη λειτουργία, στη συνέχεια πραγματοποιήστε λήψη του προγράμματος οδήγησης για το λειτουργικό σας σύστημα από τον ιστότοπο του κατασκευαστή του FTDI.

Στα σχόλια του άρθρου, ένα άτομο επεσήμανε την πιθανότητα σύγκρουσης μεταξύ νέων προγραμμάτων οδήγησης για το FT232RL από τον ιστότοπο του κατασκευαστή. Από αυτή την άποψη, είναι καλύτερο να εγκαταστήσετε το πρόγραμμα οδήγησης από το Arduino IDE (arduino-1.0.5-windows\arduino-1.0.5\drivers\FTDI USB Drivers)

Ανοίξτε το αναγνωριστικό που κατεβάσατε και επιλέξτε τον πίνακα. Η πλακέτα θα εμφανίζεται ως Arduino NG ή παλαιότερο με ATmega 8 όταν χρησιμοποιείτε ελεγκτή ATmega 8 ή Arduino NG ή παλαιότερο w/ATmega 168 όταν χρησιμοποιείτε ATmega168.

Στη συνέχεια, επιλέξτε τη COMport στην οποία είναι συνδεδεμένη η πλακέτα. Το καλώδιο μου καθορίστηκε κάτω από τον ένατο αριθμό.

Για να ελέγξετε την απόδοση, συμπληρώστε το δοκιμαστικό πρόγραμμα flasher στον ελεγκτή κάνοντας τα εξής:

Μετά από μια επιτυχημένη λήψη, θα πρέπει να δείτε τα ακόλουθα

Αν όλα δούλεψαν, τότε συγχαρητήρια. Εσείς οι ίδιοι έχετε συναρμολογήσει έναν πλήρη κλώνο USB Arduino.

Το αρχείο περιέχει ένα πρότυπο για το LUT και μια λίστα εξαρτημάτων.

Ανοίξτε Εικόνα => Εκτύπωση => Πλήρης σελίδα

Για να διευκολυνθεί η αποκόλληση των εξαρτημάτων smd στην πίσω πλευρά της πλακέτας, όπου δεν υπάρχει σήμανση, θα δώσω μια εικόνα.

Θα ήθελα να σημειώσω ότι δεν υπάρχουν σημάνσεις στους πυκνωτές smd, αλλά για να διευκολύνω την αποκόλληση στην εικόνα, τις εφάρμοσα. 104 - 0,1 uF, 22 - 22 pF.

(P.S. Έγραψα το ίδιο άρθρο στο www.nnm.ru, αποφάσισα να συγχρονίσω τις εκδόσεις).
Κάπως (πριν από μερικούς μήνες) περιηγώντας τις ειδήσεις στο Διαδίκτυο, έπεσα πάνω σε πολύ κολακευτικές κριτικές για το πολύ δημοφιλές έργο Arduino. Γράφτηκε ότι σχεδόν οι νοικοκυρές το αγαπούν και μπορούν να το μπερδέψουν και να κάνουν κάθε λογής ενδιαφέροντα πράγματα με αυτό. Λοιπόν λοιπόν. Γιατί να μην το δοκιμάσω, φαίνεται να έχω χέρια και μυαλό... Ωστόσο, ούτε τα οικονομικά ούτε η φυσική τσιγκουνιά μου επέτρεψαν να αγοράσω έτοιμη σανίδα. Με μουστάκι θα το κάνουμε. Εδώ είναι η οδηγία από το γραφείο. Ιστότοπος: http://arduino.cc/en/Main/ArduinoBoardSerialSingleSided3
Εκεί θα βρείτε μια λίστα με ανταλλακτικά και σχέδια εκτύπωσης .... Με λίγα λόγια, όλα όσα χρειάζεστε για την κατασκευή. Έφτιαξα δύο από αυτές τις σανίδες και έμεινα πολύ ευχαριστημένος.

Υπάρχει όμως ένα αλλά. ΣΤΟ επίσημη έκδοσηένα μπλοκ σε τρανζίστορ λειτουργούσε ως μετατροπέας RS232 .... και αυτό οδήγησε σε ασταθή ανταλλαγή πληροφοριών.
Αλλά δεν είμαι ο πρώτος που έχω αυτό το πρόβλημα. Εδώ είναι μια παραλλαγή ενός πραγματικού μετατροπέα MAX232
http://spiffie.org/electronics/archives/microcontrollers/Build%20a%20MaxSerial%20Freeduino.html
Αξίζει να το κάνετε.
Εδώ είναι η διαδικασία μου για την εφαρμογή αυτής της επιλογής.
Συλλέγουμε τα πάντα στο σωρό Ανταλλακτικά και συνδετήρες - κοστίζουν λιγότερο από 10 $.
Θα χρειαστούμε:
-- ένα κομμάτι από υαλοβάμβακα μονής όψης (95x65mm)
- μικροελεγκτής ATmega8 (ή ATmega168)
- Τσιπ MAX232 (μπορείτε να χρησιμοποιήσετε το ενσωματωμένο ILX232N)
- 7805 (ρυθμιστής τάσης 5V)
- 4 LED (κατά προτίμηση διαφορετικά χρώματα)
- χαλαζίας 16 Mhz
- κουμπί (με τέσσερις επαφές)
— υποδοχή θύρα COM (μητέρα) για συγκόλληση
- υποδοχή τροφοδοσίας (2,1 mm)
- Πυκνωτής 22pF (σημαδεύει είτε 22 είτε 220) - 2 τεμ.
- πυκνωτής 0,1 uF (σήμανση 104) - 3 τεμ.
- αντίσταση 1k (0,125 watt) - 5 τεμ
- αντίσταση 10k (0,125 watt) - 1 τεμ
- δίοδος 1N4004 (ή 1N4007) - 1 τεμ.
- ηλεκτρολύτης. πυκνωτής 10uF x16V - 5 τεμάχια (ελάχιστο ύψος, διαφορετικά δεν γίνονται οι ασπίδες)
- ηλεκτρολύτης. πυκνωτής 100uF x16V - 2 τεμάχια (επίσης χαμηλή)
- μαξιλαράκια για μικροκυκλώματα (16 πόδια - 1 τεμ., 28 πόδια στενά - 1 τεμ.)
καλά, μια-δυο λωρίδες καρφίτσες και αντίστοιχα. είμαι μαμάδες.

Η πιο υπεύθυνη είναι η παραγωγή μιας σφραγίδας. ( Έτοιμο αρχείο Word-ovsky για εκτύπωση καιLUT ).

Για άλλη μια φορά επαναλαμβάνω, ΟΛΑ εξαρτώνται από την ποιότητα παραγωγής της εκτύπωσης!!!

Η έτοιμη (χαραγμένη) σανίδα πρέπει να επικασσιτερωθεί. Αν θέλετε ομορφιά, χρησιμοποιήστε το κράμα Rosé. Νομίζω ότι μπορείτε εύκολα να βρείτε μια περιγραφή αυτής της μεθόδου στο διαδίκτυο. Λοιπόν, μπορείτε να χρησιμοποιήσετε τη ροή και τη συγκόλληση με τον παλιό τρόπο.

Για ομορφιά και ευκολία, η διάταξη των στοιχείων και των επιγραφών μπορεί να εφαρμοστεί (με τα ίδια λάφυρα) στην μπροστινή πλευρά.

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

Θέα από την πλευρά της συγκόλλησης.

Και από το αποτέλεσμα. Η έκδοσή μου απέχει πολύ από το πρότυπο, αλλά είναι αρκετά αποτελεσματική :)

Άρα, τα 2/3 της δουλειάς έχουν γίνει. Απομένει να "αναπνεύσουμε ζωή" - αναβοσβήνουν την πλακέτα με το bootloader. :)

Για να γίνει αυτό, πρέπει να φτιάξετε έναν μικρό προγραμματιστή.
Εδώ είναι το διάγραμμα:

Και εδώ είναι η υλοποίηση υλικού:

Κατεβάστε το λογισμικό από τον επίσημο ιστότοπο. Εγκαθιστούμε. Εκκινούμε.

Ακολουθούμε το μονοπάτι: -> ->

Συνδέουμε τον προγραμματιστή στο Arduino, ο σύνδεσμος είναι σε LPT, τροφοδοτούμε το Arduino

DIY Arduino

Λοιπόν, ήρθε η ώρα να κυριαρχήσετε μόνοι σας στην πλατφόρμα duino. Αρχικά, ας καταλάβουμε τι μπορεί να χρειαστούμε. Για αρχή, δεν θα ήταν κακό να αποφασίσουμε με βάση το τι θα κάνουμε το αντίγραφό μας στον πίνακα εντοπισμού σφαλμάτων. Για να απλοποιήσετε την αρχική εργασία, προτείνω να χρησιμοποιήσετε έναν προσαρμογέα USB-(UART)TTL για τη μεταφόρτωση σκίτσων. Αυτό θα κάνει τη ζωή μας πολύ πιο εύκολη. προσωπικά, θα χρησιμοποιήσω έναν φτηνό προσαρμογέα που παρήγγειλα από ένα πλέον ανενεργό ηλεκτρονικό κατάστημα, αλλά εξακολουθεί να λειτουργεί.

Κατά την κατασκευή του Duino μας, θα προσπαθήσουμε να χρησιμοποιήσουμε τον ελάχιστο αριθμό στοιχείων. Καθώς αναπτύσσουμε, θα προσθέτουμε τα απαραίτητα εξαρτήματα.

Για αναφορά, θα βρούμε σχήματα διάφορες πλατφόρμεςστο επίσημο site:

Κατά τη γνώμη μου, τα σχήματα είναι καλά, αλλά θα ήταν ωραίο να δούμε τις ήδη αποδεδειγμένες υλοποιήσεις του "σπιτικού", μου άρεσαν πολύ 3 επιλογές:

Θα κατασκευάσουμε μια ελάχιστη ζώνη για τη συσκευή μας. Στο πρώτο στάδιο των λεπτομερειών, απαιτείται ένα ελάχιστο:

Στην πραγματικότητα το ίδιο το atmega328P MK (στην περίπτωσή μου, αν και μπορούν να χρησιμοποιηθούν και τα 168 και 8)

Χαλαζίας 16 MHz

Πυκνωτής 22pF x 2τμχ.

Αντίσταση 10k

Κουμπί επαναφοράς (οποιοδήποτε, παρεμπιπτόντως, δεν είναι απαραίτητο στοιχείο)

Αυτά είναι βασικά όλα όσα είναι ελάχιστα απαραίτητα για τη λειτουργία του μικροελεγκτή. Προτείνω να εικονογραφήσουμε και να σχεδιάσουμε όλα τα έργα μας σε ένα πολύ καλό πρόγραμμα Fritzing:

Λοιπόν, ας δούμε γιατί χρειάζονται αυτά τα στοιχεία. Το κουμπί σάς επιτρέπει να επανεκκινήσετε τον μικροελεγκτή, η αντίσταση R1 είναι μια αντίσταση έλξης για το κουμπί. Τα Crystal, C1 και C2 είναι η εξωτερική γεννήτρια ρολογιού για τον ελεγκτή.


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

Λοιπόν, το μίνιμαλ Duino μας είναι έτοιμο. Για να είναι πιο βολική η χρήση αυτού του εργαλείου εντοπισμού σφαλμάτων, προτείνω να κολλήσετε μια υπόδειξη με το pinout "atmega" στη θήκη. Η έκδοσή μου υλοποιείται στο Corel Draw:

Αρχικά, ας συναρμολογήσουμε το κύκλωμα του Duino μας σε μια πλακέτα ψωμιού χωρίς συγκόλληση, ορίστε τι πήρα:

Για να ανεβάσουμε σκίτσα, θα χρησιμοποιήσουμε έναν προσαρμογέα USB - TTL, στη φωτογραφία είναι ο ήδη αρκετά άθλιος προσαρμογέας μου που βασίζεται στο τσιπ CP2102:

Πριν όμως ανεβάσετε τα σκίτσα, είναι απαραίτητο να ανεβάσετε το bootloader στο MK, διαφορετικά, δεν θα «καταλάβει» τι θέλουμε από αυτόν. Υπάρχουν πολλοί τρόποι, αλλά θα χρησιμοποιήσουμε τους πιο απλούς. Χρησιμοποιώντας τον υπέροχο προγραμματιστή USBasp:

Αρχικά, ας συνδέσουμε το Duino μας με τον προγραμματιστή, είναι πολύ απλό, απλώς συνδέστε τις επαφές του προγραμματιστή στο Duino:

GND - έδαφος (22 πόδια)

MOSI - MOSI (d11)

5V - Τροφοδοτικό "+" (7 πόδια)

Στη συνέχεια, Arduino IDE -> Εργαλεία -> "Write Bootloader":

Κατά τη διαδικασία εγγραφής του bootloader, θα πρέπει να περιμένετε περίπου 2 λεπτά. Μετά από αυτό, μπορεί να μας πέσουν διάφορες "προειδοποιήσεις", όπως "δεν μπορεί να οριστεί περίοδος SCK" - μην φοβάστε και προχωρήστε.

Λοιπόν, εδώ είμαστε έτοιμοι να καταγράψουμε το σκίτσο δοκιμής "Blink" στο πρόσφατα κομμένο Duino μας, αλλά υπάρχει ένα σημείο και θα ήθελα να σταθώ σε αυτό. Όπως έχουμε ήδη πει, μια σειριακή θύρα χρησιμοποιείται για την εγγραφή σκίτσων, αλλά στην "κανονική" ζωή του MK αυτές είναι οι ψηφιακές θύρες 0 και 1. Όλα είναι πολύ απλά, έχουμε ήδη ανεβάσει τον bootloader, αρχικοποιεί την εγγραφή νέο υλικολογισμικόόταν ενεργοποιηθεί για μερικά δευτερόλεπτα, μετά από αυτό το Duino ξεκινά να εκτελεί το πρόγραμμα που είναι αποθηκευμένο στη μνήμη του.

Για να θέσετε το Duino σε λειτουργία "λήψης", πρέπει να επανεκκινήσετε το MK, για αυτό δημιουργήσαμε ένα ειδικό κουμπί, αλλά πρέπει να το πατήσετε αυστηρά ορισμένη στιγμή, δεν μας ταιριάζει καθόλου. Ευτυχώς, στους αντάπτορες υπάρχει μια ειδική καρφίτσα «RST», η οποία αρκεί για να συνδεθεί σε 1 σκέλος του MK, ώστε να επανεκκινήσει αυτόματα το Duino πριν φορτώσει το σκίτσο. Η σύνδεση είναι πολύ απλή, (προσαρμογέας - Duino):

GND - έδαφος (22 πόδια)

RXD - σύνδεση στο TXD (3 πόδια)

TXD - σύνδεση στο KXD (2 πόδια)

5V - Τροφοδοτικό "+" (7 πόδια)

Όπως παρατηρήσατε, οι επαφές λήψης / μετάδοσης συνδέονται σταυρωτά. Και όλα θα ήταν καλά, αλλά υπάρχει ένα "αλλά": υπάρχει ένας τεράστιος αριθμός προσαρμογέων και για αυτόματη επανεκκίνησηΗ MK πρέπει να εισάγει έναν πυκνωτή 100pF στο διακόπτη - επαναφορά κυκλώματος RST (1 σκέλος). Μερικοί προσαρμογείς το έχουν και κάποιοι όχι. Εδώ πρέπει μόνο να ελέγξετε, στο αντίγραφό μου δεν υπήρχε ενσωματωμένος πυκνωτής. Ως αποτέλεσμα, το σχέδιο είναι λίγο "περίπλοκο":

Λοιπόν, τώρα μπορείτε να φορτώσετε το σκίτσο στη μνήμη του Duino και να προσπαθήσετε να κάνετε μερικά πειράματα =) (Οι λυχνίες LED προστίθενται στη φωτογραφία - δείκτες φόρτωσης σκίτσου):