Skocz do zawartości

Tablica liderów


Popularna zawartość

Pokazuje zawartość z najwyższą reputacją od 14.03.2019 we wszystkich miejscach

  1. 3 punkty
  2. 3 punkty
    1. W poprzedniej konstrukcji postanowiłem w pewnym momencie umożliwić robotowi zmianę kierunku obrotu kół w trakcie jazdy - bez żadnych dodatkowych modyfikacji. Mostek spalił się w pierwszym przejeździe. Jakiś czas później wróciłem do tematu z podwójnym mostkiem i dodatkowym opóźnieniem - nie spalił się do dnia dzisiejszego, a zmiana poprawiła pokonywanie zakrętów prostych. Wiadomo, że wchodzi tu wiele czynników, w tym prawdopodobnie nieoptymalne sterowanie tym silnikiem, możliwe oscylacje regulatora itd. Ale chodziło głównie o to, że miałem potrzebę móc zrobić z silnikiem dowolnie wszystko, bez późniejszego awaryjnego lutowania w stresie, na zawodach. W tym momencie, jeżeli silnik potrzebuje do zmiany prędkości, z 3m/s do 0m/s, zmiany PWMa z +70% na - 80%, by za chwilę zadać +50%, a całość wykonuje się z częstotliwością 8kHz, to ja nie muszę się tym martwić i nakładać ograniczenia. Liczę się z tym, że silnik ulegnie znacznie szybszemu zużyciu. Mostek TB6612 odpadał z miejsca, gdyż moim zdaniem jest mocno przestarzały. DRV8837 odpadł ze względu na ograniczone napięcia zasilania do 11V. Postawiłem na przesadzony mostek ze względu na brak czasu na testy potrzebne by dobrać bardziej optymalny. Tranzystory w obudowach 5x6mm widuje się w mostkach +300W. Chyba uznałem, że łatwiej takie lutować niż 3x3mm. 2. Puste miejsce bierze się stąd, że miałem problem z dostawą modułu z aliexpress. Około 6 miesięcy czekałem aż przyjdzie, no i oczywiście nie przyszedł - dostałem zwrot. Dlatego robot debiutował z modułem HC-05 na kabelkach i właściwy moduł wstawiłem dopiero później. Jest to moduł, który podpatrzyłem u konstruktora GreenYe (micromouseusa.com), w jego micromousie Green Giant 5.19V - HJ580. Do tej pory nie wiem w jaki sposób zastosował ten moduł, gdyż ja musiałem programować układ DA14580 i męczyć się z custom'ową aplikacją pod nietypowy protokół bt. Typowy Bluetooth Low Energy. Gdy zapytałem GreenYe mail'owo o ten moduł, odpisał że swojego modułu nie musiał programować i używał go jako port COM, przez zwykły terminal. Z zalet: baaardzo niewielkie rozmiary, znacznie szybszy od HC-05, pobiera niewiele prądu. Wady: Krótki zasięg < 10m z obecną anteną, wymagał programowania OTP, trudna dostępność, brak dokumentacji i footprintu modułu, wymaga znajomości BLE. Rozważałem jeszcze wykorzystanie modułu SPBTLE-1S od STMicroelectronics. Jest również niewielkich rozmiarów i teraz posiada dość spore wsparcie, ze sporą ilością przykładów do wykorzystania oraz gotowe biblioteki.
  3. 3 punkty
    Cześć! Skończyłem budowę mojego pierwszego robota. Jest to też mój pierwszy większy projekt, więc proszę o wyrozumiałość, komentarze, porady mile widziane. Z racji tego, że posiadam jeszcze dwa komplety lego, postanowiłem je wykorzystać do budowy pojazdu. Początkowo miały być silniki lego, ale stwierdziłem, że lepiej będzie zrobić to na zwykłych, uniwersalnych częściach. Konstrukcja miała być mała, zwinna, sterowana przez WIFI. Przednia oś, jak widać, sterowana za pomocą micro serwa. Nie było większych oporów, serwo bez problemów sobie radziło ze sterowaniem. Zacząłem szukać jakiegoś ciekawego i małego silnika DC. Postanowiłem wybrać silnik z podwójnym wałem. Kolejnym zadaniem było przebudowanie konstrukcji tak, żeby silnik się zmieścił i nie wadził w poruszaniu się robota. Z racji tego, że wolałem zaoszczędzić kilkanaście złotych na przejściówkę lego-wał, rozwierciłem otwory w częściach które miałem. Zacząłem myśleć jak wyglądałoby połączenie iPhone - ESP, ale w międzyczasie na uczelni dziekan zapowiedział nam dodatkowy projekt na zajęciach z mikrokontrolerów ( pierwsze takie zajęcia na drugim roku studiów ) - dowolny robot na platformie Arduino lub STM. Chłopaki na Facebookowej grupie Arduino uświadomili mi, że nie ma sensu robić projektu na ESP, bo musiałbym się łączyć tylko przez sieć i lepszym wyborem byłby bluetooth. Tak też się stało, zakupiłem moduł HM-10, który współpracuje z używanym przeze mnie iOS. Do tego całość przeniosłem na klona płytki Arduino. Jako aplikacji sterującej użyłem ArduinoBlue, wraz z biblioteką. Inne aplikacje nie chciały działać. W dodatku albo na iOS nie ma żadnych popularnych aplikacji do sterowania przez BLE albo nie udało mi się znaleźć. Możecie polecić ciekawe aplikacje na iOS, na pewno sprawdzę! Można zauważyć, że na breadbordzie zainstalowałem jakąś płytkę. Jest to sterownik silników DC, polecany, łatwy w użyciu. Dobra, silnik jest, działa, serwo jest, łączność przez BLE również. Wypadało by odpiąć wszystko od zasilania z gniazdka i zastosować akumulatory, baterie. Z początku była to dla mnie czarna magia, większe napięcie, jakieś ampery, przetwornice. Czytałem różne artykuły, oglądałem poradniki, pytałem na Facebookowej grupie. Ostatecznie, zgodnie z zasadami: Arduino + sekcja logiczna zasilana z powerbanka + wyprowadzenie zasilania bezpośrednio do serwa, silnik DC zasilany przez dwa ogniwa litowo-jonowe połączone szeregowo z BMS, napięcie zmniejszane przez przetwornicę Żeby szybko podpinać ogniwa do robota albo ładować, przylutowałem wtyki/gniazda DC 5.5mm. BTW. Bardzo długo męczyłem się z lutowaniem ogniw na 30-watowej lutownicy kolbowej. Metodą prób i błędów wszystko się złączyło. Przed podłączeniem każdego elementu lutowanego, sprawdzałem miernikiem czy nie ma zwarcia! Dodatkowo pokusiłem się o popularny czujnik odległości oraz mała prowizorka - dwie diody z opornikami schowane w obudowie po serwie (spaliło się), informujące o przeszkodzie w danej odległości. Wersja finalna, kilkukrotnie większa i cięższa niż pierwotna wersja. Wzmocniony układ kierowniczy. Jeździ, skręca, hamuje, cofa. Trzymany pod kocem Wszelkie komentarze mile widziane! A tutaj krótki filmik (musiałem zdemontować czujnik odległości, ponieważ powodował zakłócenia całego układu: Tak wygląda sterowanie za pomocą joysticka:
  4. 2 punkty
    Na igłę oddziałuje pole magnetyczne będące składową wielu pół (przyjmijmy dla rozważań że dwóch - pionowego i poziomego). I nie można ich mierzyć ani rozważać oddzielnie. Jako że te składowe pola oddziałują na igłę jednocześnie to jednocześnie reaguje ona na oba. Jeśli masz kompas poziomo to wpływ pola pionowego jest niwelowany przez zawieszenie igły. Dodatkowo stwierdzenie że ustawiłem go pionowo jest nie do końca poprawne. Mówimy o 3 wymiarach więc konieczne jest także określenie orientacji w przestrzeni. Stąd by opisać położenie ciała w przestrzeni konieczne jest użycie 6 współrzędnych - 3 dla położenia i 3 dla orientacji - przedmiot można dowolnie obrócić w przestrzeni nie zmieniając położenia umownego środka przedmiotu. Łatwo to sobie wyobrazić kładąc np. cukierek na stole (sorry akurat u mnie leży ) - jeśli obrócimy wzdłuż osi pionowej nie przesuwając po stole to znajdzie się on w innym położeniu. Mimo iż współrzędne położenia są takie same to orientacja ciała jest inna (obrócona). Jeśli mówimy o punkcie w przestrzeni (który nie ma długości, szerokości ani głębokości) to nie musimy określać orientacji bo można nim dowolnie obracać a i tak nie będzie różnicy. Dlatego konieczne byłoby dokładniejsze określenie co oznacza "pionowo". Trzeba wziąć pod uwagę że kompas jako element mechaniczny ogranicza ruch igły i umożliwia jej obrót tylko wokół jednej osi. Dlatego zmieniając jego orientację (nie położenie), będzie wskazywał trochę inaczej - inaczej będą rozkładać się siły na niego oddziałujące. A siła która oddziałuje na igłę składa się dwóch sił - jedna pochodzi od składowej pionowej a druga od składowej poziomej. Zmieniając orientację kompasu zmieniasz kierunek wzdłuż którego na kompas może oddziaływać siła. Teraz po odpowiednich przekształceniach można określić wektor siły która działa na igłę (i w którego skład wchodzą siły pochodzące od obu pól). W odpowiednim ułożeniu kompasu będziesz mógł w stanie określić kąt który jest nazywany inklinacją magnetyczną, czyli w uproszczeniu kąt pod którym pole magnetyczne oddziałuje na igłę kompasu. Np. będąc nad biegunem magnetycznym ziemi "które jest źródłem pola magnetycznego" (pod nami) kąt ten będzie równy 90 stopni - igła będzie wskazywać pion. Będąc na równiku gdzie "pole magnetyczne jest płaskie" igła będzie wskazywać na horyzont (0 stopni). To jest tak w uproszczeniu, i z pominięciem wielu kwestii oraz uproszczeniem zagadnienia. U nas w Polsce ten kąt powinien wynosić gdzieś pomiędzy 60 a 70 stopni (nie pamiętam dokładnie), wikipedia mówi że 66 stopni. Oczywiście przy nawigowaniu lokalnym wpływ inklinacji można pominąć (przez lokalne rozumiem sytuację że inklinacja zmienia się w wąskim zakresie), o tyle przy nawigowaniu globalnym już trzeba to uwzględnić by prawidłowo wyznaczać kierunek.
  5. 2 punkty
    Po pierwsze: Za wiele to nie mówi. Jaka moc tych silników? Jaki typ silnika? Można trafić we wkrętarkach silniki BLDC więc wysterowanie może nie być takie proste. Do tego jaki będzie pobór prądu przez silnik w momencie maksymalnego obciążenia? Mając tą wiedzę można myśleć dalej - czyli zdecydować jaki mostek można użyć. Ogólnie mostki h można podzielić na 3 typu: -scalone (z driverem) - takim można sterować bezpośrednio z jakiegoś mikrokontrolera. Oczywiście trzeba zwrócić uwagę czy będzie napięciowo kompatybilny z tym układem. Co do samych mostków to można je określić jako mostki małej mocy (małych prądów), mogą mieć wbudowane jakieś obwody zabezpieczające itp. -scalone (bez driverów) - tutaj nie wysterujesz (w większości przypadków) tego mostka z mikrokontrolera. Musi być pomiędzy nim a prockiem driver. Zasadniczo bez zabezpieczeń (poza diodami na "wyjściu"). Na większe prądy od tych scalonych z driverem ale wymaga dodatkowego układu. Często dostępne jako półmostki (jedna para tranzystorów push-pull) lub jako kilka takich półmostków w obudowie, więc zasadniczo są "elastyczniejsze" w użyciu mimo potrzeby użycia dodatkowych elementów, a ze względu na elastyczność są często wybierane do silników BLDC lub podobnych. -mostki dyskretne - budowane na "gołych" tranzystorach. Mogą być na znaczne prądy, ale wymagają dużo miejsca i dodatkowych elementów. Jeśli chcesz mieć na większe prądy to nie wysterujesz tego z mikrokontrolera - potrzebny będzie driver do tranzystorów albo dodatkowe tranzystory. Żeby dobrać jaki mostek będzie odpowiedni musisz rozważyć "za i przeciw" każdemu z uwzględnieniem warunków w jakich ma docelowo pracować. Co do uzyskania płynnego sterowania to nie. Nie uzyskasz go w zakresie 0-255. Silniki nie są elementami liniowymi, i w ten sposób nim nie wysterujesz. Przy ustawieniu "1" silnik najpewniej nie ruszy (zakładam że oczekiwane byłyby bardzo małe obroty). Tak samo może być i przy "100" i przy "150". Wszystko zależy od tego jaki masz silnik. W ogólności ustawiając tą wartość, sterujesz energią jaką dostarczasz do silnika. By silnik zaczął się kręcić to energia dostarczona musi być większa od tej, jaką silnik potrzebuje by ruszyć z miejsca (albo przyspieszyć). Musi więc to być energia która będzie energią większą od wszystkich oporów dla ruchu, które ma silnik, czyli opory toczenia, bezwładność i opory które na silnik oddziałują przez wał silnika (czyli reszta układu napędowego, która "nie będzie chciała by silnik się ruszył"). I te opory trzeba "brutalnie przełamać" dostarczając odpowiednią dawkę energii. Do tego silniki mają charakterystyki nielinowe, więc nawet jak już ruszy to możesz nie uzyskach takiego samego wzrostu prędkości wału przy zmianie z np. ze 160 na 180 jak przy zmianie ze 220 na 240. Tutaj jednak dużo zależy od tego jaki mostek jest używany i jak zorganizowany jest cały układ sterowania silnikiem. Można wszakże uzyskać sterowanie liniowe na wiele różnych sposobów, ale to już bardziej zaawansowane zagadnienie niż na post na forum.
  6. 2 punkty
    Pole magnetyczne ziemi można podzielić (w uproszczeniu) na dwie składowe: pionową i poziomą. Składowa pozioma to składowa która oddziałuje na obiekty poruszające się na płaszczyźnie równoległej do ziemi. Składowa pionowa to składowa która oddziałuje na obiekty poruszające się pionowo w górę i w dół. Obie te składowe tworzą pole magnetyczne ziemi. To wszystko co napisałem to jest oczywiście w dużym uproszczeniu i niezbyt dokładnie zobrazowane Ale wyniki wyszły ci nieprawidłowe; składowa pionowa powinna być 2.5 raza większa od składowej poziomej (50 mikro tesli wobec 20 mikro tesli).
  7. 2 punkty
    tutaj są screeny z instrukcji + pdf z instrukcja tego modelu, ja podłączyłem serwomechanizm z tym długim axelm co wychodzi z ukłądu kierowniczegona screenach i w zasadzie bardziej go nie przerabiałem - wadą tego jest zębatka liniowa (chyba tak to się nazywa) w połaczeniu z kołem zębatym które ma luzy i to powoduje że pojazd znosi albo sam skręca. 6112296 (1).pdf
  8. 2 punkty
    1) Prolog Cześć, dzisiaj opiszę wam mój projekt inżynierski w którym budowałem model autonomicznego pojazdu. W ramach pracy dyplomowej zaprojektowałem uproszczony model autonomicznego pojazdu. Model przystosowany jest do poruszania się w prostym środowisku testowym, symulującym prawdziwe otoczenie. Mój model wyposażony jest w kamerę, pozwalającą na pozyskiwanie informacji o otoczeniu. Obraz z kamery jest źródłem danych dla zaimplementowanej sieci neuronowej, która odpowiada za podejmowanie decyzji o kierunku przemieszczania się pojazdu. Całość pracy zawiera opis poszczególnych etapów tworzenia modelu, projektowanie architektury, implementacje oraz uczenie jednokierunkowych sieci neuronowych do prawidłowego działania. W projekcie użyłem Raspberry Pi, w którym została zaimplementowana sieć neuronowa stworzona w języku Python oraz Arduino odpowiedzialne za sterowanie podzespołami. Rozwiązanie zaproponowane w pracy opiera się szeregu transformacji obrazu za pomocą biblioteki OpenCV w celu ekstrakcji cech tak, aby sieć neuronowa otrzymywała tylko najistotniejsze informacje na podstawie których podejmie decyzje. 2) Wykorzystane elementy: Raspberry Pi B+ (chociaż lepsza była by Raspberry Pi 3b+) Raspberry Pi Cam 8Mpx Lego 42037 Lego Motor M Serwomechanizm SG90 (wymagało modyfikacji) Arduino UNO Rev3 Konwerter poziomów logicznych 2x18650 z rozbiórki laptopów + koszyk L298N - dwukanałowy sterownik silników - moduł 12V/2A 3) Przebieg Prac Praca nie determinowała typu modelu jaki zostanie opisany w pracy a jej głównym celem miało być czy implementacja w prosty sposób funkcji takich jak jazda na wprost, po łuku, skręt czy poruszanie się po okręgu jest możliwa do implementacji wykorzystując sieci neuronowe i wiedzę wyniesioną z toku studiów. W Pierwszej kolejności zrobiłem małe rozeznanie co do możliwości jakie mogłem wybrać i z grubsza można było je podzielić na 2 rodzaje: a) fizyczne - do których zaliczamy np przerobienie realnie istniejącego samochodu osobowego lub modelu pojazdu zdalnie sterowanego RC lub inne tego typu konstrukcje: b) software-owe - w skład których wchodzą takie propozycje jak: dedykowane symulatory, gry komputerowe (symulujemy wtedy klawisze które normalnie naciska gracz) lub własnoręcznie napisane programy do tego celu, np napisane w matlabie lub specjalna "gra" wykorzystana w tym celu. W moim przypadku realizowałem to w pojedynkę i ograniczały mnie dwa aspekty takie jak czas wykonania, koszt który musiał bym ponieść, oraz zasób wiedzy jaki trzeba było by do tego użyć dlatego musiałem znaleźć swojego rodzaju złoty środek którym był fizyczny model (bardziej namacalny) w pomniejszeniu czyli Model RC, ale ze nie posiadam żadnego modelu RC to wykorzystałem zestaw Lego 40237. 4) Hardware Podstawą pojazdu jest już wcześniej wspomniany zestaw Lego 42037 który posiada pewne braki i w tym rozdziale należało zabawkę z lego dostosować do potrzeb projektu. Głównym problemem był brak napędu oraz zdalnego sterowania, o ile z napędem na tylną oś poradziłem sobie bardzo szybko (były już w modelu półosie, dyferencjał i wał) i wystarczyło wstawić w odpowiednie miejsce kilka klocków i silnik Lego M to z układem kierowniczym trzeba było więcej się nagimnastykować. Aby przenie koła wprawić "w ruch" trzeba było znaleźć miejsce na serwomechanizm + zintegrować go z istniejącym układem kierowniczym, dodatkowym problemem był fakt że standardowe serwo ma "wyjście" na orczyk/ wieloklin) al układ kierowniczy lego był zakończony Axlem. Nie chciałem też ingerować i niszczyć klocków dlatego wykonałem nieinwazyjny adapter i skleiłem klejem na gorąco odpowiednio docięty orczyk z klockami które miały otwór na axle. W ten oto sposób nasza podstawa ma wyprowadzone 2 zestawy przewodów - jeden do Silnika napędowego a drugi do serwomechanizmu połączonego z układem napędowym. 5) Elektronika Teraz czas na elektronikę... która jest bardzo prosta bo w zasadzie sygnały sterujące musimy przesłać do 2 komponentów - silnika oraz serwa. W pierwotnym zamyśle było podłączenie bezpośrednio Raspberry Pi do tych 2 komponentów ale wiedziałem że "nie będzie czasu" na generowanie PWM softwareowo dla serwa + dla silnika napędowego dlatego zostało dołożone Arduino które potrafi to robić sprzętowo i odciąży Raspbery Pi od tego zadania. Zyskałem na tym niewielki wzrost skomplikowania elektroniki i oszczędziłem moc obliczeniową w Raspberry Pi. Z kolei silnik napędowy wymagał zastosowania "jakiegoś" mostka H aby nie upalić Raspberry bo wbrew pozorom Silnki z lego potrafią pobierać znaczącą ilość prądu ( więcej info można znaleźć tutaj ) dlatego wybór padł na wcześniej wymieniony gotowy moduł dwukanałowego (zostały zmostkowane oba kanały) mostka H - wystarczy teraz podać tylko odpowiedni sygnał PWM do mostka H i już mamy możliwość płynnej kontroli nad prędkością modelu. Ostatnim etapem było zestawienie komunikacji po porcie szeregowym Arduino z Raspberry Pi za pomocą portu szeregowego i w tym wypadku. Takie połączenie wymaga zastosowania konwertera poziomów logicznych gdyż Raspberry Pi toleruje tylko 3V3 volta a arduino daje 5V - gdyby tego nie było mogło by dojść do uszkodzenia Rarspberry Pi 6) Software I teraz to co tygryski lubią najbardziej - programowanie i tutaj jest podział na 2 części (ale nie mogę wrzucić tutaj kodów źródłowych) a) Arduino Dla Arduino został napisane proste API (ASCII) sterowane przez raspberry - oferowało zestaw prostych funkcji takich jak: - Ustaw silnik na x PWM (zakres 0-255) - Ustaw serwo na x PWM ( 0 - prawo, 90 - prosto, 180 - lewo) - START - Po tej komendzie można było uruchomić pojazd - STOP - powodowała zatrzymanie silnika i ustawienie serwa na 90 stopni (przygotowanie do jazdy na wprost) b) Raspberry Pi Zasada działania tego modelu wykorzystywała sieci neuronowe i nauczanie pod nadzorem nauczyciela ( w skrócie mamy 2 rodzaje uczenia sieci neuronowych - z wykorzystaniem nauczyciela czyli dajemy jakieś dane uczące, potem sprawdzamy na części danych kontrolnych i korygujemy tak długo aż osiągniemy dobre rezultaty i na koniec testujemy na nigdy nie używanych danych, same dane dzielimy w stosunku 4-1-1. Druga opcja to bez nauczyciela i sieć musi nauczyć się sama i jest to o wiele bardziej skomplikowane). Uproszczony schemat działania programu: Aby to działało musimy zaprojektować sieć ( u mnie rozważyłem kilka przypadków) i jest to zależne od ilości wejść i tego co chcemy uzyskać na wyjściu czyli sygnał sterujący w najprostszej wersji może to wykorzystywać kilka neuronów a najbardziej skomplikowane mogą ich mieć dziesiątki tysięcy ( w różnych warstwach) jednak korzystając z Raspbery Pi mamy ograniczą moc obliczeniową i musiałem ułatwić analizę i pracę sieci. Dlatego dokonałem ekstrakcji danych z obrazu i wstępnego przetworzenia w OpenCV gdzie pozyskuje informacje o położeniu linii drogi którą ma podążać: Idąc od lewej - obraz widziany przez kamerę, dalej sektory które obserwujemy aby dokonać analiz "ucieczki linii", trzeci obrazek to binaryzacja i wykrycie gdzie aktualnie znajduje się linia i jak "ucieka" aby można było określić w którą stronę należy skręcić aby jechać prosto. Dzięki temu na wejściu sieci neuronowej podajemy jedynie 2 parametry (położenie lewej i położenie prawej linii) co znacząco ułatwia obliczenia i projekt sieci. Mając te informacje zbieramy dane z przejazdów i zachowania linii podczas konkretnych manewrów np jazda na wprost, po łuku itp. I zapisujemy do pliku - co ważne w tym momencie sterujemy robotem ręcznie i od naszej precyzji sterowania zależeć będa w dużej mierze efekty jakie uzyskamy. Po zebraniu danych możemy przejść dalej. Uczenie sieci: Realizowałem w matlabie i toolboxie z sieciami neuronowymi i tam testowałem jak wyglądają efekty uczenia a następnie eksprtowałem sieć (sieć to tak naprawdę liczby które decydują o "wadze" neuronu poszczególnego) do własnej implementacji w pythonie i testowałem w realu co było pracochłonne. I tak aż do skutku i poprawiałem błędy aż do uzyskania efektu zadowalającego . Na koniec zostały przeprowadzone eksperymenty jak sieć radzi sobie z poszczególnymi testami. 7) Co bym zrobił inaczej W wersji 2.0 lub po prostu gdybym zaczął robić projekt od nowa zmienił bym niestety dosyć dużo widząc jakie braki / niepotrzebne problemy napotkałem na drodze: Rozwiązanie z modelem było dobre - jednak lepiej było do tego celu wykorzystać nie lego a model RC z uwagi na łatwiejszą integrację i o wiele mniejsze luzy w układzie np kierowniczym co generowało duże odchyłki a także dużo większą sztywność konstrukcji i spasowanie. Zastosowanie wydajniejszego SBC np nVidia Jetson lub nawet przenieść to na jakiś iCore desktopowy co zapewni wielokrotnie większą moc obliczeniową Zastosowanie kilku kamer najlepiej czarno białych + doświetlanie IR co pozwoliło by na działanie np o zmroku Wykorzystanie np biblioteki TensorFlow a nie własnej implementacji SN ( skrócenie czasu pisania i eliminiacja ewentualnych błędów z implementacją sieci) Ps. Ciężko opisać wszystkie zagadnienia związane z budową tego modelu w 1-2 kartkach A4 i tak aby nie zanudzić kogoś szczegółami - mam nadzieje że opis nie jest zbyt lakoniczny ale też nie przesadziłem z dokładnością. Może kiedyś powstanie wersja poprawiona to udostępniona szerszy i dokładniejszy opis.
  9. 2 punkty
    Może nawiasy by się przydały przy blk(), tak samo blke() ?
  10. 2 punkty
  11. 2 punkty
  12. 2 punkty
    Cześć, złącze bramka-źródło ma pewnie pewną pojemność (która się ładuje), a ponieważ przez to złącze praktycznie nie płynie prąd na bramce utrzymuje się dodatnie (względem źródła) napięcie. Spróbuj podłączyć jakąś małą rezystancję pomiędzy bramkę a źródło (masę), aby rozładować tą pojemność i daj znać jak układ na to reaguje. Możesz też spróbować przesymulować ten układ na jakimś symulatorze (np. on-line). Pozdrawiam
  13. 1 punkt
    @Treker Warto zwrócić. Dla przykładu, przede mną stoi NAS zbudowany na Odroidzie. O ten NAS . Ma przewagę nad podobnymi wynalazkami zrobionymi na RPi lub BananaPi, że USB3.0 daje prosty i szybki transport z dysków SCSi, a Gigabit Ethernet posyła to z pełną prędkością dalej.
  14. 1 punkt
    @bk20 słusznie, gratuluję czujności i dziękuję za zgłoszenie - już poprawione
  15. 1 punkt
    Super projekt! Mógłbyś bardziej opisać albo porobić fotki układu kierowniczego? Też mam robota na konstrukcji lego i właśnie oś skrętna to pięta achillesowa
  16. 1 punkt
    Może ale raczej tak nie będzie. Solidny postęp mamy od czasów rewolucji przemysłowej. Takie same wątpliwości były gdy ludzie masowo przestawali pracować na roli, gdy tkaczy zastępowano maszynami tkackimi, gdy ludzi przestawano uczyć obsługi suwaka logarytmicznego.
  17. 1 punkt
  18. 1 punkt
  19. 1 punkt
  20. 1 punkt
  21. 1 punkt
  22. 1 punkt
    Dokładnie tak, dlatego do precyzyjnego odmierzania czasu należy korzystać z timerów i przerwań. W twoim programie czas wykonywania przerwania dodaje się do _delay_ms() i w rezultacie jedna dioda mruga wolniej. Proponuję też zajrzeć sobie do pliku *.lss po kompilacji i policzyć takty wykonywanych instrukcji w jednym i drugim przypadku wtedy będzie wszystko jasne zupełnie. Może okazać się również, że implementacja własnej wstawki asm będzie bardziej optymalnym rozwiązaniem niż kod wyprodukowany przez kompilator ale to kwestia wymagań dla konkretnego przypadku. Owocnej nauki.
  23. 1 punkt
    https://forbot.pl/forum/topic/13529-lernek-zabawka-edukacyjna-dla-mlodszego-brata/
  24. 1 punkt
    Witam dzisiaj chciałbym Wam pokazać sterownik do rolet zewnętrznych mojego autorstwa. Silnik takiej rolety zasilany jest napięciem 230V. Wychodzą z niego trzy kable: neutralny fazowy 1 (odpowiada za ruch rolety w górę) fazowy 2 (odpowiada za ruch rolety w dół) Elementy jakie wykorzystałem przy budowie to: Tranzystor NPN w celu wzmocnienia sygnału z ESP Zasilacz HI-Link 5V Dwa przekaźniki Tact switch Wemos D1 mini Dioda prostownicza Rezystory Bezpieczniki wraz z gniazdami Konektorki Płytkę pcb zaprojektowałem w programie Fritzing Była to moja pierwsza płytka stworzona w tym programie Następnie metodą termotransferu przeniosłem toner z wydrukowanej kartki na płytkę pcb po czym ją wytrawiłem. Po trawieniu przy pomocy pasty lutowaniczej Bisan oraz opalarki zacynowałem ścieżki. Płytka nie wygląda profesjonalnie ale działa Gdy powierciłem otwory zacząłem lutować elementy. Gotowa płytka prezentuję się w następująco: Z racji bezpieczeństwa płytka została umieszczona w puszce nadtynkowej. Dodatkowo jest możliwość podpięcia fizycznego przycisku do podnoszenia i opuszczania rolety. Aktualnie pracuję nad nową wersją płytki na której znajdą się triaki i optotriaki zamiast przekaźników oraz sam moduł ESP8266 STEROWANIE Komunikacja z modułem odbywa się po przez protokół HTTP metody Get i Post. Podczas prac nad nową wersją stworzyłem przeglądarkowy interface (jest on zaimplementowany w ESP) można w nim skalibrować czas podnoszenia i opuszczania rolety (ważne te dwa czasy są różne !) zmienić sieć wi-fi do której jest podpięty sterownik zmienić hasło do logowania oraz znaleźć takie informacje jak ustawiony czas podnoszenia i opuszczania rolety, aktualny procent zamknięcia oraz czas jaki upłynął od włączenia układu. Dodatkowo stworzyłem sobie aplikacje mobilną w której mogę ustawić harmonogram podnoszenia i opuszczania rolety oraz dodałem suwak za pomocą którego mogę ustawić procent zamknięcia rolety. Gdy uda mi się skończyć wersję drugą płytki wrzucę ją tutaj wraz z kodem.
  25. 1 punkt
Tablica liderów jest ustawiona na Warszawa/GMT+01:00
×