(4 głosujących) Urządzenie to, jak sama nazwa wskazuje, służy do pomiaru długości. Zbudowane jest w oparciu o mikrokontroler ATMEGA8, a w roli czujnika obrotów pracują dwa fototranzystory, tworząc transoptor szczelinowy. Projekt opracowałem zainspirowany pomysłem jednego z użytkowników mojej strony. pomiar długości odbywa się poprzez zliczanie impulsów generowanych przez szczeliny na kole o określonym promieniu. Dokładność pomiaru nie jest porażająca i zależy od średnicy koła za pomocą którego zostaje mierzona odległość i ilości dziur jakie się w nim znajdują. Dokładnie jest to odcinek powstały z podzielenia obwodu koła przez ilość dziur (szczelin). Pomiar uwzględnia kierunek ruchu koła, więc jest możliwość zmierzenia "ujemnych metrów". Urządzenie dobrze się sprawdza przy pomiarze dużych odległości i było projektowane z myślą o mierzeniu odcinków przewodów w instalacji elektrycznej. Dlatego zostało wyposażone w pamięć nieulotną mierzonych odcinków z możliwością ich wczytywania i kontynuowania pomiaru (można zapisać do 20 odcinków). Sterowanie miernikiem dokonujemy z poziomu klawiatury na urządzeniu (zapis, odczyt danych), oraz za pomocą przycisków "mierz" i "+2R"(dodaje dwa promienie koła do wyniku długości gdy np mierzymy od rogu do rogu pomieszczenia) które znajdują się w rączce urządzenia.
Działanie:Schemat ideowy układu znajduje się na rysunku poniżej: Sercem układu jest mikrokontroler U1 (ATMEGA8) wraz z rezonatorem kwarcowym X1 (16MHz) i kondensatorami C1 (22pF) i C2 (22pF). Złącze Prog (goldpin) służy do podłączenia programatora, łącznie z pojedynczym pinem resetu Res i zasilania VCC. Do złącza Zas podłączamy baterię 9V. Odcinanie zasilania następuje za pośrednictwem przełącznika S0 (wyłącznik kołyskowy). Stabilizator U2 (7805) wraz z kondensatorami C3 (220uF), C4 (47uF) i C5 (100nF) dostarcza napięcia zasilania 5V dla mikrokontrolera U1. Potencjometr P1 (10k) pozwala ustawić kontrast na wyświetlaczu W1 (LCD 16x2). Za pomocą tranzystora T1 (BC556) i rezystorów R1 (47R) i R2 (3,3k) możliwe jest programowe włączenie podświetlania wyświetlacza W1. W wersji podstawowej zastosowano wyświetlacz bez podświetlania, więc okazało się to niepotrzebne. Klawiaturę urządzenia stanowią przyciski S1 - S6 (uSwitch). Klawisze S1 oraz S4 podłączone są przez dekodery zbudowane na diodach D2 - D5 (1N4148), gdyż przewidziano tylko 4 piny na klawiaturę, a wciskanie wielu przycisków naraz czasami jest kłopotliwe. Dodatkowe złącze Sw (goldpin) pozwala wyprowadzić wszystkie przyciski za pomocą przewodu na rączkę urządzenia, gdyby obsługa z poziomu obudowy urządzenia okazała się mało wygodna. Na rączce na pewno musi się znaleźć przycisk "mierz" (zwierający do masy) podłączony do pinu PD.0 mikrokontrolera (pin numer 2 w złączu Sw), gdyż nie jest wyprowadzony na obudowie. Klawisz dodający dwa promienie okręgu do wyniku pomiaru("+2R"), został wymyślony później więc jego realizacja odbywa się poprzez jednoczesna wciśnięcie klawiszy S5 i S6. Lub za pomocą takich samych dwóch diod jak np. dla klawisza S4. Najważniejszą częścią układu jest transoptor szczelinowy zbudowany z fototranzystorów T2 (L-932P3BT) i T3 (L-932P3BT) wraz z rezystorami R3 (10k) i R4 (10k) oraz diody świecącej na podczerwień D1, wraz z jej rezystorem ograniczającym prąd R5 (180R). Dioda nadawcza D1 świeci na fototranzystory T2 i T3 przez dziury w kole pomiarowym. Kierunek obrotu wykrywany jest na podstawie przesunięcia względem siebie przebiegów prostokątnych z fototranzystorów T2 i T3 na takiej samej zasadzie jak rolka w myszce komputerowej. Budowa:Układ z powodzeniem można zbudować w oparciu o płytkę drukowaną dostępną tutaj. Rysunek w odbiciu lustrzanym dostępny jest tutaj. montaż należy rozpocząć od wlutowania 6 zworek na środkowej i lewej stronie płytki. Po prawej stronie odpowiednie połączenia zostaną wykonane poprzez obudowy przycisków i gdyby były zamontowane na przewodach to należy wykonać odpowiednie połączenia masy za pomocą zwór lub odcinka drutu, tak aby dioda D1 i kondensatory C1, C2 miały podłączenie do masy. Montaż pozostałych elementów należy wykonać od elementów najmniejszych do największych, bez zbędnych kombinacji. Pod mikrokontroler U1 należy zastosować podstawkę. Fototranzystory T2 i T3 muszą być odpowiednio wygięte pod kątem prostym i jeden nad drugim (patrz zdjęcie) tak aby łapały światło z diody D1 znajdującej się po drugiej stronie płytki. Światło z diody musi przechodzić przez szczelinę (dziurę) w kole, więc należy się dobrze zastanowić nad wysokością montażu diody i fototranzystorów. Fototranzystory posiadają obudowę taką jak dioda LED 3mm, identyczną jak D1. Do złącza Zas należy przylutować złącze na baterię 9V, tak zwana "kijankę" a do S0 dwa przewody do wyłącznika. Układ pasuje do obudowy Z19. Pomocą w konstrukcji może okazać się schemat montażowy dostępny tutaj. Wykaz Elementów:1x Listwa Goldpin 1x2 1x 3,3k 2x 22pF 1x Rezonator Kwarcowy 16MHz Programowanie:Kod Źródłowy do miernika długości został napisany w BASCOM AVR firmy MCS Electronics (http://www.mcselec.com/). Program przedstawiony jest poniżej: '************* Konfiguracja uC ***************** '*********************************************** '$regfile = "attiny2313.dat" $regfile = "m8def.dat" $crystal = 16000000 Config Portb = &B11111111 : Portb = &B11111111 Config Portd = &B00000000 : Portd = &B11111111 'Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.1 , Rs = Portb.0 'mirley test board 2 Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5 Config Lcd = 16 * 2 Cls Cursor Off Noblink On Int0 Przzew0 Nosave Config Int0 = Falling Enable Int0 Config Timer0 = Timer , Prescale = 1024 Enable Timer0 : On Timer0 Prztimer0 'stale parametry Const K = 229 'parametr = obwod [mm] / dziury * 10 Const Rr = 6 'ilosc impulsow dodawanych po kliknieciu +2r Opt1 Alias Pind.2 'przerwanie Opt2 Alias Pind.1 'drugi fototranz Mierz_sw Alias Pind.0 Sw_port Alias Pind '********** Konfiguracja uC Koniec ************ '****************** Zmienne ******************* '*********************************************** Dim Licz As Long , Licz_ee As Long , Dystans As Long , Dystans_ee As Long Dim Autocalc As Byte , N As Byte , Temp As Long , I As Byte Dim Id_eeprom As Byte , C As Byte Dim Licznik_mierz As Byte Dim Stan_sw As Byte , Sw As Byte , Licznik_sw As Byte Dim Flaga_16ms As Bit , Mierz As Bit '************* Zmienne Koniec **************** '************ Warunki Poczatkowe *************** '*********************************************** Lcd "Miernik Dlugosci" Lowerline Lcd " Wersja 0.9" Wait 1 Enable Interrupts Gosub Wyswietl '******* Warunki Poczatkowe Koniec *********** '************** Petla glowna ****************** '*********************************************** Do If Flaga_16ms = 1 Then Flaga_16ms = 0 '************************* If Mierz_sw <> Mierz Then Incr Licznik_mierz If Licznik_mierz = 5 Then Mierz = Mierz_sw If Mierz = 1 Then Disable Int0 Else Enable Int0 End If Else Licznik_mierz = 0 End If Gosub Przyciski '************************* End If Loop End '************ Petla glowna Koniec ************** '********** Przerwanie Zewnetrzne ************** '*********************************************** Przzew0: If Opt2 = 0 Then Decr Licz Else Incr Licz 'zmiana kierunku->zmiana "incr" z "decr" miejscami Autocalc = 0 Return '****** Przerwanie zewnetrzne koniec ********** '************ Przerwanie timer 0 *************** '*********************************************** Prztimer0: Timer0 = 5 Set Flaga_16ms If Autocalc < 10 Then Incr Autocalc If Autocalc = 10 Then Gosub Wyswietl End If Return '******** Przerwanie timer 0 Koniec ************ '*********************************************** '***********Wyswietlanie i przeliczanie*************** Wyswietl: Dystans = Licz * K '[mm] * 10 Dystans = Dystans / 100 '[cm] Temp = Dystans N = 11 Gosub Temp_poz Locate 1 , 1 Lcd "Dl: " Locate 1 , N Lcd Dystans Lcd " [cm]" Temp = Id_eeprom * 4 Readeeprom Licz_ee , Temp Dystans_ee = Licz_ee * K '[mm] * 10 Dystans_ee = Dystans_ee / 100 '[cm] Temp = Dystans_ee N = 11 Gosub Temp_poz Locate 2 , 1 Lcd "0" If Id_eeprom >= 10 Then Locate 2 , 1 Lcd Id_eeprom ; ": " Locate 2 , N Lcd Dystans_ee Lcd " [cm]" Return '*********************************************** '*********************************************** '*********** obliczanie pozycji *************** Temp_poz: If Temp < 0 Then Decr N Temp = -temp End If For I = 1 To 5 Temp = Temp / 10 If Temp > 0 Then Decr N Next I 'K Return '*********************************************** '*********************************************** '***************** Przyciski ************** Przyciski: Sw = Sw_port And &B01111000 'maska na piny nieu?ywane jako sw Shift Sw , Right , 3 If Sw <> 15 And Stan_sw = Sw Then Incr Licznik_sw If Licznik_sw = 62 Then Select Case Stan_sw Case &B00000101: 'CLR Epromm klawisz S1 Cls Lcd "Kasowanie..." Temp = 0 For C = 0 To 80 Writeeeprom Temp , C Next C Id_eeprom = 0 Case &B00000111: 'CLR klawisz S2 Licz = 0 Case &B00001011: 'Load klawisz S3 Temp = Id_eeprom * 4 Readeeprom Licz_ee , Temp Licz = Licz_ee Case &B00001001: 'Up Klawisz S4 Incr Id_eeprom If Id_eeprom = 20 Then Id_eeprom = 0 Case &B00001101: 'Down Klawisz S5 Decr Id_eeprom If Id_eeprom = 255 Then Id_eeprom = 19 Case &B00001110: 'Save Klawisz S6 Temp = Id_eeprom * 4 Writeeeprom Licz , Temp Case &B00001100: '+2R Klawisz na kablu, obok przycisku "mierz" Licz = Licz + Rr End Select Autocalc = 9 End If Else Stan_sw = Sw Licznik_sw = 54 End If Return '*********************************************** Poniżej przedstawione są ustawienia fusebitów mikrokontrolera(Zrzut z programu Burn-O-Mat): Część Mechaniczna:Budowa mechaniczna tego urządzenia nie jest skomplikowana, wszystko można zobaczyć na zdjęciach. Koło które pracuje w układzie zostało kupione w Castoramie, więc myślę że nie będzie problemu z jego zdobyciem. Szkieletem całej konstrukcji jest kawałek płaskownika 5mm szerokiego na 2cm. Największą trudność stanowi jego wygięcie a w zasadzie odpowiednie skręcenie i bez imadła w tym przypadku ani rusz. Do przykręcenia koła została wykorzystana śruba M8 i kilka nakrętek. Po przewierceniu płaskownika na końcu, wiertłem 8mm skręcamy jego końcówkę (ok 5cm od końca) tak aby do płaskownika można było przykręcić obudowę urządzenia. Płaskownik oprócz skręcenia należy jeszcze podgiąć nieco do góry (o ile to trzeba przymierzyć obudowę) tak aby obudowa była umieszczona wzdłuż promienia. Wynika to z faktu że fototranzystory umieszczone jeden nad drugim muszą byc zamontowane prostopadle do promienia koła. Wycięcie w obudowie można wykonać wzorując się na obrysie płytki. Zdjęcia Projektu:
|
|||||||||||||||||||||||||
Re: Transoptory
Nie wiedząc nic na temat zastosowanych w myszce układów nie dowiesz się jak je podłączyć. postaraj się odczytać numer seryjny tego transoptora i poszukać o nim informacji.... Wydaje mi się że tam jest osobno dioda na podczerwień i dwa czujniki na podczerwień (fotodiody lub fototranzystory) w jednej obudowie. Dokłądnej budowy nie znam. Napewno pomoże także analiza podłączeń na płytce myszki
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Problem z diodą nadawczą i fototranzystorem
Witam, mam mianowicie problem taki że układ jak i problem funkcjonuje tak jak powinien, niestety fototranzystory nie reagują na diodę podczerwieni(mają taką samą długość fali). Jedynym źródłem światła na jaki reaguje jest mocna dioda LED z latarki telefonu. Polaryzacja jest poprawna, połączenie również. Zmieniałem zarówno diody jak i fototranzystory i bez efektu. Podczas świecenia na fototrazystorach zmienia się napięcie jednak minimalnie 4,9-5V.
Re: Fototranzystory
A masz dokładny model tych fototranzystorów, u mnie bardzo ostro reagowały na zmianę oświetlenia
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.