Forum: Mikrocontroller und Digitale Elektronik Grundlegende Fragen zu Microcontroller


von esto24 (Gast)


Lesenswert?

Guten Tag Gemeinde,

ich mache momentan meinen Elektronik Meister für Energie und 
Gebäudetechnik.
Dabei haben wir uns mit den Grundlegenden Dingen der SPS beschäftigt.
Unser Meisterstück müssen wir mit LOGO realiesieren.

Wenn das ganze rum ist ca. 3 Wochen. Will ich mich mit der 
Microcontroller Programmierung beschäftigen.
Bin ich richtig wenn ich davon Ausgehe das "dieser" Chip wie eine LOGO 
funktioniertl? Also ein und Ausgänge!

Leider habe ich Programmiertechnisch keine Auhnung.

Und was brauche ich für Hard und Software.

Ich würde mich über hilfe bedanken!!

MFG

Marvin
von ?! (Gast)


Lesenswert?

> Dabei haben wir uns mit den Grundlegenden Dingen der SPS beschäftigt.
Unser Meisterstück müssen wir mit LOGO realiesieren.

Das ist Bestandteil der Facharbeiterausbildung, gibts für die Meister 
nicht mal anspruchsvollere Themen...
von Marvin G. (marvin_g)


Lesenswert?

Naja, beim Meister geht es ja weniger um Technische Geschicke.
Wer auf der Suche nach Technischer Weiterbildung ist sollte den 
Techniker machen, diese Beschäftigen sich vertieft mit SPS usw.

Beim Meister gehts es mehr um Betreibsführung und VDE sowie 
Rechnungswesen und etc.
Desweiteren wird bei keiner HWK oder Innung eine Gesellenprüfung mit 
LOGO gefordert.
Der Stoffplan der Berufsschule sieht dies vor. Allerdings in keinem 
Brauchbaren Ausmaß.
von Uwe N. (ex-aetzer)


Lesenswert?

Verstehe ich dein Anliegen richtig: Du möchtest NACH dem Abschluss als 
Meister dich mit Microcontrollern beschäftigen ?

> Bin ich richtig wenn ich davon Ausgehe das "dieser" Chip wie eine LOGO
> funktioniertl?

Im Prinzip ja (es gibt "Dinge" wie AND, OR, XOR und natürlich I/Os 
etc.).

> Und was brauche ich für Hard und Software.

Nun, du brauchst einen Programmer und eine Entwicklungsumgebung 
(Assembler/ C/ BASCOM etc.). Was genau, hängt von deinem Geschmack ab:
Die hier am häufigsten Vertreter der µCs sind PICs (Microchip)und AVRs 
(Atmel) - die ARVs sind hier im Forum in der Überzahl (ist wohl 
historisch so gewachsen, die PICs sind auch sehr gut).

AVR Tutorials sind hier:
http://www.mikrocontroller.net/articles/AVR-Tutorial
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial

Bücher (ich hab folgendes):
http://www.amazon.de/Mikrocomputertechnik-Controllern-Atmel-AVR-RISC-Familie-Programmierung/dp/3486589881/ref=sr_1_2?ie=UTF8&qid=1328000976&sr=8-2

Entwicklungsumgebung: AVR Studio 5
http://www.atmel.com/microsite/avr_studio_5/default.asp?source=redirect

Programmer/ Starterkits:
STK500/ STK600 (nicht billig, aber du kannst sofort loslegen)

http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2735

http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4254

Das ganze ist recht Zeitintensiv, nur so als Warnung ;-)

Gruss Uwe
von Random .. (thorstendb) Benutzerseite


Lesenswert?

esto24 schrieb:
> ich mache momentan meinen Elektronik Meister für Energie und
> Gebäudetechnik.
>
> Bin ich richtig wenn ich davon Ausgehe das "dieser" Chip wie eine LOGO
> funktioniertl? Also ein und Ausgänge!

Naja, wenn du es so siehst, funktioniert der Chip genauso wie ein 
Gebäude. Ein- und Ausgänge :-)

Ganz simpel betrachtet ist auch ein Microcontroller dazu da, Signale an 
Eingängen entgegenzunehmen und ggf. nach Berechnung Ausgänge 
entsprechend zu schalten.

In einer SPS läuft auch ein µC, auf dem µC wiederum läuft aber eine Art 
Betriebssystem (ggf. wird das ganze auch compiliert), welches eine sehr 
hohe Abstraktion erlaubt (Lese Eingang X und Y, verknüpfe diese mit UND 
und gebe das Ergebnis auf Ausgang Z aus). Oft werden diese Systeme auch 
grafisch programmiert.

Arbeitet man nun direkt mit dem µC, so muss man sich um die Abstraktion 
selbst kümmern. Dies bedeutet, man muss die verwendete Peripherie (z.B. 
digitale IO Ports) initialisieren, und gewisse Dinge beim Zugriff 
beachten. Dafür hat man aber auch die volle Kontrolle über den µC, was 
insbesondere bei zeitkritischen Anwendungen sehr von Vorteil ist.

Zur Programmierung solcher Controller reicht ein Editor und ein Compiler 
(z.B. Notepad++ und gcc), aber das ist für den Einstieg recht 
kompliziert.

Eine IDE (Entwicklungsumgebung) hilft einem hierbei.

Die Programmiersprache ist bei einem µC vorzugsweise C oder Assembler, 
für nicht zeitkritische Dinge eignet sich auch ein BASIC Dialekt. Im 
Falle von BASIC nehmen einem meisstens die Libraries etwas Arbeit bei 
der Initialisierung der Peripherals ab.
von Benjamin R. (shooter_benny)


Lesenswert?

Hallo esto24,

ich möchte dir noch die Seite http://www.sprut.de ans Herz legen. Diese 
befasst sich mit den PIC Microcontrollern der Firma Microchip.

Auf dieser Seite sind viele kleine Beispiele, eine Auflistung der 
verschiedenen PIC-Typen und auch nützliche Tipps, wie z.B. 
Anfängerfallen, Hinweise zur Takterzeugung, etc...

Lese dich einfach mal ein.

Gruß
Benny
von Marvin G. (marvin_g)


Lesenswert?

Danke die Infos

Anfangen will ich erst wenn meine Prüfungen zu Ende ist. Bzw. wenns 
geklappt hat.

Benjamin hat PIC angesprochen, das ist doch was anderes wie AVR?

Mit der Programmiersprach werde ich mich wohl schwer tun. Denn bis jetzt 
kenne ich alles nur Grafisch.

Bedeutend wird das für mich bedeuten, dass ich mich erstmal mit C oder 
Basic beschäftigend sollte.

Wobei diese Programmiersprachen ein rotes Tuch für mich sind. Da mir 
dafür in vielen Fällen das Verständniss fehlt.
Das bedeutet das ich mal ein paar Tuts durcharbeite und schaue wie es 
klappt.

Danke schon mal vorraus
von Uwe N. (ex-aetzer)


Lesenswert?

Marvin G. schrieb:
> Benjamin hat PIC angesprochen, das ist doch was anderes wie AVR?

Ja, in etwa vergleichbar wie Trabbant/ Wartburg oder Golf und Astra :-)
Wie gesagt: ist Geschmackssache.

> Wobei diese Programmiersprachen ein rotes Tuch für mich sind. Da mir
> dafür in vielen Fällen das Verständniss fehlt.

Schau dir mal BASCOM an, ist BASIC-ähnlich und wahrscheinlich einfacher 
zu lernen (ich kenne BASCOM nicht "persönlich", nutze hauptsächlich C 
oder Asm)

Gruss Uwe
von Achim M. (minifloat)


Lesenswert?

Marvin G. schrieb:
> Mit der Programmiersprach werde ich mich wohl schwer tun. Denn bis jetzt
> kenne ich alles nur Grafisch.

Es gibt auch grafische Prorammiersprachen für Microcontroller, wie z.B. 
Flowcode(bei begrenzter Codegröße kostenlos). Wie performant das im 
Vergleich zu Assembler oder "C" oder Basic-Dialekten ist, kann ich dir 
nicht sagen. Mir fehlen dazu Erfahrungswerte.

Wenn es darum geht, so etwas wie einen deterministischen 
Zustandsautomaten grafisch zu entwerfen und nachher auf den 
Microcontroller zu bringen, da gibt es auch diverse Tools(teilweise GNU, 
teilweise nicht kostenfrei). Die erzeugen dann "C"-Code, der sich 
nachher unkompliziert in das restliche Programm einfügen lässt.

Wenn du grafische Sprachen gewohnt bist, fang erstmal mit Flowcode an. 
Wenn du allerdings detailliertes Wissen haben willst, empfehle ich dir 
erstmal "C". Das hat den Vorteil, auf reht hoher Abstraktionsebene 
arbeiten zu können, wenn man die Ganzen IO-Geschichten in einfach zu 
bedienende Funktionen verpackt. Wenns dann noch etwas mehr detailliert 
zugehen soll, wirf einen Blick in das Disassemblerlisting, was der 
C-Compiler generieren kann. Die absolut harte Tour wäre es, wenn du 
gleich mir Assembler einsteigst, aber nachher weißt du über alle 
Einzelheiten bescheid.

Ach ja, von mir noch eine Warnung: Microcontroller machen süchtig!

mfg mf

PS: Der Vorteil an C ist: Du kannst die Programmiersprache an sich mit 
dem Schreiben von Kommandozeilenprogrammen am PC lernen. Die Grundlagen 
müssen sitzen. Erst dann solltest du dich an C für Microcontroller 
wagen.
Das Problem bei BASCOM ist, dass es sehr spezialisiert ist. Man muss 
also an zwei Fronten kämpfen: Hardware und Programmiersprache lernen. 
Wenn also etwas nicht funktoniert, sucht man sich den Wolf, wenn man 
nicht weiß, ob es an ungeschickter Programmierung liegt. Man vermutet 
Fehler an falschen stellen usw.
von Marvin G. (marvin_g)


Lesenswert?

Mini Float schrieb:
> Ach ja, von mir noch eine Warnung: Microcontroller machen süchtig!

Das ist sehr gut !!! ^^

Eventuell werde ich mich erstmal an eine Grafische Programmierung wagen.
Auch aus Erfolgsgründen.

Und dieser erzeugte Code lässt sich bestimmt ja auch anpassen.
von Oldmax (Gast)


Lesenswert?

Hi
Na ja, wenn du nach deinem Meister dann noch Zeit hast.... Ich kann aus 
Erfahrung sagen, das der Quereinstieg in die Welt programmierbarer Dinge 
m it viel Freizeitverlust verbunden ist. S 5 / S 7 sind da schon die 
Spitze von Sportwagen, wenn es um den Erfolgbem Umsetzen von 
Steuerungsaufgaben geht. Ein µC ist da doch eher dämlich und du mußt ihm 
entweder in einer "gewöhnungsbedürftigen" Hochsprache eine Aufgabe 
erteilen oder du arbeitest, wie es ein Elektriker gelernt hat an der 
Basis mit Assembler. Da kommt dann richtig Freude auf....
Aber ich kann dir bestätigen, es ist allemal interessanter, als mit 
Freundin im Kino die Zeit zu vertrödeln... oder mit Kumpels den 
Bierverbrauch pro Kopf hochzuhalten.
Im Ernst, wenn du noch nie mit einem Controller gearbeitet hast, ist es 
ein anstrengender und mühseliger Weg. Und du mußt lernen, zu 
programmieren. Die Sprache selbst ist erst einmal gar nicht das Thema. 
Was du brauchst, ist das Verständnis, wieso und warum.
Also, mach deinen Meister und dann meld dich noch mal, wenn du dann noch 
Lust hast. Hilfe wirst du schon finden, da bin ich mir ganz sicher.
Gruß oldmax
von Marvin G. (marvin_g)


Lesenswert?

Oldmax schrieb:
> Aber ich kann dir bestätigen, es ist allemal interessanter, als mit
> Freundin im Kino die Zeit zu vertrödeln... oder mit Kumpels den
> Bierverbrauch pro Kopf hochzuhalten.

;)

Danke werde ich machen!!
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.