Kazalo:

Sistem za shranjevanje komponent: 10 korakov (s slikami)
Sistem za shranjevanje komponent: 10 korakov (s slikami)

Video: Sistem za shranjevanje komponent: 10 korakov (s slikami)

Video: Sistem za shranjevanje komponent: 10 korakov (s slikami)
Video: ТЕПЕРЬ НЕ ПРОПАДУ 10-ть самоделок ВЫРУЧАТ ГДЕ УГОДНО! 2024, November
Anonim
Sistem za shranjevanje komponent
Sistem za shranjevanje komponent

Ultimate Component Storage System je edinstvena rešitev za organizacijo in shranjevanje elektronskih komponent. Programska oprema po meri omogoča katalogizacijo komponent z vgrajeno funkcijo iskanja za hiter dostop do določenih komponent. LED diode nad vsakim predalom se uporabljajo za označevanje lokacije in statusa posameznih ali skupine komponent.

Zaloge

Hvala DFRobotu, ki je za ta projekt zagotovil naslednje dele!

2 x 5V @ 3A napajalnik USB

Na voljo tukaj (partnerska povezava):

1 x Raspberry Pi 4 Model B

Na voljo tukaj (partnerska povezava):

1 x 8,9 "1920x1200 IPS zaslon na dotik

Na voljo tukaj (partnerska povezava):

1 x LED trak WS2812b, 30LED/m

Na voljo na Ebayu

Vse datoteke za ta projekt najdete na mojem GitHubu:

1. korak: Ideja

Ideja!
Ideja!

Ozadje

Vedno sem imel težave pri organizaciji in shranjevanju komponent. Zgornja fotografija prikazuje stanje moje trenutne rešitve za shranjevanje komponent. Čeprav bi lahko komponente v več škatlah po vsej delavnici delovale nekaterim, je bil v mojem poteku dela vedno neučinkovit. Zato sem pripravila projekt za rešitev tega problema.

Ideja

Ideja je bila, da se vse komponente shranijo v isti sistem za shranjevanje. Sistem za shranjevanje bi bil sestavljen iz številnih predalov in vsak predal bi imel LED nameščeno nad njim.

Uporabnik bi za interakcijo s sistemom za shranjevanje uporabil programsko opremo po meri. Ko uporabnik izvede iskanje komponent, sistem prikaže najboljše rezultate iskanja na zaslonu. Hkrati se prižgejo LED diode, ki ustrezajo iskanju, in tako označijo lokacijo komponente v sistemu za shranjevanje.

Barva LED diod bi poleg prikaza lokacije označevala stanje (tj. Količino) vsake komponente.

Zahteve

Ideja je bila razčlenjena na naslednje zahteve, ki jih ta projekt želi zadovoljiti:

Ustvarite preprost sistem za shranjevanje in pridobivanje za majhne in srednje velike komponente

Ustvarite programski vmesnik za katalogiziranje in iskanje po komponentah

Z LED diodami RGB označite lokacijo in stanje vsake komponente

2. korak: Oblikovanje - sistem za shranjevanje

Oblikovanje - sistem za shranjevanje
Oblikovanje - sistem za shranjevanje
Oblikovanje - sistem za shranjevanje
Oblikovanje - sistem za shranjevanje
Oblikovanje - sistem za shranjevanje
Oblikovanje - sistem za shranjevanje

Začel sem s 3D modeliranjem samega sistema za shranjevanje.

Sistem za shranjevanje sem oblikoval v obliki matrice 3D-tiskanih predalov različnih velikosti. Predali so postavljeni v mrežo 35 × 12 za skupaj 310 predalov. To je dovolj prostora za shranjevanje vseh mojih trenutnih komponent in pusti prostor za prihodnjo širitev.

Razmik med predali v navpični smeri je zasnovan tako, da nad vsako vrsto predalov prilega 10 mm širok LED trak. Razmik v vodoravni smeri je oblikovan tako, da je enak razmiku LED na LED traku. Ugotovil sem, da bi uporaba LED-traku 30LED/meter zadostovala za velikost vsakega predala.

Vsi predali in nosilci predalov so zasnovani tako, da se natisnejo ločeno in sestavijo v želeno konfiguracijo. Predali so na voljo v različnih velikostih in vsaka konfiguracija predalov bo delovala s programsko opremo po nekaj spremembah kode.

Da bi zmanjšali porabo filamentov in čas tiskanja, je bila debelina stene na vseh 3D-tiskanih delih čim manjša. Ko je sestavljena, je celotna shranjevalna enota dovolj trdna, da sprejme večino lahkih in srednje težkih komponent.

3. korak: Oblikovanje - prikazna roka

Zasnova - Roka zaslona
Zasnova - Roka zaslona
Zasnova - Roka zaslona
Zasnova - Roka zaslona
Zasnova - Roka zaslona
Zasnova - Roka zaslona

Ker sistem za shranjevanje potrebuje zaslon HDMI za uporabniški vmesnik, sem se odločil, da bom zasnoval nastavljivo ročico za namestitev zaslona in elektronike.

Vsi deli ročice zaslona so bili oblikovani za 3D-tiskanje in sestavljeni z vijaki in maticami M8. Roka zaslona je zasnovana tako, da drži zaslon HDMI, Raspberry Pi in vsa ožičenja.

Deli zaslona so temeljili na tej zasnovi podjetja Thingiverse.

4. korak: 3D-tiskanje in slikanje

3D-tiskanje in slikanje
3D-tiskanje in slikanje
3D-tiskanje in slikanje
3D-tiskanje in slikanje
3D-tiskanje in slikanje
3D-tiskanje in slikanje

Po 3D -modeliranju vseh delov je bil čas, da začnemo tiskati na stotine predalov.

Svoj Prusa MK2S sem uporabil za vse 3D-tiskane dele tega projekta. Uporabil sem PLA filament z višino sloja 0,2 mm in polnjenjem 0%.

Podporni material je bil potreben le na srednje velikem in velikem nosilcu predala. Ugotovil sem, da je popolna toleranca med predali in držali predalov 0,2 mm. Vaša kilometrina je lahko zelo odvisna od vašega 3D-tiskalnika.

Po tiskanju vseh ločenih delov sem uporabil superlepilo, da sem vse nosilce predalov sestavil v mrežo 35 × 12.

Nisem imel dovolj filamentov iste barve, zato sem se odločil, da dodam plast črne barve, da bom sistemu za shranjevanje dal enakomeren videz.

Za referenco je moj celoten sistem shranjevanja 35 × 12 s 310 predali za tiskanje potreboval približno 5 kg filamentov.

5. korak: Elektronika

Elektronika
Elektronika
Elektronika
Elektronika

Kar zadeva elektroniko, je bila izbira strojne opreme dokaj enostavna.

Za uporabniški vmesnik sem izbral Raspberry Pi 4 Model B, priključen na zaslon HDMI. Lahko uporabite tudi brez glave Raspberry Pi in vmesnik s sistemom prek SSH. Starejše različice Raspberry Pi lahko delujejo tudi, če lahko izvajajo Python 3. Knjižnica Neopixel, uporabljena v tem projektu, ni podprta v Pythonu 2.

Za LED sem brez posebnega razloga izbral LED trak 30LED/m, WS2812b. Drugi LED-trakovi bodo delovali tudi, če jih podpira knjižnica Neopixel.

Kar se tiče ožičenja, se za napajanje Raspberry Pi, zaslona in LED diod uporabljajo trije kabli USB-C. Za povezavo zaslona in Raspberry Pi se uporablja kabel HDMI.

Arduino Uno in kabel USB, prikazan na fotografiji, sta neobvezna. Podatke lahko pošljete v Arduino prek serijske enote in jih uporabite kot LED krmilnik. Zaradi preprostosti sem se odločil, da v tem projektu ne bom uporabljal Arduina.

Dobra oblikovalska praksa bi bila, če bi v podatkovno vrstico za LED vključili menjalnik nivojev, saj je Raspberry Pi GPIO le 3V3. Doslej nisem imel nobenih težav, če pa jih, bom uvedel nekaj takega kot "74AHCT125 Quad Level-Shifter".

Tukaj obstaja vodnik po uporabi Neopixela s Pythonom in Raspberry Pi.

6. korak: Pregled programske opreme

Pregled programske opreme
Pregled programske opreme

Medtem ko so bili vsi deli natisnjeni v 3D, sem delal na programski opremi, ki nadzoruje celoten sistem.

Programska oprema je napisana v Pythonu 3 in naj bi delovala kot konzolna aplikacija na Raspberry Pi. Funkcionalnost programske opreme lahko razdelimo na naslednje dele:

  • Preberite vnos uporabnika
  • Branje iz datoteke / pisanje v datoteko
  • Rezultate oddajte na konzolo in LED

Spodaj bom dal poenostavljen opis vsakega koraka.

Preberite vnos uporabnika

Ko uporabnik vnese vnos, se za določitev zahteve uporabnikov uporabi vrsta izrazov Regex. Uporabnik lahko izbira med naslednjimi funkcijami:

Funkcija Primer klica
Navedite vse komponente: vse
Poiščite komponento po ID -ju: ID22
Poiščite komponento po parametrih: R, 22, SMD
Spremenite količino komponente: ID35+10
Dodajte novo komponento: PI89: PI90, 100 kosov, C, 470u, SMD: dodaj
Odstranite obstoječo komponento: ID10: rm
Pomoč za sintakso: pomoč

Branje iz datoteke / pisanje v datoteko

Podatki o komponentah so shranjeni v datoteki.txt. Odvisno od vnosa programska oprema poišče podatke v datoteki ali v datoteko zapiše nove podatke. Novi podatki se zapišejo pri odstranjevanju, dodajanju ali spreminjanju komponent.

Iznesite rezultate

Programska oprema rezultate delovanja prikaže na konzoli. Če je bilo izvedeno iskanje, hkrati generira in odda podatke LED.

7. korak: Struktura podatkov

Struktura podatkov
Struktura podatkov

Podatki o komponentah v datoteki.txt sledijo določeni strukturi. Vsaka vrstica datoteke vsebuje informacije o posamezni komponenti, ki je shranjena v sistemu. Vsaka komponenta je sestavljena iz več parametrov, ki so ločeni z vejico.

Nekateri parametri so obvezni in jih programska oprema uporablja za spremljanje lokacije komponent in barv LED. Zato morajo upoštevati določeno obliko.

Obvezni parametri in njihove oblike so:

  • ID (v obliki IDX, kjer je X ena ali več številk)

    ID deluje kot edinstven identifikator za vsako komponento. Uporablja se pri iskanju in brisanju komponent

  • PI (v obliki PIX: X, kjer je X ena ali več številk)

    PI opisuje, katere LED diode ustrezajo kateri komponenti

  • Količina (v obliki Xpcs, kjer je X ena ali več številk)

    Količina se uporablja za določanje barve LED za vsako komponento

Drugi parametri so preprosto namenjeni uporabniku. Programski opremi ni treba medsebojno vplivati, zato je njihova oblika neobvezna.

8. korak: Montaža - elektronika

Montaža - elektronika
Montaža - elektronika
Montaža - elektronika
Montaža - elektronika

Sestavo lahko razdelimo na dva dela, prvi del sta ročica zaslona in elektronika.

3D-tiskane dele sem sestavil s potrebnimi vijaki in maticami. Nato sem 3D-natisnjeno roko pritrdil na zaslon HDMI s pomočjo 4 mm vijakov. Raspberry Pi je bil pritrjen na priročnem mestu in ožičenje je bilo priključeno v skladu s shemo v "Korak 5: Elektronika".

Ožičenje je bilo izvedeno s kablom, tako da se je ovijalo okoli nosilca zaslona. S kabelskimi vezicami sem vodil napajalne in podatkovne kable po roki zaslona za povezavo z ostalim sistemom za shranjevanje.

9. korak: Montaža - sistem za shranjevanje

Montaža - sistem za shranjevanje
Montaža - sistem za shranjevanje
Montaža - sistem za shranjevanje
Montaža - sistem za shranjevanje
Montaža - sistem za shranjevanje
Montaža - sistem za shranjevanje
Montaža - sistem za shranjevanje
Montaža - sistem za shranjevanje

Drugi del sklopa je sam sistem za shranjevanje.

S priloženimi luknjami za vijake sem vse ločene sklope predalov pritrdil na kos pobarvane vezane plošče, ki deluje kot zadnja deska.

Po tem sem pritrdil LED-trakove na vsako vrstico in vse vrstice povezal v en sam LED-trak. Konfiguracija vsake vrstice in smeri LED traku ni pomembna, saj jo je mogoče ponovno konfigurirati v programski opremi.

Za zaključek montaže sem pritrdil ročico zaslona z elektroniko na stran plošče iz vezanega lesa.

Vse komponente sem razvrstil v njihov novi dom in jih dodal v zbirko datotek.txt.

10. korak: Sklep

Zaključek
Zaključek
Zaključek
Zaključek
Zaključek
Zaključek

Projekt je zdaj končan in res sem zadovoljen, kako se je izkazal!

Nekaj dni sem imel časa za uporabo svojega novega sistema za shranjevanje in odlično je deloval. Navdušen sem, ko vidim, kako ta sistem v prihodnosti spreminja moj potek dela, saj je bil to namen celotnega projekta.

Upam, da vam je bil ta projekt všeč in če imate kakršne koli misli, komentarje ali vprašanja, jih pustite spodaj.

Priporočena: