» Θέματα » Επισκευή, εκσυγχρονισμός »Πώς να αναβοσβήνει ένας φακός για να αλλάξετε τους τρόπους λειτουργίας

Πώς να αναβοσβήνει ένας φακός για να αλλάξετε τους τρόπους λειτουργίας


Ο συγγραφέας αυτού του υλικού δεν ήθελε τους κανονικούς τρόπους λειτουργίας του φακού BLF A6. Στη συνέχεια αποφάσισε να αναβοσβήνει το λογισμικό μέρος του φακού, ρυθμίζοντας τις λειτουργίες του. Όπως αποδείχθηκε, αυτό δεν είναι τόσο απλό, υπάρχουν ελάχιστες πληροφορίες για το firmware και τα pinouts και έπρεπε να το συλλέξει λίγο κομμάτι. Και για να μην χαθεί, αποφάσισε να βοηθήσει τους άλλους και να οργανώσει τα πάντα σε ένα άρθρο.

Έτσι, για εργασία θα χρειαστείτε τα εξής:
Φανός BLF A6 (πιθανώς αυτό θα συνεργαστεί με άλλα φλας που βασίζονται στο ATtiny).
Λαβίδες / λεπτές πένσες / μικρά ψαλίδια.
Ένας υπολογιστής για firmware, κατά προτίμηση με διανομή Linux.
USB ASP / Προγραμματιστής Arduino / κάτι που ο προγραμματισμός AVR μπορεί να κάνει (προφανώς, ο προγραμματιστής USB ASP είναι καλύτερο, αλλά ο οδηγός χρησιμοποίησε Arduino).
Ο ενισχυτής υψηλής ταχύτητας Rail-to-Rail [SOIC-8] (μπορείτε να το κάνετε χωρίς αυτό, αλλά είναι πολύ ενοχλητικό).
Πίνακας ανάπτυξης και καλώδια βραχυκύκλωσης για σύνδεση.

Firmware.
Το υλικολογισμικό για το BLF A6 (και πολλά άλλα φλας) είναι διαθέσιμο εδώ. Ένα φόρουμ συζήτησης είναι διαθέσιμο σε αυτό τη σύνδεση.
Μπορείτε να κατεβάσετε το υλικολογισμικό εκτελώντας την αναζήτηση "bzr branch lp: φλας-firmware". Χρειάζεται φακό-firmware / ToyKeeper / blf-a6 φάκελο. Περιέχει ένα μεταγλωττισμένο αρχείο. hex, έτοιμο για firmware (blf-a6.hex) και κώδικα C, το οποίο μπορεί επίσης να αλλάξει (blf-a6.c). Αν θέλετε να αναβοσβήνει το υλικολογισμικό αποθήκης, μπορείτε να παραλείψετε το επόμενο βήμα και απλά να χρησιμοποιήσετε το blf-a6.hex. Κάποιο άλλο υλικολογισμικό σε αυτό το αποθετήριο θα λειτουργήσει πιθανώς επίσης.

Αλλάξτε το υλικολογισμικό.
Προσοχή τα σύμβολα, ώστε να μη διαστρεβλώνεται το νόημα, δίνονται χωρίς μετάφραση.
Ανοίξτε το blf-a6.c στον προτιμώμενο επεξεργαστή κειμένου ή IDE. Οι πιο ενδιαφέρουσες γραμμές είναι οι ομάδες λειτουργιών μεταξύ των γραμμών 94 και 109. Εμφανίζονται ως εξής:
// Ομάδα λειτουργιών 1
#define NUM_MODES1 7
// Επίπεδα PWM για το μεγάλο κύκλωμα (FET ή Nx7135)
#define MODESNx1 0,0,0,7,56,137,255
// επίπεδα PWM για το μικρό κύκλωμα (1x7135)
#define MODES1x1 3,20,110,255,255,255,0
// Το δείγμα μου: 6 = 0..6, 7 = 2..11, 8 = 8..21 (15..32)
// δείγμα Krono: 6 = 5..21, 7 = 17..32, 8 = 33..96 (50..78)
// Manker2: 2 = 21, 3 = 39, 4 = 47, ... 6β = 68
// ταχύτητα PWM για κάθε λειτουργία
#define MODES_PWM1 ΦΑΣΗ, ΓΡΗΓΟΡΗ, ΓΡΗΓΟΡΟΣ, ΓΡΗΓΟΡΟΣ, ΓΡΗΓΟΡΑ, ΦΑΣΗ
// Λειτουργική ομάδα 2
#define NUM_MODES2 4
#define MODESNx2 0,0,90,255
#define MODES1x2 20,230,255,0
#define MODES_PWM2 ΓΡΗΓΟΡΗ, ΓΡΗΓΟΡΗ, ΓΡΗΓΟΡΑ, ΦΑΣΗ

Για κάθε ομάδα, το MODESN είναι η τιμή PWM που χρησιμοποιείται για το FET και το MODES1 είναι η τιμή PWM που χρησιμοποιείται για το 7135 σε κάθε κατάσταση λειτουργίας. Ο αριθμός είναι στην περιοχή από 0 έως 255 και αντιστοιχεί στη φωτεινότητα του φωτός. Περισσότερες πληροφορίες
εδώ. (μετακινηθείτε προς τα κάτω στο "Έλεγχος λειτουργίας:") Ο κύριος δεν είναι σίγουρος ποια είναι η ταχύτητα PWM.Αν κάποιος ξέρει, πες μου στα σχόλια. Ένα τρανζίστορ φαινομένου πεδίου μπορεί να παράγει περισσότερο φωτισμό από 7135, αλλά το 7135 διατηρεί το επίπεδο φωτός λίγο πολύ το ίδιο καθ 'όλη τη διάρκεια ζωής της μπαταρίας, ενώ όταν χρησιμοποιείται ένα τρανζίστορ με φαινόμενα πεδίου, το φως μειώνεται όταν η μπαταρία εξαντληθεί.

Εδώ μπορούμε να ρυθμίσουμε τις τιμές PWM για να δημιουργήσουμε τρόπους με τις προτιμήσεις μας. Μπορείτε επίσης να αλλάξετε τον αριθμό των τρόπων λειτουργίας, αλλά ο πλοίαρχος δεν το έκανε αυτό επειδή χρειάζεται τέσσερις τρόπους, και αυτός είναι ο αριθμός στη δεύτερη ομάδα. Ήθελε ένα πιο σκοτεινό καθεστώς φεγγαριού και επομένως έβαλε το πρώτο σε 0/1. Θεωρεί επίσης το turbo mode λίγο άσκοπο, γι 'αυτό το αντικατέστησα με 137/255, το οποίο είναι ισοδύναμο με τον έκτο τρόπο σε μια ομάδα επτά τρόπων.

Όταν έχετε τον κωδικό που χρειάζεστε, πρέπει να τον μεταγλωττίσετε σε ένα αρχείο .hex. Τουλάχιστον χρειάζεστε gcc-avr και avr-libc. Εάν αντιμετωπίζετε προβλήματα, εξετάστε άλλες εξαρτήσεις στο αρχείο readme. Το αποθετήριο περιλαμβάνει ένα σενάριο δημιουργίας, οπότε το μόνο που έχετε να κάνετε είναι να εκτελέσετε:
../../bin/build.sh 13 blf-a6
στο φάκελο blf-a6. ../../Bin/build.sh είναι το σενάριο. Το 13 δείχνει ότι είναι για το ATtiny13 και το blf-a6 δείχνει ότι είναι για το BLF A6.
avr-gcc -Wall -g-Οδ -mmcu = attiny13 -c-std = gnu99 -fgnu89-inline -DATTINY = 13 -I .. -I ../ .. -I ../../ .. -fshort -όνομα -o blf-a6.o-c blf-a6.c
avr-gcc -Wall -g -Os -mmcu = attiny13 -fgnu89-inline -o blf-a6.elf blf-a6.o
avr-objcopy --set-section-flags = .eeprom = alloc, load -change-section-lma .eeprom = 0 - προειδοποιήσεις χωρίς αλλαγή -O ihex blf-a6.elf blf-a6.hex
Πρόγραμμα: 1022 bytes (99,8% Full)
δεδομένα: 13 bytes (20,3% πλήρης)
Οι ομάδες έχουν ήδη βελτιστοποιηθεί σε μέγεθος, οπότε αν είναι γραμμένο ότι είναι περισσότερο από 100% πλήρες, προσπαθήστε να το διαγράψετε
#define FULL_BIKING_STROBE

Η γραμμή 125 μπερδεύει μικρό ποδήλατο στροβοσκοπικό φως. Αν αυτό δεν είναι αρκετό, τότε θα χρειαστεί να κοπεί κάτι άλλο.
Όταν η συμπλήρωση ολοκληρωθεί, ο φάκελος πρέπει να περιέχει ένα αρχείο με όνομα blf-a6.hex. Αυτό είναι compiled κώδικα, είναι έτοιμο για firmware.

Αφαίρεση του φανού.
Ξεβιδώστε τον προβολέα του φανού. Υπάρχουν δύο βιδωτές συνδέσεις. Αυτό που είναι πιο κοντά στο σώμα του φακού καθορίζει τον ανακλαστήρα και το LED, και εκείνο που είναι πιο κοντά στο μέσο καθορίζει την σανίδα. Χρειαζόμαστε έναν μέσο όρο.

Στο εσωτερικό θα δείτε ένα δαχτυλίδι με ελατήριο και δύο τρύπες κατά μήκος των άκρων. Τοποθετήστε τις τσιμπιδάκια / λεπτές πένσες / ψαλίδια στις οπές και περιστρέψτε τους αριστερόστροφα.

Μόλις αφαιρεθεί ο δακτύλιος, θα έχετε πρόσβαση στο διοικητικό συμβούλιο. Είναι ακόμα συνδεδεμένο με δύο σύρματα, οπότε προσέξτε. Είναι στριμμένα μαζί, έτσι περιστρέψτε την σανίδα μέχρι να χαλαρώσουν τα καλώδια. Στη συνέχεια, γυρίστε τον πίνακα. Είναι απαραίτητο το τσιπ με την επιγραφή "TINY13A" να ήταν πιο προσιτό.

Εάν τα καλώδια είναι σύντομα και δεν λειτουργεί, τότε πρέπει να αφαιρέσετε την πλακέτα.






Σύνδεση.
Τώρα πρέπει να προετοιμάσετε το διοικητικό συμβούλιο για firmware.
Ο οδηγός χρησιμοποιεί το SOIC8 για να συνδέσει το τσιπ ATtiny13 και τον προγραμματιστή.
Πώς να αναβοσβήνει ένας φακός για να αλλάξετε τους τρόπους λειτουργίας



Δείτε τη φωτογραφία καθώς ο οδηγός κάνει τη σύνδεση. Παρατηρήστε την κόκκινη γραμμή στο δεύτερο σχήμα.

Εάν χρησιμοποιείτε τον προγραμματιστή USB ASP V2.0, πρέπει να το συνδέσετε ως εξής:
Pin 1 στο ATtiny13 - Καρφίτσα 5 στο USB ASP (επαναφορά)
Καρφίτσα 4 σε ATtiny13 - Καρφίτσα 10 σε USB ASP (Γείωση)
Καρφίτσα 5 στο ATtiny13 - Καρφίτσα 1 σε USB ASP (MOSI)
Pin 6 στο ATtiny13 - Pin 9 σε USB ASP (MISO)
Καρφίτσα 7 στο ATtiny13 - Καρφίτσα 7 σε USB ASP (SCK)
Pin 8 σε ATtiny13 - Pin 2 σε USB ASP (VCC)

Εάν χρησιμοποιείτε το Arduino, όπως ο οδηγός, ακολουθήστε τα παρακάτω βήματα:
Ανοίξτε το IDE του Arduino και βεβαιωθείτε ότι το Arduino είναι συνδεδεμένο στον υπολογιστή. Βρείτε το σκίτσο του ISP στο Αρχείο> Παραδείγματα> 11.ArduinoISP> ArduinoISP και μεταφορτώστε το στο Arduino. Στη συνέχεια, συνδέστε το ATtiny13 σε αυτό ως εξής:
Pin 1 στο ATtiny13 - Pin 10 στο Arduino (επαναφορά)
Pin 4 στο ATtiny13 - GND στο Arduino (Ground)
Καρφίτσα 5 στο ATtiny13 - Pin 11 στο Arduino (MOSI)
Pin 6 στο ATtiny13 - Pin 12 στο Arduino (MISO)
Καρφίτσα 7 στο ATtiny13 - Pin 13 στο Arduino (SCK)
Η ακίδα 8 στο ATtiny13 - VCC / 5V ή στο 3.3V στο Arduino (προτιμάται το 5V)

Firmware.
Βήμα 5: αναβοσβήνει
Για το υλικολογισμικό, πρέπει να εγκαταστήσετε το AVRDUDE. Για να ελέγξετε αν αυτό λειτουργεί με το Arduino, ο οδηγός γράφει μια εντολή:
avrdude -v -p attiny13-c stk500v1-Ρ / dev / ttyUSB0-b 19200-n
Αν αυτό λειτουργεί, μεταβείτε στον κενό φάκελο και καταχωρήστε:
avrdude -v -p attiny13 -c stk500v1 -P / dev / ttyUSB0 -b 19200 -u -Uflash: r: flash-dump.hex: i -Ueeprom: r: eeprom-dump.hex: i -Χρήστη: r: lfuse -dump.hex: i -Φύση: r: hfuse-dump.hex: i
Κάντε ένα αντίγραφο ασφαλείας του υπάρχοντος υλικολογισμικού. Για να αναβοσβήνει, από το φάκελο με το τροποποιημένο blf-a6.hex ξεκινάει:
avrdude -v -p attiny13 -c stk500v1 -P / dev / ttyUSB0 -b 19200 -u -Flash: w: blf-a6.hex -Χρήσιμο: w: 0x75: m -Φυσιολογία: w: 0xFF: m
Πρέπει να ορίσετε το stk500v1 ως προγραμματιστή και να καθορίσετε την ταχύτητα μεταφοράς θύρας και δεδομένων. Εάν χρησιμοποιείτε Arduino και έχετε αμφιβολίες, δοκιμάστε να αποσυνδέσετε το ATtiny13 από το Arduino και να ανεβάσετε το σκίτσο στο IDE του Arduino χρησιμοποιώντας αυτές τις ρυθμίσεις. Αυτό δεν θα λειτουργήσει, αλλά θα μάθετε ποια εντολή χρησιμοποιείται στο παράθυρο της κονσόλας. Στη συνέχεια, μπορείτε να αντιγράψετε τα χαρακτηριστικά στην εντολή AVRDUDE.

Εάν χρησιμοποιείτε προγραμματιστή USB ASP, εκτελέστε:
avrdude -v -p attiny13-c usbasp -n
Για να δείτε αν αυτό λειτουργεί:
avrdude -v -p attiny13 -c usbasp -u -Uflash: r: flash-dump.hex: i -Ueeprom: r: eeprom-dump.hex: i -Φύση: r: lfuse-dump.hex: r: hfuse-dump.hex: i
Δημιουργία αντιγράφου ασφαλείας:
avrdude -v -p attiny13 -c usbasp -u -Flash: w: blf-a6.hex -Φυσιολογία: w: 0x75: m -Φυσιολογία: w: 0xFF: m
Για αναβοσβήνει:
-Flash: w: blf-a6.hex. Αντικαταστήστε το blf-a6.hex με το όνομα του αρχείου σας αν είναι διαφορετικό.
-Φυσιοληψία: w: 0x75: m και -Uffuse: w: 0xFF: m
Εάν παρουσιαστεί κάποιο σφάλμα, αυτό σημαίνει ότι το αρχείο εικόνας είναι πολύ μεγάλο για να χωρέσει στο τσιπ και θα πρέπει να διαγράψετε μέρος του κώδικα. Εάν όλα είναι φυσιολογικά, θα πρέπει να εμφανιστούν μερικοί δείκτες προόδου και στη συνέχεια οι λέξεις "avrdude done. Thank you".
Μετά την ανάφλεξη του τσιπ, συναρμολογήστε το φακό και δείτε αν λειτουργεί.
Ερώτηση \ θέμα δημοσιεύεται αυτόματα στο κοινωνικό. δίκτυο δικτύου - μείνετε συντονισμένοι για απαντήσεις εκεί:

Κατάλληλο για θέμα

Σχετικά θέματα

Προσθέστε ένα σχόλιο

    • χαμόγελοχαμογελάειxaxaΕντάξειdontknowyahoonea
      αφεντικόξυστάανόητοςναιναι-ναιεπιθετικήμυστικό
      Συγγνώμηχορόςdance2dance3συγχώρησηβοήθειαποτά
      σταματήστεφίλουςκαλόgoodgoodσφυρίχτρασυρρέουνγλώσσα
      καπνόςπαλαμάκιαcrayδηλώστεαπογοητευτικήdon-t_mentionκατεβάστε
      θερμότηταςirefulγέλιο1mdaσυνάντησηmoskingαρνητική
      not_iποπ κορντιμωρίαδιαβάστετρομάξτεφοβίζειαναζήτηση
      χλευάζωthank_youαυτόto_clueumnikοξείασυμφωνώ
      κακόbeeeblack_eyeblum3ρουζκαυχηθείτεπλήξη
      λογοκρισίαευχαρίστησηsecret2απειλήσουννίκηyusun_bespectacled
      shokrespektlolπροβλέπουνκαλωσορίστεkrutoyya_za
      ya_dobryiβοηθόςne_huliganne_othodifludαπαγόρευσηκοντά

Σας συμβουλεύουμε να διαβάσετε:

Κάντε το για το smartphone ...