Talaan ng mga Nilalaman:
- Hakbang 1: Tampok
- Hakbang 2: Teorya ng Pagpapatakbo at Kawastuhan
- Hakbang 3: Listahan ng Skema at Mga Bahagi
- Hakbang 4: File ng Gerber ng PCB
- Hakbang 5: Paghinang ng Iyong Pcb
- Hakbang 6: Programming ang Atmega328p
- Hakbang 7: Lcd Display
- Hakbang 8: STL File
- Hakbang 9: ROTARY ENCODER
- Hakbang 10: Sensor Pipe
- Hakbang 11: Alternatibong Pipe ng Sensor
- Hakbang 12: Isang Pellet sa Oscilloscope at Pagkakalibrate
- Hakbang 13: Higit pa…
Video: Air Rifle Chronograph, Chronoscope. Naka-print na 3D: 13 Mga Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:11
Kumusta kayong lahat, ngayon ay muling bisitahin namin ang isang projet na nagawa ko noong 2010. Isang Air Rifle Chronograph. Sasabihin sa iyo ng aparatong ito ang bilis ng isang projectile. Pellet, BB o kahit air soft BB plastic ball.
Noong 2010 bumili ako ng isang air rifle para masaya. Ang pagpindot sa mga lata, bote, layunin. Alam ko na ang bilis ng baril na ito ay maximum na 500 talampakan / s. Dahil sa batas ng Canada. Ang ilang mga mas malakas na air rifle ay magagamit ngunit kailangan mong magkaroon ng isang lisensya para at hindi mo mabili ang bagay na iyon sa Walmart.
Ngayon mayroon akong lisensya na ito, makakabili ako ng isa pa. Ngunit maikling kuwento, ang parehong baril ay magagamit sa U. S. sa 1000 talampakan / s. ANO!? Ang parehong baril? oo … Sa Canada, ang butas ay mayroong butas dito at ang tagsibol ay mas malambot.
Ang unang dapat gawin ay punan ang butas. Iyon ang nagawa ko sa solder. Susunod na dapat gawin ay mag-order ng kapalit na spring. Ngunit maghintay … ano ang kasalukuyang bilis ng aking bagong laruan? Kailangan ba talaga ang tagsibol? Hindi ko alam at nais kong malaman. Gusto kong malaman ngayon ngunit paano?
Iyon ang dahilan kung bakit ginawa ko ang proyektong ito. Ang kailangan ko lang ay 2 sensor, isang uC at isang display at nasa negosyo kami.
Noong nakaraang linggo, nakita ko ang aking matandang asul na kronograpo sa isang istante at kinakausap ko ang aking sarili: "Bakit hindi ko ito ibahagi at gumawa ng isang itinuturo dito?" At sa pamamagitan ng paraan, maaari naming itaas ang kawastuhan at magdagdag ng isang tagapagpahiwatig ng baterya. Maglagay ng 1 pindutan sa halip na 2 para sa on / off. Ang buong ibabaw ng bundok. Nasa 2020 na tayo!
Kaya ayan na … magsimula tayo!
Hakbang 1: Tampok
-Bilis ng pelet
-Kaligtasan
-20 mhz tumatakbo, malaking katumpakan
-Auto off
-Napakita ang boltahe ng baterya
-magagamit ang iskema
-pcb magagamit
-part list na magagamit
-STL magagamit
-C code na magagamit
Hakbang 2: Teorya ng Pagpapatakbo at Kawastuhan
-May isang uC kami na tumatakbo sa 20Mhz. Ang ginamit na oscillator ay isang TCX0 + -2.5 ppm
-May 2 kaming sensor sa 3 pulgada ang layo sa bawat isa.
-Natamaan ng projectile ang unang sensor. uC simulan ang pagbibilang (timer1)
-Natamaan ng projectile ang pangalawang sensor. itigil ang pagbibilang ng uC
-UC suriin ang halaga ng timer1, gawin ang matematika at bilis ng pagpapakita at bilis.
Gumagamit ako ng 16 bit timer1 + ang overflow flag tov1. Kabuuang 17 bit para sa 131071 "tic" para sa isang buong bilang.
1/20 mhz = 50 ns. Ang bawat tic ay 50ns
131071 x 50 ns = 6.55355 ms upang gawin ang 3 pulgada.
6.55355 ms x 4 = 26.21 ms na gawin 12 pulgada.
1 / 26.21 ms = 38.1472637 talampakan / s
Ito ang pinakamabagal na bilis ng aparato.
Bakit 20 mhz? Bakit hindi gumagamit ng panloob na 8 mhz o kahit isang cristal?
Ang aking unang aparato ay gumagamit ng panloob na oscillator. Nagtatrabaho ngunit ang isang ito ay hindi sapat na tumpak. Ang pagkakaiba-iba ay masyadong malaki. Ang isang cristal ay mas mahusay ngunit ang temperatura ay magkakaiba-iba ng dalas. Hindi namin magagawa ang isang tumpak na aparato sa pagsukat doon. Gayundin, mas maraming dalas ang mataas, mas maraming tic ang bibilangin para sa parehong bilis. Ang sampling ay magiging mas mahusay na magkaroon ng isang napakahusay na kawastuhan. Dahil ang tic ay hindi mahahati, ang pagkawala ay kaunti kung ang duty cycle ay mabilis.
Sa 20 MHz mayroon kaming mga hakbang na 50 ns. Alam ba natin kung gaano katumpak ito 50 ns para sa isang projectile sa 38 ft / s.
38.1472637 ft / s hatiin ng 131071 = 0, 000291042 talampakan
0, 0003880569939956207 talampakan x 12 = 0, 003492512 pulgada
1/0, 003492512 = 286.37 ". Sa madaling salita. Sa 50 ft / s mayroon kaming katumpakan na + - 1/286" o + - 0, 003492512 pulgada
Ngunit kung ang aking oscillator ay ang pinakapangit at tumatakbo sa 20 mhz +2.5 ppm ok lang ba? Alamin Natin…
2.5 ppm ng 20 000 000 ay: (20000000/1000000) x 2.5 = 20000050 Hz
Kaya ang pinakamasamang sitwasyon ng kaso mayroon kaming 50 pang orasan sa 20 mhz. Ito ay 50 orasan sa 1 segundo. Ilan pa ang mas maraming tic sa timer1 kung ang pellet ay gumagawa ng parehong bilis (38.1472637 talampakan / s o 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 talampakan / s
Sa gayon mayroon kaming 38.14735907 talampakan / s sa halip na 38.1472637 talampakan / s
Ngayon alam namin na ang 2.5 ppm ay hindi nakakaapekto sa resulta.
Narito ang ilang exemple ng iba't ibang bilis
Para sa 1000 ft / s
Ang 1000 ft / s x 12 ay 12000 pulgada / s
1 segundo para sa 12000 "kung gaano karaming oras upang gawin 3"? 3x1 / 12000 = 250 us segundo
250 sa amin / 50 ns = 5000 tic.
Ang Timer1 ay nasa 5000
gawin mo ang matematika at ang 1000 ft / s ay ipinapakita. Sa ngayon napakahusay
Para sa 900 ft / s
900 ft / s ay 10800 / s
3x1 / 10800 = 277.77 sa amin
277, 77 ns / 50 ns = 5555, 5555 tic
Ang timer 1 ay nasa 5555
uC gawin ang matematika at 900, 09 ay ipapakita sa halip na 900
Bakit ? dahil ang timer 1 ay nasa 5555 at 0, 5555 ang nawala. Ang paghihiwalay sa timer ay hindi mahahati.
Mayroon kaming error sa 0, 09 sa 900 ft / s
0, 09 / 900x100 = 0, 01% error lamang
Para sa 1500 ft / s1500 ft / s ay 18000 / s 3x1 / 10800 = 166.66 sa amin
166.66 us / 50 ns = 3333.333 tic Timer 1 ay nasa 3333
uC gawin ang matematika at 1500.15 ay ipapakita sa halip na 1500 ito ay.15 / 1500x100 = 0, 01%
Para sa 9000 ft / s
9000 x 12 = 180000 pulgada / s
3x1 / 180000 = 27.7777 sa amin
27.77 sa amin / 50 ns = 555, 555
Ang Timer1 ay nasa 555 at ang 4 / (1 / 555x50ns) ay ipapakita 9009, ang 00 ay ipapakita
Narito ang error na 9 talampakan / s sa 9000 = 0, 1%
Tulad ng nakikita mong% error ay tumataas kapag ang bilis ay mas mataas. Ngunit manatili <0.1%
Ang mga resulta ay napakahusay.
Ngunit ang kawastuhan ay hindi linear. Sa 10000 ft / s ito ay 0, 1%. Magandang bago ay hindi namin sinubukan ang isang 10, 000 ft / s na peleksyon.
Isa pang bagay na dapat tandaan. Kapag nangyari ang isang nakakagambala, laging tapusin ng uC ang huling tagubilin bago pumasok sa abala. Normal ito at ginagawa ito ng lahat ng uC. Kung nag-code ka ng arduino, sa C o kahit na assembler. Karamihan sa mga oras ay maghihintay ka sa isang magpakailanman loop … maghintay. Ang problema ay, sa isang loop gumugol kami ng 2 cycle. Karaniwan hindi ito mahalaga. Ngunit sa aming kaso. YES, bawat tic ay mahalaga. Tingnan natin ang isang walang katapusang loop:
nagtitipon:
loop:
rjmp loop
Sa C:
habang (1) {}
Sa katunayan C compiler ay gumagamit ng rjmp na tagubilin. Ang RJMP ay 2 cycle.
Nangangahulugan iyon kung ang pagkagambala ay nangyari sa unang siklo, maluwag ang isang siklo (tic) (50ns).
Ang aking paraan upang ayusin iyon ay upang magdagdag ng maraming nop na tagubilin sa loop. Ang NOP ay 1 cycle.
loop:
hindi
hindi
hindi
hindi
hindi
rjmp loop
Kung ang nakakagambala mangyari sa isang nop na tagubilin. Ok naman kami Kung nangyari ito sa ikalawang ikot ng pagtuturo ng rjmp ok kami. Ngunit kung nangyari ito sa unang ikot ng tagubilin sa rjmp, mawawala sa amin ang isang pagkakasunud-sunod. Oo 50 ns lang ngunit tulad ng makikita mo sa itaas, 50 ns sa 3 pulgada ay wala. Hindi namin ito maitatama sa pamamagitan ng software dahil hindi namin alam kung kailan eksaktong nagagambala. Ito ang dahilan kung bakit sa code makikita mo ang maraming nop na tagubilin. Ngayon sigurado ako na ang makagambala ay mahuhulog sa isang hindi tagubilin. Kung nagdaragdag ako ng 2000 nop mayroon akong 0, 05% na mahulog sa tagubilin sa rjmp.
Isa pang bagay na dapat tandaan. Kapag naganap ang pagkakagambala. Ang tagatala ay maraming pinipilit at hinihila. Ngunit palaging pareho ang bilang. Kaya ngayon maaari kaming gumawa ng isang pagwawasto ng software.
Upang tapusin ito:
Ang kawastuhan para sa isang average na pellet na 1000 ft / s ay 0, 01%
100x mas tumpak kaysa sa iba pang 1% sa merkado. Mas mataas ang dalas at may TCXO, mas tumpak
Para sa exemple, 1% ng 1000 ft / s ay higit pa o mas mababa sa 10 ft / s. Napakalaking pagkakaiba nito.
Hakbang 3: Listahan ng Skema at Mga Bahagi
Dito ko ipinatupad ang aking isang push button sa / off circuit. (tingnan ang aking huling itinuturo) Ang circuit na ito ay napaka-madaling gamiting at gumagana nang napakahusay.
Gumagamit ako ng isang atmega328p. Ang isang ito ay nai-program sa C.
Ang display ay isang karaniwang 2 linya lcd HD44780 na katugma. 4 bit mode ang ginamit.
Ang isang 3.3v regulator ay ginagamit upang magbigay boltahe sa TCXO 20mhz.
Ang D1 ay para sa lcd backlight. Opsyonal. Mas magtatagal ang baterya kung hindi mo mai-install ang D1.
Ang lahat ng mga resistors at cap ay 0805 na pakete
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
Ipakita ang lcd 2 linya HD44780. Hindi kailangang bilhin ang i2c module.
Mga Sensor:
2x Emitter OP140A
2x Reciever OPL530
Encoder: PEC11R-4215K-S0024 * Huwag kalimutang magdagdag ng 4x 10k resistors at 2x.01uf upang gawin ang filter ng encoder. tingnan ang larawan sa ibaba
Hakbang 4: File ng Gerber ng PCB
Narito ang mga gerber file
Hakbang 5: Paghinang ng Iyong Pcb
Sa tulong na eskematiko, maghinang ng lahat ng iyong bahagi sa pcb. Ang bawat bahagi o magsulat sa pcb, r1, r2 … at iba pa.
Wala akong naka-install na D1. Ito ay para sa lcd back-light. Maganda ito ngunit apektado ang buhay ng baterya. Kaya pinili kong panatilihing off-light ang lcd.
Hakbang 6: Programming ang Atmega328p
Suriin dito sa hakbang 12 upang mai-program ang atmega328p. Ibinibigay ko dito ang.hex file para dito.
Narito ang avrdude program na handa nang mag-program ng file ng batch. Mag-click lamang sa program na usbasp.bat at ang iyong usbasp ay na-install nang tama. Ang lahat ay awtomatikong gagawin kasama ang fuse bit.
1drv.ms/u/s!AnKLPDy3pII_vXaGPIZKMXxaXDul?e…
Sa proyektong ito binabahagi ko rin ang C code ng mapagkukunan. Magkaroon ng kamalayan na ang ilang mga tala dito ay maaaring nasa french.https://1drv.ms/u/s! AnKLPDy3pII_vXUMXHdxajwGRFJx? E…
Hakbang 7: Lcd Display
Mag-install ng ilang tape at magkonekta ng pcb at lcd
Hakbang 8: STL File
stl file
1drv.ms/u/s!AnKLPDy3pII_vgezy0i0Aw3nD-xr?e…
Kailangan ng suporta para sa enclosure, sensor pipe at may hawak ng rifle.
Na-print ko lahat sa taas na.2 mm.
Hakbang 9: ROTARY ENCODER
Ang rotary encoder na ito ay konektado sa konektor ng isp. ginagamit ito upang baguhin ang timbang ng pellet at upang i-on at i-off ang aparato.
vcc isp pin 2 (hilahin ang risistor)
Ang Terminal A (dilaw) pumunta sa ISP pin 1
Ang Terminal B (berde) ay pumunta sa ISP pin 3
Ang terminal C (gnd) ay isp pin 6
Nagdaragdag ako ng 2 mga larawan upang makita ang pagkakaiba sa pagitan ng magkaroon ng isang filter kumpara sa walang filter. Madali mong makikita ang pagkakaiba ng pareho.
Ang push button ay pumunta sa konektor ng pcb SW.
Hakbang 10: Sensor Pipe
MAHALAGA:
Ang sensor ng tubo ay dapat na Itim at ang tagatanggap ng sensor ay dapat na itago
Ang aking unang pagtatangka ay magkaroon ng isang magandang pulang tubo. Ngunit ito ay nakakalito! Hindi ito gumagana sa lahat. Nalaman ko na ang ilaw sa labas ay papasok na itapon ang plastik at laging laging nakabukas ang sensor ng tatanggap.
Upang magkaroon ng mabuting resulta wala akong pagpipilian na baguhin ang kulay sa itim.
I-install ang receiver sa itaas. At itago ang malinaw na plastik na may itim na pintura, tape o gum, itim na silikon.
I-install ang emitter sa ibaba.. Suriin gamit ang isang pluma kung ang mga sensor ay mahusay na tumutugon. Marahil ang butas ng emitter ay kailangang palakihin nang kaunti. depende ito sa pagkakalibrate ng iyong printer.
Mayroon din akong mas mahusay na resulta sa lilim. Iwasan ang direktang sikat ng araw.
Hakbang 11: Alternatibong Pipe ng Sensor
Kung wala kang isang 3d printer, magagawa mo ang pareho sa isang tanso na tubo. Ito ay gagana nang maayos sa. Ang mahirap gawin ay ang butas sa eksaktong 3 pulgada at dapat na nakahanay ang receiver at emitter.
Hakbang 12: Isang Pellet sa Oscilloscope at Pagkakalibrate
Ito ay isang tunay na pagpasa ng pellet na itapon ang tubo. Probe 1 dilaw ay sensor 1. Probe 2 purple ay sensor 2.
Ang oras / div ay 50 sa amin.
Maaari nating bilangin ang 6 na dibisyon ng 50us. 50 sa amin x 6 = 300 sa amin (para sa 3 pulgada). 300 us x 4 = 1.2 ms para sa 1 talampakan
1 / 1.2ms = 833.33 ft / s
Maaari din nating makita na ang sensor ay karaniwang nasa 5v. At maaari ba nating harangan ang ilaw ng emitter, mahuhulog ang sensor sa 0.
Ito ang paraan ng pagsisimula at pagtigil ng kanyang conter (timer1)
Ngunit upang malaman nang eksakto kung ang bilis ay tumpak, kailangan ko ng isang paraan upang mahalin ito.
Upang gawin ang pagkakalibrate ng software at subukan ang kawastuhan ng aparatong ito, gumamit ako ng isang 10 mhz reference oscillator. Tingnan ang aking GPSDO sa ibang itinuturo.
Nagpakain ako ng isa pang atmega328 sa 10 mhz na ito. At programa ang isang ito sa assembler upang magpadala sa akin ng 2 pulso sa bawat oras na itulak ko ang isang pindutan upang gayahin ang isang pellet. Eksakto tulad ng nakita natin sa larawan ngunit sa halip na magkaroon ng isang tunay na pellet ito ay isa pang uC na nagpapadala sa akin ng 2 pulso.
Sa bawat oras na pindutin ang pindutan ay pinindot 1 pulso ay ipinadala at eksaktong 4 ms pagkatapos ng isa pang pulso ay ipinadala.
Sa ganitong paraan, maaari kong balansehin ang tagatala ng software upang palaging ipakita ang 1000 ft / s.
Hakbang 13: Higit pa…
Ito ang aking unang prototype ng 2010.
Sa anumang mga katanungan o ulat ng error maaari kang mag-email sa akin. English o french. Gagawin ko ang aking makakaya upang makatulong.
Inirerekumendang:
Cosmic Light Na May Mga LED na Naka-embed sa Resin: 11 Mga Hakbang (na may Mga Larawan)
Cosmic Light With LEDs Embedded in Resin: Nais kong gumawa ng isang ilaw sa labas ng dagta na gumamit ng mga LED ngunit walang paghihinang (Alam ko na maraming mga tao ang hindi naghinang, at marahil ay may ilang tulad sa akin na magagawa ito ngunit hindi ' T talagang nais na gawin ito.) Ito ay pinalakas ng isang pares ng mga baterya ng barya kaya madali
Mga Naka-personalize na Trinket na Mensahe ng Mensahe: 16 Mga Hakbang
Mga Naka-personalize na Trinket na Mensahe ng Mensahe: Noong nakaraang buwan, tinatanggap namin ang aming bagong freshmen sa kagawaran. Ang aking kaibigan ay nakaisip ng isang ideya na dapat magkaroon kami ng ilang uri ng mga regalo para sa kanila, at ito ang kinukuha ko para doon. Inabot ako ng isang araw upang mag-eksperimento sa kung paano mabuo ang una, pagkatapos
Super Naka-istilong Awtomatikong Tagapakain ng Cat: 3 Mga Hakbang (na may Mga Larawan)
Super naka-istilong awtomatikong tagapagpakain ng pusa: Si Jojo ay isang sobrang guwapo na pusa. Mahal ko siya sa bawat aspeto, maliban sa patuloy na paggising niya sa akin araw-araw na 4 ng umaga para sa kanyang pagkain, kaya oras na upang makakuha ng isang awtomatikong feeder ng pusa upang mai-save ang aking pagtulog. Gayunpaman, napakagwapo niya na kapag nais kong makahanap ng tama
Arduino para sa Nerf: Chronograph at Shot Counter: 28 Mga Hakbang (na may Mga Larawan)
Arduino para sa Nerf: Chronograph at Shot Counter: Ang aking nakaraang Instructable ay sumaklaw sa mga pangunahing kaalaman sa pagtuklas ng bilis ng dart gamit ang isang infrared emitter at detector. Ang proyektong ito ay tumatagal ng isang hakbang sa karagdagang paraan, gamit ang isang naka-print na circuit board, display, at mga baterya upang makagawa ng isang portable ammo counter at kronograp.
Ang Laser Pointer na naka-mount sa spectacle para sa Mga Taong May Mga Kapansanan sa Locomotor: 9 Mga Hakbang (na may Mga Larawan)
Ang Laser Pointer na naka-mount sa spectacle para sa Mga Taong May Kapansanan sa Locomotor: Ang mga taong may malubhang mga kapansanan sa lokomotor tulad ng mga sanhi ng cerebral palsy ay madalas na may mga kumplikadong pangangailangan sa komunikasyon. Maaaring kailanganin silang gumamit ng mga board na may alpabeto o karaniwang ginagamit na mga salitang nakalimbag sa kanila upang makatulong sa komunikasyon. Gayunpaman, marami