Dzień dobry,
to jest pierwszy wpis dotyczący zrobienia samemu kamery CCD, postaram się tu opisać kroki niezbędne/przydatne do tego, żeby zabrać się za takie zadanie. A zadanie jest równocześnie łatwe i trudne
w kolejnych częćiach tego wpisu odnajdziesz:
1. Wstęp o CCD, dla porządku, zdaję sobie sprawę, że prawdopodbnie istnieją lepsze...
2. Zastosowanie zasady działania CCD na konkretnym przypadku: KAF-1600. Przesuwanie pikseli do wzmacniacza.
3. Referencje - pare zebranych materiałów, artykułów, książek.
1.
Najpierw warto zrozumięć jak działa kamera CCD, a w szczególności sama matryca. Matryca CCD działa w ten sposób, że ma piksele ułożone na pewnej powierzchni. Istnieją matryce liniowe, wtedy ta powierzchnia jest długa i wąska - takich matryc używa się w przemyśle, np do skanowania produktów na taśmach. Można tez takich matryc używać w astronomi - w sytuacji kiedy nie zależy nam na powierzchni, a na długości, czyli np. robimy spektroskopie pojedynczych gwiazd. Też nie w każdym przypadku można użyć takiej matrycy, bo np. spektrografy echelle dają widma o bardzo dużej powierzchni w obu osiach. Matryc takich możemy szukać pod hasłem "ccd linear sensor", wygłądają np. w ten sposób:
Drugi rodzaj matryc, które można kupić, to matryce, które nas najczęściej interesują, czyli "ccd area sensor" - matryce o bardziej porównywalnych stosunkach długości boków. Matryce te mają tendencje do bycia bardzo drogimi, ale jeśli jesteśmy ryzykantami, to możemy spróbować wpisać KAF1600 (bez spacji!) na aliexpress i się okaże, że da się kupić taką matrycę za jakieś 50USD. Tak własnie zrobiłem i ja Czekałem na paczkę jakieś dwa tygodnie.
Matryca taka składa się z kawałka krzemu pod którym poprowadzona jest sieć połączeń elektrycznych. Te wewnętrzne kabelki mają zadanie genrować pole elektryczne za pomocą którego przetrzymywane i transportowane są ładunki elektryczne. Ładunki te biorą się stąd, że kiedy foton uderza w kawałek krzemu, to może wygenerować elektron(y).Te elektrony są gromadzone w czasie trwania ekspozycji, a po jej zakończeniu. transportowane w miejsce, w którym mogą być odczytwane. Jest tak, że w typowym ccd jest tylko jedno miejsce służące odczytywaniu wartości piksela. To jest zaleta i wada - ponieważ jest tylko jedno takie miejsce, to wszystkie piksele odczytywane są z tymi samymi niedoskonałościami, to jest korzystne kiedy robimy pomiary. Z drugiej strony jest to też wąskie gardło, przez które musimy przeprowadzić wszystkie piksele naszej matrycy. I w ten sposób doszliśmy do znanej ilustracji z wiadrami wody zbierającymi deszczówkę:
Piksele przesuwane są w stronę specjalnego rzędu pikseli (na ilustracji - w prawo), w tym rzędzie piksele przesuwane są do elementu odczytującego (w dół).
To wyjście (Output Amplifier) służące odczytywaniu pikseli jest wbudowane w chip ccd. Zamienia ono ładunki elektryczne na napięcie, które możemy odczytać za pomocą konwertera analogowo cyfrowego (ADC, Analog to Digital Converter, zamienia napięcie w Voltach, na liczbę zapisaną w bitach, od 0 do maksymalnej wartości danego konwertera, np 255 albo 65535).
Następnie to naszym zadaniem jest zapisać sobie liczbę, którą odczytaliśmy, pobrać następną liczbę, tak dla wszystkich pikseli, a potem zapisać w postaci obrazu, np fits, czy po prostu wysłać do komputera, a na komputerze utworzyć z tego plik graficzny.
Szczegółowiej o obrazowaniu CCD zachęcam przeczytać w "Handbook of CCD Astronomy", Steve B. Howell, albo jeszcze szczegółowiej "Electronic Imaging in Astronomy, Detectors and Instrumentation", Ian S. McLean.
2.
To tyle ogólników, to teraz trochę bardziej szczegółowo.
Żeby cały ten proces przebiegł musimy dostarczyć do chipu ccd odpowiednie zasilanie i sygnały sterujące. Jakie sygnały to musimy przeczytać w nocie katalogowej, dla KAF-1600 https://www.dropbox.com/s/inhi195kiz4xwh9/kaf1600.pdf?dl=0 odnajdujemy tabele zawierające "Operating conditions". Przeczytamy tutaj, że na konkretnych nóżkach naszego ccd ma się pojawić konkretne napięcie, żeby coś się zadziało. Teraz będziemy te napięcia zmieniać synchronicznie, zgodnie z instrukcją w nocie katalogowej, w moim pliku z dropboxa, to strona 10, "frame timing". Mają się pojawiąc napięcia te wyższe i te niższe, i piksele będą przesuwane. Np. w przypadku KAF-1600 żeby w linijce odczytującej piksele jechały do wzmacniacza (to tam gdzie odczytujemy napięcie) trzeba przemieniać wysokie (+6V) i niskie (-4V) stany na nóżkach H1 i H2, Analogicznie, kiedy już przeczytaliśmy całą linijkę, to przesuwamy piksele za pomocą sygnałow na V1 i V2 (napięcie wysokie, high: +0.5V i niskie, low: -8V). W tabeli podane są wartości nominalne oraz maksymalne i minimalne. Żeby wszystko działało wystarczy być z tymi napięciami gdziekolwiek pomiędzy minimum, a maximum, ale bezpiecznie jest być na wartości nominalnej. Czytając notę katalogową łatwo zauważyć, że niektóre nóżki się powtarzają. Należy je wtedy zewrzeć ze sobą (na zewnątrz, jak będziemy projektować płytkę), nigdy nie pozostawiamy nóżki nie podłączonej do niczego, chyba, że nota katalogowa mówi inaczej (N/C - not connected) Ale skąd wziąć te napięcia? Odpowiednie napięcia możemy uzyskać dzięki stabilizatorom napięcia i specjalnym układom scalonym, driverom, dedykowanym CCD: "Vertical CCD Driver" oraz "Horizontal CCD Driver"
Pozostaje jeszcze zamienić napięcie ze wzmacniacza na sygnał cyfrowy. Do tego służa konwertery analogowo cyfrowe. Chyba najważniejsza cecha charakteryzująca takie układy, to na ile kroków (bitów) potrafią podzielić odczytywane naięcia. Np. 12-bitowy konwerter da nam 4096 poziomów, które odczytujemy,a 16-bitowy da 65536 poziomów. Prawdę mówiąc nie wiem jakie są wady użycia 16-bitowego konwertera, no może trochę na siłę, to że pliki otrzymywane będą większe, bo każdy piksel zajmie 4 bity więcej. Ważne jest, żeby zrozumieć, że ta ilośćodczytywanych poziomów, nie spowoduje, że gwiazdy siębędą wcześniej saturować ani nic takiego. To oznacza, że pomiędzy pikselem całkowicie czarnym, a całkowicie białym, będzie wiecej pośrednich poziomów, czyli odczytamy precyzyjniej informację.
Skoro juz mam gdzieś podaną liczbę w postaci cyfrowej, to wypadałoby coś z nią zrobić. I tu istnieje kilka rozwiązań. Niektórzy tworzą interfejs USB, którym wszystkim sterują i za pomocą ktorego po kolei pobierają na komputer wartość każdego piksela. Ja zdecydowałem się na użycie mikrokontrolera, którego wsad będzie sterował zachowaniem matrycy, migawki oraz mierzył temperaturę. Komputer będzie komunikował się z tym mikrokontrolerem, wysyłał komendy, które mikrokontroler będzie wykonywał (np. rozpocznij ekspozycję, zmierz temperaturę, podaj mi temperaturę, wyślij mi obraz). Zdecydowałem się na takie rozwiązanie, ponieważ moim zdaniem jest ono łatwe. Stosunkowo łatwo pisze się wsady do mikrokontrolerów (AVR-ów), a już na pewno ułatwieniem jest platforma ASCOM, która bardzo wiele rzeczy zrobi za mnie.
3.
Na koniec chciałbym jeszcze zebrać tutaj garść pomocnych linków, tytułów, materiałów, z których ja korzystałem i które mogą pomóc wszystkim zainteresowanym.
dośc już stare projekty:
http://www.cfht.hawaii.edu/~baril/Pyxis/
http://www.astrosurf.com/audine/English/index0.htm
http://www.willbell.com/ccd/ccd5.htm
najaktualniejszy projekt jaki znam, część wpisów jest po angielsku. Jest temu projektowi poświecony ogromny wątek na Cloudy Nights. Pierwsze strony są na tyle stare, że linki są nieaktywne...
http://astroccd.org/
http://www.cloudynights.com/topic/497530-diy-astro-ccd-16-bit-color-6mpx-camera/
Książki:
"Handbook of CCD Astronomy", Steve B. Howell
"Electronic Imaging in Astronomy, Detectors and Instrumentation", Ian S. McLean.
Artykuły - na NASA ADS można wpisać "ccd camera" - wychodzi wtedy bazyliard artykułów, w części z nich można znaleźć naprawdę ciekawe rzeczy:
http://adsabs.harvard.edu/cgi-bin/basic_connect?qsearch=ccd+camera&version=1
- 9
4 komentarze
Rekomendowane komentarze