Skocz do zawartości

Harion

Użytkownicy
  • Zawartość

    42
  • Rejestracja

  • Ostatnio

  • Wygrane dni

    1

Harion wygrał w ostatnim dniu 22 maja 2015

Harion ma najbardziej lubianą zawartość!

Reputacja

3 Neutralna

O Harion

  • Ranga
    3/10

Informacje

  • Płeć
    Mężczyzna
  • Lokalizacja
    Kraków

Ostatnio na profilu byli

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

  1. Witam, chciałbym przedstawić video z sterownikiem oświetlenia zrobionym od podstaw przeze mnie i kolegów ze studiów. Co myślicie o tym?
  2. Razem ze znajomymi postanowiliśmy stworzyć sterownik LED, który by można zastosować min. przy oświetlaniu schodów. Widzieliśmy, że można kupić coś takiego na allegro jednak te sterowniki były albo drogie, albo mało funkcjonalne. Główną zaletą naszego sterownika jest sterowanie poprzez Bluetooth, gdzie bez mniejszych problemów możemy poprzez aplikację zmieniać parametry takie jak: - Liczba schodów 6-16 - Jasność świecenia 1-100% - Rodzaj animacji (3 do wyboru aktualnie) - Szybkość odtwarzania animacji - Czas świecenia Oczywiście animacje są załączane po wykryciu ruchu przez czujniki PIR, można zamontować łącznie 6 czujników. Co myślicie o naszym pomyśle? Podoba się wam? Testowy film: PS. to nie robot więc nie wiem czy dobry dział ale jestem ciekaw opinii ludzi co sądzą o tym projekcie. Pozdrawiam!
  3. Witam, wpadłem na pomysł stworzenia kilku identycznych robotów, które miały by współpracować ze sobą. Myślę, że będą to jakieś samochodziki, sterowane głównie poprzez wypełnienie PWM silników by nie było zbyt trudno na początek. To co mnie teraz zastanawia to jak się z nimi komunikować i w jaki sposób określać ich pozycję. Dajmy taki przykład, że było by ich 3. Sterowane by były z jakiegoś głównego kontrolera, który by odbierał od nich dane i wysyłał instrukcje by nimi kierować. Jak myślicie, jaki rodzaj komunikacji i poprzez co realizowany byłby najlepszy? Myślałem, by robić to poprzez WiFi, zastanawiałem się nad protokołem mobdus, który jest powszechnie używany w automatyce, dzięki niemu jedno urządzenie może pracować jako master, a reszta jako slave, jednak nie mam pojęcia, czy da się to zrealizować w ten sposób jak myślę. Druga sprawa jak określać ich pozycję, moduł GPS chyba nie ma dostatecznej dokładności? Jakiś inny pomysł? Fajnie, jeśli nie macie jakiś konkretnych informacji gdybyście mi podali jakieś źródła, linki itp do informacji o tego typu projektach, ew. komunikacji, wyznaczaniu pozycji etc. Dzięki!
  4. Witam. Razem ze znajomymi ze szkoły postanowiliśmy wykonać pewien projekt. Po godzinach buszowania w sieci i szukania ciekawego pomysłu naszą uwagę przykuł interaktywny stolik. W wolnych chwilach pracowaliśmy nad schematem oraz rozważaliśmy różne opcje odnośnie tego jakie dodatkowe funkcje owe urządzenie będzie posiadać. Pierwszy prototyp został już w większości wykonany, zatem uznaliśmy, że warto było by go przynajmniej częściowo tutaj opisać. Opis ILDS Table jak nazwa wskazuje jest interaktywnym stolikiem ledowym, po kilku miesiącach pracy oraz wielu testach można było odetchnąć z ulgą ponieważ pierwszy prototyp działał tak jak się tego spodziewano. Cały produkt składa się z czterech paneli w które wchodzą nadajniki oraz odbiorniki podczerwieni, niebieskie diody LED, rezystory oraz potrzebne wyprowadzenia. Oprócz tego obowiązkowym elementem jest sterownik niezbędny do jakiegokolwiek działania całej reszty. Sam stolik ma wymiary 55x55 cm i wykonany jest w większości z płyty wiórowej oraz pilśniowej, w wnętrzu blatu jest wycięty kwadrat o wymiarach 43x43 cm by można włożyć do niego szybę, przez którą przechodzą promienie świetlne. Zasada działania Na poniższym rysunku mamy uproszczony schemat działania stolika. Podczerwień emitowana jest z nadajnika IR, która następnie po odbiciu od obiektu znajdującego się nad nim trafia do odpowiedniego odbiornika dzięki czemu możemy określić pozycję przeszkody nad panelem. Następnie sygnał analogowy z czujnika przekazywany jest do sterownika, każdy z nich ma oddzielny numer w programie by można odróżnić na jakim obszarze aktualnie wykrywany jest ruch, dzięki czemu możemy zaświecać odpowiednie diody LED i podziwiać świetlne efekty. Jak widać zasada działania jest bardzo prosta, jednak samo wykonanie już do banalnych nie należy, bez podstawowej wiedzy o elektronice i programowaniu wykonanie projektu nie było by możliwe, tym bardziej, że wszystko zostało zrobione od podstaw bez użycia gotowych modułów, które tak powszechnie są dzisiaj stosowane, jednak niesie to ze sobą same zalety, od kosztów wykonania po możliwość późniejszej dowolnej modyfikacji sterownika i paneli w zależności od naszych potrzeb. Sterownik Do naszego sterownika został użyty układ o nazwie Atmega32. Został on wybrany z kilku prostych przyczyn. Jak to przeważnie bywa pierwszą z nich będzie cena, 8 zł zapłacone za główny układ sterujący pracą całego stolika jest jak najbardziej opłacalne ze względów ekonomicznych, owszem można by do tego użyć popularnego ostatnio Arduino i tego typu podobnych zestawów uruchomieniowych jednak po co przepłacać kilkukrotnie więcej, skoro możemy uzyskać ten sam efekt przy odrobinie większym wysiłku? Drugim powodem dla wybrania tego procesora jest wystarczająca liczba wyprowadzeń by móc podłączyć wszystkie wymagane peryferia, a ostatnim to, że posiada wystarczającą ilość pamięci by móc realizować określony program i wyznaczone mu zadania. Jak wiadomo, by sterować jasnością każdej diody LED poprzez odpowiednie wypełnienie procentowe przebiegu prostokątnego będzie nam potrzebne wyjście PWM. W procesorze nie ma ich zbyt wiele, zatem trzeba by poszukać jakiegoś układu zewnętrznego, który umożliwi nam zwiększenie ich ilości. Pomocny w tym przypadku będzie właśnie scalak o nazwie TLC5940, jest on 16 kanałowym generatorem PWM, sterowanym poprzez magistralę SPI. Co to oznacza? Dzięki użyciu jednego takiego układu zyskujemy dodatkowe 16 wyjść dzięki którym możemy sterować jasnością diod, dodatkowo ogromną zaletą jest to, iż nie jest potrzebne użycie żadnego rezystora by móc je podłączyć. Kolejnymi potrzebnymi układami są demultipleksery oraz wzmacniacze. Ich zastosowanie jest potrzebne z jednej ale za to bardzo prostej przyczyny, zwiększenie dostępnej ilości wejść do badania stanów z czujników. Jak wiadomo odbiorników IR mamy aż 64, co za tym idzie musimy mieć możliwość odczytania stanu każdego z nich w dowolnym momencie, jeden taki układ dostarcza nam ich aż 16. Przyszła pora na mały dodatek w postaci modułu Bluetooth HC-05. Nie jest on obowiązkową częścią sterownika jednak jeśli chcemy w jakiś sposób komunikować poprzez urządzenie mobilne bez tego się nie obędzie. Samo działanie jest proste, wystarczą nam 2 linie RxD i TxD oraz oczywiście Vcc i GND by móc w jakiś sposób układ zasilić. Urządzenie komunikuje się z procesorem poprzez magistralę UART wysyłając do niego odpowiednie ciągi liczb 8 bitowych. Po odczycie możemy określić to jaki przycisk w aplikacji został użyty i w zależności od tego wykonać żądaną akcje. Panele LED W panelach używane diody LED są w kolorze niebieskim, ich średnica wynosi 5mm, a prąd maksymalny 20mA. Do projektu zostało ich wykorzystane 256 sztuk. Nadajniki oraz odbiorniki podczerwieni są również o tej samej średnicy ze względów wizualnych, pracują na długości fali 940nm, jest to bardzo ważne by ten parametr w obu przypadkach był identyczny, inaczej cały panel nie będzie działał prawidłowo. Maksymalne napięcie wyjściowe z fotodiody IR wynosi ok. 1,5V, a prąd maksymalny nadajnika IR wynosi ok. 50mA, jest to dosyć dużo jednak dzięki temu ruch może być wykrywany dokładniej i na większej odległości, kąt świecenia wynosi 60 stopni. Oczywiście 4 panele będziemy musieli jakoś połączyć ze sterownikiem. Złącza jakie zostały wykorzystane to IDC10 i IDC16 żeńskie oraz taśmy ze złączami IDC16. Gniazdo IDC10 służy jako wejście do programatora, a pozostałe pozwalają na łatwe bezpośrednie podłączenie paneli do sterownika. Stolik Po wykonaniu całej elektroniki oczywiście wypadało by ją gdzieś umieścić, do tego celu trzeba było wykonać stolik. Z powodu braku pieniędzy na wykonanie stolika od podstaw przyszedł pomysł kupna gotowego i dostosowania go odpowiednio do montażu. W tym celu należało wybrać się do jednego ze sklepów sprzedającego meble różnego rodzaju, pierwszą dobrą myślą było odwiedzenie IKEI, w swojej ofercie mają bardzo fajny kawowy stolik za koszt tylko 30 złotych! Co prawda nie jest on najwyższej jakości jednak do wykonania prototypu nadawał się idealnie. Wymiary jego blatu to 55x55cm, a wysokość od podstawy wynosi 45cm. Materiały z jakich głównie jest wykonany to płyta wiórowa oraz pilśniowa, kolory do wyboru były różne, jednak najlepiej prezentuje się w czarnym kolorze. Oczywiście by móc zamontować w nim panele należało wykonać kilka przeróbek. Min. wycięcie kwadratowego otworu itp. Program Sam program został napisany w języku C. Najważniejszą jego częścią jest oczywiście główny algorytm sterowania stolikiem dzięki któremu możemy doświadczać wizualnych efektów w zależności od położenia naszej dłoni nad powierzchnią blatu. Oprócz tego oczywiście znajdują się w nim też elementy odpowiedzialne za obsługę demultiplekserów, układów pwm itp. W zależności od potrzeb została napisana również funkcja do wyświetlania napisów, animacji czy prosta gra snake. Nie obyło się również bez wykonania prostej aplikacji na androida w programie App Inventor, jest ona dość uniwersalna ponieważ wcześniej służyła mi jako pilot do sterowania LineFollowerem. Podsumowanie Mam nadzieję, że cała konstrukcja wam się spodobała. Niebawem będziemy pracować nad drugą wersją ILDS Table, która będzie nieco tańsza w wykonaniu ponieważ zredukujemy niepotrzebną liczbę niektórych elementów. Jeśli chcecie wspomóc nasz projekt możecie odwiedzić FanPage ILDS i zostawić lajka, wrzucamy tam często zdjęcia z prac nad projektami itp. Jeśli macie jakieś ciekawe pomysły czy propozycje piszcie oczywiście w komentarzach. Poniżej dodaję poglądowy film na YT gdzie możecie zobaczyć efekt całej pracy. Nie ma oczywiście tam przedstawionych wszystkich funkcji, lecz tylko te główne. Facebook projektu: https://www.facebook.com/ildsystem
  5. Witam. Razem ze znajomymi pracujemy nad kolejnym projektem linefollowera i postanowiliśmy skorzystać z procesora Atmega32U4 (do czasu aż nie ogarnę procków typu ARM itp.). W związku z tym iż chcemy mieć wolne wszystkie porty ADC, jedyne piny PWM jakie pozostaną wolne to: PC6(OC3A/negacja - OC4A) PC7(ICP3/CLKO/OC4A) Więc mam pytanie, czy te porty będą nadawać się do sterowania wypełnieniem PWM silników? Przeglądam datasheeta jednak nie miałem wcześniej do czynienia z tym procesorem, a sam go nie mam jeszcze kupionego by w praktyce testować wszystkie porty więc troche ciężko z tym się ogarnąć. Dzięki za odpowiedź.
  6. Dokładnie pytanie mam odnośnie odczytu impulsów które zlicza enkoder. Procek jaki używam to atmega32, zastanawiam się jaki tryb będzie najlepszy i w jaki sposób go podłączyć. Z tego co wyczytałem można odczytywać dane szeregowo, bądź poprzez PWM ze zmiennym wypełnieniem, oraz tradycyjnie (tak jak w przypadku tradycyjnych prostych enkoderów?). Ostatnie rozwiązanie będzie najlepsze?
  7. Witam, mam pytanie głównie do użytkowników tego forum, którzy już używali układu AS5040. Mam zamiar zamontować go w kolejnym projekcie linefollowera, więc mam kilka pytań. Gdzie mogę dokupić magnes i w jaki sposób go zamontuję na wał silnika pololu? Jak wygląda zasada działania tego enkodera? Macie jakieś przydatne dokumenty do niego? Ja niestety na razie nic prócz dokumentacji producenta nie znalazłem :/ Pozdrawiam.
  8. Jak wygląda trwałość opon mini-z? Zakupiłem 4 sztuki i jeszcze nie zrobiłem do nich felg więc jestem ciekaw. silniki pololu 1:10? jaką śr prędkość osiąga robot na normalnej trasie przy optymalnych warunkach? pozdrawiam
  9. 10us to nie jest dużo aczkolwiek wszystko zależy od zastosowania, pamiętaj, że pętla programu również wykonuje się jakiś określony czas, aby nie uzależniać szybkości odczytu ADC od obiegu całej pętli, zrób osobny podprogram do ADC wywoływany timerem by częstotliwość odczytu była stała
  10. Tu masz całą instrukcje mkavr'a. Po zapoznaniu się z nią z pewnością wszystko ustawisz jak należy, potem sprawdź jeszcze raz dokładnie podłączenie uC i sprawdź miernikiem czy zasilanie jest właściwie doprowadzone. http://www.atnel.pl/download/pdf_docu/instrukcja_MKAVRCalculator.pdf
  11. Odnośnie adc na Atmega32 to przy 8 czujnikach uzyskałem częstotliwość pomiaru ok 500Hz. Do 1-1,5m/s to może wystarczy ale coś szybszego to rzeczywiście bym zrezygnował z AVR'a, sam zamierzam w przyszłości przerzucić się na ARM'y
  12. Jakoś dziwnie troche wygląda ten program, na sam początek zaświeć poprostu ledy bez żadnych timerów itd na prostych delayach zeby sprawdzić czy cała płytka działa poprawnie. Jak działa wszystko ok to sprawdź ten mój program, który ci troche przerobiłem. #include<avr/io.h> #include<util/delay.h> #include<avr/interrupt.h> volatile int przerwanie=0; volatile int x=0; ISR(TIMER0_COMP_vect) { przerwanie=1; } int main(void) { //ustawienie wejsc/wyjsc DDRB |= (1<<PB0)|(1<<PB1)|(1<<PB2); PORTB = 0x01; /// diody jako wyjscia, pierwsza od razu zapalona ////inicjalizacja timera w trybie CTC TCCR0 |= (1<<WGM01); // tryb CTC TCCR0 |= (1<<CS00) | (1<<CS02) ; // preskaler 1024 OCR0 = 250; // 4hz TIMSK |= (1<<OCIE0); // zezwolenie na przerwanie CompareMatch sei(); //zezwolenie na prerwania globalne while(1) { if (przerwanie==1) { x++; przerwanie==0; if (x==3) { PORTB = 0x01; x=0; } else PORTB = PORTB<<1; } } } Nie jestem pewien czy dobrze ustawilem timer w 100% bo robilem na szybko, przerwanie powinno wyłowywać się z częstotliwością 4 Hz. W przerwaniu dałem zmiane flagi, staraj się głównie operować w nich na flagach bo nie jest wskazane w przerwaniach umieszczanie dużych części kodu czy różnych funkcji delay itp. Sama zasada działania jest prosta, robimy przesunięcie binarne co przerwanie, jeśli x==3 to oznacza, że PORTB == 0b00000100 i należy wpisać wartość poprostu 1. Jak masz pytania to pisz.
  13. Samo zmienienie + z GND nic nie da jeśli pomyliłeś strony wtyczki i np MOSI itp masz wpięte do masy z programatora (chociaz jak na szybko zerknąłem chyba podłączenie jest poprawne). Wyposaż się w jakiś miernik, najtańszy kupisz za 15 zł, a jest to niezbędne narzędzie każdego nawet początkującego elektronika, możesz zawsze wziąc leda z rezystorem zeby sprawdzić czy napięcie dochodzi poprawnie, warto też sprawdzić czy nie ma nigdzie przerwy czy zwarcia, same stykówki nieraz potrafią wyczyniać różne cuda
  14. Na 100% dobrze masz podłączone MISO, MOSI, SCK itp. z programatorem do odpowiednich wejść? Sprawdzałeś miernikiem na płytce czy + to napewno + i czy jest 5V pomiędzy Vcc a GND?
  15. Nie masz podłączonej drugiej masy oraz avcc, reset puść przez rezystor do +5V
×
×
  • Utwórz nowe...