Jürgen's Atmel ATMEGA128 Experimentierboard

Hier präsentiere ich ein kleines Projekt für ein Experimentierboard mit dem Atmel ATMEGA128.
Das Board kann mit C, Assembler oder Bascom anprogrammiert werden.

Ein hübsches und sinnvolles "Speilzeug" auf dem Weg zum erfolgreichen Microcontrollerprogrammierer.

Projekt


 ATMEGA128
Experimentierboard

 

 

Inhalt
        • Anforderung
        • Analyse
        • Entwicklung
        • Berechnung
        • Stromlaufplan Platine 1
        • Schaltung Platine 1
        • Bestückung Platine 1
        • Layout Platine 1
        • Bohrplan Platine 1
        • Beschriftungsfolie Platine 1
        • Stromlaufplan Platine 2
        • Schaltung Platine 2
        • Bestückung Platine 2
        • Layout Platine 2
        • Bohrplan Platine 2
        • Beschriftungsfolie Platine 2
        • Stückliste Platine 2
        • Bedienungsanleitung
        • Anhang

 

Anforderung

Entwicklung einer Schaltung mit folgenden Eigenschaften

Anforderung A

1. Ein µC Atmel ATMEGA 128 soll über eine ISP Schnittstelle programmiert werden können
2. Der µC soll er einfach ersetzt werden können
3. Es soll ein Eingang für eine Spannungsversorgung +5V DC / GND vorhanden sein
4. Es soll die Spannungsversorgung für weitere Peripherie abgegriffen werden können
5. Es sollen alle Pins vom µC auf Stiftleisten geführt werden
6. Es soll ein externer Taktgeber (Quarz) mit 16MHz vorhanden sein
7. Es soll ein 3mm LED als Betriebsanzeige vorhanden sein
8. Es soll ein Reset Taster vorhanden sein

Anforderung B

1. Es soll eine 2te Platine erstellt werden auf der 8 LEDS (high aktiv) mit Vorwiderstand für +5V DC und 8 Taster (low aktiv) vorhanden sein
2. Auf der 2ten Platine sollen die LEDs an der Katode und die Taster am Ausgangspin an je einen Pin an eine Stiftleiste geführt werden, sodass also 2 Stk. 8Pin Stiftleisten vorhanden sind
3. Auf der 2ten Platine soll ein Eingang für eine Spannungsversorgung +5V DC / GND mit je 4 Pin-Stiftleisten vorhanden sein, wobei +5V DC mit der Anode der LEDs und GND mit dem Eingang der Taster verbunden sein soll
4. Es soll eine Bedienungsanleitung erstellt werden

Analyse

Atmel ATMEGA128 ist ein Microcontroller in einem 64 Pin TQFP SMD Gehäuse.

  • Eingangspannung +5V DC
    • Pins 21 und 52
  • GND
    • Pins 22 und 53
  • Eingangsspannung AD Wandler
    • Pin 64
  • GND AD Wandler
    • Pin 63
  • Pins für ISP Programmierung
    • MISO an Pin 2
    • MOSI an Pin 3
    • SCK an Pin 11
    • RST an Pin 20
    • VCC an Pin 21,52,64
    • GND an Pin 22,53,63
  • Reset soll mit Pullup widerstand an +5V liegen und mit Resettaster an GND geschaltet werden.
  • External Clock
    • Pins 23, 24

 

ACHTUNG!
ATMEGA128 ist im Auslieferungszustand im ATmega103 Kompatibilitätsmodus. Es muss erst über Fusebits der Mega128 Modus aktiviert werden.

External Clock Beschaltung laut Datenblatt wobei C1 und C2 Keramikkondensatoren mit je 22pF sind.

ISP Pinbelegung 10-polig

LEDs High Aktiv = Anode wird permanent mit Spannung versorgt, Katode wird programmtechnisch über Portpins des µC auf Masse geschaltet.

Entwicklung

Schaltungsaufbau im 2,54mm Raster

Anforderung A
Es kann ein 10-poliger ISP Port eingesetzt werden
ATMega 128 ist wird in einem SMD Gehäuse ausgeliefert. Um den µC einfach ersetzten zu können, muss er gesockelt werden. Dazu wird eine Adapterplatine benötigt (64TQFP auf 64DIL), sowie 4Stk 2 x 8 Pin DIL Socket und 4Stk 2 x 8 Pin Stiftleiste.
Für die Herausführung aller Pins auf Stiftleisten sind 4 Stk 2 x 8 Pin Stiftleisten erforderlich.
Für die Spannungsversorgung und „durchschleifen“ der Spannungsversorgung auf andere Peripherie ist je ein 2 x 2 Pin Stiftleisten-Terminal erforderlich (VCC GND)
Für das LED zur Betriebsanzeige ist ein Vorwiderstand erforderlich.
Für den Resettaster wird ein Pullup Widerstand benötigt
Für den externen Taktgeber ist ein Quarzoszillator mit 16MHz inkl. DIL Sockel erforderlich sowie 2 Stk Keramikkondensatoren mit 22pF
Um die Spannungsversorgung des µC bei Stromverbrauchsspitzen stabil zu halten wird je Spannungseingang (Pin 21 und 52) ein Pufferkondensator ELKO 4,7µF 16V benötigt.

Anforderung B
Spannungsversorgung über Terminals (VCC und GND) mit je 2 x 2 Pin Stiftleisten
Ein-Ausgang der LEDs und Switches je eine 1 x 8 Pin Stiftleiste
8 Stk Vorwiderstand für LEDs werden benötigt

 

 

Fuses für MEGA128 Betrieb

Setzen der High- und Lowbyte und Extendedbyte Fuses für MEGA128 Betrieb
(Highbyte = 10011001 Lowbyte = 11100001 Extendedbyte = 11111111)



Berechnung

Vorwiderstand Betriebsanzeige Hauptplatine
3mm LED rot UF=1.6V IF=18mA
R = U / I
U = 5v – 1,6V = 3,4V
R = 3,4 / 0,018A
R = 188 Ohm
Gewählt: 220 Ohm 0,25W

Pullupwiderstand Reset Hauptplatine
Gewählt 10K Ohm 0,25W

Vorwiderstand LEDs 2te Platine
5mm LED rot UF=1.6V IF=18mA
R = U / I
U = 5v – 1,6V = 3,4V
R = 3,4 / 0,018A
R = 188 Ohm
Gewählt: 220 Ohm 0,25W

Platine 1

Stromlaufplan

Schaltung

Bestückung

Layout

Bohrplan

 

Beschriftungsfolie

Stückliste

Stk.

Name

Wert

Bezeichnung

1

-K1

Stift

Stiftleiste_2x08_G_2,54

1

-K2

Buchse

2X08_BUCHSE

1

-K3

Stift

Stiftleiste_2x08_G_2,54

1

-K4

Buchse

2X08_BUCHSE

1

-K5

Stift

Stiftleiste_2x08_G_2,54

1

-K6

Buchse

2X08_BUCHSE

1

-K7

Stift

Stiftleiste_2x08_G_2,54

1

-K8

Buchse

2X08_BUCHSE

1

-K9

Stift GND

Stiftleiste_2x02_G_2,54

1

-K10

Stift VCC

Stiftleiste_2x02_G_2,54

1

-K11

Stift ISP

Stiftleiste_2x05_G_2,54 mit Rahmen

1

-K12

QUARZ

1X03_BUCHSE

1

-K13

Stift

Stiftleiste_1x02_G_2,54

1

-S1

Taster

TASTER_KURZHUB

1

-V1

LED

LED_3MM_ROT

1

C1

4,7µF

D5R2,54_ELKO

1

C2

4,7µF

D5R2,54_ELKO

1

C3

22pF

6X3R5,08

1

C4

22pF

6X3R5,08

1

R1

220

0204_MET

1

R2

10K

0204_MET

1

X1

HC-49S

Quarzoszillator 16MHz

7

 

0,8mm

Drahtbrücke , 0 Ohm

1

 

Adapter

64 TQFP auf 64 DIL

4

 

Stift

Stiftleiste_2x08_G_2,54

1

 

µC

Atmega128

1

 

Rahmen

Kunststoff 90 x 65 mm

4

 

Schraube

M3 x 45 Nylon

4

 

Mutter

M3 Nylon

1

 

Folie

Beschriftungsfolie Bauteilseite

 

Platine 2

Stromlaufplan

Schaltung

Bestückung

Layout

Bohrplan

Beschriftungsfolie

Stückliste

Stk

Name

Wert

Gehäuse

1

K1

Stift VCC

Stiftleiste_2x02_G_2,54

1

K2

Stift GND

Stiftleiste_2x02_G_2,54

1

K3

Stift

Stiftleiste_1x08_G_2,54

1

K4

Stift

Stiftleiste_1x08_G_2,54

1

R1

220

0207_MET

1

R2

220

0207_MET

1

R3

220

0207_MET

1

R4

220

0207_MET

1

R5

220

0207_MET

1

R6

220

0207_MET

1

R7

220

0207_MET

1

R8

220

0207_MET

1

S1

 

TASTER_KURZHUB

1

S2

 

TASTER_KURZHUB

1

S3

 

TASTER_KURZHUB

1

S4

 

TASTER_KURZHUB

1

S5

 

TASTER_KURZHUB

1

S6

 

TASTER_KURZHUB

1

S7

 

TASTER_KURZHUB

1

S8

 

TASTER_KURZHUB

1

V1

 

LED_5MM_ROT

1

V2

 

LED_5MM_ROT

1

V3

 

LED_5MM_ROT

1

V4

 

LED_5MM_ROT

1

V5

 

LED_5MM_ROT

1

V6

 

LED_5MM_ROT

1

V7

 

LED_5MM_ROT

1

V8

 

LED_5MM_ROT

1

Rahmen

Kunststoff 75 x 55 mm

4

Schraube

M3 x 45 Nylon

4

Mutter

M3 Nylon

1

Folie

Beschriftungsfolie Bauteilseite

 

Bedienungsanleitung

Platine 1 - Atmega128 Mainboard

• Sockel für Adapterplatine Stiftleisten –K2 , -K4, -K6, -K8
• ISP Programmierung über die Stiftleiste –K11
• Spannungsversorgung +5V auf Stiftleiste -K10 und GND auf Stiftleiste –K9
• Externer Taktgeber Ausgang auf Stiftleiste –K13
• Ausgänge des µC Stiftleisten –K1, -K3, -K5, -K7
• Betriebsanzeige LED V1
• Resettaster –S1

Platine 2 - LED Switch Board

• Spannungsversorgung +5V auf Stiftleiste K1 und GND auf Stiftleiste K2
• Eingänge LEDs auf Stiftleiste K3
• Ausgänge Schalter auf Stiftleiste K4

Vorgehensweise

1. An den beiden Platinen die Spannungsversorgung herstellen.
2. Die jeweiligen Ein- Ausgabepins über Jumperkabel wie gewünscht miteinander verbinden.
3. ISP Kabel mit Programmiergerät verbinden
4. Programm einspielen

Erste Inbetriebnahme
Fuses setzen: Highbyte , Lowbyte und Extendedbyte
(Highbyte = 10011001 Lowbyte = 11100001 Extendedbyte = 11111111)
ZB. mit dem OpenSource Programm AVRDUDE
-U hfuse:w:0b10011001:m -U lfuse:w:0b11100001:m -U efuse:w:0b1111111:m

 

Anhang

Datenblätter

Atmel ATMEGA128 Datasheet

Downloads