Gå till innehåll

Nattbelysningsfader....


Benighted

Rekommenderade inlägg

Grävde lite i elektroniklådan idag och byggde upp en liten sak till karet.

Har upplevt att mina LED lister (köpta på CO) har varit för ljusstarka för att använda som nattbelysning för karet. Så jag tog en billig microcontroller (PIC12F683) och byggde en nattbelysningsfader, dess funktion är att modellera om ljuset på LED listen så att det sakta går ner i ljusstyrka tills de når en lagom styrka att vara som nattbelysning.

Såhär ser prototypen på labbkort ut:

attachment.php?attachmentid=52414&stc=1&d=1295219134

Strömmen ifrån LED-transformatorn kommer in via de svarta kablarna, en del regleras ner med en 7805 (övre vänstra svarta komponenten) för att användas för controllerns strömförsörjning. Mikrokontrollern (svarta IC-kretsen i mitten, genererar en PWM signal som styr en effekttransistor (övre högra svarta komponenten) som pulsar strömmen till LED-listen. som är inkopplad via de vita kablarna.

Den har en ljus-sensor (som inte är med på bilden tyvärr) som meddelar mikrokontrollern när ljuset slocknar, då börjar den sakta dra ner ljusstyrkan under nån timme. Ska även lägga in funktionalitet för att den ska vara lite smart, den ska vara självlärande genom att räkna antalet tidsenheter mellan att det slocknar tills det tänds över karet, spara värdet i minnet och ta ett medelvärde under några dagar. Detta för att försöka göra en upprampning av ljuset ifrån LED-listen inför att belysningen över karet ska tändas...

Men neddragningen av ljusstyrka funkar bra nu i.a.f. :)

Kul enkel grej tycker jag, ritningar och komponentlistor kommer upp lite senare.

post-4092-14468921095587_thumb.jpg

Ändrat av Benighted
Länka till kommentar
Dela på andra sidor

Misstänker att det här är fråga om "slap it together and it just works" enheter. (Inga kalibreringsverktyg borde behövas)

Med andra ord, om Jani kan övertalas att släppa ifrån sig programmerade pic'ar är det en skitsak att bygga de här. Och jag är definitivt intresserad. Retar mig alltid på att det "sprätter till" i baljorna när ljuset tänds, och det borde ju inte hända om fiskarna får en förvarning.

Kan man även peta in en styrning på 1-10v för att köra dagljuset på hade det varit underbart, men det är ju mina egna behov som spökar där.

B!

Länka till kommentar
Dela på andra sidor

@Marko: Klart alla har PIC kretsar som ligger och skräpar i byrålådan? eller?

@B: Japp, tanken med dessa är att det ska vara väldigt enkla enheter, tycker ofta lösningar som man ser är lite överarbetade, det finns ofta väldigt enkla lösningar som kan göra samma sak bara man tänker till lite. Har tänkt att använda några av de överblivna pinnarna som finns för att sätta byglar som gör att man kan välja nattbelysningens styrka, och tiden under vilken ljusstyrkan regleras. Har även försökt tänka till att delarna jag använder ska vara enkla standardkomponenter som vem som helst kan få tag i och använda istället för mer ovanliga komponenter som man måste beställa ifrån elektronikspecialister. Tror allt för denna enhet går att köpa på Kjell&Co...

Har också stört mig på att djuren skräms när belysningen tänds och släcks, så tänkte göra nånting åt det :)

Lite OT:

0-10V reglering är ju inte svårt att lägga till egentligen, men ska fundera på vilket sätt som är det smartaste, för då måste man ju ha timerfunktionalitet i kretsen (högre spec:ad krets), eller det enklaste sättet, en yttre timer som vanligt, men med stödet att den reglerar upp ljuset under en viss tid när stömmen slås på, och på liknande sätt som på denna krets, att den lär sig när strömmen ska slås av och gör en best-effort på att dra ner ljuset innan det sker...

Håller på och tittar på stöd för DALI-balaster som jag har över mitt egna kar också...

Finns lite funderingar på en "enkel" enhet med ljusstyrning som reglerar ljusstyrka ifrån Solens och månens uppgång (och fas) över ett tropiskt hav och reglerar ljuset efter beräkningar av dessa. Detta för att skapa en så naturlig miljö som möjligt för djuren, det som jag tycker är intressant att se i karet är att när jag drog igång min nattbelysning första gången över karet och snäckorna satte direkt igång och snuskade sig, och det är ju känt att koraller förökar sig sexuellt beroende på månens faser, så av ren nyfikenhet vill jag experimentera med vad som sker beroende på månfaser med mera.

Jag har som ni kanske upptäckt en lite decentraliserad tanke över mina enheter, har tidigare funderat på att göra en allvetande all-styrande akvariedator, men ju mer jag har tänkt på det desto mindre tilltalas jag av idén. Tycker det är bättre med flera specialiserade enheter än en generell enhet som man försöker göra allt med. Sen går det går ju alltid att sätta en enkel bus som gör att man kan kommunicera med de olika enheterna och presentera värden, göra inställningar med mera, men att varje enhet får göra det den gör bäst för sig själv. Det klassiska Specialist-Generalist tankarna, jag tycker personligen bättre om specialister som gör saker rätt, istället för en generalist som gör massa saker halvtasktigt (typ jämföra hifi-spelare, systemkamera, och telefon mot en modern mobil som gör allt, men inget direkt bra).

Länka till kommentar
Dela på andra sidor

Det klassiska Specialist-Generalist tankarna, jag tycker personligen bättre om specialister som gör saker rätt, istället för en generalist som gör massa saker halvtasktigt (typ jämföra hifi-spelare, systemkamera, och telefon mot en modern mobil som gör allt, men inget direkt bra).

Men nu är väl ändå inte tanken att mobilen skall ersätta dessa utan snarare backup / extra bonus.

I fall där kvalitén inte är så noga (bara att sakerna fungerar bra) så vill man väl ändå ha så mycket komponenter internt som möjligt...

Eller har du en miniräknare som räknar plus, en som räknar minus etc.

Men helt klart en smart / bra lösning för en billig peng ;)

Länka till kommentar
Dela på andra sidor

Lite OT:

0-10V reglering är ju inte svårt att lägga till egentligen, men ska fundera på vilket sätt som är det smartaste, för då måste man ju ha timerfunktionalitet i kretsen (högre spec:ad krets), eller det enklaste sättet, en yttre timer som vanligt, men med stödet att den reglerar upp ljuset under en viss tid när stömmen slås på, och på liknande sätt som på denna krets, att den lär sig när strömmen ska slås av och gör en best-effort på att dra ner ljuset innan det sker...

När jag skrev det tänkte jag mig en best effort lösning. Har den ingen aning om när ljuset tänder så blixtrar det till och går till full ljus styrka, ett par dagar senare har den lärt sig när det är dags, och snyggar till ljus upp och ned. Hade man bara velat att den skulle styra 'ljus på' hade det antagligen varit enklare att bygga en dimmer som under x minuter drar upp styrspänningen från 1 till 10v, men då får man ingen solnedgång.

B!

Länka till kommentar
Dela på andra sidor

Men nu är väl ändå inte tanken att mobilen skall ersätta dessa utan snarare backup / extra bonus.

I fall där kvalitén inte är så noga (bara att sakerna fungerar bra) så vill man väl ändå ha så mycket komponenter internt som möjligt...

Eller har du en miniräknare som räknar plus, en som räknar minus etc.

Men helt klart en smart / bra lösning för en billig peng ;)

Jupp, det är en lösning jag gillar i.a.f.. Kostade mig bara några delar som jag redan hade sen tidigare (och om jag behövt köpa delarna så hade det nog varit för ett total kostnad av kanske 40-50kr), istället för att köpa en akvariedator för 6000kr för att reglera belysningen.. :)

OT:

Jo, men problemet är att mobilerna inte ens fungerar bra som telefon nuförtiden utan bara är bonusfeatures (som inte heller fungerar bra de), det är det som är problemet... och om kamera enheten har en bugg i sig och låser CPU:n telefonen så gör den det omöjligt att ringa 112 i en kris utan att starta om den osv, var det så smart att ha den funktionen i den då?

Oviktiga delar kan man ha i en generalist enhet, men kritiska funktioner vill inte jag att de ska kunna låsas upp av en oviktig process.. Hur många gånger har inte det hänt på eran dator, du försöker starta en presentation på ett föredrag (viktig process), men datorn segar ihop för att t.ex. spotify (oviktig process) har hängt sig i bakgrunden. Där är det pinsamt, men om nåt sånt sker för t.ex. ph-reglering, värmestyrning, pumpstyrning i karet så kan det sluta med massdöd, inget jag vill bygga till mitt kar i.a.f.

Om man istället har några oberoende specialist enheter och ett oberoende varningssystem så bör det bara vara en enhet som gör fel vid en viss tid (och gör fel mer sällan för att varje enhet har en enkel huvudloop)... Hade allting varit möjligt att göra smidigt i en stor produkt med endast en CPU hade det ju varit trevligt, men efter att ha jobbat med mjukvaruutveckling i 5år har jag ju insett att det inte går att göra stora projekt utan att det blir problem med kod-komplexitet/concurrency/context-switchning som ger konstiga och svår-testade/-replikerade fel, därför har jag i kritiska applikationer börjat mer och mer gått över i tankar kring decentraliserad struktur med enkla enheter som går snabbt och smärtfritt för en privatperson att utveckla.

Om det skulle vara så att en miniräknare hade problem med att göra alla sakerna i en enhet så skulle jag ha en kärna för varje operation som sen kommunicerar med en centralenhet med display och knappar, istället för att göra en som räknar nästan rätt.. Thats the difference :D

Det sättet jag gör det på är inte det billigaste eller mest tidseffektiva, men gör att jag kan lägga till små enheter allt-eftersom jag behöver dem, gör man en stor enhet direkt och inte tänkt på en del så måste man designa om, och göra om hela enheten, och jag hade aldrig blivit klar med den då komplexiteten gjort att jag tröttnat på att utveckla den. Med denna tanke är det bara att göra om en liten delenhet och den kan jag utveckla på några dagar när lusten faller på.

Men det är som sagt lite en fråga om hur man är som person, jag gillar flera enkla enheter som gör sitt jobb istället för en stor koloss som ska göra allt i ett. Större företag har möjligheten att göra en bra akvariedator och testa delarna tillräckligt bra, jag har inte orken eller intresset att göra det :)

Men jag är ett missfoster, det är jag medveten om, och är faktiskt nöjd över att inte vara som "alla" andra.

Jahupp, blev lite långt det här, sorry :D

Länka till kommentar
Dela på andra sidor

Oviktiga delar kan man ha i en generalist enhet, men kritiska funktioner vill inte jag att de ska kunna låsas upp av en oviktig process.. Hur många gånger har inte det hänt på eran dator, du försöker starta en presentation på ett föredrag (viktig process), men datorn segar ihop för att t.ex. spotify (oviktig process) har hängt sig i bakgrunden. Där är det pinsamt, men om nåt sånt sker för t.ex. ph-reglering, värmestyrning, pumpstyrning i karet så kan det sluta med massdöd, inget jag vill bygga till mitt kar i.a.f.

Om man istället har några oberoende specialist enheter och ett oberoende varningssystem så bör det bara vara en enhet som gör fel vid en viss tid (och gör fel mer sällan för att varje enhet har en enkel huvudloop)... Hade allting varit möjligt att göra smidigt i en stor produkt med endast en CPU hade det ju varit trevligt, men efter att ha jobbat med mjukvaruutveckling i 5år har jag ju insett att det inte går att göra stora projekt utan att det blir problem med kod-komplexitet/concurrency/context-switchning som ger konstiga och svår-testade/-replikerade fel, därför har jag i kritiska applikationer börjat mer och mer gått över i tankar kring decentraliserad struktur med enkla enheter som går snabbt och smärtfritt för en privatperson att utveckla.

Hosted applikationer med hjälp av citrix eller liknande, ha en virtuell bubbla med allt separat så slipper man problem med krockar etc :)

Din dator kör i sina ögon bara en applikation och alla programen körs remote på helt separata servrar :)

Länka till kommentar
Dela på andra sidor

Gå med i konversationen

Du kan posta nu och registrera dig senare. Om du har ett konto, logga in nu för att posta med ditt konto.

Guest
Svara på detta ämne...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Ditt tidigare innehåll har återskapats.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Skapa Ny...