• MTB-News User Awards 2026: Jetzt abstimmen und Raaw Madonna V3 Komplettbike im Wert von 9.000 € gewinnen!
    Stimme in einer kurzen Umfrage über deine Produkte des Jahres 2026 ab und gewinne dabei Bike im Wert von 9.000 €!
    Jetzt abstimmen!

Microcontroller Auswahl

Registriert
9. Juni 2004
Reaktionspunkte
1
Hallo Lichtbegeisterte!
ich möchte mich in das Thema der Microcontrollerprogrammierung einarbeiten und dacht mir ich fange mal mit einem kleinen Beleuchtungsprojekt an, also einer PWM Lampensteuerung mir Akkustandsanzeige und Wärmesensor.

In der Uni hat man mir die Atmel AVR Familie empfohlen (Atmega8 usw.) weil sie günstig und einfah sein sollen, Evaluationsboard ist günstig, Compiler und Entwicklungsumgebung sind umsonst.

Die sind jedoch etwas groß und da wollte ich mal wissen mit welchen Microcontrollern ihr da arbeiten würdet?
Er müsste natürlich PWM fähig sein und mindestens vier i/o Pins haben

Vielen Dank,
Max :daumen:
 
Atmel ist schon gut. Es gibt auch tonnenweise Beispielcode dafür, sodaß der Einstieg recht leicht fällt. Tutorials bei microcontroller.net und Roboternetz
 
Atmel ist schon gut. Es gibt auch tonnenweise Beispielcode dafür, sodaß der Einstieg recht leicht fällt. Tutorials bei microcontroller.net und Roboternetz

Vermutlich meinst du www.mikrocontroller.net.

@maxblass
Für erste Versuche nimm ruhig einen Mega8. Dann musst du zwar einen (Schaltungs-)Protoypen bauen, der vermutlich nicht in eine Lampe passt aber zum Testen ist es sehr angenehm wenn man eine serielle Schnittstelle zur Verfügung hat. Für Statusausgaben, Messwertanzeige, Parameter verstellen u.s.w.

Gruß,
J.
 
Zuletzt bearbeitet:
Hallo Lichtbegeisterte!
ich möchte mich in das Thema der Microcontrollerprogrammierung einarbeiten und dacht mir ich fange mal mit einem kleinen Beleuchtungsprojekt an, also einer PWM Lampensteuerung mir Akkustandsanzeige und Wärmesensor.

In der Uni hat man mir die Atmel AVR Familie empfohlen (Atmega8 usw.) weil sie günstig und einfah sein sollen, Evaluationsboard ist günstig, Compiler und Entwicklungsumgebung sind umsonst.

Die sind jedoch etwas groß und da wollte ich mal wissen mit welchen Microcontrollern ihr da arbeiten würdet?
Er müsste natürlich PWM fähig sein und mindestens vier i/o Pins haben

Vielen Dank,
Max :daumen:

Ein ATtiny 25/45/85 besitzt 6 I/Os in einem 8 Pin Gehause, welches auch noch in verschieden Ausführungen / Größe gibt. Für 60 Euro gibt es den AVR Dragon, mit welchem man den Controller Debuggen und Programmieren kann.

Atmel hat mehr wie den mega8 im Programm ;)
 
Hi, dake für die Antworten.

Ich würde gerne dieses Board verwenden:
http://www.pollin.de/shop/dt/MTY5OT..._Evaluations_Board_Version_2_0_1_Bausatz.html für 15€
damit sind laut beschreibung ATmega8535, ATmega8, ATmega16, ATmega32, ATmega64, ATtiny2313, ATtiny12 und ATtiny15 möglich.

Ist dann auch die programmierung der ATtiny 25/45/85 möglich? (8Pins)

Wo liegen die Vorteile oder Nachteile der ATtiny 25/45/85 zu den ATtiny 12/15?

Gruß, Max
 
Hm ich wüsste nicht warum man z.B. einen ATtiny 25 nicht programmieren können sollte. Ich hab das gleiche Board hier. Hab damit aber bisher nur Tiny2313, mega8 und mega168 programmiert. Aber auch der tiny 25 hat eine ganz gewöhnliche ISP Schnittstelle mit miso,mosi und sck.

Sonst nimm ein STK 500. Damit machst Du nichts falsch!
http://www.eproo-student.de/index.php?page_id=16
 
Wo liegen die Vorteile oder Nachteile der ATtiny 25/45/85 zu den ATtiny 12/15?

Wenn ich mich recht entsinne, unterscheiden sich die Tinys hauptsächlich in der Speichergröße und in der Anzahl verfügbarer Hardware-PWMs. Ich habe mit einem ATtiny 25 eine RGB-Lampensteuerung gepastelt mit drei der verfügbaren Hardware-PWMs. Ist wirklich leicht zu programmieren das Ding.
 
Ich meine die Pin-Belegung von ATtiny15 zu ATtiny25 ist unterschiedlich. Das Board unterstützt aber nur In-System-Programming (ISP) --> wenn Du den Reset-Pin deines uC als Digitalen I/O verwendest, kannst du ihn nicht mehr flashen. Investier die 60 Euro für einen Dragon. Der kann alle Atmel 8 Bit uC via ISP und HVP flashen sowie Controller mit <32kByte Flash debuggen.
 
die Pin-Belegung von ATtiny15 zu ATtiny25 ist unterschiedlich

Das könnte durchaus sein. Ist aber in diesem Fall nicht so wichtig, weil TE ja eh noch keinen von beiden hat. Er muß sich dann halt einmal für einen entscheiden.

wenn Du den Reset-Pin deines uC als Digitalen I/O verwendest, kannst du ihn nicht mehr flashen.

Das stimmt so nicht. Ich habe meinen Reset-Pin schon als IO benutzt. Du kannst dann nur kein low-Voltage-programming (weiß gerade nicht mehr genau, wie das richtig heißt) mehr einsetzen. Aber die meisten programmieradapter machen das eh nicht.
 
Die bekannten AVRs können zumeist über ISP oder über HV (HighVoltage, bei größeren parallel, bei kleineren nur seriell) programmiert werden. Wird der Reset-Pin als IO verwendet, geht nur noch die HV Programmierung, ein Programmieren mit dem Pollin-Board also unmöglich. 7 Zwerge liegt also richtig mit seiner Aussage...

Ansonsten, wenn du wirklich ernsthaft in das Thema einsteigen willst, investier die paar Euros mehr, und kauf nen gutes Board. Am Anfang "verfust" man sich vielleicht doch mal versehentlich, dann läßt sich der AVR teilweise nur noch mit HV wiederbeleben.
 
ok, das Pollin Board ist also eher begrenzt
dafür günstig und hat Taster, LED usw. gut zum spielen

beim skt500 stehen die attiny 25/45 auch nicht als supported device dabei, oder haben dies nur unterschlagen?

deim Dragon steht nur, das alles unterstütz wird. ausnamslos alles?
hier fehlen aber taster und dioden etc. zum testen/spielen, oder? Das fänd ich für den Anfang eigentlich ganz gut! und der Dragon kostet leider bald das vierfache der Pollinplatine!


Kann es sein, dass der ATtiny12 kein PWM hat? das währe ja ziemlicher Mist wenn der 15 nicht mehr hergestellt wird. Dann gäbe es fürs Pollin Board keinen kleinen Controller mehr.


was tun? :confused:
 
Den Tiny15 kannst Du schon noch kaufen (Reichelt hat den noch), k.A. wie lange aber noch.
Ein Board mit Taster und LEDs kann man sich auch schnell selber bauen.
Also wenn Du uC-Programmierung ersthaft bertreiben willst, kommst Du meiner Meinung nach um einen Debugger eh nicht drum herum.
Kauf Dir doch einfach irgend ein Evoboard + Dragon.
 
Hallo,

mein erstes Mikrocontroller Projekt war auch eine Lampensteuerung.
Ich hatte mich damals für das Pollin Board entschieden. Eine Programmierung der Mikrocontroller ist aber nur erfolgreich wenn der angeschlossene PC über eine echte serielle Schnittstelle verfügt.

Ein USB/Seriell Wandler tut es hier nicht.

Nach ersten Versuchen mit tiny2313/tiny 15 etc. setze ich für Anwendungen bei denen nicht viel I/O benötigt wird die tiny25/45/85 ein.
Ich würde diese Typen auch für dein Vorhaben empfehlen.
Das Pollin Board habe ich ganz schnell durch eine Lochraster Platine und ISP Schnittstelle getauscht.


Mittlerweile sind es einige Projekte geworden und ich setze Atmel Hardware ein. Also ein STK500 / AVR ISP MK2 und das Dragon Board.

Tiny 25 etc. geht mit STK500. Ich nutze hier den Steckplatz für den Tiny15. Man muss noch eine extra Brücke setzen und schon kann der 25er geflasht werden. Mager sieht es hier dann aber mit der Belegung des Winzlings aus. Der von mir benutze ADC Pin steht auf dem STK500 z.B. nicht zur Verfügung.
Nicht nur deswegen empfehle ich auch erste Gehversuche mit Mega48/88/168 oder Mega 16. Da ist man einfach flexibler.
Und wer das Grundelgende handling mit den AVRs beherrscht, der kommt auch gut mit den Tinys klar.


Als ehemaliger Student habe ich mich hier http://www.eproo-student.de/
günstig eingedeckt.

M.M.n. ist ein Debugger bei kleinen Projekten ohne kniffelige Berechnungen etc. nur Spielerei.
Ich benötige den Hardware Debugger nur sehr selten. Zudem tut es der Simulator im AVR Studio schon ganz gut.
Wenn man grundlegende Sachen im Griff hat, muss nicht mehr jeder Schritt durchgesteppt werden und man kann seine Programme Schritt für Schritt in der späteren Hardware aufbauen und testen.

Hab ich es eigentlich schon erwähnt? Ich würde Controller von Atmel empfehlen ;)

Für viel mehr Diskussionen sorgt erfahrungsgemäß die Wahl der Programmiersprache :D


Gruß
Daniel
 
[...]
beim skt500 stehen die attiny 25/45 auch nicht als supported device dabei, oder haben dies nur unterschlagen? [...]
Tiny25 wird definitiv unterstützt - hab hier selber zwei rumliegen. Die Infos sind nicht immer ganz aktuell, ne aktuelle Liste sollte aber im AVR-Studio oder STK500 Handbuch (gibts irgendwo bei Atmel als pdf) sein.

[...]
Kann es sein, dass der ATtiny12 kein PWM hat? das währe ja ziemlicher Mist wenn der 15 nicht mehr hergestellt wird. [...]

Zumindest keine Hardware PWM Kanäle. Solange man den Prozessor aber nicht an seine Grenzen treibt (Interruptmäßig), ist ne Software PWM mit dem vorhandenen Timer kein Problem.

Ansonsten: Der Tiny25 ist der offizielle Nachfolger vom Tiny15 und somit auch pinkompatibel.
Tiny12 ist übrigens auch ein auslaufendes Modell (Not recommended for new designs laut Atmel). Muss jeder selber wissen, ob er den dann noch einsetzen will.

/Edit:
Programmiersprache, meine Empfehlung:
Fürn Anfang Assembler - auch wenns schwer fällt. Ist aber wesentlich hardwarenaher und vermittelt die nötigen Grundkenntnisse. Wenn man die drauf hat, kann man durchaus auf ne Hochsprache umsteigen.
 
Zuletzt bearbeitet:
so, ich hab grad noch mal ein paar Stunden gelesen und denke nun, dass man das Pollin Board gekonnt links liegen lassen kann, ist ja quasi schon antiquarisch das Teil... Da gibts viele Leute die sich schon schlaueres ausgedacht haben.

mein momentaner Favorit ist: http://shop.ullihome.de/catalog/product_info.php/products_id/68
damit könnte ich dann auch endlich mal mein Modellbauladegerät mit ttl Pegel Ausgang auslesen und Lade/Entladekurven aufnehmen (hoffe ich zumindest..)

nur so nebenbei:
-was sind verfuste uC
-und wenn man PWM über den internen Timer macht ist dann die Taktfrequent nich auch abhängig von der Rechenzeit die der uC für das Programm benötigt?
 
Ein "ver fuse ter" Mikrocontroller, kann u.U. nicht mehr geflasht werden weil z.B. seine SPI Schnittstelle oder der interne Taktgeber (ohne vorhandenen externen Takt) per Einstellung der Fuse Bits abgestellt wurde.
Wenn man an den Fuse Bits herumspielt, sollte man eben wissen was man macht.
Im Normalfall kann man einen solchen Controller durch eine andere Programmierschnittstelle oder einen externen Takt wieder "beleben".

Im Falle der Hardware PWM ist diese nicht vom restlichen Programmcode abhängig da diese in Hardware realisiert wird. Dazu empfehle ich dir einen Blick ins Datenblatt. Hier gibt es am Anfang eine schöne Übersicht der Architektur.


Gruß
Daniel
 
Software PWM macht man ja nicht als Endlosschleife, sondern per interrupt. Sprich, man stellt seine Taktfrequenz am Timer ein, und immer wenn der abgelaufen ist, haut der einen Interrupt raus. Den fängt man mit einer Interrupt service routine auf und setzt den Ausgang hi/lo und die neue Timerzeit. Damit ist das unabhängig vom restlichen Code. Allerdings sollte man seine ISR kurz halten und am Anfang Interrupts ausmachen und am Ende wieder an, zumindest am Anfang und/oder wenn man saubere PWM haben will. Hardware PWM wäre natürlich um einiges einfacher. Da schreibt man nur den passenden Wert in ein Register und fertig.

Ich würde übrigens, solange man nicht vorhat, fertige Libraries zu verwenden, zu Assembler raten, auch wenn es am Anfang schmerzhaft erscheint.
 
Gut. Vielen Dank für die Ratschläge und Erklärungen!
Dan werd ich mich also ertmal in die Assemblerprogrammierung einarbeiten.

Was haltet ihr denn von dem oben verlinkten Mikrocontroller Einsteigerset von ullihome?
 
Ich würde lieber 50 Euro drauf legen und das STK500 kaufen. Läuft mit dem AVR Studio & USB-Seriell-Wandler problemlos und beherrscht alle Programmier-Modi --> keine "vefuste" µC mehr.
 
eine adapterlösung seriell-usb find ich nicht so gut, hab an vielen Stellen gelesen, dass das sehr langsam sein kann... vielleicht kommts ja auf den adater an?!

myavr ist nicht schlecht, aber eigentlich das gleiche wie hier, oder
http://shop.ullihome.de/catalog/product_info.php/cPath/25_30/products_id/67

ich wüsste einfach gerne was ihr von DEM USB AVR Lab haltet!

Ist es nicht besondere praktisch, dass man sehr flexibel ist weil man eigentlich alles selber aufbauen muss (vielleicht lernt man ja noch was besonderes dabei..) und es verschiedene Firmwares gibt?

Also was haltet ihr von dem Teil (unabhängig waes es sonst noch so gibt...)

Gruß
 
Zurück