Forum: Mikrocontroller und Digitale Elektronik Welche Hardware für Microcontroller Programmierung?


von Stephan M. (Gast)


Lesenswert?

Hallo
Ich möchte mich gerne mit der Programmierung von Microcontroller 
beschäftigen.
Habe beruflich nicht mit Microcontroller und Elektrinik zu tun das ganze 
geht mehr in die Richtung Hobby.
Also nur Schulwissen vorhanden :-)

Habe schon versucht mit google was zu finden, wie mann am besten lernt 
Microcontroller zu programmieren leider war ich dabei nicht erfolgreich 
:-(

Ich habe ein "Starter Kit" gefunden (Lernpaket Mikrocontroller), leider 
soll das nicht besonders gut sein und so wie es auschaut kann man auch 
nicht viel mit machen.

Deshalb hoffe ich das ich ein paar Tips bekommen kann :-)

Ich habe auf conrad.de mal gesucht ob ich ein Proogrammiergerät finde.
Ich habe auch was gefunden nur leider bin ich mir nicht sicher ob es das 
richrige ist ich hoffe ihr könnt mir sagen ob es mit den Gerät 
funktioniert oder nicht?

Ich habe einmal
http://www.conrad.de/ce/ProductDetail.html?hk=WW4&insert=V0&WT.mc_id=Froogle2&productcode=191562&utm_source=google&utm_medium=deeplink&utm_content=dl_article&utm_campaign=g_shopping

und
http://www.conrad.de/ce/de/product/154216/MICROCONTR-ATTINY26-16PU-2KB-20-PDIP

Sollte das ganze brauchbar sein wäre da noch die Frage welche software 
brauche ich noch dafür um Programme zu erstellen und zu übertragen?
Hab Win-AVR gefunden würde das damit funktionieren?

Sollte ich total ins leere gegriffen haben würde ich mich freuen wenn 
ihr mir eine Alternative vorschlagen könntet? :-)


Habe grade ein zweites Lernpacket gefunden
LERNPAKET PROGRAMMIERUNG IN BASCOM UND C
http://www.conrad.de/ce/de/product/191294/LERNPAKET-PROGRAMMIERUNG-IN-BASCOM-UND-C/SHOP_AREA_17618&promotionareaSearchDetail=005
ist mit einen ATmega8 mit den sollte doch schon etwas möglich sein?
Hat vlt schon jemand Erfahrung mit den Lernpacket machen können?

von greg (Gast)


Lesenswert?

Wie wäre es mit Arduino? Speziell das Uno-Board.
Es ist alles dabei, um direkt loslegen zu können - Programmierung ist 
direkt über USB möglich. Softwareseitig gibt's eine ganz nette IDE mit 
umfangreicher Library. Dokumentation ist gut und es gibt eine riesige 
Community drumherum. Und: es ist alles sehr kostengünstig.

Ich habe zwar selbst keine Erfahrung mit der ganzen Arduino-Plattform, 
aber für Anfänger sieht das nach dem Nonplusultra aus.

von Stephan M. (Gast)


Lesenswert?

Hi danke für die schnelle Antwort

Das Arduino ist eine eigene Programmiersprache für die Mikrocontroller?
Mir wäre was in c lieber gewesen :-)

Hast du noch mehr Informationen zu Arduino?
Also vlt ein Programmiergerät dazu was es kostengünstig gibt? :-)


Noch eine Frage zwichendurch :-)
Was meint man eigentlich mit vorinstallierten bootloader?

von Pinoccio (Gast)


Lesenswert?

Hallo,

wenn Du Dich mit Mikrocontrollern beschäftigen willst,
dann empfehle ich Dir Dich als Erstes mit der Google-Suchfunktion
vertraut zu machen.
Denn dann kämen nicht solche Fragen zum Arduino.

von Klaus W. (mfgkw)


Lesenswert?

Es gibt sicher viele Möglichkeiten, aber mit einem AVR (welchem
auch immer) bist du sicher nicht schlecht bedient.
Dazu gibt es auch viel Doku und Unterstützung in diesem Forum.
Alles etwas exotischere schränkt die Hilfe schnell wieder ein.

Also würde ich auch zu AVR und je nach Laune zu Assembler oder C
raten.

Dann braucht man nicht viel:
- Eines der Tutorials links oben
- einen AVR (atmega8, oder 16, 32, 644, ...)
- etwas Bastelkram, siehe Tutorial
- einen Programmierer
  Sicher nicht schlecht dafür sit der AVRISPmkII, z.B. ca.
  40.00 von Watterott oder anderen. Von obskuren Nachbauten
  davon würde ich die Finger lassen.
  Wenn du eine parallel Schnittstelle hast, geht nach meiner
  Erfahrung auch gut der stk200-kompatible von
     http://www.rumil.de/hardware/avrisp.html
  (zweiter von oben, "Atmel AVR ISP für STK200 und STK300")
- Unter Linux die SW von Atmel (AVR-Studio), oder unter Linux
  einen Editor und ein paar Pakete (z.B. Debian/Ubuntu):
1
    apt-get install avrdude avrdude-doc binutils-avr gdb-avr libusbprog-dev usbprog-gui usbprog avr-libc gcc-avr avarice simulavr

Ein Entwicklungsboard oder Evaluationboard kann sein, muß aber
gar nicht.
Ein Steckbrett ist mindestens so sinnvoll zum Anfangen.

Starterpakete brauchst du nicht, das ist m.E. rausgeworfenes
Geld und Zeitverschwendung.

von Stephan M. (Gast)


Lesenswert?

Hi Klaus Wachtler

"Starterpakete brauchst du nicht, das ist m.E. rausgeworfenes
Geld und Zeitverschwendung."

Genau sowas wollte ich hören :-)
Ich fand den Preis auch ziemlich teuer


Das Board was ich oben verlinkt habe soll laut Beschreibung kompatible 
zu SP12 sein was ich in einen Youtube video zu Win-AVR gesehen habe
also denke ich ich werde erstmal das mit 2 ATMEGA8 bestellen und wenn 
das nichts werden sollte werde ich nochmal nach den AVRISP mkII schauen
wobei ich da http://www.watterott.com/de/Atmel-AVR-ISP-MKII-USB kein 
steckplatz für ein Microcontroller gesehen habe wird warscheinlich noch 
eine kleine Platine mit so einen Steckplatz dazu kommen?

von Chris L. (hazdur)


Lesenswert?

Ich schildere einmal kurz, wie ich in dieses Thema eingestiegen bin:

Im ersten Schritt habe ich mit mit der Technik und logischen Bausteinen 
generell vertraut gemacht. Das eine oder andere Lauflicht gebaut, 
High-Power-LEDs betrieben und sonstige Spielereien. Entsprechende 
Schaltplaene und Bautteillisten hat mir Freund Google geben koennen.

Irgendwann wurde man ehrgeiziger und wollte komplexere Funktionen 
realisieren -> Mikrocontroller musste her.
Recherchen im Internet haben verraten, dass man einen uC ansich braucht, 
einen Programmer und ein paar Bauteile darum herum. Somit dann bei 
Reichelt einen uC und ein paar Bauteile (Widerstaende, Kondensatoren, 
Quarz, Stecker, Lochrasterplatine usw.) besorgt. Es musste noch ein 
Programmer her. Ich suchte eine einfache Loesung um das Ding per USB aus 
dem AVRStudio programmieren zu koennen. Auch hier half Freund Google und 
zeigte mit den USBProg von embedded-projects.net 
(http://www.embedded-projects.net/index.php?page_id=135). Den gekauft, 
mich einen Abend hingesetzt und noch einigen Stunden blinkte dann die 
erste LED.

Dann das Tutorial hier auf der Seite 
(http://www.mikrocontroller.net/articles/AVR) durchgearbeitet und viel, 
sehr viel gelesen. Nach und nach kommt man dann ganz gut rein in die 
verschiedenen Moeglichkeiten (PWM, Displays etc.).


Ich wuensche viel Erfolg!

von Klaus W. (mfgkw)


Lesenswert?

Einen Steckplatz am Programmer braucht man deshalb nicht, weil
es hier um ISP geht ("in system programming").
D.h. man nimmt nicht den MC aus der Schaltung zum Programmieren,
um ihn danach wieder reinzustecken, sondern er bleibt
auf der Schaltung.
Dazu sieht man auf der Platine eine Steckverbindung vor, um
die Signale /Reset, SCK, MIO, MOSI sowie GND und VCC abzugreifen.

Der AVRISPmkII hat eine 10-pol. Pfostenbuchse für den Anschluß
an die Schaltung.
(Aber frage mich nicht, wieso die 10 Pins brauchen, wo ich mit 6
auskomme.)
Also sieht man auf der Platine eine Stiftleiste mit 2x5 Pins vor
für den Programmer.

Auf einem Steckbrett ist das etwas blöd mit dem Zweireiher.
Deshalb nehme ich dafür immer 6 Pins in einer Reihe.
Siehe z.B. zweites Bild auf:
   http://www.mikrocontroller.net/articles/AVR-Tutorial:_Equipment
An meinem Programmer für den Parallelport (Rumil, siehe Link oben)
habe ich entsprechend einen Steckverbinder mit diesen 6 Pins in
einer Reihe.
Für das AVRISPmkII habe ich mir einen Adapter gebaut, der von
desen 10 (2x5) auf meine 1x6 Pin übersetzt (ein paar cm
Flachbandkabel).

von Klaus W. (mfgkw)


Lesenswert?

Nachtrag: der AVRISPmkII hat doch nicht den 10-pol. Anschluß,
sondern einen 6-poligen.
Sorry, da hatte ich fälschlich gelästert.

Entsprechend geht mein Adapter für das Steckbrett natürlich
von 2x3 auf 1x6.

von Stephan M. (Gast)


Lesenswert?

@Chris L.
So änlich ist es bei mir auch ich habe mir eine kleine schaltung 
gebastelt die doch recht viel platz wegnimmt die möchte ich jetzt 
versuchen in einen
Microcontroller zu stecken :-)


@Klaus Wachtler
Danke für die Erklärung :-)
So im nachhinein hätte mann sich das eigentlich denken können das es 
sinvoll den Microcontroller nicht ständig bewegen zu müssen :-)

nochmal danke :-)

von Chris L. (hazdur)


Lesenswert?

Stephan M. schrieb:
> @Chris L.
>
> So änlich ist es bei mir auch ich habe mir eine kleine schaltung
> gebastelt die doch recht viel platz wegnimmt die möchte ich jetzt
> versuchen in einen
> Microcontroller zu stecken :-)

Ja, das Ziel kannst du mit einem uC gut erreich (Platz sparen). Aber sei 
gewarnt, dass was deine 'kleine Schaltung' jetzt macht wird ein Witz 
fuer den uC sein, was bedeutet, dass du vermutlich danach, das Ganze 
noch um einiges erweitern wollen wirst. ;)

Generell aber nicht verzagen, wenn es alles Anfang  etwas umstaendlich 
und kompliziert ist. Meist funktioniert es auch noch nicht so wie 
gewuenscht, dass kommt dann alles irgendwann.
Wenn ich mich an meine erste Software-PWM erinnerne...ein absoluter 
Graus...

von Stephan M. (Gast)


Lesenswert?

Bei mir war es so ich wollte am anfang alles selber bauen :-)
Also ein wenig technische Grundschaltungen angeschaut Invertieren 
FlipFlops usw.. :-)

Joa irgendwann festgestellt das es so mit meinen selbstgebastelteten 
Flipflops nicht richtig funktioniert hat und dan fertige gekauft ^^
joa mit den hats auch nicht auf anhieb geklapt^^  so als es dan endlich 
geklapt hat habe ich mir dann die Frage gestellt ob es wirklich an den 
selbstgebauten FlipFlops lag^^ naja auf jedenfall habe ich mir so mehr 
arbeit als nätig gemacht^^

joa und an sich klapt es jetzt erstmal nur leider ist durch das ganze 
umbauen und abändern das ganze ein enig instabiel geworden also es löst 
sich schnell mal ein angelötetes Kabel (Lochplatine) auch ein riesen 
Durcheinander und deshalb soll jetzt der Microcontroller ran^^
so das es am Ende  ein lehrreiches Experimente war/ist

Meine Schaltung an sich nimmt über LPT Befehle an womit so eine 
Funkfernbedinung gesteuert wird für Funksteckdosen
das ganze soll demnäst noch an einen Router angeschlossen werden damit 
man dan über Handy das Licht oder andere sachen an und aus schalten kann 
:-)

von Stephan M. (Gast)


Lesenswert?

Hi
am Wochenende ist alles gekommen und habe auch schon ein wenig mit 
rumgespielt
klapt soweit ganz gut

nun habe ich zwei Fragen
Einmal kann ich beim Atmega PC6(reset) nutzen?
und ich wollte PC als ein und ausgabe nutzen ist das möglich habe es mit 
DDRC = 0b00001111 probiert aber das klapt nicht richtig :-(
Der wert ist 16 wenn ich das so einstelle?

von Frank B. (foobar)


Lesenswert?

Meistens kannst du bei den AVR-Chips die Fuses so programmieren, daß man 
den Reset-Pin als IO verwenden kann. Hast du das aber einmal gemacht, 
kannst du den Microcontroller nur noch über die high-voltage Methode neu 
flashen.

von ka-long (Gast)


Lesenswert?

Hi,

Das AVR mkII kann aber nur ISP und kein HV.
Wenn Du die Fuses falsch setzt, kannst Du damit Deinen AVR nicht mehr 
programmieren. Also lass es erst mal, Reset nutzen zu wollen.

Gruß ka-long

von Stephan M. (Gast)


Lesenswert?

Ok Danke :-)

von Ric (Gast)


Lesenswert?

Hallo,

ich hab vor kurzem mit dem hier angefangen:
http://shop.myavr.de/Baus%C3%A4tze%20und%20Platinen/myAVR%20Board%20light,%20Bausatz.htm?sp=article.sp.php&artID=200017

der aufbau war einfach und mit dem tutorial hier konnte ich schnell 
meine ersten C-Programme schreiben... hab aber zuerst das hier als 
entwicklungsumgebung genutzt weil es einfacher als das studio zu 
handhaben ist: 
http://shop.myavr.de/index.php?sp=download.sp.php&suchwort=dl62 bzw. 
http://shop.myavr.de/index.php?sp=download.sp.php&suchwort=dl112

später hab ich mir den hier noch ergänzt:
http://shop.myavr.de/Programmer/mySmartUSB%20light.htm?sp=article.sp.php&artID=200006

also nur mit bootloader kommt man nicht ewig um die runde und erst recht 
nicht wenn man eigene schaltungen anfängt

grüße R.

von snowfly (Gast)


Lesenswert?

Stephan M. schrieb:
> ich wollte PC als ein

Auf Port C ist bei einigen ATMegas Jtag aktiviert
wenn Du in den Fuse einstellungen "Jtag enable" deaktivierst dann 
funktioniert auch PortC

von Stephan M. (Gast)


Lesenswert?

An sich geht C ja nur er gibt immer 16 (bzw 16+eingabe) aus
das mit den Jtag schaltet das ab?

(werde ich morgen mal ausprobieren)

von chris (Gast)


Lesenswert?


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.