Forum: Mikrocontroller und Digitale Elektronik Anfänger braucht Starthilfe :-)


von Alex M. (s-p-o-o-k-y)


Lesenswert?

Hallo,
ich bin absoluter und totaler Anfänger in sachen Mikrocontroller.
Ich bräuchte jemanden der mir sagen kann, was ich brauche :-)

Folgende Gegebenheiten:
ca 25 Schalter
ca 20 Motoren, die über 12V-Relais angesteuert, rauf bzw. runter 
gefahren werden.

Je nachdem welche Schalter ich umlege sollen sich bestimmte Motoren in 
die eine oder eben in die andere Richtung drehen.

Wenn das dann möglich ist würde ich das ganze auch gerne von der Uhrzeit 
abhängig machen. Also:
-Motor 1: 20:00 Uhr runter
-Motor 2: 20:02 Uhr rauf
-uzw.

Und noch viel später wenn ich dann wirklich verstanden habe was ich da 
tue würde ich das ganze auch noch gerne über einen PC steuern können.

Was brauche ich um so etwas machen zu können??
Geht so etwas überhaupt???

Was muss ich lesen??
Was muss ich kaufen??
Welchen Mikrocontroller brauche ich??
Womit muss ich mich beschäftigen??
Könnte ich mir das schon einmal kaufen:
-STK500 Starter Kit

Also wie man sieht, an der Motivation soll es nicht liegen. :-)


von Dirk H. (arm-dran)


Lesenswert?

Alex Mohr wrote:
> Hallo,
> ich bin absoluter und totaler Anfänger in sachen Mikrocontroller.
> Ich bräuchte jemanden der mir sagen kann, was ich brauche :-)

Hallo Alex,

hier mal als Vorwort zu Deinem Vorhaben.
Ist ist gut, daß Du Antrieb hast, so ein Projekt anzugehen (mit 
Motivation).
Nur Fakt ist, daß dieses Forum Fragen beantworten kann, jedoch keinen 
Rundumkurs ums Programmieren und Hardwarekonstruktion geben kann.
Dazu ist die Materie zu komplex und vielfältig.
99% davon wirst du Dir, sofern niemand direkt zur Seite steht, selber 
erarbeiten müßen.
Und das heißt Fleiß, Ausdauer, probieren probieren probieren. Niemandem 
geht das anders, das meiste autodidaktisch.
Zu sagen, waß Du brauchst, wäre an der falschen Stelle angesetzt.
Du solltest dich zuerst mit den Grundlegenden Dingen beschäftigen und 
feststellen ob Dir das liegt.
Ich will Dich absolut nicht davon abhalten aber ohne jegliche Kenntnisse
führt das zu viel Frustration.


> Und noch viel später wenn ich dann wirklich verstanden habe was ich da
> tue würde ich das ganze auch noch gerne über einen PC steuern können.
>


Das heißt auch noch einarbeitung in PC Programmierung.


> Was brauche ich um so etwas machen zu können??
> Geht so etwas überhaupt???
>
> Was muss ich lesen??
> Was muss ich kaufen??
> Welchen Mikrocontroller brauche ich??
> Womit muss ich mich beschäftigen??
> Könnte ich mir das schon einmal kaufen:
> -STK500 Starter Kit

Wenn Du Dir dieses Starterkit kaufen möchtest, dann tue das. Lies dich 
rein
und komme dann mit gezielten Fragen für Lösungsvorschläge in Forum.

Versuche zuerst mit so einem Board ein paar Tasten einzulesen und LEDs 
zu schalten. wenn das geht, dann denke über das Projekt nach, dann 
bekommst du auch den nötigen Motivationsschub.
Lass es wachsen.

>
> Also wie man sieht, an der Motivation soll es nicht liegen. :-)

Wie geschrieben, das ist prima aber versuche nicht mehrere Stufen in der 
Entwicklung zu überspringen.

Übrigens, (ist meine persönliche Meinung) ist der 8051 µC Kern bestens 
für Einsteiger geeignet.
Weit verbreitet und es gibt jede Menge kostenlose Tools.

Gruß

Dirk

von ich ;-) (Gast)


Lesenswert?

Hi,
also ich arbeite auch noch nicht so extrem lange mit uC. So ca. 1-1,5 
Jahre. Also ich denke mal ein ATMega Irgendwas sollte da reichen. Zu der 
Zeit. Also ich denke das es einfacher ist eine steuerung über den PC als 
erstes zu realisieren. Das könnte man rellativ einfach für RS232 und ein 
Terminal machen. Zeit wird da bestimmt schon schwieriger. Aber damit 
habe ich mich so noch nicht richtig beschäftigt...weil ich es noch nicht 
gebraucht habe.
zu dem starter kit. also ich finde es immer besser wenn man sich selber 
ein einfaches uC board aufbaut. da lernt man viel mehr als ein fertiges 
zu kaufen und man weiss wie das board funktioniert. bei den starter-kits 
muss man sich erstma die docu durchlesen.
und programmieren musst du deinen uC ja auch...also da gibts ja ASM, C 
und BASCOM. ich selber bervorzuge C. ASM kann ich zwar auch so ein 
bisschen aber C ist mir da lieber weil ich vorher schon 3 Jahre lang in 
C++ software geschrieben habe. BASCOM benutzte ich nur wenn ich mal 
schnell was testen möchte...weil das ist eigendlich auch rellativ simple 
gestrickt. und für leute die vorher noch nie programmiert haben bestimmt 
die beste lösung denk ich...


gruß
ich ;-)

von Matthias (Gast)


Lesenswert?

Ohje.

also an der Motivation wird's wahrscheinlich nicht scheitern.
Aber ohne Grundkenntnisse in Assembler und C (...)

Du wills wohl unbedingt ohne Schwimmweste und Boot in den reissenden
Fluss springen.

Ich würde erstmal erste Gehversuche machen. LED blinker, ein Taste 
abfragen,
Taste entprellen. Das geht mit nem STK 500. Einen Debugger JTAG ICE 
MK-II
oder einen AVR-Dragon (billiger, aber Codegrössengrenze <glaub max. 
32k!).

Wenn Du per Assembler und C die Gehversuche gemacht hast und auch 
verstanden hast wie das Ganze funktioniert (inkl. Debugger), dann kannst 
Du mal was anderes Probieren.

Ein Einfaches Bücherlesen wird wohl nicht ganz reichen. Ich kann auch in 
dem Fall keine grossen Buchtips geben, da ich mit der Materie über 
Vorleungen an der Hochschule in Berührung gekommen bin. Und das ist 
einiges an Zeit gewesen und auch nur Grundlagen. Zu Assembler gibt es 
glaub passende Bücher. Mit ein bischen Glück gibt es dazu irgendein 
"schönes" Buch. Wenn Du mal verstanden hast, wie so ein Controller 
funktioniert
(Hardwarebene / Assembler) dann kannst Du dich an die C Programmierung 
wagen. C und Assembler lernen kann man auch parallel. Wobei ich C direkt 
am PC lernen würde (Kommandozeilenprogramme).
Das ganze auf einen Controller umzusetzen ist dann nicht wirklich schwer
(siehe AVR GCC Tutorial).

Was Du auch wissen solltest ist, wie die Controllerperipherie 
funktioniert.
Das ist auch nicht unbedingt einfach. (Sachen wie Timer, SPI, I²C, UART, 
...)

Allerdings sind solche Projekt, wie Du beschrieben hast auch für Profis
nicht von Heute auf Morgen zu schaffen. (Profi = Programmiererfahrung
und Hardwarekenntnisse). Ein Profi benötigt von der Planung bis zum 
Fertiger Gerät ca. 1  Woche Hardwareplanung und nochmal soviel für eine 
vernünftige Software. Ein Anfänger wie Du würde dafür ca. 1/2 Jahr bis 1 
Jahr brauchen, ohne Garantie dass alles am Ende einwandfrei 
funktioniert.


Aus welcher Ecke vom Land kommst Du eigentlich und wie kommst Du grad 
auf dieses Thema?

von tex (Gast)


Lesenswert?

nun denn, aller Anfang ist schwer.

Bevor Du gleich mit uCs und Starterkits das Budget belastest, fang doch 
mal am Anfang an und zerlege Dein großes Projekt in Teilprojekte

1. einen Motor mit Relais und 2 Tastern rechts und links rum laufen 
lassen
2. zwei Motoren mit Relais und 4 Tastern (oder 2en) rechts und links rum 
laufen lassen.
3. Schaltung 2 durch einen 5. Taster (3. Taster) ergänzen und 
rückwirkungsfrei einen Motor damit ansteuern ( Simulation der Schaltuhr)
4. vieleicht die Motoren elektronisch ansteuern um die Relais und das 
geklapper auszuschalten...
5. Die Relais mit Transistoren ansteuern...
.
.
.
40. Einen uC kaufen, 3 LEDs anlöten und ein Programm schreiben um eine 
LED einzuschalten
.
.
.
.
100 Schaltung 5 mit uC verbinden...

von Alex M. (s-p-o-o-k-y)


Lesenswert?

>Das heißt auch noch einarbeitung in PC Programmierung

Im Grunde kein Problem...
Also VB und C++ kann ich. Und das was ich an auszügen auf der Seite hier 
gesehen habe kann ich zumindest mal mehr und mal weniger nachvollziehen.

>jedoch keinen Rundumkurs ums Programmieren und Hardwarekonstruktion geben kann.
Will ich auch garnicht. Ich will mir nur nicht jede menge unnützen Kram 
kaufen, den ich später nicht brauchen kann. Ich würde halt gerne wissen 
was ich midestens brauche um meine Vorraussetzungen erfüllen zu können 
und dann bastel ich so lange daran rum bis es funtioniert.
Dieser STK500 z.B. hat sich für mich gut angehört, weil eben Knöpfe und 
Dioden dran sind mit denen ich ja schon einmal sehen kann, dass etwas 
passiert. Könnte ja aber auch sein, dass das Ding total überflüssig für 
mich ist :-)
Und ich müsste natürlich auf wissen, welchen Controller ich benutzen 
kann um da fast 25 Schalter anschließen zu können.

>Du wills wohl unbedingt ohne Schwimmweste und Boot in den reissenden Fluss 
springen.
So in der art :-)

>Ein Anfänger wie Du würde dafür ca. 1/2 Jahr bis 1 Jahr brauchen, ohne Garantie 
dass alles am Ende einwandfrei funktioniert.
Damit kann ich leben.


>Aus welcher Ecke vom Land kommst Du eigentlich und wie kommst Du grad auf dieses 
Thema?
Aus Köln. Ich komme auf dieses Thema, weil ich mir schon seit Monaten 
den Kopf darüber zerbreche wie ich dieses Problem mit den Motoren löse 
:-) Ich habe es schon mit etlichen Schaltungen versucht aber am ende ist 
nichts brauchbares rausgekommen. Ich habe mir gedacht, dass ich etwas 
intelligenteres brauche wie Relais,Transistoren & Widerstände :-)


@tex:
Punkt 1-5 habe ich bereits hinter mir :-)
Punkt 40 will ich ja gerne machen..




Im Grunde wollte ich ja auch nur wissen, wie ich anfangen kann... mit 
der Aussage, "Bring erst mal 'ne Diode mit 'nem Taster einem uC zum 
leuchten", kann ich schon sehr gut leben.

Ich wüsste halt nur gerne was ich brauche um mein "Großes"-Vorhaben zu 
realisieren auch wenn ich klein anfange.
z.B. würde ich mir heute ungern ein Programmiergerät kaufen was dann 
später wenn ich mein o.g. Projekt realisieren will nicht brauchbar ist.

von Karl H. (kbuchegg)


Lesenswert?

Alex Mohr wrote:

> Ich wüsste halt nur gerne was ich brauche um mein "Großes"-Vorhaben zu
> realisieren auch wenn ich klein anfange.

Das klingt dich alles schon sehr vernünftig, was du da von
dir gibst.
Mit einem STK500 ist mit Sicherheit nichts verbaut und
als 'hinausgeschmissenes Geld' würde ich das auch nicht
betrachten.

> z.B. würde ich mir heute ungern ein Programmiergerät kaufen was dann
> später wenn ich mein o.g. Projekt realisieren will nicht brauchbar ist.

Ich denke du wirst für dein endgültiges Projekt wahrscheinlich
kein STK500 einsetzen wollen sondern dafür eine spezielle
Schaltung bauen (ist nicht weiter schwer), die, und das
ist das entscheidende, logisch gesehen der Schaltung auf dem
STK500 gleicht, nur kleiner ist.

(Übrigens: Deine 50 Motoren sind kein Problem. Dazu benutzt
man zb ein Schieberegister als Porterweiterung. Bist du
allerdings soweit bist, wird noch etwas Wasser den Rhein
hinunterfliessen. Vorher gehts sowieso mit dem Grundlagen
los: Led ein/ausschalten, Taster abfragen, 1 Motor links/rechts
....)

von Falk (Gast)


Lesenswert?

@Alex Mohr

>Also VB und C++ kann ich. Und das was ich an auszügen auf der Seite hier

Schonmal gut.

>Will ich auch garnicht. Ich will mir nur nicht jede menge unnützen Kram
>kaufen, den ich später nicht brauchen kann. Ich würde halt gerne wissen
>was ich midestens brauche um meine Vorraussetzungen erfüllen zu können
>und dann bastel ich so lange daran rum bis es funtioniert.

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

>Dieser STK500 z.B. hat sich für mich gut angehört, weil eben Knöpfe und
>Dioden dran sind mit denen ich ja schon einmal sehen kann, dass etwas

Ist es auch. Damit liegts du gut. Spart dir am Anfang möglicherweise 
nerviges Suchen nach Lötfehlern etc.

>Und ich müsste natürlich auf wissen, welchen Controller ich benutzen
>kann um da fast 25 Schalter anschließen zu können.

So ziemlich jeden, denn die Schalter wirst du sinnvollerweise per Matrix 
oder Schieberegister einlesen.

http://www.mikrocontroller.net/articles/Porterweiterung_mit_SPI
http://www.mikrocontroller.net/forum/4?filter=*matrix*

>den Kopf darüber zerbreche wie ich dieses Problem mit den Motoren löse
>:-) Ich habe es schon mit etlichen Schaltungen versucht aber am ende ist
>nichts brauchbares rausgekommen. Ich habe mir gedacht, dass ich etwas
>intelligenteres brauche wie Relais,Transistoren & Widerstände :-)

Oder H-Brücken wie L297 oder L298.

>Ich wüsste halt nur gerne was ich brauche um mein "Großes"-Vorhaben zu
>realisieren auch wenn ich klein anfange.

Nen Controller, MEGA8 kommt gut. Ne Lochrasterplatine, ein einfaches 
Programmierkabel, Motortreiber, Quarz, MAX232. Netzteil nicht zu 
vergessen.

MfG
Falk

von Alex M. (s-p-o-o-k-y)


Lesenswert?

>Schieberegister
Da war doch mal was... Das hatte ich doch mal in der Berufsschule...

In welche Vorlesug muss ich mich einschleichen um das noch mal alles 
vorgebetet zu bekommen?

Also meine Bestellung bei Reichelt.de würde dann so aussehen:
1x AVR STK 500 (Netzteil habe ich)
1x ATMEGA 8515-16 D  ->  ATMega AVR-RISC-Controller, DIL-40  <- ist das 
ein MEGA8 ???

Damit könnte ich dann also erst einmal Spielen, oder ?

Platinen & Kabel habe ich noch ohne ende. Und den anderen Kram, also 
Motortreiber, Quarz, MAX232 etc. hole ich mir dann, wenn ich die Dioden 
wie wild zum Leuchten gebracht habe. Oder ??

von johnny.m (Gast)


Lesenswert?

> In welche Vorlesug muss ich mich einschleichen um das noch mal alles
> vorgebetet zu bekommen?
Das hängt davon ab, was an der Uni Deines Vertrauens so angeboten wird.

> 1x ATMEGA 8515-16 D  ->  ATMega AVR-RISC-Controller, DIL-40
Ein ATMega16 ist afaik beim STK500 mit dabei. Und den würde ich auch in 
Hinblick auf spätere Projekte dem 8515 vorziehen. 40-Pin-DIP sind sie 
beide, nur hat der Mega16 etwas mehr an Peripherie zu bieten (und nicht 
zuletzt doppelt soviel Programmspeicher). Wenn Du nicht externen 
Datenspeicher anschließen willst, ist der Mega16 sicher die bessere 
Wahl. Darüberhinaus gibts von dem auch ne pin- und funktionskompatible 
32KB-Version (ATMega32).

von Alex M. (s-p-o-o-k-y)


Lesenswert?

>Das hängt davon ab, was an der Uni Deines Vertrauens so angeboten wird.
E-Technik in Abendform an der FH.
Bin sogar eingeschrieben... aber erst im 2. Semester :-(
Vielleicht kann ich mich ja in ein höheres Semester schleichen :-)

>Ein ATMega16 ist afaik beim STK500 mit dabei
Stimmt... also nur das Starter Kit... Danke

In 3 Tagen gibbet wieder Geld. Dann geht die Bestellung raus.
Und dann wird es auch nicht mehr lange dauern bis ich wieder verzweifelt 
angekrochen komme :-)

von johnny.m (Gast)


Lesenswert?

>> Ein ATMega16 ist afaik beim STK500 mit dabei
> Stimmt... also nur das Starter Kit... Danke
Naja, für den Anfang ist ein zusätzlicher "Reserve-ATMega" sicher nicht 
verkehrt. Die Dinger kosten ja fast nix mehr (2,75€ bei Angelika). 
Nicht, dass ich Dich entmutigen will (ich selber hab noch keinen 
einzigen AVR kaputtgekriegt), aber wenn doch mal was wider erwarten 
schiefgehen sollte, ist es immer besser, sofort Ersatz zu haben... Und 
wenn Du Dir einfach mal die Tutorials auf dieser Seite anschaust, wirst 
Du wahrscheinlich recht zügig erste Erfolge vorweisen können.

von Alex M. (s-p-o-o-k-y)


Lesenswert?

welcher währe das denn, wenn ich noch einmal den gleichen bestellen 
wollte ??

in den Infos zu dem STK500 steht:
Inkl. Muster AT)=S8515(40pol PDIP)

Bei Reichelt.de finde ich folgenden:

ATMEGA 8515L-8D  ATMega AVR-RISC-Controller, DIL-40

ATMEGA 8515L-8D
ATMega AVR 8515L- 8PDIP
Gehäuse: DIL-40
MHz: 8
Flash: 8
EEProm: 512
RAM: 512
I/O: 35
Hersteller:ATMEL
Artikelnummer des Herstellers: ATMEGA8515L8PI
Verpackungsgewicht: 0.006kg
RoHS: konform


ist das der Richtige??

von Fly (Gast)


Lesenswert?

Es gibt einen AT90S8515. Der ist allerdings steinalt und abgekündigt. 
Der ATmega8515 ist ein Pin Kompatibler Ersatztyp, der alles kann wie 
sein Vorgänger und noch ein paar Dinge mehr.
Zusätzlich wird noch ein zeitgemässer ATmega 16 migeliefert.

von Alex M. (s-p-o-o-k-y)


Lesenswert?

ach... ich warte einfach bis das kit hier ist... habe ja auch noch die 
Apotheke (Conrad) um die Ecke. Dann hole ich mir noch einen Controller 
wenn das Kit hier ist.

von Alex M. (s-p-o-o-k-y)


Lesenswert?

Vorerst schon einmal danke an alle.
Bis später :-)

von Dirk H. (arm-dran)


Lesenswert?

Hallo Alex,

wünsche Dir viel Ausdauer und Spaß.
Was ich aber nicht verstehe, daß Du oben erst schreibst, ich hab im 
Grunde genommen keine Ahnung.

Dann ist alles kein Problem, warum dann die Fragen ans Forum.

Und dann, ahja ein Schieberegister, da war doch mal was .......


Ähhhmmmmm, das sind die absoluten Elementarbegriffe der Logic und auch 
im Prinzip abrbeitet jeder Controller auf dieser Basis.

Zu VB oder C++ auf dem PC brauchst Du im Grunde kaum direkte 
Hardwarenähe,
da alle Bausteine mit Treibern auf einen High Level gebracht wurden.

Wenn Du Taster über ein Schieberegister liesst (und das sind noch die 
einfachen Dinge) sollten etwas mehr Kenntnisse vorhanden sein.

Ich würde nicht ein STK500 auswählen, wenn mir nicht mal das Prinzip der 
Peripherieanbindung klar ist.


Und nochmal eine Message an viele Authoren in diesem Thread.
Zu schreiben, ist alles kein Problem ist ja wohl für jemanden der
änfängt unpassend.
Der Teufel steckt oft im Detail und das frisst unmengen Zeit und Nerven.


Mach es lieber so, wie oben schon mal von jemandem geschrieben.
Stelle Detailfragen:

Z.B.: wie kann ich am einfachsten 25 Tasten an einen Controller 
anbinden.
Den den Lösungen solcher Abschnitte kommst Du am schnellsten zum 
Ergebniss
und verstehst das Prinzip.

Gruß

Dirk

Nimm es nicht als Kritik, sonder aus Erfahrung eines Entwicklers.

von M. M. (miszou)


Lesenswert?

Hi Alex

bestell einfach beim reichelt den "ATMEGA 16-16 DIP" (2,75) mit.
Machs einfach, du hast nämlich sicher noch nie einen Atmega16 beim 
conrad gesehen (Artikel-Nr.: 154242 - 62). Den Preis schreib hier nicht, 
lass dich überraschen ;-)

Noch zum Falk er meinte mit mega8, den Atmega8 (reichelt ATMEGA 8-16 
DIP).


Ich wollte auf keinen Fall was negatives über die Preise vom Conrad 
sagen, aber ich kann auch nicht einen Anfänger einfach in sein verderben 
rennen lassen,GG

Gruß, viel Spaß und Erfolg bei deinem Projekt
MISZOU

von Falk (Gast)


Lesenswert?

@Dirk Hofmann

>Ähhhmmmmm, das sind die absoluten Elementarbegriffe der Logic und auch
>im Prinzip abrbeitet jeder Controller auf dieser Basis.

Ja und? Jeder muss mal bei NUll anfangen. Der Weg ist das Ziel. Und da 
er kein Problem hat das Ganze über einen längeren zeitraum zu lernen (1 
Jahr wurde genannt) ist doch alles in Butter.

>Wenn Du Taster über ein Schieberegister liesst (und das sind noch die
>einfachen Dinge) sollten etwas mehr Kenntnisse vorhanden sein.

Auch einfachste Kenntnisse müssen erstmal erworben werden. Wo ist das 
Problem?

>Ich würde nicht ein STK500 auswählen, wenn mir nicht mal das Prinzip der
>Peripherieanbindung klar ist.

Sondern? Erstmal wild raufloslöten? Kaum. STK-500 ist schon nahezu 
narrensicher.

>Der Teufel steckt oft im Detail und das frisst unmengen Zeit und Nerven.

Zeit ist kein Problem, es ist ein Hobby. Buddelschiffe bauen dauert auch 
sehr lange.

>Mach es lieber so, wie oben schon mal von jemandem geschrieben.
>Stelle Detailfragen:

Hat er.

>Z.B.: wie kann ich am einfachsten 25 Tasten an einen Controller
>anbinden.

Er braucht erstmal Grundlagen, die kann er sich mit dem STK-500 
erarbeiten.

>Den den Lösungen solcher Abschnitte kommst Du am schnellsten zum
>Ergebniss und verstehst das Prinzip.

Aber nicht ohne Grundlagen. Sonst wirds nur wieder hirnloses Copy&Paste.

>Nimm es nicht als Kritik, sonder aus Erfahrung eines Entwicklers.

Das ist auch eines der Dinge, die ich nicht verstehe. Irgendwie ist 
Kritik heutzutage politisch inkorrekt?!? Fast so, als ob man jemanden 
ins Gesicht spucken würde. Hallo? Substanzielle Kritik ist WICHTIG und 
RICHTIG!

MfG
Falk

von Peter D. (peda)


Lesenswert?

Alex Mohr wrote:

> Also VB und C++ kann ich. Und das was ich an auszügen auf der Seite hier
> gesehen habe kann ich zumindest mal mehr und mal weniger nachvollziehen.

Man muß dann allerdings seinen Programmierstil auf nem MC drastisch 
umstellen:

Nicht immer nur den höchstmöglichen Datentyp (double float auch als 
Schleifenzähler) nehmen, sondern den ausreichenden (also meistens 
unsigned char).

Nicht unsinngig kBytes allocieren, wenn man nur 10 Bytes braucht.
Und allocieren per malloc nur dann, wenn die Größe zur Compilezeit 
wirklich unbekannt ist.

Und nicht riesige Copy&Paste Orgien, sondern lieber ne Unterfunktion, 
wenn was zweimal benötigt wird.
Das übt dann auch schön im modularen (planvollen) Programmieren.


usw.


Peter

von Falk (Gast)


Lesenswert?

@Peter Dannegger

>Man muß dann allerdings seinen Programmierstil auf nem MC drastisch
>umstellen:

Das mussten die meisten. Verurteilt die Leute doch bitte mal nicht schon 
bevor sie überhaupt einen Finger gerührt haben!

MfG
Falk

von Helmut (Gast)


Lesenswert?

Besser im Vorfeld verurteilen als grunsätzlich immer jemanden 
anzufahren, der nicht so versiert ist.

von Falk (Gast)


Lesenswert?

@Helmut

>Besser im Vorfeld verurteilen als grunsätzlich immer jemanden
>anzufahren, der nicht so versiert ist.

Häää?????

von Falk (Gast)


Lesenswert?

@Peter Dannegger

>Na super.

>Ich zähle nur ein paar Unterschiede auf und schon wird man zum
>Verurteiler gestempelt.

Der Ton macht die Musik.

>Man muß dann allerdings seinen Programmierstil auf nem MC drastisch
>umstellen:

Kennst du seinen Programmierstil? Man kann auch in VB ordentlich 
programmieren. Mit sinnvollen Datentypen, ohne Copy&Paste.

MfG
Falk

von Falk (Gast)


Lesenswert?

@Peter Dannegger

>> Kennst du seinen Programmierstil? Man kann auch in VB ordentlich
>> programmieren. Mit sinnvollen Datentypen, ohne Copy&Paste.

>Sowas habe ich bisher noch nicht gesehen.

Was nicht heisst, dass es nicht existiert.

>Und die Größen und Geschwindigkeiten von Programmen legen auch nicht
>nahe, daß es praktiziert wird.

>Auch waren meine Versuche aufm PC nicht sonderlich modular und
>effizient.
>Man ist halt zu weit weg von der Maschine.

Mag sein, aber dennoch kennst du SEINEN Programmierstil nicht. Und wie 
heisst es so schön? In dubio pro reo!

MFG
Falk

von Katzebuckel (Gast)


Lesenswert?

Boah ich geh kotzen...

von Alex M. (s-p-o-o-k-y)


Lesenswert?

@Dirk Hofmann (arm-dran)
>daß Du oben erst schreibst, ich hab im Grunde genommen keine Ahnung.
>Dann ist alles kein Problem, warum dann die Fragen ans Forum.
>Und dann, ahja ein Schieberegister, da war doch mal was .......

Habe ich auch nicht. Das einzige was ich von diesen Mikrocontrollern her 
kenne ist, das Foto im Reichlt Katalog sonst nix.

Das einzige was für mich "hoffentlich" kein großes Problem ist eine 
Programmiersprache zu lernen.
Ich kann C++, VB etc. pp. mehr oder minder gut. Darum die Aussage, dass 
dies kein Problem sein sollte.
Schieberegister habe ich vor Jahren einmal in der Berufsschule 
durchgenommen. Ich wusste damals nicht einmal annähernd, dass das etwas 
mit Mikrocontrollern  zu tun hat. Ich war richtig überrascht, dass 
dieses Wort hier gefallen ist.
Habe gestern die Klausur darüber heraus gekramt.. hatte ne 1 :-) stolz

Also wie gesagt... Programmieren ja, den ganzen rest NÖ :-)

@M. M. (miszou)
Danke für die Warnung mit diesem unterschied habe ich jetzt nicht 
gerechnet...

@ Peter Dannegger (peda)
>Nicht immer nur den höchstmöglichen Datentyp (double float auch als
>Schleifenzähler) nehmen
Das sind doch die Grundlagen von jeder Programmiersprache. Es wird immer 
gesagt, dass man den kleinstmöglichen Datentyp nehmen soll. Auch wenn 
sich fast nie jemand daran hält. Ich mehr oder weniger schon... hust
>sondern lieber ne Unterfunktion
Funktionen, Schleifen etc. bekomme ich noch gerade so hin ;-)
Die Programmierlogik ist doch im Grunde überall gleich. Ob ich jetzt VB, 
VBA, C, C++, Java, PHP oder was weiß ich nehme. Es ist immer nur ein 
bisschen kompliziert sich von jetzt auf gleich von VB auf C++ 
umzustellen. Das ";" am ende jeder Zeile verfluche ich noch bis ans ende 
meines Lebens. ;-)

@ Falk (Gast)
>(1Jahr wurde genannt)
Richtig... Damit kann ich auch sehr gut leben...




Also, ich versuche jetzt erst einmal Dioden zum leuchten zu bringen, mir 
den Programmierstiel anzueignen und dann fange ich mal an meinen 
Lötkolben auszupacken.

Hätte noch jemand eine, zwei oder drei Buchempfehlungen für mich?? Dann 
habe ich bis der STK-500 da ist schon mal was zu tun.

von Falk (Gast)


Lesenswert?

@Alex Mohr

>Hätte noch jemand eine, zwei oder drei Buchempfehlungen für mich?? Dann
>habe ich bis der STK-500 da ist schon mal was zu tun.

1.) Die Datenblätter und Application Notes (englisch)

http://www.atmel.com/products/avr/

2.) http://www.mikrocontroller.net/buecher/

MFG
Falk

von Alex M. (s-p-o-o-k-y)


Lesenswert?

@Falk (Gast)
Dann hole ich mir wohl direkt das erste Büchlein... scheind ganz gut zu 
sein :-)


@alle
seid alle wieder brav zu einander... und kotzen gehen macht nur dreck...

von Katzebuckel (Gast)


Lesenswert?

Kampf der Titanen

Peter <=> Falk

von Dirk H. (arm-dran)


Lesenswert?

Ist das ein Forum oder ne Art BALZ-Verhalten.

@FALK

Was war zu erst da, die Henne oder das Ei?

Na klar geht es bei den Grundlagen los und das ist wohl das was hier 
jeder sagen wollte.

Ich höre immer nur, kein Problem bla bla bla,
komt aber ein Vorschlag fang mal mit dem an, wo die Wuzel liegt ,isses 
auch nicht recht.

Und wer behauptet, ne gute Controllerprorammierung hätte was mit VB oder 
C aufm PC zu tun, der hat wohl ne Wohnung ihne Fenster.

Wofür verbraucht man die meiste Zeit ??? Für die kleinen Dinge und 
Problemlösungen und um die geht es hier.

Möchtest Du ALEX nen kompletten Kurz in Microcontrollertechnick und 
Hardware geben? Dann kannst schon mal ein eigenes Forum eröffnen.

95% von allem is nun mal selfmade
oder willst du was anderers behaupten?

von Chrisiiiii (Gast)


Lesenswert?

Also ich hab auch selber erst vor einem halben Jahr damit angefangen.

Ich hab mir damals bei Pollin das Evaluationsboard gekauft + 3 AT Mega 
16 (bisher nur einen ausgepackt (: )

Dann habe ich mir das AVR-GCC Tutorial ausgedruckt und angefangen alle 
Themengebiete durchzuarbeiten. Ich hatte natürlich auch von Anfang an 
ein Projekt im Hinterkopf ;)
Ich hatte zu diesem Zeitpunkt auch schon C++ Kenntnisse, mein 
Programmierstil musste ich jedoch nicht sehr umstellen bzw. es fiel mir 
nicht schwer. Assembler hab ich überhaupt nicht behandelt und kann es 
überhaupt nicht. Mein Projekt das ich anfangs im Hinterkopf hatte ist 
mittlerweile Beendet und funktioniert einwandfrei :). Also einfach mal 
Anfangen mit Portregistern danach PWM,Timer,UART,Interrupts usw.. Und 
später diese Sachen dann zu einem Projekt kombinierten :) Also einfach 
die einzelnen "Module" erlernen und später zum fertigen Programm 
zusammenbauen.

Gruß,

von let (Gast)


Lesenswert?

^ Wohl gesprochen.



von Prof. Y (Gast)


Lesenswert?

Programmierstiel hin oder her, was in den Stein gebrannt wurde sieht 
hinterher eh keiner mehr.

von Matthias (Gast)


Lesenswert?

Ein kleiner Tip für Vorlesungen:

- C Programmierung (auch manchmal DV oder so genannt)
- Assembler oder Hardwarenahe Programmierung
- Mikrorechnertechnik o.ä. (wo man auf den Aufbau von Rechnersystemen
  mit µC eingeht.

Was für ein Atmel im STK500 dabei ist, ist egal (naja fast egal).
Die Teile unterscheiden sich nur in der Azahl der Peripherie-Module und 
in der Speichergroesse (Flash und RAM) und ob sie JTAG oder Debug-Wire 
unterstützen.
Lerne erstmal, wie das Teil und seine Peripherie funktioniert, dann 
versuch Dich erst an irgendwelchen Projekten.
Und was ich Dir in jedem Fall empfehlen würde ist ein Debugger 
(JTAG-MKII ist TOP aber auch Teuer) oder AVR-Dragon -> Billiger (glaub 
so 50-60 Euro) aber geht bis maximal 32 KB Programmgroesse (?). 
Beherrscht JTAG und Debug-Wire. Bei deinem Kenntnisstand würde ich Dir 
zwar den Evertool nicht empfehlen, aber wenn Du löten kannst und ein STK 
hast, kannst Du dir damit einen JTAG Adapter für die klassischen ATMEGA 
Controller selber bauen. Liegt aber wenn man alles rechnet auch um ca. 
50 Euro (Arbeitszeit einkalkuliert, sonst ca. 20-30 Euro)

Hinweis:
Die Debugger kann man auch zum Programmieren verwenden. Das STK500
ist ebenfalls ein "Programmiergerät - ISP". Die Debugger sind auf
USB Basis. Ausser dem Evertool. Das STK ist ein rein serielles Teil.
Also, wenn dein Rechner keine serielle Schnittstelle mehr hat, dann
brauchst Du noch einen USB<->seriell Wandler für dein STK.
(Am besten bei Reichelt oder Alternate ca. 10-12 Euro)
Beim Mediamarkt kosten die ca. 20-30 Euro (wie die auch immer die
Preise kalkulieren)

Wenn beim STK500 kein JTAG oder Debug-Wire fähiger Controller dabei ist, 
dann hol Dir einen passenden. Ich würde nen ATMEGA 32 oder 162 als 
DIP/DIL nehmen.
Debug-Wire ist wahrscheinlich für Dich nicht gerade die 
Einstiegsvariante.
Deshalb versuch Dich erst mal an dem JTAG.

Und ich kann Dir versichern, Du wirst die vorzüge so eines Debuggers 
sehr schnell zu schätzen wissen. Das Teil kann einem tagelange 
Suchaktionen nach Fehlern ersparen und ermöglicht ausserdem die 
Codezeilen in Einzelschritt
zu durchlaufen und aktuelle Zustände der Register (nicht alle, aber die 
meisten!) abzufragen.

Falls Du mal Fragen haben solltest kannst Du Dich im Forum austoben
oder mal schreiben: "ediplom@online.de". Die Adresse ist
zumidest mal einen Monat lang gültig ;-)

von Markus K. (sheriff)


Lesenswert?

Hallo Alex,

ich habe mir mal alle Antworten hier durchgelesen.
Meine Idee/ Vorschlag für dich wäre doch einfach eine SPS zu nehmen. 
Wenn du kaum Kenntnisse von C und/ oder Assembler hast, dann sollte dir 
Step 7 mit seinem Funktionsplan sehr einfach fallen.
Eine S7 ist zwar bei Neuanschaffung etwas teurer, jedoch kommst du 
wesentlich schneller voran, als bei einem µC mit Erlernung der 
Programmiersprache.
Kann natürlich auch sein das du eine S5 noch irgendwo findest, die sind 
billiger als die Nachfolge Modelle.

Grüße

von Alex M. (s-p-o-o-k-y)


Lesenswert?

@ Markus Klaus (sheriff)

Das habe ich auch schon überlegt aber dafür interessiert mit das Thema 
µC zu sehr. Erst wenn ich es absolut nicht hinbekomme und total 
verzweifelt das Handtuch schmeiße, erst dann werde ich mir ein SPS 
zulegen.
;-)

von Dirk H. (arm-dran)


Lesenswert?

Alex Mohr wrote:
> @ Markus Klaus (sheriff)
>
> Das habe ich auch schon überlegt aber dafür interessiert mit das Thema
> µC zu sehr. Erst wenn ich es absolut nicht hinbekomme und total
> verzweifelt das Handtuch schmeiße, erst dann werde ich mir ein SPS
> zulegen.
> ;-)

Alex,

das ist schon mal die ganz falsche Einstellung,

ein weisser Spruch sagt " Geht nich, gibts nich" also.
Außerdem schmeisst man keine Handtücher, man benutzt Sie ;-).

Also, kauf das besagte Starterkit und mache die ersten Versuche.
Lass das Projekt wachsen und versuch nicht gleich in die vollen zu 
gehen.
Das verwirrt. Der Weg ist das Ziel.

Und sobald Du es hast und Deinen ersten Versuche, kommst wieder ins 
Forum
und hier sind dann mehrere für Dich da.
Tralala

Sollte Dir dieser Vorschlag zusagen, dann schrei laut!


Außerdem, wenn du mal in so eine Materie reinsteigst, findest du mit 
Sicherheit noch mehr Anwendungsmöglichkeiten, sodaß sich Dein Fleiß 
lohnen wird.

Gruß

Dirk

von Alex M. (s-p-o-o-k-y)


Lesenswert?

Falsche einstellung ??? nö....
ich sag ja auch nicht, dass ich aufgeben werde :-)

Nur eben wenn ich es absolut nicht kapiere... aber das wird nicht 
passieren :-)


egal, wünsche noch einen schönen abend. Muss jetzt zum Studium.
Mathe schnarch

von Dirk H. (arm-dran)


Lesenswert?

Scherzkeks

von Torben K. (torben)


Lesenswert?

Also ich kann das Buch "An Embedded Software Primer" für Anfänger 
empfehlen. Es setzt natürlich grundlegende Programmierkenntnisse voraus, 
ist aber für die Arbeit mit Mikrocontrollern extrem hilfreich wie ich 
finde.

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.