Podczas próby zamontowania wszystkich czujników ścian okazało się, że aktualny projekt płytki nie przewidywał miejsca na uchwyty z drukarki 3D. Potrzebuję więc zmian w projekcie PCB i nowej wersji płytki. Decyzję ułatwił fakt, że wylała mi się woda na biurko i oczywiście zalała robota. Po osuszeniu nie chciał działać, ale poleżał jeszcze przez noc i teraz się uruchamia normalnie. W każdym razie nowa wersja płytki jest potrzebna. Tym bardziej, że mam jeszcze kilka mniejszych zmian do wprowadzenia. Dzisiaj opiszę planowane zmiany.

Położenie czujników ścian

Czujniki diagonalne ustawiłem za blisko frontowych. Brakuje miejsca, aby ustawić przed nimi podstawki. Po złożeniu czujnik diagonalny będzie wchodził w pole widzenia czujnika frontowego przekłamując pomiary. Co więcej nawet jak bym nie używał podstawek, same fotoelementy również mogłyby odbijać światło z drugiego czujnika. Błąd wychodzi dopiero teraz, bo we wcześniejszych wersjach nawet nie montowałem czujników ścian, więc nie miałem okazji sprawdzić, czy projekt ma sens.

Zdjęcie przedstawia problem. Na czerwono zaznaczyłem otwory na czujnik diagonalny, na żółto otwory na czujnik frontowy z wlutowanymi elementami. Jak widać,uchwyt znajduje się sporo przed otworami i dla czujnika diagonalnego kompletnie zasłonił by widok frontowemu.

W nowym projekcie zmienię ułożenie wszystkich czujników ścian. Frontowe i boczne będą trochę dalej od krawędzi, aby podstawka mieściła się w całości na PCB. Czujniki diagonalne będą dość wyraźnie cofnięte, tak aby wszystkie trzy podstawki stykały się krawędziami i tworzyły coś na kształt łuku.

Złącze lewego silnika

Błędy w połączeniach poprowadzonych do złącz silników powtarzały się już w wielu wersjach płytki. W ostatniej z nich prawy silnik ma już poprawnie poprowadzone ścieżki, natomiast w lewym zasilanie i masa logiki są odwrotnie, przez co muszę aktualnie używać dodatkowych przewodów.

Powyżej można zobaczyć wyprowadzenia złącza silnika. Docelowo na płytce oba złącza powinny być wpinane tak, żeby znacznik na wtyczce był skierowany w prawą stronę. Dzięki takiemu ułożeniu najprościej będzie poprowadzić ścieżki, ponieważ wyjścia A/B enkodera są po stronie STMa, a silnika po stronie mostka H. Początkowo chciałem, żeby złącza z obu stron były lustrzanym odbiciem. Potem dochodziłem do wniosku, że nie da rady, zmieniałem coś w pinach i zawsze kończyło się na błędzie. Teraz wszystko jest jasne, a sama czynność nie jest zbyt skomplikowana, więc powinno pójść bez problemu.

Poprawienie ścieżek do mostka H

Prowadząc ścieżki do mostka H w poprzedniej wersji trochę poniosła mnie fantazja i wiele z nich poprowadziłem pomiędzy pinami złącza IMU. Można to zobaczyć na schemacie PCB. Podejrzane miejsca zaznaczyłem na żółto.

Jedna z tych ścieżek już raz mi pękła i aktualnie mam ją połączoną kynarem. Dookoła złącza IMU jest wystarczająco miejsca, żeby poprowadzić te ścieżki bokiem. Nie wiem co mną wtedy kierowało, że zdecydowałem się na taką ekwilibrystykę.

Zmiana położenia diody statusowej

Aktualnie LED statusowy świecący się, gdy bateria nie jest rozładowana znajduje się w tylnej części robota. Jest on sterowany przez ULN2003 wlotowany z przodu, od którego idzie ścieżka przez całą PCB. Początkowo chciałem mieć LED statusowy niedaleko przycisków konfiguracyjnych. Jednak teraz, gdy wykorzystałem ją do monitorowania stanu baterii takie rozwiązanie nie ma dłużej sensu, a mocno utrudnia projekt. Dlatego diodę statusową przeniosę na przód niedaleko czujników ścian. Mam tam jeszcze dużo miejsca.

Podsumowanie

No i to tyle jeżeli chodzi o planowane zmiany. Mam nadzieję, że ta wersja płytki będzie już ostateczna. W najbliższych dniach wprowadzę zmiany w schematach i zlecę wydruk płytki. Jej wykonanie potrwa pewnie ze 2 tygodnie, więc nowy hardware będzie gotowy dopiero w marcu. Do tego czasu muszę zrobić małą inwentaryzację i określić jakie układy elektroniczne dokupić. Skoro aktualna płytka po zalaniu działa dalej może jeszcze uda mi się na niej przeprowadzić jakieś prace.