Агуулгын хүснэгт:
- Алхам 1: Онцлог
- Алхам 2: Үйл ажиллагаа ба нарийвчлалын онол
- Алхам 3: Схем ба эд ангиудын жагсаалт
- Алхам 4: ПХБ -ийн Гербер файл
- Алхам 5: Pcb -ээ гагнах
- Алхам 6: Atmega328p програмчлах
- Алхам 7: Lcd дэлгэц
- Алхам 8: STL файл
- Алхам 9: Ротари кодлогч
- Алхам 10: Мэдрэгчийн хоолой
- Алхам 11: Мэдрэгч хоолойн өөр хувилбар
- Алхам 12: Осциллограф ба калибровкийн үрэл
- Алхам 13: Дэлгэрэнгүй…
Видео: Агаарын бууны хронограф, хроноскоп. 3D хэвлэсэн: 13 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:01
Сайн байцгаана уу, өнөөдөр бид 2010 онд хийсэн төсөлөө эргэн харах болно. Агаарын бууны хронограф. Энэ төхөөрөмж нь пуужингийн хурдыг танд хэлэх болно. Пеллет, ВВ эсвэл бүр агаарын зөөлөн BB хуванцар бөмбөг.
2010 онд би хөгжилтэй байхын тулд хийн буу худалдаж авсан. Лааз, шил, зорилгод цохиж байсан. Энэ бууны хурд хамгийн ихдээ 500 фут/сек байсан гэдгийг би мэднэ. Учир нь энэ бол Канадын хууль. Илүү хүчирхэг агаарын винтов бэлэн байгаа боловч та лицензтэй байх ёстой бөгөөд үүнийг Walmart дээрээс худалдаж авах боломжгүй.
Одоо би энэ лицензтэй байсан, өөр лиценз худалдаж авах боломжтой байсан. Гэсэн хэдий ч богино өгүүллээр ижил бууг АНУ -д 1000 фут/сек -ээр авах боломжтой байв. ЯАГААД !? Адил буу? тийм … Канадад цус харвалт нь нүхтэй бөгөөд булаг нь илүү зөөлөн байдаг.
Хамгийн эхний хийх зүйл бол нүхийг бөглөх явдал юм. Үүнийг би гагнуураар хийсэн. Дараагийн хийх зүйл бол солих булаг захиалах явдал байв. Гэхдээ түр хүлээгээрэй … миний шинэ тоглоом ямар хурдтай байна вэ? Хавар үнэхээр хэрэгтэй юу? Би мэдэхгүй, мэдэхийг хүсч байна. Би одоо мэдэхийг хүсч байна, гэхдээ яаж?
Тийм учраас би энэ төслийг хийсэн. Надад зөвхөн 2 мэдрэгч, UC, дэлгэц л хэрэгтэй байсан бөгөөд бид бизнес эрхэлж байна.
Өнгөрсөн долоо хоногт би хуучин цэнхэр хронографаа тавиур дээр байхыг хараад өөртэйгээ "Яагаад үүнийг хуваалцаж, зааварчилгаа өгөхгүй байгаа юм бэ?" Дашрамд хэлэхэд бид нарийвчлалыг дээшлүүлж, батерейны индикаторыг нэмж болно. Асаах/унтраахын тулд 2 товчлуурын оронд 1 товчлуурыг дарна уу. Бүх гадаргуугийн бэхэлгээ. Бид одоо 2020 онд байна!
Энд байна … эхэлцгээе!
Алхам 1: Онцлог
-Пеллетийн хурд
-Хурд
-20 МГц гүйдэг, маш нарийвчлалтай
-Автомат унтраалттай
-Батерейны хүчдэлийг харуулав
-схем боломжтой
-PCB боломжтой
-хэсгүүдийн жагсаалт боломжтой
-STL ашиглах боломжтой
-С код авах боломжтой
Алхам 2: Үйл ажиллагаа ба нарийвчлалын онол
-Манайд 20 МГц давтамжтай ажилладаг UC ажилладаг. Ашигласан осциллятор нь TCX0 +-2.5 ppm юм
-Бид бие биенээсээ 3 инчийн зайтай 2 мэдрэгчтэй.
-Пуужин анхны мэдрэгчийг оносон. uC тоолж эхлэх (таймер1)
-Пуужин хоёр дахь мэдрэгчийг оносон. uC тоолохоо боль.
-uC timer1 -ийн утгыг шалгаж, математик, дэлгэцийн хурд, хурдыг хийнэ үү.
Би 16 битийн таймер1 + tov1 халих туг ашиглаж байна. Бүрэн тоолохын тулд 131071 "tic" нийт 17 бит.
1/20 мГц = 50 ns. Тик бүр нь 50 н
3 инч хийх 131071 x 50 ns = 6.55355 ms.
12 инч хийхэд 6.55355 ms x 4 = 26.21 ms.
1/26.21 ms = 38.1472637 фут/сек
Энэ бол төхөөрөмжийн хэмжих хамгийн удаан хурд юм.
Яагаад 20 МГц вэ? Яагаад дотоод 8 МГц, эсвэл бүр кристал ашигладаггүй юм бэ?
Миний анхны төхөөрөмж дотоод осцилляторыг ашиглаж байсан. Ажиллаж байсан боловч энэ нь хангалттай нарийвчлалтай биш байсан. Өөрчлөлт нь хэтэрхий том юм. Кристал нь илүү дээр боловч температур нь өөр өөр давтамжтай байдаг. Бид үүгээр нарийн хэмжих төхөөрөмжийг хийж чадахгүй. Түүнчлэн, давтамж өндөр байх тусам ижил хурдыг тооцох болно. Маш сайн нарийвчлалтай байхын тулд дээж авах нь илүү дээр байх болно. Тик нь хуваагддаггүй тул үүргийн мөчлөг хурдан байвал алдагдал бага байдаг.
20 МГц давтамжтайгаар бид 50 ns алхамтай. 38 фут/сек хурдтай харвах нь 50 нс хэр нарийвчлалтай болохыг бид мэдэх үү.
38.1472637 фут/сек -ийг 131071 = 0, 000291042 футад хуваана
0, 0003880569939956207 фут x 12 = 0, 003492512 инч
1/0, 003492512 = 286.37 ". Өөрөөр хэлбэл. 50 фут/сек-ийн нарийвчлалтайгаар +- 1/286" эсвэл +- 0, 003492512 инч байна
Гэхдээ хэрэв миний осциллятор хамгийн муу бөгөөд 20 МГц +2.5 ppm дээр ажилладаг бол зүгээр үү? Үүнийг олж мэдье …
20 000 000 -ийн 2.5 ppm нь: (20000000/1000000) x 2.5 = 20000050 Гц
Хамгийн муу тохиолдолд 20 мГц давтамжтай 50 цагтай болно. 1 секундэд 50 цаг байна. Пеллет ижил хурдтай (38.1472637 фут/сек буюу 6.55 мс) байвал timer1 дээр хичнээн их tic байдаг вэ?
1/20000050 = 49.999875 ns
49.999875 ns x 131071 = 6, 553533616 ms
6, 553533616 ms x 4 = 26.21413446 ms
1/26.21413446 ms = 38.14735907 фут/сек
Тиймээс бид 38.1472637 фут/сек -ийн оронд 38.14735907 фут/сек байна
2.5 ppm нь үр дүнд нөлөөлөхгүй гэдгийг бид одоо мэдэж байна.
Энд өөр өөр хурдны жишээ байна
1000 фут/сек -ийн хувьд
1000 ft/s x 12 нь 12000 инч/сек юм
12000 "3 -ийг хэдэн удаа хийх вэ?" 1 секунд? 3x1/12000 = 250 секунд
250 us / 50 ns = 5000 tic.
Таймер1 нь 5000 байх болно
uC математик хийх ба 1000 фут/сек харагдана. Одоогоор маш сайн
900 фут/сек -ийн хувьд
900 фут/сек нь 10800 инч/сек юм
3x1/10800 = 277.77 бид
277, 77 ns / 50 ns = 5555, 5555 tic
Таймер 1 5555 дээр байх болно
uC математикийг хий, 900 биш, 900, 09 гарч ирэх болно
Яагаад? таймер 1 нь 5555 байхад 0, 5555 алдагдсан. Tic on timer нь хуваагддаггүй.
Бид 900 ft/s дээр 0, 09 гэсэн алдаатай байна
0, 09/900x100 = 0, 01% -ийн алдаа
1500 ft/s1500 ft/s -ийн хувьд 18000 инч/сек 3x1/10800 = 166.66 байна
166.66 us / 50 ns = 3333.333 tic Timer 1 нь 3333 дээр байх болно
uC математикийг хийдэг бөгөөд 1500.15 -ийн оронд 1500.15 гарч ирнэ.15/1500x100 = 0, 01%
9000 фут/сек -ийн хувьд
9000 x 12 = 180000 инч / сек
3x1/180000 = 27.7777 бид
27.77 us / 50 ns = 555, 555
Таймер1 555 дээр байх ба 4/(1/555x50нс) 9009, 00 харагдана.
Энд алдаа 9000 = 0, 1% дээр 9 фут/сек байна.
Таны харж байгаагаар хурд өндөр байх үед % алдаа нэмэгддэг. Гэхдээ <0.1% үлдэх
Эдгээр үр дүн маш сайн байна.
Гэхдээ нарийвчлал нь шугаман биш юм. 10000 фут/сек хурдтай байхад энэ нь 0, 1 %байна. Сайн зүйл бол бид 10,000 фут/сек үрэлийг хэзээ ч туршдаггүй.
Санаж байх ёстой өөр нэг зүйл. Тасалдал гарах үед uC тасалдалд орохоосоо өмнө үргэлж сүүлчийн зааврыг дуусгадаг. Энэ бол хэвийн зүйл бөгөөд бүх UC үүнийг хийдэг. Хэрэв та arduino -г C эсвэл бүр ассемблер дээр кодлодог бол. Ихэнх тохиолдолд та үүрд хүлээх болно … хүлээх. Асуудал нь гогцоонд бид 2 мөчлөг зарцуулдаг. Дүрмээр бол энэ нь тийм ч чухал биш юм. Гэхдээ манай тохиолдолд. ТИЙМ, tic бүр чухал ач холбогдолтой. Хязгааргүй хүрдийг харцгаая.
угсрагч:
гогцоо:
rjmp давталт
C хэл дээр:
байхад (1) {}
Үнэн хэрэгтээ C хөрвүүлэгч нь rjmp зааврыг ашигладаг. RJMP нь 2 мөчлөг юм.
Хэрэв тасалдал эхний мөчлөгт тохиолдвол бид нэг мөчлөг (tic) (50ns) алдана гэсэн үг юм.
Үүнийг засах миний арга бол гогцоонд олон nop заавар нэмэх явдал юм. NOP бол 1 мөчлөг юм.
гогцоо:
үгүй
үгүй
үгүй
үгүй
үгүй
rjmp давталт
Хэрэв тасалдал нь nop зааврын дагуу болвол. Бид зүгээр. Хэрэв энэ нь rjmp зааврын хоёр дахь мөчлөг дээр тохиолдвол бид зүгээр байна. Гэхдээ хэрэв энэ нь rjmp зааврын эхний мөчлөг дээр тохиолдвол бид нэг tic -ээ алдах болно. Тийм ээ, энэ нь ердөө 50 ns боловч дээр дурдсанчлан 3 инчийн 50 ns нь юу ч биш юм. Яг тасалдал хэзээ болохыг мэдэхгүй учраас бид үүнийг програм хангамжаар засч залруулж чадахгүй байна. Тиймээс код дээр та маш олон nop зааврыг харах болно. Одоо тасалдал нь nop зааварчилгаа өгөх болно гэдэгт би итгэлтэй байна. Хэрэв би 2000 nop нэмбэл би rjmp заавар дээр 0, 05% байна.
Санаж байх ёстой өөр нэг зүйл. Тасалдал гарах үед. Хөрвүүлэгч олон түлхэх, татах үйлдлийг хийдэг. Гэхдээ энэ нь үргэлж ижил тоо юм. Тиймээс одоо бид програм хангамжийн залруулга хийж болно.
Үүнийг дүгнэж хэлэхэд:
1000 фут/сек дундаж үрлийн нарийвчлал нь 0, 01% байна
Зах зээл дээрх бусад 1% -аас 100 дахин нарийвчлалтай. Давтамж нь илүү өндөр бөгөөд TCXO -ийн хувьд илүү нарийвчлалтай байдаг
Жишээлбэл, 1000 фут/сек -ийн 1% нь 10 фут/с -ээс ихгүй байна. Маш том ялгаа байна.
Алхам 3: Схем ба эд ангиудын жагсаалт
Энд би нэг товчлуурыг асаах/унтраах хэлхээгээ хэрэгжүүлэв. (Миний сүүлчийн зааврыг үзнэ үү) Энэ хэлхээ нь маш тохиромжтой бөгөөд маш сайн ажилладаг.
Би atmega328p ашиглаж байна. Үүнийг C дээр програмчилсан болно.
Дэлгэц нь HD44780 стандарт LCD дэлгэцтэй 2 мөртэй. 4 битийн горимыг ашигладаг.
TCXO 20mhz хүчдэлийг хангахын тулд 3.3v зохицуулагчийг ашигладаг.
D1 нь lcd арын гэрэлтүүлэг юм. Нэмэлт. Хэрэв та D1 -ийг суулгаагүй бол батерей удаан үргэлжлэх болно.
Бүх резистор ба таг нь 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 шугам HD44780. I2c модулийг худалдаж авах шаардлагагүй.
Мэдрэгч:
2х ялгаруулагч OP140A
2х хүлээн авагч OPL530
Кодлогч: PEC11R-4215K-S0024 *Кодлогч шүүлтүүр хийхийн тулд 4x 10k эсэргүүцэл, 2x.01uf нэмэхээ бүү мартаарай. доорх зургийг үзнэ үү
Алхам 4: ПХБ -ийн Гербер файл
Энд gerber файлууд байна
Алхам 5: Pcb -ээ гагнах
Схемийн тусламжтайгаар бүх бүрэлдэхүүн хэсгүүдийг PCB дээр гагнана. Pcb, r1, r2 … гэх мэт хэсгүүд эсвэл бичсэн зүйлс тус бүр.
Надад D1 суулгаагүй байна. Энэ нь lcd арын гэрэлд зориулагдсан болно. Энэ нь үзэсгэлэнтэй боловч батерейны ашиглалтад нөлөөлдөг. Тиймээс би lcd арын гэрлийг унтраахаар шийдсэн.
Алхам 6: Atmega328p програмчлах
Atmega328p програмчлахын тулд 12 -р алхамыг эндээс үзээрэй. Би энд.hex файлыг энд оруулав.
Багц файлыг програмчлахад бэлэн байгаа avrdude програм энд байна. Зөвхөн usbasp.bat програм дээр дарахад таны usbasp зөв суулгасан байна. Гал хамгаалагчийг оруулаад бүгдийг автоматаар хийх болно.
1drv.ms/u/s!AnKLPDy3pII_vXaGPIZKMXxaXDul?e…
Энэ төсөлд би C эх кодыг хуваалцаж байна. Зарим тэмдэглэл франц хэл дээр байж болохыг анхаарна уу.
Алхам 7: Lcd дэлгэц
Бага зэрэг соронзон хальс суулгаж, pcb болон lcd -ийг хооронд нь холбоно уу
Алхам 8: STL файл
stl файл
1drv.ms/u/s!AnKLPDy3pII_vgezy0i0Aw3nD-xr?e…
Хашаа, мэдрэгч хоолой, винтов эзэмшигчийн дэмжлэг шаардлагатай.
Би бүгд.2 мм өндөрт хэвлэсэн.
Алхам 9: Ротари кодлогч
Энэхүү эргэлдэгч кодлогч нь isp холбогчтой холбогдсон байна. Энэ нь үрлэнгийн жинг өөрчлөх, төхөөрөмжийг асаах, унтраахад ашиглагддаг.
vcc isp pin 2 (эсэргүүцэл татах)
А терминал (шар) нь ISP зүү 1 рүү очно
Терминал B (ногоон) ISP 3 -р зүү рүү очно уу
Терминал C (gnd) isp pin 6
Шүүлтүүртэй байх, шүүлтүүргүй байх хоёрын ялгааг харахын тулд би 2 зураг нэмж байна. Та хоёулангийнх нь ялгааг хялбархан харж чадна.
Товчлуур нь pcb SW холбогч руу очно.
Алхам 10: Мэдрэгчийн хоолой
ЧУХАЛ:
Мэдрэгч хоолой нь хар өнгөтэй, мэдрэгч хүлээн авагч нь далд байх ёстой
Миний анхны оролдлого бол сайхан улаан хоолойтой болох явдал байв. Гэхдээ энэ бол төвөгтэй юм! Энэ нь огт ажиллахгүй байсан. Гаднах гэрэл нь хуванцар, хүлээн авагчийн мэдрэгч үргэлж асдаг болохыг олж мэдэв.
Сайн үр дүнд хүрэхийн тулд өнгийг хар болгож өөрчлөхөөс өөр арга байгаагүй.
Дээд талд хүлээн авагч суулгана уу. Мөн тунгалаг хуванцарыг хар будаг, соронзон хальс эсвэл бохь, хар силиконоор нуу.
Доод талд ялгаруулагч суулгаарай.. Мэдрэгч сайн хариу өгч байгаа эсэхийг үзэгээр шалгана уу. Ялгаруулагчийн нүхийг бага зэрэг томруулах шаардлагатай байж магадгүй юм. Энэ нь таны хэвлэгчийн тохируулгаас хамаарна.
Би бас сүүдэрт илүү сайн үр дүнд хүрсэн. Нарны шууд тусгалаас зайлсхий.
Алхам 11: Мэдрэгч хоолойн өөр хувилбар
Хэрэв танд 3d принтер байхгүй бол та үүнийг зэс хоолойгоор хийж болно. Энэ нь маш сайн ажиллах болно. Хийхэд хэцүү зүйл бол яг 3 инчийн нүх бөгөөд хүлээн авагч ба ялгаруулагчийг зэрэгцүүлсэн байх ёстой.
Алхам 12: Осциллограф ба калибровкийн үрэл
Энэ бол дамжуулах хоолойн жинхэнэ үрэл юм. 1 -р шар нь мэдрэгч юм. 2 -р ягаан бол 2 -р мэдрэгч юм.
Цаг/div бол бидний 50.
Бид 50us -ийн 6 хэлтсийг тоолж чадна. 50 us x 6 = 300 us (3 инчийн хувьд). 1 хөлийн хувьд 300 us x 4 = 1.2 ms
1/1.2ms = 833.33 ft/s
Мэдрэгч нь ихэвчлэн 5V хүчдэлтэй байгааг бид бас харж болно. Мөн бид ялгаруулагч гэрлийг хааж болно, мэдрэгч 0 болж буурна.
Энэ бол түүний хөрвүүлэгчийг эхлүүлэх, зогсоох арга юм (таймер1)
Гэхдээ хурд үнэн зөв эсэхийг мэдэхийн тулд надад үүнийг хэмжих арга хэрэгтэй байсан.
Програм хангамжийн шалгалт тохируулга хийх, энэ төхөөрөмжийн нарийвчлалыг шалгахын тулд би 10 МГц давтамжтай осциллятор ашигласан. Миний GPSDO -г бусад зааварчилгаанаас үзнэ үү.
Би энэ 10 мГц -ийн тусламжтайгаар өөр atmega328 -ийг тэжээдэг. Мөн үүнийг үрчлэх загварчлах товчлуурыг дарах бүрт надад 2 импульс илгээхийг ассемблерт програмчлаарай. Яг л бид зурган дээр харсан шиг харин жинхэнэ үрэл авахын тулд өөр нэг UC нь надад 2 импульс илгээсэн юм.
Товчлуурыг дарах бүрт 1 импульс, өөр импульс явуулсны дараа яг 4 мс илгээдэг.
Ийм байдлаар би програм хангамжийн хөрвүүлэгчийг үргэлж 1000 фут/сек харуулахын тулд тэнцвэржүүлж чаддаг.
Алхам 13: Дэлгэрэнгүй…
Энэ бол миний 2010 оны анхны загвар юм.
Аливаа асуулт, алдааны талаар надад имэйлээр илгээж болно. Англи эсвэл Франц. Би чадах бүхнээрээ туслах болно.
Зөвлөмж болгож буй:
Агаарын бохирдлыг илрүүлэх + Агаарын шүүлтүүр: 4 алхам
Агаарын бохирдлыг илрүүлэх + Агаарын шүүлтүүр: Германы Швейцарийн олон улсын сургуулийн оюутнууд (Аристобулус Лам, Виктор Сим, Натан Розенцвейг, Деклан Логес) MakerBay -ийн ажилтнуудтай хамтран агаарын бохирдлыг хэмжих, агаарын шүүлтүүрийн үр дүнтэй системийг бий болгосон. Энэ
DIY агаарын чанарын мэдрэгч + 3D хэвлэсэн хайрцаг: 6 алхам
DIY агаарын чанарын мэдрэгч + 3D хэвлэсэн хайрцаг: Энэхүү гарын авлага нь маш чадварлаг, халаасны хэмжээтэй мэдрэгч бүтээхэд шаардлагатай бүх мэдээллийг агуулсан болно
Хямд 3D хэвлэсэн RC агаарын хөлөг: 5 алхам
Хямд 3D хэвлэмэл RC агаарын хөлөг: Зөвхөн 3D принтер, Eachine e010 дрон ашиглан би 15 долларын үнэтэй усан онгоц хийсэн. Энэ бол маш хөгжилтэй, супер өөрчлөн тохируулах боломжтой, хийхэд маш хялбар юм. Танд энэ төсөл яг над шиг таалагдсан гэж найдаж байна. Дэлгэрэнгүй зааврыг миний видеог үзээрэй: Mater
RC агаарын завийг хэрхэн яаж хийх вэ! 3D хэвлэсэн эд анги болон бусад зүйлсийн хамт: 5 алхам (зурагтай)
RC агаарын завийг хэрхэн яаж хийх вэ! 3D хэвлэмэл хэсгүүд болон бусад эд зүйлсийн тусламжтайгаар: Агаарын завь нь маш сайн байдаг, учир нь тэд үнэхээр зугаатай байдаг, мөн мотор хангалттай хүч чадалтай бол ус, цас, мөс, асфальт гэх мэт янз бүрийн гадаргуу дээр ажилладаг. тийм ч төвөгтэй биш бөгөөд хэрэв танд электрон байгаа бол
LED Bouncy Ball агаарын их бууны сум. Хялбар: 6 алхам
LED Bouncy Ball агаарын их бууны сум. Хялбар: Энэ бол миний шөнийн цагаар агаарын их буунаасаа буудах зориулалттай хийсвэр бөмбөг юм. Та үүнийг өөр зүйлд ашиглаж болно, гэхдээ би зөвхөн бөмбөгийг буудах зориулалттай агаарын их буугаар буудахад л ашигладаг