Forum: Mikrocontroller und Digitale Elektronik Mikrocontroller Schulprojekt Puppenhaus


von Mar D. (Firma: Puppenhaus GmBH) (cesar)


Lesenswert?

Guten Morgen, liebe Community.

Wir haben zur Zeit ein Jahresprojekt laufen (12. Klasse FachOberschule 
Informationstechnik), in welchem wir mit Mikrocontrollern und 
bestenfalls der Sprache "C" (cCBasic) arbeiten sollen.
Wir haben uns dazu entschieden, ein Puppenhaus mit verschiedenen Dingen 
auszustatten, wie zum Beispiel mit Lichtsteuerung via Klatschen, 
zeitgesteuerten Rollläden, Haustüröffnung via Codeeingabe, Aufzug vom 
unteren Stockwerk ins obere und ein paar weitere Dinge.

Wir wollen uns jedoch bis zur ersten Präsentation auf die 
Hauptproblematik beschränken, die wäre für uns, als Anfänger ohne großes 
Wissen und Praxis, erstmal die Servos anzusteuern und zu programmieren.

Und da bräuchten wir eure Hilfe. Wie zum Beispiel wird der Servo 
programmiert, dass er über einen Seilzug den Aufzug hochzieht und auch 
runter lässt, gleiches bei den Rollläden.

Welche Servos wären für die Umsetzung unserer Ideen am geeignetesten und 
auf was müssen wir achten?

Es werden nach und nach wohl noch viel mehr fragen aufkommen, aber wir 
wollen uns erstmal heran tasten, da wir, wie ihr dem Text womöglich 
schon entnehmen könnt, wirklich nicht viel Ahnung haben.

Wir wären euch sehr dankbar, wenn ihr uns ein wenig Hilfestellung geben 
könntet, dass wir schonmal Denkanstöße haben.

Vielen Dank und schöne Grüße,

Projekt:Puppenhaus

von Frank (Gast)


Lesenswert?

Mar Deh schrieb:
> Wir haben uns dazu entschieden, ein Puppenhaus mit verschiedenen Dingen
> auszustatten

Seid ihr Jungen oder Mädchen? ;-)

von Thomas K. (thkusch)


Lesenswert?

Hallo!

Erstmal drücke ich Euch die Daumen bei dem Projekt.. Eure Ziele sind 
sehr ambitioniert.

Zu den Servos: ich denke, es ist nicht das, was ihr braucht! Ein Servo 
(aus dem Modellbaubereich) hat einen Aktionsradius von 180Grad, kann 
also gerade mal eine halbe Umdrehung vollführen. Das wird wahrscheinlich 
zu wenig sein, um ein Rolladen zu bedienen oder einen Aufzug fahren zu 
lassen. Ihr braucht wohl kleine DC-Motoren und im Aufzug bzw. Rolladen 
entsprechende Endabschaltung oder ihr überwacht den Strom um 
herauszufinden, wann das Objekt an der Anschlagposition ist.

Ansonsten werden Servos so angesteuert: Periodendauer 20ms, ein 
positiver Impuls mit der Länge 1ms bis 2ms ist proportional zum 
Servoausschlag.

Gruss
Thomas

von Mar D. (Firma: Puppenhaus GmBH) (cesar)


Lesenswert?

Sieh' es halt als Modellhaus :D Wir wollen ja nur simulieren. Hätten 
natürlich auch alles in ein echtes Haus einbauen können, aber nein.

von Peter D. (peda)


Lesenswert?

Für solche Projekte kann man typisch 10..20% für die Hardware und 
80..90% für die Software als Zeitverbrauch ansetzen.

Es ist also äußerst ratsam, erstmal in die SW-Entwicklung einzusteigen, 
die Verbraucher kann man ja vorläufig mit LEDs simulieren.

Anders gesagt, wenn 50% der Zeit rum sind und nur die Hardware fertig 
ist, dann ist das Projekt bereits tot.


Peter

von Ma B. (holzkoepfe)


Lesenswert?

ich kann euch helfen ;)

von Gerd (Gast)


Lesenswert?

Peter Dannegger schrieb:
> Für solche Projekte kann man typisch 10..20% für die Hardware und
>
> 80..90% für die Software als Zeitverbrauch ansetzen.
>
>
>
> Es ist also äußerst ratsam, erstmal in die SW-Entwicklung einzusteigen,
>
> die Verbraucher kann man ja vorläufig mit LEDs simulieren.
>
>
>
> Anders gesagt, wenn 50% der Zeit rum sind und nur die Hardware fertig
>
> ist, dann ist das Projekt bereits tot.


.... und wenn nun 10-20% der Mannschaft des Projektes sich auf Hardware 
konzentrieren und der Rest auf Software dann wird das Projekt 
wahrscheinlich zum Termin fertig.
Gehst Du davon aus, das ca. 20 Leute erstmal Programmieren und dann ca. 
20 Leute danach Hardware entwickeln?
Ich kenne Projektarbeit anders!

von Karl H. (kbuchegg)


Lesenswert?

Mar Deh schrieb:
> Guten Morgen, liebe Community.
>
> Wir haben zur Zeit ein Jahresprojekt laufen (12. Klasse FachOberschule
> Informationstechnik), in welchem wir mit Mikrocontrollern und
> bestenfalls der Sprache "C" (cCBasic) arbeiten sollen.
> Wir haben uns dazu entschieden, ein Puppenhaus mit verschiedenen Dingen
> auszustatten, wie zum Beispiel mit Lichtsteuerung via Klatschen,
> zeitgesteuerten Rollläden, Haustüröffnung via Codeeingabe, Aufzug vom
> unteren Stockwerk ins obere und ein paar weitere Dinge.

Ihr nehmt euch zuviel vor.

Fürs erste würde ich alles mechanische (Rolladen, Aufzug) hinten 
anstellen. Lichter, sprich LED, anzusteuern und ein paar Taster 
abzufragen liegt im realistischen Rahmen. Den Klatschschalter vergesst 
ihr am besten gleich wieder.

> Wir wollen uns jedoch bis zur ersten Präsentation auf die
> Hauptproblematik beschränken, die wäre für uns, als Anfänger ohne großes
> Wissen und Praxis, erstmal die Servos anzusteuern und zu programmieren.

Für Anfänger ist das zu kompliziert. Ganz davon abgesehen, dass euch 
Servos nicht weiter bringen. Ihr müsst Motoren laufen lassen, bis euch 
ein Schalter sagt, dass das zu bewegende Teil an der richtigen Position 
angelangt ist.

> Und da bräuchten wir eure Hilfe. Wie zum Beispiel wird der Servo
> programmiert, dass er über einen Seilzug den Aufzug hochzieht und auch
> runter lässt, gleiches bei den Rollläden.

Gar nicht.
Servos haben andere aufgaben. Mit einem Servo könnte man ein Fenster 
aufmachen lassen oder eine Tür. Das wars dann aber auch.
Servos erzeugen in erster Linie eine Drehbewegung eines Armes. Typisch 
dreht sich so ein Arm um 180°. Bei einer Armlänge von 2 oder 3 
Zentimeter bekommt man da eine lineare Bewegung an einem am Arm 
angehängten Zugseil von bestenfalls ein paar Zentimeter hin. 
Segelwinden, die wie Servos angesteuert werden, können mehr, sind aber 
auch um einiges teurer.

> Welche Servos wären für die Umsetzung unserer Ideen am geeignetesten und
> auf was müssen wir achten?

Wenn überhaupt, dann Segelwinden. Aber eigentlich ist die Idee, für 
Aufzug bzw. Rolladen ein Servo einzusetzen nicht die Beste.

> Es werden nach und nach wohl noch viel mehr fragen aufkommen, aber wir
> wollen uns erstmal heran tasten, da wir, wie ihr dem Text womöglich
> schon entnehmen könnt, wirklich nicht viel Ahnung haben.

Dann solltet ihr euch nicht zuviel vornehmen.

Wenn im Puppenhaus in jedem Raum das Licht händisch einzuschalten ist, 
bei einem simuliertem Tag/Nacht Zyklus das Licht abends ein und morgens 
aus geht, wenn im Treppenhaus mehrere Lichtschalter die Beleuchtung 
sowohl ein als auch aus schalten können, im Kamin das Feuer flackert, 
dann habt ihr als komplette Neulinge schon viel geschafft.

von Thomas K. (thkusch)


Lesenswert?

Hallo Mar Deh!

Wieviele Leute und wieviel Zeit habt Ihr denn überhaupt? Habt Ihr das 
Projekt schon mit Eurem Lehrer besprochen?

@Holzkoepfe: das glaube ich kaum... nicht nach dem BT-Posting :) Ich 
hoffe mal, dass der Name (HH) kein geschmackloser Scherz ist :-\

Gruss
Thomas

von Karl H. (kbuchegg)


Lesenswert?

Gerd schrieb:

> .... und wenn nun 10-20% der Mannschaft des Projektes sich auf Hardware
> konzentrieren und der Rest auf Software dann wird das Projekt
> wahrscheinlich zum Termin fertig.
> Gehst Du davon aus, das ca. 20 Leute erstmal Programmieren und dann ca.
> 20 Leute danach Hardware entwickeln?
> Ich kenne Projektarbeit anders!

Das funktioniert nicht bei Neueinsteigern, zumindest nicht wenn es nicht 
einen mit Ahnung gibt, der die ganze Meute mit strenger Hand führt.
Die verbeissen sich gerne in irgendwelche unwichtigen Details.


Die NASA hatte genau das gleiche Problem als es daran ging den 
Bordcomputer für Apollo zu bauen. Keiner hatte Ahnung.
Die vorherschende Meinung war zu Beginn: Erst mal brauchen wir einen 
kleinen Computer. Das wird schwierig also gehen wirs an. Haben wir dann 
erst mal die Hardware kommen noch ein paar Programme drauf und fertig. 
Was ist da so schwer drann?

Der Teil 'ein paar Programme drauf' hat dann ein paar Jahre gedauert, 
weil keiner wusste wie man so etwas macht, wie man Software managed. Es 
gab keine Pflichtenhefte, keine Anforderungsprofile. Das war alles 
Neuland. Jeder werkelte vor sich hin, so wie er es für richtig hielt.

Wenn du eine Mannschaft mit Erfahrung hast, kannst du diesen 
Hardware/Software Split machen. Aber mit lauter Neulingen wird das 
nichts. Woher sollen denn die Hardwarebauer wissen, wie sie die Hardware 
auslegen sollen? Woher sollen denn die Softwarebauer wissen, dass 
bestimmte Funktionalität zb an den ADC Port kommen soll und was zum 
Teufel ist eigentlich ein ADC? Die Softwarebauer können den 
Hardwaremenschen nicht sagen, wie sie bestimmte Dinge auslegen sollen 
und die Hardwarebauer können die Softwarebauer nicht fragen, wie sie es 
gerne hätten. Weil es keinen einzigen gibt, der von dem was er tun soll 
auch nur den Hauch von Ahnung hat.

von heinzhorst (Gast)


Lesenswert?

Thomas K. schrieb:
> Ein Servo
> (aus dem Modellbaubereich) hat einen Aktionsradius von 180Grad, kann
> also gerade mal eine halbe Umdrehung vollführen.

Stimmt. Es sei denn, man verwendet Windenservos für ferngesteuerte 
Segelboote. Die können deutlich mehr:

http://www.conrad.de/ce/de/product/230334/PRO-LINE-SEGELWINDE-SW1200-JR

Eine andere Möglichkeit ist, den Servo zu zerlegen und im Getriebe die 
Endanschläge weg zu feilen. Wie man ein Modellbau-Servo ansteuert 
erfährt du hier:

http://www.bahn-in-haan.de/_servodec.html

von Mar D. (Firma: Puppenhaus GmBH) (cesar)


Lesenswert?

Vielen Dank erstmal, für alle Antworten.

Thomas K. schrieb:
> Hallo Mar Deh!
>
> Wieviele Leute und wieviel Zeit habt Ihr denn überhaupt? Habt Ihr das
> Projekt schon mit Eurem Lehrer besprochen?
>
> @Holzkoepfe: das glaube ich kaum... nicht nach dem BT-Posting :) Ich
> hoffe mal, dass der Name (HH) kein geschmackloser Scherz ist :-\
>
> Gruss
> Thomas

Wir sind zu viert und haben bis Anfang / Mitte nächten Jahres Zeit. 
Müssen jedoch nach und nach "Erfolge" liefern.

Mit unserem Lehrer haben wir alles abgesprochen. Er meinte für Servos / 
Motoren gäbe es auch fertige Codes im Internet, die man auf unsere Ideen 
anpassen könnte.

Sollen uns aber vorerst auf Türöffnung via Codeeingabe und 
Klatsch-Schaltungen konzentrieren, haben für die Codeeingabe jetzt ein 
C-Control II Application Board mit Eingabefeld und Display. Sollen uns 
jetzt erstmal Software dafür finden, und uns damit außeinander setzen. 
Bis jetzt aber noch keine Software gefunden.

von Thomas K. (thkusch)


Lesenswert?

Hallo!

Ohje... könnt Ihr überhaupt in irgendeiner Sprache programmieren? Falls 
nein, fangt mal ganz schnell mit C auf einem PC an. Davor hat es keinen 
Sinn mit einem Mikrocontroller anzufangen. Fremden Code zu nutzen ist in 
diesem Stadium keine gute Idee. In den seltensten Fällen tut es genau 
das was man erwartet und muss angepasst werden. Dafür muss man 
verstehen, wie es funktioniert.

BTW: schaut Euch mal Arduino (Duemilanove) an. Es ist ein kleines 
Entwicklungsboard für einen AVR-Mikrocontroller mit einer 
einsteigerfreundlichen Entwicklungsumgebung. In meinem Bekanntenkreis 
sind viele Medienkünstler, die damit recht gut zurechtkommen.

Gruss
Thomas

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Mar Deh schrieb:
> Sollen uns
> jetzt erstmal Software dafür finden, und uns damit außeinander setzen.
> Bis jetzt aber noch keine Software gefunden.
Programmieren ist nicht gleich im Web suchen. Das scheinen heutzutage 
die wenigsten zu wissen. Programmieren ist Fleißarbeit und man muss es 
selber machen. Nimm Lego-Mindstorm oder eine SPS, dafür gibt es eine 
"Klötzchenspache" und man "programmiert" mit der Maus.

Ach ja: Lest auch noch entsprechende Bücher.

von Joachim B. (jojo84)


Lesenswert?

Bei allem Respekt, der Lehrer scheint ein echter Freak zu sein. Man kann 
ja bald die Uhr danach stellen, wann hier im Forum wieder 73465 neue 
Themen mit "Schulprojekt" eröffnet werden. Das erinnert mich sehr an 
meinen Lehrer damals... Der war im Kopf auch noch im Jahre 1980 und 
zwang uns Uralt-Controller mit schrecklichstem Assembler-Dialekt zu 
programmieren. Konnte selber kaum drei Zeilen Code verstehen und wollte 
immer eine eierlegende Wollmilchsau.

Ich will nicht sagen "Ihr habt zu viel vor", aber wenn ihr noch nicht 
viel Ahnung vom Programmieren habt, dann ist das echt mal nen Brocken. 
Genau, wie dieses verrückte "fahrerlose Auto Schulprojekt".

Warum soll es ein Servo sein, und nicht ein Schrittmotor? Beides von der 
Ansteuerung her Pille-palle, aber dafür fehlt euch die Erfahrung (was ja 
nicht schlimm ist).
Wo kriegt das Haus die Uhrzeit her? Sicher nicht vom Controller selbst. 
DCF77? Schonmal was damit gemacht? Oder vom PC? Schnittstelle?

Ihr könnt da nix für, aber eurem Lehrer scheint es "etwas" an Realismus 
zu fehlen...
"Den Code gibts im Web." Pffff.... Dann hätt ich bei meinen Klausuren ja 
auch sagen können: "Och, die richtigen Ergebnisse hatte mein 
Tischnachbar..."

Gruß

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

Frank schrieb:
> Mar Deh schrieb:
>> Wir haben uns dazu entschieden, ein Puppenhaus mit verschiedenen Dingen
>> auszustatten
>
> Seid ihr Jungen oder Mädchen? ;-)

mach es zu DEINEM Projekt (Werbung eines bekannten Baumarktes)

--> die Mädels sind für das Nähen und Stricken der Puppenbekleidung 
zuständig, und die Jungens kümemrn sich um die Baumaßnahmen!

von Peter D. (peda)


Lesenswert?

Gerd schrieb:
> .... und wenn nun 10-20% der Mannschaft des Projektes sich auf Hardware
> konzentrieren und der Rest auf Software dann wird das Projekt
> wahrscheinlich zum Termin fertig.

Natürlich muß man das Zeitkontingent in Mann-Tagen/-Jahren berechnen, 
d.h. inclusive der Aufteilung der Aufgaben.
Aber gerade bei der SW-Entwicklung kann man nicht beliebig parallel 
arbeiten. Daher lieber zuerst ranklotzen, Ausruhen kann man sich auch 
später.

> Gehst Du davon aus, das ca. 20 Leute erstmal Programmieren und dann ca.
> 20 Leute danach Hardware entwickeln?
> Ich kenne Projektarbeit anders!

Ja, ich auch. Zuerst wird wenig bis garnichts gemacht oder nur die 
leichten Sachen. Und dann im letzten Monat versucht man das Jahr 
nachzuholen (vergebens).


Peter

von horst (Gast)


Lesenswert?

Mar Deh schrieb:
> Sollen uns aber vorerst auf Türöffnung via Codeeingabe und
> Klatsch-Schaltungen konzentrieren, haben für die Codeeingabe jetzt ein
> C-Control II Application Board mit Eingabefeld und Display. Sollen uns
> jetzt erstmal Software dafür finden, und uns damit außeinander setzen.
> Bis jetzt aber noch keine Software gefunden.

1) Hängt eine LED an den Controller und bringt sie zu leuchten.
2) bringt die LED zum Blinken
3) die LED soll leuchten, wenn irgendeine Taste gedrückt wird
4) die LED soll leuchten, wenn eine bestimmte taste gedrückt wird
5) steuert den türöffner an ( 
http://www.google.at/search?q=C-Control+II+servo+ansteuern&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:de:official&client=firefox-a 
)

6) baut aus einem entsprechenden Lichtschalter die Klatschelektronik aus 
und versucht daraus schlau zu werden. bzw. Conrad Best.-Nr.: 193135 - 62 
hat im Datenblatt sogar einen Schaltplan.

7) Das alles zusammenwürfeln.

Sieht doch gar nicht so schwer aus. ^^

von Vlad T. (vlad_tepesch)


Lesenswert?

Ich würde keine Servos nehmen
Man könnte Schrittmotoren nehmen.
man kann einmal die Schritte zählen, die man braucht, bis man den Weg 
abgefahren ist.
Nach dem Systemstartup fährt man einmal eine definierte Lage an.

eigendlich reichen aber auch normale kleine Motoren zB, 
Vibrationsmotoren aus Handies (wenn man die Unwucht abbaut) die sind 
schön klein.

den Endschalter kann man sich auch sparen, denke ich.

Oder komplett hardwareseitig lösen:
einen öffner parallel zu einer Diode, so dass, wenn der schalter 
gedrückt wurde der Strom in die eine Richtung nicht mehr fließen kann, 
sondern nur in die umgedrehte Drehrichtung


Zur Umsetzung:
Ich würde schon 2 Gruppen machen:
die eine baut das Haus soweit auf, dass alles per taster schaltbar ist
über transistoren und eine Taste hoch, andere Taste runter.
Die softwareseite würde ich zuerst auf nem dev-Board coden (Pollin, 
STK500) mit LED als Ausgängen

von Floh (Gast)


Lesenswert?

Vlad Tepesch schrieb:
> Ich würde keine Servos nehmen
> Man könnte Schrittmotoren nehmen.

Würde beides nicht empfehlen für Anfänger. Ein einfacher 
Gleichstrommotor, der über Gummiriemen die Lasten treibt, bringt einige 
Vorteile:
- überlastet nicht
- macht nix kaputt
- einfach zu programmieren (zeitgesteuert, mit ein bisschen Reserve)

:-)

von Düsendieb (Gast)


Lesenswert?

Hallo Leute,
was haltet Ihr von folgendem Projektvorschlag:

Kunsstoffstapelbox, umdrehen, Stirnseite herausschneiden,

dort ein Folienrolltor wie man es vor den Lager im Supermarkt kennt 
einbauen. Also: eine Folie die über eine Welle hin und her gezogen wird.

Antrieb mit Getriebemotor, Endlagen mit zwei Endschaltern aus alten CD 
Laufwerken überwacht.

Betätigt über Codeschlossbausatz von Conrad oder kleine AVR 
Entwickungsplatine.

Präsentation des Projektes mit Powerpoint und Povray oder Maja.


Axel

von U.R. Schmitt (Gast)


Lesenswert?

Floh schrieb:
> Würde beides nicht empfehlen für Anfänger. Ein einfacher
> Gleichstrommotor, der über Gummiriemen die Lasten treibt, bringt einige
> Vorteile:
> - überlastet nicht
> - macht nix kaputt
> - einfach zu programmieren (zeitgesteuert, mit ein bisschen Reserve)

Das ist auch meiner Meinung nach der richtige Ansatz.
Servos und Schrittmotore sind viel zu kompliziert in der Ansteuerung und 
trotzdem fehlerbehaftet. Endschalter machen die Logik und den Aufwand an 
IO zu hoch.
Was die brauchen ist ein einfaches Ein/Ausschalten und das dann über 
Zeitkonstanten steuern.

von Ein Sehender (Gast)


Lesenswert?

Im höchsten Fall als Endlageschalter zwei Lichtschranken (Rolltor unten 
angekommen und Rolltor ganz offen). Die genauere Lageerkennung ist in 
dem Fall bestimmt nicht notwendig.

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
Noch kein Account? Hier anmelden.