Mundarija:
- 1 -qadam: Xususiyat
- 2 -qadam: Operatsiya va aniqlik nazariyasi
- 3 -qadam: sxemalar va ehtiyot qismlar ro'yxati
- 4 -qadam: PCB Gerber fayli
- 5 -qadam: shaxsiy kompyuteringizni lehimlang
- 6 -qadam: Atmega328p dasturlash
- 7 -qadam: LCD displey
- 8 -qadam: STL fayli
- 9 -qadam: ROTARY ENKODER
- 10 -qadam: Sensorli quvur
- 11 -qadam: Sensorli quvur alternativasi
- 12 -qadam: Osiloskop va kalibrlash bo'yicha granulalar
- 13 -qadam: Batafsil …
Video: Havo miltig'ining xronografi, xronoskopi. 3D bosma: 13 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:23
Hammaga salom, bugun biz 2010 yilda qilgan loyihani qayta ko'rib chiqamiz. Havo miltig'ining xronografi. Bu qurilma sizga raketaning tezligini aytib beradi. Pellet, BB yoki hatto havo yumshoq BB plastik to'pi.
2010 yilda men qiziqish uchun pnevmatik miltiq sotib oldim. U bankalarga, butilkalarga, nishonlarga urilgan. Bilaman, bu qurolning tezligi maksimal 500 fut/s edi. Chunki bu Kanada qonuni. Yana kuchliroq pnevmatik miltiq mavjud, lekin siz litsenziyaga ega bo'lishingiz kerak va siz Walmart -da bunday narsalarni sotib ololmaysiz.
Endi menda bu litsenziya bor edi, men boshqasini sotib olardim. Ammo qisqa hikoya, xuddi shu qurol AQShda 1000 fut/s tezlikda mavjud edi. NIMA!? Xuddi shu qurol? ha … Kanadada zarbada teshik bor va buloq yumshoqroq.
Birinchi narsa - teshikni to'ldirish. Men lehim bilan shunday qildim. Keyingi ish - buloqni almashtirish. Lekin kuting … mening yangi o'yinchog'imning hozirgi tezligi qanday? Haqiqatan ham bahor kerakmi? Men bilmayman va bilishni xohlayman. Men hozir bilmoqchiman, lekin qanday qilib?
Shuning uchun men bu loyihani qildim. Menga faqat ikkita datchik, shahar va displey kerak edi, biz biznesdamiz.
O'tgan hafta men javonda eski ko'k xronografimni ko'rdim va o'zim bilan gaplashdim: "Nega buni baham ko'rmaysiz va u bilan ko'rsatma berasiz?" Aytgancha, biz aniqlikni oshirib, batareya ko'rsatkichini qo'shishimiz mumkin edi. Yoqish/o'chirish uchun 2 o'rniga 1 tugmani qo'ying. Barcha sirtni o'rnatish. Biz hozir 2020 yildamiz!
Mana, bor … boshlaylik!
1 -qadam: Xususiyat
-Pellet tezligi
-Tezlik
-20 MGts tezlikda ishlaydi, juda katta aniqlik
-Avtomatik o'chirilgan
-Batareya quvvati ko'rsatiladi
-sxematik mavjud
-pcb mavjud
-qismlar ro'yxati mavjud
-STL mavjud
-C kodi mavjud
2 -qadam: Operatsiya va aniqlik nazariyasi
-Bizda 20 MGts da ishlaydigan UC bor. Amaldagi osilator-bu TCX0 +-2,5 ppm
-Bizda bir -biridan 3 dyuym masofada 2 ta sensor bor.
-Raketa birinchi sensorga tegdi. uC hisoblashni boshlaydi (taymer1)
-Raketa ikkinchi sensorga tegdi. uC hisoblashni to'xtatadi.
-uC timer1 qiymatini tekshiring, matematikani bajaring va tezlik va tezlikni aks ettiring.
Men 16 bitlik taymer1 + tov1 to'lg'azish bayrog'idan foydalanmoqdaman. To'liq hisoblash uchun 131071 "tic" uchun 17 bit jami.
1/20 MGts = 50 ns. Har bir tik 50ns
3 dyuymni bajarish uchun 131071 x 50 ns = 6.55355 ms.
12 dyuymni bajarish uchun 6.55355 ms x 4 = 26.21 ms.
1/26,21 ms = 38,1472637 fut/s
Bu qurilma o'lchaydigan eng past tezlik.
Nega 20 MGts? Nega ichki 8 MGts yoki hatto kristalni ishlatmayapsiz?
Mening birinchi qurilmam ichki osilatordan foydalangan. Ishlayotgan edi, lekin bu aniq emas edi. Variant juda katta. Kristall yaxshiroq, lekin harorat har xil chastotada. Biz aniq o'lchash moslamasini qila olmaymiz. Bundan tashqari, chastota qanchalik yuqori bo'lsa, shuncha tezlik bir xil tezlikda hisoblab chiqiladi. Namuna olish juda yaxshi aniqlikka ega bo'lishi yaxshiroq bo'ladi. Shomil bo'linmagani uchun, agar ish aylanishi tez bo'lsa, yo'qotish oz bo'ladi.
20 MGts da bizda 50 ns qadam bor. Biz bilamizmi, 38 fut/s tezlikdagi snaryad uchun 50 ns qanchalik aniq.
38.1472637 fut/sek 131071 = 0 ga bo'linadi, 000291042 fut
0, 0003880569939956207 fut x 12 = 0, 003492512 dyuym
1/0, 003492512 = 286.37 ". Boshqacha aytganda. 50 fut/s tezlikda bizda +- 1/286" yoki +- 0, 003492512 dyuym aniqlik bor.
Ammo agar mening osilatorim eng yomon bo'lsa va 20 MGts +2,5 ppmda ishlayotgan bo'lsa, bu to'g'rimi? Keling, bilib olaylik…
20 000 000 ning 2,5 ppm: (20000000/1000000) x 2,5 = 20000050 Gts
Eng yomon holatda, bizda 20 MGts chastotada yana 50 soat bor. 1 soniyada 50 soat. Agar pellet bir xil tezlikda harakat qilsa (38.1472637 fut/s yoki 6.55ms), taymer1da yana qancha tijorat bor?
1/20000050 = 49.999875 ns
49.999875 ns x 131071 = 6, 553533616 milodiy
6, 553533616 milodiy x 4 = 26.21413446 milodiy
1/26.21413446 ms = 38.14735907 fut/s
Shunday qilib, bizda 38.1472637 fut/s o'rniga 38.14735907 fut/s
Endi biz 2,5 ppm natijaga ta'sir qilmasligini bilamiz.
Mana, har xil tezlik misollari
1000 fut/s uchun
1000 fut/s x 12 - 12000 dyuym/s
12000 "3 marta necha marta bajarish" uchun 1 soniya? 3x1/12000 = 250 soniya
250 AQSh / 50 ns = 5000 tij.
Taymer1 5000 da bo'ladi
uC matematikani bajaradi va 1000 fut/s ko'rsatiladi. Hozircha hammasi yaxshi
900 fut/s uchun
900 fut/s tezlik - 10800 dyuym
3x1/10800 = 277.77 bizni
277, 77 ns / 50 ns = 5555, 5555 tik
Taymer 1 5555 da bo'ladi
uC matematikani bajaradi va 900 o'rniga 09, 09 ko'rsatiladi
Nima uchun? chunki taymer 1 5555da va 0, 5555 yo'qoladi. Tijoriy taymer bo'linmaydi.
Bizda 900 fut/s tezlikda 0, 09 xato bor
0, 09/900x100 = 0, 01% xato
1500 fut/s uchun 1500 fut/s uchun 18000 dyuym/s 3x1/10800 = 166,66 bizni tashkil qiladi
166.66 us / 50 ns = 3333.333 tic Timer 1 3333 da bo'ladi
uC matematikani bajaradi va 1500.15 1500 o'rniga ko'rsatiladi.15/1500x100 = 0, 01%
9000 fut/s uchun
9000 x 12 = 180000 dyuym / s
3x1/180000 = 27.7777 bizni
27,77 biz / 50 ns = 555, 555
Taymer1 555da bo'ladi va 4/(1/555x50ns) 9009, 00 ko'rsatiladi
Bu erda xato 9000 = 0, 1% da 9 fut/s.
Ko'rib turganingizdek, tezlik yuqori bo'lganda % xatolari oshadi. Ammo <0,1% qoling
Bu natijalar juda yaxshi.
Ammo aniqlik chiziqli emas. 10000 fut/s tezlikda bu 0, 1 %. Yaxshi, biz hech qachon 10 000 fut/s granulani sinovdan o'tkazmaymiz.
Yana bir narsani yodda tutish kerak. Agar uzilish sodir bo'lsa, uC har doim oxirgi ko'rsatmani tugatishdan oldin tugatadi. Bu normal holat va hamma shahar buni qiladi. Agar siz arduino -ni C yoki hatto assambleyada kodlasangiz. Ko'pincha siz abadiy tsiklda kutasiz … kutish uchun. Muammo shundaki, biz 2 tsikl o'tkazamiz. Odatda bu muhim emas. Ammo bizning holatimizda. Ha, har bir tik muhim. Keling, cheksiz tsiklni ko'rib chiqaylik:
yig'uvchi:
pastadir:
rjmp pastadir
C da:
vaqt (1) {}
Aslida C kompilyatori rjmp ko'rsatmasidan foydalanadi. RJMP - 2 tsikl.
Bu shuni anglatadiki, agar uzilish birinchi tsiklda sodir bo'lsa, biz bitta tsiklni yo'qotamiz (tic) (50ns).
Buni tuzatishning yo'li - pastadirda ko'p nop ko'rsatmalarni qo'shish. NOP - 1 tsikl.
pastadir:
yo'q
yo'q
yo'q
yo'q
yo'q
rjmp pastadir
Agar uzilish nop buyrug'i bilan sodir bo'lsa. Biz yaxshimiz. Agar bu rjmp ko'rsatmasining ikkinchi tsiklida sodir bo'lsa, biz yaxshi. Ammo agar bu rjmp ko'rsatmasining birinchi tsiklida sodir bo'lsa, biz bitta tijoratni yo'qotamiz, ha, bu atigi 50 ns, lekin yuqorida ko'rib turganingizdek, 3 dyuymli 50 ns hech narsa emas. Biz buni dasturiy ta'minot bilan tuzatolmaymiz, chunki uzilish qachon sodir bo'lganini bilmaymiz. Shuning uchun kodda juda ko'p nop ko'rsatmalarni ko'rasiz. Ishonchim komilki, uzilish nop ko'rsatmasiga to'g'ri keladi. Agar men 2000 nop qo'shsam, rjmp ko'rsatmasiga tushish uchun 0, 05% bor.
Yana bir narsani yodda tutish kerak. Qachonki uzilish sodir bo'ladi. Kompilyator ko'p surish va tortishni amalga oshiradi. Ammo bu raqam har doim bir xil. Shunday qilib, endi biz dasturiy ta'minotni to'g'rilashimiz mumkin.
Bu haqda xulosa qilish uchun:
O'rtacha 1000 fut/s granulaning aniqligi 0, 01%
Bozordagi boshqa 1% ga qaraganda 100 barobar aniqroq. Chastotasi yuqori va TCXO bilan aniqroq
Masalan, 1000 fut/s ning 1% 10 fut/s ni tashkil qiladi. Bu juda katta farq.
3 -qadam: sxemalar va ehtiyot qismlar ro'yxati
Bu erda men bitta tugmachani yoqish/o'chirish sxemasini amalga oshirdim. (mening oxirgi ko'rsatmalarni ko'ring) Bu sxema juda qulay va juda yaxshi ishlaydi.
Men atmega328p dan foydalanmoqdaman. Bu C da dasturlashtirilgan.
Displey HD44780 standartli 2 satrli LCD displey bilan mos keladi. 4 bitli rejim ishlatiladi.
TCXO 20mhz kuchlanishini ta'minlash uchun 3,3V regulyator ishlatiladi.
D1 - LCD orqa nuri uchun. Majburiy emas. Agar siz D1 -ni o'rnatmasangiz, batareya uzoq davom etadi.
Barcha rezistorlar va qopqoqlar - 0805
C1.1uf 25v
C2 1uf 16v
C3 2.2uf 10v
C4.1uf
C5.1uf
C6.1uf
C7 1uf
C8.1uf
C9.1uf
C10.1uf
D1 1n4148 SM SOT123
D2 5.1v SOT123
IC1 ATMEGA328p
IC2 MIC5225-5.0YM5-TR TPS70950DBVT SOT23-DBV
OSC1 TXETDCSANF-20.000000
R1 1M
R2 1M
R4 2.2k
R5 160
R6 160
R7 1M
R8 1M
U1 MIC5317-3.3 MIC5317 SOT23-5
U2 DMG6601LVT DMG6601LVT SOT23-6
LCD 2 qatorli HD44780 displeyi. I2c modulini sotib olishning hojati yo'q.
Sensorlar:
2x emitent OP140A
2 marta qabul qiluvchi OPL530
Enkoder: PEC11R-4215K-S0024 *Enkoder filtrini bajarish uchun 4x 10k qarshilik va 2x.01uf qo'shishni unutmang. pastdagi rasmga qarang
4 -qadam: PCB Gerber fayli
Bu erda gerber fayllari
5 -qadam: shaxsiy kompyuteringizni lehimlang
Sxematik yordam yordamida barcha komponentlaringizni kompyuterga lehimlang. Kompyuter, r1, r2 va boshqalarda yozilgan har bir qism.
Menda D1 o'rnatilgan emas. Bu lcd orqa nuri uchun. Bu juda chiroyli, lekin batareyaning ishlash muddati ta'sir qiladi. Shunday qilib, men orqa nuri o'chirilishini tanladim.
6 -qadam: Atmega328p dasturlash
Atmega328p -ni dasturlash uchun 12 -qadamda bu erni tekshiring. Men bu erda.hex faylini taqdim etaman.
Mana, avrdude dasturi ommaviy faylni dasturlashga tayyor. Faqat usbasp.bat dasturini bosing va usbasp to'g'ri o'rnatilgan. Hammasi avtomatik ravishda sug'urta bitini o'z ichiga oladi.
1drv.ms/u/s!AnKLPDy3pII_vXaGPIZKMXxaXDul?e…
Ushbu loyihada men C kodini ham baham ko'raman. Bilingki, undagi ba'zi yozuvlar frantsuz tilida bo'lishi mumkin.
7 -qadam: LCD displey
Bir nechta lentani o'rnating va pcb va lcd -ni bir -biriga ulang
8 -qadam: STL fayli
stl fayli
1drv.ms/u/s!AnKLPDy3pII_vgezy0i0Aw3nD-xr?e…
Korpus, drenaj trubkasi va miltiq ushlagichi uchun yordam kerak.
Hammasi.2 mm balandlikda chop etilgan.
9 -qadam: ROTARY ENKODER
Bu aylanadigan kodlovchi isp ulagichiga ulangan. u granulalarning og'irligini o'zgartirish va qurilmani yoqish va o'chirish uchun ishlatiladi.
vcc isp pin 2 (qarshilikni torting)
A terminali (sariq) provayder 1 -piniga o'tadi
B terminali (yashil) ISP pin 3 ga o'tadi
Terminal C (gnd) isp pin 6
Filtrga ega bo'lish va filtrsiz bo'lish o'rtasidagi farqni ko'rish uchun men 2 ta rasm qo'shyapman. Siz ikkalasining farqini osongina ko'rishingiz mumkin.
Bosish tugmasi kompyuterning SW ulagichiga o'tadi.
10 -qadam: Sensorli quvur
MUHIM:
Sensor trubkasi qora bo'lishi kerak va qabul qilgich yashirin bo'lishi kerak
Mening birinchi urinishlarim chiroyli qizil trubaga ega bo'lish edi. Lekin bu ayyor! Bu umuman ishlamadi. Men tushundimki, tashqi yorug'lik plastikdan tushadi va qabul qilgich sensori doimo yonib turadi.
Yaxshi natijaga erishish uchun men rangni qora rangga o'zgartirishdan boshqa ilojim yo'q edi.
Qabul qilgichni tepaga o'rnating. Va shaffof plastmassani qora bo'yoq, lenta yoki saqich, qora silikon bilan yashiring.
Pastga emitentni o'rnating. Sensorlar yaxshi javob berayotganini qalam bilan tekshiring. Ehtimol, emitentning teshigini biroz kattalashtirish kerak bo'ladi. Bu printerni kalibrlashiga bog'liq bo'ladi.
Menda soyada ham yaxshi natija bor. To'g'ridan -to'g'ri quyosh nurlaridan saqlaning.
11 -qadam: Sensorli quvur alternativasi
Agar sizda 3D printer bo'lmasa, xuddi shunday mis quvur bilan ham qilishingiz mumkin. Bu juda yaxshi ishlaydi. To'g'ri, 3 dyuymli teshik, qabul qilgich va emitent bir hil bo'lishi kerak.
12 -qadam: Osiloskop va kalibrlash bo'yicha granulalar
Bu quvurni tashlab yuboradigan haqiqiy pellet. Prob 1 sariq - sensor 1. 2 -sonli binafsha rang - sensor 2.
Vaqt/div - 50 kishi.
Biz 50usning 6 ta bo'linmasini sanashimiz mumkin. 50 us x 6 = 300 us (3 dyuym uchun). 1 fut uchun 300 x 4 = 1,2 milodiy
1/1,2ms = 833,33 fut/s
Bundan tashqari, biz sensor 5V kuchlanishli ekanligini ko'rishimiz mumkin. Va biz emitent nurini to'sa olamizmi, sensor 0 ga tushadi.
UC uning hisoblagichini ishga tushirish va to'xtatish usuli (timer1)
Ammo tezlik aniqligini bilish uchun menga buni o'lchash uchun usul kerak edi.
Dasturni kalibrlash va ushbu qurilmaning to'g'riligini tekshirish uchun men 10 MGts chastotali osilatordan foydalandim. Boshqa ko'rsatmali GPSDO -ga qarang.
Men bu 10 MGts bilan boshqa atmega328ni oziqlantiraman. Va har bir granulani simulyatsiya qilish tugmachasini bosganimda, menga 2 ta puls yuborish uchun assambleyada dasturlash. Xuddi biz rasmda ko'rganimizdek, lekin uning o'rniga haqiqiy pelletga ega bo'lish menga 2 ta puls yuboradigan boshqa shahar edi.
Har safar tugma bosilganda 1 ta puls yuboriladi va boshqa puls yuborilgandan keyin 4 ms.
Shunday qilib, men har doim 1000 fut/s ko'rsatiladigan dasturiy ta'minot kompilyatorini muvozanat qila olaman.
13 -qadam: Batafsil …
Bu mening 2010 yildagi birinchi prototipim.
Har qanday savol yoki xato haqida menga elektron pochta orqali xabar yuborishingiz mumkin. Ingliz yoki frantsuz. Men qo'limdan kelgancha yordam beraman.
Tavsiya:
Nerf xronografi va yong'oq tezligi: 7 qadam
Nerf xronografi va yong'oq tezligi: kirish. Ko'pchiligimiz Nerf qurollarini ilgari o'zgartirganmiz va ko'pik bo'laklarini uyga 100 kadr tezlikda o'tkazishni kim yoqtirmaydi?
Arzon 3D bosma RC havo kemasi: 5 qadam
Arzon 3D bosma RC samolyoti: Men faqat 3 o'lchamli printer va Everyine e010 dronidan foydalanib, 15 dollarlik qayiq yasadim. Bu juda qiziqarli, juda moslashtirilgan va juda oson. Umid qilamanki, siz ham men kabi bu loyihani yoqtirasiz. Batafsil ko'rsatmalar uchun videomni tomosha qiling: Mater
Knex miltig'i: 12 qadam
Knex miltig'i: bu men forumda ko'rsatgan knex miltig'i. u asosan tashqi ko'rinish uchun mo'ljallangan va OK diapazoniga ega. uning bochkasi olinadigan va biriktirilganda diapazonni kamaytiradi, uning tashuvchi tutqichi ham, bipodi ham bor. u yuklash uchun asosiy bunkerdan foydalanadi
Bo'ron 220 V1.7 Knex boltli harakat miltig'i: 10 qadam
Bo'ron 220 V1.7 Knex boltli harakat miltig'i: Bu mening yangi knex tabancam, bo'ron 220. U asosan tashqi ko'rinish uchun mo'ljallangan, lekin u yaxshi ishlaydi va yaxshi masofaga ega. Men yaxshi bo'lishni aytmayman, garchi bu mening birinchi ko'rsatmam bo'lsa ham, chunki menimcha, odamlar o'z fikrlarini bildirishga haqli
"XFN Snowflak3" Knex miltig'i: 9 qadam
"XFN Snowflak3" Knex miltig'i: XFN Snowflak3: Ikki yildan beri bir xil umumiy kontseptsiyaga ega bo'lgan qurol. Blok-trig tizimiga ega oddiy naycha va tayoqcha miltig'i.Proslar: Juda aniq kuchli Gofrirovka qilingan kartondan 8 varaq) Ishlab chiqarish juda oson, sodda