Witam
Ostatnio zacząłem konstruować dla mojej przyjaciółki, która pracuje w sklepie, maszynę do liczenia monet. Wzorowałem się na tym projekcie
Płytka drukowana
Na potrzeby tej konstrukcji wykonałem swoją pierwszą PCB. Zaprojektowałem ją w pakiecie KiCad (open source). Nie tworzyłem wcześniej schematu obwodu, tylko od razu rysowałem ścieżki w PCBnew. Musiałem zaprojektować footprint pod wyświetlacze 7-segmentowe, gdyż żaden z footprintów zawartych w programie nie pasował do kupionych przeze mnie części. Niestety nie mogę wrzucić projektu, bo został nadpisany, kiedy zacząłem pracować nad płytką do innego urządzenia. PCBnew posiada poważną wadę - jeśli zapiszemy pierwszy projekt z domyślną nazwą i w domyślnym folderze, a po jego zamknięciu i utworzeniu drugiego klikniemy Zapisz, to zostanie nadpisany bez pytania. Dlatego udostępniam tylko PDF ze ścieżkami i napisami.
Po wydrukowaniu schematu drukarką laserową na papierze kredowym złożyłem go w kopertę na laminacie przyciętym do odpowiednich rozmiarów i przeprowadziłem termotransfer za pomocą żelazka, używając jako podkładki garnka odwróconego do góry nogami. Za pierwszym razem część wydruku nie odbiła się (za słabo dociskałem, żeby nie rozmazać ścieżek), ale po zmyciu acetonem i drugim podejściu wyszło w miarę dobrze - wystarczyło tylko poprawić przerwy w ścieżkach za pomocą pisaka do PCB (olejnego). Aby oddzielić papier od PCB, namaczałem go w ciepłej wodzie z płynem do naczyń.
Do wytrawiania wykorzystałem roztwór nadsiarczanu sodu. Miał zbyt małe stężenie, więc wytrawianie trwało 2 dni (z przerwą na noc, żeby nie podtrawiło ścieżek), mimo że pojemnik stał na kaloryferze i od czasu do czasu mieszałem jego zawartość. Wyszło raczej dobrze, tylko w niektórych miejscach ścieżki były przerwane i musiałem je lutować.
Otwory wywierciłem za pomocą najtańszej wkrętarki z Castoramy, wierteł 1 mm i przejściówki pozwalającej na ich zamocowanie (również kupionych w tym samym sklepie). Zrobiłem to jeszcze przed wytrawieniem, bo nadsiarczan sodu miałem w innym mieście, a chciałem dokończyć konstrukcję jak najszybciej. Jednak zamalowałem krawędzie otworów pisakiem do PCB, żeby nie doszło do podtrawień.
Obudowa
Podobnie, jak w podlinkowanym filmiku, obudowę wykonałem z tektury (z kartonów przyniesionych ze sklepu). Jej projekt tworzyłem w myślach na bieżąco, więc wyszło, jak wyszło. Część obudowy pomalowałem już sprejem na zielono (wybór koloru podyktowany tym, że maszyna swoim kształtem nieoczekiwanie zaczęła przypominać żabę), planowałem też na niektóre powierzchnie nakleić sztywny papier kolorowy. W razie utknięcia jakiejś monety wewnątrz maszyny można ją łatwo otworzyć. Części mogące się nagrzewać (silnik, elektromagnes, tranzystory) nie mają bezpośredniego kontaktu z tekturą, wykonałem też otwory wentylacyjne do ich chłodzenia (w przypadku silnika z tyłu obudowy).
Podajnik monet
Pieniądze wsypuje się oczywiście do pojemnika znajdującego się na górze (planowałem dorobić do niego zamykaną pokrywę). Jest on zamocowany na dwóch rurkach z pojemników po rozpuszczalnych witaminach, włożonych jedna w drugą i nasmarowanych smarem silikonowym. Sprężynę uformowałem z drucianego wieszaka, który dostałem w pralni po upraniu garnituru. W wielu podobnych maszynach do liczenia monet na Youtube zastosowano silniczki wibracyjne, żeby bilon wsypywał się do otworu. Mam wprawdzie taką część z zepsutego smartfona, jednak takie rozwiązanie nie jest optymalne - żeby wibracje miały największą amplitudę, muszą odbywać się z częstotliwością rezonansową. W tym celu postanowiłem wykorzystać elektromagnes przymocowany do części nieruchomej (również wymontowany z drukarki - poruszał w niej przymocowaną do siebie zapadkę na sprężynie)
Po przybliżeniu magnesów rdzeń ulega namagnesowaniu i pojawia się siła przyciągająca. Kiedy podłączyłem elektromagnes do USB okazało się, że niezależnie od polaryzacji siła wypadkowa jest przyciągająca. Jednak nie powinno to być problemem - różnica w jej wartości w zależności od polaryzacji jest znaczna, a i tak siła sprężystości sprężyny równoważy przyciąganie.
Planowałem zasilić elektromagnes za pomocą mostka H na 2 parach MOSFET-ów - wszystkie z kanałem wzbogaconym (normalnie wyłączone), sterowane za pomocą 2 pinów mikrokontrolera (każdy pin steruje jedną parą tranzystorów P i N). Takie rozwiązanie pozwala uniknąć zwarcia w razie błędu w programie. Dodatkowo wszystkie MOSFET-y w urządzeniu mają rezystory podciągające bramkę do masy, żeby w razie przełączenia pinów uC w stan wysokiej impedancji nie płynął przez nie prąd.
Aby wibracje przebiegały w rezonansie, siła wymuszająca powinna mieć zwrot zgodny z aktualnym zwrotem prędkości pojemnika. Postanowiłem w tym celu nawinąć na elektromagnes uzwojenie sprzężenia zwrotnego, podłączone do wejść komparatora uC przez odpowiednio dobrany rezystor (aby nie przekroczyć dopuszczalnego napięcia). Pozwoliłoby to wykrywać (za pomocą przerwania), w której chwili magnes zaczyna poruszać się w przeciwną stronę i przełączać tranzystory. Oczywiście na zmiany pola elektromagnetycznego wewnątrz tego uzwojenia wpływałby nie tylko ruch magnesów trwałych, ale też przełączanie elektromagnesu, jednak nie powodowałoby ono zmiany zwrotu pola elektromagnetycznego (napięcie podawane na komparator zmieniałoby się wówczas, ale jego polaryzacja pozostawałaby taka sama).
Wirnik popychający monety
Do konstrukcji osi wirnika również wykorzystałem pasujące do siebie fragmenty pojemników po witaminach i smar silikonowy. Silnik także pochodziłby z drukarki i byłby sterowany za pomocą MOSFET-u.
Wykrywanie monet i rozpoznawanie ich nominału
W tym celu wykorzystałem dwa transoptory szczelinowe z drukarki, podłączone do oddzielnych wejść ADC, zamontowane tak, aby miały wspólną szczelinę, przez którą łatwo przejdzie największa polska moneta (5 zł). Początkowo planowałem rozpoznawanie nominałów na podstawie sumy sygnałów z transoptorów przy maksymalnym przesłonięciu. Jednak okazało się, że wielu nominałów nie dałoby się w ten sposób odróżnić, gdyż szczeliny transoptorów nie obejmują całego otworu na monety - w wielu przypadkach szczelina transoptora po lewej stronie (w tej konstrukcji monety trzymałyby się raczej lewej krawędzi, z powodu siły odśrodkowej wytwarzanej przez wirnik) osiągałaby "zaćmienie całkowite", a po prawej wcale. Musiałem więc zastanowić się nad innym algorytmem. Nie testowałem go jeszcze, ale teoretycznie powinien rozpoznawać nominały w ogóle bez potrzeby użycia transoptora po prawej stronie. Przyjąłem założenie, że podczas przelotu monety przez szczelinę jej prędkość praktycznie się nie zmienia. Nie wiem, czy jest ono poprawne, ale starałem się wykonać tunel na monety tak, żeby w pewnej odległości przed szczeliną poziom jego dna się obniżał, co powodowałoby, że pieniądz przelatywałby przez transoptory bez tarcia (jedynie działałby na niego opór powietrza). Program zapisywałby wyniki pomiarów wykonywanych w regularnych odstępach czasu i przeliczał poszczególne odczyty ADC na położenie krawędzi monety (w przekroju wyznaczonym przez szczelinę). Teraz do otrzymanej tablicy zawierającej wartości czasu i pozycji krawędzi monety trzeba dopasować odpowiednią funkcję. A najłatwiej dopasowuje się prostą, więc dane trzeba zlinearyzować - wartościami X będą kwadraty czasu, a Y - kwadraty różnicy aktualnego położenia krawędzi i szerokości szczeliny transoptora. Wtedy współczynnik kierunkowy dopasowanej prostej będzie równy kwadratowi promienia monety - oczywiście nie trzeba go pierwiastkować (co zużywa sporo czasu), wystarczy, że zakresy promieni (z uwzględnieniem błędu pomiaru) poszczególnych nominałów do porównania też będą w formie podniesionej do kwadratu. Dodatkowo jako wyraz wolny otrzymujemy prędkość monety.
Interfejs użytkowniczki
Urządzenie posiada 6 przycisków monostabilnych i 5 wyświetlaczy 8-segmentowych (w tym kropki). Funkcje przycisków, od lewej do prawej, są następujące:
1) reset
2) włącz/wyłącz zasilanie - wyłączenie polegałoby na odłączeniu zasilania od wszystkich elementów sterowanych przez uC i wprowadzeniu go w tryb SLEEP_MODE_PWR_DOWN. Przyciski (oprócz resetu) przy włączonym zasilaniu są multipleksowane wraz z wyświetlaczami (żeby wystarczyło wyprowadzeń uC), natomiast przy wyłączonym napięcie byłoby tylko na tym jednym przycisku i byłby on obsługiwany za pomocą przerwania GPIO.
3)włącz/wyłącz wirnik
4)włącz/wyłącz wibracje zasobnika (działa tylko przy włączonym wirniku)
5)zmiana trybu wyświetlania ilość/suma - aktualny tryb można odróżnić po tym, że w przypadku ilości monet nie byłoby widocznej kropki, a w przypadku sumy byłaby przed 2 miejscami dziesiętnymi (oddzielając zł od gr)
6)zerowanie (zarówno ilości, jak i sumy)
Fajne? Ranking DIY