Projekt Eieruhr mit PIC-Mikrocontrollern history menue Letztmalig dran rumgefummelt: 19.05.11 12:22:03
Die Controller-Projekte sollen anspruchsvoll sein, jedoch auch für jeden grundsätzlich lösbar bleiben. Hier nun werden nicht nur an den Schaltungsaufbau sowie die Software-Entwicklung Anforderungen gestellt (das können wir hier schon!!!), der Entwurf plus "Dimensionierung" einer entsprechenden Schaltung nach einer vorgegebenen Aufgabe kommen mit nicht unerheblichen Aufwand noch hinzu. Dann muss ein entsprechendes Modell gefertigt werden und die Schaltung mit dem Software-Konstrukt ein sinnvolles Ganzes ergeben. Der berühmte Operator heißt hier: "... mach mal!!!"

1. Aufgabe/Vorüberlegungen
2. Bauteile/Schaltplan
3. Programmierung
4. Funktion/Besonderheit


1. Aufgabe/Vorüberlegungen

Ziel war es eine zeitlich programmierbare Eieruhr (Sanduhr) mithilfe eines PIC16F877A zu erstellen

Eieruhren (Sanduhren) funktionieren so das zu beginn der komplette obere Teil und zu ende der komplette untere Teil gefüllt ist, beim zeitlichen Ablauf wird die Menge im oberen Teil geringer und im unteren Teil gleich viel größer, Dies muss man nun aus Technischer Sicht vereinfachen. dabei gilt das von 2 jeweils gegenüber liegenden Lämpchenreihen ( oben und unten )nur eine Leuchtet.


2. Bauteile/Schaltplan

Nachdem der Grundlegende Aufbau klar ist, muss meine eine Schaltung entwickeln die die Rahmenbedingungen erfüllt, so muss die Schaltung aus Folgenden Elementen bestehen der "Eieruhr-form" aufgebaut aus Led´s dem Controller und den Verstärkern, da ein Ausgang keine Vielzahl von Led´s ansteuern kann, außerdem noch einen Reset-Taster und 2 weitere Taster ( dazu mehr im 3. Teil )

Schlatplan als Download


3. Programierung

Nun geht es an die Erstellung des Programms, dabei muss zunächst die Abfolge der Led´s Programmiert werden, für die Abfolge der Ablaufenden Zeit.
11111111111
  111111111
    1111111
      11111
        111
          1
        000
      00000
    0000000
  000000000
00000000000

0000000000
  111111111
    1111111
      11111
        111
          1
        000
      00000
    0000000
  000000000
111111111111

Nun muss vor jede neue "Zeitstufe" eine Verzögerung diese entspricht pro umschalte Vorgang ((Anzahl der Reihen)-1)/2 =

in diesem Fall beträgt die Lösung 5 Also die Gesamtzeit geteilt durch 5.

--> delay_1s(Gesamtzeit/5)


Zuletzt muss noch eine Möglichkeit gegeben sein die Durchlaufzeit zu regeln, dies erreicht man einfach indem man eine Counter-Variable einfügt und eine Zeiteinheit für die Stufenweise Erhöhung der Zeit Festlegt, in dem Fall 60sec.

-->delay_1s((counter*60)/5)


Um nun den Wert für Counter Festzulegen Bedarf es einer Vorschleife, mit einer Bedingung die erst die Sanduhr startet nachdem die Zeit eingegeben wurde.

--> while pin_d0==low loop

-- reserviert für Counter zähl Prozess

end loop


Nun noch die eigentliche Eingabe des Counter-Werts, mit Entprellung des Signals ( hierbei gilt ein Tastendruck für dich, sind mehrere Tastendrücke für den Controller ), dies erreicht man indem man schleifen verwendet die nur einmal das Signal durch lassen.

-->While pin_d1==low loop  -- tut solange nichts bis ein high kommt

end loop

counter=counter+1 -- addiert zum Counterwert eine Zeiteinheit

while pin_d1==high loop -- tut solange nicht bis kein high mehr kommt

end loop

 

Programm als Download


4. Funktion/Besonderheit

Um die Sanduhr bedienen zu können muss man zunächst die Aufgabe der einzelnen Schalter kennen.

A-->counter + 1 (60 Sekunden)

B-->Start

C-->Reset


Bei Eingabe der Zeit und dem Starten muss man folgende dinge beachten 1. die Counter Variable läst sich nur alle 3 Sekunden erhöhen, das liegt daran das nach dem addieren eine 2 Sekunden-Pause nötig ist um die Eingabe zu Beenden, da ansonsten der Prozess direkt oberhalb der Zeiteingabe Feststecken würde und es nicht möglich ware den Zeitablauf zu Starte. Um das Programm zu starten muss man innerhalb der 2 Sekunden nach der letzten Zeit Eingabe den Startschalter betätigen und diesem halten, und zwar solange bis nur die obere hälfte der Sanduhr leuchtet, dann startet das Programm. Es muss mindesten einmal der Knopf A und B gedrückt werden ( 0 Sekunden würden auch wenig Sinn machen ;).

 





zur Hauptseite
© Samuel-von-Pufendorf-Gymnasium Flöha © Frank Rost am 1. März 2010 um 13.28 Uhr

... dieser Text wurde nach den Regeln irgendeiner Rechtschreibreform verfasst - ich hab' irgendwann einmal beschlossen, an diesem Zirkus nicht mehr teilzunehmen ;-)

„Dieses Land braucht eine Steuerreform, dieses Land braucht eine Rentenreform - wir schreiben Schiffahrt mit drei „f“!“

Diddi Hallervorden, dt. Komiker und Kabarettist

Diese Seite wurde ohne Zusatz irgendwelcher Konversationsstoffe erstellt ;-)