User Tools

Site Tools


projects:szufladkiot

SzufladkOT

SzufladkOT(dawniej “SzufladkIOT”)- Projekt mający na celu stworzenie skalowalnego regału z szufladkami na elektronikę, spiętego z HMI1) oraz webówką do obsługi bazy danych zawierającej informacje o stanie komponentów i umożliwiającego łatwe odnajdywanie komponentów(miganie LEDem slotu lub szufladki), a także nimi zarządzanie(HMI oraz webówka).

Budowa i działanie

Regał ma rozpoznawać wsadzone szufladki po minimum 16-bitowym ID przypisanym do szufladki(kilka rzeczy może być przypisanych do jednej szufladki, na przykład ne555 w różnych obudowach). UID podłączonych szufladek może być ustalane na podstawie otrzymania na magistrali reakcji na wysłanie przez regał zaadresowanego PINGa “PING UID<kolejna znana wartość z bazy danych>” TODO: ALGORYTM NA BROADCAST PING MILE WIDZIANY!. Reakcją HMI na wyciągnięcie szufladki ma być natychmiastowe zapytanie użytkownika, ile gnoju <nazwa_guwna><obecny_stan> stamtąd zabiera, lub dokłada.

Rozpoznawanie ID

Aby na jego podstawie móc podświetlać szufladkę z szukaną po webówce zawartością, oraz aby można je było ~dowolnie fizycznie reorganizować
* SMART - ATTINY13A ma UID w eepromie i jak ją pingniesz, to pongnie.
* CHEAP - odczytanie analogowo napięć, jakie daje dzielnik z rezystorami w szufladce zasilany z pinu CS.

rozpoznawanie położenia

* 74hc595 - Po jednym pinie(output) dla slotu, jako pin CS2) dla mikrokontrolera/eepromu w szufladce. Kompatybilne również z konceptem szufladek pasywnych CHEAP. CS jest wtedy użyte jako źródło zasilania dla dzielników napięcia, oraz jednocześnie sygnał dla LEDa.
* CD4021B - Po jednym pinie(input) dla slotu, do automatycznego wykrywania, ile slotów oraz szufladek jest podpięte do jednostki centralnej(skalowalność™), oraz szybkiego wykrywania wyciągnięcia szufladki. Pullup ~10k w slocie, (pulldown ~1k2 i pulldown bypass ~1k sterowany z CS) w szufladce.

Warianty konceptu w zależności od stopnia cebulenia na szufladkach

* Wariant SMART - posiada eeprom/mikrokontroler, adresacja unikalna, minimum 16 bitów bez problemu.
* Wariant CHEAP - adresacja na podstawie wartości rezystorów pomiędzy outputem(CS) z 74hc595 a wejściami analogowymi(328p z pro mini ma 8 10-bitowych). Dioda LED sterowana przez 74hc595 w slocie.

Części

* Jakiś eeprom, lub mikrokontroler z eepromem, na przykład ATTINY13A TME(0,58eur przy 100pcs+)aliexpress(23,21eur/100pcs).

Risks and challenges

Niezawodne styki

Zrobienie styków dla każdej szufladki tak żeby mieć pewność że złapią za każdym razem to nietrywialny problem.

Kable, kable wszędzie kable

Jeżeli ma być możliwość ustalenia pozycji każdej szufladki to widzę dwa rozwiązania:

  • każda szufladka ma osobną szynę danych przełączaną na multiplekserze - mnóstwo kabli i lutowania
  • szufladki są na jednej/kilku szynach danych i kontroler wykrywa swoją pozycję w szafce - wymaga to większej liczby styków - patrz punkt Niezawodne styki

Prototyp

Prototyp ma na celu sprawdzenie jak zachowają się na magistrali eepromy wyłączone, oraz przybliżenie vegiemu z czym handluje softowo, jak również prezentację nowego konceptu. Zamiast rejestrów input użyto gpio w trybie input, bo nie mam pod ręką cd4021be. Also, eepromów używam takich, jakie akurat mam- 24LC256. Wydaje mi się, że to nie ma zbyt wielkiego znaczenia biorąc pod uwagę, że po pierwsze nigdy wcześniej nie używałem eepromów, a po drugie zasilanie będzie miała i tak tylko jedna szufladka na raz i nie będę sensownie używał adresowania, bo afaik jest efektywnie tylko 3-bitowe.

Nocny update: No i gnuj, skończyła mi się cyna podczas lutowania prototypów elektroniki szufladek. To be continued za jakiś tydzień.

k, mam cynę i biorę się dalej za prototyp. W międzyczasie przeniosłem schemat do fritzing(nie umienie w kicad mocno) i zaprojektowałem prototypowe pcb dla eepromów smd. Miedź w górnej warstwie dla eepromu smd i w dolnej dla tht.

1)
poważny gnuj do interakcji z użytkownikiem, najpewniej raspi z ekranem dotykowym lub chiński tablet
2)
Chip Select
projects/szufladkiot.txt · Last modified: 2016/08/15 00:12 by vegii

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki