Als ich vor kurzem mit der Ping-Pong-Platine [1] experimentierte, hatte ich den Einfall, in BASCOM AVR die Simulation einer Presse zu entwerfen.
.
So lauten z. B. für das im Bild dargestellte LED-Muster die Zeilen im Programm-Listing folgendermaßen:
Das zu bearbeitende Material wird von rechts herbeitransportiert, durch die Presse bearbeitet und schließlich nach links wegtransportiert.
In einigen ELO-Beiträgen [3] ist ausführlich die Programmierung des ATMEGA8 auf der Platine behandelt worden.
In einem davon ist auch eine kleine Schaltung abgebildet, mit der dies möglich ist.
Außerdem ist die für die Programmierung notwendige Software im ELO-Magazin verfügbar und kann heruntergeladen werden.
Die komplette Steuerung der Simulation erfolgt ausschließlich mit den Potenziometern des Ping-Pong-Bausatzes.
Angenommen, die mit der Software von BASCOM AVR erzeugte HEX-Datei für die oben beschriebene Simulation ist in den Mikrocontroller übertragen worden. Schaltet man die Spannungsquelle ein, wird die Presse in Grundstellung dargestellt.
Die Bedienung geschieht nun folgendermaßen:
Wird Poti 1 an ADC7 in Mittelstellung und kurz danach durch Drehen am Potenziometerknopf wieder in Nullstellung gebracht, legt ein Greifer von rechts kommend das zu bearbeitende Material unter die Presse.
Der Pressvorgang wird anschließend mit dem Poti2 durch kurzzeitiges Drehen in Mittelstellung und Zurückdrehen in Nullstellung ausgelöst.
Werden schließlich beide Potenziometer kurzzeitig zusammen in Mittelstellung und darauf wieder in Nullstellung gebracht, kommt ein Greifer von links und transportiert das durch die Presse verformte Material nach links.
Die Presse wird wieder in Grundstellung dargestellt, und die Simulation kann erneut gestartet werden.
Es wird angenommen, dass bei einer Mittelstellung des Schleifkontaktes des jeweiligen Potenziometers der vom ATMEGA8 am Eingang ADC6 bzw. ADC7 eingelesene ganzzahlige Wert mehr als 350 beträgt.
Wenn beide zusammen in MIttelstellung stehen, ist die Summe aus beiden Werten größer als 700.
Aus diesen Überlegungen ergeben sich die folgenden Zeilen im Programm-Listing:
...
Do
State = 0
Gosub Ablauf
Loop
Ablauf:
Gosub Prs00 'Grundstellung der Presse darstellen
Loop1:
Gosub Ein1
If Dat7 > 350 Then
Gosub Sequ1 'Vorbereiten zum Pressen
Wait 2
Else
Goto Loop1
End If
Loop2:
Gosub Ein2
If Dat6 > 350 Then
Gosub Sequ2
Wait 2
Else
Goto Loop2 'Vorgang Pressen
End If
Loop3:
Gosub Ein1
Gosub Ein2
Dat7_6 = Dat7 + Dat6
If Dat7_6 > 700 Then
Gosub Sequ3
Wait 2
Else
Goto Loop3 'gepresstes Material wegtransportieren
Gosub Prs00 'Grundstellung der Presse
End If
Weiter:
Return
...
Ein1:
Dat7 = 0
Dat7 = Getadc(7)
Return
Ein2:
Dat6 = 0
Dat6 = Getadc(6)
Return
...
Pogrammlisting für die Simulation der Presse hier herunterladen
Literatur, Bezugsquellen:
[1] www.franzis.de, Ping-Pong-Bausatz
[2] www.elo-web.de, Beiträge zur Programmierung des ATMEGA8 der Ping-Pong-Platine, u. a. auch der Beitrag Supermustergenerator sowie Mustergerator
[3] www.franzis.de, Ulli Sommer, „Lernpaket Mikrocontrollertechnik mit BASCOM", 2009
Die passende Ergänzung zu diesem Artikel:
 | Franzis Ping-Pong Produktart: Softwarebox ISBN 978-3-7723-4799-3 Versandkostenfrei* direkt beim Verlag bestellen
29,95 € 
|