Forum: Mikrocontroller und Digitale Elektronik Totmannschaltung programmieren via Assembler


von Björn E. (mechamax)


Lesenswert?

Hallo,

ich wende mich in der ZWeifelung an das Forum um Hilfe bezüglich eines 
testats in Meechatronik. Hierbei geht es nicht um mich, sondern um 
meinen Bruder. Er studiert Mechatronik an einer FH und muss nun im 
ersten Semester eine Totmannschaltung programmieren via Assembler.
Ich selbst (Informatiosnelektroniker) kann ihm hierbei leider nicht 
helfen und seine Kommilitonen möchte er nicht fragen. Ihr hier im Forum 
seit eigentlich meine bzw. seine letzte Chance!

Ich hab wie schon geschrieben mir die Thematik angeschaut aber echt 
keinen blassen Schimmer davon.

Ich würde mich echt sehr vfreuen wenn ihr ihm irgendwie helfen könntet.

VIELEN DANK !

Bis dann....

LG

: Bearbeitet durch User
von Joe S. (bubblejoe)


Lesenswert?

Alle Infos stehen doch dabei.

Dein Bruder muss sich vorrangig mit Tasterentprellung und Timing 
beschäftigen. Ein Totmannmelder ist nicht so schwer. Im Studium soll man 
auch was lernen, das muss er selbst tun. Ihm ist nicht geholfen, wenn 
wir ihm hier das vorkauen.

Da es sich um AVR handelt, kann er auch das Tutorial hier hinzuziehen, 
nach ein bisschen Einarbeitung sollte das klappen.

http://www.mikrocontroller.net/articles/AVR-Tutorial

Später bei konkreten Fragen kann er wiederkommen, anfangen muss er 
allein.

: Bearbeitet durch User
von Sudo (Gast)


Lesenswert?

>seine Kommilitonen möchte er nicht fragen.
Warum? Als Einzelkämpfer kommt man viel schwerer durchs Studium und im 
Arbeitsleben wird das auch nicht gern gesehen.

von Marc (Gast)


Lesenswert?

Sudo schrieb:
>>seine Kommilitonen möchte er nicht fragen.
> Warum? Als Einzelkämpfer kommt man viel schwerer durchs Studium und im
> Arbeitsleben wird das auch nicht gern gesehen.

Genau, löst Die Aufgabe doch im TEAM (Toll, Ein Anderer Macht's), dann 
bist Du aus dem Schneider!

von Claus M. (energy)


Lesenswert?

Das ist jetzt schon Stufe 2, wenn die Studis sich nicht mal mehr die 
Mühe machen selber aus dem Internet zu plagiieren sondern es jemanden 
machen lassen.

von Logger (Gast)


Lesenswert?

Eine Totmannschaltung gibts im schaltungstechnischen Sinn eigentlich
nicht. Eher ist es ein Funktion die ein Gerät oder ein System erfüllt, 
wenn...
Man kann sich dazu aber im Internet etwas schlau lesen:
http://de.wikipedia.org/wiki/Totmanneinrichtung
Wenn Beispielsweise ein zeitliches Ereignis nicht (z.B.durch
Tastendruck) bestätigt wird, dann gibts einen Alarm, ansonsten nicht.
Am einfachsten betrachtet kombiniert man die Funktion eines
Weckers der zyklisch klingelt und wenn dann keiner abschaltet,
wird alternativ ein anderes Signal oder eine andere sinnvolle
Aktion (z.B. Lichtsignal,Notruf etc.)ausgelöst.
Für einen Informatiker sollte das aber ein Klacks und vor dem
Mittagessen erledigt sein.

von Magic S. (magic_smoke)


Lesenswert?

Ohje... So eine Aufgabe im Studium?? Sowas bastel ich Dir in drei 
Stunden zusammen, wobei die meiste Zeit wohl fürs Zusammenlöten der 
Hardware draufgeht. Selbst in Assembler ist die eigentliche 
Programmierung des verwendeten Controllers sehr trivial und in Minuten 
erledigt.

von Ungläubiger (Gast)


Lesenswert?

Halelulja,

wer da schon Probleme hat, sollte es nochmal kritisch hinterfragen mit 
dem Studium!

Die Hauptaufgabe des Studenten ist bei so Aufgaben, nicht das 
Fertigbringen von irgendwas, sondern das richtige Sammeln und Auswerten 
der Datenblätter/Dokumentationen...

Wenn das nur ein Totmannschalter sein soll, dann kann man das auch mit 
rein analogen Dingen aufbauen... - bei richtiger Verkabelung braucht das 
Programm auch nur eine Warteschleife (Taster an Reset).

Da ist nichts kompliziertes o.Ä. dran:
1
Ports initialisieren
2
start-jumppunkt
3
schleife wie oft der taster gedrückt werden muss
4
{
5
prüfen ob taster gedrückt
6
 {
7
 schleife, wie lange der taster gedrückt sein darf maximal
8
  {
9
   wenn taster los gelassen -> jump to start-jumppunkt
10
  }
11
 Maschine anhalten
12
}
13
Maschine anhalten

: Bearbeitet durch User
von Magic S. (magic_smoke)


Lesenswert?

Ganz so einfach wie Taster an Reset ist es nun wieder auch nicht. Ich 
würd einen zweiten Zähler verwenden, so daß die Schaltung ebenfalls 
auslöst wenn der Schalter zulange dauerhaft gedrückt bleibt. Der 
Bediener könnte ohnmächtig geworden und auf die Taste gefallen sein. 
Nach diesem Prinzip ist z.B. die SIFA der Bahn aufgebaut.

von STK500-Besitzer (Gast)


Lesenswert?

magic smoke schrieb:
> Ich würd einen zweiten Zähler verwenden, so daß die Schaltung ebenfalls
> auslöst wenn der Schalter zulange dauerhaft gedrückt bleibt.

Mann muss die Flanken auswerten...
Diese müssen innerhalb einer gewissen Zeit auftreten.

von STK500-Besitzer (Gast)


Lesenswert?

... (ohne mir die Aufgabenstellung angesehen zu haben):
Nach einer gewissen Zeit muss einfach der andere Pegel längerfristig 
(also nach dem Entprellen) anliegen.

von Magic S. (magic_smoke)


Lesenswert?

Das Prellen würd ich direkt in Hardware eliminieren. Für diesen kleinen 
Kondensator (in Verbindung mit dem internen Pull-Up des µC) hat man 
immer Platz.

von oldmax (Gast)


Angehängte Dateien:

Lesenswert?

Hi
Wo ist das Problem?
Freigabe = Taster Ein < Zeit und Taster Aus < Zeit.
Allein eine Skizze bringt schon das halbe Studium. Gut, nicht perfekt 
ausgereizt, aber ein wenig solltest du von dieser echten Herausforderung 
deinem Bruder selbst zumuten.
Gruß oldmax

von Amateur (Gast)


Lesenswert?

Die Konzepte zu diesem Tema findest Du unter dem Stichwort "NOT-AUS", 
Maschinensicherheit und Konsorten.

Im Grunde genommen ist das ganze sehr einfach:
Ein Zeitgeber, der mittels Schalter gestartet bzw. Zurückgesetzt werden 
kann, schaltet Deine Anlage aus. Es sei denn Du betätigst vorher den 
Schalter. Die Hauptproblematik hierbei ist nur der Start und die 
einzustellende Zeit.

Ich wette, dass Dein Bruder, so er solche führt, diese einfachen 
Elemente bereits in seinen Unterlagen hat.

von Max H. (hartl192)


Lesenswert?

Ich würde ein Timer Interrupt verwenden. In der ISR wird die Taste 
entprellt und eine Variable decrementiert. Wenn diese null erreicht, 
wird die Maschine ausgeschalten. Wenn der Taster gedrückt wurde, wird 
die Variable mit einem Startwert geladen.

von Tim  . (cpldcpu)


Lesenswert?

Ob AVR Assemblergefrikel das Richtige für eine Erstsemestervorlesung in 
Informatik für Mechatroniker ist?

von Mike (Gast)


Lesenswert?

Logger schrieb:
> Eine Totmannschaltung gibts im schaltungstechnischen Sinn eigentlich
> nicht.

Auf englisch würde das wohl "Watch dog" heißen.

Aber ehrlich habe ich jetzt keinen Bock auf 10MB Download und Suche nach 
ergendeinem Entpacker, der mit .rar klar kommt. .zip ist hier im Forum 
das Standardformat.

von Amateur (Gast)


Lesenswert?

>Ob AVR Assemblergefrikel das Richtige für eine Erstsemestervorlesung in
>Informatik für Mechatroniker ist?

Der TO schrieb, dass sich sein Bruder sich im Bereich der Mechatronik 
herumtreibt. Ich schätze mal, da geht es meist um SPS und Ähnliches.

In den Dingern, bzw. deren Programmiersoftware, sind diese Elemente an 
prominenter Stelle implementiert. Man muss sie nur zusammenkleben.

von Björn E. (mechamax)


Lesenswert?

Hallo vielen Dank für die vielen Beiträge.

Ich hab ihm auch schon einiges gezeigt. Er tut sich halt etwas schwer 
bezüglich der Programmierng. Vom Ablauf her weiss er Bescheid, ihm geht 
es eben nur hauptsächlich um die Programmierung.

Vielleicht ist ja wirklich noch ein so netter Mensch unter euch der ihm 
wirklich direkt auf das Testat bezogen weiterhelfen kann hinsichtlich 
der Programmierung! Wäre echt super!

Herzlichsten dank vorab!

LG

von Amateur (Gast)


Lesenswert?

Ich habe zulange solche Teile nicht mehr programmiert, falls es um SPS 
geht, und habe weder die nötige Software zum Programmieren und Testen 
noch die Hardware.

An diesem Punkt warst Du auch ein bisschen zurückhaltend.
Für alle, die Dir bzw. Deinem Bruder helfen sollen, sind einige 
weitergehende Informationen vonnöten.
Hier ist ein Mikroprozessorforum. Hier werden Dir viele, incl. meiner 
Person, Hilfe zu einer Umsetzung mit selbigen liefern können.
Auch dürfte der eine oder andere das Equipment zur SPS-Programmierung in 
Reichweite haben.
Aber alle benötigen Informationen zur Hardware. Taster oder 
Lichtschranken, Signale, Ausgänge. Typ Mikroprozessor oder SPS usw. Auch 
der eine oder andere Tipp zur verwendeten Software wie: C, Assembler, 
KOP, AWL, FUP oder wie sie alle heißen, könnte nicht schaden.

von Floh (Gast)


Lesenswert?

Björn Ernst schrieb:
> Vielleicht ist ja wirklich noch ein so netter Mensch unter euch der ihm
> wirklich direkt auf das Testat bezogen weiterhelfen kann hinsichtlich
> der Programmierung! Wäre echt super!

Sei mal erlich, warum sollte dein Bruder ein Testat bekommen, wenn ihm 
hier irgendwer die Lösung schreibt? Testat fürs fragen lassen in einem 
Forum?

Er kriegt hier mit Sicherheit Hilfestellung, wenn er es selbst probiert 
und Probleme dabei hat. Aber ein "Habs nicht verstanden, wer macht mir 
das" ist schon ein arg schwacher Versuch. Würde im Job später auch nicht 
funktionieren.

Also auf den Hosenboden setzen und lernen.

PS: Wenn ich will, das mir jemand hilft, schmeiß ich ihm kein .rar an 
den Kopf. Da versuche ich dem Helfenden direkt alle Infos offenzulegen.

von kopfkratzer (Gast)


Lesenswert?

kopfkratz
Ja und wo liegt nun das eigentliche Problem ?
Das er die vorgegebene Aufgabe nicht in eine FSM mit Übergangsgraphen 
umsetzen kann ?
Das er aus der FSM kein Assemblerprogramm erstellen kann ?
Einfache Vorgehensweise:
1. Vorgaben in eine FSM zeichnen, siehe z.B. hier 
http://www.mikrocontroller.net/articles/Statemachine
2. Die erstellte FSM in ein Ablaufdiagramm umwwandeln, siehe z.B. hier
http://de.wikipedia.org/wiki/Programmablaufplan
3. Das Ablaufdiagramm in Assembler umsetzen
Welche der drei Schritte wird nicht verstanden ?

von Lothar S. (loeti)


Lesenswert?

> Er studiert Mechatronik an einer FH und muss nun im
> ersten Semester eine Totmannschaltung programmieren via Assembler.

Der Prof. ist ein echtes Genie!
Das ist eine Sicherheitsschaltung und bestimmt nix für Assembler von 
Erstsemestern...

Grüße Löti

von Takao K. (takao_k) Benutzerseite


Lesenswert?

Tim    schrieb:
> Ob AVR Assemblergefrikel das Richtige für eine Erstsemestervorlesung in
> Informatik für Mechatroniker ist?

Lesenswerter Beitrag.

von Route_66 H. (route_66)


Lesenswert?

Lothar S. schrieb:
> Der Prof. ist ein echtes Genie!
> Das ist eine Sicherheitsschaltung und bestimmt nix für Assembler von
> Erstsemestern...

Gerade bei sicherheitsgerichteter Software sieht der TÜV gerne 
Assembler.
Da muß kein geprüfter Compiler oder fremde Bibliotheken validiert 
werden.

von Karl H. (kbuchegg)


Lesenswert?

Route 66 schrieb:
> Lothar S. schrieb:
>> Der Prof. ist ein echtes Genie!
>> Das ist eine Sicherheitsschaltung und bestimmt nix für Assembler von
>> Erstsemestern...
>
> Gerade bei sicherheitsgerichteter Software sieht der TÜV gerne
> Assembler.
> Da muß kein geprüfter Compiler oder fremde Bibliotheken validiert
> werden.

Ich bin recht sicher, dass es in erster Linie nicht darum geht, eine 
Software zu stricken, die vom TÜV abgenommen wird.
Hingegen bin ich mir recht sicher, dass es sich einfach nur um ein 
Übungs- (und/oder) Klausurbeispiel handelt, mit dem überprüft wird, ob 
der Student mit I/O, Timern und/oder Verzögerungsschleifen umgehen kann.
Ich denke, wir sind uns einig, dass niemand von einem Erstsemester 
sicherheitskritische Software erwartet. Hingegen ist es für einen 
Studenten demotivierend, wenn er 'auf der grünen Wiese' vor sich 
hinprogrammieren muss, ohne irgendeinen Bezug zur realen Welt. Die 
'Totmanschaltung' ist einfach nur ein Beispiel, in dessen Kontext die 
Konzepte Taster, Meldevorrichtung und Zeitsteuerung eingebettet sind. 
Macht bitte nicht mehr draus, als es ist.

Gerade in den ersten Semestern ist die Suche nach halbwegs sinnvollen 
Beispielen gar nicht so einfach. Auf der einen Seite hat der Student 
noch lange nicht den vollen Sprachumfang intus, auf der anderen Seite 
will man ihm auch mal etwas anderes bieten als die 25.te Wiederholung 
von "Schreiben sie ein Programm, welches in einer Schleife alle 
Quadratzahlen von 0 bis 10 ausgibt und fragen Sie mich blos nicht, wozu 
das gut sein soll". Alle die selber schon unterrichtet haben, wissen 
wovon ich rede.

: Bearbeitet durch User
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.