środa, 12 października 2011

Bascom-Avr, Avr-Studio, programator i płytka testowa


    Programy w języku BASCOM z powodzeniem można pisać w zwykłym notatniku. Jednak aby zamienić taki program na kod zrozumiały dla naszego mikroprocesora musimy zaopatrzyć się w oprogramowanie BASCOM-AVR. W czasie kiedy ja poznawałem BASCOMA jego wersja demonstracyjna obsługiwała maksymalnie 2kb pamięci FLASH , teraz jest to już 4kb pamięci.
Darmową wersję tego programu można pobrać z na stronie:
www.mcselec.com

    Program ten można również zakupić. Jego pełna wersja, bez ograniczeń  jest warta ok. 450 zł, natomiast wersja pół-demonstracyjna (bo inaczej się tego nie da nazwać) warta ok. 150zł posiada ograniczenie do 8kb kodu wynikowego przy czym jest ona zarezerwowana wyłącznie dla użytkowników korzystających z polskiej wersji systemu operacyjnego.
Jeśli korzystamy z programatora USB dodatkowo pobieramy także AVR Studio 4 ,który możemy znaleźć na stronie:
www.atmel.com
     
     Najpierw zajmijmy się programem BASCOM-AVR. Okno tego oprogramowania wygląda następująco:

      Największą część okna zajmuje miejce przeznaczone do edycji tekstu. Jest to duże białe pole które możemy wypełniać pisanym przez siebie programem. Wszystkie polecenia języka np. end , dim , as zostają oznaczone kolorem niebieskim. Umożliwia to łatwe znalezienie błędów w programie wynikających z błędnego napisania dyrektywy np. din zamiast dim. Czarnym kolorem wyróżniony jest tekst nie będący poleceniami BASCOMA ,natomiast kolor zielony zarezerwowany jest dla komentarzy które omówię w późniejszym czasie. W BASCOM’ie niema także znaczenia czy piszemy z małej czy z dużej litery. Możemy napisać Dim , dim lub diM i nie ma w tym żadnej różnicy. 

      Ja zajmę się jedynie  funkcjami ,których będziemy używać. Jak każda poczciwa aplikacja działająca w środowisku windows  BASCOM-AVR  zawiera polecenie File. Po wybraniu tegoż polecenia ukaże nam się lista kolejnych poleceń z których przydatne są tak naprawdę cztery:
New –Otwiera nowe okno w którym możemy przystąpić do pisania kolejnego programu
Save – Zapisuje zmiany w już wcześniej zapisanym pliku
Save as – Zapisuje plik ,który wcześniej nie został zapisany
Open  - Otwiera  wcześniej zapisany plik
Teraz zajmę się przyciskami znajdującymi się na pasku narzędzi:
       - Sprawdzanie ewentualnych błędów w programie. W wypadku znalezienia błędu informuje o tym pod programem.
       - Kompiluje gotowy program ,a więc zamienia dyrektywy języku BASCOM na kod zero-jedynkowy.
    - Wysyła kod zero-jedynkowy do mikrokontrolera. Funkcja ta używana jest jedynie w wypadku osób korzystających z programatorów COM. 
      Teraz przyszła pora na skonfigurowanie naszego oprogramowania tak aby mógł współpracować z naszym mikrokontrolerem. Wybieramy więc zakładkę Options à Compiler à Chip.  W tym miejscu w sekcji Chip z rozwijanej listy należy wybrać nasz mikrokontroler , w naszym przypadku będzie to Attiny2313. Jeśli jednak korzystamy z wersji BASCOMA nie zawierającej bibliotek  dla tego procesora możemy spróbować wybrać  90S2313
Dodatkowe ustawienia na które powinniśmy zwrócić uwagę to:
XRAM à None
HW Stack à 32
Soft Stack à 0
Framesize à 50
Dodatkowo  w zakładce Options àEnvironment  à Editor zaznaczamy następujące elementy:
Autointed
Reformat BAS files
Reformat code
Syntax highlight
Show margin
Inne elementy powinny pozostać odhaczone .
Dodatkowo pozostałe ustawienia powinny wyglądać w następujący sposób:
Comment position à 25
TAB – size à 3
Keymapping à Default
No reformat extension à Data
Size of now editor windows à Maximized
     
     W zakładce Simular wybieramy opcje “Use integrated Simulator” natomiast wyłączamy „Run symulator of compilation”. Reszty opcji lepiej nie zmieniać. Powinny one pozostać w ustawieniu domyślnym. Oczywiście do omówienia pozostają nam również zakładki Programmer i Communication  ,ale tym zajmiemy się dopiero po podłączeniu programatora.
     
    Zajmijmy się teraz programatorem. Dla oszczędnych polecam nabyć go w popularnym serwisie aukcyjnym. Można zakupić go także w większości sklepów internetowych. Jeśli zdecydowaliśmy się na rozwiązanie z USB wybieramy programator stk500 ,natomiast w przypadku portu COM będzie to programator stk200. Razem z programatorem powinniśmy otrzymać także płytę ze sterownikami. Po podłączeniu programatora powinno pojawić się okno ”Wykryto nowe urządzenie itp.” I postępujemy zgodnie z instrukcjami wyświetlanymi na ekranie. Zapewne jednym z kilku kroków będzie umieszczenie płyty CD w napędzie. W przeciwnym razie komputer pobierze niezbędne sterowniki automatycznie z internetu. Po dokładniejsze informacje odsyłam do instrukcji ,którą powinieneś otrzymać razem ze swoim programatorem. Po pomyślnym zainstalowaniu sterowników należy sprawdzić na którym porcie com został zainstalowany twój programator. W tym celu wybieramy właściwości à system à menadżer urządzeń i odnajdujemy sterownik odpowiedzialny za nasz programator. Po prawej stronie w nawiasie umieszczona jest informacja o numerze portu do którego przypisany został programator. Jeśli liczba ta będzie dwu cyfrowa wówczas należy zmienić ją na niższą. Spowodowane jest to tym ,że Avr Studio obsługuje tylko porty o numerach od 1 do 9. W celu zmiany nr portu należy kliknąć na niego dwukrotnie lewym przyciskiem myszy w oknie menadżera urządzeń następnie wybrać zakładkę Usawienia portu i kliknąć przycisk Przesuń. Powinno nam się otworzyć okno w którym możliwa jest zmiana nr portu. Wprowadzone zmiany zatwierdzamy przyciskiem Ok.
     Teraz skoro mamy już programator  zainstalowany w systemie przystąpmy do wypełnienia zakładek Programmer i Communication w programie BASCOM-AVR. W tym celu otwórz powyższy program a następnie kliknij Options à  Programmer i wprowadzamy następujące ustawienia:
W sekcji Progrmmer wybieramy programator z którego  będziemy korzystać np. stk200. Jeśli korzystamy z programatora usb nie ma go zapewne na liścię dostępnych programatorów i możemy wybrać obojętnie co.
Dodatkowo zahaczone powinny zostać następujące opcje:
Auto Flash
Auto Verify
Upload Code and Data
Natomiast odhaczamy opcje Erase warning.
Teraz przejdźmy do zakładki Options à Comunication
W tym miejscu bardzo ważna rzeczą jest wybranie numeru portu COM z którego korzysta nasz programator. W przypadku programatora USB nic tu nie musimy zmieniać.

Dodatkowo sprawdź czy wszystkie opcje wyglądają w ten sposób:
Baudrate à 1200
Parity à None
Databits à 8
Stopbits à 1
Handshake à None
Emulation à TYY
RTS odhaczamy
Backcolor à Navy
    Przyszła pora na omówienie programu AVR Studio (uwaga: dotyczy to tylko osób z programatorami USB , w przeciwnym razie możesz ominąć ten tekst). Wygląda on w ten sposób:


      Jednak cała masa opcji tu zawartych jest dla nas bezużyteczna ponieważ my chcemy jedynie wgrać nasz skompilowany plik do mikrokontrolera. W tym celu należy wybrać opcje Tools à Programmer . Wówczas ukaże nam się okno w którym po prawej stronie musimy wybrać nr portu COM do którego przypisany jest nasz programator ,natomiast po lewej nazwę programatora z którego korzystamy np. stk500.  Następnie klikamy connect  i czekamy na otwarcie okna w którym zawarte będą rozmaite opcje służące do konfiguracji. W zakładce Main wybieramy nazwę mikrokontrolera. Ewentualnie w razie problemów możemy tu zmienić także wartość parametru ISP , ale na razie pozostawmy go bez zmian. Sekcja Flash w zakładce Programmer służy do wyboru lokalizacji naszego pliku HEX ,który został wcześniej skompilowany w programie BASCOM-AVR. Przycisk Program wysyła nasz program do mikroprocesora. Po paru sekundach program zostanie przesłany do mikrokontrolera.

     Dużym udogodnieniem w pracy programisty może być także płytka testowa. Jest to układ elektryczny zmontowany na płytce PCB zawierający rozmaite peryferia pomocne przy korzystaniu z mikrokontrolera np. wyświetlacze, przyciski, rezonatory kwarcowe ,głośniki, diody Led itp. Płytka taka zaopatrzona jest również w podstawkę z której można wyjmować oraz wkładać mikroprocesor a także złącze ISP pasujące do wtyku KANDA od programatora.     
      Ceny takich płytek wąchają się od kilkudziesięciu do kilkuset złotych. Są one także zazwyczaj skojarzone z jednym mikroprocesorem albo bardzo wąską grupą mikrokontrolerów. 
  
      Na koniec postaram się podsumować jak będzie wyglądać mechanizm programowania naszego mikrokontrolera .Po napisaniu programu w edytorze tekstu programu BASCOM-AVR  i naciśnięciu przycisku odpowiedzialnego za sprawdzenie ewentualnych błędów należy zapisać nasz program w przygotowanym wcześniej folderze. Następnie klikamy przycisk kompilacji . Po skompilowaniu programu zamykamy program BASCOM-AVR i uruchamiamy AVR Studio. Wybieramy opcje Tools à Programmer à Connect i w sekcji FLASH wybieramy lokalizacje naszego skompilowanego pliku (będzie miał format HEX) i naciskamy przycisk Program.  W kolejnym artykule zajmę się kolejnymi aspektami programowania

niedziela, 9 października 2011

Światłolub



    Tym razem chciałbym przedstawić jak zbudować bardzo prostego robota światłoluba. Jego zdaniem jest podążanie za źródłem światła. Ktoś kiedyś napisał, że"każdy początkujący robotyk powinien zacząć od zrobienia właśnie jego". krótko mówiąc jest to pozycja obowiązkowa. Przyznam się ,że popełniłem błąd przy kolejności zamieszczonych postów, ponieważ najpierw opisałem line followera, co sugeruje ,że to od niego właśnie należy zacząć podczas, gdy na początek lepiej wybrać światloluba. Z drugiej jednak strony oba te roboty są naprawdę proste w budowie i działają na podobnej zasadzie, więc nie ma to ,aż tak wielkiego znaczenia. Jednak oczy światłoluba będą stanowić fotorezystory a nie jak w przypadku line followera fototranzystory, które były wbudowane w czujnik CNY70. Myślę ,ze fotorezystory są elementem optycznym bardziej nadającym się do pracy w światłolubne niż fototranzystory. Poniżej przedstawiam listę konkretnych elementów w które należy się zaopatrzyć.








Spis elementów:
1.Pleksa, laminat lub płyta CD albo (jeśli wolicie być oryginalni) tak jak ja stara myszka komputerowa
2. 2x silniki z przekładniami
3. 2x fotorezystor lub ewentualnie fototranzystor
4. Rezystory - takie ja wymieniłem na schemacie 
5. 2x tranzystor BC337
6. Koszyczek na baterię lub po porostu sama bateria
7. Przewody
8. 2x Koła
9. Izolacja lub koszulki termokurczliwe




     Ja osobiście jako obudowę robota planowałem użyć myszki komputerowej i zmieścić całą jego zawartość w środku. Niestety, okazał się to zupełnie nie trafiony pomysł i stanowczo go odradzam. Ostatecznie nie udało mi się wszystkiego upchnąć i obudowa mojego światłoluba składa się tylko z dolnej części myszki. Lepszym sposobem jest wycięcie podwozia z pleksy. Jeśli zaistnieje konieczność uzyskania bardziej skomplikowanych figur (np. ja preferuje koło) zwykły brzeszczot nie wystarczy.Można wówczas użyć lutownicy transformatorowej i wytopić odpowiedni kształt. Najlepszym a zarazem niestety najdroższym sposobem jest tzw. dreml z piłą tarczową . Używa się go także do precyzyjnego wiercenia otworów (od ułamków do paru milimetrów średnicy).Ostatnim materiałem, o którym chciałbym wspomnieć,jest laminat ,który jednak moim zdaniem nie nadaje się dla początkujących ze względu na jego trudność obróbki, co wymaga specjalistycznego sprzętu. Jeśli ktoś jednak nie lubi się przemęczać i chciałby zaoszczędzić (choćby na pleksie, która jest stosunkowo droga) może użyć płyt CD.




    Kolejnym zagadnieniem są silniki. Myślę że nie ma co się tu zbyt dużo rozpisywać bo było to dokładnie wyjaśnione w temacie o line follower'rze. Przypominam : według mnie idealny silnik powinien mieć wbudowaną przekładnię i prostopadłościenny kształt. Ciekawą alternatywą są tu serwa modelarskie.Przekładnia jest konieczna ponieważ bez niej robot w najlepszym przypadku będzie się bardzo powoli rozpędzał do ogromnych prędkości.W 95 % nie ruszy jednak z miejsca. Prostopadłościenny kształt ułatwia natomiast przymocowanie silnika do korpusu robota np. za pomocą "kropelki" czy innego kleju cyjanoakrylowego.




   Powyżej umieściłem zdjęcie przedstawiające tranzystory w moim robocie. Na schemacie proponuje model BC337 ,ponieważ są tańsze i łatwiej dostępne niż te których ja użyłem (BD135), Teraz przyszła pora na wybór odbiornika optycznego. Mamy dwie możliwości zakupu: fotorezystor i fototranzystor. W praktyce różnica polega na tym, że fototranzystor jest po prostu tranzystorem, który przepuszcza prąd pomiędzy kolektorem i emiterem, tylko po przepuszczeniu prądu przez bazę ,którą stanowi w tym wypadku materiał światłoczuły w obudowie fototranzystora, natomiast fotorezystor jest rezystorem o zmiennej rezystencji (zmiennej zdolności do stwarzania oporu płynącemu prądowi). Można zauważyć tu pewna analogie pomiędzy fotorezystorem a potencjometrem, który też jest opornikiem o zmiennej oporności, ale w przypadku potencjometru tą oporność regulujemy za pomocą suwaka lub pokrętła (ewentualnie przycisków jak w wypadku potencjometrów cyfrowych), a w fotorezystorach zależy ona od natężenia światła. Jednak istnieje również inna zasadnicza różnica pomiędzy fotorezystorem i potencjometrem. Fotorezystor ma tylko dwa wyprowadzenia dlatego nie można go użyć jako dzielnika napięcia. Nie jest on również biegunowo spolaryzowany ( nie ma znaczenia w którą stronę go podłączymy), co w przypadku początkujących może mieć duże znaczenie. Często pomylenie kolejności wyprowadzeń bywa bowiem przyczyną problemów z niedziałającym układem. Daje to więc pewną przewagę fotorezystorowi. Jeśli jednak zdecydujemy się na zakup fototranzystora pamiętajmy,że należy wybierać te w przezroczystych obudowach. Ciemny kolor obudowy sugeruje ,że element działa w paśmie światła podczerwonego,więc robot będzie reagował np. na sygnał z pilota telewizyjnego a nie na promieniowanie widzialne.W tym miejscu nasuwa się pytanie: Skoro uważam, że fotorezystory są lepsze to dlaczego nie użyłem ich do line followera. Dlatego,że fototranzystory wchodzą w skład wszystkich transoptorów odbiciowych, które można kupić i działają one w pąśmie ir. Stosując fotorezystory musiałbym zbudować czujniki obiciowe samodzielnie co byłoby trudniejszym zadaniem, gdyż należało by także w dość precyzyjny sposób w samemu zrobionej obudowie umieścić diody ir.






   Lutujemy wszystko zgodnie z powyższym schematem według zasad o których wspominałem w poprzednich tematach. Ważne jest to ,aby cynę topić dopiero na lutowanym elemencie (nie przenosić cyny na grocie lutownicy). Możemy zrobić to na specjalistycznej płytce (tzw. płytce uniwersalnej) ,ale dla początkujących i przy tak prostym schemacie łatwiej będzie zrobić to na pająka (czyli bezpośrednio element do elementu).







   Jak widać bardzo małym nakładem pracy, finansów i czasu udało nam się stworzyć urządzenie ,które jak najbardziej można nazwać robotem i wielu początkującym zapewne przysporzy wiele satysfakcji. Powyższy projekt jest w pełni moim pomysłem. Inne roboty tego typu wymagały użycia mostków h (np. L293D) ,które są trudno dostępne i drogie ,a u mojego robota całym mózgiem są tylko 2 tranzystory. Aby usprawnić działanie naszego pojazdu możemy zastosować koszulki termokurczliwe nałożone na fototranzystory. Dzięki temu światło padające np. z prawej strony będzie stymulowało jedynie prawy sensor i odwrotnie. Mam nadzieję ,że zgromadzone tu informacje pozwolą wam na bezproblemowe stworzenie swojego debiutanckiego robota.

sobota, 8 października 2011

Wstęp kursu programowania – BASCOM AVR


   Po długiej przerwie wakacyjnej postanowiłem kontynuować pisanie mojej strony. Podczas tego okresu dużo czasu spędziłem na programowaniu w jednym z najprostszych obecnie języków jakim jest BASCOM. Jest to język obsługujący mikrokontrolery z rodziny AVR. Do tej pory pokazywałem projekty ,które mogły zostać z powodzeniem zrealizowane na zwykłych , pojedynczych tranzystorach lub gotowych układach scalonych nie zawierających pamięci. Umiejętność programowania otwierają przed nami jednak  zupełnie nowe możliwości . Nawet najprostszy język programowania jakim jest BASCOM (właściwie język programowania ,który mam na myśli to Basic a BASCOM-AVR to program kompilujący go) daje nam ogromną swobodę w tworzeniu rozmaitych projektów – od zegarków po wielozadaniowe platformy mobilne z manipulatorami. Tak więc jak powiedział Juliusz Cezar „Kości zostały rzucone”.
   Wbrew powszechnemu przekonaniu podstawy programowania można opanować już po jednym dniu nauki. Istnieje wiele rodzajów (tzw. rodzin) mikrokontrolerów. Ja zajmę się najbardziej popularną z nich a więc mikroprocesorami z rodziny AVR (inne to np. PIC czy ’51) gdyż są one kompatybilne z językiem BASCOM (warto zaznaczyć ,że istnieje wersja BASOCOM' a przeznaczona dla kontrolerów z rodziny '51 ale w tym kursie nie będę się tą grupą procesorów zajmował).  Kolejną decyzję jaką należy podjąć przed przystąpieniem do nauki jest wybór w jaki sposób mikroprocesor będzie komunikował się z komputerem. Może być to port COM lub USB. Port COM był w przeszłości używany do podłączania drukarek do komputera. Dziś mimo ,że wciąż ważny dla elektronika powoli odchodzi w zapomnienie.  Alternatywą dla takiego rozwiązania może być z kolei programator USB. Jednak BASCOM-AVR (kompilator języka Basic) nie obsługuje programatorów USB , dlatego też w tym wypadku należy użyć dodatkowego oprogramowania jakim jest AVR Studio.  Ja osobiście korzystam z programatora stk500 ,który wykorzystuje transmisje USB i właśnie z tego względu dodatkowo muszę używać programu Avr studio.  Warto również wspomnieć ,że do zaprogramowania mikrokontrolera programator nie jest elementem niezbędnym, bowiem wystarczy użyć 4 kabelków z rezystorami podłączonymi do odpowiednich pinów portu COM. Jednak korzystając z takiego rozwiązania należy liczyć się z możliwością spalenia portu COM. Ostatnim elementem jest oprogramowanie na komputer PC jakimi są wspomniane wcześniej programy BASCOM-AVR i AVR Studio.  Ten drugi jest potrzebny tylko jeśli zdecydowałeś się na wariant z USB.   Oba te programy są to  tzw.  kompilatory to znaczy zajmują się zamienianiem dyrektyw języka programowania na kod zero-jedynkowych  ,który następnie zostaje przesłany do mikrokontrolera.  BASCOM-AVR  jest kompilatorem języka BASCOM a więc  zamienia dyrektywy języka BASCOM ,natomiast AVR Studio jest kompilatorem języka C oraz assemblera. Oba te języki (szczególnie ten drugi) są znacznie trudniejsze w opanowaniu niż BASCOM. Zapytacie więc po co nam to AVR studio? A więc AVR Studio w przeciwieństwie do BASCOM –AVR pozwala na załadowanie kodu zero jedynkowego (wygenerowanego wcześniej w BASCOM-AVR na podstawie dyrektyw napisanych przez programistę czyli ciebie) do mikrokontrolera przez programator USB.  
   Każdy programator mikroprocesorów AVR (zarówno USB jak i COM) zakończony jest tzw. złączem KANDA . W instrukcji programatora powinien znajdować się rysunek z odpowiednio podpisanymi  pinami. Piny te należy podłączyć do tak samo nazywających się
nóżek mikroprocesora co obrazuje poniżej zamieszczony rysunek na przykładnie mikroprocesora o nazwie Attiny2313.


   Dlaczego akurat Attiny2313? Ponieważ darmowa wersja programu BASCOM-AVR pozwala na napisanie programu zajmującego maksymalnie 2kb pamięci FLASH (edit: obecnie jest to już 4kb!) i taką pojemność posiada właśnie Attiny2313. Gdybyśmy użyli np. Atmegi88 ,której pojemność wynosi 8kb pamięci FLASH zapłacilibyśmy ponad 10 zł więcej. Co więcej znaczna część podwyżki ceny wynika właśnie z przyrostu pamięci FLASH ,której i tak byśmy nie mogli użyć i 6kb pamięci zostało by nie wykorzystane. Do testów polecam wykorzystać płytkę stykową  ,która zarówno umożliwi łatwe i nie zwykle uniwersalne połączenie programatora jak i sprawdzenie działania swojego prototypu przed umieszczeniem w gotowym urządzeniu. Na koniec chciałbym wspomnieć o tym ,że język BASCOM ,będący zresztą dialektem języka Basic jest rzeczywiście dużo prostszy niż język C czy assembler  ,jednak okupione jest to tym ,iż programy przez niego tworzone zajmują stosunkowo więcej miejsca w pamięci FLASH mikroprocesora niż kody stworzone w trudniejszych językach.
  Temat ten potraktowałem jako wstęp.  W kolejnych , poświęconych programowaniu będę przedstawiał krok po kroku tajniki języka BASCOM.

wtorek, 3 maja 2011

Lampka RGB


 Projekt ten został zrealizowany przez mnie dość długi czas temu i to jeszcze nie w weekend :) tylko w wakacje ale mimo to zdecydowałem się go tu umieścić. Moja lampka w praktyce jak się okazało nie sprawdzała się zbyt dobrze ,ponieważ wytwarza zbyt mało światła żeby cokolwiek nią oświetlić ,ale potrafi generować dość ciekawe sekwencje świetlne. Niestety postanowiłem postawić na prostotę a nie efektywność (teraz zrobiłbym pewnie odwrotnie) i zaprojektowałem ją tak, że kolory nie przechodzą między sobą w sposób płynny tylko "przeskakują" .


  Oto spis potrzebnych elementów:
1.Dioda rgb ze wspólną katodą
2.Kryształ soli lub górski
3.Gotowa obudowa lub pleksa
4.Potencjometry montażowe
5.Koszyczek na baterię lub zasilacz
6.3 układy NE555
7.3 kondensatory elektrolityczne 22uF
8. Przewody śr:1mm
9. Rezystory wymienione na niżej umieszczonym schemacie.


Teraz chciałbym przybliżyć zasadę działania tej lampki. Jej zasadniczą częścią są 3 układy scalone  NE555.Jest to niezwykle uniwersalny układ, mający wiele zastosowań. Ktoś kiedyś pokusił się o stwierdzenie, że można na nim zbudować dosłownie wszystko.Po części zgadzam się z tym ,ale należy pamiętać ,że rezygnacja z mikroprocesorów wiążę się zazwyczaj ze zdecydowanym powiększeniem rozmiarów urządzenie i może okazać się na przykład ,że nasz zegarek stanie się większy od szawki do butów :). Każdy z układów odpowiada za jedną diodę z diody rgb (która składa się z diody czerwonej, zielonej i niebieskiej). Układ ten jest generatorem impulsowym i może pracować w trybie bistabilnym oraz mono stabilnym. My jednak nie będziemy się w to wgłębiać ponieważ jest to w tym przypadku zupełnie nieistotne.Ważne jest to ,żeby podłączyć go w sposób pokazany na zamieszczonym w dalszej części artykułu schemacie.Wówczas będzie on generował impuls trwający określony czas a następnie zrobi przerwę przez taki sam czas w jakim trwało generowanie impulsu. W efekcie dioda będzie zapalać się i gasnąć. Okres (a co za tym idzie częstotliwość) migania diody można zmieniać ,zmieniając rezystancję(czyli niejako zdolność rezystora do przeciwstawiania się płynącemu prądowi). Do tego właśnie służą potencjometry, które są po prostu opornikami o zmiennej oporności ,którą można regulować za pomocą pokrętła. Wyobraźmy sobie następującą sytuacje: pierwszy układ ustawiamy aby okres jego mignięć wynosił 3s, drugi 6s, a trzeci 9s. Przedstawiłem to schematycznie na powyższym rysunku. Na początku wszystkie układy będą generować impuls ,więc powstanie światło białe (czerwony+zielony+niebieski). Po 3s działać będzie już tylko druga i trzecia dioda (zielony+niebieski) powstanie kolor turkusowy. Po kolejnych 3s przestanie świecić druga dioda ale ponownie zapali się pierwsza ,a trzecia wciąż świeci (czerwony+niebieski) i powstanie różowy itd. W sumie można uzyskać 8 kolorów (jeśli liczyć by czarny). Trzy z potencjometrów służy właśnie do ustawiania częstotliwości drgań każdego NE555. Pozostałe odpowiadają natomiast za zmianę natężenia światła. Jest to również niezwykle ważny aspekt. Umożliwia on na przykład zamianę koloru różowego z fioletowym lub pomarańczowego z żółtym (np. dużo niebieskiego+ mało czerwonego= fioletowy a mało niebieskiego + dużo czerwonego = różowy)



Najpierw należy wszystkie elementy zlutować zgodnie ze schematem. Można zrobić to na płytce uniwersalnej lub spróbować tzw. sposobu na pająka ,który właśnie ja wybrałem. Do układu NE555 , bardzo przydatna jest podstawka. Wówczas podstawkę wlutowujemy, a sam NE555 wkładamy dopiero po zakończeniu pracy co chroni układ przed przegrzaniem. Diodę podłączamy katodą (minusem czyli krótszą nogą) do minusa a anodami (plusami czyli dłuższymi nogami) do 3 pinu układu scalonego - tak jak na schemacie. Problem może sprawić także zainstalowanie potencjometrów.Podłączamy je za środkową i jedną, dowolną nóżką z dwóch bocznych.Kolejność biegunów nie ma tu znaczenie ponieważ potencjometry, podobnie ja zwykłe oporniki są niespolaryzowane biegunowo. Natomiast kondensatory muszą być koniecznie podłączone zgodnie z biegunami tzn. dłuższą nogą do plusa a krótszą do minusa. W przeciwnym razie może spowodować to nawet wybuch. Zamiast wspomnianych wcześniej kryształów soli lub górskich można użyć także dowolnego innego materiału, który charakteryzuje się dużym współczynnikiem załamania światła. Co do obudowy to ja swoja wykonałem własnoręcznie - z pleksy pomalowanej na czarno farbą w sprayu i drewnianych listewek ,które umieszczone od wewnętrznej strony pełniły role kontowników, ale lepszym rozwiązaniem jest zakup gotowej. W obudowie należy wywiercić otwory na diodę i potencjometry. W wywiercony otwór należy włożyć diodę. Tu pojawia się ostatni problem , ponieważ nasza dioda wystaje nieco ponad obudowę, co uniemożliwia stabilne przymocowanie kryształu.Ja więc umieściłem kryształ na podwyższeniu wykonanym z koralika. Można też np. wykonać otwór w krysztale.Na zakończenie przedstawiam zdjęcia wszystkich kolorów wyświetlanych przez moją lampkę.

Biel

 Niebieski

Róż 

Zieleń 

 Żółć

 Turkus

                                                                            Czerwień


To by było na tyle.Pozdrawiam.

wtorek, 26 kwietnia 2011

Line follower

Line follower jak sama nazwa wskazuje jest to robot podążający za linią. Większość tego typu konstrukcji opisanych w internecie działa w oparciu o mikroprocesory, co wymaga umiejętności programowania. Ja jednak pokaże jak zbudować takiego robota bez mikrokontrolera. Wadą tego rozwiązania jest mniejsza czułość na linie co powoduje ,że robot czasem ją gubi. Jednak zmniejszenie prędkości powinno usunąć ten niepożądany efekt, dlatego przy wyborze silników do line followera BEAM (czyli bez mikroprocesora) powinniśmy zwrócić uwagę na to aby silniki nie były zbyt szybkie. W moim przypadku jest to około 6 cm/s. Ogólnie czym mniejszą zastosujemy prędkość tym robot będzie w stanie pokonywać bardziej skomplikowane trasy. Bardzo ważnym aspektem przy jego budowie jest także przekładnia, którą należy wykonać samodzielnie, ale najlepiej kupić silnik z gotową przekładnią.Interesującą alternatywą dla silników są serwa modelarskie które po przeróbce działają jak silniki z przekładniami.W przyszłości pokażę jak je przerobić samodzielnie. Teraz postaram się wyjaśnić zasadę działania lien followera. Rolę oczu pełnią u niego dwa czujniki odbiciowe CNY70. Składają się one z fototranzystora i diody ir.

Czujniki rozmieszczone są tak jak na powyższym rysunku. Jak widać pomiędzy nimi znajduje się linia. Lewy czujnik odpowiada za lewy silni a prawy czujnik za prawy. Gdy CNY70 znajdują się nad białym podłożem wówczas dwa silniki pracują natomiast, gdy któryś z nich wjedzie na czarną linie, wtedy jeden z silników przestanie działać i robot jadąc tylko jednym z nich będzie dążył do powrotu na linie. W wypadku sytuacji pokazanej powyżej robot będzie jechał do przodu dopóki natrafi lewym czujnikiem na linie. wtedy wyłączy się jego lewy silnik, a więc zacznie skręcać w lewo.
To tyle z teorii. Teraz chciałbym przedstawić spis elementów potrzebnych do wykonania tego robota:
1. Dwa silniki lub serwa- najlepiej z przekładniami
2. Koszyczek na baterie - rodzaj zależy od zastosowanych silników (np. dla silników 6v należy zastosować koszyczek 4xAAA lub 4xAA)
3.Koła do silników.
4.2 czujniki CNY70
5.Plexa lub płyta CD
6.Cyna
7. Przewody
8. 2 tranzystory BC337

Kolejność czynności:
1.Zaczynamy od budowy podwozia. To jaki będzie miał kształt zależy od wielkości i rodzaju kupionych silników.Dobrym materiałem na początek jest pleksa. Przede wszystkim decyduje o tym łatwość jej obróbki.
Z plekxy należy wyciąć (ja to zrobiłem za pomocą lutownicy transformatorowej) podwozie robota. w moim przypadku jest to koło. Innym rozwiązaniem jest użycie płyty CD jako podwozia.
2. Przyklejamy silniki do podwozia. Do tego celu używam zazwyczaj dowolnego kleju na bazie cyjanoakrylu np. popularną "kropelkę" . Najłatwiej jest to zrobić gdy silniki mają kształt zbliżony do prostopadłościanu.Tutaj przewagę mają serwa, gdyż wszystkie mają taki kształt. Niestety przeważająca część silników jest "walcowata" .Ja skłonny byłbym ich starać się ich unikać, ze względu na kłopoty przy montażu w prowizorycznych konstrukcjach.
3.Przykręcamy koła do silników. Niektóre firmy np.Wobit oferują silniki do, których można kupić specjalnie przeznaczone koła. Tak też i ja zrobiłem. Wówczas takie koła przykręca się za pomocą dołączonej do zestawu śruby imbusowej, dlatego powinniśmy zaopatrzyć się też w zestaw kluczy imbusowych. W przypadku serw znów sprawa jest ułatwiona, ponieważ w komplecie otrzymujemy zestaw orczyków i wkrętów za pomocą których możemy przytwierdzić serwo do koła. Według mnie w wypadku serwa koła można zrobić , choćby z nakrętek od słoików i porostu przykręcić te nakrętki do wcześniej wspomnianego orczyka.
4.Czujniki jak już wcześniej pisałem to transoptory odbiciowe CNY70. Zasada jego działania opiera się na emisji światła podczerwonego i odbieraniu go przez fototranzytor. Aby prawidłowo je podłączyć należy umieć odróżnić fototranzystor od diody ir. Otóż fototranzystor to ten czarny ,a dioda jest niebieska. Powyżej zamieszczony rysunek pochodzi z noty katalogowej tego czujnika. Przy podłączaniu go należy zwrócić uwagę na dwa wcięcia po dwóch bokach jego obudowy. Dodatkowo zaznaczyłem także po której stronie powinna znaleźć się dioda ir( niebieska) a po której fototranzystor (czarny). Czujniki powinniśmy przytwierdzić do podwozia w ten sposób ,aby znajdowały się maksymalnie w odległości 5mm od podłoża. Inaczej nie będą wstanie prawidłowo odróżniać barwy białej od czarnej, a tym samym odpowiednio interpretować kształt linii.
Aby przymocować czujniki do podłoża wywierciłem w podwoziu robota 4 otwory o średnicy 1mm . W każdym z otworów umieściłem jedną nóżkę transoptora. Całość przykleiłem kropelką.Dokładniej sposób w jaki to zrobiłem można zobaczyć na wyżej zamieszczonych zdjęciach.
5. Należy teraz wszystko zlutować według powyżej narysowanego schematu. Został on zaprojektowany przeze mnie samemu i jest maksymalnie uproszczony. Nie ma tu bowiem diód prostowniczych i dodatkowych rezystorów przy fototranzystorach. Problem może sprawdzić tutaj podłączenie tranzystorów, dlatego na schemacie obok jego symbolu zamieściłem rysunek z oznaczonymi nóżkami.Zadaniem tranzystorów jest wzmocnienie sygnału z fototranzystorów. Sposób podłączenia diód i fototranzystora także ma znaczenie. Należy tu skorzystać z rysunku nad punktem 4 i podłączyć transoptory zgodnie ze schematem. Natomiast rezystory nie są spolaryzowane biegunowo ,czyli kolejność biegunów podłączenia nie ma tu znaczenia. Ze względu na niski stopień skomplikowania tego układu proponuje zlutować go w sposób "na pająka" , czyli bez użycia płytek uniwersalnych, ale po prostu element do elementu.
Do lutowania warto zaopatrzyć się w cienką cynę z topnikiem. Lutując najpierw przykładamy grot lutownicy do końcówek elementów , które zamierzamy zlutować, a gdy będą już nagrzane dokładamy cynę ,nie odrywając grotu. Dopiero po chwili odrywamy grot z powrotem.Jak to mój kolega z forum elektronicznego ujął "bynajmniej doświadczenie przy lutowaniu rynien tu nie wystarczy". Starajcie się także podczas lutowania nie dotykać bezpośrednio obudowy elementów - szczególnie czujników ,gdyż  może to spowodować uszkodzenie danego półprzewodnika i spowodować nie mały problem przy ewentualnym szukaniu przyczyny nie działania układu.
6. Jeżeli układ, który zbudowaliśmy nie działa to na 90% jest to wina tzw. zimnych lutów , które wynikają z braku doświadczenia w lutowaniu. Zimne luty nie przewodzą prądu dlatego można je wykryć za pomocą multimetru. Ustawiamy pokrętło multimetru na symbol diody półprzewodnikowej. Następnie przykładamy bieguny multimetru do dwóch elementów zlutowanych ze sobą w sposób pokazany na powyższym rysunku.Jeśli wskazanie wyświetlacza nie uległo zmianie to znaczy , że to miejsce nie przewodzi prądu, a więc mamy do czynienia z zimnym lutem.Jeśli po sprawdzeniu wszystkich połączonych miejsc nie znaleźliśmy zimnego lutu to problem może leżeć w błędnym połączeniu elementów do siebie (niezgodnie ze schematem).Jeśli problem dalej będzie się utrzymywał proponuje zmontowanie wszystkiego na płytce stykowej i sprawdzeniu czy działa. Mam jednak nadzieję ,że budowa mojego robota uda wam się bez większych problemów.

niedziela, 24 kwietnia 2011

Prąd z ogórka

Dzisiaj chciałbym pokazać wam w jaki sposób można wytworzyć prąd elektryczny z ogórka czyli jak zbudować proste ogniwo galwaniczne.Podobny eksperyment można przeprowadzić także z użyciem cytryny ale o tym napiszę za jakiś czas. Ja na jego wykonanie nie wydałem ani złotówki. Poniżej przedstawiam listę potrzebnych przedmiotów, które na pewno każdy z nas może znaleźć w domu.
Są to:
1. Ogórki kiszone.
2. Nóż stalowy
3. Aluminiowy przedmiot (np. nóż, widelec lub folia)
4. Przewody
6. Miernik uniwersalny (multimetr)
Kolejność czynności:
1.Obieramy końcówki przewodów z izolacji. Powinno być to zrobione w taki sposób aby miedziany drut wychodził z izolacji na kilka centymetrów. Ja do tego celu użyłem nożyczek.
2.Sprawdzamy, czy bieguny naszego ogniwa (nóż stalowy i aluminiowy przedmiot)  przewodzą prąd elektryczny. W tym celu ustawiamy pokrętło multimetru na symbol diody półprzewodnikowej - wygląda ona jak trójkąt z prostą przylegającą do jednego z jego wierzchołków. Następnie sprawdzamy stan wyświetlacza multimetru po czym dotykamy dwóch różnych punktów znajdujących się na jego powierzchni. Jeśli wówczas stan na wyświetlaczu ulegnie zmianie to znaczy, że przewodzi on prąd elektryczny. W przypadku aluminiowego kątownika, którego początkowo chciałem użyć stan na wyświetlaczu nie uległ zmianie co oznacza, że nie przewodził prądu. Dlatego też postanowiłem użyć folii aluminiowej, którą miałem aktualnie pod ręką. Jak się okazało przewodzi ona prąd.
3. Jeżeli używamy folii aluminiowej rozcinamy ją na paski. Następnie nacinamy w ogórku (na około polowe jego głębokości) szczelinę w którą wsuwamy folię, a następnie owijamy ją wokół ogórka.
4. Złączamy wszystkie elementy ze sobą za pomocą przewodów. Aluminiowy przedmiot z ogórka (np. folię) łączymy z jednym z biegunów multimetru, natomiast drugi biegun miernika doprowadzamy do stalowego noża.
5. Ustawimy pokrętło multimetru na 2000 uA- oznacza to, że będzie mierzył natężenie prądu i podawał je w mini amperach. Następnie kroimy ogórek nożem. Wówczas w naszym ogniwie zachodzi reakcja redox. Na obu elektrodach (aluminiowej i stalowej) gromadzą się ładunki elektryczne. Do ich budowy można używać takżę miedzi, mosiądzu, srebra (elektroda dodatnia) i cyny lub cynku (elektroda ujemna). Rolę elektrolitu pełni tu natomiast kwas mlekowy,  który powstaje w wyniku kiszenia ogórków. W efekcie amperomierz powinien wskazać liczbę mini amperów co świadczy o przepływie ładunków elektrycznych. W moim wypadku było to od prawie 500uA, gdy nóż był nieruchomy, do niemal 1000uA, kiedy kroiłem nim ogórka. napięcie jakie uzyskałem wyniosło około 0,3V.
 
6. Napięcie 0,3 V jest zbyt małe, żeby zasilać nim choćby diodę LED. Dlatego też postanowiłem stworzyć baterię ogniw. W tym celu użyłem 4 ogórków. Każdego z nich naciąłem i owinąłem folią aluminiową oraz wbiłem w nie noże. Następnie połączyłem je szeregowo ze sobą pamiętając, że należy elektrodę dodatnią przyłączać do ujemnej (stal do aluminium). Na końcu podłączyłem do mojej baterii diodę LED, która zapaliła się. Napięcie, które wytworzyłem wyniosło prawię 1,2 V.Niektórzy ludzie używają nawet urządzeń wykonanych w ten sposób w praktyce, np ładując nimi akumulatory.Ogniwo tę można wytworzyć również za pomocą innych warzyw np. cebuli. Jednak jeśli myślimy o praktycznym zastosowaniu warto jednak skorzystać z tych o przyjemniejszym zapachu - np. arbuza.

sobota, 23 kwietnia 2011

Wstęp



Blog ten powstał z myślą o pokazaniu w jaki sposób w domowych warunkach można zbudować proste urządzenia elektroniczne. Jego tematyka stoi na pograniczu elektroniki, robotyki, fizyki oraz chemii. Oprócz wspomnianych wcześniej "gadżetów" będę pokazywał również jak przeprowadzać różnego rodzaju  eksperymenty z dziedziny nauk przyrodniczych. Poziom postów mam zamiar dobierać tak aby przeciętna osoba mogła je zrealizować ze stosunkowo niskim wkładem finansowym. Zdaję sobie sprawę, że  osoby będące profesjonalistami w wyżej wymienionych dziedzinach nie potrzebują gotowych "przepisów" dlatego stronę te kieruje do amatorów, o znikomej lub wręcz żadnej wiedzy,  np.bez umiejętności programowania , którzy zaczynają od zera.Moje projekty jak sama nazwa wskazuje będą możliwe do zrealizowania w bardzo krótkim czasie od kilkudziesięciu minut do kilkunastu godzin. Posty dodawał będę w wolnym czasie. Szczególnie dużo pojawi się ich w wakacje.

Życzę powodzenia przy realizacji moich pomysłów.