Mundarija:

Maxsus dasturiy ta'minotni BLF A6 chiroqqa yondirish: 5 qadam
Maxsus dasturiy ta'minotni BLF A6 chiroqqa yondirish: 5 qadam

Video: Maxsus dasturiy ta'minotni BLF A6 chiroqqa yondirish: 5 qadam

Video: Maxsus dasturiy ta'minotni BLF A6 chiroqqa yondirish: 5 qadam
Video: #10 - DASTURIY TA'MINOTNI SINOVDAN O'TKAZISH 2024, Noyabr
Anonim
Maxsus dasturiy ta'minotni BLF A6 chirog'iga yondirish
Maxsus dasturiy ta'minotni BLF A6 chirog'iga yondirish

Men yaqinda BLF A6 oldim. Bu juda yaxshi, lekin menga standart rejimlar guruhlari yoqmaydi, shuning uchun men dasturiy ta'minotni o'zim yoqtirgan yorqinliklardan foydalanish uchun o'zgartirdim. Ma'lumotni topish qiyin edi, shuning uchun men bu erda o'zim va boshqalar uchun hamma narsani joylashtiraman.

Ta'minotlar

BLF A6 (u boshqa ATtiny asosidagi chiroqlar bilan ishlaydi)

Cımbızlar / ingichka penseler / kichik qaychi / haydovchi taxtasini ushlab turuvchi halqasini echib oladigan narsa

Kompyuter yonib -o'chib turishi, yaxshisi Linux tarqatilishi

USB ASP dasturchisi / Arduino / AVR dasturini qila oladigan narsa (aftidan USB ASP dasturchisi tavsiya etiladi, lekin men Arduino ishlatganman)

SOIC8 klipi (buni qilmasdan qilish mumkin, lekin bu juda bema'ni va umuman tavsiya etilmaydi)

(ixtiyoriy) ulanishni osonlashtirish uchun non paneli va/yoki o'tish simlari

1 -qadam: dasturiy ta'minotni yuklab oling

BLF A6 (va boshqa ko'plab chiroqlar) uchun dasturiy ta'minot bu erda mavjud. Bu erda muallif bu haqda gapiradi. Siz uni ishga tushirish orqali yuklab olishingiz mumkin:

bzr filiali lp: ~ o'yinchoq/chiroq-proshivka/blf-a6-final

terminalda. (bzr ni o'rnatishingiz kerak bo'lishi mumkin)

Eslatma: bu ko'rsatmaning oldingi tahririda men "bzr filiali lp: chiroq-proshivka" dan foydalanardim. Men shuni bildimki, bu ishlamay qolgan kondansatör uchun noto'g'ri qiymatlarga ega bo'lgan eskirgan versiyani yuklaydi, bu esa tugmachani noqulay bosib turadi. (Reddit -dagi ushbu mavzu tufayli)

Siz xohlagan papka-blf-a6-final/ToyKeeper/blf-a6. Unda fleshka tayyor bo'lgan.hex fayli (blf-a6.hex) va siz o'zgartiradigan C kodi mavjud. (blf-a6.c) Agar siz aksessuar dasturini o'chirmoqchi bo'lsangiz, keyingi bosqichni o'tkazib yuborishingiz va faqat blf-a6.hex-dan foydalanishingiz mumkin. Ehtimol, bu ombordagi boshqa dasturiy ta'minot ham ishlaydi.

2 -qadam: dasturiy ta'minotni o'zgartiring

O'zingiz yoqtirgan matn muharriri yoki IDE-da blf-a6.c-ni oching. Eng qiziqarli chiziqlar 116 va 131 -qatorlar orasidagi rejim guruhlari. Ular shunday ko'rinadi:

// 1 -guruh rejimi #katta NUM_MODES1 7 ni belgilaydi // katta elektron uchun PWM darajasini belgilaydi (FET yoki Nx7135) #MODESNx1 0, 0, 0, 7, 56, 137, 255 // kichik elektron uchun PWM darajasini belgilang (1x7135) # MODES1x1 2, 20, 110, 255, 255, 255, 0 ni aniqlang // Mening namunam: 6 = 0..6, 7 = 2..11, 8 = 8..21 (15..32) // Krono namunasi: 6 = 5..21, 7 = 17..32, 8 = 33..96 (50..78) // Manker2: 2 = 21, 3 = 39, 4 = 47,… 6? = 68 // Har bir rejim uchun PWM tezligi #MODES_PWM1 FAZA, FAST, FAST, FAST, FAST, FAST, FAZE // rejim guruhi 2 #NUM_MODES2 4 #ta'riflash rejimlarini belgilashNx2 0, 0, 90, 255 #rejimlarni belgilash1x2 20, 230, 255, 0 #foydalaning MODES_PWM2 FAST, FAST, FAST, PHASE

Har bir guruh uchun MODESN - FET uchun ishlatiladigan PWM qiymati, MODES1 - har bir rejimda 7135 uchun ishlatiladigan PWM qiymati. Raqam 0 dan 255 gacha va yorug'lik yorqinligiga mos keladi. Qo'shimcha ma'lumot bu erda. ("Tartibni tartibga solish:" ga o'ting) PWM tezligi aynan nima ekanligini bilmayman. Agar kimdir bilsa, izohlarda menga ayting. FET 7135 ga qaraganda ko'proq yorug'lik ishlab chiqarishi mumkin, lekin 7135 yorug'lik darajasini batareyaning ishlash muddati davomida bir xil darajada ushlab turadi, FET esa batareyasi tugashi bilan qorong'i bo'ladi.

Bu erda siz o'zingiz xohlagan rejimlarni ishlab chiqarish uchun PWM qiymatlarini sozlashingiz mumkin. Siz ham rejimlar sonini o'zgartirishingiz mumkin, lekin men buni sinab ko'rmadim, chunki men to'rtta rejimni xohladim, bu ikkinchi guruhdagi raqam. Men qorong'i oy nuri rejimini xohlardim, shuning uchun men birinchisini 0/1 ga qo'ydim va men turbo rejimini biroz ma'nosiz deb topdim, shuning uchun uni 137/255 bilan almashtirdim, bu etti rejimdagi oltinchi rejimga teng. Agar kerak bo'lsa, kodning qolgan qismini o'zgartirishingiz mumkin, lekin men buni sinab ko'rmadim.

Siz xohlagan kodni olganingizda, uni.hex fayliga kompilyatsiya qilishingiz kerak bo'ladi. Hech bo'lmaganda, sizga gcc-avr va avr-libc kerak. Agar sizda muammolar bo'lsa, dasturiy ta'minotni o'qish dasturidagi boshqa bog'liqliklarni ko'rib chiqing. Ma'lumotlar ombori qurilish skriptini o'z ichiga oladi, lekin men uni ishlay olmadim. Buning o'rniga men eski versiyani yukladim

bzr filiali lp: chiroq-dasturiy ta'minot

va eski qurilish skriptini (men ishga kirishim mumkin) yangisiga ko'chirdi. Keyin yugurdim:

../../bin/build.sh 13 blf-a6

blf-a6 papkasida. (buni qilishning yaxshiroq yo'li bo'lishi kerak)../../bin/build.sh skriptni chaqiradi, 13 ATtiny13 uchun qurilganligini va blf-a6 BLF A6 uchun ekanligini bildiradi. (duh) Sizga qaysi buyruqlar ishlayotganini aytib berishi va natijani berishi kerak. Meniki shunday ko'rinadi:

avr -gcc -Wall -g -Os -mmcu = attiny13 -c -std = gnu99 -fgnu89 -inline -DATTINY = 13 -I.. -I../.. -I../../.. -fsort -enums -o blf -a6.o -c blf -a6.cavr -gcc -Wall -g -Os -mmcu = attiny13 -fgnu89 -inline -o blf -a6.elf blf -a6.o avr -objcopy --set -bo'lim-bayroqlar =.eeprom = ajratish, yuk-o'zgarish-bo'lim-lma.eeprom = 0-o'zgarishsiz-ogohlantirishlar -O ihex blf-a6.elf blf-a6.hex Dastur: 1022 bayt (99,8% To'liq)) Ma'lumotlar: 13 bayt (20,3% To'liq)

Buyruqlar allaqachon o'lcham uchun optimallashtirilgan, shuning uchun agar u 100% dan ortiq to'lgan deb hisoblasa, izoh berishga harakat qiling

#FULL_BELING_STROBE ni aniqlang

kichikroq minimal velosiped strobini ishlatish uchun 147 -qatorda. Agar u hali ham mos kelmasa, ehtimol boshqa joydan boshqa kodni olib tashlashingiz kerak bo'ladi. Kompilyatsiya tugagach, papkada blf-a6.hex deb nomlangan fayl bo'lishi kerak. Bu sizning kompilyatsiya qilingan kodingiz, miltillashga tayyor.

3 -qadam: Chiroqni qismlarga ajratish

Chiroqni qismlarga ajratish
Chiroqni qismlarga ajratish
Chiroqni qismlarga ajratish
Chiroqni qismlarga ajratish
Chiroqni qismlarga ajratish
Chiroqni qismlarga ajratish

Lampochkaning uchini soat sohasi farqli ravishda burab qo'ying. Bu erda ikkita vintli birikma mavjud. Chiroqning lampochka uchiga yaqinroq bo'lgani reflektor va LEDni ochadi, o'rtasiga yaqinroq esa haydovchi platasini ochadi. Siz o'rtaga yaqinroq bo'lishni xohlaysiz.

Ichkarida siz batareyaning kamonini va ikkita teshikli ushlab turuvchi halqani ko'rishingiz kerak. Pinsetlarni / ingichka penslarni / qaychini teshiklarga joylashtiring va ularni soat sohasi farqli ravishda aylantiring. Bu juda qattiq va ikkita alohida ob'ektni ishlatish, ehtimol, sizga etarli kuchni bermaydi. Men Shveytsariya armiyasi pichog'ida qaychi ishlatardim.

Uzukni olgach, haydovchi taxtasini bo'shating. U hali ham ikkita sim bilan biriktirilgan, shuning uchun ehtiyot bo'ling. Ular bir -biriga o'ralgan, shuning uchun simlar bo'shashguncha taxtani u yoki bu tomonga aylantiring. Agar sizda bo'sh joy bo'lsa, taxtani aylantiring. Siz "TINY13A" chipi yuqoriroq va undan qulayroq bo'lishini xohlaysiz. Agar u noto'g'ri tomonda bo'lsa, uni boshqa tomonga burang. Yon ostidagi buloqni mahkamlang. Bu vaqtincha joyida qoladi va chipga kirishni osonlashtiradi. Agar sizda muammo bo'lsa, siz boshqa birlashmani echib, boshqa simni ajratib qo'yishingiz mumkin, shunda siz taxtani butunlay olib tashlashingiz mumkin, lekin men buni sinab ko'rmadim.

4 -qadam: miltillovchi uskunani ulang

Miltillovchi uskunani ulang
Miltillovchi uskunani ulang
Miltillovchi uskunani ulang
Miltillovchi uskunani ulang
Yonayotgan qurilmani ulang
Yonayotgan qurilmani ulang

Endi siz SOt8 klipidan ATtiny13 chipi va dasturchingizni ulash uchun foydalanasiz. Mening SOIC8 klipim bilan, agar menda ikkala uchining chap tomonida qizil sim bo'lsa, qisqich uchida menga yaqinroq bo'lgan pinlar ulagichi pastga qaraganida, menga ulagich uchidagi menga yaqinroq bo'lgan pinlar qatoriga to'g'ri keladi. (mening super badiiy diagrammaga qarang) Ushbu qo'llanma sizga USB ASP V2.0 dasturchisidan foydalanishni tavsiya qiladi. Agar shunday qilsangiz, uni quyidagicha ulang:

  • ATtiny13 -dagi 1 -pin USB -ASP -da 5 -pin uchun (asl holatini tiklash)
  • ATtiny13 -dagi 4 -pin USB -ASP -ga (erga) 10 -pin uchun.
  • ATtiny13 -dagi 5 -pin USB -ASP -ga (MOSI) 1 -pin uchun.
  • ATtiny13 -dagi 6 -pin, USB -ASP -da (MISO) 9 -pin uchun.
  • ATtiny13 -dagi 7 -pin, USB -ASP -dagi (SCK) 7 -pin uchun.
  • ATtiny13 -dagi 8 -pinni USB -ASP -ga (VCC) 2 -pinli ulang.

Agar siz ham men kabi Arduino -dan foydalanayotgan bo'lsangiz, biroz ko'proq tayyorgarlik ko'rishingiz kerak. Ushbu qo'llanmaning nol va ikkinchi bosqichlarini bajaring:

Arduino IDE -ni oching va Arduino kompyuteringizga ulanganligiga ishonch hosil qiling. Internet -provayder eskizini Fayl> Misollar> 11. ArduinoISP> ArduinoISP -da toping va uni Arduino -ga yuklang. Keyin ATtiny13 ni unga quyidagicha ulang:

  • ATtiny13 -dagi 1 -pin Arduino -dagi 10 -pin uchun (asl holatini tiklash)
  • ATtiny13 -dagi 4 -pin Arduino -dagi GND -ga (erga)
  • ATtiny13 -dagi 5 -pin Arduino -da (MOSI) 11 -pin uchun.
  • ATtiny13 -dagi 6 -pin, Arduino -da (MISO) 12 -pin uchun.
  • ATtiny13 -dagi 7 -pin Arduino -dagi (SCK) 13 -pinli.
  • ATtiny13 -dagi 8 -pinni Arduino -dagi VCC / 5V / 3.3V ga ulang (har bir kishi ishlashi kerak, lekin 5V ishonchli) (VCC)

Men ham apparat paketini o'rnatdim, lekin bu kerak emas edi. Agar shubhangiz bo'lsa, sinab ko'ring. Bu hech qanday zarar qilmaydi. Lekin yuklovchini yoqmang, chunki u sizning chirog'ingizni g'isht qilib qo'yishi mumkin.

5 -qadam: yonib -o'chib turing

Dasturiy ta'minotni o'chirish uchun siz AVRDUDE -ni o'rnatishingiz kerak. Arduino bilan ishlashini tekshirish uchun men ishga tushaman:

avrdude -v -p attiny13 -c stk500v1 -P /dev /ttyUSB0 -b 19200 -n

Agar u ishlayotgan bo'lsa, men bo'sh papkaga o'taman va ishga tushaman:

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

Mavjud dasturiy ta'minotning zaxira nusxasini yaratish uchun. Va blf-a6.hex o'zgartirilgan papkadan uni o'chirish uchun:

avrdude -v -p attiny13 -c stk500v1 -P /dev /ttyUSB0 -b 19200 -u -Uflash: w: blf -a6.hex -Ulfuse: w: 0x75: m -Uhfuse: w: 0xFF: m

Ba'zi sabablarga ko'ra, men stk500v1 ni dasturchi sifatida ko'rsatishim kerak va agar men port va bod tezligini ko'rsatmagan bo'lsam, u ishlamadi. Agar siz Arduino -dan foydalanayotgan bo'lsangiz va shubhangiz bo'lsa, ATtiny13 -ni Arduino -dan ajratib ko'ring va bu yerdagi sozlamalar yordamida Arduino IDE -ga eskizni yuklang. Bu muvaffaqiyatsiz bo'ladi, lekin u konsol oynasida qanday buyruq ishlatayotganini aytishi kerak. Siz atributlarni AVRDUDE buyrug'iga nusxalashingiz mumkin.

Agar siz USB ASP dasturchisidan foydalansangiz, uni ishga tushiring:

avrdude -v -p attiny13 -c usbasp -n

Ishlayotganini bilish uchun va:

avrdude -v -p attiny13 -c usbasp -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

Zaxira nusxasini yaratish uchun va:

avrdude -v -p attiny13 -c usbasp -u -Uflash: w: blf -a6.hex -Ulfuse: w: 0x75: m -Uhfuse: w: 0xFF: m

Yonish uchun.

-Uflash: w: blf-a6.hex u miltillovchi faylga ishora qiladi. Agar boshqacha bo'lsa, blf-a6.hex-ni fayl nomi bilan almashtiring.

-Ulfuse: w: 0x75: m va -Uhfuse: w: 0xFF: m -bu sigortalar. Sizniki boshqacha bo'lishi mumkin, shuning uchun chiroq-firmware/bin/flash-tiny13-fuses.sh-dagi qiymatlarni ikki marta tekshiring.

Agar u diapazondan tashqarida xato qilsa, bu tasvir chipga sig'maydigan darajada katta ekanligini va siz kodning bir qismini olib tashlashingiz kerakligini bildiradi. Agar u muvaffaqiyatli yonib -o'chib tursa, u ba'zi harakat panellarini ko'rsatishi kerak, so'ngra "bajarildi. Rahmat" deb ayting.

Agar "noto'g'ri qurilma imzosi" deb yozilgan bo'lsa va dasturchingizdagi o'tish moslamasi 3.3v ga o'rnatilgan bo'lsa, uni 5v ga o'rnatishga harakat qiling.

Yoritgandan so'ng, chiroqni qayta yig'ing va u ishlayotganini tekshiring. Meniki edi, lekin The Vaqt OFF uchun, ba'zi sabablari The Long bosadi kerak bo'lishi haqida uch soniya o'rniga ̶1̶.̶5̶.̶ men boshingizni ko'pam qotirmang bilsangiz ayt, bir narsa, albatta, bilan The Arduino yoki ̶I̶'̶v̶e̶ ishlatiladi The noto'g'ri Sozlamalar ̶s̶o̶m̶e̶w̶h̶e̶r̶e̶.̶ bo'lsangiz, siz har qanday fikr, ̶ menga bilaman yilda The ̶c̶o̶m̶m̶e̶n̶t̶s̶.̶

Tartibga solish: men tuzatdim. (1 -qadamga qarang)

Tavsiya: