Popularny post maro1977pl Napisano Marzec 18, 2010 Popularny post Udostępnij Napisano Marzec 18, 2010 Witam. Mam na imię Marek z Węgorzewa. Chciałem pochwalić się moim pierwszym robotem. Robot jest w fazie rozbudowy. Na chwilę obecna nie posiada żadnych czujników elektronicznych. Jego "oczami" są dwa wąsy z wykorzystaniem 2 x SWITCH. Całość elektroniki jest oparta o typowy mikro-kontroler ATmega8. W projekcie wykorzystałem gotową płytkę bazową z ww. kontrolerem który można zakupić na stronie AVT. Czemu ten - ponieważ jest to gotowe rozwiązanie z zasilaniem 5V oszczędnym w prądzie. Oczywiście moduł jest do samodzielnego montażu. Resztę podzespołów już jest mojego wykonania i pomysłu. Napęd stanowią dwa serwomotory przerobione typu TG9e sterowane układem L298N przez PWM z kontrolera. Całość zaprojektowałem z myślą o rozbudowie i z stąd tyle goldpinów. Serwa napędzają dwa gąsienicowe układy jezdne wymontowane z zabawki WALL-E. Elementy zamontowane na płytce drukowanej którą zaprojektowałem i wykonałem osobiście. Trawienie metoda termo - transferową: Efekt finalny (jak na pierwszą płytkę chyba nie tak źle ?) Widok po złożeniu: Wycena projektu: 1. moduł z ATmega8 = 16zł 2. serwa = 24zł 3. elektronika + płytka + wytrawiacz + pisak do korekt = 45zł 4. praca własna ok 200 godz = bezcenne doświadczenia i wrażenia. Wiem że nie jest to projekt bez wad. Więc oczekuję szczerych opinii oraz pytań. Film obrazujący zachowanie się robota: https://www.youtube.com/watch?v=if_4jXwUUMc Program ROBO-1: $regfile = "m8def.dat" 'deklaracja pliku z opisem rejestrów procesora $crystal = 1200000 'deklaracja częstotliwości kwarcu Config Portd.0 = Output Config Portd.1 = Output Config Portd.2 = Output Config Portc.4 = Output Config Portc.5 = Output Config Pinc.0 = Input Set Portc.0 Config Pinc.2 = Input Set Portc.2 Config Pind.3 = Input Set Portd.3 'deklaracje aliasów Led_3 Alias Portd.0 Led_2 Alias Portd.1 Led_4 Alias Portd.2 Led_1 Alias Portc.5 Buzzer Alias Portc.4 Zderzak_p Alias Pinc.0 Zderzak_l Alias Pinc.2 S1 Alias Pind.3 Inputh_1 Alias Portd.7 Inputh_2 Alias Portb.0 Inputh_3 Alias Portd.6 Inputh_4 Alias Portd.5 Config Timer1 = Pwm , Pwm = 8 , Prescale = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down Declare Sub Silniki(byval V_prawa As Integer , Byval V_lewa As Integer) 'deklaracja procedura obsługi silników Buzzer = 1 'włączamy, odczekujemy 1 sekundy, a potem wyłączamy brzęczyk Led_3 = 1 Led_4 = 1 Waitms 800 Buzzer = 0 Wait 1 Led_3 = 0 Led_4 = 0 Do Call Silniki(200 , 200) '2 koła Led_1 = 1 Led_2 = 1 If Zderzak_p = 0 Then Call Silniki(0 , 0) 'stop Led_1 = 0 Led_2 = 0 Waitms 200 Call Silniki( -127 , -127) 'wstecz 2 kola Led_3 = 1 Led_4 = 1 Wait 2 Led_3 = 0 Led_4 = 0 Call Silniki( -127 , 0) 'wstecz prawe Led_3 = 1 Wait 2 Led_3 = 0 End If If Zderzak_l = 0 Then Call Silniki(0 , 0) Led_1 = 0 Led_2 = 0 Waitms 200 Call Silniki( -127 , -127) Led_3 = 1 Led_4 = 1 Wait 2 Led_3 = 0 Led_4 = 0 Call Silniki(0 , -127) Led_4 = 1 Wait 2 Led_4 = 0 End If Loop End Sub Silniki(byval V_prawa As Integer , Byval V_lewa As Integer) 'procedura obsługi silników V_prawa = V_prawa + 0 'korygujemy prawy silnik If V_prawa > 0 Then Pwm1a = V_prawa Inputh_1 = 1 Inputh_2 = 0 Else Pwm1a = -1 * V_prawa Inputh_1 = 0 Inputh_2 = 1 End If V_lewa = V_lewa + 0 'korygujemy lewy silnik If V_lewa > 0 Then Pwm1b = V_lewa Inputh_3 = 1 Inputh_4 = 0 Else Pwm1b = -1 * V_lewa Inputh_3 = 0 Inputh_4 = 1 End If End Sub POZDRAWIAM. 3 Cytuj Link do komentarza Share on other sites More sharing options...
Bobby Marzec 18, 2010 Udostępnij Marzec 18, 2010 Po mojemu mógłbyś skrócić w programie te opóźnienia - co najmniej o połowę. Ogólnie fajna platforma do nauki, ba, nawet bardzo fajna 🙂 Krańcówki zamieniłbym na cyfrowe sharpy, co prawda nie są zbyt tanie (minimum 28zł/szt) lub przynajmniej fototranzystory + diody ir. Skoro radzisz sobie cłkiem nieźle z wytrawianiem płytek itd, może fajnie byłoby pokusić się o bootloader na usb (usbasploader, projekt metaboard może być pomocny) - wtedy programatora używałbyś tylko raz, potem już tylko usb 🙂 Mógłbyś podać linka do tego modułu? Zajmowałeś się wcześniej elektroniką (lutowanie małych smd wskazuje na to, że tak)? Skąd masz gąsienice (pewnie zabawka, jeśli nie, to możesz podać źródło)? Cytuj Link do komentarza Share on other sites More sharing options...
Dawid _ amator Marzec 18, 2010 Udostępnij Marzec 18, 2010 ^ Autor postu napisał, że gąsienice pochodza z zabawki 🙂 A plytka w SMD kupiona w AVT 🙂 Wracajac do tematu gratuluje konstrukcji 🙂 Wykonanie estetyczne, plytka widzę, że się udała bez podtrawien. Nie spodziewałbym się, że te malutkie serwa za 12 zł są takie dobre - a jednak widać na filmiku, że radzą sobie całkiem dobrze. Cytuj Link do komentarza Share on other sites More sharing options...
Treker (Damian Szymański) Marzec 18, 2010 Udostępnij Marzec 18, 2010 Jakie czujniki planujesz dodać w późniejszym etapie prac 😉? Jak widać na filmiku przydałoby się też dodać jakiś czujnik z tyłu. Jak na pierwszą konstrukcje to wszystko bardzo ładnie wyszło 😉 Cytuj Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Produkcja i montaż PCB - wybierz sprawdzone PCBWay! • Darmowe płytki dla studentów i projektów non-profit • Tylko 5$ za 10 prototypów PCB w 24 godziny • Usługa projektowania PCB na zlecenie • Montaż PCB od 30$ + bezpłatna dostawa i szablony • Darmowe narzędzie do podglądu plików Gerber Zobacz również » Film z fabryki PCBWay
maro1977pl Marzec 18, 2010 Autor tematu Udostępnij Marzec 18, 2010 Witam. Dzięki za zainteresowanie. Co do programu. Tak jak mówiłem to na razie tylko prototyp. Opóźnienia są faktycznie duże ale na start wystarczy - nawet nie dałem pełnego spida na koła - a całkiem nie źle śmiga na maxa - tylny zderzak też będzie. Wcześniej zajmowałem się elektronika i poskładałem kilka projektów ale to w większości pajączki albo płytki trawione jeszcze w kwasie solnym - stara metoda (ścieżki malowałem farbą na laminacie). Na prośbę zamieszczam link do modułu: MODUŁ ATMEGA8 AVT . Gąsienice mam od zabawki kupionej na allegro dla syna (długo go namawiałem go na rozmontowanie zabawki) WALL-e, naprawdę nie źle się spisuje: ZABAWKA Co do rozbudowy planuje a właściwie mam już zaprojektowaną płytkę na czujniki składające się z dwóch oddzielnych podzespołów: 1. wykrywanie linii z wykorzystaniem czujników: QRD1114 2. zastosowanie dalmierza zbudowanego na bazie odbiornika IR TSOP1736 i nadajnika LD271 Cytuj Link do komentarza Share on other sites More sharing options...
Bobby Marzec 18, 2010 Udostępnij Marzec 18, 2010 O, widzę, ze znowu tandem dioda ir - tsop. Może Cię zainteresować ten temat: https://www.forbot.pl/forum/topics46/czujnik-odleglosci-attiny13-schemat-i-program-vt3172.htm Dosłownie przed chwilą dość wyczerpująco opisałem tam nieco informacji na ten temat, jak i n a temat innego czujnika. Myślę, też, że jedna 271 to będzie za mało, zastosowałbym ze dwie na kanał. Cytuj Link do komentarza Share on other sites More sharing options...
Nawyk Marzec 18, 2010 Udostępnij Marzec 18, 2010 Dołączam się do gratulacji - zwłaszcza podoba mi się układ jezdny, już rozpocząłem poszukiwania takich zabawek 😉 Czy zastosowałeś diody zabezpieczające przy mostku? I mała rada - nie wiem jakie są Twoje doświadczenia w dziedzinie elektroniki, ale lepiej rozwijać w sobie nawyki prowadzenia ścieżek pod kątem rozwartym zamiast prostego, choć przy takich częstotliwościach to czyste czepialstwo z mojej strony 😉 Cytuj Link do komentarza Share on other sites More sharing options...
maro1977pl Marzec 19, 2010 Autor tematu Udostępnij Marzec 19, 2010 Witam. O, widzę, ze znowu tandem dioda ir - tsop. Może Cię zainteresować ten temat: http://www.forbot.pl/f...gram-vt3172.htm Dosłownie przed chwilą dość wyczerpująco opisałem tam nieco informacji na ten temat, jak i n a temat innego czujnika. Myślę, też, że jedna 271 to będzie za mało, zastosowałbym ze dwie na kanał. Co do IR tak 3 kanały. Zastanawiałem się nad SHARPAMI ale to prawie 150zł na 3 kanały. Czy zastosowałeś diody zabezpieczające przy mostku? Tak 8 diodek BYV26E (szybkie)! Pozdrawiam Cytuj Link do komentarza Share on other sites More sharing options...
maro1977pl Marzec 21, 2010 Autor tematu Udostępnij Marzec 21, 2010 ➡️ Jak myślicie czy zastosowanie jednego czujnika SHARP wystarczy w robocie ❓ Cytuj Link do komentarza Share on other sites More sharing options...
Mihau Marzec 21, 2010 Udostępnij Marzec 21, 2010 Zależy do czego. W minisumo może być mało, ale np. do linefollowera będzie aż nadto. Do takiego odbijania jeden może być, ale im więcej, tym więcej możliwości 😉 1 Cytuj Link do komentarza Share on other sites More sharing options...
maro1977pl Marzec 21, 2010 Autor tematu Udostępnij Marzec 21, 2010 Chodzi mi o czujnik odbicia od przeszkody ale nie chce stosować kolejnego serwa. Widziałem wiele zastosowań i rozwiązań ale interesuje mnie najprostsze tylko jeden czujnik SHARPA na stałe na przedzie pojazdu i czujnik zderzeniowy na tyle. Co wy ma to? Cytuj Link do komentarza Share on other sites More sharing options...
Treker (Damian Szymański) Marzec 21, 2010 Udostępnij Marzec 21, 2010 Jeden czujnik z przodu to trochę mało, nie będziesz wiedział czy zderzenie nastąpiło z prawej czy z lewej. Chyba, że zrobisz jakiś sonar, czyli umieścisz czujnik na servie. Zamiast drogiego sharp'a może lepiej zrobić dwa czujniki na TSOP'ach (zasięg ~30cm) 😉? 1 Cytuj Link do komentarza Share on other sites More sharing options...
maro1977pl Marzec 21, 2010 Autor tematu Udostępnij Marzec 21, 2010 Jeden czujnik z przodu to trochę mało, nie będziesz wiedział czy zderzenie nastąpiło z prawej czy z lewej. Chyba, że zrobisz jakiś sonar, czyli umieścisz czujnik na servie. Zamiast drogiego sharp'a może lepiej zrobić dwa czujniki na TSOP'ach (zasięg ~30cm) 😉? Więc postanowiłem zbudować dalmierz na bazie odbiornika IR 3 x TSOP1736 i nadajnika 3 x LD271. Będzie to o wiele tańsze od 3 SHARP. Dzięki Cytuj Link do komentarza Share on other sites More sharing options...
Bobby Marzec 21, 2010 Udostępnij Marzec 21, 2010 Ja ze swojej strony mocno sugerowałbym 2 diody ir na kanał. Jeżeli nośną generowałbyś na uc, to jest taka ciekawa opcja, można 'mierzyć odległość' za ich pomocą (w zasadzie to regulować programowo czułość) - Zwiększając/zmniejszając częstotliwość odbiornik staje się mniej czuły. Jest to pokazane w charakterystyce czujnika. Cytuj Link do komentarza Share on other sites More sharing options...
maro1977pl Marzec 21, 2010 Autor tematu Udostępnij Marzec 21, 2010 Ja ze swojej strony mocno sugerowałbym 2 diody ir na kanał. Jeżeli nośną generowałbyś na uc, to jest taka ciekawa opcja, można 'mierzyć odległość' za ich pomocą (w zasadzie to regulować programowo czułość) - Zwiększając/zmniejszając częstotliwość odbiornik staje się mniej czuły. Jest to pokazane w charakterystyce czujnika. Mógłbyś podać przykład kodu w BASCOM jak sterować tą czułością ? Cytuj Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
Dołącz do dyskusji, napisz odpowiedź!
Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!