Orodha ya maudhui:

Skana ya uhakika ya XYZ Kutumia Encoders za Rotary zilizookolewa: Hatua 5
Skana ya uhakika ya XYZ Kutumia Encoders za Rotary zilizookolewa: Hatua 5

Video: Skana ya uhakika ya XYZ Kutumia Encoders za Rotary zilizookolewa: Hatua 5

Video: Skana ya uhakika ya XYZ Kutumia Encoders za Rotary zilizookolewa: Hatua 5
Video: Training Midjourney Level Style And Yourself Into The SD 1.5 Model via DreamBooth Stable Diffusion 2024, Novemba
Anonim
Skana ya uhakika ya XYZ Kutumia Encoders za Rotary zilizookolewa
Skana ya uhakika ya XYZ Kutumia Encoders za Rotary zilizookolewa

Baada ya kupata idadi kubwa kabisa ya encoders za macho zilizotupwa kutoka mahali pa kazi, mwishowe niliamua kufanya kitu cha kufurahisha / muhimu nao.

Hivi karibuni nimenunua printa mpya ya 3D kwa nyumba yangu na ni nini kinachoweza kuipongeza kuliko skana ya 3D! Mradi huu pia ulinipa nafasi nzuri ya kuajiri printa yangu ya 3D kutengeneza sehemu zinazohitajika.

Vifaa

Encoders za macho na sensorer zinazofanana za macho

Arduino UNO

ngao ya hiari ya kuiga

reli za baa-chuma

upatikanaji wa printa ya 3D

Hatua ya 1: Encoders za Macho

Encoders za Macho
Encoders za Macho
Encoders za Macho
Encoders za Macho
Encoders za Macho
Encoders za Macho

Karibu encoder yoyote ya rotary inaweza kutumika kwa mradi huu, mradi ilikupatia idadi kubwa ya 'mibofyo' kwa mm. Kwa wazi encoders tofauti zitahitaji suluhisho linalofaa la kuweka.

Nilitumia mita ya mwendelezo kutafuta mchoro wa wiring kwa sensorer za picha.

Hatua ya 2: Sehemu zilizochapishwa za 3D

Sehemu zilizochapishwa za 3D
Sehemu zilizochapishwa za 3D
Sehemu zilizochapishwa za 3D
Sehemu zilizochapishwa za 3D

Sehemu hizi huweka encoders za kuzunguka na hutoa slaidi kwa reli. Nyumba moja ya kusimba ina mashimo mawili nyuma kwa reli za msalaba kupanda. Nyumba mbili za usimbuaji ni nyumba mbili tu zilizochanganywa pamoja kwa pembe za kulia.

Niliunda milima hii kwenye fusion360 ili kukidhi chaguo langu la encoders na reli, shimoni la encoder ina kipande kifupi cha ala ya mpira ya kombeo, ili kuisaidia kushika shimoni la chuma cha pua vizuri.

Unataka shimoni iteleze kwa uhuru na kuanguka kupitia nyumba hiyo wakati imeshikiliwa kwa wima, lakini lazima iwe na shinikizo la kutosha kwa kisimbuzi kutoteleza. Kilichonifanyia kazi ni kuruhusu slaidi ya shimoni iingiane na shimoni ya encoder na 0.5mm. Mpira wa kombeo ni laini ya kutosha kuharibika kwa kiasi hicho na kutoa mvuto mzuri.

Hatua ya 3: Mchoro wa Wiring

Mchoro wa Wiring
Mchoro wa Wiring

Mzunguko ni rahisi sana. Sensorer za macho huhitaji sasa ya diode za emitter za IR, vizuizi vya ardhini na vya kuvuta-diode za picha.

Niliamua juu ya 5mA kwa diode za mfululizo wa mfululizo, katika encoder hii kushuka kwa voltage kwenye diode ni 3.65V. Ninatumia usambazaji wa 5V kutoka Arduino, ambayo inaacha 1.35V kwa kontena, saa 5mA hii inafanya kazi kuwa 270 ohm.

10k ohm ilichaguliwa kwa vuta-vuta kwani diode za picha zinaweza kuzama tu mkondo mdogo, 10k ohm pia ilitumika kwa kitufe cha kushinikiza. Kuna kitufe kinachopatikana cha kutumiwa kwenye ubao wa mfano ambao tayari umeunganishwa ardhini, mpe tu kontena la kuvuta na uweke waya kwenye pini ya kuingiza inayotakiwa.

Hatua ya 4: Msimbo wa Arduino

Msimbo wa Arduino
Msimbo wa Arduino
Msimbo wa Arduino
Msimbo wa Arduino
Msimbo wa Arduino
Msimbo wa Arduino

Nambari inahitaji ufafanuzi kidogo kwani operesheni yake inaweza kuwa wazi mara moja, lakini ilibidi kuboreshwa kwa njia hii ili kuweza kusindika encoders 3 haraka vya kutosha.

Kwanza tunataka tu kuchakata data ya mwelekeo ikiwa kumekuwa na mabadiliko katika nafasi ya usimbuaji.

mabadiliko = mpya_thamani ^ dhamana iliyohifadhiwa;

Ili kupata azimio zaidi kutoka kwa encoders zangu ilibidi nichakate kingo zote zinazoinuka na kushuka.

Kwenye usanidi wangu azimio langu ni kubonyeza 24 kwa 1cm.

Hii inatuacha na matukio machache.

S1 ni mara kwa mara 0 na S2 imebadilishwa kutoka 0 hadi 1

S1 ni mara kwa mara 0 na S2 imebadilishwa kutoka 1 hadi 0

S1 ni 1 mara kwa mara na toggles za S2 kutoka 0 hadi 1

S1 ni 1 mara kwa mara na toggles za S2 kutoka 1 hadi 0

S2 ni mara kwa mara 0 na S1 imebadilishwa kutoka 0 hadi 1

S2 ni mara kwa mara 0 na S1 imebadilishwa kutoka 1 hadi 0

S2 ni mara kwa mara 1 na S1 kugeuza kutoka 0 hadi 1

S2 ni mara kwa mara 1 na S1 toggles kutoka 1 hadi 0

Masharti haya yanaeleweka vizuri katika meza za ukweli hapo juu, pia kila hali hutoa 'mwelekeo', unaopewa jina la 0 au 1.

Chati zinatupa dalili mbili muhimu:

1) chati moja ni kinyume kamili cha nyingine, kwa hivyo ikiwa tunayo moja, tunaweza kuhesabu nyingine kwa urahisi kwa kugeuza pato. Tunabadilisha pato tu ikiwa pini moja inabadilika na sio nyingine, tunaweza kuchagua moja kiholela.

2) chati yenyewe ni XOR tu ya ishara za S1 na S2. (chati nyingine SIYO ya hii).

Sasa kuelewa nambari ni rahisi.

// soma katika PORT kwa sambamba // kumbuka jozi zilizo karibu ni za hali sawa ya encoder = PINB & 0x3f; // nini pini zimebadilika ikiwa kuna tofauti yoyote = shika ^ hali; // XOR karibu na ishara za S1 na S2 kupata meza ya ukweli // njia ya juu ni kutengeneza nakala ya hali ya sasa // na kuihamisha kulia kwa kutazama kidogo = hali >> 1; // sasa bits zimepangwa kwa XOR dir = angalia ^ hali; // kumbuka, meza inahitaji kubadilishwa ikiwa moja ya pembejeo ilibaki kila wakati, hatuhitaji taarifa ya IF // kwa hili. Hivi sasa mwelekeo unaotakiwa kidogo // ni mkono wa kulia wa kila jozi katika ubadilishaji wa 'dir' // mkono wa kushoto hauna maana // ubadilishaji wa 'diff' una kidogo ambao umebadilisha 'set' // kwa hivyo tunaweza kuwa '01' au '10' // XOR hii na baiti ya 'dir' ama // itabadilisha au sio kidogo ya maana. dir ^ = tofauti; // sasa sasisha kushikilia kutofautisha kushikilia = hali; // ikiwa kipengee chochote kimebadilika kwa kisimbuzi hiki ikiwa (diff & 0x03) {// amua mwelekeo ikiwa (dir & 0x01) {// kulingana na hadware yako na wiring iwe ++ au - --z; } mwingine {++ z; }} // ditto kwa wengine ikiwa (diff & 0x0c) {if (dir & 0x04) {++ y; } mwingine {--y; }} ikiwa (tofauti & 0x30) {ikiwa (dir & 0x10) {--x; } mwingine {++ x; }}

Kitufe kinapobanwa tunatuma thamani ya sasa ya XYZ kwa programu ya wastaafu.

Takwimu za serial ni polepole, lakini wakati wa operesheni ya kawaida nafasi za encoders hazitabadilika wakati huu hata hivyo.

Takwimu zinatumwa kama hesabu mbichi. Unaweza kufanya hesabu na kutuma data kwa mm au inchi nk naona maadili mabichi ni sawa tu kwa sababu tunaweza kupandikiza kitu baadaye kwenye programu.

Hatua ya 5: Kwanza Tambaza

Changanua kwanza
Changanua kwanza
Changanua kwanza
Changanua kwanza
Changanua kwanza
Changanua kwanza
Changanua kwanza
Changanua kwanza

Kukusanya vidokezo ni mchakato polepole, mimi huweka uchunguzi kwenye kona ya juu kushoto na kuweka tena Arduino.

Hii zero nafasi kama nyumbani.

Kisha songa uchunguzi kwenye eneo kwenye shabaha, shikilia kwa utulivu na bonyeza kitufe cha 'snapshot'.

Kwa kipande hiki cha sampuli kubwa nilichukua tu alama ~ 140, kwa hivyo undani sio mzuri kwenye bidhaa ya mwisho.

Hifadhi data kwenye faili ya. PCD, na ongeza kichwa

#. PCD v.7 - Fomati ya Faili ya Data ya Cloud Cloud

Weka hesabu ya nukta kwenye kichwa, hii ni rahisi kwa mhariri yeyote anayekupa nambari za laini.

Juu ya dots inaweza kuonekana katika freeCad, kisha husafirishwa kutoka kwa freeCad kama faili ya. PLY.

Fungua. PLY kwenye MeshLab na uso kitu. Imefanyika !!

Ilipendekeza: