Sisällysluettelo:

Komponenttien tallennusjärjestelmä: 10 vaihetta (kuvien kanssa)
Komponenttien tallennusjärjestelmä: 10 vaihetta (kuvien kanssa)

Video: Komponenttien tallennusjärjestelmä: 10 vaihetta (kuvien kanssa)

Video: Komponenttien tallennusjärjestelmä: 10 vaihetta (kuvien kanssa)
Video: David Godman - toinen buddha kaasupumpun haastattelussa 2024, Heinäkuu
Anonim
Komponenttien säilytysjärjestelmä
Komponenttien säilytysjärjestelmä

Ultimate Component Storage System on ainutlaatuinen ratkaisu elektronisten komponenttien järjestämiseen ja tallentamiseen. Mukautetun ohjelmiston avulla voidaan luetteloida komponentteja, joissa on sisäänrakennettu hakutoiminto, jotta pääset nopeasti käsiksi tiettyihin komponentteihin. Kunkin laatikon yläpuolella olevia LED -valoja käytetään osoittamaan yksittäisten tai osien ryhmien sijainti ja tila.

Tarvikkeet

Kiitos DFRobotille seuraavien osien toimittamisesta tähän projektiin!

2 x 5V @ 3A USB -virtalähde

Saatavana täältä (kumppanilinkki):

1 x Raspberry Pi 4 Malli B

Saatavana täältä (kumppanilinkki):

1 x 8,9 tuuman 1920 x 1200 IPS -kosketusnäyttö

Saatavilla täältä (kumppanilinkki):

1 x WS2812b LED-nauha, 30LED/m

Saatavilla Ebayssa

Kaikki tämän projektin tiedostot löytyvät GitHubistani:

Vaihe 1: Idea

Ajatus!
Ajatus!

Tausta

Minulla on aina ollut vaikeuksia komponenttien järjestämisessä ja varastoinnissa. Yllä oleva kuva näyttää nykyisen komponenttitallennusratkaisuni tilan. Vaikka joidenkin komponenttien käyttäminen useissa laatikoissa ympäri työpajaa saattaa toimia joillekin, se on aina ollut tehotonta omassa työnkulussa. Joten keksin projektin tämän ongelman ratkaisemiseksi.

Ajatus

Ajatuksena oli tallentaa kaikki komponentit samaan tallennusjärjestelmään. Säilytysjärjestelmä koostuisi monista laatikoista ja kunkin laatikon yläpuolella olisi LED.

Käyttäjä käyttää mukautettua ohjelmistoa vuorovaikutuksessa tallennusjärjestelmän kanssa. Kun käyttäjä tekee komponenttihaun, järjestelmä näyttää suosituimmat hakutulokset näytöllä. Samalla hakua vastaavat LEDit syttyvät, mikä osoittaa komponentin sijainnin tallennusjärjestelmässä.

Sijainnin näyttämisen lisäksi LEDien väri ilmaisee myös kunkin komponentin tilan (eli määrän).

Vaatimukset

Idea jaettiin seuraaviin vaatimuksiin, jotka tämä projekti pyrkii täyttämään:

Luo yksinkertainen säilytys- ja noutojärjestelmä pienille ja keskisuurille komponenteille

Luo ohjelmistokäyttöliittymä komponenttien luettelointia ja hakua varten

Käytä RGB -merkkivaloja ilmaisemaan kunkin laitteen sijainti ja tila

Vaihe 2: Suunnittelu - tallennusjärjestelmä

Suunnittelu - tallennusjärjestelmä
Suunnittelu - tallennusjärjestelmä
Suunnittelu - tallennusjärjestelmä
Suunnittelu - tallennusjärjestelmä
Suunnittelu - tallennusjärjestelmä
Suunnittelu - tallennusjärjestelmä

Aloitin 3D -mallinnuksella itse tallennusjärjestelmän.

Suunnittelin säilytysjärjestelmän erikokoisten 3D-tulostettujen laatikoiden matriisin muodossa. Laatikot on sijoitettu 35 × 12 ruudukkoon, yhteensä 310 laatikkoa. Se on tarpeeksi tilaa tallentaa kaikki nykyiset komponentit ja jättää tilaa tulevalle laajennukselle.

Laatikoiden välinen etäisyys pystysuunnassa on suunniteltu 10 mm leveälle LED-nauhalle jokaisen laatikkorivin yläpuolelle. Vaakasuuntainen etäisyys on suunniteltu vastaamaan LED-nauhan LED-etäisyyttä. Ajattelin, että 30LED/metrin LED-nauhan käyttäminen tekisi jokaisen laatikon sopivan koon.

Kaikki laatikot ja laatikonpitimet on suunniteltu tulostettavaksi erikseen ja koottu haluttuun kokoonpanoon. Laatikoita on saatavana erikokoisina, ja kaikki laatikot voivat toimia ohjelmiston kanssa joidenkin koodimuutosten jälkeen.

Filamenttikulutuksen ja tulostusajan minimoimiseksi kaikkien 3D-tulostettujen osien seinämän paksuus on pidetty minimissä. Kokoonpanon jälkeen varastointiyksikkö on riittävän tukeva useimpien kevyiden ja keskipainoisten osien säilyttämiseksi.

Vaihe 3: Suunnittelu - näyttövarsi

Suunnittelu - näyttövarsi
Suunnittelu - näyttövarsi
Suunnittelu - näyttövarsi
Suunnittelu - näyttövarsi
Suunnittelu - näyttövarsi
Suunnittelu - näyttövarsi

Koska tallennusjärjestelmä vaatii HDMI -näytön käyttöliittymään, päätin suunnitella säädettävän varren näytön ja elektroniikan kiinnittämiseksi.

Kaikki näyttövarren osat on suunniteltu 3D-tulostettavaksi ja koottu M8-pultteilla ja muttereilla. Näytön varsi on suunniteltu pitämään HDMI -näyttö, Raspberry Pi ja kaikki johdot.

Osa näyttövarresta perustui tähän Thingiversen suunnitteluun.

Vaihe 4: 3D-tulostus ja maalaus

3D-tulostus ja maalaus
3D-tulostus ja maalaus
3D-tulostus ja maalaus
3D-tulostus ja maalaus
3D-tulostus ja maalaus
3D-tulostus ja maalaus

Kaikkien osien 3D -mallinnuksen jälkeen oli aika aloittaa satojen laatikoiden tulostaminen.

Käytin Prusa MK2S -laitetta kaikkiin tämän projektin 3D-painettuihin osiin. Käytin PLA -filamenttia, jonka kerroksen korkeus oli 0,2 mm ja täyttö 0%.

Tukimateriaalia tarvittiin vain keskikokoiseen laatikon pidikkeeseen ja suurikokoiseen laatikon pidikkeeseen. Määritin täydellisen toleranssin laatikoiden ja laatikkopidikkeiden välillä 0,2 mm. Kilometrimäärä voi vaihdella 3D-tulostimesi mukaan.

Kun olen tulostanut kaikki erilliset osat, kokosin kaikki laatikonpitimet 35 × 12 -ristikkoon superliimalla.

Minulla ei ollut tarpeeksi samanväristä filamenttia, joten päätin lisätä mustan maalikerroksen, jotta säilytysjärjestelmästä tulee tasainen.

Vertailun vuoksi koko 35 × 12 -tallennusjärjestelmäni, jossa on 310 laatikkoa, vaati tulostamiseen noin 5 kg filamenttia.

Vaihe 5: Elektroniikka

Elektroniikka
Elektroniikka
Elektroniikka
Elektroniikka

Elektroniikan osalta laitteiston valinta oli melko suoraviivaista.

Valitsin käyttöliittymäksi Raspberry Pi 4 -mallin B, joka on kytketty HDMI -näyttöön. Voit käyttää myös päätöntä Raspberry Pi -laitetta ja käyttöliittymää järjestelmän kanssa SSH: n kautta. Raspberry Pi: n vanhemmat versiot voivat myös toimia, jos ne pystyvät suorittamaan Python 3: n. Tässä projektissa käytettyä Neopixel -kirjastoa ei tueta Python 2: ssa.

LEDeille valitsin 30LED/m, WS2812b, LED-nauhan ilman erityistä syytä. Muut LED-nauhat toimivat myös, jos Neopixel-kirjasto tukee niitä.

Johdotuksen osalta Raspberry Pi: n, näytön ja LED-valojen virtalähteenä käytetään kolmea USB-C-kaapelia. Näyttö ja Raspberry Pi yhdistetään HDMI -kaapelilla.

Kuvassa näkyvä Arduino Uno ja USB -kaapeli ovat valinnaisia. Voit lähettää tietoja Arduinolle sarjaportin kautta ja käyttää sitä LED -ohjaimena. Yksinkertaisuuden vuoksi päätin olla käyttämättä Arduinoa tässä projektissa.

Hyvä suunnittelukäytäntö olisi sisällyttää tasonsiirrin LED -valojen tietoriville, koska Raspberry Pi GPIO on vain 3 V3. Minulla ei ole toistaiseksi ollut mitään ongelmia, mutta jos minulla on, otan käyttöön jotain "74AHCT125 nelitasoisen vaihteen" kaltaista.

Tässä on opas Neopixelin käyttämisestä Pythonin ja Raspberry Pi: n kanssa.

Vaihe 6: Ohjelmiston yleiskatsaus

Ohjelmiston yleiskatsaus
Ohjelmiston yleiskatsaus

Kun kaikkia osia tulostettiin 3D-tilassa, työskentelin ohjelmiston kanssa, joka ohjaa koko järjestelmää.

Ohjelmisto on kirjoitettu Python 3: lla ja on tarkoitettu toimimaan konsolisovelluksena Raspberry Pi -laitteessa. Ohjelmiston toiminnallisuus voidaan jakaa seuraaviin osiin:

  • Lue käyttäjän syöttö
  • Lue tiedostosta / kirjoita tiedostoon
  • Lähetä tulokset konsolille ja LED -valoille

Annan yksinkertaistetun kuvauksen jokaisesta vaiheesta alla.

Lue käyttäjän syöttö

Kun käyttäjän syöttö on vastaanotettu, käytetään useita Regex -lausekkeita käyttäjien pyynnön määrittämiseen. Käyttäjä voi valita seuraavista toiminnoista:

Toiminto Puhelun esimerkki
Listaa kaikki komponentit: kaikki
Hae komponentista tunnuksen perusteella: ID22
Hae komponenttia parametrien mukaan: R, 22, SMD
Komponentin määrän muuttaminen: ID35+10
Lisää uusi komponentti: PI89: PI90, 100kpl, C, 470u, SMD: lisää
Poista olemassa oleva komponentti: ID10: rm
Syntaksin ohje: auta

Lue tiedostosta / kirjoita tiedostoon

Komponenttitiedot tallennetaan.txt -tiedostoon. Ohjelmisto etsii syötteestä riippuen tietoja tiedostosta tai kirjoittaa tiedostoon uusia tietoja. Uusia tietoja kirjoitetaan, kun komponentteja poistetaan, lisätään tai niitä muutetaan.

Tulosta tulokset

Ohjelmisto lähettää toiminnon tulokset konsolille. Jos haku on suoritettu, se myös tuottaa ja tulostaa LED -tiedot samanaikaisesti.

Vaihe 7: Tietorakenne

Tietorakenne
Tietorakenne

. Txt -tiedoston komponentitiedot noudattavat tiettyä rakennetta. Tiedoston jokainen rivi sisältää tietoja järjestelmästä tallennetusta yksittäisestä osasta. Jokainen komponentti koostuu useista parametreista, jotka on erotettu toisistaan pilkulla.

Jotkin parametrit ovat pakollisia, ja ohjelmisto käyttää niitä komponenttien sijainnin ja LED -värien seuraamiseen. Siksi niiden on noudatettava tiettyä muotoa.

Pakolliset parametrit ja niiden muodot ovat:

  • ID (muodossa IDX, jossa X on yksi tai useampi numero)

    Tunnus toimii jokaisen komponentin yksilöllisenä tunnisteena. Sitä käytetään haettaessa ja poistettaessa komponentteja

  • PI (muodossa PIX: X, jossa X on yksi tai useampi numero)

    PI kuvaa, mitkä LEDit vastaavat mitä tahansa komponenttia

  • Määrä (muodossa Xpcs, jossa X on yksi tai useampi numero)

    Määrää käytetään kunkin komponentin LED -värin määrittämiseen

Muut parametrit on tarkoitettu vain käyttäjälle. Ohjelmiston ei tarvitse olla vuorovaikutuksessa näiden kanssa, joten niiden muoto on valinnainen.

Vaihe 8: Kokoonpano - elektroniikka

Kokoonpano - elektroniikka
Kokoonpano - elektroniikka
Kokoonpano - elektroniikka
Kokoonpano - elektroniikka

Kokoonpano voidaan jakaa kahteen osaan, joista ensimmäinen on näyttövarsi ja elektroniikka.

Kokosin 3D-tulostetut osat tarvittavilla ruuveilla ja muttereilla. Kiinnitin sitten 3D-tulostetun varren HDMI-näyttöön 4 mm: n ruuveilla. Raspberry Pi kiinnitettiin kätevään paikkaan ja johdotus liitettiin kohdan "Vaihe 5: Elektroniikka" kaavion mukaisesti.

Johdotusta yritettiin ohjata kaapelilla kiertämällä se näytön kiinnittimen ympärille. Ohjain virta- ja datakaapelit näyttövartta pitkin nippusiteillä liittämiseen muuhun tallennusjärjestelmään.

Vaihe 9: Kokoonpano - varastointijärjestelmä

Kokoonpano - varastointijärjestelmä
Kokoonpano - varastointijärjestelmä
Kokoonpano - varastointijärjestelmä
Kokoonpano - varastointijärjestelmä
Kokoonpano - varastointijärjestelmä
Kokoonpano - varastointijärjestelmä
Kokoonpano - varastointijärjestelmä
Kokoonpano - varastointijärjestelmä

Kokoonpanon toinen osa on itse tallennusjärjestelmä.

Käytettyjen ruuvinreikien avulla kiinnitin kaikki erilliset laatikkokokoonpanot maalattuun vanerikappaleeseen, joka toimii taustalevynä.

Sen jälkeen kiinnitin LED-nauhat kullekin riville ja liitin kaikki rivit yhteen yhdeksi LED-nauhana. LED-nauhan kunkin rivin ja suunnan konfiguraatiolla ei ole väliä, koska se voidaan konfiguroida uudelleen ohjelmistossa.

Kokoonpanon lopuksi kiinnitin näyttövarren elektroniikan kanssa vanerilevyn sivulle.

Lajittelin kaikki komponentit uuteen kotiinsa ja lisäsin ne.txt -tiedostotietokantaan.

Vaihe 10: Päätelmät

Päätelmä
Päätelmä
Päätelmä
Päätelmä
Päätelmä
Päätelmä

Projekti on nyt päättynyt ja olen todella tyytyväinen siitä, miten se onnistui!

Minulla on ollut aikaa käyttää uutta tallennusjärjestelmääni vain muutaman päivän ajan ja se on toiminut loistavasti. Olen innoissani nähdessäni, kuinka tämä järjestelmä muuttaa työnkulkuani tulevaisuudessa, koska se oli koko tämän projektin tarkoitus.

Toivottavasti pidit projektista ja jos sinulla on ajatuksia, kommentteja tai kysymyksiä, jätä ne alle.

Suositeltava: