» ערכות נושא » תיקון, מודרניזציה »כיצד להבהיר פנס כדי לשנות מצבי הפעלה

כיצד להבהיר פנס כדי לשנות מצבי הפעלה


מחבר החומר הזה לא אהב את מצבי הפעולה הרגילים של הפנס BLF A6. ואז הוא החליט להבהב את חלק התוכנה בפנס, ולהגדיר את מצביו. כפי שהתברר, זה לא כל כך פשוט, יש מינימום של מידע על הקושחה וה- pinouts והוא היה צריך לאסוף אותו טיפין. וכדי שהיא לא תלך לאיבוד, הוא החליט לעזור לאחרים ולסדר הכל במאמר.

אז לעבודה תצטרך את הדברים הבאים:
פנס BLF A6 (ככל הנראה זה יעבוד עם פנסים אחרים המבוססים על ATtiny).
פינצטה / צבת דקה / מספריים קטנים.
מחשב לקושחה, רצוי עם הפצה לינוקס.
ASP / מתכנת USB ארדואינו / משהו שתוכנות AVR יכולות לעשות (ברור, מתכנת ה- ASP USB טוב יותר, אבל הקוסם השתמש בארדואינו).
מגבר Rail-to-Rail במהירות גבוהה [SOIC-8] (אתה יכול להסתדר בלעדיו, אבל זה מאוד לא נוח).
חוטי לוח ופיתוח מגשרים לחיבור.

קושחה.
קושחה עבור BLF A6 (ופנסים רבים אחרים) זמינה כאן. פורום דיון זמין בנושא זה הקישור.
אתה יכול להוריד את הקושחה על ידי הפעלת החיפוש "bzr branch lp: פנס קושחה". זקוק לתיקיית פנס-קושחה / ToyKeeper / blf-a6. הוא מכיל קובץ מורכב. hex, מוכן לקושחה (blf-a6.hex), וקוד C, אשר ניתן גם לשנות (blf-a6.c). אם אתה רוצה להבהיר קושחת מניות, אתה יכול לדלג על השלב הבא ופשוט להשתמש ב blf-a6.hex. קושחה אחרת במאגר זה תעבוד כנראה גם כן.

שנה קושחה.
זהירות סמלים, כדי לא לעוות את המשמעות, ניתנים ללא תרגום.
פתח את blf-a6.c בעורך הטקסט המועדף עליך או ב- IDE. הקווים המעניינים ביותר הם קבוצות המצב בין שורות 94 ו- 109. הם נראים כך:
// קבוצת מצב 1
# הגדר NUM_MODES1 7
// רמות PWM למעגל הגדול (FET או Nx7135)
#define MODESNx1 0,0,0,7,56,137,255
// רמות PWM למעגל הקטן (1x7135)
# הגדר 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 לכל מצב
# הגדר MODES_PWM1 שלב, מהיר, מהיר, מהיר, מהיר, מהיר, שלב
// קבוצת מצב 2
# הגדר NUM_MODES2 4
# הגדר MODESNx2 0,0,90,255
# הגדר את MODES1x2 20,230,255,0
# הגדר MODES_PWM2 מהיר, מהיר, מהיר, שלב

עבור כל קבוצה, MODESN הוא ערך PWM המשמש ל- FET, ו- MODES1 הוא ערך PWM המשמש ל 7135 בכל מצב. המספר הוא בטווח שבין 0 ל- 255 ומתאים לבהירות האור. מידע נוסף
כאן. (גלול מטה אל "בקרת מצב:") המאסטר אינו בטוח מהי מהירות ה- PWM.אם מישהו יודע, ספר לי בתגובות. טרנזיסטור אפקט שדה יכול לייצר יותר אור מ- 7135, אך 7135 שומר על רמת האור פחות או יותר זהה לאורך חיי הסוללה, ואילו בעת שימוש בטרנזיסטור אפקט שדה האור מתעמעם כאשר הסוללה אוזל.

כאן אנו יכולים להתאים את ערכי PWM ליצירת מצבים לטעמנו. אתה יכול גם לשנות את מספר המצבים, אך המאסטר לא עשה זאת מכיוון שהוא זקוק לארבעה מצבים, וזה המספר בקבוצה השנייה. הוא רצה משטר אור ירח כהה יותר, ולכן קבע את הראשון ל- 0/1. הוא גם מחשיב את מצב הטורבו מעט חסר טעם, אז החלפתי אותו ב- 137/255, שזה שווה למצב השישי בקבוצה של שבעה מצבים.

כאשר יש לך את הקוד הדרוש, עליך לקבץ אותו לקובץ hex. לפחות אתה צריך gcc-avr ו- avr-libc. אם יש לך בעיות, עיין בתלות אחרות בקובץ readme. המאגר כולל סקריפט build, ולכן כל שעליך לעשות הוא להריץ:
../../bin/build.sh 13 blf-a6
בתיקיה blf-a6. ../../Bin/build.sh הוא התסריט. 13 מציין שזה מיועד ל- ATtiny13, ו- blf-a6 מציין שהוא מיועד ל- BLF A6.
avr-gcc -Wall -g -Os -mmcu = attiny13 -c -std = gnu99 -fgnu89-inline -DATTINY = 13 -I .. -I ../ .. -I ../../ .. -fshort -נושאים -o blf-a6.o -c blf-a6.c
avr-gcc-קיר -g -Os -mmcu = attiny13 -fgnu89-inline -o blf-a6.elf blf-a6.o
avr-objcopy - דגלים של סעיף-חתך = .eeprom = להקצות, עומס - החלפת מדור-lma .eeprom = 0 - שום שינוי אזהרות -O ihex blf-a6.elf blf-a6.hex
תוכנית: 1022 בתים (99.8% מלא)
נתונים: 13 בתים (20.3% מלא)
הצוותים כבר ממוטבים בגודלם, כך שאם כתוב שהם מלאים יותר מ- 100%, נסו למחוק
# הגדר את FULL_BIKING_STROBE

קו 125 כישופים קטנים אופניים אור strobe. אם זה לא מספיק, אז יהיה צורך לחתוך משהו אחר.
עם סיום ההרכבה, התיקיה צריכה להכיל קובץ בשם blf-a6.hex. זהו קוד מורכב, מוכן לקושחה.

פירוק הפנס.
הסר את פנס הפנס. ישנם שני חיבורי בורג. זה שקרוב יותר לגוף הפנס מקבע את המשקף והנורת לד, וזה שקרוב יותר לאמצע מקבע את הלוח. אנו זקוקים לממוצע.

בפנים תראו טבעת הצמד עם קפיץ ושני חורים לאורך הקצוות. הכנס פינצטה / צבת / מספריים דקים לחורים וסובב אותם נגד כיוון השעון.

לאחר הסרת הטבעת תהיה לך גישה ללוח. הוא עדיין מחובר עם שני חוטים, אז היזהר. הם מעוותים זה לזה, אז סובבו את הלוח עד שהחוטים רופפים. ואז הפוך את הלוח. זה הכרחי כי השבב עם הכיתוב "TINY13A" היה נגיש יותר.

אם החוטים קצרים וזה לא מסתדר, עליכם להסיר את הלוח.






חיבור.
עכשיו אתה צריך להכין את הלוח לקושחה.
האשף משתמש ב- SOIC8 כדי לחבר בין שבב ATtiny13 לבין המתכנת.
כיצד להבהיר פנס כדי לשנות מצבי הפעלה



ראה את התמונה כאשר האשף יוצר את החיבור. שימו לב לקו האדום באיור השני.

אם אתה משתמש במתכנת USB ASP V2.0, אתה צריך לחבר אותו כך:
סיכה 1 ב- ATtiny13 - פין 5 במערכת ASP USB (איפוס)
סיכה 4 ב- ATtiny13 - סיכה 10 במערכת ASP USB (קרקע)
פין 5 ב- ATtiny13 - פין 1 ב- USB ASP (MOSI)
פין 6 ב- ATtiny13 - פין 9 ב- ASP USB (MISO)
סיכה 7 ב- ATtiny13 - פינים 7 במערכת ASP USB (SCK)
סיכה 8 ב- ATtiny13 - פין 2 במערכת ASP USB (VCC)

אם אתה משתמש בארדואינו, כמו האשף, בצע את הצעדים הבאים:
פתח את ה- Arduino IDE וודא שהארדואינו שלך מחובר למחשב. מצא את מערכון ה- ISP בקובץ> דוגמאות> 11.ArduinoISP> ArduinoISP והעלה אותו לארדואינו. ואז חבר את ה- ATtiny13 אליו באופן הבא:
סיכה 1 ב- ATtiny13 - סיכה 10 על ארדואינו (איפוס)
סיכה 4 ב- ATtiny13 - GND על ארדואינו (קרקע)
פין 5 ב- ATtiny13 - סיכה 11 על ארדואינו (MOSI)
פין 6 ב- ATtiny13 - סיכה 12 על ארדואינו (MISO)
סיכה 7 ב- ATtiny13 - סיכה 13 על ארדואינו (SCK)
סיכה 8 ב- ATtiny13 - VCC / 5V או 3.3V על Arduino (5V מועדף)

קושחה.
שלב 5: הבזק אותו
עבור קושחה, עליך להתקין את AVRDUDE. כדי לבדוק אם זה עובד עם ארדואינו, האשף כותב פקודה:
avrdude -v -p attiny13 -c stk500v1 -P / 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 -Ulfuse: r: lfuse -dump.hex: i -Uhfuse: r: hfuse-dump.hex: i
צור עותק גיבוי של הקושחה הקיימת. כדי להבהב, מהתיקיה עם ה- blf-a6.hex שהשתנה זה מתחיל:
avrdude -v -p attiny13 -c stk500v1 -P / dev / ttyUSB0 -b 19200 -u -Uflash: w: blf-a6.hex -Ufuse: w: 0x75: m -Uhfuse: w: 0xFF: m
עליך לציין stk500v1 כמתכנת, ולציין את מהירות היציאה והעברת הנתונים. אם אתה משתמש בארדואינו ויש לך ספק, נסה לנתק את ATtiny13 מארדואינו והעלה את הסקיצה ל- IDE של Arduino באמצעות הגדרות אלה. זה לא יעבוד, אך תגלה באיזו פקודה משתמשים בחלון המסוף. בשלב הבא תוכלו להעתיק את התכונות לפקודה AVRDUDE.

אם אתה משתמש במתכנת ASP USB, הפעל:
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 -Ufuse: r: lfuse-dump.hex: i -Uhfuse: r: hfuse-dump.hex: i
בצע גיבוי:
avrdude -v -p attiny13 -c usbasp -u -Uflash: w: blf-a6.hex -Ufuse: w: 0x75: m -Uhuse: w: 0xFF: m
להבהב:
-התפשטות: w: blf-a6.hex. החלף את blf-a6.hex בשם הקובץ שלך אם הוא שונה.
-תוספות: w: 0x75: m ו- -Ufuse: w: 0xFF: m
אם מתרחשת שגיאה, פירוש הדבר שקובץ התמונה גדול מכדי להתאים לשבב, ותצטרך למחוק חלק מהקוד. אם הכל תקין, יש להציג כמה מחוונים להתקדמות ואז המילים "avrdude done. תודה."
לאחר שהבהבת את השבב, הרכיב את הפנס ובדוק אם הוא עובד.
שאלה \ נושא מתפרסם אוטומטית בחברה. רשת אתרים - שמור על שם לתשובות שם:

מתאים לנושא

נושאים קשורים

הוסף תגובה

    • לחייךמחייךxaxaבסדרלא יודעיאהוnea
      בוסשריטהשוטהכןכן כןאגרסיביסודי
      סליחהריקודריקוד 2ריקוד 3סליחהעזרהמשקאות
      עצורחבריםטובטובשריקהלהתנדנדלשון
      עשןמוחא כפייםמשוגעלהכריזלזלזלdon-t_mentionלהוריד
      חוםלא מועילצחוק 1מדמפגשמסגדשלילי
      לא_יפופקורןלהענישלקרואלהפחידמפחידחיפוש
      מתגרהתודהזהלרמזאמניקחריףמסכים
      רעדבורהשחורblum3סומקלהתפארשעמום
      מצונזרהנאהסוד 2לאייםניצחוןיוsun_bespectacled
      שוקכבודחחחקדמהברוך הבאkrutoyya_za
      ya_dobryiעוזרne_huliganne_othodiפלומהאיסורקרוב

אנו ממליצים לך לקרוא:

תן אותו לסמארטפון ...