If you’ve never heard about electronic paper, crawl out from under that rock and read up on the Sony reader and the Amazon Kindle. E-paper is a flexible display made of color-changing beads that simulate ink-on-paper for easy daylight reading. The revolutionary thing about e-paper is that after it’s set, it stays that way without additional power.
This sounds great in theory, but Esquire’s cover is the first time everybody can afford to hack an e-paper display. We took the cover into the Hack a Day lab to document, test, and hack. In the end, we recycled it into something beneficial that any individual can build. We’ve got all the details on how the display works and what it takes to use it in your own projects. read about our e-paper clock hack below.
Tło
The Esquire e-paper cover hit big on the net, but was swiftly panned. NOTCOT has beautiful scans of the circuit board and e-paper. popular science posted instructions for reading the code with a PICkit2. [Slaxter] verified that the photo chip can be read, and that the code protection fuses are off. [Matt] manipulated the e-paper cells directly with skillful soldering and an Arduino. So far, there hasn’t been a lot of interest in repurposing the e-paper, or reprogramming the existing microcontroller.
E-paper panels
The actual e-paper panels, manufactured by E-Ink, aren’t that exciting. Each panel has a set of predefined segments, 11 on the front panel and 3 on the rear Ford advertisement. This isn’t a matrix that we can reprogram into an e-reader. [just_mike] has a great set of ultra close-up shots of the individual beads that make up each segment.
Each e-paper segment has an individual connection, and a connection that’s shared with other cells on the panel. The segments become white or black depending on the direction of current applied to the cell. When common is low, any segment that is also connected high will darken. When common is high, each cell connected to ground will clear. The PCB uses 16 volts from five 3.3volt batteries to switch the cells, but [Slaxter] showed that 5volts was sufficient with his Arduino project.
Test wydajności
We made several observations about the e-paper operating specifications.
First, it takes nearly 0.5 seconds to completely darken or clear a cell. In the video you can see the partial states created by switching the e-paper too fast. We’re not quite sure of the optimal change time, but between 0.25 and 0.5 seconds seems to be the minimum.
This also raised questions about the maximum change time. Does it damage the e-paper to apply current for longer than necessary? Does the e-paper continue to consume current as long as it’s applied, wasting the batteries? We took special care in our code to return all outputs to ground after a change to avoid a continuous current through the panel.
Clearing and darkening need to be done separately. It takes two complete operations to fully freshen the screen; one to clear old segments, one to darken new segments. A smart programmer will think they can save a cycle when only adding or removing items, and not doing both. This is true to some extent, but continuous manipulation of one cell without refreshing adjacent cells causes color ‘creep’. In the video, a flashing background without updates to any other segments swiftly drives the inactive segments to a mid-state between dark and light.
Driver board
The motorist consists of an eight-pin Microchip PIC12F629, two 4094 shift registers, and some supporting components.
Click here for a full size pin diagram of the e-paper motorist board(PNG).
Batteries
Esquire invited hacks of their cover with the rather lame suggestion of replacing the batteries. This makes sense, the covers were shipped all over the world in refrigerated containers to help extend the battery life. even with that effort, Esquire says that the batteries will last a few months.
Batteries 1-5 are in series and supply a 15-16volt switching current for the e-paper. The sixth battery supplies 3volts for the PIC. No word yet on which batteries die first. If you want to ‘replace’ your batteries, you’ll need to desolder the old ones, and supply a 5-16volt e-paper supply, and 3volt microcontroller supply, at the points indicated.
We eventually had to replace our microcontroller battery because we abused it a bit during development. A button battery holder with 20mm pin spacing will fit the existing holes. Mouser #534-106 will probably work, but this is unconfirmed.
4094 shift registers (IC1, IC2)
The shift registers switch the e-paper segment controls at 16 volts.
The two 4094 ICs are shift registers setup to cascade data from IC1 to IC2. This basic shift register is a minor variation on the 74HTC595 we used in our graffiti wall. The main difference is that the 4094 strobe line is usually low, and briefly pulled high to put new values on the output pins. We observed that the 4094 requires loNg zegar i impulsy stroboskopowe. Może to być spowodowane leniwym obwodem napędowym między zdjęciem a 4094 lub tylko naturą serii 4000.
4094 Mapa wyjścia segmentu
IC.
Wyjście
Adres
Połączenie
1.
P1.
0x01.
Front_box_symbol_dna.
1.
P2.
0x02.
Front_box_guy.
1.
P3
0x04.
Front_box_firators.
1.
Q4.
0x08.
Front_on_the_west_Aast.
1.
P5.
0x10.
Front_three_hours_later.
1.
Q6.
0x20.
Front_esquire.
1.
Q7.
0x40.
Front_box_girl.
1.
Q8.
0x80.
Front_now.
2.
P1.
0x100.
Front_begins.
2.
P2.
0x200.
Front_21st_century
2.
P3
0x400.
Front_background.
2.
Q4.
0x800.
Front_common.
2.
Q5.
0x1000.
Back_common.
2.
Q6.
0x2000.
Back_left.
2.
Q7.
0x4000.
Back_Center.
2.
Q8.
0x8000.
Back_right.
12F629.
Kliknij tutaj, aby uzyskać pełny rysunek schematyczny (PNG). Osiem PIC12F629 napędza rejestry zmiany biegów 4094, które kontrolują każdy segment e-papieru. Dwa szpilki są niewykorzystane (GP4, GP5).
Funkcja MCLR jest włączona z rezystorem R8. Konstrukcja nie zawiera diody, aby zabezpieczyć zdjęcie z prądu programowania 13VOLT. Microchip zaleca to, ale nie ma żadnych innych wrażliwych ICS udostępnianie obwodu, więc może projektant poczuł rezystor był wystarczający ochrona.
Trzy piny napędzają dane, zegar i linie stroboskopowe 4094 (GP0, GP1, GP2). 4094 musi być połączony z tym samym napięciem przełącza, 16 woltów, więc zdjęcie przełącza szpilki interfejsowe przez tranzystory. O ile możemy powiedzieć, linie sterujące 4094 są wyciągnięte wysoko z rezystorem. Zdjęcie przełącza tranzystor i ciągnie linię do ziemi. Interfejs do 4094 jest do tyłu. Zdjęcie High Pin jest postrzegany jako niski na rejestrze zmianowym, a niski jest postrzegany jako wysoki. Interfejs nie działa, chyba że odwrócił.
Szpilki programujące są przywiezione na nagłówek na górze PCB. Lutowaliśmy standardowy .1 “Nagłówek szpilki do dostarczonych otworów (mouser # 571-41033290). Dwa piny programujące, PGD i PGC, są udostępniane obwodami, które napędza rejestry zmiany. Udało nam się przeczytać urządzenie za pomocą debugera ICD2. Nie mogliśmy go przeprogramować, prawdopodobnie ze względu na sterownik rejestru zmiany biegów. Czy ktoś indywidualny miał sukces? Niezależnie od tego, że wspólny układ pin uniemożliwia wykonywanie debugowania w tym urządzeniu.
Połączenia PIC PIN.
Szpilka
Imię
Połączenie
1.
VDD.
+ 3.3WOLNO.
2.
GP5.
–
3.
GP4.
–
4.
GP3.
MCLR (program VPP)
5.
GP2.
4094 Strobe.
6.
GP1.
4094 Zegar (zegar programowy)
7.
GP0.
4094 Dane (Dane programu)
8.
Vss.
Grunt
Dotknij płyty
Łatwo jest wykorzystać do planszy i użyć go z ulubionym mikrokontrolerem. Wszystko, ale jeden z wymaganych sygnałów interfejsu są już wprowadzane do nagłówku. Linia stroboskopowa może być stukana przez za pomocą wskazanych przez strzałkę. Nie chcesz, aby zdjęcie przeszkadzało w nowym sterowniku, więc usuń go lub dezaktywuj go, odcinając kołek zasilający.
Biblioteka interfejsu
Naszym pierwszym wysiłkiem, aby prowadzić zarząd dotyczący naszego malutkiego serwera WWW firmy PIC24F. To było poręczne, a PIC24F jest łatwy do pracy. Udoskonaliliśmy naszą bibliotekę interfejsu na niskiej mocy MSP430. Oba wersje są w archiwum projektu (ZIP), ale wersja biblioteki MSP430 jest o wiele bardziej dojrzała.
Biblioteka zawiera rutynę oprogramowania bit-bang, funkcje do łączenia płyty i definicji adresów dla segmentu i linii wspólnych. Opcje w esquire_eink.H umożliwiają opóźnienie bitów i ustaw jej długość; Znaleźliśmy 4094 leniwy i potrzebującym długiego pulsu zegara. Funkcja initbang () ustawia kierunek kołków i musi zostać zmieniony w celu dopasowania do mikrokontrolera. Nazwij to lub ustawić sworznie IO do wyjścia gdzie indziej:
1.
Banginit (); // Ustaw piny Bitbang do wyjścia
Funkcja SETEG () Ustawia przekazane segmenty ciemne (1) lub czyste (0):
1.
2.
setseg (front_box_guy + front_background, 1); // SET (Dark) Segmenty te
setseg (front_21st_century, 0); // Clear (Light) Segmenty te
Funkcja SETEG () zawiera opóźnienie zmiany kolorów zdefiniowaną przez Eink_delay w einkire_eink.h. Pod koniec opóźnienia zwraca pinki rejestru zmianowe do ziemi. Chcemy unikać szkodliwych do papieru e-papieru lub marnowania baterii, chociaż tak naprawdę nie wiemy, czy jest to konieczne.
Jedną rzeczą, którą obserwowaliśmy na temat SetSeG () było to, że manipulowanie pojedynczymi komórkami powoduje sąsiednie komórki do regresu w kierunku średniej koloru. Opracowaliśmy funkcję SETDISPLAY () do zwalczania tego przez całkowicie odświeżanie wyświetlacza za każdym razem. SetDisplay () zawiera pauzę dla każdej zmiany, a następnie zwraca wyjścia rejestru zmiany do podłoża. Wystarczy zdać układ segmentu na całkowicie odświeżony wyświetlacz:
1.
setdisplay (front_esquire + back_left); // xx ciemny, wszystko inne jasne
Możesz uzyskać dostęp do rejestrów Shift bezpośrednio za pomocą funkcji Bangit (), ale rozważ powrót rejestrów przesunięcia wyjścia do “0” po zakończeniu zmiany koloru e-papieru. Możesz uszkodzić papier e-papierowy lub spowodować nadmierne odpływ prądu, jeśli go zostawisz, jeśli to rzeczywiście “rzecz”.
1.
2.
3.
Bangit (0B1110000000000000); // Włączone segmenty panelu
pauza (); // poczekaj na zmianę koloru
Bangit (0x0000); // zwróć wszystkie wyjścia na ziemię
Aby poradzić bibliotekę do swojego MICrocontroller, sprawdź konfiguracje PIN w Esquire_eink.H, a funkcja PIN Setup Banginit () w Esquire_eink.c. Należy mieć na uwadze, że kierunki PIN są odwrócone przez tranzystory interfejsu.
Umieszczenie go do użycia, zegar e-papierowy
Chcieliśmy zrobić coś korzystnego z pierwszym taniym panelem e-papieru konsumenckim. Musiało być coś dość łatwego, więc wiele osób może przetwarzać tę fajną technologię. Nie moglibyśmy się oprzeć robić tym, co mnóstwo tworzy się ze starym wyświetlaczem technicznym: Zegar. Schematyka, oprogramowanie układowe i szablony sztuki są w archiwum projektu (.zip).
Na e-papierze jest tak kilka segmentów, które możemy tylko częściowo reprezentować czas. Sześć segmentów pokazuje czas, każdy zanika, aby ujawnić czas do najbliższej dziesięciu minut obok godziny. Flashujemy także cukierki oczu na segmentach bez godziny panelu. Oto niestandardowa ramka, którą stworzyliśmy. Ta ramka i motyw, aby tworzyć własne, są zawarte w archiwum projektu (ZIP). Drukowaliśmy nasz ramkę lustrzaną, więc atrament jest chroniony przed zadrapaniami.
Sprzęt komputerowy
Zostaliśmy zainspirowani właściwościami niskiej mocy e-papieru do korzystania z linii MSP430 MSP430 MSP430 z 16-bitowych mikrokontrolerów. Dzięki idealnej konfiguracji MSP430 rysuje tak małą moc, że jest ograniczona tylko przez okres trwałości baterii. Możemy nawet dać oryginalnym projektantom biegać na swoje pieniądze i sprawdzić, czy możemy wykonać niższe urządzenie zasilające.
Najlepszą rzeczą w MSP430 jest to, że możesz otrzymać zestaw z programistą USB / debugger i płytą breakout dla tylko 20 dolców. Pochodzi z bezpłatnym komplementem C ograniczoną do 4K, ale F2013 ma tylko 2K pamięci. Jest to kompletne narzędzie rozwoju, bez lutowania. Dowiedz się więcej o pracy z MSP430 w tym jak do.
Schemat ten pokazuje, jak podłączyliśmy naszym MSP430 do płyty kierowcy e-papierowej. Kliknij tutaj, aby uzyskać pełną wersję (PNG). Rezystor 47K, MSP430 i dioda LED (nie pokazano) są dołączone na płycie do breakout.
Dodaliśmy 32.768KHz Crystal, aby zachować czas (Q1). Normalnie dodaliśmy również pewne kondensatory, aby utworzyć oscylator, ale MSP430 ma wbudowane regulowane kondensatory na P2.6 i P2.7.
Dodaliśmy również przycisk między P1.4 a P1.2 (S1). Wewnętrzny rezystor podciągający na P1.4 przytrzymuje wysoki przycisk, a nas uziemiliśmy przez P1.2. To nie jest najlepszy układ, prawdopodobnie byłby mądry, aby połączyć P1.2 do ziemi.
Przesuwamy pokładzie Breakout MSP430 nad sworzniami mocy i podłoża nagłówka programowania. Można również podłączyć zegar i szpilki do nagłówek, ale podjęliśmy decyzję o drodze ich wszystkich z przelotów pod spodem. Pamiętaj, aby usunąć zdjęcie, aby nie zakłóca sygnałów z MSP430.
Części
Numer
Koszt
Esquire E-Paper Cover
–
–
Zestaw Rozwoju MSP430 EZ430
EZ430USB.
20 USD
32.768KHz Crystal.
815-AB26T-32.768KHz
0,27 USD
Naciśnij przycisk
642-MJTP1250.
0,16 USD
Oprogramowanie
Oprogramowanie zegara jest napisane z bezpłatną wersją demo kompilatora TI / IAR Kickstart C dołączony do programatora EZ430.
MSP430 jest bardzo niską mocą. Wykorzystuje tylko 220ua w 1 MHz, ale mniej niż 6UA podczas snu. Kluczową dla długiej żywotności baterii jest utrzymanie uśpienia wiór w jak największym stopniu. Nasz kod zegara jest napisany na uwadze.
Używamy Timer_A z kryształem 32.768KHz, aby utworzyć przerwanie dwa razy w każdej sekundzie. Pierwszy kod wyzwalacza przerwań, który konfiguruje segmenty, które mają być wyświetlane, wysyła te wartości do papieru e-papieru, a następnie śpi przez następne 0,5 sekundy. Podczas gdy MSP430 śpi, wszystkie segmenty “OFF” mają czas na przejrzenie. Kolejne przerwanie odwraca kolejne linie w drugą stronę z podstawowym XOR, wyjścią wartości i idzie spać przez kolejne 0,5 sekundy. Następnym razem cykl rozpocznie się ponownie. Nie przejmujemy się tym, aby zresetować rejestry przesunięcia do pozycji “0”, ponieważ odświeżono regularnie w strumieniu. Segment Creep nie jest problemem, ponieważ odświeżyamy każdy segment każdego cyklu.
Przycisk prasuje wyzwala przerwanie, które zalicza czas do następnych 10 minut. Aby ustawić zegar, poczekaj, aż czas jest aspektem 10 minut obok godziny i naciśnij przycisk, aby pokazać korre