Hallo Zusammen, ich möchte einen Bilderrahmen konstruieren, der tagsüber "Energie sammelt", um Abends beleuchtet zu werden. Habe mal ein ganz groben Schaltplan gemacht, da ich für die entsprechenden Teile in Eagle keine Bibliotheken gefunden habe. Kann mir jemand entsprechende Bibliotheken für -Solarzellen -Photoresistoren nennen? Quarz, Abblockkondensatoren etc. fehlen noch. Um die Leistung der Solarzelle zu messen, brauche ich doch lediglich einen Widerstand verbauen und die Spannung messen, um I zu bestimmen? Was für eine Solarzelle soll verwendet werden? Müssen die LEDs über einen Resistor geschlatet werden (4-6 mit jeweils 10mA werden angeschlossen)? Vielen Dank für Eure Hilfe! Gruß Caligula
Nimm einen 10er-Pack Solargartenlampen aus dem Baumarkt, kleb die Zusammen und fertig. fonsana
Welches Übersetzungsprogramm hat dieses Wort geschaffen? Dunkelheit-Lichter
Und im übrigen möchtest du den Reset Pin vom µC nicht verbauen, solange du noch andere Pins übrig hast und die Not nicht übermächtig wird.
> Um die Leistung der Solarzelle zu messen, brauche ich doch lediglich > einen Widerstand verbauen und die Spannung messen, um I zu bestimmen? Wozu willst du die überhaupt wissen? Wenn der Akku noch Spannung hat, dann kannst du die LED leuchten lassen. Wenn nicht, dann nicht. Und bei "Akku"-geräten ist es dann ja auch so: Wenn der Akku leer ist, dann gehen sie von alleine aus :-) Ach ja: Quarz braucht die Schaltung keinen. Quarz ist in dem Fall nur ein Stromfresser für nichts.
Der To hat mit viel Mühe einen Schaltplan gepostet. Ein Lob dafür, dass er gemerkt hat, dass dies hier gern gesehen wird! Allerdings macht der Schaltplan durch windschiefe Linien einen gewissen künstlerischen Eindruck, wie man ihn selten findet. Ich möchte ihn daher für den Kleinkunstpreis des Forums vorschlagen. Ob er uns sein Malprogramm verrät?
Stutz schrieb: > Wieso möchtest Du Deine Bilder mit rot/orangenen LEDs beleuchten? Nach der blauen Periode: http://de.wikipedia.org/wiki/Pablo_Picasso#Tod_Casagemas_.E2.80.93_Beginn_der_Blauen_Periode kommt die rote Periode. :-) Gruss Harald
> Kann mir jemand entsprechende Bibliotheken für > > -Solarzellen > -Photoresistoren > > nennen? Machs nicht kompliziert. Die Solarzelle wirst du wahrscheinlich ohnehin nicht auf der Platine verbauen. Die wird mit Drähten angeschlossen, also muss es auf der Platine nur ein paar Lötaugen dafür geben. Wenn du dir daher aus der Verbindungstechnik einfach einen 2-poligen Stecker (zb von den Stiftleisten) holst, dann passt das schon. Und ein Photoresistor, vulgo LDR, ist auch nichts anderes als ein Widerstand, bei dem die Beinchen etwas weiter zusammen sind. Hast du so ein Teil schon mal in Natura gesehen? Das ist einfach nur eine kleine Scheibe, Durchmesser vielleicht 5 bis 6 mm, 2mm stark, aus dem 2 dünne Drähte rauskommen. Und auch den wirst du wahrscheinlich nicht auf der Platine verbauen, sondern der kommt an eine Bohrung im Gehäuse und mit den Drähtchen musst du dir was einfallen lassen, wie du mit denen an die Platine kommst.
Karl Heinz Buchegger schrieb: > ein Stromfresser für nichts. Guter Vorschlag und gutes Thema. Aber in diesem Fall völlig überflüssig. Da Vcc und GND des unbekannten µC nicht angeschlossen sind, kann auch am RESET-Pin kein Strom fliessen.
War-hole schrieb: > Der To hat mit viel Mühe einen Schaltplan gepostet. Ein Lob dafür, dass > er gemerkt hat, dass dies hier gern gesehen wird! Da hast du recht. > Allerdings macht der Schaltplan durch windschiefe Linien einen gewissen > künstlerischen Eindruck, wie man ihn selten findet. Sei nicht so. Immerhin hat er sich die Mühe gemacht und aus Eagle die Bauteile rauskopiert. Find ich so gesehen ok.
Karl Heinz Buchegger schrieb: > Hast du so > ein Teil schon mal in Natura gesehen? Das ist einfach nur eine kleine > Schheibe, Durchmesser vielleicht 5 bis 6 mm, 2mm stark, aus dem 2 dünne > Drähte rauskommen. Oh Mann, möchtest du deine Stärken nicht lieber bei kniffeligen C-Programmen einsetzen?
Karl Heinz Buchegger schrieb: > Sei nicht so. > Immerhin hat er sich die Mühe gemacht und aus Eagle die Bauteile > rauskopiert. Find ich so gesehen ok. Ja, ein handgemalter Sxchaltplan ist allemal besser als gar kein Schaltplan. Gruss Harald
Karl Heinz Buchegger schrieb: > Immerhin hat er sich die Mühe gemacht und aus Eagle die Bauteile > rauskopiert. Find ich so gesehen ok. Ja, ist schon ein beachtlicher Ansatz. Darauf muss einer erst mal kommen.
Harald Wilhelms schrieb: > Ja, ein handgemalter Sxchaltplan ist allemal besser > ^ < zumal dadurch der persönlichen kreativen Seite zum Ausdruck verholfen werden kann. In welchem technischen Bereich kann man das noch so ungehindert tun?
Um eagle zu verstehen empfehle ich dir dieses Video: http://m.youtube.com/results?q=eagle%20tutorial%20deutsch#/watch?v=YoVen9os4Sk Hat mir sehr geholfen! Dort sind zwar keine Solarzellen, aber die Funktionsweise von eagle ist sehr gut beschrieben. Für die Solarzellen im Schaltplan langen ja auch zwei Klemmen. Ein Ausgang vom Atmega8 kann 20ma schalten, maximal hällt er jedoch 40ma, ist aber nicht zu empfehlen. Ansonsten musst du die LEDs über einen Transistor schalten, falls es mit den Ausgängen knapp wird. An den Reste Eingang kommt ein 10k widerstand der an Vcc hängt. Und der vorwiderstand an deinen LEDs ist auch falsch dimensioniert mit deinen Angaben. Google mal nach "Berechnung vorwiderstand LED". Hoffe konnte dir ein wenig weiter helfen. mit freundlichen Grüßen Hohmi
Max S. schrieb: > Gruß > > Caligula Da die antiken Quellen Caligula praktisch einhellig als wahnsinnigen Gewaltherrscher beschreiben und sich zahlreiche Skandalgeschichten um die Person des Kaisers ranken, ist er wie kaum eine zweite Herrscherpersönlichkeit der Antike zum Gegenstand belletristischer und populärwissenschaftlicher Bearbeitungen geworden.
Hallo, Danke an Stefan H. und Herrn Buchegger für die qualifizierten Antworten! Was für Solarzellen sind denn nun zu empfehlen für diese Anwendung? Bei einem Spannungsteiler so wie ich das sehe kürzt sich die Umrechnungskonstante
raus oder?
Also könnte Folgendes mal ein Anfang sein?
1 | $regfile = "attiny13.dat" |
2 | $crystal = 4000000 'interner Oszilator=4MHz |
3 | $hwstack=40 |
4 | $swstack=16 |
5 | $framesize=32 |
6 | |
7 | Ddrb = &B00000010 'Porb.1 ist ein Ausgang |
8 | |
9 | Config Timer0 = Timer , Prescale = 1024 'Timer einstellen: 19200 Signale für 1s |
10 | |
11 | Config Adc = Single , Prescaler = Auto , Reference = Avcc 'für den ADC: AVCC Referenzspannung verwenden |
12 | Start Adc |
13 | |
14 | Const R1 = 100 'konstanter Widerstand (Spannungsteiler);1M |
15 | Dim Spannung As Word |
16 | Dim Rvar As Single '8Bit+16Bit+32Bit=56Bit=7Byte von 64 |
17 | |
18 | Portb.1 = 0 'init |
19 | Timer0 = 0 'init |
20 | |
21 | Do 'mainloop |
22 | |
23 | If Timer0 >= 255 Then 'mehr als 15 mal pro Sekunde Spannung messen |
24 | Spannung = Getadc(2) 'Spannung die an PC0 anliegt (Zahl zwischen 0 und 1024(=5V)) |
25 | Rvar =(spannung * R1) / 1024 'Umrechunungskonstante kürzt sich raus; Rvar wird ermittelt |
26 | If Rvar >= 100 Then 'wenn es dunkel ist ... |
27 | Portb.1 = 1 '...Licht einschlaten |
28 | End if |
29 | Timer0 = 0 |
30 | End If |
31 | |
32 | Loop 'mainloop |
33 | |
34 | End |
Er meckert noch wegen den Variablen-Typen. Kann mir da jemand was sagen? Sehe ich das richtig, dass der Tiny13 keinen UART hat? >Wozu willst du die überhaupt wissen? >Wenn der Akku noch Spannung hat, dann kannst du die LED leuchten lassen. >Wenn nicht, dann nicht. Und bei "Akku"-geräten ist es dann ja auch so: >Wenn der Akku leer ist, dann gehen sie von alleine aus :-) Ich fänds' mal ganz interessant zu wissen wo(in welchem Teil des Raumes ob Regal oder was auch immer) wie viel Strom durch die Solarzelle bereitgestellt wird. Gruß Caligula (wahnsinnig-eventuell, gewalttätig-nein)
Max S. schrieb
> Sehe ich das richtig, dass der Tiny13 keinen UART hat?
Ja.
Max S. schrieb > Danke an Stefan H. und Herrn Buchegger für die qualifizierten > Antworten! Und die anderen haben dich ermuntert, ordenlich zu eageln :-) Na also! Geht doch!
Max S. schrieb > Bei einem Spannungsteiler so wie ich das sehe kürzt sich die > Umrechnungskonstante
raus oder?
>
Das siehst du so gesehen richtig. Was du nicht gesehen hast ist, dass du dir hier > Spannung = Getadc(2) 'Spannung > die an PC0 anliegt (Zahl zwischen 0 und 1024(=5V)) > Rvar =(spannung * R1) / 1024 > 'Umrechunungskonstante kürzt sich raus; Rvar wird ermittelt > If Rvar >= 100 Then 'wenn es die ganze Rückrechnung sparen kannst. Du brauchst dir nur einmalig ausrechnen oder ausprobieren, welchen Wert der ADC liefern wird, wenn der LDR die 100k hat. Ich würds einfach ausprobieren, bzw. bei den von dir angenommenen LDR Werten einfach mal in der Mitte, also bei 512 ansetzen :-) Hint: Man könnte auch den Schwellwert von aussen vorgeben :-) einen ADC Pin hast du noch frei. Da könnte man mit einem Poti die Schwelle Hell/Dunkel auch einstellbar machen. Was recht praktisch sein dürfte, da an verschiedenen Punkten im Raum ja auch verschiedene Helligkeiten herrschen zwischen Tag und Nacht. > Er meckert noch wegen den Variablen-Typen. Kann mir da jemand was sagen? 'Er meckert' ist keine sinnvolle Fehlermeldung. Der Compiler schreibt dir da sicher nicht hin "Ich meckere". Von welchen Variablen spricht der Compiler? WElchen Datentyp haben die? An welcher Stelle wird vom COmpiler was angekreidet? WElche Datentypen sind dort gefordert/benutzt? Damit kommt man dem ganzen auf die Spur. > Ich fänds' mal ganz interessant zu wissen wo(in welchem Teil des Raumes > ob Regal oder was auch immer) wie viel Strom durch die Solarzelle > bereitgestellt wird. OK. Dann überleg dir, wie du das machen kannst. Den ADC3 hast du ja noch frei. Schwierig wirds allerdings, die erhaltene Information aus dem Tiny rauszukriegen. Mit lediglich einer LED kann man Zahlenwerte eher schlecht mit einem Menschen kommunizieren.
Hallo Karl Heinz, > Hint: Man könnte auch den Schwellwert von aussen vorgeben :-) > einen ADC Pin hast du noch frei. Da könnte man mit einem Poti die > Schwelle Hell/Dunkel auch einstellbar machen. Was recht praktisch sein > dürfte, da an verschiedenen Punkten im Raum ja auch verschiedene > Helligkeiten herrschen zwischen Tag und Nacht. Diesen Tipp nehme ich doch glatt an. Ich hab noch ein Poti rumliegen mit 10K und mein LDR liefert bei hellem Licht rund 10K und bei Dunkelheit bis zu 2M. Dem Poti verpasse ich 9K und dem LDR 1,8M. Ich habe das Verhältnis der festen Widerstände nun angeglichen, so dass beide Verhältnisse zwischen Widerstand und ADC durch die selbe lineare Funktion beschrieben werden können. (Kann man das so ausdrücken?) Ich denke, dass ich die ADC-Werte nun also direkt miteinander vergleichen kann und so die Lichtempfindlichkeit trimmbar ist. Ist das so richtig? Hier kann man die Werte einsehen: http://co2collector.cwsurf.de/widerstande.ods > 'Er meckert' ist keine sinnvolle Fehlermeldung. > Der Compiler schreibt dir da sicher nicht hin "Ich meckere". > Von welchen Variablen spricht der Compiler? WElchen Datentyp haben die? > An welcher Stelle wird vom COmpiler was angekreidet? WElche Datentypen > sind dort gefordert/benutzt? Der Ausdruck "Meckern" ist eine Übernahme eines Habbitus meiner Info-Lehrerin. Entschuldige. Das Programm sieht nun so aus. Er sagt mir mitlerweile, dass mein Programm zu groß ist: "Out of SRAM...". Der SRAM ist doch 64Bytes groß? Ich habe nun doch nur zwei 16Bit große Word-Variablen. Woran liegt denn das?
1 | $regfile = "attiny13.dat" |
2 | $crystal = 4000000 'interner Oszilator=4MHz |
3 | $hwstack = 40 |
4 | $swstack = 16 |
5 | $framesize = 32 |
6 | |
7 | Ddrb = &B00000010 'Porb.1 ist ein Ausgang |
8 | |
9 | Config Timer0 = Timer , Prescale = 1024 'Timer einstellen: 3906 und 1/4 Ticks für 1s |
10 | |
11 | Config Adc = Single , Prescaler = Auto , Reference = Avcc 'für den ADC: AVCC Referenzspannung verwenden |
12 | Start Adc |
13 | |
14 | Dim Spannung1 As Word |
15 | Dim Spannung2 As Word |
16 | |
17 | Portb.1 = 0 'init |
18 | Timer0 = 0 'init |
19 | |
20 | Do 'mainloop |
21 | |
22 | If Timer0 >= 255 Then 'mehr als 15 mal pro Sekunde Spannung messen |
23 | Spannung1 = Getadc(2) 'Spannung die an PC0 anliegt (Zahl zwischen 0 und 1024(=5V)) |
24 | Spannung2 = Getadc(3) |
25 | If Spannung1 >= Spannung2 Then 'wenn es dunkel ist ... |
26 | Portb.1 = 1 '...Licht einschlaten |
27 | End If |
28 | Timer0 = 0 |
29 | End If |
30 | |
31 | Loop 'mainloop |
32 | |
33 | End |
>Schwierig wirds allerdings, die erhaltene Information aus dem Tiny > rauszukriegen. Mit lediglich einer LED kann man Zahlenwerte eher > schlecht mit einem Menschen kommunizieren. Ich lass es bei diesem Projekt vorerst bleiben, da ich ja sonst mindestens auf den m8 umsteigen müsste. Das möchte ich nicht.
Ohne mich jetzt in BASCOM wirklich gut auszukennen. Alleine das hier $framesize = 32 müsste laut Doku schon mal 32+24 = 56 Bytes verbrauchen. Brauchst du diese Framesize? Ich würd mir an deiner Stelle mal ein paar andere Beispiele in BASCOM für den Tiny13 suchen und nachsehen, wie die diese config Abschnitt machen. Alle Beispiele, die ich bis jetzt gefunden habe, geben immer nur das regfile und crystal an.
Daran liegt es. Das habe ich grade auch rausgefunden. Aber ich weiß nicht wie viel hwstack, framesize und swstack ich brauche. Ich schau mal ob ich was finden kann.
Hier http://halvar.at/elektronik/kleiner_bascom_avr_kurs/speicher_hwstack_swstack_frame/ ist das genauer beschrieben. Wobei ich denke, dass du in deinem Programm (das ja nicht wirklich viel macht), keine großen Speicherbereiche für sw-stack und framesize reservieren musst. Aber wie gesagt: Ich bin in BASCOM da auch nicht so firm.
So gehts:
1 | $hwstack = 0 |
2 | $swstack = 0 |
3 | $framesize = 60 |
hstack und swstack sind für die Reservierung von Speicher von Rücksprungadressen etc. Also wichtig, wenn man mit Interrupts und vielen Unterprozeduren oder Funktionen mit Parameterübergabe arbeitet. Das ist bei mir nicht der Fall. Ist die 5V1-Diode die richtige? Beziehungsweise haut das mit einem/mehreren Kondensator/en und dieser Solarzelle hin? http://www.conrad.de/ce/de/product/191321/Conrad-Miniatur-Solarzellen-Polykristallin-Nennspannung-5-V-Nennstrom-81-mA/SHOP_AREA_17618&promotionareaSearchDetail=005
Ist ja nett, sowas mit einem Prozessor zu machen. Hier würde reine Analogtechnik aber auch reichen.
... schrieb: > Ist ja nett, sowas mit einem Prozessor zu machen. > Hier würde reine Analogtechnik aber auch reichen. Ich habe gerade auch gesucht warum der Kollege das mit einem µC lösen will. Bisschen Overkill, aber wenn er da Bock drauf hat warum nicht.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.