Archiv verlassen und diese Seite im Standarddesign anzeigen : ATmega = SPS?
JojoKoester
05.06.2006, 17:48
Hallo,
ich hab mich heute den ganzen Tag damit rum geschlagen, das Forum usw. zu durchschlagen.
Ist der ATmega Microcontroller eine Art kleine SPS? Aber wenn das stimmt, verstehe ich es nicht warum es z.B. eine LOGO! gibt (außer zur Einfachheit)
Das heißt, ich kann Programme wie diese aufbauen:
if(eingang_01 = 1)
{
ausgang_26 = 1;
}
Und an die Eingänge Sensoren usw als Schließer/Öffner einbauen. Dafür brauche ich jedoch wieder eine Versorgungsspannung, wie geht das?? #-o
Ich bin auf diese Seite gekommen, weil ich mir bei Pollin die Micrcontroller angeschaut habe. Bringt es die dort erhältliche Programmierplatine? Atmel Evaluations-Bausatz nennt sich die. Die kostet 10 Euro und ein ATmega 32 kostet 6 Euro. Ist das okay?
Ich möchte damit überall erstmal rumspielen. Man könnte ja dann über die Ausgänge des Controllers Relais schalten, die zum Beispiel einen Motor usw. ein/aus schalten.
So, ich hoffe mal ihr könnt mir helfen.
Gruß, Johannes
Eine SPS programmiert man definitionsgemäß in einer für die Automatisierungstechnik gebräuchlichen Sprache, die entweder direkt einzugeben ist (IL, SP) oder durch Generatoren aus Diagrammen (Kontaktplan bzw. LD) erzeugt werden, neben anderen Möglichkeiten. Dabei hat man Bedingungen, Timer uvam parallel (quasiparallel genau genommen) zur Verfügung.
Der ATmega ist ein Microcontroller, punkt aus. Natürlich kann man mit dem auch etwas steuern, wenn man Aktoren und ggf Sensoren anschliesst, und programmieren kann man den auch in verschiedenen Sprachen. Nur im Gegensatz zur SPS läuft auf dem frisch gekauften ATmega noch keine Software, die Dein Programm interpretiert, sondern Du musst das Programm von Grund auf selbst bereitstellen. Timer? Ja klar, kannst Du Dir programmieren. Parallelität? Genauso wie bei einer SPS: quasiparallel, aber nicht "ab Werk", dafür musst Du durch Interrupts und/oder Zeitsteuerung (Multi-Tasking) selbst sorgen.
Ein Microcontroller ist also keine SPS und eine SPS ist kein Microcontroller.
Ob Du das Eine durch das Andere in Deiner Anwendung ersetzten kannst und willst, musst Du selbst entscheiden.
JojoKoester
05.06.2006, 21:50
Okay, das habe ich jetzt verstanden. Was aber eigentlich ganz gut ist, denn dann hat man ja mehr freiheiten als z.B. im FuP.
Kann man denn doch auch mit dem Programm sagen, dass jetzt auf Pin01 Spannung anliegen soll und wann nicht? Also, das Programm soll dann so aus sehen:
Gib Spannung auf Pin02
Und das "muss" der dann auch machen.
Geht das in etwa so?
kalledom
05.06.2006, 22:28
Ein Mikro-Controller läuft mit 5V, er schaltet an den Ausgängen nur 0 oder 5V bei einem maximalen Strom (bei 0) von 20 Milli-Ampere und er verträgt an den Eingängen höchstens 5V. Von einer SPS bist Du mit µC weit weg.
Zum Programmieren brauchst Du Assembler oder C, und um das Programm in den µC hinein zu bekommen, einen sogenannten Brenner.
In einem neu gekauften µC steht nichts, aber auch gar nichts drin. Er ist restlos leer. Du mußt für alles und jedes sorgen, ohne daß Dir der µC in irgendeiner Weise hilft; er legt Dir höchstens noch Steine in den Weg, weil ihm vielleicht die Versorgungsspannung nicht stabil genug ist, der Quarz nicht schwingen will, Blockkondensatoren fehlen, und und und. Viel Spaß.
Ist der ATmega Microcontroller eine Art kleine SPS? Aber wenn das stimmt, verstehe ich es nicht warum es z.B. eine LOGO! gibt (außer zur Einfachheit)
Die Einfachheit, und vor allem die Auslegung für den Industriebetreib. Eine SPS wird meist mit 24V oder 230V betrieben, hat miest optisch isolierte Ein- und Ausgänge sowie Mögliochkeiten zur Steuerung von elektrotechnischen Anlagen (über Ralais etc.).
Ein µC ist einfach nur ein IC, das für (fast) unendlich viele Aufgaben programmiert werden kann. Er kann als Kern einer SPS dienen, aber auch in einem Autoradio oder einer Raumsonde verbaut werden. Ein µC braucht je nach Anwendung immer mehr oder weniger eine gewisse Anzahl an externen Koomponenten. In einer SPS sind diese Komponenten schon fertig für einen bestimmen Einsatzzweck in einem Gehäuse zusammengestellt.
Sebastian132
07.06.2006, 00:03
Okay, das habe ich jetzt verstanden. Was aber eigentlich ganz gut ist, denn dann hat man ja mehr freiheiten als z.B. im FuP.
Kann man denn doch auch mit dem Programm sagen, dass jetzt auf Pin01 Spannung anliegen soll und wann nicht? Also, das Programm soll dann so aus sehen:
Gib Spannung auf Pin02
Und das "muss" der dann auch machen.
Geht das in etwa so?
Das ist eine der leichtesten Aufgaben eines MC, Beispiel AVR-GCC:
DDRD = 0b00000010 //(zweiter Pin des Ports als Ausgang definieren).
PORTD |= (1<<PD1) //(Zweiten Pin des Ports D auf High legen).
Das ganze lässt sich dann natürlich auch mit logischen Verknüpfungen und Verzweigungen, sowie zeitlichen Ereignissen kombinieren, also WENN dies und jenes, tue dies und das...
PS: So eine SPS ist natürlich trotzdem deutlich einfacherer zu programmieren und auch robuster, dort kannst du gleich dicke Lasten dranhängen. Der µC verlangt dazu am Pin nach einer Transistorendstufe / FET etc. oder einem Relais.
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.