Spisu treści:

ROŚLIN ROBOT: 10 kroków
ROŚLIN ROBOT: 10 kroków

Wideo: ROŚLIN ROBOT: 10 kroków

Wideo: ROŚLIN ROBOT: 10 kroków
Wideo: Jesienne cięcie róż. Dzielenie roślin. Ułatw sobie pracę z inteligentnym robotem EcoFlow Blade 2024, Lipiec
Anonim
Image
Image
ROBOT ZAKŁADOWY
ROBOT ZAKŁADOWY

Każdy lubi mieć rośliny w domu, ale czasami w naszym zabieganym życiu nie znajdujemy czasu, aby dobrze się nimi zaopiekować. Z tego problemu wpadliśmy na pomysł: dlaczego nie zbudować robota, który by się tym za nas zatroszczył?

Ten projekt składa się z robota roślinnego, który sam o siebie dba. Roślina jest zintegrowana z robotem i będzie mogła sama podlewać i znajdować światło, omijając przeszkody. Było to możliwe dzięki zastosowaniu kilku czujników na robocie i instalacji. Ta instrukcja ma na celu poprowadzić Cię przez proces tworzenia robota roślinnego, abyś nie musiał codziennie martwić się o swoje rośliny!

Projekt ten jest częścią Bruface Mechatronics i został zrealizowany przez:

Mercedes Arévalo Suarez

Daniel Blanquez

Baudouin Cornelis

Kaat Leemans

Marcos Martínez Jiménez

Bazylia Thiss

(Grupa 4)

Krok 1: LISTA ZAKUPÓW

LISTA ZAKUPÓW
LISTA ZAKUPÓW
LISTA ZAKUPÓW
LISTA ZAKUPÓW
LISTA ZAKUPÓW
LISTA ZAKUPÓW

Oto lista wszystkich produktów, których będziesz potrzebować do zbudowania tego robota. Do każdej podkreślonej sztuki dostępny jest link:

Drukowane w 3D silniki obsługują X1 (kopiowanie w 3D)

Drukowane w 3D Koła + połączenie koło-silnik X2 (kopiuj w 3D)

Baterie AA Nimh X8

Rolka papieru ściernego X1

Arduino Mega X1

Kółko kulkowe X1

Uchwyt baterii X2

Deska do krojenia chleba do testów X1

Płytka prototypowa do lutowania X1

Silniki prądu stałego (z enkoderem) X2

Zawiasy X2

Higrometr X1

Rezystory zależne od światła X3

Swetry męsko-męskie i damsko-męskie

Osłona silnika X1

Posadź X1 (to zależy od Ciebie)

Doniczka X1

Wspornik roślin X1 (druk 3D)

Plastikowa rurka X1

Rezystory o różnych wartościach

Papier do zdrapywania X1

Śruby

Czujniki Sharp X3 (GP2Y0A21YK0F 10-80 cm)

Przełącznik X1

Pompa wody X1

Zbiornik na wodę (mały Tupperware) X1

Przewody

Należy pamiętać, że te wybory są wynikiem ograniczeń czasowych i budżetowych (3 miesiące i 200 €). Inne wybory można dokonać według własnego uznania.

WYJAŚNIENIE RÓŻNYCH WYBORÓW

Arduino Mega zamiast Arduino Uno: Po pierwsze, powinniśmy również wyjaśnić powód, dla którego w ogóle używaliśmy Arduino. Arduino to platforma do prototypowania elektronicznego typu open source, która umożliwia użytkownikom tworzenie interaktywnych obiektów elektronicznych. Jest bardzo popularny zarówno wśród ekspertów, jak i nowicjuszy, co przyczynia się do znalezienia wielu informacji na jego temat w Internecie. Może się to przydać, gdy masz problem z projektem. Wybraliśmy Arduino Mega zamiast Uno, ponieważ ma więcej pinów. W rzeczywistości, dla liczby czujników, których używamy, Uno nie oferowało wystarczającej liczby pinów. Mega jest również potężniejszy i może być pomocny, jeśli dodamy kilka ulepszeń, takich jak moduł WIFI.

Akumulatory Nimh: Pierwszym pomysłem było użycie akumulatorów LiPo, jak w wielu projektach robotycznych. LiPo mają dobrą szybkość rozładowania i można je łatwo ładować. Ale szybko zdaliśmy sobie sprawę, że LiPo i ładowarka są za drogie. Jedyne inne baterie nadające się do tego projektu to Nimh. Rzeczywiście są tanie, ładowalne i lekkie. Do zasilenia silnika będziemy potrzebować 8 z nich, aby osiągnąć napięcie zasilania od 9,6 V (rozładowane) do 12 V (w pełni naładowane).

Silniki prądu stałego z enkoderami: Biorąc pod uwagę główny cel tego siłownika, jakim jest dostarczanie energii obrotowej do kół, wybraliśmy dwa silniki prądu stałego zamiast serwomotorów, które mają ograniczenie kąta obrotu i są przeznaczone do bardziej szczegółowych zadań, w których należy określić położenie dokładnie. Fakt posiadania enkoderów daje również możliwość uzyskania większej precyzji w razie potrzeby. Zauważ, że w końcu nie użyliśmy enkoderów, ponieważ zdaliśmy sobie sprawę, że silniki są dość podobne i nie potrzebowaliśmy robota, aby precyzyjnie podążał po linii prostej.

Na rynku jest wiele silników prądu stałego i szukaliśmy takiego, który pasuje do naszego budżetu i robota. Aby spełnić te ograniczenia, w wyborze silnika pomogły nam dwa ważne parametry: moment obrotowy potrzebny do poruszania robotem oraz prędkość robota (aby znaleźć potrzebne obroty).

1) Oblicz obroty

Ten robot nie będzie musiał przełamywać bariery dźwięku. Aby podążać za światłem lub podążać za kimś w domu, rozsądna wydaje się prędkość 1 m/s lub 3,6 km/h. Do przeliczania na obroty posługujemy się kołami o średnicy 9cm. Obroty są podane przez: obr/min = (60*prędkość(m/s))/(2*pi*r) = (60*1)/(2*pi*0,045) = 212 obr/min.

2) Oblicz maksymalny wymagany moment obrotowy

Ponieważ ten robot będzie ewoluował w płaskim środowisku, maksymalny wymagany moment obrotowy jest tym, który uruchomi robota w ruchu. Jeśli weźmiemy pod uwagę, że waga robota wraz z instalacją i każdym komponentem wynosi około 3 kg i wykorzystując siły tarcia pomiędzy kołami a podłożem możemy łatwo znaleźć moment obrotowy. Biorąc pod uwagę współczynnik tarcia między podłożem a kołami równy 1: Siły tarcia (Fr) = współczynnik tarcia. * N (gdzie N jest ciężarem robota) to daje nam Fr = 1 * 3 * 10 = 30 N. Moment obrotowy dla każdego silnika można znaleźć w następujący sposób: T = (Fr * r)/2 gdzie r jest promień kół więc T = (30*0,045)/2 = 0,675 Nm = 6,88 kg cm.

Oto cechy silnika, który wybraliśmy: przy 6V 175 obr/min i 4 kg cm przy 12V 350 obr/min i 8 kg cm. Wiedząc, że będzie on zasilany między 9,6 a 12 V poprzez interpolację liniową, wyraźnie widać, że powyższe ograniczenia zostaną spełnione.

Czujniki światła: Wybraliśmy rezystory zależne od światła (LDR), ponieważ ich rezystancja zmienia się gwałtownie wraz ze światłem, a napięcie na LDR można łatwo zmierzyć, stosując stałe napięcie na dzielniku napięcia zawierającym LDR.

Czujniki ostre: służą do omijania przeszkód. Czujniki odległości Sharp są niedrogie i łatwe w użyciu, co czyni je popularnym wyborem do wykrywania obiektów i określania odległości. Zazwyczaj mają one wyższe szybkości aktualizacji i krótsze maksymalne zasięgi wykrywania niż dalmierze sonarowe. Na rynku dostępnych jest wiele różnych modeli o różnych zakresach pracy. Ponieważ służą do wykrywania przeszkód w tym projekcie, wybraliśmy ten o zasięgu działania 10-80 cm.

Pompa wodna: Pompa wodna jest prostą, lekką i niezbyt wydajną pompą kompatybilną z zakresem napięcia silników, aby używać tego samego wyżywienia dla obu. Innym rozwiązaniem zasilania zakładu w wodę było oddzielenie podstawy wody od robota, ale o wiele prostsze jest umieszczenie jej na robocie.

Higrometr: Higrometr to czujnik wilgotności, który należy umieścić w ziemi. Jest to konieczne, ponieważ robot musi wiedzieć, kiedy garnek jest suchy, aby wysłać do niego wodę.

Krok 2: PROJEKT MECHANICZNY

KONSTRUKCJA MECHANICZNA
KONSTRUKCJA MECHANICZNA
KONSTRUKCJA MECHANICZNA
KONSTRUKCJA MECHANICZNA
KONSTRUKCJA MECHANICZNA
KONSTRUKCJA MECHANICZNA
KONSTRUKCJA MECHANICZNA
KONSTRUKCJA MECHANICZNA

Zasadniczo projekt robota będzie składał się z prostokątnego pudełka, z trzema kołami na dole i pokrywą otwieraną na górze. Roślina zostanie umieszczona na górze ze zbiornikiem wodnym. Doniczka jest umieszczana w mocowaniu doniczki przykręconym do górnej deski robota. Zbiornik na wodę jest trochę zarysowany na górnej desce robota, a pompa wody jest również zarysowana na dnie zbiornika na wodę, więc wszystko można łatwo usunąć podczas napełniania Tupperware wodą. W pokrywie zbiornika zrobiony jest mały otwór ze względu na rurkę z wodą wchodzącą do doniczki i zasilanie pompy wchodzącej do pudełka. W ten sposób wykonywany jest otwór w górnej desce skrzynki i kable higrometru również przechodzą przez ten otwór.

Po pierwsze, zależało nam na atrakcyjnym wyglądzie robota, dlatego zdecydowaliśmy się schować część elektroniczną w pudełku, pozostawiając tuż poza rośliną i wodą. Jest to ważne, ponieważ rośliny są częścią dekoracji domu i nie powinny wizualnie wpływać na przestrzeń. Elementy w pudełku będą łatwo dostępne przez górną pokrywę, a boczne osłony będą miały niezbędne otwory, dzięki którym łatwo będzie np. włączyć robota lub jeśli chcemy podłączyć Arduino do laptopa aby go ponownie zaprogramować.

Komponenty w pudełku to: Arduino, sterownik silnika, silniki, LDR, uchwyty pali, płytka stykowa i zawiasy. Arduino montuje się na małych słupkach, dzięki czemu jego spód nie jest uszkodzony, a sterownik silnika montowany jest na górze Arduino. Silniki są przykręcane do mocowań silników, a mocowania silników są następnie przykręcane do dolnej deski puszki. LDR są lutowane na małym kawałku płytki stykowej. Do tej płytki stykowej przyklejono deski mini woods, aby przykręcić je do bocznych powierzchni robota. Z przodu znajduje się jeden LDR, jeden po lewej i jeden po prawej stronie, dzięki czemu robot może znać kierunek przy największej ilości światła. Uchwyty stosów są porysowane na dolnej powierzchni pudełka w celu łatwego ich usunięcia i zmiany stosów lub ich naładowania. Następnie płytkę stykową przykręca się do dolnej deski za pomocą małych trójkątnych słupków z otworami w kształcie narożnika płytki stykowej, aby ją podeprzeć. Na koniec zawiasy są przykręcane na tylnej i górnej ścianie.

Na przedniej powierzchni, trzy ostre ostrza będą bezpośrednio przykręcone, aby jak najlepiej wykrywać i omijać przeszkody.

Choć projekt fizyczny jest ważny, nie możemy zapomnieć o części technicznej, budujemy robota i powinien on być praktyczny i w miarę możliwości optymalizować przestrzeń. To jest powód, aby wybrać prostokątny kształt, był to najlepszy sposób na ułożenie wszystkich elementów.

Wreszcie, do ruchu, urządzenie będzie miało trzy kółka: dwa standardowe zmotoryzowane z tyłu i jedno kółko kulkowe z przodu. Są one wyświetlane w napędzie trójkołowym, konfiguracji, sterowaniu przednim i tylnym.

Krok 3: PRODUKCJA CZĘŚCI

PRODUKCJA CZĘŚCI
PRODUKCJA CZĘŚCI
PRODUKCJA CZĘŚCI
PRODUKCJA CZĘŚCI
PRODUKCJA CZĘŚCI
PRODUKCJA CZĘŚCI

Wygląd fizyczny robota można zmienić w zależności od zainteresowania. Dostarczone są rysunki techniczne, które mogą być dobrym uziemieniem podczas projektowania własnego.

Części wycinane laserowo:

Wszystkie sześć części składających się na obudowę robota zostało wyciętych laserowo. Użyty do tego materiał pochodzi z recyklingu drewna. To pudełko może być również wykonane z pleksiglasu, który jest nieco droższy.

Części drukowane w 3D:

Dwa standardowe koła, które są umieszczone z tyłu robota, zostały wydrukowane w 3D w PLA. Powodem jest to, że jedynym sposobem na znalezienie kół spełniających wszystkie wymagania (dopasowanie silników prądu stałego, rozmiar, waga…) było zaprojektowanie ich samodzielnie. Ze względów budżetowych wydrukowano również fiksacje motoryczne. Następnie wydrukowano w 3D wspornik doniczki, słupki podtrzymujące Arduino i narożniki podtrzymujące płytkę stykową, ponieważ potrzebowaliśmy konkretnego kształtu pasującego do naszego robota.

Krok 4: ELEKTRONIKA

ELEKTRONIKA
ELEKTRONIKA
ELEKTRONIKA
ELEKTRONIKA
ELEKTRONIKA
ELEKTRONIKA

Czujniki ostre: Czujniki ostre mają trzy szpilki. Dwa z nich służą do żywienia (Vcc i Ground), a ostatni to sygnał mierzony (Vo). Do żywienia mamy napięcie dodatnie, które może wynosić od 4,5 do 5,5 V, więc użyjemy 5 V z Arduino. Vo zostanie podłączony do jednego z pinów analogowych Arduino.

Czujniki światła: czujniki światła potrzebują małego obwodu, aby mogły działać. LDR jest połączony szeregowo z rezystorem 900 kOhm, aby utworzyć dzielnik napięcia. Masa jest podłączona do pinu rezystora nie podłączonego do LDR, a 5V Arduino jest podłączone do pinu LDR nie podłączonego do rezystora. Pin rezystora i LDR połączone ze sobą jest podłączony do pinu analogowego Arduino w celu pomiaru tego napięcia. To napięcie będzie się wahać od 0 do 5 V, przy czym 5 V odpowiada pełnemu światłu i bliskie zeru odpowiada ciemności. Następnie cały obwód zostanie przylutowany na małym kawałku płytki stykowej, która zmieści się w bocznych deskach robota.

Baterie: Baterie składają się z 4 stosów o napięciu od 1,2 do 1,5 V, a więc od 4,8 do 6 V. Ustawiając szeregowo dwa uchwyty do pali, mamy od 9,6 do 12 V.

Pompa wodna: Pompa wodna posiada złącze (gniazdo zasilania) tego samego typu co zasilanie Arduino. Pierwszym krokiem jest odcięcie połączenia i obnażenie przewodu, aby mieć przewód uziemiający i przewód dodatniego napięcia. Ponieważ chcemy sterować pompą, połączymy ją szeregowo z tranzystorem sterowanym prądem używanym jako przełącznik. Następnie dioda zostanie umieszczona równolegle z pompą, aby zapobiec prądom wstecznym. Dolna noga tranzystora jest podłączona do wspólnej masy Arduino/baterii, środkowa do cyfrowego pinu Arduino z rezystorem 1kOhm połączonym szeregowo w celu przekształcenia napięcia Arduino w prąd, a górna noga do czarnego kabla pompa. Następnie czerwony kabel pompy podłączamy do dodatniego napięcia akumulatorów.

Silniki i osłona: Osłona musi być przylutowana, jest dostarczana bez lutowania. Po wykonaniu tej czynności jest on umieszczany na Arduino poprzez przypięcie wszystkich nagłówków osłony do pinów Arduino. Nakładka będzie zasilana bateriami, a następnie będzie zasilać Arduino, jeśli zworka jest założona (pomarańczowe piny na rysunku). Uważaj, aby nie założyć zworki, gdy Arduino jest zasilane w inny sposób niż tarcza, ponieważ Arduino wtedy zasila tarczę i może spalić połączenie.

Płytka prototypowa: Wszystkie komponenty będą teraz lutowane na płytce prototypowej. Masa jednego uchwytu stosu, Arduino, sterownika silnika i wszystkich czujników zostanie przylutowana w tym samym rzędzie (na naszej płytce stykowej rzędy mają ten sam potencjał). Następnie czarny kabel drugiego uchwytu pala zostanie przylutowany w tym samym rzędzie co czerwony pierwszego uchwytu pala, którego uziemienie jest już przylutowane. Kabel zostanie następnie przylutowany w tym samym rzędzie co czerwony kabel drugiego uchwytu stosu odpowiadającego dwóm szeregowo. Ten kabel będzie podłączony do jednego końca przełącznika, a drugi koniec będzie połączony przewodem przylutowanym na płytce stykowej w wolnym rzędzie. Do tego rzędu będzie przylutowany czerwony kabel pompy i zasilanie sterownika silnika (przełącznik nie jest przedstawiony na rysunku). Następnie 5V Arduino zostanie wlutowane w kolejnym rzędzie i napięcie zasilania każdego czujnika będzie wlutowane w tym samym rzędzie. Spróbuj wlutować zworkę na płytce stykowej i zworkę na komponencie, gdy jest to możliwe, aby łatwo je rozłączyć, a montaż elementów elektrycznych będzie łatwiejszy.

Krok 5: PROGRAMOWANIE

PROGRAMOWANIE
PROGRAMOWANIE

Schemat blokowy programu:

Program został utrzymany w dość prosty sposób, używając pojęcia zmiennych stanu. Jak widać na schemacie blokowym, te stany również wywołują pojęcie priorytetu. Robot zweryfikuje warunki w tej kolejności:

1) W stanie 2: Czy roślina ma wystarczającą ilość wody przy funkcji poziom_wilgotności? Jeśli poziom wilgotności zmierzony przez higrometr jest poniżej 500, pompa będzie pracowała do momentu, gdy poziom wilgotności przekroczy 500. Gdy roślina będzie miała wystarczającą ilość wody, robot przejdzie do stanu 3.

2) W stanie 3: Znajdź kierunek z największą ilością światła. W tym stanie roślina ma wystarczającą ilość wody i musi podążać w kierunku z największą ilością światła, unikając przeszkód. Funkcja light_direction podaje kierunek trzech czujników światła, które otrzymują najwięcej światła. Robot będzie następnie sterował silnikami, aby podążać w tym kierunku za pomocą funkcji follow_light. Jeśli poziom światła jest powyżej pewnego progu (wystarczające_światło), robot przestaje podążać za światłem, ponieważ ma wystarczająco dużo w tej pozycji (stop_silniki). Aby omijać przeszkody poniżej 15 cm podczas podążania za światłem, wdrożono funkcję przeszkoda, która zwraca kierunek przeszkody. W celu prawidłowego omijania przeszkód zaimplementowano funkcję Avoid_obstacle. Ta funkcja steruje silnikiem wiedząc, gdzie znajduje się przeszkoda.

Krok 6: MONTAŻ

MONTAŻ
MONTAŻ
MONTAŻ
MONTAŻ
MONTAŻ
MONTAŻ

Montaż tego robota jest całkiem prosty. Większość elementów jest przykręcona do pudła, aby mieć pewność, że zachowają swoje miejsce. Następnie porysowany jest uchwyt do pali, zbiornik na wodę i pompa.

Krok 7: EKSPERYMENTY

Zwykle podczas budowania robota sprawy nie idą gładko. Aby uzyskać doskonały wynik, potrzeba wielu testów, z następującymi zmianami. Oto pokaz procesu robota roślinnego!

Pierwszym krokiem było zamontowanie robota z silnikami, Arduino, sterownikiem silników i czujnikami światła wraz z prototypową płytką stykową. Robot właśnie zmierza w kierunku, w którym zmierzył najwięcej światła. Ustalono próg, aby zatrzymać robota, jeśli ma wystarczająco dużo światła. Ponieważ robot ślizgał się po podłodze, dodaliśmy papier ścierny na koła, aby zasymulować oponę.

Następnie do konstrukcji dodano ostre czujniki, aby próbować omijać przeszkody. Początkowo dwa czujniki zostały umieszczone na przedniej ściance, ale trzeci został dodany pośrodku, ponieważ ostre czujniki mają bardzo ograniczony kąt detekcji. Wreszcie mamy dwa czujniki na końcach robota wykrywające przeszkody po lewej lub prawej stronie i jeden pośrodku, aby wykryć, czy z przodu znajduje się przeszkoda. Przeszkody są wykrywane, gdy napięcie na końcówce przekroczy pewną wartość odpowiadającą odległości 15 cm od robota. Gdy przeszkoda znajduje się na boku, robot omija ją, a gdy przeszkoda znajduje się pośrodku, robot się zatrzymuje. Należy pamiętać, że przeszkody poniżej ostrych krawędzi są niewykrywalne, więc przeszkody muszą mieć określoną wysokość, aby można je było ominąć.

Następnie przetestowano pompę i higrometr. Pompa wysyła wodę tak długo, jak długo napięcie higrometru jest poniżej pewnej wartości odpowiadającej suchemu garnkowi. Wartość ta została zmierzona i określona doświadczalnie poprzez testowanie z suchymi i wilgotnymi roślinami doniczkowymi.

Wreszcie wszystko razem przetestowano. Roślina najpierw sprawdza, czy ma wystarczającą ilość wody, a następnie zaczyna podążać za światłem, omijając przeszkody.

Krok 8: TEST KOŃCOWY

Oto filmy o tym, jak w końcu działa robot. Mam nadzieję, że Ci się spodoba!

Krok 9: CZEGO NAUCZYLIŚMY SIĘ W TYM PROJEKCIE?

Chociaż ogólne opinie na temat tego projektu są świetne, ponieważ wiele się nauczyliśmy, byliśmy dość zestresowani podczas jego tworzenia ze względu na terminy.

Napotkane problemy

W naszym przypadku podczas procesu mieliśmy kilka problemów. Niektóre z nich były łatwe do rozwiązania, na przykład gdy dostawa komponentów się opóźniała, szukaliśmy tylko sklepów w mieście, w których moglibyśmy je kupić. Inne wymagają nieco więcej myślenia.

Niestety nie każdy problem został rozwiązany. Naszym pierwszym pomysłem było połączenie cech zwierząt domowych i roślin, aby uzyskać z każdego to, co najlepsze. Dla roślin, które możemy to zrobić, z tym robotem będziemy mogli mieć roślinę, która ozdobi nasze domy i nie będziemy musieli się nią opiekować. Ale w przypadku zwierząt domowych nie wymyśliliśmy sposobu na symulowanie firmy, którą tworzą. Pomyśleliśmy o różnych sposobach, aby podążać za ludźmi i zaczęliśmy wdrażać jeden, ale nie mieliśmy czasu, aby go dokończyć.

Dalsze doskonalenia

Chociaż bardzo chcielibyśmy dostać wszystko, czego chcieliśmy, nauka z tym projektem była niesamowita. Może z czasem moglibyśmy uzyskać jeszcze lepszego robota. Tutaj proponujemy kilka pomysłów na ulepszenie naszego robota, które być może niektórzy z Was zechcą wypróbować:

- Dodanie diod w różnych kolorach (czerwony, zielony, …), które informują użytkownika, kiedy należy naładować robota. Pomiaru akumulatora można dokonać dzielnikiem napięcia o maksymalnym napięciu 5V przy pełnym naładowaniu akumulatora w celu pomiaru tego napięcia za pomocą Arduino. Następnie zapala się odpowiednia dioda.

- Dodanie czujnika wody, który informuje użytkownika, kiedy należy uzupełnić zbiornik wody (czujnik wysokości wody).

- Stworzenie interfejsu, aby robot mógł wysyłać wiadomości do użytkownika.

I oczywiście nie możemy zapomnieć o celu, jakim jest skłonienie go do obserwowania ludzi. Zwierzęta to jedna z rzeczy, które ludzie kochają najbardziej i byłoby wspaniale, gdyby ktoś mógł osiągnąć, że robot symuluje takie zachowanie. Aby to ułatwić, tutaj przedstawimy wszystko, co mamy.

Krok 10: Jak sprawić, by robot podążał za ludźmi?

Image
Image
Jak sprawić, by robot podążał za ludźmi?
Jak sprawić, by robot podążał za ludźmi?
Jak sprawić, by robot podążał za ludźmi?
Jak sprawić, by robot podążał za ludźmi?

Wymyśliliśmy, że najlepszym sposobem na to będzie użycie trzech czujników ultradźwiękowych, jednego nadajnika i dwóch odbiorników.

Nadajnik

W przypadku nadajnika chcielibyśmy mieć cykl pracy 50%. Aby to zrobić, musisz użyć timera 555, my użyliśmy NE555N. Na zdjęciu widać, jak powinien być zbudowany obwód. Ale będziesz musiał dodać dodatkowy kondensator na wyjściu 3, na przykład 1µF. Rezystory i kondensatory są obliczane według następujących wzorów: (rysunki 1 i 2)

Ponieważ pożądany jest 50% cykl pracy, t1 i t2 będą sobie równe. Tak więc dla nadajnika 40 kHz t1 it2 będą równe 1,25*10-5 s. Gdy weźmiesz C1 = C2 = 1 nF, można obliczyć R1 i R2. Wzięliśmy R1= 15 kΩ i R2= 6,8 kΩ, upewnij się, że R1>2R2!

Kiedy testowaliśmy to w obwodzie na oscyloskopie, otrzymaliśmy następujący sygnał. Skala wynosi 5 µs/działkę, więc w rzeczywistości częstotliwość wyniesie około 43 kHz. (Zdjęcie 3)

Odbiorca

Sygnał wejściowy odbiornika będzie zbyt niski, aby Arduino mógł dokładnie przetworzyć, więc sygnał wejściowy musi zostać wzmocniony. Zostanie to zrobione poprzez wykonanie wzmacniacza odwracającego.

Do opampa użyliśmy LM318N, który zasilaliśmy napięciem 0 V i 5 V z Arduino. Aby to zrobić, musieliśmy podnieść napięcie wokół sygnału, który oscyluje. W tym przypadku logiczne będzie podniesienie go do 2,5 V. Ponieważ napięcie zasilania nie jest symetryczne, musimy również umieścić kondensator przed rezystorem. W ten sposób wykonaliśmy również filtr górnoprzepustowy. Przy wartościach, których użyliśmy, częstotliwość musiała być wyższa niż 23 kHz. Gdy użyliśmy wzmocnienia A=56, sygnał przechodził w nasycenie, co nie jest dobre, więc zamiast tego użyliśmy A=18. To nadal będzie wystarczające. (Zdjęcie 4)

Teraz, gdy mamy wzmocnioną falę zatokową, potrzebujemy stałej wartości, aby Arduino mógł ją zmierzyć. Sposobem na to jest wykonanie obwodu detektora szczytów. W ten sposób możemy zobaczyć, czy nadajnik jest dalej od odbiornika lub pod innym kątem niż wcześniej, dzięki stałemu sygnałowi, który jest proporcjonalny do natężenia odbieranego sygnału. Ponieważ potrzebujemy precyzyjnego detektora szczytów, umieszczamy diodę 1N4148 w wtórniku napięcia. Dzięki temu nie mamy strat na diodach i stworzyliśmy diodę idealną. Do opampu użyliśmy tego samego co w pierwszej części układu i z tym samym zasilaniem 0 V i 5 V.

Kondensator równoległy musi mieć wysoką wartość, więc będzie rozładowywał się bardzo wolno i nadal widzimy taką samą wartość szczytową jak wartość rzeczywista. Rezystor też będzie umieszczony równolegle i nie będzie za nisko, bo inaczej rozładowanie będzie większe. W tym przypadku wystarczy 1,5 µF i 56 kΩ. (Zdjęcie 5)

Na zdjęciu widać cały obwód. Gdzie jest wyjście, które trafi do Arduino. A sygnał AC 40 kHz będzie odbiornikiem, którego drugi koniec będzie podłączony do masy. (Zdjęcie 6)

Jak powiedzieliśmy wcześniej, nie mogliśmy zintegrować czujników z robotem. Ale udostępniamy filmy z testów, aby pokazać, że obwód działa. W pierwszym filmie widać wzmocnienie (po pierwszym OpAmpie). Na oscyloskopie jest już offset 2,5V, więc sygnał jest pośrodku, amplituda zmienia się, gdy czujniki zmieniają kierunek. Gdy dwa czujniki są zwrócone do siebie, amplituda zatoki będzie wyższa niż wtedy, gdy czujniki mają większy kąt lub odległość między nimi. Na drugim wideo (wyjście obwodu) widać wyprostowany sygnał. Ponownie, całkowite napięcie będzie wyższe, gdy czujniki są skierowane do siebie, niż gdy nie są. Sygnał nie jest całkowicie prosty z powodu rozładowania kondensatora i ze względu na wolty/działkę. Udało nam się zmierzyć stały sygnał zmniejszający się, gdy kąt lub odległość między czujnikami nie była już optymalna.

Pomysł polegał na tym, aby robot miał odbiornik, a użytkownik nadajnik. Robot mógł sam się włączyć, aby wykryć, w którym kierunku intensywność była najwyższa i mógł iść w tym kierunku. Lepszym sposobem może być posiadanie dwóch odbiorników i podążanie za odbiornikiem, który wykrywa najwyższe napięcie, a jeszcze lepszym sposobem jest umieszczenie trzech odbiorników i umieszczenie ich tak jak LDR, aby wiedzieć, w jakich kierunkach emitowany jest sygnał użytkownika (prosty, lewo czy prawo).

Zalecana: