Orodha ya maudhui:

Chronograph ya Rifle ya Hewa, Chronoscope. Kuchapishwa kwa 3D: Hatua 13
Chronograph ya Rifle ya Hewa, Chronoscope. Kuchapishwa kwa 3D: Hatua 13

Video: Chronograph ya Rifle ya Hewa, Chronoscope. Kuchapishwa kwa 3D: Hatua 13

Video: Chronograph ya Rifle ya Hewa, Chronoscope. Kuchapishwa kwa 3D: Hatua 13
Video: JONY, HammAli & Navai - Без тебя я не я 2024, Julai
Anonim
Image
Image
Makala
Makala

Halo kila mtu, leo tutatembelea tena projet ambayo nimefanya mnamo 2010. Chronograph ya Rifle Air. Kifaa hiki kitakuambia kasi ya makadirio. Pellet, BB au hata mpira laini wa plastiki laini wa BB.

Mnamo 2010 nilinunua bunduki ya hewa kwa raha. Ilikuwa kupiga makopo, chupa, lengo. Najua kuwa kasi ya bunduki hii ilikuwa juu ya miguu 500 / s. Kwa sababu ni sheria ya Canada. Bunduki zingine za nguvu za hewa zinapatikana lakini unahitaji kuwa na leseni na hauwezi kununua vitu hivyo huko Walmart.

Sasa nilikuwa na leseni hii, ningeweza kununua nyingine. Lakini hadithi fupi, bunduki hiyo hiyo ilipatikana kwa Merika kwa miguu / s 1000. NINI!? Bunduki hiyo hiyo? ndio… Katika Canada, kiharusi kina shimo ndani yake na chemchemi ni laini.

Jambo la kwanza kufanya ni kujaza shimo. Hiyo ndivyo nilifanya na solder. Jambo la pili kufanya ni kuagiza chemchemi mbadala. Lakini subiri… kasi ya toy yangu mpya ni nini? Je! Chemchemi ni muhimu sana? Sijui na ninataka kujua. Nataka kujua sasa lakini vipi?

Ndio sababu nilifanya mradi huu. Nilihitaji tu sensorer 2, eC na onyesho na tuko kwenye biashara.

Wiki iliyopita, niliona chronograph yangu ya zamani ya bluu kwenye rafu na ninajiongelesha mwenyewe: "Kwanini usishiriki hii na ufanye kufundishwa nayo?" Na kwa njia, tunaweza kuinua usahihi na kuongeza kiashiria cha betri. Weka kitufe 1 badala ya 2 kwa kuzima / kuzima. Mlima wote wa uso. Sasa tuko 2020!

Kwa hivyo iko hapa … wacha tuanze!

Hatua ya 1: Kipengele

-Kiwango cha jarida

-Ujali

-20 mhz kukimbia, usahihi mkubwa

-Auto mbali

-Vetri ya betri inaonyeshwa

-kimu inapatikana

-pcb inapatikana

orodha ya sehemu inapatikana

-STL inapatikana

Nambari -C inapatikana

Hatua ya 2: Nadharia ya Uendeshaji na Usahihi

-Tuna eC inayoendesha saa 20Mhz. Oscillator iliyotumiwa ni TCX0 + -2.5 ppm

-Tuna sensorer 2 kwa inchi 3 mbali kutoka kwa kila mmoja.

-The projectile iligonga sensor ya kwanza. Kuanza kuhesabu (timer1)

-The projectile iligonga sensa ya pili. uC acha kuhesabu.

-uC angalia thamani ya timer1, fanya hesabu na uonyeshe kasi na kasi.

Ninatumia timer1 16 kidogo + bendera ya kufurika tov1. Jumla 17 kidogo kwa 131071 "tic" kwa hesabu kamili.

1/20 mhz = 50 ns. Kila tic ni 50ns

131071 x 50 ns = 6.55355 ms kufanya inchi 3.

6.55355 ms x 4 = 26.21 ms kufanya inchi 12.

1 / 26.21 ms = 38.1472637 miguu / s

Hii ndio kasi polepole ambayo kifaa kinaweza kupata.

Kwa nini mhz 20? Kwa nini usitumie mhz 8 ya ndani au hata kristrist?

Kifaa changu cha kwanza kilikuwa kinatumia oscillator ya ndani. Ilikuwa ikifanya kazi lakini hii haikuwa sahihi vya kutosha. Tofauti ni kubwa sana. Cristal ni bora lakini joto ni tofauti na mzunguko. Hatuwezi kufanya kifaa sahihi cha kipimo na hiyo. Pia, zaidi masafa ni ya juu, tic zaidi itahesabiwa kwa kasi sawa. Sampuli itakuwa bora kuwa na usahihi mzuri sana. Kwa sababu tic haiwezi kugawanywa, hasara ni kidogo ikiwa mzunguko wa ushuru ni haraka.

Katika 20 MHz tuna hatua za 50 ns. Je! Tunajua ni sahihi ngapi 50 ns kwa projectile saa 38 ft / s.

38.1472637 ft / s hugawanywa na 131071 = 0, 000291042 miguu

0, 0003880569939956207 miguu x 12 = 0, 003492512 inchi

1/0, 003492512 = 286.37 ". Kwa maneno mengine. Saa 50 ft / s tuna usahihi wa + - 1/286" au + - 0, 003492512 inchi

Lakini ikiwa oscillator yangu ni mbaya zaidi na inaendesha saa 20 mhz +2.5 ppm ni sawa? Wacha tujue…

2.5 ppm ya 20 000 000 ni: (20000000/1000000) x 2.5 = 20000050 Hz

Hali mbaya kabisa tuna saa 50 zaidi kwenye mhz 20. Ni saa 50 kwa sekunde 1. Je! Ni ngapi zaidi juu ya timer1 ikiwa pellet inafanya kasi sawa (38.1472637 miguu / s au 6.55ms)?

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 miguu / s

Kwa hivyo tuna miguu 38.14735907 / s badala ya 38.1472637 miguu / s

Sasa tunajua kuwa 2.5 ppm haiathiri matokeo.

Hapa kuna mfano wa kasi tofauti

Kwa 1000 ft / s

1000 ft / s x 12 ni inchi 12000 / s

Sekunde 1 kwa 12000 "saa ngapi za kufanya 3"? 3x1 / 12000 = 250 sekunde zetu

250 sisi / 50 ns = 5000 tic.

Timer1 itakuwa saa 5000

eC do math na 1000 ft / s zinaonyeshwa. Hadi sasa ni nzuri sana

Kwa 900 ft / s

900 ft / s ni 10800 / s

3x1 / 10800 = 277.77 sisi

277, 77 ns / 50 ns = 5555, 5555 tic

Kipima muda 1 kitakuwa saa 5555

uC fanya hesabu na 900, 09 itaonyeshwa badala ya 900

Kwa nini? kwa sababu kipima muda 1 ni saa 5555 na 0, 5555 imepotea. Tic kwenye kipima muda haigawanyiki.

Tuna kosa fo 0, 09 juu ya 900 ft / s

0, 09 / 900x100 = 0, makosa ya 01% tu

Kwa 1500 ft / s1500 ft / s ni 18000 / s 3x1 / 10800 = 166.66 us

166.66 us / 50 ns = 3333.333 tic Timer 1 itakuwa saa 3333

eC kufanya hesabu na 1500.15 zitaonyeshwa badala ya 1500 ni.15 / 1500x100 = 0, 01%

Kwa 9000 ft / s

9000 x 12 = 180000 inches / s

3x1 / 180000 = 27.7777 sisi

27.77 sisi / 50 ns = 555, 555

Timer1 itakuwa saa 555 na 4 / (1 / 555x50ns) itaonyeshwa 9009, 00 itaonyeshwa

Hapa kosa ni ya futi 9 / s kwa 9000 = 0, 1%

Kama unavyoona kosa% inaongezeka wakati kasi ni kubwa. Lakini kaa <0.1%

Matokeo hayo ni mazuri sana.

Lakini usahihi sio laini. Kwa 10000 ft / s ni 0, 1%. Nzuri mpya hatujaribu mtihani wa 10, 000 ft / s pellet.

Jambo lingine la kuzingatia. Usumbufu unapotokea, uC kila wakati maliza maagizo ya mwisho kabla ya kuingia kukatiza. Hii ni kawaida na uC wote hufanya hivi. Ikiwa utaweka alama ya arduino, katika C au hata mkusanyiko. Wakati mwingi utasubiri kwa kitanzi cha milele … kusubiri. Shida ni, katika kitanzi tunatumia mizunguko 2. Kwa kawaida hii sio muhimu. Lakini kwa upande wetu. NDIYO, kila tic ni muhimu. Wacha tuangalie kitanzi kisicho na mwisho:

mkusanyaji:

kitanzi:

kitanzi cha rjmp

Katika C:

wakati (1) {}

Kwa kweli mkusanyaji C anatumia maagizo ya rjmp. RJMP ni mizunguko 2.

Hiyo inamaanisha ikiwa usumbufu utatokea kwa mzunguko wa kwanza, tunafungua mzunguko mmoja (tic) (50ns).

Njia yangu ya kurekebisha hiyo ni kuongeza mafundisho mengi ya nop kwenye kitanzi. NOP ni mzunguko 1.

kitanzi:

nop

nop

nop

nop

nop

kitanzi cha rjmp

Usumbufu ukitokea kwenye maagizo ya nop. Tuko sawa. Ikitokea kwenye mzunguko wa pili wa maagizo ya rjmp tuko sawa. Lakini ikiwa itatokea kwenye mzunguko wa kwanza wa maagizo ya rjmp, tutapoteza tic moja. Ndio ni ns 50 tu lakini kama unaweza kuona hapo juu, 50 ns kwenye inchi 3 sio kitu. Hatuwezi kusahihisha hii kwa programu kwa sababu hatujui ni lini usumbufu utatokea. Ndio sababu kwenye nambari utaona maagizo mengi ya nop. Sasa nina hakika kuwa usumbufu utaanguka kwenye maagizo ya nop. Ikiwa nikiongeza 2000 nop nina 0, 05% kuanguka kwenye maagizo ya rjmp.

Jambo lingine la kuzingatia. Usumbufu unapotokea. Mkusanyaji hufanya kushinikiza na kuvuta nyingi. Lakini daima ni nambari sawa. Kwa hivyo sasa tunaweza kufanya marekebisho ya programu.

Kuhitimisha juu ya hili:

Usahihi wa pellet wastani ya 1000 ft / s ni 0, 01%

100x sahihi zaidi kuliko 1% nyingine kwenye soko. Mzunguko ni wa juu na kwa TCXO, ni sahihi zaidi

Kwa mfano, 1% ya 1000 ft / s ni zaidi au chini ya 10 ft / s. Ni tofauti kubwa.

Hatua ya 3: Orodha ya Mpangilio na Sehemu

Orodha ya Mpangilio na Sehemu
Orodha ya Mpangilio na Sehemu

Hapa nilitekeleza kitufe changu cha kushinikiza kwenye mzunguko wa / kuzima. (tazama mwisho wangu anayeweza kufundishwa) Mzunguko huu ni rahisi sana na hufanya kazi vizuri sana.

Ninatumia atmega328p. Hii imewekwa katika C.

Onyesho ni laini 2 ya kawaida ya LCD HD44780 inayoambatana. Njia 4 kidogo hutumiwa.

Mdhibiti wa 3.3v hutumiwa kutoa voltage kwa TCXO 20mhz.

D1 ni kwa taa ya nyuma ya LCD. Hiari. Betri itadumu kwa muda mrefu ikiwa hautasakinisha D1.

Vipinga vyote na kofia ni kifurushi 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

Onyesha lcd 2 laini HD44780. Hakuna haja ya kununua moduli ya i2c.

Sensorer:

Mtoaji wa 2x OP140A

Mpokeaji wa 2x OPL530

Encoder: PEC11R-4215K-S0024 * Usisahau kuongeza vipinga 4x 10k na 2x.01uf kufanya kichungi cha usimbuaji. tazama picha hapa chini

Hatua ya 4: Faili ya Gerber ya PCB

Picha ya Gerber Gerber
Picha ya Gerber Gerber
Picha ya Gerber Gerber
Picha ya Gerber Gerber
Picha ya Gerber Gerber
Picha ya Gerber Gerber
Picha ya Gerber Gerber
Picha ya Gerber Gerber

Hapa kuna faili za kijinga

Hatua ya 5: Solder Pcb Yako

Solder Pcb yako
Solder Pcb yako
Solder Pcb yako
Solder Pcb yako
Solder Pcb yako
Solder Pcb yako

Kwa usaidizi wa kiufundi, solder sehemu yako yote kwenye pcb. Kila sehemu au maandishi kwenye pcb, r1, r2… na kadhalika.

Sina D1. Hii ni kwa taa ya nyuma ya LCD. Ni nzuri lakini maisha ya betri yanaathiriwa. Kwa hivyo nachagua kuzima taa ya nyuma ya LCD.

Hatua ya 6: Kupanga programu ya Atmega328p

Kupanga programu ya Atmega328p
Kupanga programu ya Atmega328p

Angalia hapa katika hatua ya 12 kupanga atmega328p. Ninatoa hapa faili ya.hex kwa hii.

Hapa kuna programu ya avrdude tayari kupanga faili ya kundi. Bonyeza tu kwenye mpango usbasp.bat na usbasp yako imewekwa kwa usahihi. Yote yatatekelezwa kiatomati ikiwa ni pamoja na fuse kidogo.

1drv.ms/u/s!AnKLPDy3pII_vXaGPIZKMXxaXDul?e…

Katika mradi huu nashiriki pia nambari ya chanzo C. Jihadharini kuwa barua ndogo ndani yake inaweza kuwa katika french.https://1drv.ms/u/s! AnKLPDy3pII_vXUMXHdxajwGRFJx? E…

Hatua ya 7: Uonyesho wa Lcd

Kuonyesha LCD
Kuonyesha LCD
Kuonyesha LCD
Kuonyesha LCD

Sakinisha mkanda na unganisha pcb na LCD pamoja

Hatua ya 8: Faili ya STL

Faili ya STL
Faili ya STL
Faili ya STL
Faili ya STL
Faili ya STL
Faili ya STL

stl faili

1drv.ms/u/s!AnKLPDy3pII_vgezy0i0Aw3nD-xr?e…

Msaada unahitajika kwa uzio, bomba la sensorer na mmiliki wa bunduki.

Nimechapisha yote kwa urefu wa.2 mm.

Hatua ya 9: ROTARY ENCODER

ENODER YA MOTO
ENODER YA MOTO
ENODER YA MOTO
ENODER YA MOTO
ENODER YA MOTO
ENODER YA MOTO

Encoder hii ya rotary imeunganishwa na kiunganishi cha isp. hutumiwa kubadilisha uzito wa pellet na kuwasha na kuzima kifaa.

vcc isp pin 2 (vuta kontena)

Kituo A (manjano) nenda kwenye pini 1 ya ISP

Kituo cha B (kijani kibichi) nenda kwenye pini ya ISP 3

Kituo cha C (gnd) isp pin 6

Ninaongeza picha 2 ili kuona tofauti kati ya kuwa na kichujio vs hakuna kichujio. Unaweza kuona kwa urahisi tofauti kati ya zote mbili.

Kitufe cha kushinikiza nenda kwa kiunganishi cha pcb SW.

Hatua ya 10: Bomba la Sensorer

Bomba la Sensorer
Bomba la Sensorer
Bomba la Sensorer
Bomba la Sensorer
Bomba la Sensorer
Bomba la Sensorer

MUHIMU:

Bomba la sensorer lazima iwe Nyeusi na mpokeaji wa sensorer lazima ajifiche

Jaribio langu la kwanza lilikuwa kuwa na bomba nzuri nyekundu. Lakini hii ni ngumu! Haikuwa ikifanya kazi hata kidogo. Niligundua kuwa taa ya nje ilikuwa ikiingia tupa sensor ya plastiki na mpokeaji ilikuwa imewashwa kila wakati.

Kuwa na matokeo mazuri sikuwa na chaguo la kubadilisha rangi kuwa nyeusi.

Sakinisha mpokeaji juu. Na ficha plastiki wazi na rangi nyeusi, mkanda au fizi, silicone nyeusi.

Sakinisha kitoweo chini.. Angalia na kalamu ikiwa sensorer zinaitikia vizuri. Labda shimo la mtoaji litahitaji kupanuliwa kidogo. itakuwa tegemezi ya calibration yako ya printa.

Nina matokeo bora zaidi kwenye kivuli. Epuka mionzi ya jua.

Hatua ya 11: Njia mbadala ya bomba la sensorer

Njia mbadala ya bomba la sensorer
Njia mbadala ya bomba la sensorer
Njia mbadala ya bomba la sensorer
Njia mbadala ya bomba la sensorer

Ikiwa huna printa ya 3d, unaweza kufanya vivyo hivyo na bomba la shaba. Itakuwa ikifanya kazi vizuri sana kwa. Kitu ngumu kufanya ni shimo lenye inchi 3 na mpokeaji na mtoaji lazima ziwe sawa.

Hatua ya 12: Pellet juu ya Oscilloscope na Calibration

Pellet juu ya Oscilloscope na Calibration
Pellet juu ya Oscilloscope na Calibration

Hii ni pellet halisi inayopita kutupa bomba. Probe 1 ya manjano ni sensor 1. Probe 2 zambarau ni sensor 2.

Wakati / div ni 50 sisi.

Tunaweza kuhesabu mgawanyiko 6 wa 50us. 50 us x 6 = 300 sisi (kwa inchi 3). 300 us x 4 = 1.2 ms kwa mita 1

1 / 1.2ms = 833.33 ft / s

Tunaweza pia kuona kwamba sensor kawaida iko 5v. Na tunaweza kuzuia mwanga wa emitter, sensorer ikaanguka kwa 0.

Ni njia ya uC kuanza na kuacha kongamano lake (timer1)

Lakini kujua haswa ikiwa kasi ilikuwa sahihi, nilihitaji njia ya kuijua hii.

Kufanya usawazishaji wa programu na kujaribu usahihi wa kifaa hiki, nilitumia oscillator ya kumbukumbu ya mhz 10. Tazama GPSDO yangu kwenye zingine zinazoweza kufundishwa.

Nalisha mwingine atmega328 na hii mhz 10. Na nipange hii katika mkusanyiko ili nitumie kunde 2 kila wakati ninasukuma kitufe kuiga pellet. Hasa kama vile tulivyoona kwenye picha lakini badala yake kuwa na pellet halisi ilikuwa eC nyingine ikinitumia mapigo 2.

Kila wakati kitufe cha kushinikiza kilibonyeza mapigo 1 yalitumwa na haswa ms 4 baada ya pigo lingine kutumwa.

Kwa njia hii, nitaweza kusawazisha mkusanyaji wa programu kuwa na kila siku 1000 ft / s zilizoonyeshwa.

Hatua ya 13: Zaidi…

Zaidi…
Zaidi…
Zaidi…
Zaidi…

Hii ni mfano wangu wa kwanza wa 2010.

Kwa maswali yoyote au ripoti ya makosa unaweza kunitumia barua pepe. Kiingereza au Kifaransa. Nitajitahidi kusaidia.

Ilipendekeza: