Sida 1 av 2
					
				Dörrkransbelysning - nu är julen slut!
				Postat: 4 december 2006, 10:49:00
				av PHermansson
				Ännu ett nytt projekt, detta har en deadline så det kanske kan bli klart 

Sambon köpte en krans att sätta på dörren, och sedan bad hon mig att fixa belysning i kransen. Kul projekt, blir ju lite speciella krav och det ska helst vara klart igår. 
Tanken är batteridrift (svårt att dra kabel), låg vikt (ska sitta på en dörr som öppnas/stängs), och låg strömförbrukning.
Lysdioderna blir antagligen 6 st varmvita 5mm med 120 graders spridning från Molelectric (
http://www.molectric.com/product_info.p ... cts_id=382.
Dessa styrs med en PIC12F675 (finns nära tillhands) och drivs av 3 st NiMH AA batterier. 
Alltihop monteras sedan i en liten låda som monteras i/under kransen. Frågan är hur det blir med fukt?
En första version av schemat kommer strax...

 
			
					
				
				Postat: 4 december 2006, 11:20:33
				av MicaelKarlsson
				Kan bli hur snyggt som helst.
Lycka till och glöm inte att ta ett kort på resultatet!!
			 
			
					
				
				Postat: 4 december 2006, 14:59:22
				av Mindmapper
				RGB vore också snyggt. Eller kombination av RGB och vita.
Ibland lite softa färgskiftningar och ibland lite vita punkter 
som race'ar.
			 
			
					
				
				Postat: 8 december 2006, 12:30:07
				av PHermansson
				Projektet är nu i princip färdigbyggt, kan lägga upp lite bilder och kod senare.
Allt fungerar bra, även om ljussensorn kräver lite för mycket ljus för att släcka dioderna. Detta är dock inget större problem då strömförbrukningen blir låg ändå. 
Med kortast möjliga på-tid i PWM'en drar kretsen 0,8mA, men då syns ljuset knappt. 
50% påtid ger bra ljusstyrka, förbrukning 3,65mA.
22% påtid - 2mA. Med GP2500-batterier blir teoretisk drifttid 1250h eller 52 dygn. Bör räcka 
 
Koden som används är skriven i mikroC, finns säkert saker att anmärka på 
 
Kod: Markera allt
/*Led PWM
PHermansson 2006
For mikroC compiler for PIC, www.mikroelektronika.co.yu
*/
char counter;
void interrupt(){
   counter ++;                // increment counter
   TMR0   = 254;
   INTCON = 0x20;             // set T0IE, clear T0IF . h20=100000
}
void main() {
  OPTION_REG = 0x84;          // TMR0 prescaler
  TRISIO     =  0b00010000;  //GP4 in, GP5 out.
  GPIO       = 0xFF;               // initialize gpio
  counter     =   0;                 // set counter
  TMR0       =  254;              // set timer0
  INTCON     = 0xA0;  //TMRO interrupt enabled 80=10000000-> T0IE off
  ANSEL=0;
  do{                         // Loop
      if (counter > 200)       // Counts from 0 to 255 and then flips to 0
                         // Counter > x sets pwm period, lower value = brighter led.
      {
           if ( GPIO.GPIO4 == 1 )
           {
              GPIO.GPIO5 = 1;
           }
           else
           {
              GPIO.GPIO5 = 0;
           }
      }
      else
      {
           GPIO.GPIO5 = 0;
      }
   } while(1);
   
}
 
			
					
				
				Postat: 8 december 2006, 13:14:31
				av oJsan
				Känns som att du har byggt en 555:a .  GPIO4 kan motsvaras av resetbenet och med en 555:a så blir duty-cykeln lätt att ställa med en vridpot.
Men nu ska jag inte vara sån... 

 Känner jag mig själv rätt hade jag också använt en uC eftersom det är mycket roligare och coolare! Fördelen med uC är ju dessutom att det är lätt att lägga till fler utan att behöva modifiera hårdvaran!
 
			
					
				
				Postat: 8 december 2006, 18:31:32
				av MicaelKarlsson
				Varför göra något enkelt, när det går att göra svårt.  
 
 
Ett foto skulle lyfta tråden till oanade höjder.  

 
			
					
				
				Postat: 8 december 2006, 20:12:49
				av JimmyAndersson
				En PIC-krets brukar inte vara lika känslig på temperaturvariationer som en 555-krets. Har provat att använda en 555a i PWM-sammanhang, men det har aldrig blivit riktigt bra.
Skulle man inte kunna göra såhär istället:
(Programmerar egentligen inte C, så jag är inte helt 100% på att man sätter ett sådant vilkor med AND i C. Tanken är iallafall att "om räknare är __ OCH port4 är __ så...")
Kod: Markera allt
  do{                        
      if (counter > 200) AND ( GPIO.GPIO4 == 1 )                           
         { 
          GPIO.GPIO5 = 1; 
          } 
           else 
              {
              GPIO.GPIO5 = 0; 
              }
         } while(1); 
 
			
					
				
				Postat: 8 december 2006, 20:21:47
				av Virr3
				Jag tror man skriver något i denna stilen:
Kod: Markera allt
do
{
if (counter > 200 && GPIO.GPIO4 == 1 )                           
         {
             GPIO.GPIO5 = 1;
          }
else
         {
             GPIO.GPIO5 = 0;
          }
} while(1);
 
			
					
				
				Postat: 8 december 2006, 23:21:01
				av PHermansson
				555a... ja man är väl lite 'picad' ibland 

Detta blir coolare, sen får jag hålla med Jimmy om att det är ofta enklare att få det att funka med en PIC. Och det är ju inte alla som har en processorstyrd dörrkrans, eller hur? 
 
Nu ska vi se om tråden lyfter högre än Discovery... här kommer bilder!

Kortet i all sin enkelhet. Ljussensorn sitter på baksidan. 

Monterat i lådan. Hade bara en hållare för fyra batterier, löstes med en fastlödd trådstump.

Fin krans, men ljuset gör sig inte med blixt.

Bättre i mörker, fast nu syns kransen sämre. Fint är det i alla fall!

En närbild på en av lysdioderna.
 
			
					
				
				Postat: 8 december 2006, 23:49:31
				av JimmyAndersson
				Snyggt och stilrent. 
Får man vara lite petig? Det är kortare avstånd mellan de två lysdioderna längst ner. Det gör att det blir lite tomt på den högra sidan av kransen.  
 
 
Men hur som helst, ett stiligt jul-projekt! Dessutom det första som blivit klart det här året. (Åtminstone om man tolkar projekt-delen här på forumet.)
 
			
					
				
				Postat: 10 december 2006, 10:52:52
				av Gimbal
				PHermansson skrev:
22% påtid - 2mA. Med GP2500-batterier blir teoretisk drifttid 1250h eller 52 dygn. Bör räcka 
 
 
Vill minnas at GP-batterierna är lite lustiga på så sätt att ex. GP2000 inte innehåller 2000 mAH, utan bara nästan. Dessutom så är självurladdningen betydande när vi pratar så här små strömmar.
 
			
					
				
				Postat: 10 december 2006, 12:11:33
				av PHermansson
				Just det, det är sant. Står 'min 1900mAh' i det finstilta på ett 2000 batteri. Har i alla fall satt i nästan nya GP2500 nu, det bör räcka över nyår i alla fall.
			 
			
					
				
				Postat: 27 december 2006, 10:41:33
				av G-man
				Hmm detta borde vara en nyttig sak i solcellslampor? för att öka tiden menar jag...
			 
			
					
				
				Postat: 30 december 2006, 17:49:33
				av PHermansson
				Så sant, det sparar ju en hel del ström.
Kransen lyser fortfarande fint, spännande att se hur länge det varar 

 
			
					
				
				Postat: 4 januari 2007, 16:41:38
				av PHermansson
				Så var det slut på det roliga, julen är slut! Eller inte egentligen, men dörrkransen har slocknat. Exakt en månad höll den ut, 31 dagar istället för de teoretiska 52. Kan man anta att den påstämplade kapaciteten är optimistisk och beräknad i rumstemperatur? På batteriet står 'typical 2450mAh'.