Orodha ya maudhui:

Mwishowe Binary Kuangalia: Hatua 12 (na Picha)
Mwishowe Binary Kuangalia: Hatua 12 (na Picha)

Video: Mwishowe Binary Kuangalia: Hatua 12 (na Picha)

Video: Mwishowe Binary Kuangalia: Hatua 12 (na Picha)
Video: Автомобильный генератор BMW 12 В 180 А к генератору с помощью зарядного устройства для ноутбука 2024, Julai
Anonim
Mwishowe Binary Kuangalia
Mwishowe Binary Kuangalia
Mwishowe Binary Kuangalia
Mwishowe Binary Kuangalia
Mwishowe Binary Kuangalia
Mwishowe Binary Kuangalia

Hivi majuzi nilijulishwa kwa dhana ya saa za kibinadamu na kuanza kufanya utafiti ili kuona ikiwa ningeweza kujijengea mwenyewe. Walakini, sikuweza kupata muundo uliyokuwa unafanya kazi na maridadi kwa wakati mmoja. Kwa hivyo, niliamua kuunda muundo wangu mwenyewe kutoka mwanzoni!

Vifaa

Faili zote za mradi huu:

Maktaba ya nambari ya Arduino inaweza kupakuliwa kutoka GitHub hapa:

Maktaba ya M41T62 RTC

Maktaba ya FastLED

Maktaba ya LowPower

Hatua ya 1: Wazo

Hivi majuzi nilijikwaa kwenye video ifuatayo:

Ufuatiliaji wa mkono wa Binary ya DIY

Video hapo juu inaonyesha saa ya msingi ya binary iliyotengenezwa nyumbani. Sikujua kwamba kitu kama hicho kilikuwepo lakini baada ya kufanya utafiti zaidi juu ya mada ya saa za rununu niligundua haraka kulikuwa na tani ya muundo tofauti huko nje! Nilitaka kujenga mwenyewe lakini sikuweza kupata muundo ambao nilipenda. Saa za kibinadamu ambazo niligundua hazikuwa na huduma nyingi na hazikuonekana kuwa nzuri sana. Kwa hivyo, niliamua kubuni yangu kabisa kutoka mwanzoni!

Hatua ya kwanza ilikuwa kuanzisha vigezo vya muundo wangu. Hivi ndivyo nilivyokuja na:

  • Kiambatisho cha RGB interface
  • Uonyesho wa muda (na utunzaji wa saa sahihi sana)
  • Kuonyesha tarehe
  • Utendaji wa saa ya saa
  • Utendaji wa kengele
  • Maisha ya betri ya angalau wiki 2
  • Kuchaji USB
  • Programu inayoweza kubadilishwa kwa urahisi na mtumiaji
  • Ubuni safi na rahisi

Vigezo hivi vilikuwa msingi wa mradi mzima. Hatua inayofuata ilikuwa kugundua jinsi nilitaka saa ifanye kazi!

Hatua ya 2: Baadhi ya Nadharia ya Kutazama kwa Kibinadamu

Baadhi ya Nadharia ya Kuangalia kwa Baari
Baadhi ya Nadharia ya Kuangalia kwa Baari

Mpango huo ulikuwa rahisi. Saa ya kibinadamu ingefanya kazi kama saa ya kawaida isipokuwa kwamba kielelezo kitakuwa cha binary, haswa, BCD (Binary Coded Decimal). BCD ni aina ya usimbuaji wa binary ambapo kila tarakimu ya desimali inawakilishwa na idadi maalum ya bits. Ninahitaji bits 4 kuweza kuwakilisha tarakimu kutoka 0-9. Na kwa kiwango

hh: mm

fomati ya wakati, ninahitaji 4 ya nambari hizo. Hii inamaanisha kuwa ninahitaji jumla ya bits 16 ambazo zitawakilishwa na LED 16.

Kusoma wakati katika BCD ni rahisi sana mara tu utakapoizoea. Mstari chini ya saa unawakilisha kitu kidogo (1) na safu ya juu ni kidogo muhimu zaidi (8). Kila safu inawakilisha nambari katika

hh: mm

fomati ya wakati. Ikiwa taa imewashwa, unahesabu thamani hiyo. Ikiwa LED imezimwa, unapuuza.

Kusoma nambari ya kwanza fupisha tu viwango vyote vya LED vilivyoamilishwa katika safu ya kwanza (kushoto zaidi). Fanya vivyo hivyo kwa nambari zingine kutoka kushoto kwenda kulia. Sasa umesoma wakati katika BCD!

Kanuni hii itakuwa sawa kwa kazi zingine kwenye saa. Matumizi ya LED za RGB zitasaidia kutofautisha kati ya kazi tofauti na njia kwa kutumia rangi tofauti. Rangi huchaguliwa na mtumiaji na inaweza kubadilishwa kwa urahisi kwa rangi yoyote ya rangi wanayopendelea. Hii inaruhusu mtumiaji kusafiri kwa urahisi kupitia kazi bila kuchanganyikiwa.

Hatua inayofuata ilikuwa kuunda mchoro wa block!

Hatua ya 3: Kupata Kazi

Kupata Kazi
Kupata Kazi

Kama mradi wowote wa kawaida wa umeme, mchoro wa kuzuia ni sehemu muhimu katika hatua ya mapema ya kubuni. Kutumia vigezo, niliweza kuweka pamoja mchoro wa block hapo juu. Kila block kwenye mchoro inawakilisha kazi katika mzunguko na mishale inaonyesha uhusiano wa kazi. Mchoro wa kizuizi kwa jumla unapeana muhtasari mzuri wa jinsi mzunguko utafanya kazi.

Hatua inayofuata ilikuwa kuanza kufanya maamuzi juu ya vifaa vya kibinafsi kwa kila block kwenye mchoro wa block!

Hatua ya 4: Kuchagua Vipengele

Kuna vifaa vingi katika mzunguko huu. Hapo chini, nimechagua zingine muhimu zaidi pamoja na maelezo juu ya kwanini niliwachagua.

LEDs

Kwa kiolesura cha binary, chaguo lilikuwa sawa mbele. Nilijua kuwa ninataka kutumia LED kwa onyesho na kugundua kuwa ninahitaji 16 kati yao (kwenye gridi ya 4 × 4) kuonyesha habari nyingi iwezekanavyo. Wakati wa utafiti wangu wa LED kamili, APA102 iliendelea kuja. Ni taa ndogo sana (2mm x 2mm) inayoweza kushughulikiwa na rangi anuwai na haina bei ghali. Ingawa nilikuwa sijawahi kufanya kazi nao hapo awali, walionekana kuwa sawa kwa mradi huu, kwa hivyo niliamua kuzitumia.

Mdhibiti Mdogo

Uchaguzi wa microcontroller pia ulikuwa rahisi sana. Nimekuwa na uzoefu mwingi kutumia Atmega328P-AU katika matumizi ya kibinafsi na nilikuwa najua sana huduma zake. Huyu ndiye mdhibiti mdogo anayetumiwa katika bodi za Arduino Nano. Ninajua kuwa pengine kuna mdhibiti mdogo wa bei ambaye ningemtumia lakini nikijua kuwa Atmega328 ingekuwa na msaada kamili kwa maktaba zote za Arduino ilikuwa sababu kubwa ya kuichagua kwa mradi huu.

RTC (Saa Saa Saa)

Mahitaji ya msingi kwa RTC ilikuwa usahihi. Nilijua kuwa saa hiyo haitakuwa na muunganisho wowote wa mtandao na kwa hivyo haitaweza kujipima upya kupitia unganisho la mtandao, mtumiaji atahitaji kuhesabu tena kwa mikono. Kwa hivyo, nilitaka kuhakikisha utunzaji wa wakati kuwa sahihi iwezekanavyo. M41T62 RTC ina moja ya usahihi wa juu zaidi ambao ningeweza kupata (± 2ppm ambayo ni sawa na ± sekunde 5 kwa mwezi). Kuchanganya usahihi wa hali ya juu na utangamano wa I2C na matumizi ya chini ya ulta ilifanya RTC hii kuwa chaguo nzuri kwa mradi huu.

DC-DC Kuongeza Kubadilisha

Kuchagua DC-DC Boost Converter IC ilifanywa tu kwa kuangalia mzunguko na kujua ni nini voltages na mikondo inahitajika. Kuendesha mzunguko kwa voltage ya chini kutapunguza matumizi ya sasa lakini sikuweza kwenda chini ya 4.5V (voltage ndogo ndogo ya kudhibiti saa 16MHz saa) na sikuweza kwenda juu ya 4.5V (kiwango cha juu cha RTC). Hii ilimaanisha kwamba ilibidi nizungushe mzunguko kwa usahihi 4.5V ili kutumia vifaa ndani ya maelezo yao yaliyopendekezwa. Nilihesabu kuwa sasa ya juu ya mzunguko haitazidi 250mA. Kwa hivyo, nilianza kutafuta kibadilishaji cha kuongeza nguvu ambacho kinaweza kukidhi mahitaji na nikajikwaa haraka TPS61220. TPS61220 ilihitaji vifaa vichache vya nje, ilikuwa ya bei rahisi na iliweza kukidhi mahitaji ya sasa na ya voltage.

Betri

Mahitaji ya msingi kwa betri ilikuwa saizi. Betri ilihitajika kuwa ndogo ya kutosha ili iweze kutoshea ndani ya zizi la saa bila kuifanya ionekane kuwa kubwa. Niligundua kuwa betri haiwezi kuzidi 20mm × 35mm × 10mm. Na vikwazo hivi vya saizi na mahitaji ya sasa ya 250mA chaguo langu la betri lilikuwa mdogo kwa betri za LiPo. Nilipata betri ya "Turnigy nano-tech 300mAh 1S" kwenye Hobbyking ambayo niliamua kutumia.

IC ya kuchaji

Hakukuwa na hitaji maalum kwa mtawala wa malipo isipokuwa kwamba inahitajika kuoana na betri ya 1S LiPo. Nilipata MCP73831T ambayo ni kidhibiti cha malipo kilichounganishwa kikamilifu iliyoundwa kwa matumizi ya malipo ya seli moja. Moja ya huduma zake ni uwezo wa kurekebisha sasa ya kuchaji kupitia kontena la nje ambalo nimeona ni muhimu katika programu tumizi hii.

Ulinzi wa LiPo

Nilitaka kujumuisha ufuatiliaji wa voltage na sasa kulinda betri kutoka kwa hatari yoyote ya kuzidisha na hali ya kutokwa zaidi. Kulikuwa na idadi ndogo ya IC ambazo zilitoa huduma kama hizo na moja ya chaguzi za bei rahisi ilikuwa BQ29700 IC. Ilihitaji idadi ndogo ya vifaa vya nje na ni pamoja na ulinzi wote muhimu kwa betri ya seli moja ya LiPo.

Sasa kwa kuwa vifaa vilichaguliwa ilikuwa wakati wa kuunda skimu!

Hatua ya 5: Mpangilio

Mpangilio
Mpangilio

Kutumia Mbuni wa Altium, niliweza kuweka pamoja skimu hapo juu kwa kutumia mapendekezo kutoka kwa kila hifadhidata za sehemu. Mpangilio umegawanywa katika vitalu tofauti kuifanya iweze kusomeka zaidi. Niliongeza pia noti kadhaa na habari muhimu ikiwa mtu mwingine atataka kurudia muundo huu.

Hatua inayofuata ilikuwa kuweka mpango juu ya PCB!

Hatua ya 6: Mpangilio wa PCB

Mpangilio wa PCB
Mpangilio wa PCB
Mpangilio wa PCB
Mpangilio wa PCB
Mpangilio wa PCB
Mpangilio wa PCB
Mpangilio wa PCB
Mpangilio wa PCB

Mpangilio wa PCB uligeuka kuwa sehemu yenye changamoto nyingi katika mradi huu. Nilichagua kutumia PCB ya safu 2 kuweka gharama za utengenezaji wa PCB kwa kiwango cha chini. Nilichagua kutumia saizi ya saa ya kawaida ya 36mm kwa sababu hiyo ilionekana kutoshea LED vizuri. Niliongeza mashimo ya visu 1mm ili kupata PCB kwenye ua wa saa. Lengo lilikuwa kudumisha muundo safi na mzuri kwa kuweka vifaa vyote (isipokuwa LED za kweli) kwenye safu ya chini. Pia nilitaka kutumia idadi ndogo kabisa ya vias ili kuepuka kuwa na vias zinazoonekana kwenye safu ya juu. Hii ilimaanisha kwamba ilibidi nipitie athari zote kwenye safu moja wakati nikihakikisha kuweka sehemu za "kelele" za mzunguko mbali na athari nyeti za ishara. Nilihakikisha pia kuweka athari zote kama fupi iwezekanavyo, kuweka capacitors ya kupita karibu na mzigo, kwa kutumia athari nene kwa vifaa vya nguvu kubwa na vinginevyo fuata mazoea mazuri ya muundo wa PCB. Uendeshaji ulichukua muda kidogo, lakini nadhani ilitokea vizuri sana.

Hatua inayofuata ilikuwa kuunda muundo wa 3D kwa zamu ya saa!

Hatua ya 7: Ubunifu wa 3D

Ubunifu wa 3D
Ubunifu wa 3D
Ubunifu wa 3D
Ubunifu wa 3D
Ubunifu wa 3D
Ubunifu wa 3D

Kioo cha saa kilibuniwa baada ya muundo wa kawaida, wa kawaida, wa saa ukitumia Fusion 360. Nilitumia nafasi ya wastani ya 18mm kwa kamba ya saa ili kuifanya saa hiyo kuendana na anuwai ya mikanda mingine. Kukatwa kwa PCB hiyo kulibuniwa 0, 4mm kubwa kuliko PCB yenyewe ili kukidhi utaftaji wowote wa utengenezaji. Nilijumuisha machapisho kadhaa ya kuweka PCB na makali kidogo ya PCB kuweka. Nilihakikisha kupumzisha PCB milimita za kike kutoka juu ili kuzuia kingo kali za LED kukwama kwenye mavazi. Urefu wa ua uliamuliwa tu na unene wa betri. Zilizobaki za eneo hilo zilibuniwa kuonekana nzuri tu na kingo zenye mviringo na pembe zilizosuguliwa. Ilinibidi kuweka muundo wa 3D-kuchapisha kwa urafiki ili niweze kuchapisha 3D nyumbani bila vifaa vya msaada.

Sasa kwa kuwa vifaa vimekamilika ilikuwa wakati wa kuanza kufanya kazi kwenye programu!

Hatua ya 8: Kanuni

Kanuni
Kanuni

Nilianza nambari kwa kujumuisha maktaba zote zinazohitajika. Hii ni pamoja na maktaba ya kuwasiliana na RTC na ya kuendesha gari za LED. Baada ya hapo, niliunda kazi tofauti kwa kila moduli. Mtumiaji anapobadilisha njia kwa kubonyeza kitufe, programu inataka kazi inayolingana na hali hiyo. Ikiwa mtumiaji hatabonyeza kitufe ndani ya muda maalum, saa hiyo inalala.

Hali ya kulala inaonyeshwa na taa zote za LED zinazofifia hadi zikiwa zimezimwa kabisa. Kutumia hali ya kulala huongeza sana maisha ya betri na huweka taa za LED zikizimwa wakati hazitumiki. Mtumiaji anaweza kuamka saa kwa kubonyeza kitufe cha juu. Inapoamshwa, saa itaangalia kiwango cha betri ili kuhakikisha kuwa haiitaji kuchaji. Ikiwa kuchaji kunahitajika, taa za taa zitaangaza nyekundu mara chache kabla ya kuonyesha wakati. Ikiwa betri iko chini ya kiwango muhimu, haitawasha hata kidogo.

Programu zingine za wakati zilianza kutengeneza njia zingine kuwa za angavu iwezekanavyo. Nilidhani kuwa kuwa na kitufe kimoja kinachohusika na utendaji sawa katika njia zote itakuwa ya angavu zaidi. Baada ya kujaribu, hii ndio usanidi wa kitufe ambacho nilikuja nacho:

  • Kitufe cha Juu cha Kitufe: Amka / Mzunguko kati ya "Wakati wa Kuonyesha", "Tarehe ya Kuonyesha", "Stopwatch" na "Alarm" modes.
  • Kitufe cha Juu Kushikilia: Ingiza "Saa Saa", "Weka Tarehe", "Anza Saa ya Saa" au "Weka Alarm" mode.
  • Kitufe cha Kitufe cha Chini: Ongeza Mwangaza.
  • Kitufe cha Kushikilia: Ingiza "Chagua Rangi" Njia.

Kitufe cha chini huwajibika kwa mwangaza na marekebisho ya rangi, bila kutegemea ni hali gani uliyonayo. Mtumiaji anapoingia katika "Chagua Rangi" mode, LED zinaanza kuendesha baiskeli kupitia rangi zote zinazowezekana za RGB. Mtumiaji anaweza kusitisha uhuishaji na kuchagua rangi ambayo anapendelea kwa hali hiyo maalum (Saa ya Kuonyesha kwa nyekundu, Tarehe ya Kuonyesha kwa samawati, n.k.). Rangi zinalenga kufanywa kwa urahisi na mtumiaji kuwasaidia kutofautisha kati ya njia tofauti.

Sasa kwa kuwa nambari ilikuwa imekamilika ilikuwa wakati wa kuipakia kwa mdhibiti mdogo!

Hatua ya 9: Programu

Kupanga programu
Kupanga programu

Ilikuwa karibu wakati wa kuuza na kusanyiko lakini kabla ya hapo nilihitaji kupanga microcontroller. Nilifuata mafunzo haya

Choma bootloader kwa ATmega328P-AU SMD

juu ya jinsi ya kuchoma bootloader na kupanga microcontroller ukitumia Arduino Uno kama programu.

Hatua ya kwanza ilikuwa kugeuza Arduino Uno kuwa ISP kwa kupakia nambari ya mfano ya "ArduinoISP". Nilitumia ubao wa mkate pamoja na tundu la programu na nikapanga wimu kutoka kwa mafunzo. Baada ya hapo, niliweza kuchoma bootloader kwa microcontroller kwa kubonyeza tu "Burn Bootloader" katika Arduino IDE.

Mara tu mdhibiti mdogo alipokuwa na bootloader, niliondoa tu microcontroller iliyopo kutoka Arduino Uno na nikatumia bodi ya Arduino Uno kama USB kwa Adapter Serial kupakia nambari kwa mdhibiti mdogo kwenye tundu la programu. Baada ya upakiaji kukamilika, ningeweza kuanza mchakato wa kuuza.

Hatua inayofuata ilikuwa kukusanya vifaa vyote na kuziunganisha pamoja!

Hatua ya 10: Kufunga

Kufundisha
Kufundisha
Kufundisha
Kufundisha
Kufundisha
Kufundisha
Kufundisha
Kufundisha

Mchakato wa kuuza umegawanywa katika sehemu mbili. Kwanza safu ya chini ilihitaji kuuzwa, na kisha safu ya juu.

Nililinda PCB ya saa kati ya bodi kadhaa za mfano kwa kutumia mkanda. Hii ilihakikisha kuwa PCB haikutembea wakati wa kutengenezea, ambayo ni muhimu sana. Kisha nikaweka stencil ya soldering juu ya PCB na nikatumia kiasi kikubwa cha kuweka solder kufunika pedi zote za solder. Niliendelea kutumia jozi nyembamba ya kuweka vitu vyote kwenye pedi zao zinazolingana. Kisha nikatumia bunduki ya joto ili kugeuza vifaa vyote vilivyomo.

Wakati safu ya chini ilipouzwa, niliipa ukaguzi wa haraka wa kuona ili kuhakikisha kuwa soldering imefanikiwa. Kisha nikapindua bodi na kurudia mchakato wa kuuza kwa upande mwingine, wakati huu na taa zote za LED. Ilikuwa muhimu sana kutoweka moto kwenye bodi wakati wa kutengeneza safu ya juu kwani vifaa vyote chini vina hatari ya kuanguka. Kwa kushukuru, vifaa vyote vilikaa mahali pake na baada ya kutengeneza vifungo vilivyowekwa kwa kutumia chuma cha kawaida cha kutengeneza, PCB ilimalizika!

Sasa ulikuwa wakati wa kusanyiko la mwisho!

Hatua ya 11: Mkutano

Mkutano
Mkutano

Mkutano ulikuwa rahisi sana. Niliunganisha betri na PCB na kuweka betri na PCB ndani ya ua uliochapishwa wa 3D. Niliendelea kukaza screws nne kwenye mashimo yanayopanda kila kona ya PCB. Baada ya hapo, niliunganisha kamba za saa kwa kutumia baa za chemchemi za 18mm na saa ilikuwa imekamilika!

Hatua ya 12: Hitimisho na Maboresho

Hitimisho na Maboresho
Hitimisho na Maboresho
Hitimisho na Maboresho
Hitimisho na Maboresho

Saa inafanya kazi kama inavyotarajiwa na ninafurahi sana na jinsi ilivyotokea. Sikuwa na shida yoyote nayo hadi sasa na betri inabaki karibu kushtakiwa kabisa baada ya wiki nzima ya matumizi.

Ninaweza kuongeza huduma zingine kwenye saa katika siku zijazo. Kwa kuwa bandari ya USB imeunganishwa na microcontroller, firmware inaweza kusasishwa wakati wowote na huduma mpya. Kwa sasa ingawa, nitaendelea kutumia toleo hili la saa na kuona jinsi inavyoshikilia baada ya matumizi marefu.

Ikiwa una maoni yoyote, maoni au maswali juu ya mradi huu, tafadhali waache hapa chini. Unaweza pia kuwatuma kwa [email protected].

Mashindano ya Saa
Mashindano ya Saa
Mashindano ya Saa
Mashindano ya Saa

Zawadi ya kwanza katika Mashindano ya Saa

Ilipendekeza: