Fórum témák
- • Multiméter problémák
- • 3D nyomtatás
- • Quad 405-ös erősítő tapasztalatok és hibák
- • Sprint-Layout NYÁK-tervező
- • ZC-18 kazán
- • Gázkazán vezérlő hibák
- • Érdekességek
- • Erősítő építése elejétől a végéig
- • Kondenzátor feltöltés
- • Számítógép hiba, de mi a probléma?
- • Alternativ HE találkozó(k)
- • Lemezjátszó beállítása, javítása
- • Klíma szervizelés, javítás
- • Quantum véletlenszámgenerátor
- • V-FET és SIT erősítő kapcsolások
- • Villanyszerelés
- • Villanymotor
- • Általános antennás kérdések, válaszok
- • Kombikazán működési hiba
- • Erősítő mindig és mindig
- • Audiofil, High End Audio
- • Felajánlás, azaz ingyen elvihető
- • LCD kijelző vezérlése, életre keltése
- • Vicces - mókás történetek
- • LM1875, LM3875, LM3886, stb. TI végerősítők
- • XBOX kiegészítők, javítások átalakítások
- • Multiméter - miért, milyet?
- • TV hiba, mi a megoldás?
- • EMG TR-0463 funkciógenerátor
- • Mosógép vezérlők és általános problémáik
- • Áramlökés határoló lágyindító
- • Állandómágneses motorok és generátorok építése
- • Fejhallgató erősítő
- • Műveleti erősítő
- • Kaputelefon
- • PLC kérdések
- • Napelem alkalmazása a lakás energia ellátásában
- • Előerősítő
- • Hegesztő inverter javítás
- • HESTORE.hu
- • Li-Po - Li-ion akkumulátor és töltője
- • Arduino
- • Mikrohullámú sütő javítás, magnetron csere, stb.
- • Villanypásztor
- • Rendelés külföldről (eBay - Paypal)
- • Kapcsolóüzemű táp 230V-ról
- • Csere-bere
- • Savas akkumulátor
- • Elfogadnám, ha ingyen elvihető
- • Áramváltó trafóval áram mérés, hogy?
- • Elektromos sertéskábító
- • DC motor/lámpa PWM szabályzása
- • IMI villanymotor
- • Műhelyünk felszerelése, szerszámai
- • Codefon kaputelefon
» Több friss téma
|
Fórum » Lemenő/felmenő Napfény imitálása digitálisan
Sziasztok,szeretnék egy olyan áramkört létrehozni ami a felmenő ill, a lemenő napfényt imitálja akváriumi környezetben.
Tehát egy időzítővel kellene napfelkeltekor növelni a a fény erejét majd este ugyanez ellenkezőleg csökkenteni a fényerőt ezzel imitálva a természetes fényviszonyokat.
Aki tud segíteni ebben a dologban azt megköszönném.
PIC-el el lehetne intézni mindent. Az időzítést, és pwm-el fényerőt szabályozni. Már csak az a kérdés ki írja meg rá a programot.
Szia! Szerintem a legegyszerűbb, ha kiraksz egy fényérzékelőt a szabadtérbe, esetleg az ablakba, és azzal vezérled az akváriumi lámpát.
Igen tudom, picel lehet, lehet ott atmellel is. Egyenlőre most a séma érdekelne, hogy lehetne összekapcsolni a vezérlést a teljesítmény elektronikai részével, szóval valami elvi kapcsolási rajz kellene
Ez szerintem ezért nem lenne jó, mert az akvárium trópusi, a trópusokon meg nem délután 4-ig van világos
Helló!!
Hát igen.Elég érdekes téma.A megoldás nm olyan nehéz csak programozói tudás kell hozzá.Írsz vagy keresel egy kész óra programot, persze mikrokontrollerest. Feltételt és/vagy ciklust használva megvizsgálod,hogy ha ... óra van, akkor a pin kimenetén lévő fénytest erősebben vagy gyengébben világít. Ezt nem digital hanem analog módonkell vezérelni.Olyan lesz mint egy digitális potencióméter.Én Arduino-ban programozok, adok egy példát:
/*
An open-source clock for Arduino. This project will be enhanced on a regular basis
(cc) by Rob Faludi
http://www.faludi.com
http://creativecommons.org/license/cc-gpl
*/
#define vers = "1.01"
#define ledPin 13
#define secondPin 4
#define minutePin 5
#define hourPin 6
#define weekdayPin 7
int second=0, minute=0, hour=0, weekday=1; // declare time variables
// these time variables are declared globally so they can be used ANYWHERE in your program
void setup() {
blinkLED(ledPin, 4, 100); // blink an LED at the start of the program, to show the code is running
Serial.begin(9600); // start up serial communications
pinMode(secondPin, INPUT); //pins for normally closed switches to set the time
pinMode(minutePin, INPUT);
pinMode(hourPin, INPUT);
pinMode(weekdayPin, INPUT);
digitalWrite(secondPin, HIGH); // writing an input high turns on pull-up resistors
digitalWrite(minutePin, HIGH);
digitalWrite(hourPin, HIGH);
digitalWrite(weekdayPin, HIGH);
}
void loop() {
static unsigned long lastTick = 0; // set up a local variable to hold the last time we moved forward one second
// (static variables are initialized once and keep their values between function calls)
// move forward one second every 1000 milliseconds
if (millis() - lastTick >= 1000) {
lastTick = millis();
serialOutput();
second++;
}
// move forward one minute every 60 seconds
if (second > 59) {
minute++;
second = 0; // reset seconds to zero
}
// move forward one hour every 60 minutes
if (minute > 59) {
hour++;
minute = 0; // reset minutes to zero
}
// move forward one weekday every 24 hours
if (hour > 23) {
weekday++;
hour = 0; // reset hours to zero
}
// reset weekdays on Saturday
if (weekday > 7) {
weekday = 1;
}
checkButtons(); // runs a function that checks the setting buttons
}
void checkButtons() {
static boolean secPressed=false, minPressed=false, hourPressed=false, wkdayPressed=false; //track button state
if (digitalRead (secondPin)==LOW && secPressed == false) { // if a normally closed switch is pressed
second++; // advance by one second
secPressed = true; // note the pressed state
}
if (digitalRead (secondPin)==HIGH) secPressed = false; // reset the state when the button is released
if (digitalRead (minutePin)==LOW && minPressed == false) {
minute++;
minPressed = true;
}
if (digitalRead (minutePin)==HIGH) minPressed = false;
if (digitalRead (hourPin)==LOW && hourPressed == false) {
hour++;
hourPressed = true;
}
if (digitalRead (hourPin)==HIGH) hourPressed = false;
if (digitalRead (weekdayPin)==LOW && wkdayPressed == false) {
weekday++;
secPressed = true;
if (digitalRead (weekdayPin)==HIGH) wkdayPressed = false;
}
}
void printWeekday (int dayNum) {
// print a weekday, based on the day number
switch (dayNum) {
case 1:
Serial.print ("Sunday");
break;
case 2:
Serial.print ("Monday");
break;
case 3:
Serial.print ("Tuesday");
break;
case 4:
Serial.print ("Wednesday");
break;
case 5:
Serial.print ("Thursday");
break;
case 6:
Serial.print ("Friday");
break;
case 7:
Serial.print ("Saturday");
break;
}
}
void serialOutput() {
// this function creates a clock you can read through the serial port
// your clock project will have a MUCH more interesting way of displaying the time
// get creative!
printWeekday(weekday); // picks the right word to print for the weekday
Serial.print(", "); // a comma after the weekday
Serial.print(hour, DEC); // the hour, sent to the screen in decimal format
Serial.print(":"); // a colon between the hour and the minute
Serial.print(minute, DEC); // the minute, sent to the screen in decimal format
Serial.print(":"); // a colon between the minute and the second
Serial.println(second, DEC); // the second, sent to the screen in decimal format
}
// this utility function blinks the an LED light as many times as requested
void blinkLED(byte targetPin, int numBlinks, int blinkRate) {
for (int i=0; i<numBlinks; i++) {
digitalWrite(targetPin, HIGH); // sets the LED on
delay(blinkRate); // waits for a blinkRate milliseconds
digitalWrite(targetPin, LOW); // sets the LED off
delay(blinkRate);
}
}
Na és beteszed ezt a progiba:
...
void setup(){
...
int digitalpotiPin; //létrehoztuk a PIN működéséért és létrejöveteléért szolgáló változót
pinMode(digitalpotiPin, OUTPUT); //deklaráljuk,hogy a pin egy kimenet
...
}
...
void loop(){
...
if(hour<=12 && hour>=7){ //ha 7 és 12 óra között van a köv parancs megy végbe:
analogWrite(digitalpotiPin,75); // a fénytest gyengén villog (hisz reggel van)
};
...
}
Tehát nem olyan bonyolult, csak kell legyn egy kész Arduino panel bootloaderestől beégetve és kell ismerned a nyelvet. Persze én most nem eröltetek senkit,hogy tanulja meg. Csak próbáltam segíteni. De szinte biztos vagyok,hogy erről a nyelvről még nem is hallottál.
Van más megoldás is.
Mittudom én PWM, vagy egyszerű analóg kapcsolási rajz,fotoellenállással,vagy fototranzisztorral.
De hátha akad valaki aki megírja neked ezt a progit pl. MPLAB-ba és/vagy olyan nyelvre, amelyre neked van pl. égető,vagy ismered vagy...
Sok sikert!! A hozzászólás módosítva: Feb 15, 2014
Szerintem a legmegfelelőbb csatoló eszköz az optotriak, esetleg az optocsatoló.
Szia!
Tekintettel arra, hogy akváriumi környezetben szeretnéd használni, fontosnak tartom, hogy ne hálózati feszültségről üzemeljen, hanem törpefeszültségről, az élet- és balesetvédelem érdekében. Ekkor a legegyszerűbb vezérlés a PWM. Az egyenirányított, szűrt tápfeszültséget valamilyen tranzisztorral meg kell szaggatni, ezzel az eljárással a táp effektív értékét változtatva lehet a fényerőt szabályozni. PWM vezérlésre van néhány téma a fórumon, ez ügyben nézz szét a keresővel.
Nem ezt a nyelvet nem ismerem, kicsit olyan C és java keveréke, nem a programozás zavar engem, azt én is meg tudom írni (azt hiszem  ) égetőm is van, Egy kacsolás kellene hogy mi mivel van összekötve és hogy lehet a legegyszerűbben kivitelezni.
Ez attól függ, hogy milyen fényforrásokat használsz. Más vezérlést igényel egy 12V-os halogén, mint egy 230V-os kompakt fénycső.
Íme 1-1 kapcsolás.
230V-os fényforrásra: Bővebben: Link
Törpefeszültségű fényforrásra: Bővebben: Link (A szolenoid helyére képzeld az izzó(ka)t.)
Power ledeket akarok vele meghajtani, sokat törtem a fejemet és szerintem egy sima pic12-vel meg lehet oldani, használnám a PWM modulátorát majd még kapna egy meghajtó fokozatot a power led miatt.
Van egy másik verzió is digitális potit vezérelni egy pic-el meg plusz egy praktikeres időzítőt rakni hozzá, hogy be lehessen állítani az imitáció kezdetét és végét
Szia!
A gyári akváriumlámpák mind ivétel nélkül sima hálózati fesszel működnek! Nem nagyobb a baleset veszély, mint egy konyhai mosogató feletti lámpának. Érintésvédelemmmel el vannak látva, tehát ha nem bontják meg akkor semmi gond velük.
A PWM azért nem jó mert bonyolult, és például fénycsőre nem jó, annak nehéz szabályozni a fényerejét. A legtöbb gyári akváriumvilágítótest pedig fénycsöves... Vagy hagyományos, vagy kompakt.
Ezért nem jó a PWM vezérlés.
Szia!
Ne küzdjél PIC-el, meg ilyenekkel... 
Valahol megvan a Hobbi Elektronika újságban egy akvárium fényszimulátor. Nagyon egyszerű áramkör. A szimulátor először bekapcsol egy sima izzólámpát aminek szép lassan 0-100%-ig növekszik a fényereje. Mikor elérte a 100%-ot akkor átkapcsol a fénycsőre és a lámpa kikapcsol. Az időzítést simán megoldhatod egy boltban kapható 2500Ft-os digitális időzítővel.
Ha lesz időm akkor megkeresem a délután.
Igen, tudom, hogy a fénycsöveket nehéz dimmelni, nekem viszont power ledes (Cree) fényforrásom lesz, ezt viszont PWM-el jó szabályozni, de én minden alternatívára vevő vagyok  , ha megkeresnéd azt a cikket megköszönném.
Sziasztok. Egy kis segítséget szeretnék kérni. Holdfény lámpát szeretnék össze rakni, készíteni. Olyat ami úgy viselkedik mint a hold amikor előbújik a felhő mögül.(egyre erősödik) a fénye. És ezt hordozhatóvá szeretném csinálni távirányítós kapcsolással. Lehetséges???
|
|