Skocz do zawartości

deshipu

Użytkownicy
  • Zawartość

    3352
  • Rejestracja

  • Ostatnio

  • Wygrane dni

    158

deshipu wygrał w ostatnim dniu 10 lipca

deshipu ma najbardziej lubianą zawartość!

Reputacja

856 Mistrz

3 obserwujących

O deshipu

  • Ranga
    8/10

Informacje

Ostatnio na profilu byli

Blok z ostatnio odwiedzającymi jest wyłączony i nie jest wyświetlany innym użytkownikom.

  1. @wn2001 dziękuję. SAMD21 używam głównie dlatego, że wymaga bardzo niewielu dodatkowych komponentów (dwa kondensatory) i działa na nim CircuitPython, a do tego jest tani (poniżej $3 od sztuki). Na razie nie planuję sprzedawać tej płytki — plaga bardzo zepsuła wysyłkę międzynarodową, a różnica w cenie wcale nie jest taka duża jeśli bym nie produkował kilkuset płytek od razu — pewnie mógłbym sprzedawać je za jakieś $10 od sztuki, nie licząc przesyłki. Na razie mam te kilka zmontowanych ręcznie do rozdawania jako wizytówki, a jak ktoś potrzebuje więcej, to sobie może sam u Chińczyków zamówić — wszystkie pliki są udostępnione na hackaday.io. Podejrzewam, że mogłyby się dobrze nadawać na reklamę hackerspace-a albo nawet firmy sprzedającej zestawy — wystarczy tylko zmienić napis i ewentualnie kolor. Teraz pracuję nad jeszcze jedną wersją, lepiej nadającą się do warsztatów, bo nie wymagającą kabla USB-C — ten sam trik, ale z gniazdkiem micro-USB:
  2. Wydaje mi się, że najprościej by było po prostu napisać prosty program w Pythonie, który by działał cały czas na bliższym z komputerów, monitorował port szeregowy do którego jest podłączone dowolne Arduino (niekoniecznie z WiFi) i odebrane dane przekazywał na otwarty port w sieci. Na drugim komputerze można się do tego portu podłączyć choćby telnetem (ale można też i drugim, specjalnie napisanym programem) i odbierać te dane. Napisanie programu wymagałby podstawowej znajomości Pythona, modułu socket i biblioteki pyserial.
  3. Być może warto wziąć multimetr albo nawet analizator logiczny czy oscyloskop i zacząć patrzeć na to jak te sygnały i zasilania rzeczywiście wyglądają.
  4. To teraz pytanie jaką częstotliwość sygnału PWM generujesz tym PCA9685. Jeśli jest to cokolwiek innego niż standardowe 50Hz, to różne serwa mogą na to różnie reagować.
  5. Nie o to pytałem. Jak podłączysz sygnał serwa zamiast do PCA9685 do nóżki tej twojej megi, i użyjesz biblioteki Servo do ruszania serwem, to działa?
  6. A co to takiego PCA9865? Słyszałem o PCA9685, ale o tym nie. Jak zasilasz te serwa? Próbowałeś je sterować bez sterownika, po prostu sygnałem PWM z mikrokontrolera?
  7. Czasem patrzymy na dostępne na rynku płytki z mikrokontrolerami i myślimy sobie "ja bym to zrobił lepiej". Zazwyczaj nie mamy pretekstu żeby rzeczywiście tak zrobić, ale czasem tak się życie ułoży, że mamy okazję spróbować. Tak właśnie miałem z płytką firmy Feather M0 Basic firmy Adafruit i wydaje mi się, że wychodząc z oryginalnego projektu udało mi się dokonać kilku ulepszeń (ale także przyszło mi pogodzić się z paroma kompromisami). A zaczęło się od tego, że często używam w moich projektach mikrokontrolera SAMD21 w jego najmniejszej obudowie QFN32 i nieraz przydałaby się możliwość przetestowania układu zanim zamówi się płytkę. Niestety, płytki które posiadam nie wyprowadzają wszystkich pinów, więc testowanie za ich pomocą nie zawsze jest możliwe. Postanowiłem zatem zrobić swoją płytkę, ale dać jej standardowy układ pinów — padło na standard Adafruit Feather. Najbardziej rzucającą się w oczy polskiemu użytkownikowi wadą płytki Adafruita jest niewątpliwie cena. Niestety, produkcja w USA, koszty wysyłki, a także konieczność pokrycia wypłat dla armii ludzi piszących dokumentację i rozwijających oprogramowanie powoduje, że nie jest ona tania. Zatem pierwszym celem, który sobie postawiłem, jest takie zaprojektowanie nowej płytki, żeby można było ją wykonać jak najtaniej. Oczywiście od razu pojawiła się konieczność kompromisów — postanowiłem usunąć część układu odpowiedzialną za obsługę i ładowanie baterii — nie ma zatem gniazdka do baterii, a nóżka do której byśmy ją podłączali jest niepodłączona. Usunąłem też wszystkie komponenty, które nie są absolutnie niezbędne — nie ma zatem kwarcu, zamiast tego używany jest wewnętrzny oscylator, wyleciał przycisk reset, zastąpiony zworką bezpośrednio na płytce (trzeba tylko dotknąć czymś metalowym), poleciały też diody świecące — choć potem jedna wróciła. Oryginalna płytka używa mikrokontrolera w opakowaniu QFN48, ale ja potrzebowałem QFN32 — tańsze, ale też ma mniej nóżek. Na szczęście odrobina gimnastyki pozwoliła mi brakujące nóżki zastąpić takimi, które były niepodłączone w oryginalnej płytce. Ba, dodałem nawet trzy dodatkowe nóżki dostępne dla użytkownika: dwie analogowe i jedna zwykła. Została mi jedna nóżka, którą postanowiłem podłączyć do diody świecącej, aby mając gołą płytkę można było sobie chociaż pomrugać. Oczywiście i tu nie obyło się bez kompromisu — aby obsłużyć SPI musiałem poświęcić nóżki normalnie używane do debugowania — zatem albo debugujemy, albo używamy SPI. W pierwszej wersji płytki zostało mi dużo wolnego miejsca, a że koszty wysyłki płytek zależą od ich wagi, postanowiłem zmniejszyć tę wagę dodając parę losowej wielkości dziur. Kiedy przyszło do wybierania koloru płytki, podobieństwo do sera skłoniło mnie do wybrania koloru żółtego. A właśnie, wprowadziłem jeszcze jedno ulepszenie: dziurki na piny są ułożone w zygzak w taki sposób, że da się w nie wetknąć nóżki goldpinów bez konieczności lutowania. Ostatnią częścią, którą postanowiłem usunąć jest gniazdko USB. Nie ma się co dziwić, bo tylko są z nim same kłopoty — ludzie narzekają, że jest w złym miejscu, że się urywa jak pociągną za kabel, do tego jest to jedyna część wymagająca dziur w płytce — i podrażająca tym montaż.Tylko jak bez gniazdka USB będziemy naszą płytkę zasilać, o wgrywaniu do niej programów i obserwowaniu ich wyników już nie wspominając? Okazuje się, że da się zrobić "gniazdko" USB z samej płytki, po prostu wycinając ją we właściwy kształt i umieszczając w odpowiednich miejscach styki. Płytka musi wówczas też mieć odpowiednią grubość, ale na szczęście nie ma dzisiaj wielkich problemów z zamówieniem takich płytek (i wychodzą nawet taniej niż standardowe, z powodu mniejszej wagi). Zatem zaprojektowałem nową wersję, z gniazdkiem USB-C (jak szaleć to szaleć). W tej wersji dziury są tylko w miedzi, zamiast przez całą płytkę, bo wykoncypowałem sobie, że taką cienka i płaską płytkę mogę używać jako wizytówki, a do tego potrzebowałem po drugiej stronie miejsce na zamieszczenie wizytówkowych informacji. Niestety, kiedy płytki wreszcie przybyły (dzięki zawirowaniom czasoprzestrzennym po 4 tygodniach, odwiedziwszy po drodze Niemcy i Wielką Brytanię) okazało się, że co prawda mechanicznie gniazdko działa doskonale, ale prąd płytka dostaje tylko jeśli podłączę ją kablem USB 2.0, podłączona do portu USB-C kablem USB-C nie jest wykrywana przez komputer i w związku z tym nie dostaje zasilania. Czas zatem na poczytanie co tam w standardzie piszą — okazuje się, że wzmianka o rezystorach ściągających na nóżkach CC, którą zignorowałem, bo wydawała się dotyczyć tylko trybu OTG, jest jednak istotna. Rozczarowało mnie to trochę, bo nie tylko musiałem zaprojektować nową płytkę, ale jeszcze nie oszczędzam na liczbie komponentów — jedno gniazdko USB zastąpić będę musiał dwoma rezystorami. No ale rezystory przynajmniej są tanie i montowane powierzchniowo, zatem wziąłem się do pracy. Zrezygnowałem ostatecznie z pomysłu wizytówki, puste miejsce wypełniłem obszarem prototypowym, w którym można sobie wlutować własne elementy, a dziury są teraz już tylko narysowane. Poza tym dodałem dwie nóżki CC do gniazdka USB i podłączyłem do dwóch rezystorów 5.1kΩ. Przez chwilę jeszcze rozważałem użycie tylko jednego rezystora, bo większość kabli i tak używa tylko jednego pinu CC, ale okazuje się, że to właśnie jest błąd, który popełnili projektanci Raspberry Pi 4, a który spowodował problemy z bardziej zaawansowanymi kablami. Postanowiłem błędu nie powtarzać. Ostateczna wersja projektu wygląda tak: Na razie używam płytki do własnych eksperymentów i sprawuje się dobrze, ale zastanawiam się nad zamówieniem większej liczby już zmontowanych i zaprogramowanych płytek — mogą się przydać do prowadzenia warsztatów z CircuitPythona gdy epidemia się skończy.
  8. Przy zasilaniu rzeczy ogólnie. Zachęcam do przeczytania kursu elektroniki z tej strony, na pewno odpowie ci na to i wiele innych, jeszcze nie zadanych pytań.
  9. Wentylator przy stacji roboczej i dobra wentylacja pomieszczenia. Bez niego lutowanie jest znacznie trudniejsze i bardzo łatwo o zimny lut. Mam ci wypisać wszystkie możliwe rodzaje baterii? Dlaczego akurat na ołowiu się tak skupiasz? Taki lit jest także dosyć toksyczny.
  10. Tak. Chyba bardziej by się przydały szczegóły samego robota. Ale tak, baterie NiMg, NiCd albo NiMh bardzo dobrze nadają się do niewielkich robotów "biurkowych" jeśli masa nie jest problemem. Są łatwo dostępne, nie wymagają skomplikowanych ładowarek i zabezpieczeń przed nadmiernym rozładowaniem i mają solidną obudowę zabezpieczającą przed uszkodzeniami mechanicznymi. Dają też znacznie większy prąd niż zwykłe "paluszki", więc nadają się do zasilania serw i silników. Jedyne o czym trzeba pamiętać, to że mają napięcie ~1.2V a nie 1.5V jak baterie alkaliczne.
  11. To bardzo mocno zależy od konkretnego rodzaju baterii, od tego co z nimi robisz i od tego co uważasz za bezpieczne. Z jednej strony trudno je zepsuć, z drugiej zawierają kwas i ołów, które są dość mocno toksyczne, a do tego są ciężkie, więc można sobie upuścić na nogę... Może napisz co konkretnie próbujesz zrobić i jakie dokładnie baterie chcesz użyć, to będziemy mogli lepiej doradzić. Niestety nie znam pana Cooka i nie wiem jaką linię zamieścił w swojej książce — może podaj jakieś szczegóły?
  12. Każdy kiedyś zaczynał, a jak nic jeszcze nie wiesz, to ciężko się w Internecie szuka, bo nawet nie znasz odpowiednich słów. Dlatego podpowiadam terminy, ale nie ma potrzeby zaraz się nad człowiekiem znęcać.
  13. Instrukcja switch to jeszcze nie maszyna stanów. Żeby mieć maszynę stanów, to musiałbyś gdzieś trzymać stan i na podstawie jego oraz wejścia decydować co robić.
  14. 9.5 lub 10 czego? Może poczytaj o sterownikach silników — zazwyczaj pozwalają zasilać silnik innym napięciem niż napięcie logiki sterującej.
×
×
  • Utwórz nowe...