PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Hilfe Für ATMega Programierung und Schaltplan entwicklung



MiniMax
22.06.2009, 12:37
Hallo zusammen,

Ich brauche mal eure Hilfe:
Ich muss für eine Schwimmplattformprojekt in der Schule eine Stabilisierungsschaltung Bauen. Der Ablauf soll so aussehen:

Nach dem Systemstart, soll eine abfrage Routine von einem Lagesensor (bitte um Vorschläge) erfolgen. Der zielwert beträgt +\-1°. Wenn dieser Über oder unterschritten wird, muss eine oder zwei der vier Pumpen pumpen je nachdem wo Ballast hin muss (z.b. Links liegt die Plattform zu tief, dann muss rechts Wasser in den Tank und links raus). Dieser Vorgang muss zweimal gleichzeitig stattfinden für die X und Y Achse.
Des weiteren muss eine Überwachung der Wassertanks (Mithilfe von Schwimmer) stattfinden, so dass die Pumpen nicht Trockenlaufen können.
Außerdem muss die Schräglage der Plattform überwacht werden und wenn sie z.b. Mehr als 10° beträgt muss ein Regler von der Steuerung übernommen werden (der normal vom Sender gesteuert wird) und in eine vorgegebene Richtung laufen (Normale Servo Sigale).

Wenn möglich sollen die aktuellen °zahlen, der Zustand(wie: "Ok" wenn alles Ok ist/ "Tarieren-pumpen" wenn die pumpen laufen/ "Überladungs-automatik" wenn der Regler übernommen wurde/"Tank 1 leer" wenn Tank 1 leer ist und das auch für die anderen Tanks), die aktuelle Spannung und eine Begrüßung am Anfang wie (Firmware V1 ...) auf einem kleinen Display ausgegeben werden können.

Nun zu meiner Frage: kann ich den Atmega8 dafür nehmen? Und welche Sprache kann man nehmen - ich wollte "Visual Basic" nehmen? Und kann mir jemand beim Programmieren/schaltplan zeichnen Helfen? In Fischertechnik klappt dass alles bis auf das Display schon.
Ich hoffe ihr könnt mir Helfen!

MiniMax
22.06.2009, 13:05
Edit: wie ist es mit Bascom Basic???

Besserwessi
22.06.2009, 17:42
Der Mega8 sollte ausreichen. Das BASCOM Basic würde gehen. Ob die freie auf 4 kB Code beschränkte TEstversion dafür noch reicht hängt davon ab wie geschickt man Programmiert. Man könnte dann auch den Mega48 nehmen, mehr Speicher (Flash) kann die freie Version ohnehin nicht nutzen.

Das Bascom Basic ist aber gewöhnungsbedürftig, aber man kann es ja erst mal probieren.

Die Alternative wäre ein Programmierung in C, C++ oder ggf. ADA mit AVR-GCC.

MiniMax
23.06.2009, 11:07
Hi, danke für deine Antwort! gibt es einen Code zum Abfragen von Lagesensoren?? und zum Erzeugen von PWM Signalen??? Ich kann zwar schon kleinere Programme mit Bascom schreiben aber ich bräuchte ein bissel Hilfe - könnte mir einer Helfen???

edit: Hast du /ihr eine Idee welchen Lagesensor man nehmen kann? er wird später unter einem GFK Deck auf Wasserniveau liegen. Die genauigkeit sollte um die 1° liegen

Besserwessi
23.06.2009, 16:34
Als sensoren für die Neigung wären Beschleunigungssensoren richtig. Man wird wohl mit 2 Auchsen auskommen. 1 Grad Genauigkeit ist da aber gar nicht so einfach, aber auch nicht unmöglich.

MiniMax
23.06.2009, 16:49
Hallo Zusammen,


Als sensoren für die Neigung wären Beschleunigungssensoren richtig.

Welche schlägst du vor?



Man wird wohl mit 2 Auchsen auskommen.
Mehr Achsen benötige ich auch nicht - Neigung Links/Rechts - Neigung Vorne/Hinten


1 Grad Genauigkeit ist da aber gar nicht so einfach, aber auch nicht unmöglich.

In wie Fern??

Achja noch eine Frage: Kann ich den ATMega 32 oder den 644er für mein Programm nehmen? Oder welcher ist geigneter?

Besserwessi
23.06.2009, 19:25
Wechen µC man nimmt, kann man später entscheiden. Erst mal müßte man klären welche Sensoren / Aktoren man braucht. das Bestimmt wie viele IO Pins und ggf. spezielle HW finktionen man braicht. So wie ich das sehr sollte da ein µC im 28 Pin Gehäuse reichen (z.B. Mega48,Mega88, Mega168). Wenn das nicht reicht dann halt Mega16, Mega32 oder Mega644. Ob Mega32 oder Mega644 relativ egal denn da sollte man auch in BSCOM genug Speicher haben, und die Typen passen in den selben Sockel.

Der 2. Punkt ist dann die Programmlänge. Dafür könnte man erst das Programm im wesentlichen schreiben, und dann sehen, ob man 4 K , 8 K oder mehr braucht. Wie lang so ein Programm in Bascom wird, kann ich nicht gut abschätzen, das fehlt mir einfach die Erfahrung. Man wird aber mit mehr Speicher als in C rechenen müssen.

Für 1 Grad Winkelauflösung braucht man eine Beschleunigungsmessung für etwa 1,5% der Erdbeschleunigung.

MiniMax
24.06.2009, 14:39
Und welchen Sensor schlägst du vor?

MiniMax
25.06.2009, 12:02
niemand eine Idee??? :( [-o< :cry:

MeckPommER
25.06.2009, 13:50
Sensoren - immer wieder ne gute Frage.

Aus dem Bauch heraus hätte ich Besserwessi gleich widersprochen. Raus mit dem Beschleunigungssensor, rein mit zwei Gyros.

Beim zweiten Nachdenken würde ich auch keinen Piezo-Gyro nehmen, sondern vielleicht einen Eigenbau-Sensor verwenden: je Richtung eine Kugel durch Lichtschranken überwacht auf einem flachen "V".
Dieser einfache Sensor hätte zumindest den enormen Vorteil, das seine Werte nicht über einen längeren Zeitraum integriert werden müssen und aus dem Ruder laufen. Die Auswertung werde zudem um ein Vielfaches leichter.
Fraglich ist natürlich noch, wie groß das System sein soll, wie träge es dadurch wird, welche Wellen zu erwarten sind oder ob "einfach" nur unterschiedliche Belastung auf dem Ponton ausgeglichen werden sollen.

Gruß MeckPommER

MiniMax
25.06.2009, 14:54
Hi, Danke für die Vorschläge!!! Es sollen einmal ein Ausgleich der verschiedenen Gewichte auf den Seiten geschaffen werden. Wellen sind an zweiter stelle. Die Daten sollten schon Digital sein da sie auf einem Dispay ausgegeben werden sollen!

Ceos
25.06.2009, 15:51
also ne art lagekontrollsystem zum ausgleich der beladung oder so ähnlich

wellen auszugleichen fände ich fast schon ein wenig heftig ... da würde ich auf nen neigungsschalter zurückgreifen ...

allerdings einen, der mehrere positionen messen kann ...

zur not könnte man ja auch mehrere (qucksilberschalter z.B.) neigungsschalter in verschiedenen steigenden winkeln anbauen und digital die neigung auswerten ...

oder sogar ein pendel mit nem winkelsensor verbauen ...

letzteres hielte ich persönlich für ideal, da kann man auch relativ leicht die bewegung des schiffs bei wellengang erfassen und entgegenwirken

MiniMax
25.06.2009, 16:00
gute idee nur leider sind winkelsensoren nicht grade preiswert!!!
Außerdem kann man den Pendel auch in Miniformat bauen??

Besserwessi
25.06.2009, 18:03
Ein relativ günstiger Beschleunigungssensor wäre der
MMA6271Q von CSD (ca. 7 EUR) und auch schon gleich für 2 Achen.
Mit der Genauigkeit könnte es aber zumindestens für die eine Richtung schwer werden die 1 Grad zu erreichen. Das löten ist wegen des kleinen Gehäuses auch nicht so einfach, geht aber noch.

Ein Gyro hilft überhaupt nicht weiter und ist in der Regel sogar teurer.

Man kann ein Pendel auch klein bauen. Aber dann wird die auslenkung auch eher kleiner. Ein Pendel hat dann noch das Problem, dass man die Eigenschwingungen überlagert hat und damit nicht schnell messen kann.
Ein Eigenbau sensor für 1 grad Auflösung dürfe nicht ganz einfach sein, vor allem wenns klein sein soll.

Möglich wäre eventuell so eine Art Wasserwaage mit Lichtschranken zum Auslesen. Das wäre aber erst mal ein eigenes Projekt vorweg um den Sensor hinzubekommen.

Ceos
26.06.2009, 08:26
mit beschleunigungssensoren zu messen iss aber genauso problematisch wie mit pendel ... das schiff/plattform bewegt sich ja auch seitlich (eine kraft die auf den beschleunigungssensor wirkt) außerdem auf und ab ....

das pendel könnte effektiv nur in eine richtung wirken, die eigenfrequenz kann man ja einmal ausmessen und in die rechnung einbeziehen ...

seitliche beschleunigung hätte nur eine temporäre wirkung auf die schwingung des pendels ... würde sogar eine art phasendehnung/stauchung verursachen, mit der man die kraft erfassen kann

das pendel würde jedoch immer um seinen schwerpunkt schwingen, so kann man nach 3-4 pendelbewegungen unter berücksichtigung der dynamischen kräfte ziemlich gut auf die lage des schiff schliessen

bei nem beschluenigungssensor ist schnell mal die grenze der G-kräfte erreicht ... aber beim pendel kommts halt auch auf das format und das gewicht an, wieviel G es verträgt, eh es in den anschlag donnert und die messung versaut

gyro würde ich aber auch in betracht ziehen, aber der drift würde mir sorgen machen ...

MiniMax
26.06.2009, 09:06
das bedeutet? euer Favorit?

Besserwessi
26.06.2009, 10:32
So ein Pendel ist auch nur eine Art Beschleunigungssensor, nur mit einer ausgeprägten Frequenzabhäbgigkeit. Frequenzen um die Resonanfrequenz werden halt stark überhöht und können dadurch leicht stören. Man kann das rechnerrsch eventuell einigermaßen korrigieren, aber das ist aufwendig, wenn man schnelle Messwerte haben will. Auch mit der Korrektur hat man nur ein Problem unterdrückt, das die fertgen Beschleunigungssensor nicht haben. Wenn man halt berücksichtigen muß, dass sich das Pendel bewegt, muß das auslesen des Pendels auch über einen größeren Winkelbereichen gehen als der eigentliche Messbereich.

Die meisten Bescheunigungssensoren gehen bis wenigstens 1,5 G, das sollte auch für einen Sturm noch reichen, da hat ein Pendel viel eher Probleme.

Ein Gyroskop wäre auch nur sinnvoll als Ergänzung um eine starke Wellenbewegung auszugleichen, denn man kriegt nur die Winkelgeschwindigkeit und keinen absoluten Winkel.

Ein fertiger Beschleunigungssensor ist schon die einfachte Wahl. Wenn man den Sensor unbedingt auch noch selber bauen will, dann wohl eher was auf Flüssigkeitsbasis als ein Pendel.

MiniMax
26.06.2009, 14:42
ahhhh! Danke für die Info! Werde mich mal wieder bei Projekt start melden!!! Danke an euch Alle - und wenn ich Fragen habe, poste ich sie hier!