Entwicklungsboard fertig kaufen oder selbst bauen?

mr.twister

Neues Mitglied
19 Feb 2013
50
0
0
Sprachen
Hey Leute,


habe mein erstes Semester Elektrotechnik hinter mich gebracht. Hatte vor in den Semesterferien ein Projekt mit Mikrocontrollern zu starten. Habe mich schon durch einige Threads durchgelesen und herausgefunden, dass das STK 500 direkt von Atmel oft empfohlen wird.

Eigentlich würde mich es vielmehr reizen so ein Entwicklungsboard selber zu konstruieren, vor allem, da ich es dann nach belieben anpassen könnte. Allerdings fehlt mir dazu noch einiges an Grundwissen.

Wie kann ich den ATMega8 mit einer externen Clock beschalten bzw. lohnt es sich eine ext. Colck zu verwenden oder reicht die interne?
Wie kann ich per RS232 meinen MC programmieren, d.h. welche Ports müssen zum Programmieren angeschlossen werden?


Grüße mr.twister
 

LotadaC

Sehr aktives Mitglied
22 Jan 2009
3,469
65
48
Marwitz
Sprachen
  1. BascomAVR
  2. Assembler
Hallo, und willkommen im Forum...

1.: Das wichtigste ist ein ordentlicher, und sicher fehlerfreier Programmer - meine Empfehlung ist der AVRISP-MKII (neu ca 40€ - ein User aus dem Forum bietet den hier gebraucht an)
2.: Hat Dino im FAQ-Bereich mal die wichtigsten Threads (für Anfänger) zusammengefaßt (und weitgehend selbst geschrieben) - da gibts auch einen Thread mit Minimalbeschaltungen. Vieles läßt sich mit einem simplen Steckbrett und Kram aus der Bastelkiste erzielen. Damit hast Du maximale Flexibilität.

Beim STK500 ist die Steckbarkeit/Entfernbarkeit der Controller in die/aus den Sockeln zu bemängeln - dasselbe trifft sicher auch auf viele andere Boards zu (wenn nicht grad Nullkraftsockel verwendet werden). Und das Board selbst wird über RS232 an den PC angeschlossen. Man kann zwar den AVRISP auch da als externen Programmer verwenden, aber dann hat man nicht alle Möglichkeiten, die das Board so bietet (HV-Programmierung, einstellbare Aref-Spannung, einstellbare Taktfrequenz...)
 

oldmax

Mitglied
Premium Benutzer
3 Nov 2008
584
13
18
Landkreis Göttingen
Sprachen
  1. Assembler
Hallo und ein Willkommen
Nun, auch wenn du Elektrotechnik studierst, ein selbstgebautes Entwicklungsboard würd ich nicht empfehlen. Der erste Grund: Zeit.
Wie von LotadaC bereits erwähnt, mit einem ISP - Progger sollte es mindestens beginnen. Dann nimm ein Steckbrett, setz Nullkraftsockel ein und dann entwickle deine Anwendungen. Natürlich kannst du dich auch mit einem Eigenbau rumschlagen, aber warum ein eigenes Rad erfinden, wenn die Welt mit den Vorhandenen bereits den Start ins Weltall hinter sich hat. Du wärest nicht der erste "Fred Feuerstein" mit einem Tretauto auf einer Autobahn mit superschnellen Flitzern.
Steck deine Zeit in deine Ideen. Befass dich nicht mit fertig erhältlichem Werkzeug.
Gruß oldmax
 

Hemi

Aktives Mitglied
Premium Benutzer
30 Nov 2008
1,079
17
38
Korntal-Münchingen, Germany
Sprachen
  1. ANSI C
  2. C++
  3. PHP
  4. Java
Auch von mir ein Herzlich Willkommen.

Zu 1: In dem Du an XTAL1 und XTAL2 einen Quarz hängst mit je einem Kerko nach Masse. Der interne Oszillator ist ein Schätzeisen und taugt nicht viel. Wenn Du noch ein RS232 mit höheren Geschwindigkeit verwenden willst, lass es und nimmt einen externen Quarz. Du kannst es natürlich auf die Spitze treiben und einen TCXO nehmen mit einem Ein- und Ausgangspuffer. Das ist dann wirklich genau. Aber braucht man nicht im Normalfall.

Zu 2: Ja, kannst Du. Das Zauberwort heißt BootLoader. Aber, lass lieber die Finger davon und nimm einen ISP-Progger, als Anfänger bist Du da auf der sicheren Seite.

Was brauchst Du denn Spezielles, dass Du ein Board selbst entwerfen willst?
 

Dirk

Administrator
Teammitglied
28 Jan 2007
4,320
158
63
Mittelhessen, Giessen
Sprachen
  1. ANSI C
  2. C++
  3. C#
  4. Java
  5. Kotlin
  6. Pascal
  7. Assembler
  8. PHP
Hallo und Willkommen im AVR-PRAXiS-Forum!


Um etwas mit dem ATmega8 zu entwickeln, benötigst du eigentlich kein Entwicklungsboard. Es würde ausreichend, den Mikrocontroller (ATmega8) auf eine Lochrasterplatine zu löten (zu stecken) oder auf ein Breadboard zu stecken, eine 5V Spannungsversorgung hinzuzufügen (Steckernetzteil und/oder Linearregler 7805 o.ä.), danach noch die gewünschte Peripherie hinzufügen (LEDs, Taster...), fertig.

Quarz (Systemtakt)
Die AVR Mikrocontroller haben sogenannte Fuses, mit denen stellst du über den Programmer zum Beispiel die Systemtaktquelle ein. Ausgeliefert werden die Mikrocontroller immer mit der Systemtaktquelle "interner RC-Oszillator". Für die ersten Schritte reicht es aus, hiermit zu arbeiten. Wenn du einen Quarz (zB 16MHz) an die Pins XTAL1/2 (mit 2 Cs 22pF nach GND) anschließt, und die Systemtaktquelle über die Fuses auf Quarzoszillator einstellst, ist der Systemtakt höher als der vom RC-Oszillator (1MHz) und auch genauer. Verwendest du in deinem Projekt den USART, bei dem die Baudrate wichtig ist, dann ist der Quarzoszillator besser geeignet, da die Fehlergrenzen kleiner sind als beim RC-Oszillator, bei vielen Sachen reicht aber wirklich der interne RC-Oszillator. Aber aufpassen: Wählst du eine falsche Fusebiteinstellung, kann es passieren, dass sich der Mikrocontroller nicht mehr über ISP programmieren läßt (Programmierschnittstelle deaktiviert oder eine Systemtaktquelle gewählt, die nicht existiert).

Programmierung
Wenn du kein Entwicklungsboard (zum Beispiel STK500) mit on-board Programmer einsetzt, benötigst du noch einen Programmer. Hier würde ich keinen low-cost Programmer einsetzen. (für low-cost Programmer von ebay oder anderen Quellen kann ich selber übrigends keine Unterstützung geben, das machen ggf. aber andere User hier im Forum). In der Version 2 ist der AVRISPmkII (Atmel) sehr gut, diesen kann ich dir empfehlen (setze ich u.a. selber ein). Der Programmer beherrscht die Programmierschnittstellen ISP, PDI und TPI. Er zerstört sich nicht gleich, wenn du hier etwas falsch anschließt. Für AVR Mega verwendest du ISP-Programmierung. Bei den keineren AVRs liegt die ISP Programmierschnittstelle an SCK, MISO, MOSI, RESET\ bei den größeren Megas an SCK, RXD0, TXD0, RESET\.

Entwicklungsboard
Du kannst zum Beispiel das STK500 einsetzen, das Board ist allerings inzwischen schon etwas älter. Das Board hat eine RS232 Schnittstelle, du benötigst sicherlich ein USB-nach-RS232-Adapter. Du kannst dir auch einmal das Nano Board anschauen, dies ist eine Alternative zum STK500 und unabhängig von der Entwicklungsumgebung, die Bediensoftware läuft auf Windows (ist eine Eigenentwicklung). Es gibt noch diverse andere Boards, für die ich allerdings kein Support leiste, aber hier wird sicherlich der eine oder andere User bei Problemen helfen können.
Für größere Mikrocontroller (zum Beispiel ATmega128 oder ATmega2560 oder auch Xmega128A1) gibt es fertige Minimalsysteme. Zum Beispiel die AVR-Mikrocontrollermodule Mega128-USB (aktuell nicht verfügbar, in der Fertigung), Mega2560-USB.


Das waren nun erst mal ein paar Informationen. Ich habe dir einige Links eingefügt, diese verweisen auf den mikrocontroller-praxis.de Onlineshop (hiermit finanzieren wir auch das AVR-PRAXiS-Forum). :)


Zusammengefasst würde ich so anfangen:


  • ATmega8 auf Lochraster oder Breadboard
  • erst einmal internen Oszillator verwenden, wenn Takt und Genauigkeit ausreicht (Fuses nicht ändern)
  • Spannungsversorgung 5V (zB feriges PowerSupply für Breadboard)
  • AVRISPmkII Programmer (Atmel)
  • Atmel Studio 6 (C für angehenden Ingenieur ;) )


Viel Spaß noch bei der Entwicklung :)

Dirk :ciao:
 

M@rco

Neues Mitglied
30 Jul 2011
30
0
0
Sprachen
  1. BascomAVR
  2. ANSI C
Hallo,

Also ich kann dir für den Anfang auch das Evaluationsboard von Pollin empfehlen. Es ist günstig und reicht für kleinere Projekte völlig aus. Außerdem ist es ein Bausatz, von daher hast du ja trotzdem was zu löten :) Von einem Eigenbau würde ich abraten. Das macht nur Sinn, wenn du genau weißt, was du brauchst.
Und wie schon geschrieben: Kauf einen vernünftigen Programmer, sonst gibts nur Frust ;)

Gruß Marco
 

mr.twister

Neues Mitglied
19 Feb 2013
50
0
0
Sprachen
Danke für die vielen Anregungen und Hinweise.

Also den 2. Punkt werde ich verwerfen, ich würde mir den AVRISPmkII holen, aber trotzdem kein Entwicklungsboard, ich hab an mich den Anspruch das selber aufzubauen.
Wie sieht es denn mit Tastern aus? Ich hab mir die hier angeschaut, das wäre praktisch, da ich gleich mehrere Taster hätte, die sogar nummeriert sind. Allerdings weiß ich nicht wie die sich verhalten, gibt es da einen gedrückten Zustand oder ist das immer nur ein kurzer Impuls wenn man die drückt?

Es gibt bei euch im Shop leider keinen ATmega8-16PU mehr :(
 

Dirk

Administrator
Teammitglied
28 Jan 2007
4,320
158
63
Mittelhessen, Giessen
Sprachen
  1. ANSI C
  2. C++
  3. C#
  4. Java
  5. Kotlin
  6. Pascal
  7. Assembler
  8. PHP
Hallo twister!
Danke für die vielen Anregungen und Hinweise.
Wie sieht es denn mit Tastern aus? Ich hab mir die hier angeschaut, das wäre praktisch, da ich gleich mehrere Taster hätte, die sogar nummeriert sind. Allerdings weiß ich nicht wie die sich verhalten, gibt es da einen gedrückten Zustand oder ist das immer nur ein kurzer Impuls wenn man die drückt?


Bei der Tastatur sind die Taster in einer 4x3 Matrix verschaltet. Du benötigst 7 IO Pins, um die 12 Taster auszuwerten. Man schaltet zum Beispiel die Spaltensignale nacheinander von Input hochohmig auf Output Low, wobei die Zeilen immer Input mit aktiviertem Pullup sind (hier gibts mehrere Möglichkeiten, wie man das lösen kann). Das kann man recht einfach mit ein bisschen Programmcode erledingen.

Es gibt bei euch im Shop leider keinen ATmega8-16PU mehr :(

... ist bald wieder verfügbar. Du könntest als Alternative einen ATmega32A verwenden.

Dirk :ciao:
 

mr.twister

Neues Mitglied
19 Feb 2013
50
0
0
Sprachen
Ich hab mir mal das Nano Board für AVR Mikrocontroller angeschaut. Das sieht eigentlich ziemlich attraktiv aus. Allerdings wüsste ich gerne, ob ich das auch erweitern kann. In der Beschreibung stand nur, dass die Signale an den LEDs und den Tastern über die Stiftleiste abgegriffen werden können. Heißt das, das ich dort andere Module anschließen könnte? D.h es wäre eine Art Verlängerung der Anschlüsse des MCs?
 

Dirk

Administrator
Teammitglied
28 Jan 2007
4,320
158
63
Mittelhessen, Giessen
Sprachen
  1. ANSI C
  2. C++
  3. C#
  4. Java
  5. Kotlin
  6. Pascal
  7. Assembler
  8. PHP
Ich hab mir mal das Nano Board für AVR Mikrocontroller angeschaut. Das sieht eigentlich ziemlich attraktiv aus. Allerdings wüsste ich gerne, ob ich das auch erweitern kann. In der Beschreibung stand nur, dass die Signale an den LEDs und den Tastern über die Stiftleiste abgegriffen werden können. Heißt das, das ich dort andere Module anschließen könnte? D.h es wäre eine Art Verlängerung der Anschlüsse des MCs?

Es ist beim Nano Board so wie zum Beispiel bei dem STK500 oder STK600 (Atmel). Ein Port besteht beim AVR aus (bis zu) 8 IOs. Diese sind auf die 10 poligen Stiftleisten PORTA, PORTB, PORTC und PORTD geführt. Die Signale vom Mikrocontroller liegen hier an den Pins 1 bis 8. An den Pins 9 und 10 liegt VCC und GND. Bei den größeren Mikrocontrollern sind alle Ports verfügbar, die kleineren AVRs haben nicht alle Ports.

Du kannst hier also direkt deine Peripherie über 10 polige Flachbandleitung oder über einzelne Kabelverbindungen anschließen. Oder du jumperst von den Port-Stiftleisten auf ein Breadboard, auf dem du deine Peripherie aufbaust.

Periperherie auf dem Board ist zum Beispiel die 8 Leds und die 8 Taster. Diese haben jeweils eine 10polige Stiftleisten. Du legst also alle Taster und/oder alle LEDs über ein 10poliges Flachbandkabel auf einen Port oder einzelne Taster und einzelne LEDs über einzelne Leitungen auf bestimmte IO Pins. Du musst auch nicht Taster und LEDs auf dem Board nutzen.

Verbindungsleitungen findest du bei "Empfohlenes Zubehör" im Shop.


Dirk :ciao:

Bilder aus Blogbeiträgen von mir:





 

dino03

Aktives Mitglied
27 Okt 2008
6,755
17
38
Sprachen
  1. BascomAVR
  2. Assembler
Hi,

herzlich willkommen im Forum :flowers:

Wie sieht es denn mit Tastern aus? Ich hab mir die hier angeschaut, das wäre praktisch, da ich gleich mehrere Taster hätte, die sogar nummeriert sind. Allerdings weiß ich nicht wie die sich verhalten, gibt es da einen gedrückten Zustand oder ist das immer nur ein kurzer Impuls wenn man die drückt?
Grundsätzlich ...

Taster => Aktion ist nur so lange wie man drückt

Schalter => Rastet in der entsprechenden Stellung ein und bleibt so auch wenn man nicht mehr drückt.

Dann gibts noch Öffner und Schließer und Wechsler.

Öffner öffnet bei Betätigung, Schließer schließt bei Betätigung und Wechsler hat 3 Kontakte. Einen gemeinsamen und einen vom Öffner und einen vom Schließer. ;)

Gruß
Dino
 

Cassio

Aktives Mitglied
29 Okt 2008
4,027
17
38
Region Hannover
Sprachen
  1. BascomAVR
Hallo Dirk!

Wow....!

Seit wann hast du denn diese traumhaften Folientastaturen im Sortiment?


Habe ich die übersehen? :hmmmm:

Die sind ja genial.... gerade zu dem Preis. :D


Ups... Offtopic! :eek:


Grüße,
Cassio
 

mr.twister

Neues Mitglied
19 Feb 2013
50
0
0
Sprachen
Also ich werde jetzt wahrscheinlich doch das Nano nehmen, dass gefällt mir ganz gut, dann kann ich mich ein bisschen in die Materie einarbeiten und dann selber anfangen eigene Boards aufzubauen, so muss ich nicht an 50000 Stellen gleichzeitig arbeiten.

Die Frage ist jetzt nur noch, was benötige ich alles? Also als kleine Bestellliste für mich ;)

- Nano Board
- Netzteil (hab ich schon)
- Flachbandkabel (Wie viele brauche ich? Genauen Link? Ist bei mir nicht bei "Empfohlenes Zubehör" aufgetaucht.
- USB-Kabel habe ich auch
- Mikrocontroller
- ??? Hab ich noch was vergessen ???

Ich hätte gerne die 7-Segment Anzeige von deinem Projekt (Dirk), wann ist die im Shop wieder verfügbar?
 

Hemi

Aktives Mitglied
Premium Benutzer
30 Nov 2008
1,079
17
38
Korntal-Münchingen, Germany
Sprachen
  1. ANSI C
  2. C++
  3. PHP
  4. Java
Hey Cassio,

die gibt es schon eine Weile, hat doch Dirk mal vorgestellt, musst mal in den News schauen :)

Die 4x4 Tastatur finde ich cool.

Alternativ gibt es bei SparkFun auch witzige Sachen:

MPR121 Capacitive Touch Keypad

Touch Shield

Die zweite Tastatur habe ich zu Hause rumliegen, habe sie aber noch nicht in Betrieb genommen. Wollte sie als Steuerungsemulation für meinen Player verwenden.

@mr.twister:

Ich verstehe nach wie vor nicht, was Du mit dem eigenen Board willst. Für was? Mit Nano-Board bekommst Du doch nun wirklich alles, was man braucht. Da haben die Jungs wirklich was absolut geiles auf die Beine gestellt. Ich mache nicht mehr so viel mit Atmegas, sonst hätte ich es mir gekauft. Da sind doch alle Ports rausgeführt, also kannst Du doch einfach BreakOut Boards kaufen und diese dann ganz einfach anschließen.

Ansonsten:

Flachbandkabel:

FTDI USB Kabel

Jumperkabel
 

mr.twister

Neues Mitglied
19 Feb 2013
50
0
0
Sprachen
Dankeschön für die Links.

Weil ich verstehen will, wie man den MC beschaltet, mir geht es da nicht nur um das programmieren, klar haben das andere auch schon gemacht und kriegen das viel besser hin, aber es geht einfach darum das es mich interessiert und ich das lernen möchte, einen anderen Sinn hat das nicht :)

Wofür ist denn das FTDI USB Kabel? Ich hab doch da einen USB-Anschluss für den ISP-Programmer oder?
 

Hemi

Aktives Mitglied
Premium Benutzer
30 Nov 2008
1,079
17
38
Korntal-Münchingen, Germany
Sprachen
  1. ANSI C
  2. C++
  3. PHP
  4. Java
Über das FTDI USB Kabel kannst Du mit der MCU kommunizieren, ist Ersatz für einen RS232, bzw. MAX232.
 

mr.twister

Neues Mitglied
19 Feb 2013
50
0
0
Sprachen
Hmmm... Okay, aber das werde ich erstmal gar nicht brauchen oder? Um ein paar LEDs anzuschmeißen etc. reichen ja ein paar Jumper Flachbandkabel und das Nano plus Controller. MCU ist Mikrocontroller Unit? Also die "CPU" des MCs?
 

Dirk

Administrator
Teammitglied
28 Jan 2007
4,320
158
63
Mittelhessen, Giessen
Sprachen
  1. ANSI C
  2. C++
  3. C#
  4. Java
  5. Kotlin
  6. Pascal
  7. Assembler
  8. PHP
Hallo zusammen,

ich melde mich mal kurz, habe gerade nicht so die Zeit.

Das 10polige Flachbandkaben ist wahrscheinlich ab Montag wieder lieferbar. Die Siebensegment-LED-Displays sind Ende nächster oder Anfang übernächster Woche wieder da.

Der fehlende Verweis auf das 10polige Flachbandkabel bei "empfohlenes Zubehör" wird noch eingefügt.

Ansonsten so viel Kabel (Einzelverbindungen und 10poliges FB Kabel) mitbestellen, wie man benötigt ... ist ja auch nicht so teuer :D

Das FTDI-Kabel ist optional, damit hat man schnell einen COM-Port zum Rechner und man kann sich somit Daten zum Debuggen auf einem Terminal ausgeben, oder auch am Terminal Befehle eingeben und senden. Alternativ kann man auch folgende BreakoutBoards einsetzen:

http://mikrocontroller-praxis.de/de/Development-Tools/USB/FTDI-FT232RL.html
http://mikrocontroller-praxis.de/de/Development-Tools/Arduino/LilyPad-FTDI-Converter.html

Auf dem Nano Board ist hierfür ein Stecker, da passen das FTDI-Kabel und die Breakout Bords. Die UART Verbindungen RXD TXD jumpert man dann zu den entsprechenden Pins des Mikrocontrollers. Es ist eine Option, verwenden muss man das nicht ;)

Als Mikrocontroller würde ich einen ATmega32A DIP40 verwenden. Darauf kann man die Software programmieren und die externe Hardware testen. Danach kann man sich auch einen kleineren Mikrocontroller aussuchen (und eine autarke Platine basteln), der die verwendeten Hardwaremodule besitzt und sein Programm auf den kleineren Mikrocontroller anpassen, das heißt alle Bereiche die man zum debuggen verwendet hat wie LEDs, Taster, USART usw. entfernen ... oder einfach den Mikrocontroller beibehalten, wenn es nicht klein werden muss oder in Massenproduktion gefertigt werden soll ;)

@Cassio: Die Folientastaturen hatte ich schon mal im Forum mikrocontroller-praxis.de Onlineshop vorgestellt, wie Heinrich ja schon geschrieben hatte.

Dirk :ciao:
 

mr.twister

Neues Mitglied
19 Feb 2013
50
0
0
Sprachen
Hey, habe mir jetzt das Nano bestellt.

Welche Entwicklungsumgebung benutzt ihr? Ich habe Code::Blocks, sowie Atmel Studio 5.1 als auch Atmel Studio 6. Ist irgendeine besonders komfortabel?
 

matrixstorm

Neues Mitglied
12 Mai 2013
2
0
0
Sprachen
  1. ANSI C
  2. Assembler
  3. Pascal
Ein preisertes, arduino kompatibles board ist auch tinyUSBboard.

Es mag zwar nicht die hübscheste Optik ausstrahlen, aber es hat ein onboard
USB Interface und ist sehr sehr preiswert. (U.a. weil man es sich sehr
einfach selbst bauen kann.)

Man kann es auch in ein Programmiergeraet umfunktionieren um eine neue
Lieferung Chips zu flashen. So kann man sich mehrere tinyUSBboard selbst
bauen, sodass man fuer jedes seiner Projekte genügend hat...

Insgesamt hat es gegenüber anderen Boards noch ein paar weitere Vorteile
(Flash Lebensdauer, firmware ...etc...), am Besten Ihr lest es selbst:
http://matrixstorm.com/avr/tinyusbboard/
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)