Hi, nachdem ich mein erstes richtiges Mikrocontrollerprojekt und erfolgreich abgeschlossen habe (Webboard mit dem Ethernutbetriebssystem und Funkanbindung), habe ich mir etwas neues ausgedacht: Ich habe vor mir eine Steuerung für eine drehbare Photovoltaikanlage zu bauen und überlege mir gerade was ich brauche und wie es funktionieren soll. 1. Die Hardware -Atmega-Mikrocontroller (welcher?) -JTAG-Schnittstelle -2 digitale Temperatursensoren und für die Ausgabe ein LCD-Display (muss nicht sein, es interessiert mich halt nur (einmal die Temp auf der Platine und einmal bei den Solarplatten -2 Cermet Drehwiderstände, die die Stellung der Motoren erkennt und zum Ansteuern der Motoren je 2 Monostabile Relais (eine Motor für die Drehbewegung(max. bis 220°) und eine für das Schwenken(bis 70°)) -eine Funkuhr 2. Zur Software Ich habe mir gedacht, dass ich die Anlage nicht aufgrund von Sensoren steuern lasse, sondern ihr täglich den genauen Weg sage, den sie der Reihe nach abfahren soll. In einer Tabelle steht dann also: Uhrzeit Drehen Neigen Das sind die Sollwerte die mit den Istwerten verglichen und dann eben angepasst werden sollen. Ich habe mir gedacht, dass ich die Anlage 12-15 mal am Tag nachführe. Diese Tabelle ändert sich dann ja mit der Jahreszeit, so dass ich schätzungsweise 12mal im Jahr die Tabelle ändern muss. Evtl. muss man ja die verschiedenen Tabellen für die Monate nicht fest programmieren, sondern könnte sich einen Algorithmus überlegen, wie sie sich der Mikrocontroller selbst berechnen kann (doch ich glaube nicht wirklich, dass dies gut passen würde) Was sagt ihr dazu? Ist da ein grober Denkfehler drin?
Danke für den Link, aber ich habe es wirklich vor mit ohne aktuelle Messung, sondern mit berechneten Werten zu machen. (Wußte gar nicht, wie man den Sonnenstand berechnen kann) Kann mir wer von euch eine Funkuhr empfehlen?
Bei Angelika und Werner (Reichelt und Conrad) gibt es Platinen mit entsprechender Funktion. (Es gibt auch einen Wiki-Artikel zu dem Thema...) Der Sonnenstand hängt mit der Position der Solaranlage und dem Datum zusammen. Mit nur einer Tabelle wirst du nicht weit kommen...ausser sie enthält Sinus-Werte... Eine Nachführ-Regelung sollte mit einem Mikrocontroller einfacher realisierbar sein. Fischertechnik hatte in deren ersten Computingbaukasten (graue Bausteine) eine Anlage wie du sie dir vorstellst als Versuch beschrieben. Die Software lief auf einem Apple ][, Comodore VC20/C64 (mit ganzen 2MHz). Möglich sollte es also sein (Messen, Steuern, Regeln müsste aber einfacher sein...) Um das Ding richtig positionieren zu können, solltest du vielleicht noch überlegen, die Motoren per PWM anzusteuern.
> Der Sonnenstand hängt mit der Position der Solaranlage und dem Datum > zusammen. Ganz abgesehen davon, dass die Anlage dann exakt waagrecht und nach Süden ausgerichtet werden muss. Mit einer aktiven Regelung vermeidet man diesen Aufwand auf einfache Weise.
Die Sache mit der Tabelle geht schon, ist aber etwas ungenau und auch nicht nötig. Generell kannst Du die ungefähren Winkel Monatsweise vorgeben, dann musst Du die Tabelle nicht einmal tauschen. << sondern könnte sich einen Algorithmus überlegen, wie sie sich der Mikrocontroller selbst berechnen kann (doch ich glaube nicht wirklich, dass dies gut passen würde) >> Das ist die (finde ich) beste Lösung hat aber ein paar kleine Hürden. Bei HKW findest Du schöne kleine DCF-Module die dir sogar die UTC ausgeben (besser für die Sonnenberechnung, weil sich die Sonne nicht an die gesetzliche Zeit hält die der DCF-Sender abstrahlt sondern an die reale Zeit am Ort)
So etwas hatten wir auch mal gemacht. Unsere Erfahrungen hatten gezeigt, das eine Berechnung sinnvoller ist. Die Formel hierfür ist nicht sehr kompliziert ( Tip : Nimm die Unterkante der Sonne anstelle die Mitte ). Bei uns war die kompixität darin, das die Anlage auf drei "Beinen" stand. Zwei in der länge variable und ein festes mit einem gelenk. Hat super funktioniert. Als steuerung hatten wir einen PC genommen. Sollte aber auch mit einem Mikrocontroller wunderbar funktionieren.
@mirki: Ist ja super, dass es auch wenn gibt, der die Stellung berechnet! Wie oft hast du dann die Solarplatte nachfahren lassen?? Bei einem Rechner ist der Speicherplatz ja kein Problem. Ich kenn ne drehbare Solaranlage die steht öfter mal gegen Norden :-) und das wollte ich durch die Berechnung eben vermeiden. Doch das mit den DCF-Modulen ist ja nicht gerade ein günstiger Spaß, unter 10 gibts doch da gar nichts, oder? Gibt es den kein fertiges Bauteil mit integrierter Antenne, dass ich auf meiner Platine integrieren kann??
Was ich da noch bei der Hardware sehe: Drehwiderstände zur Feststellung der Motorposition. Was sollen die genau tun? Ich vermute mal, die sind dazu da, zu sehen, wie weit der Motor das ganze bewegt hat. Richtig? Wenn ja, dann ist das keine sehr genaue Variante und sicher auch nicht so unproblematisch. Daher würde ich eher den Einsatz von Schrittmotoren oder - wenn die zu teuer sind - wenigstens Reflexlichtschranken vorsehen, um die Anzahl der Drehungen des Motors genau messen zu können.
wenn Dir die DCF-Version zu teuer ist, nimm einfach ein RTC-Baustein. Die sind genau genug. Das mit dem Poti ist auch ok. Bei einem einfachen Poti kommst Du auf eine Auflösung von ca 0,22 Grad. Das ist in der Regel genauer als das Ergebnis Deiner Berechnung. Wie ich schon sagte ist DCF eh nicht der Weisheit letzter Schluss bei dieser Idee, weil der DCF-Sender die gesetzliche Zeit verbreitet also auch Sommerzeit, aber die Sonne geht nun mal nach der kosmischen Uhr.
Beim Lesen des Threads ist mir mit Blick auf meine Sat-Anlage folgendes eingefallen; falls Du noch keine Motoren hast nur mal so als Anregung, Du koenntest für die Drehung der Solarzelle Aktuatoren (Schubstangenmotoren) fuer Satelliten Polarmount-Halterungen verwenden, die haben gleich einen Impulsgeber mit drin und sind immun gegen jegliche Wettereinflüsse. Beispiel: http://www.satshop.com/actuatord.htm -fs-
Also: IMO hat beides seine Berechtigung: * aktive Regelung mit sensoren - einfach (justiert sich selber) - auf google nach "solar tracker" suchen, 1001 Anleitungen - braucht freies Feld (ob der Einfachheit keine Kollisionskontrolle etc. - ziemlich einfach und dauerhaft. * aktive Regelung mit Solarpositionsberechnung: - wer weiß wo die Sonne ist kann sich auch aktiv wegdrehen (zu heiß, Sturm, Hagel, schöne seite über nacht nach unten, dann hat man am nächsten Tag keine Vogelkacke oder 3m Schnee oder Eisregen auf dem Panel) - wer die Winkelhalbierende in einer von 2 vektoren aufgespannten Ebene ausrechnen kann, hat einen Heliostaten und kann sich Sonne auf die Nordseite seines Hauses spiegeln. - Das Ding kann am Solaroptimum absichtlich vorbeiregeln ( z.B. Hochwasser, Gegenstände im Verfahrweg, Viecher auf der Weide wo es rumsteht, Wartungsposition..) Solarposition ausrechnen: www.nrel.gov/docs/fy06osti/34302.pdf und http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=4605&objectType=file Wenn sich wer wundert warum beide mal "aktiv" davorstand; es gibt noch eine * "passive", mechanische Regelung (allerdings 1achsig), da sind mehrere Ballastbehälter hinter dem solarpanel, eine Flüssigkeit wechselt irgendwie von der warmen zur kalten seite und der verschobene Ballast kippt das Panel in die gewünschte Richtung. noch einfacher und noch dauerhafter, was bei Investitionszeiträumen von 20-30 jahren für Solarpanels und der langsamkeit der Sonne keinen wirklichen Nachteil darstellt. Für alles kann man gute Gründe anführen, mann muß halt mal seine Anforderungen zusammentragen. DCF77-Uhrzeit: * http://www.mikrocontroller.net/forum/read-4-23408.html * http://www.mikrocontroller.net/forum/read-4-284553.html Mapping zwischen lokalzeit und UTC/GMT gibt es in jedem Linux unter /usr/share/zoneinfo/* Zum Positionieren ein * Planetengetriebe * Zykloidengetriebe * Harmonicdrive (kann man aber normal nicht selber fertigen, aber wenn Du schweissrobos ausschlachten kannst?) oder * Lagerung auf einem Kreuzgelenk und Antrieb per Wasserdruck und 2 Hydraulichen Zylindern * Lagerung auf einem Kreuzgelenk und Antrieb per Pressluft und 2 Hydraulichen Zylindern und hydraulischer Vorlage Die Getriebe sollten selbstsperrend sein (Winddruck auf Panel) und die Motoren nicht dauernd unter Strom stehen (Energiverbrauch, Standfestigkeit) also keine Steppermotoren. Gewindestangen, Seilzüge etc, scheidet IMO wegen Standfestigkeitsgründen bei ernthafter Anwendung aus.
ach ja hab noch was vergessen: Die ganze Rechnerei und oben angedachte wettersensorenanbindung und DCF Uhr etc.. braucht man nur einmal, da man mit etwas feldbusmäßigen sicher mehrere Positionsantriebe steuern könnte. Die Sonnenstrahlen fallen ja quasiparallel ein. Noch ein Grund zum absichtlich unidealen Einstellen: wenn man mit dem Tracker eine solarthermische Anlage statt Photovoltaik bewegen will, dann kann man im Winter die 20-40% die ein Tracker unter idealen Bedingungen bringen kann einsacken und im Sommer (wenn Stillstandstemperaturen >320° Probleme bereiten, die Anlage aus der Sonne drehen, wenn der Speicher voll ist. Fällt irgendeinem noch ein einfacher/preiswerter/dauerhafter Antrieb ein? Man könnte pro Achse 2 Ballastwassergefäße benutzen (wie in dem anderen Thread angedacht und hier zu sehen: http://www.zomeworks.com/solar/trackrack/trackwork.html ) und statt dem thermischen Antrieb die (in unseren Breiten frostsichere!) Flüssigkeit mittels einer Schlauchpumpe/Perestaltikpumpe zwischen den 2 Tanks bewegen. Oder man installiert in jedem Tank eine Gummiblase so wie in einem Heizungsausgleichsbehälter, die man wechselseitig mit Druckluft aufpumpt und damit die Ballastflüssigkeit in den anderen Tank hinüber verdrängt, so eine Art verstimmte Schlauchwasserwaage. Oder man bastelt sich in jeden Tank eine Solenoiddosierpumpe, die pro Impuls z.B. 10g Wasser in den anderen Tank pumpt... Mag sich jetzt hanebüchern und eselig anhören, hat aber Vorteile: Da das Panel "auf einem einstellbaren Pendel reitet", ist es nirgends absolut festgemacht, d.h. es treten an keinem Getriebe Drehmoment und Lastspitzen auf. Man kann das ganze selber fertigen. Zusätzliches Gewicht wie Schneelast doofe Vögel Nachbars noch doofere Katze kippen einfach runter ;) Es ist mechanisch einfach -> Hält lange!
Also, vielen herzlichen Dank für die Mühe!! Da kommen mir meine Fragen ja ganz blöd vor! (Naja, bin halt noch ne Anfängerin) Ich hab mir mal ein paar Gedanken zur Programmierung gemacht und zwar habe ich mir so vorgestellt: PCF8583 als RTC verwenden Programmieren, dass er z.B.um 6:30 einen Interrupt an den ATmega senden soll. Der Atmega liest dann in der ISR das Datum und die Uhrzeit aus dem PCF8583 aus. Entsprechend des Datums wählt er eines der 12 Monatsverläufen aus (-> diese verwendet er für den Rest des Tages, so dass er nur in der Früh das erste Mal das Datum auslesen muss). Nun vergleicht er ATmega die Stellung der Drehwiderstände mit der gespeicherten Stellung, die er zu diesem Zeitpunkt sein soll und schaltet die Relais, so dass die Motoren die Solaranlage in die gewünschte Stellung fahren. Als nächstes sende ich dem PCF8583, wenn er mir den nächsten Interrupt schicken soll und lege den ATmega schlafen. Wäre das eine Möglichkeit?? Die Stellungen, die der ATmega einstellen soll, habe ich vorher am Computer berechnet und in Strukturen abgespeichert. Ich habe mir auch mal den C-Code von diesem Link angeschaut: www.nrel.gov/docs/fy06osti/34302.pdf Wow, dass ist ganz schön heftig und ich nehme an, dass man sowas nicht mit einem Atmega machen kann. Aber könnte ich die Berechnung hier http://de.wikipedia.org/wiki/Sonnenstand in einen C-Code umschreiben und auf den Mikrocontroller spielen, oder kann der keinen Sinus berechnen? (sorry für so dumme Fragen) Es wäre halt schöner, wenn ich auf dem Atmega die Koordinaten berechnen könnte.
>oder kann der keinen Sinus berechnen? Man könnte den Sinus in eine Tabelle (lookuptable) schreiben... Die Uhr kannst du auch mit dem AVR realisieren. Der würde sich in regelmässigen kurzen Abständen dann kurz wecken lassen, die Uhr weiterzählen, gucken, ob der "Wecker klingelt, und sich wieder schlafen legen, wenn noch Zeit ist, sonst halt die Solarzelle weiterbewegen, Wecker stellen und wieder schlafen legen. Wenn man den AVR aber sowieso regelmässig wecken lässt, könnte man auch gleich noch eine automatische (standortunabhängige) Nachführung realisieren...
Wenn ich auch was anmerken darf: Die passive Nachführung funzt etwa so: Es ist Kühlmittel in zwei Tanks links und rechts angebracht, die Tanks sind einfach nur Rohre und mit einem dünnen Rohr verbunden. An der Seite sind Bleche über den Tanks, so daß sie teilweise abgeschattet werden. Steht das ganze nun nicht senkrecht zur Sonne, bekommt der Tank der tiefer steht mehr Sonne ab, das Kühlmittel wird wärmer und auf die andere Seite gedrückt. Das funzt allerdings in D nur mässig weil man ordentliche Sonne dafür braucht. Ansonsten ist bei einer aktiven Nachführung die zweite Achse Blödsinn, das bringt maximal 3-5% mehr. Dafür ist der Aufwand viel höher und das Ganze wird anfälliger. Lohnt nicht. Die beste Auslegung ist eine geneigte Achse.
Bei der Größe eines Projektes würd ich mir überlegen, ob man es nicht in einzelne, gut testbare Module aufspaltet. Ich weiß nicht, wie groß die machanische Anlage werden soll, aber ab einer gewissen Größe sind so Sachen wie Rampensteuerung für die Getriebemotoren absolut sinnvoll, um Flattern/Resonanz/Drehmomentspitzen gar nicht erst aufkommen zu lassen. Ich hab mit freertos http://en.wikipedia.org/wiki/FreeRTOS noch nix gemacht (nehms mir aber immer vor...) Dann könnte man * die Uhr * Wettersensorauswertung * Anlagenparameter wie Kollektortemperatur * das Position-Soll von den Sonnenwerten * das Positions-Soll von den Anlagenparametern (Nachts senkrecht o.ä.) * die Regelung der Ist-Position ... getrennt als Tasks laufen lassen. Sollte man die RTC gg DCF austauschen wollen oder die Regelung der Ist-Position von digital (ein/aus) auf ordentlich geregelte Rampen umstellen wollen, geht das sicher einfacher, der Rest ist ja wiederverwertbar. Heliostaten bauen wäre z.B. \"nur\" das Austauschen der Regelung der Ist-Position... Entwickeln würd ich das im Simulator, bis die Tests vernünfig ausfallen. Zur Positionsbestimmung fällt mir im Moment nichts geniales ein, absolut sollte diese sein (oder will man bei jedem Reset der Steuerung oder Stromausfall die Anlage an den Nullpunkt zurückfahren sehen?). Potis sind zum Basteln gut, aber draußen ist von -30° bis 350° (im schwarz gestrichenen Gehäuse) alles drin, da ändert sich dann auch der Widerstand und damit die Position. Also wenn, dann pro Achse 2 gegenläufige und Meßbrücke. Potis sind Widerstände und brauchen Strom, am besten dauernd, weil sonst die Eigentenperatur sich die ganze Zeit ändert...mit den oben beschriebenen Problemen, die Schleifkontakte stellen bestimmt auch ein Langzeitproblem dar. absolute Encoder wären das beste, aber die Kosten! Hat das mal wer mit aus Platinen geäzten Drehkondensatoren versucht? Die könnte man selber fertigen. Und dann sollte man sich überlegen, ob das ganze nicht doch arg kompliziert wird... Mach Dir ein Lastenheft, kategorisiere die Funktionen/Features nach Notwendig/Optional/Schnickschnack und berücksichtige dabei so Sachen wie Temperatur/Wetter- Gewitterfestigkeit/Haltbarkeit/Stromversorgung am Einsatzort, dann fallen viele Sachen von Haus aus weg! Was man weglassen kann, geht nie kaputt. Gilt besonders für vom Marketing durchgedrückten Schnickschnack! ;)
1. Ich kann mir ja vorstellen, dass es für ein Potentiometer unmöglich ist bei -20°C und +100°C noch linear zu verlaufen, bloss wie soll ich 2 Potentiometer gegenläufig als Messbrücke anschließen (so wie Peter es gemeint hat)? 2. Ich verstehe es mit den verschiedenen Tasts, die parallel ablaufen, wenn ich ein Betriebssystem habe, doch würde bei folgendem Beispiel auch ohne gehen: Ich habe eine Wassertemperatur, die immer zwischen 50°C und 70°C bleiben soll. Dies wird von dem Mikrocontroller beobachtet. Gleichzeitig möchte wer über das angeschlossene LCD-Display eingeben, dass die maximale Wassertemperatur nun 80°C sein darf. Wie funktioniert das Parallel? Ich denke, wenn wer den Taster am LCD-Display drückt, dass dann der Interrupt ausgelöst wird und in der Interruptroutine die Tastatureingabe abgefragt wird. Kann er dann gleichzeitig noch die aktuelle Temperatur überwachen (wenn der Anwender lange überlegt)? Ich denke, dass dies bei der Solaranlage kein Problem wäre, da ich ja eigentlich nur ganz sequentiell Werte abfahren muss und einen Windsensor kann ich dann doch per Interrupt einlesen, oder?? 3. Nun zur Programmierung die Uhrzeit und das Datum lese ich aus einem DCF aus Wenn die Berechnung nun auf einem kleinen Mikrocontroller zu schwierig ist, könnte ich doch vorher die Werte in Tabellen abspeichern z.B. 2 Datensätze pro Monat (Werte aus der angehängten Grafik): Die Werte würde ich in ein 2 Dimensionales Array schreiben. zb x[8][2] steht für den Wert um 8 Uhr im Februar Uhrzeit [1] Jan [2] Feb [3] März [4] April..... 5 120 110 90 75 6 7 Werte für die Position eintragen 8 9 ... Uhrzeit [1] Jan [2] Feb [3] März [4] April..... 5 6 7 Werte für die Neigung eintragen 8 9 5 15 25 32 ... Kann ich mir eine direkte Umsetzung vom aktuellen Sonnenstand für meine Potis schreiben? Ich kann mir doch ausrechnen, bei welcher Stellung sie welchen binären Wert haben und diesen gleich in die "Tabelle schreiben".
Kann sein daß ich mich flapsig ausgrdrückt habe...war auch nach ner langen Nacht. Schau mal http://upload.wikimedia.org/wikipedia/de/c/c9/Wheatstone_br%C3%BCckenschaltung.PNG Die beiden Widerstände (im Bild R(v) und R(x)) sind die Teilwiderstände deines Sensor-Potentiometers (lokal in deinem Antrieb montiert), die beiden anderen Widerstände (im Bild R(v) und R(x)) sind die Teilwiderstände deines Trimm-Potentiometers. Wenn die beiden Potentiometer baugleich sind, ist die Brücke am temperaturstabilsten. Das eine Poti musst Du so einbauen, daß es in der Mitte des Drehwinkels deines mechanischen Aufbaus den Abgriff grade in der Mitte macht, dann so festschrauben. Das zweite Poti stellst Du auch auf die Mitte. (Idealfall:) Beide Potis stehen in der Mitte(der Antrieb Deines Kippantriebs auch), alle 4 Rs sind gleich groß, Deine Meßgröße U(a)=0. Der Spannungsbereich geht von -U(e)/2 bis +U(e)/2(linker-rechter Poti-Vollausschlag) Was bringt das? In den Potentiometer fällt ständig Spannung ab -> die werden _ständig__ __gleichmäßig_ "geheizt" -> wenn der Abgriff einen anderen Bereich abgreift, dann ist dieser schon vorgewärmt und heizt sich nicht erst widerstands- und meßwertverfälschend nach). Du hast 2 baugleiche Potis die sich bei Erwärmung gleich unideal verhalten, gegeneinandergeschaltet -> temperaturindizierte Änderungen haben sich ggs. auf. Ich habe das zweite Poti Trimmpoti getauft, weil du damit (in Grenzen!) den mittleren Arbeitspunkt (die Winkelhalbierende Deines Drehbereiches einer Achse) nachstellen kanns ohne das erste Poti (das wahrscheinlich irgendwo ziemlich fest eingebaut und schwer zugänglich ist, anfasst zu müssen. Die Kabel, mit denen Du U(a) in Deine Schaltung führst, bitte verdrillen.
Korrektur: Die beiden Widerstände (im Bild R(v) und R(x)) sind die Teilwiderstände deines Sensor-Potentiometers (lokal in deinem Antrieb montiert), die beiden anderen Widerstände (im Bild R1 und R2) sind die Teilwiderstände deines Trimm-Potentiometers. Die Indices der Widerstände R(1) undR(2) waren falsch.
@Peter: Hab ganz vielen herzlichen Dank für deine ausfühlichen Erklärungen!!! Ich hab jetzt mal aufgemalt, wie ich es verstanden habe. Ist es so richtig??
Ich kenne eine weitere genial einfache Methode: Zwei im 60° bis 90°-Winkel stehende Solarzellen werden antiparallel geschaltet und mitgeführt. Steht die Anlage genau in der Sonne, heben sich die beiden Ströme auf. Wandert die Sonne weiter, gibt es eine Strom- und Spannungsdifferenz. Entweder man verwendet kleine Solarzellen und verstärkt das Signal, oder man nimmt große und betreibt damit direkt den DC-Stellmotor. Zur Höheneinstellung: evtl manuell, einmal im Monat genügt. Bei Brauchwassererwärmung: evtl. sogar in der Winterstellung lassen, im Sommer hat man mehr als genug. Zu den Potis: kann mir jemand erklären, wodurch es zu einer unterschiedlichen Erwärmung der beiden Teile kommen könnte? Doch nicht durch den in den ADC fließenden Strom? Meine Meinung: ein Poti genügt völlig, es geht doch nicht um Präzisionspositionierung. Zur Berechnung: Man kann auch mit einem µC sehr komplexe Kalkulationen durchführen. Es kommt doch hier überhaupt nicht auf die Laufzeit an.
Ich hab da noch ein paar Fragen zu der Potischaltung, die die aktuelle Motorstellung erkennen soll. 1. Was, wenn das Potentiometer den Widerstand auf 0 regeln würde, dann hätte ich doch einen Kurzschluss in der Schaltung (siehe obiges Bild) 2. Wie muss ich das Poti dimensionieren? 3. Damit ich Temperatureinflüsse vermeide, bringt es da was das andere Poti (wie oben angedeutet entgegen zu schalten, oder ist das nur für den Feinabgleich). Beim Bild der Wheatstone-Brücke wäre an Punkt C der Schaltung ist der Eingang des AD-Wandlers angeschlossen. An Punkt B habe ich nun das Problem, dass ich dort an sich gerne Masse anschließen würde, doch dann wäre ja R4 kurzgeschlossen, d.h. muss Pkt B auch in einen AD-Pin geben ich nun die Differenz zu Pkt A bestimmen. R3/R4 ist dann das Baugleiche Poti wie R2/R1.
Hallo Stefanie Ich würde vor der Hardwareentwicklung noch ein paar Gedanken verschwenden, zu Fragen wie z.B. Wie groß würde die Abweichung durch die Temperaturdrift sein? Wie genau wird ein Potentiometer am 10Bit AD-Wandler des AVR meine Position auflösen? Wie stark werden sich Störungen auf meiner Messleitung auswirken? Welche Genauigkeit wird die Mechanik meiner Anlage haben? Welche Auswirkungen werden die Motoren und deren Induktionsströme auf mein Meßergebnis haben? Welche Genauigkeit möchte ich bei der Nachführung überhaupt erreichen? Dann lösen sich vielleicht viele Probleme ganz von alleine in Luft auf.
Hallo Stefanie, vielen Dank für diesen interessanten Thread! Die Solartechnik ist ein wirklich lohnenswertes Thema. Auch wenn Du inzwischen mit Informationen "überschüttet" wurdest, will ich auch noch was beitragen. Wenn man Solarkollektoren nachführt kann man maximal und unter der Vorraussetzung perfekter Nachführung einachsig ca 30% und zweiachsig ca. 36% mehr gewinnen gegenüber feststehenden Flächen. Dies gelingt nur, wenn permanent nachgeführt wird und der Fehlwinkel der Flächennormalen zur Sonne stets minimal ist. Bei Deinem ersten Lösungsansatz im Stundentakt grob zweiachsig nachzuführen, kannst Du schätzungsweise bestenfalls nur 20% gegenüber fester Aufständerung gewinnen. Also wenig Gewinn im Vergleich zum Aufwand! Ohne Dich von Deinen ursprünglichen Plänen abbringen zu wollen, schläge ich Dir folgendes Konzept vor. Verwende eine einachsige Nachführung mit Uhr als Vorsteuerung und zwei Fotozellen zur Feinsteuerung. Wenn Du willst kannst Du die Neigung der Fläche von Hand zweimal im Jahr jeweils zum Frühlings- und zum Herbstanfang auf Sommer- und Winterbetrieb verstellen. Diese Variante hat den großen Vorteil, daß Du mit einer simplen Tageszeituhr die grobe Richtung der Sonne mit der Fläche anfahren kannst. So eine Uhr ließe sich auch ohne RTC in C programmieren. Bei ATMEL gibt es ein Codebeispiel "3050.C". Wenn Du noch zwei Fotosensoren zur Feinverstellung nimmst, sind die Anforderungen an die Ganggenauigkeit der Uhr gering. Mit der Vorsteuerung und Feineinstellung bist Du auch bei starker Bewölkung in der Lage der Sonne zu folgen und sofort eingeschwungen, sofern die Sonne wieder rauskommt. Ob Bewölkung oder Sonne vorherrscht kannst Du über die Änderungshäufigkeit der Fotosignals ermitteln und so eine Regelstrategie aufbauen. Übrigens, was die Temperaturmessung angeht, so ist es in der Solartechnik üblich zur Kollektortemperatur auch die Temperatur der umgebenden Luft zu messen. Ich wünsche Dir viel Erfolg und viel Spaß bei der Umsetzung Deines Vorhabens. Gruß, Stefan
War grad ein paar Tage nicht im Land. Antworten nicht nur an Stefenie: "Ist es so richtig??" Ja, die Potis sind richtig. U(a) liegt zwischen den beiden Klemmen (2) und (2(spiegelverkehrt)) an, nicht auf Masse bezogen. "Meine Meinung: ein Poti genügt völlig, es geht doch nicht um Präzisionspositionierung." Ich habe mal an einem Hexapod gebastelt. Daß er heute noch nicht fertig ist (so wie ich mir das wünsche), liegt mit daran, daß die Linearschiebewiderstände (die ich zur Längenmessung X(0)..X(5) verwenden wollte) ekelhaften Drift aufweisen. Und auch durch alles möglich gestört werden (der Gesamtwiderstand ist m.E. zu hoch, aber bei 290 mm verfahrweg darf man nicht wählerisch sein...) Gut die Dinger sind sehr viel größer als normale Potis, aber dafür hatte ich nicht halb so viel Temperaturunterschied auf meinem Schreibtisch wie es ein in einem Sonnenkollektor verbautes Poti haben kann. Ich verwendete auch brav geschirmte Litze. Trotzdem waren die später digitalisierten Meßwerte erst nach 6-7 Minuten "stabil". Nachdem die (durch den Leitungswasserdruck betriebene) Hydraulik dann meist Sauerei verursacht hat, ist das Projekt irgendwann auf "Pause" gesetzt worden. (Einschub: Der hier http://www.cadsoft.de/people/kls/fltsim/index.htm ist auch nie fertig geworden...obwohl er (selbst-"linearisierte") Encoder benutzt hat! Bei Pneumatik hat er allerdings noch mit dem Losbrechmoment zu kämpfen...) Wenn irgendwie möglich, dann würde ich Encoder benutzen, wie weiter oben schon ausgeführt: wenn das Teil groß wird, dann sogar einen absoluten (eine kleine Zelle kann man schnell mal zwecks Referenzierung gegen einen Endpositionsschalter fahren lassen, bei einem großeren Kollektor wird das in endlicher Zeit schwierig bzw extrem nervig, da der Antrieb im Verhältnis zur bewegten Masse sicher kleiner dimensioniert ist, als eine von 2 Schrittmotoren zur Demozwecken bewegte Solarzelle). Auch ist bei einem Demoprojekt wohl nicht von Ganzjahresbetrieb die Rede, man kann ganz anders auslegen, als bei etwas, was 30 Jahre möglichst ohne Störung draussen funktionieren soll, damit es sich abzahlt. Mir schien, daß Stefanie aus irgendeinem Grund Potis einsetzen will, und sie hat uns nicht mitgeteilt, daß es nur zum Ausprobieren ist. Daraus schloss ich auf Ganzjahresbetrieb, deshalb wies ich auf die mögliche Temperaturdifferenz hin und schlug den Einsatz 2er Potis in der Meßbrücke vor. Zum Vorführen für einen Tag oder 1 Woche reicht ein Poti, da gibt es wohl keine großen Temperaturunterschiede. "1. Was, wenn das Potentiometer den Widerstand auf 0 regeln würde, dann hätte ich doch einen Kurzschluss in der Schaltung (siehe obiges Bild)" Nö. Zwischen +5 und GND fällt immer die gleiche Spannung an R(v)+R(x) ab. Natürlich darf der Gesamtwiderstand der Potis nichtso klein werden, daß er die Versorgungsspannung vollständig runterzieht. Aber R(ges) sollte auch nicht so groß werden, daß der Strom darin klein wird gegen Eingetrahltes... "die die aktuelle Motorstellung erkennen soll" Ich bin sicher Du meinst das gleiche wie ich: die Stellung des Kollektors (die vom Sensorpoti gemessen wird). Der wird ja sicher durch irgendein Getriebe bewegt, und dieses vom Motor, und die Stellung dessen kann uns Wurst sein. Tja, wie Du das Problem mit Klemme (A) und (B) löst... Ich hatte für mein Hexapod ein externes serielles A/D-Interface, mit Optokoppler und potentialfreien Eingängen...da stellte sich das Problem nicht. Externer Optokoppler..? Kommt noch was hinzu: die zwischen (A) und (B) abgegriffene Spannung kann von -5 bis +5 V gehen (einmal R1 und R3 ==0 , andermal R2 und R4 ==0) Hast Du Dir schon ein Lastenheft/Lastenzettel erstellt? Mach es bitte, und schriftlich. Für Dich. Mit den bewährten Kategorien "Unbedingt nötig"|"optional"|"Feature/Gimmick". Es hilft den Fokus bewahren und was man weglassen kann, geht nicht kaputt. Such mal im Internet nach "Taktscheibe" für absolute Winkelencoder und nach "Gray-Code", vielleicht brauchst Du ja keine so große Auflösung und kannst Dir die Dinger selber bauen. Das Hauptproblem hierbei ist wieder zumeist temperaturbedingt: Beschlag/Reif/Dreck auf der Taktscheibe, weshalb die käuflichen welchen alle einem kunstvollen Gehäuse sitzen...und teuer sind. In den diversen Roboterforen habe ich schon das ein oder andere Mal selbergebastelte gesehen, aber die waren inkrementell. Schau mal: http://www.peg.si/electro/angle.html , Winkelencoder selbstgebaut. Ein nicht-optischer (mechanischer) absoluter Winkelencoder ist der Bourns ACE-128 http://www.mercateo.com/p/live~s.0*139-7005258/Drehcodierer_Absolut_EAW0J_B24_AE0128.html (hab ich hier im Forum gefunden), kostet lt. Mercateo 8.25 bei Tante Farnell. Ist aber lt Datenblatt komisch auszulesen (Datenblatt S.150). Hält dafür 136 Jahre (bei 1 u/Tag ) Dafür sparst aber Nullpunktschalter und Referenzfahrt und weisst immer wo du bist, sogar nach einem Reset. Vielleicht bringt Dich das von den Potis die schon rumzuliegen scheinen ab...
Hier habe ich ein Programm gefunden, mit dem man Taktscheiben entwerfen kann: http://users.adelphia.net/~skbosko/Robot_top.htm Kann das mal bitte wer ausprobieren, ob das was taugt? Ich hab hier "nur" Linux und Solaris, und da läuft VB nicht besonders gut. Besonders würd mich interessieren, wie die Druckausgabe auf Präsentationsfolie ist (ob da Treppenartifakte an den Kanten oder dergleichen drin sind). Danke!
Hier hat ein Funkamateur einen Antennenrotor gebaut, mit absolutem Encoder mit 0,5° Auflösung, der über die Druckerschnittstelle ausgelesen wird. http://www.rrs-web.net/in3her/rotorsys_abs.html
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.