Oświetlenie Akwarium

...nasze mody latarek, projekty, pomysły...

Moderatorzy: midi, DNF, krzycho_, kodi, lennin, pawelsz, df, ElSor

Awatar użytkownika
Pyra
Posty: 9212
Rejestracja: niedziela 02 sie 2009, 20:35
Lokalizacja: Gądki

Re: Oświetlenie Akwarium

Post autor: Pyra »

Witam

Wczoraj popracowałem przy starym sterowniku, w celu zabudowy nowego transformatora, przesunąłem płytkę sterującą, przy okazji znalazłem uszkodzony przewód do sterowania przetwornicami LED.
Musiałem też wymienić 2 szt. białych XPG, bo padły po kilku miesiącach, jedna chyba po dwóch. Jeden szereg zmieniłem na 4 szt. SST-40 6500K, pozyskane sprawne poszły w miejsce uszkodzonych.
Wyświetlacz już się kończy, wyregulowałem kontrast, ale niewiele to dało, docelowo trzeba by go wymienić.

W nowym projekcie, żmudna dłubanina. Po całym dniu dzisiejszym, mam zrobione rozjaśnianie i ściemnianie oświetlenia i płynną zmianę temperatury (rano - wieczór). Tu napisałem kilka warunków rozróżniających stany. Jeśli trwa rozjaśnianie lub ściemnianie (lub zmiana temperatury) to mamy pół słoneczka, jeśli proces dobiegnie końca, to następuje zmiana na całe słoneczko (żółte) lub księżyc (biały).
Napisałem obsługę EEPromu, ustalanie adresów, konwersja liczb na bajty itp. Trochę było roboty.
Zmieniłem koncepcję obliczeń, zmienne float (zmiennoprzecinkowe) zamieniam na word (2 bajty) poprzez mnożenie przez 100. Dopiero na tych danych dokonuję obliczeń.
Czas też zmieniam, bajt godzin i minut łączę w jedną liczbę i tak porównuję w celu rozpoznania dnia i nocy.

PID niestety nie daje pełnej temperatury, lecz stabilizuje około 0,05 poniżej zadanej. Może się trochę poprawi, gdy wydłużę interwał pomiarowy co da możliwość zwiększenia dokładności regulacji. Teraz jest około 7s, docelowo chciałbym osiągnąć jakieś 5 - 10 minut, dostosowując do bezwładności ośrodka. Aktualnie mam 8 jednostek czasu, a celuję w 256 - 500.

Niestety nie do końca zrozumiałem zasadę wyświetlania znaków, i miałem kłopoty z zamazywaniem poprzedniej ikonki (słoneczko). Dodanie spacji nic nie dawało, bo zamazywała się np. połowa znaku. Docelowo najpierw zamazuję spacjami, potem dopiero drukuję. Nowy znak wyświetla się tylko jeśli nastąpiła zmiana. Ikonki wyświetlane są stabilniej, ale doszły kolejne warunki.
Zostało mi jeszcze 7kB na menu, jak mi zabraknie pamięci, to będę kombinował ze zmniejszeniem kodu.
Aktualnie:
"Szkic używa 23676 bajtów (77%) pamięci programu. Maksimum to 30720 bajtów.
Zmienne globalne używają 691 bajtów (33%) pamięci dynamicznej, pozostawiając 1357 bajtów dla zmiennych lokalnych. Maksimum to 2048 bajtów."

Pozdrawiam
Izali miecz godniejszy niżli topór w boju?
Piszmy po polsku, wszak jesteśmy Polakami.
Awatar użytkownika
Pyra
Posty: 9212
Rejestracja: niedziela 02 sie 2009, 20:35
Lokalizacja: Gądki

Re: Oświetlenie Akwarium

Post autor: Pyra »

Witam

Ostatnie prace, posunęły projekt o kilka rzeczy.
Najważniejsze, to zostało zrobione sterowanie oświetleniem. Przyjąłem dwa warianty, które mogą być stosowane osobno lub łącznie
Przy przejściu porannym, oświetlenie zmienia się od minimum do pełnej jasności. Po osiągnięciu pełnej jasności, załącza się dodatkowy przekaźnik, którym można załączać dodatkowe oświetlenie w postaci żarówek czy świetlówek, lub zespołu lamp LED na 230V. Czas rozjaśniania (i ściemniania) to około 30 minut. Aktualnie jest ustawiona opcja "oświetlenia nocnego", jak poczuję potrzebę to jeszcze dołączę możliwość zmiany tego parametru w menu.
Przy przejściu wieczornym, najpierw gaśnie oświetlenie dodatkowe, a potem zaczyna się ściemnianie LED.
W obu przypadkach, wartość PWM jest zwiększana lub zmniejszana w zakresie od 2 do 128, pomiędzy 128 a 255, następuje jednorazowy przeskok.
Jeśli chodzi o regulację jasności PWM, to szczególnie przy minimum, następują przeskoki jasności, chcę to wyeliminować przez zastosowanie układu RC o bardzo długim czasie, który będzie łagodził przejścia. Szczególnie jest to widoczne na pierwszych 4-ch poziomach jasności. Tu jeszcze chyba dobuduję jedną opcję, wyjście Enable do ewentualnych przetwornic zasilających LED.
Pomiar i wyświetlenie temperatury następuje co minutę, natomiast cykl termostatu, został wydłużony do 5 minut, i dało mi to rozdzielczość czasów załączenia grzałki na poziomie 25, mam nadzieję, że to wystarczy. Zasadniczo, mogę cykl wydłużyć nawet do 10 minut, i wtedy rozdzielczość wzrośnie do 50.

Zrobiłem też menu, które umożliwia zmianę nastaw czasu rozpoczęcia cyklu dnia oraz nocy, niestety, nie zrobiłem sprawdzania, czy rano < wieczór, ale zostawiam to inteligencji obsługującego. Dalej mam możliwość zmiany temperatury dnia i nocy. Zmiany dokonywane są osobno dla godzin i minut (osobna pozycja menu) ale wyświetlam pełny czas w formacie hh:mm.
Zastanawiam się czy zrobić możliwość zmiany czasu, na razie z tego zrezygnowałem w związku z bardzo dużą precyzją zegara. Zasadniczą jego rolą jest ustalanie punktu przełączenia dnia i nocy, a nie wskazywanie dokładnego czasu. Przyroda w końcu też nie zna zmiany czasu z zimowego na letni itp.
Temperaturę mierzę i przeliczam z rozdzielczością 0,01°C, natomiast wyświetlam i ustawiam z precyzją 0,1°C. Temperaturę zmieniam "na raz" w zakresie od 18°C do 35°C
Proces zmian parametrów niestety zatrzymuje wyświetlanie zegara, jednak samo menu już nie. Dodatkowo zrobiłem zabezpieczenie, które przy braku reakcji w ciągu 10s, powoduje automatyczne opuszczenie menu.
Zostało mi jeszcze 4kB pamięci, więc ewentualne modyfikacje jeszcze są możliwe.

Pozdrawiam
Izali miecz godniejszy niżli topór w boju?
Piszmy po polsku, wszak jesteśmy Polakami.
Awatar użytkownika
Pyra
Posty: 9212
Rejestracja: niedziela 02 sie 2009, 20:35
Lokalizacja: Gądki

Re: Oświetlenie Akwarium

Post autor: Pyra »

Witam

Jako że ma być regulacja jasności LED, ale dużej mocy na oświetlenie nie przewiduję, będzie to niecały metr taśmy 12V zasilanej 11V, więc postanowiłem zrobić regulator analogowy. Jako element wykonawczy będzie pracował LM317 / LM350.
Obrazek
Jak widać układ jest bardzo prosty, a co za tym idzie, powinien być bardzo niezawodny.
Na wyjściu otrzymujemy napięcia z zakresu 7,5V - 11V, czyli światło księżyca, oraz słoneczko, chociaż bez szaleństw, dodatkowo przecież będzie światło dzienne. Dodatkowe światło, jednak przydaje się ze względu na obserwację wnętrza, oraz sam proces rozjaśniania i ściemniania.
Jeśli chodzi o wersję pełnego oświetlenia LED, będą to standardowe przetwornice sterowane napięciem, analogicznie jak w pierwotnym projekcie.
Wejście sygnału PWM z procesora, jest tu przedstawione jako napięcie V2. Kondensator jest tu w celu przefiltrowania sygnału PWM, i wygładzenia do napięcia stałego. Układ jest tak obliczony, że przy pełnym napięciu, w zasadzie działa na rezystorach, Napięcie uzyskane z PWM, jest zbliżone do normalnego napięcia panującego w punkcie przyłączenia, czyli u zbiegu rezystorów R2, R3 i R5.

Pozdrawiam
Izali miecz godniejszy niżli topór w boju?
Piszmy po polsku, wszak jesteśmy Polakami.
ODPOWIEDZ