
Stworzone przeze mnie urządzenie jest praktycznym uzupełnieniem piórnika szkolnego. Jest wyposażone w kilka pożytecznych funkcji i na opisanych poniżej nie zamierzam zaprzestać. Całość została zorganizowana w wygodne w obsłudze intuicyjne menu. 6 przycisków uSwith w jakie jest wyposażony układ umożliwia nawigację, ponadto dzięki małemu nadajnikowi IR zamontowanemu w długopisie można jednocześnie pisać i przewijać kolejne strony. Tekst może być zapisywany przy pomocy komputera wyposażonego w port COM oraz dowolny terminal obsługujący łącze RS232 lub klawiaturę komputerową wyposażoną w złącze PS/2, klawiatura może również zostać wykorzystana do wykonywania wszystkich innych operacji zastępując µSwitch’e. Oprogramowanie zostało wyposażone w dodatkową opcję monitorowania ilości wolnej pamięci oraz możliwość zmiany kontrastu wyświetlacza, czy podświetlenia (wyświetlacz który zamówiłem niestety nie posiada takiej funkcji). Całość jest zasilana 4 ogniwami R3 Ni-MH lub Ni-Cd. Urządzenie zostało zabezpieczone przed odwrotnym podłączeniem baterii, niestety diodę zenera ograniczającą maksymalne napięcie usunąłem z powodu dużego upływu. Dlatego układ zasilany bateriami alkaicznymi może zostać uszkodzony.
Urządzenie w stanie spoczynku pobiera znikome ilości energii, w grę wchodzi ładowanie zestawu akumulatorków podtrzymujących zasilanie zegara, którego działanie dzięki temu nie zostaje przerwane wraz z wyciągnięciem i wymianą baterii.
Podstawowym elementem urządzenia jest mikrokontroler AVR ATmega32. Mikroprocesor jest taktowany wewnętrznym oscylatorem 4MHz co w zupełności wystarcza wraz z innymi układami peryferyjnymi (zegar RTC – PCF8583, zewn. pamięć EEPROM – 24C1024, czujnik temp. 1-WIRE) do realizacji zamierzonych funkcji.
Poniżej schemat:

Działanie
Układ uruchamiający mikroprocesor (wraz z układem podtrzymującym zasilanie) złożony z kilkunastu elementów połączonych wg idei pokazanej na powyższym schemacie reaguje na chwilowe naciśnięcie dwóch przycisków („góra” , „dół”), po czym następuje automatyczne podtrzymywanie zasilania realizowanego przez mikroprocesor. Układ wraca do stanu pierwotnego po wybraniu opcji „wyłącz” w pierwszym poziomie menu.
- Po włożeniu baterii na złączu ZAS pojawia się napięcie ok.4-5V. Dioda Zenera D1 5V1 zabezpiecza układ przed odwrotną polaryzacją oraz zbyt wysokim napięciem zasilania. Przez D3 płynie prąd zasilający układ PCF, przez D2 i R8 jest ładowany mały akumulatorek lub kondensator podtrzymujący napięcie zasilania układu RTC. Linia główna zasilająca mikroprocesor wraz z resztą układów +5V jest odłączona, napięcie nań wynosi 0V. Stan tej linii jest zdeterminowany przez brak napięcia pomiędzy bramką a źródłem trzech tranzystorów P-MOS (Q3, Q6, Q7) wymuszony rezystorem R???, zmiana może nastąpić po przejściu w stan otwarcia Q11 lub Q8 lub obu na raz. Tranzystory MOSFET połączone są równolegle w celu zmniejszenia ich wypadkowej rezystancji przewodzenia, i w wyniku redukcji niepotrzebnego spadku napięcia na tych elementach. Napięcie na nóżkach zasilających ATmega32 jest równe napięciu na linii +5V, jest więc równe 0 i taki jest również stan wszystkich jego wyprowadzeń. Dlatego rezystor R13 zatyka Q11, a R2 i R3 kolejno Q9 i Q10. Stąd Q8 również nie przewodzi nie wymuszając zwarcia bramki tranzystorów MOSFET z masą i przełączenia ich w stan przewodzenia.
- Stan ten trwa do momentu wciśnięcia przycisków UP i DOWN (góra i dół), co zostało przewidziane jako normalne załączanie elektronicznej ściągi. Bazy tranzystorów zwarte przez rezystory R4 i R11 do masy powodują przepływ prądu przez złącza BE i przejście tych dwóch tranzystorów w stan otwarcia. Na R12 pojawia się napięcie dodatnie, przez złącze BE tranzystora Q8 płynie prąd i następnie otwierając się powoduje pojawienie się napięcia ok. -4V na złączu GS P-MOS’ów, które również się otwierają i zaczynają przewodzić. Na linii głównej +5V pojawia się napięcie i zostaje zainicjowana procedura uruchomienia urządzenia. Mikroprocesor zaczynając działać, zmienia stan linii PA1 na wysoki wymuszając otwarcie Q11 co trwale podtrzymuje tranzystory MOSFET w stanie przewodzenia i układ może funkcjonować. Sytuacja ta trwa do momentu programowej zmiany stanu linii PA1, co jest związane z chęcią zakończenia pracy z urządzeniem, czyli wybraniem i zatwierdzeniem pozycji wyłącz z menu.
- Układ przestaje działać po spadku napięcia zasilania poniżej 4V, czynności mikroprocesora zostają wstrzymane przez odpowiednio skonfigurowane podukłady zawarte w jego strukturze, w wyniku czego całość zostaje wyłączona, można jeszcze zastosowac programowe wyłączanie urządzenia. Niski stan napięcia można odczytać z wyświetlacza, co zapobiega potencjalnym przeżywanym przykrościom podczas użytkowania urządzenia. Dobór minimalnego napięcia został podyktowany kilkoma ograniczeniami związanymi z działaniem poszczególnych elementów całego urządzenia, oto podstawowe z nich:
Urządzenie wykorzystuje zasoby pamięci EEPROM mikroprocesora i zewnętrznego układu 24C1024 (128KB) minimalne napięcie zasilania nie powinno spadać poniżej poziomu 2V7 dla mikrokontrolera i układu 24C1024, poniżej tego progu zapis lub odczytywanie pamięci może zostać zakłócone, z co gorsze w razie niepomyślnego zapisu w komórkach pamięci mogą pojawić się losowe liczby.
Spadek napięcia obniża kontrast wyświetlacza LCD, co znacznie wpływa na komfort obsługi układu.
W urządzeniu do obsługi łącza RS232 nie użyłem układu standaryzującego napięcia linii RxD i TxD (+/-15V), gdyż komputerowe porty COM poprawnie interpretują „logiczne” stany napięcia linii odbioru danych (zero logiczne od 0V do stanu progowego wynoszącego ok. 2-3V i jedynka logiczna powyżej stanu progowego). Proste inwertery tranzystorowe wzbogacające porty UART mikroprocesora muszą być zasilane nieco wyższym napięciem niż możliwie najniższa wartość stanu wysokiego generowanego przebiegu, pod uwagę trzeba wziąć napięcie Uce tranzystora bipolarnego i ewentualne inne straty czy zakłócenia połączenia.
Popularne ogniwa Ni-MH i Ni-Cd nie powinny być rozładowywane poniżej napięcia wynoszącego ok. 0,8V, rośnie wtedy ryzyko utraty nominalnej gwarantowanej przez producenta sprawności (podnosi się rezystancja wewnętrzna, maleje pojemność etc.).
W sytuacji braku źródła zasilania układ RTC jest zasilany z akumulatorka przez diodę D6. Jest to jedyny możliwy stan wykorzystujący wewnętrzne źródło zasilania, diody D2 i D3 uniemożliwiają wykorzystanie go do zasilania pozostałych struktur układu.
Pomiar napięcia baterii:
Do pomiaru napięcia szyny zasilającej wykorzystałem wewnętrzny 10 bitowy przetwornik analogowo-cyfrowy wbudowany w mikrokontroler, wraz z wbudowanym napięciem odniesienia 2,56V. Rozdzielczość pomiaru wynosi ok. 2,5mV co i tak przewyższa potrzeby, wynik wyświetlany na LCD jest zaokrąglony do 1/100 V. Wysokość napięcia referencyjnego wymagała zastosowania dzielnika rezystorowego ponieważ suma napięcia 4 załadowanych ogniw może przekroczyć wartość nawet 5V, aby zminimalizować straty energii dzielnik (R6 i R9) jest załączany punktowo na okres gdy przetwornik dokonuje pomiaru. Dokładność pomiaru jest obniżona dodatkowo przez tolerancję rezystorów i spadek napięcia na porcie wyjściowym mikroprocesora, w najgorszym przypadku błąd może wynosić ok. 5%.
Bezprzewodowa łączność IR:
Pisząc można jednocześnie przewijać tekst przy użyciu prostego układu zamontowanego w długopis. Układ, możliwie najprostszy jest przystosowany do pracy na malutkich bateriach guzikowych, składa się z mikroprocesora ATtiny2313, 2 przycisków i kilku innych elementów elektronicznych. Mikroprocesor uruchamiany przez wciśnięcie jednego z przycisków wykonuje zaprogramowaną procedurę (generuje odpowiedni przebieg sterując diodą IRED), po czym przechodzi w stan uśpienia.
Układ TSOP1736 (na schemacie powyżej) w piórniku demoduluje sygnał z diody IRED, a następnie wysyła go do ATmega32 gdzie jest przetwarzany na ciąg odpowiadających mu instrukcji.
Poniżej zdjęcia i schemat.



Ustawianie kontrastu i podświetlenia wyświetlacza:
Zmiana podświetlenia wyświetlacza LCD i jego kontrast są zależne od napięcia na jego 2 przeznaczonych do tego celu wyprowadzeniach. Konwersję cyfrowych ustawień na odpowiednie stany napięciowe umożliwiają wbudowane w mikroprocesor przetworniki PWM (generator modulowanego przebiegu prostokątnego). Podświetlenie może być zasilane przebiegiem prostokątnym, natomiast kontrast wyświetlacza, który zamontowałem w moim układzie jest najlepszy gdy to wyprowadzenie jest zwarte do masy. Zamiast filtru uśredniającego RC(R1, C1, C2), rezystor R1 zastępuje zworka. W przeciwny wypadku ustawienie maksymalnego kontrastu (0V) było niemożliwe z powodu dużego prądu na tym pinie.
Obsługa klawiatury AT:
Układ elektronicznego piórnika został wyposażony w łącze PS/2 do obsługi komputerowej klawiatury AT, podobnie jak w przypadku łącza 1WIRE programowa obsługa kodów wysyłanych przez układ klawiatury nie przedstawiała żadnych problemów. Mankamentem jest długi czas reakcji na wciśnięcie klawisza, opóźnienie wymaga zdecydowanego przyciskania klawiszy.
Klawiatura umożliwia nawigację na każdym poziomie menu oraz zapisywanie i kasowanie tekstu. Strzałki zastępują cztery przyciski nawigujące, ENTER przycisk zatwierdzający, a BACKSPACE przycisk anulujący. Ponadto ESC powoduje powrót na pulpit, a przycisk POWER wyłącza urządzenie.
RS232:
Łącząc układ z portem komputerowym COM można dokonywać zapisu, odczytu i kasowania zapisanego tekstu. Połączenie może zostać zainicjowane przez zatwierdzenie odpowiedniej pozycji w menu w czasie gdy na komputerze jest załączony terminal (prawie wszystkie systemy operacyjne są wyposażone w takie narzędzie). Interfejs umożliwiający komunikację z użytkownikiem bazuje na wyświetlaniu odpowiednich komunikatów i wpisywaniu odpowiednich liczb według wyświetlonych możliwych opcji.
Pamięć EEPROM 24C1024:
Tekst i znaczniki zaczynające i kończące poszczególne sloty są zapisywane do zewnętrznej pamięci EEPROM. Organizacja danych nie pozwala na kasowanie danych ze „środka”, tzn. że zapisane dane tworzą jeden nieprzerwany ciąg. Sloty, poszczególne zapisane informacje tekstowe, mogą być kasowane kolejno od końca, takie rozwiązanie zapisu znacznie ułatwia jego odtwarzanie, a na dodatek w łatwy sposób można rozwiązać monitoring zajętego i wolnego miejsca w przestrzeni pamięciowej.
Układ 24C1024 dysponuje objętością sięgająca 128KB co umożliwia zapis 128.000 znaków nie licząc znaczników, co jest pojemnością wystarczającą do zapisu streszczonych informacji.
Montaż i konstrukcja mechaniczna
Wybór elementów i ich rozmieszczenie na płytce zostało rozwiązane z myślą o umieszczeniu układu w piórniku szkolnym typu kostka. Rozmiar płytki wraz z wyświetlaczem wynosi 18,2cm x 4,8cm x 1,7cm. Podstawą montażową części elektronicznych jest płytka tekstolitowa pokryta jednostronnie miedzią. Ze względu na konieczność miniaturyzacji zadecydowałem się na montaż powierzchniowy tzw. SMD, umożliwiło to znaczą redukcję grubości urządzenia i ograniczenie jego gabarytów do minimum czyli sumy wielkości płytki wyświetlacza i niedużej powierzchni na uSwithe. Na koszyczek z bateriami zostało również przewidziane miejsce na laminacie co znacznie zmniejsza ryzyko awarii.
Piórnik wymagał małej precyzyjnej modernizacji, m.in. wycięcia okienka na wyświetlacz, przyciski i czujnik IR oraz zrobieniu paru otworków na śrubki mocujące.
Montując wszystkie elementy trzeba uważać na odbicie lustrzane, najlepiej przed montażem po prostu sprawdzić połączenia.

Ewentualne zmiany i możliwości modyfikacji
Na płytce pozostawiłem miejsce na dolutowanie gniazdka SMD USB. Program napisałem w BASCOM'ie, język jest wysokiego rzędu, ma prostą składnię i niestety kompilator generuje olbrzymi kod wynikowy. USB zamieściłem z myślą o przyszłym wykorzystaniu układu np. do nauki programowania AVR'ów w języku C i Assemblerze.
Chciałem jeszcze dopisać polecenia pomiaru temperatury, niestety podczas eksperymentów zepsułem DS1820.
Bez większych kłopotów można wykorzystać polecenia odbierania kodów np. RC5 i sterować układ ze zwykłego pilota.
Procesor się wyłącza gdy napięcie spadnie poniżej 4V, przy takim napięciu wyświetlacz ma blady obraz i trzeba na niego patrzeć pod kątem, cała reszta z wyjątkiem klawiatury powinna funkcjonować bez problemów. Ja skorzystałem ze sprzętowego resetu, lepiej natomiast byłoby rozwiązać tę funkcję programowo i oczywiście kupić lepszy LCD. Obsługa byłaby bardziej elastyczna, po co bezwzględnie trzymać się 4V gdy urządzenie może jeszcze pracować.
Reasumując układ uważam za udany. Jednakże chcąc zamontować go do piórnika trzeba by zadbać o przemalowanie srebrnego obramowania wyświetlacza, za bardzo rzuca się w oczy i przyciąga uwagę... Także jak na razie konkretnego użytku z niego nie zrobię.
Zresztą dzisiejsze telefony komórkowe oferują znacząco lepsze możliwości, więc projekt jest dla mnie po prostu sprawdzeniem moich technicznych możliwości i podsumowaniem nauki BASCOMA. Czas zająć się bardziej ambitnym językiem







Wersja beta


Cool? Ranking DIY