Μέτρηση Δύναμης Ανέμου και Απεικόνιση Με

ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
ΣΔΥΝΟΛΟΓΗΚΟ ΔΚΠΑΗΓΔΤΣΗΚΟ ΗΓΡΤΜΑ ΚΑΒΑΛΑ΢
΢ΥΟΛΖ ΣΔΥΝΟΛΟΓΗΚΧΝ ΔΦΑΡΜΟΓΧΝ
ΣΜΖΜΑ ΖΛΔΚΣΡΟΛΟΓΗΑ΢
ΜΔΣΡΖ΢Ζ ΣΑΥΤΣΖΣΑ΢ ΑΝΔΜΟΤ ΚΑΗ
ΑΠΔΗΚΟΝΗ΢Ζ ΜΔ ΜΗΚΡΟΔΛΔΓΚΣΖ
ΠΣΤΥΗΑΚΖ ΔΡΓΑ΢ΗΑ
ΒΑ΢ΙΛΔΙΟ΢ ΔΤΑΓΓΔΛΟΤ
ΓΗΜΗΣΡΙΟ΢ ΚΔΥΑΓΙΑ΢
Δπηβιέπσλ : ΑΝΓΡΔΑ΢ ΢ΟΪΛΔΜΔ΢
Δγθξίζεθε απφ ηελ ηξηκειή εμεηαζηηθή επηηξνπή ηελ 12ε Ννεκβξίνπ 2010.
............................
............................
............................
Αλδξέαο ΢ντιεκέο
Καθηγητής Ε.Μ.Π
ΚΑΒΑΛΑ,Ννέκβξηνο 2010
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
1
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
Τπεύθςνη Γήλυζη : Βεβαηψλνπκε φηη είκαζηε ζπγγξαθείο απηήο ηεο πηπρηαθήο
εξγαζίαο θαη φηη θάζε βνήζεηα ηελ νπνία είρακε γηα ηελ πξνεηνηκαζία ηεο, είλαη
πιήξσο αλαγλσξηζκέλε θαη αλαθέξεηαη ζηελ πηπρηαθή εξγαζία. Δπίζεο έρνπκε
αλαθέξεη ηηο φπνηεο πεγέο απφ ηηο νπνίεο θάλακε ρξήζε δεδνκέλσλ, ηδεψλ ή ιέμεσλ,
είηε απηέο αλαθέξνληαη αθξηβψο είηε παξαθξαζκέλεο. Δπίζεο βεβαηψλνπκε φηη απηή ε
πηπρηαθή εξγαζία πξνεηνηκάζηεθε απφ εκάο πξνζσπηθά, εηδηθά γηα ηηο απαηηήζεηο ηνπ
πξνγξάκκαηνο ζπνπδψλ ηνπ Σκήκαηνο Ηιεθηξνινγίαο ηνπ Σ.Δ.Ι. Καβάιαο.
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
2
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
Πεπίλητη
Ο θιάδνο ησλ κηθξνυπνινγηζηψλ παξνπζηάδεη ζεκαληηθή αλάπηπμε θαη έρεη
απεξηφξηζηεο εθαξκνγέο. Σν ζέκα ηεο πηπρηαθήο εξγαζίαο είλαη ε κέηξεζε ηεο
ηαρχηεηαο ηνπ αλέκνπ θαη ηελ απεηθφληζε απηήο κε κηθξνειεγθηή. ΢ηα πιαίζηα ηεο
εξγαζίαο επειέγε ν κηθξνειεγθηήο ATmega128Α ηεο Atmel. ΢ηε ζπλέρεηα
θαηαζθεπάζηεθε
πξσηφηππν
θχθισκα,
αλαπηχρζεθε
ινγηζκηθφ
ζε
γιψζζα
πξνγξακκαηηζκνχ C θαη κεηά απφ βειηηζηνπνηήζεηο θαηαζθεπάζηεθε ε ηειηθή πιαθέηα.
Λέξειρ κλειδιά
Μηθξνυπνινγηζηήο, κηθξνειεγθηήο, AVR, Atmel, ATmega128.
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
3
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
Δςσαπιζηίερ
Θα ζέιακε λα επραξηζηήζνπκε ηνλ Καζεγεηή ηνπ Σ.Δ.Ι. Καβάιαο θ.΢ντιεκε
Αλδξέα γηα ηελ θαζνδήγεζε πνπ καο παξείρε θαη ηελ ακέξηζηε θαη έκπξαθηε
ζπκπαξάζηαζή ηνπ ζηα πξνβιήκαηα πνπ αληηκεησπίζακε. Με ηελ ζεηξά ζα ζέιακε λα
επραξηζηήζνπκε φινπο ηνπο θίινπο πνπ καο ππνζηήξημαλ ςπρνινγηθά θαη βξέζεθαλ
ζχκκαρνη ζε φιε απηή ηελ πξνζπάζεηα. Σέινο ζα ζέιακε λα επραξηζηήζνπκε ηδηαίηεξα
ηνπο αγαπεκέλνπο καο γνλείο πνπ ζε φιεο ηηο ζηηγκέο ηεο δσήο καο είλαη δίπια καο θαη
κε ηε κνλαδηθή ηνπο αγάπε θαη ηελ έκπξαθηε ζπκπαξάζηαζή ηνπο καο βνεζάλε έηζη
ψζηε λα πεηχρνπκε ηνπο ζηφρνπο πνπ έρνπκε ζέζεη ζηε δσή καο.
Κεσαγιάρ Γημήηπιορ
Δςαγγέλος Βαζίλειορ
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
4
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
Πίνακαρ Πεπιεσομένυν
Κεθάλαιο 1
1.1 Ση είλαη ν άλεκνο
7
1.2 Κιίκαθα Beaufort
8
1.3 Σν αλεκφκεηξν θαη ηα είδε ηνπ
9
Κεθάλαιο 2
2.1 Καηαζθεπή αλεκνκέηξνπ
11
Κεθάλαιο 3
3.1 Η αθξίβεηα
15
3.2 Resolution (Αλάιπζε)
16
3.3 Τζηέξεζε
19
3.4 Οξνινγία Αηζζεηεξίσλ
20
Κεθάλαιο 4
4.1 Έλλνηεο θαη ζχγρπζε
24
4.2 Γεληθά γηα ηε Υξεζηκφηεηα ησλ Μηθξνειεγθηψλ
26
4.3 Ο κηθξνειεγθηήο θαη ηα κέξε ηνπ
27
4.4 Η Αξρηηεθηνληθή ησλ Μηθξνειεγθηψλ
31
4.5 Οη Μηθξνειεγθηέο ηεο Atmel
33
Κεθάλαιο 5
5.1 Ο Μηθξνειεγθηήο ΑΣmega128A
36
5.2 Κεληξηθή Μνλάδα Δπεμεξγαζίαο (CPU)
40
5.3 Μλήκεο
41
5.4 ΢χζηεκα Υξνληζκνχ
43
5.5 Θχξεο Δηζφδνπ-Δμφδνπ
45
5.6 Μεηαηξνπέαο αλαινγηθνχ ζήκαηνο ζε ςεθηαθφ
49
Κεθάλαιο 6
6.1 Γεληθά Υαξαθηεξηζηηθά
51
6.2 AVR Butterfly Demo Kit
51
6.3 AVR Dragon Βαζηθέο Πιεξνθνξίεο
54
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
5
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
6.4 Δμσηεξηθή Πεξηγξαθή ηνπ Dragon
56
6.5 ΢χλδεζε ζηνλ H/Y
59
6.6 Ιζηνξία ηνπ JTAG
61
6.7 Πεξηθεξεηαθή ΢άξσζε
62
6.8 Απνζθαικάησζε
63
6.9 Οζφλε LCD (Display)
64
Κεθάλαιο 7
7.1 Γεληθά Υαξαθηεξηζηηθά
67
7.2 Σν AVR Studio 4
67
7.3 To WinAVR
69
Κεθάλαιο 8
8.1 Λίγα ιφγηα γηα ηελ πιαθέηα
70
8.2 Λίγα ιφγηα γηα ην πξφγξακκα
70
Παπάπηημα
Γηάγξακκα Ρνήο
72
Κψδηθαο
73
΢ρεκαηηθφ
84
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
6
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
ΚΔΦΑΛΑΗΟ 1
1.1 Σί είναι ο άνεμορ
Μπζνινγηθά ν Αίνινο ήηαλ ν ζεφο ησλ αλέκσλ,ν νπνίνο θξαηνχζε ηνπο
αλέκνπο κέζα ζε αζθνχο θαη ηνπο άθελε κε εληνιή ηνπ Γία.
Δικόνα 1.1: Αίνινο,ν ζεφο ησλ αλέκσλ.
Δπηζηεκνληθά φκσο νη αέξηεο κάδεο ηηο αηκφζθαηξαο πνπ πεξηβάιινπλ ηελ Γε
βξίζθνληαη ζε ζπλερή «νξηδφληηα» θαη «θάζεηε» θίλεζε. Όηαλ ε θίλεζε γίλεηαη
αηζζεηή ζηνλ νξηδφληην άμνλα ηφηε νλνκάδνπκε ηελ θίλεζε,άλεκν ελψ φηαλ ηελ
αηζζαλφκαζηε ζην θάζεην αλαθέξεηαη σο ξεχκα. Πξσηαξρηθή αηηία γέλεζεο ηνπ
αλέκνπ είλαη ε δηαθνξά ζεξκνθξαζίαο ηνπ αέξνο πνπ κε ηε ζεηξά ηεο δεκηνπξγεί
δηαθνξέο βαξνκεηξηθήο πίεζεο κεηαμχ παξαθείκελσλ ηφπσλ. Γειαδή αλ δπν
ζπλερφκελεο πεξηνρέο δελ έρνπλ ηελ ίδηα ζεξκνθξαζία ηφηε ε αηκνζθαηξηθή πίεζε
ηεο ςπρξφηεξεο ζα είλαη κεγαιχηεξε, κε απνηέιεζκα λα θηλεζεί αέξηα κάδα απφ ηελ
ςπρξφηεξε ζηελ ζεξκφηεξε πεξηνρή. Σα ζηνηρεία ηνπ αλέκνπ ζεσξνχληαη ε
δηεχζπλζε θαη ε έληαζή ηνπ.
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
7
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
Ζ δηεχζπλζε ηνπ αλέκνπ ραξαθηεξίδεηαη απφ ην ζεκείν ηνπ νξίδνληα,
απ‟φπνπ πλέεη ν άλεκνο θαη φρη πξνο ηα πνπ πλέεη ν άλεκνο. Δθθξάδεηαη ζε κνίξεο
αιιά θαη κε ζχκβνια αλεκνινγίνπ. Δπίζεο θαη κε πνιιά άιια νλφκαηα
ραξαθηεξίδνληαη νη άλεκνη κε ηα ραξαθηεξηζηηθά ηνπο, ηνλ ηφπν, ηελ έληαζε θαη ηε
δηεχζπλζε ηνπο.
Ζ έληαζε ηνπ αλέκνπ εθθξάδεηαη είηε κε ηε πίεζε ηελ νπνία αζθεί ζηελ
επηθάλεηα ησλ δηαθφξσλ ζσκάησλ, είηε κε ηελ
ηαρχηεηα πνπ θηλείηαη. ΢ηελ
Μεηεσξνινγία ε έληαζε ηνπ αλέκνπ εθθξάδεηαη ζπλήζσο κε ηελ ηαρχηεηά ηνπ, νπφηε
δίλεηαη ζε κέηξα/δεπηεξφιεπην, ή ζε ρηιηφκεηξα/ψξα, ζε κίιηα/ψξα είηε θαη ζε
θφκβνπο.
1.2 Κλίμακα Beaufort
Ζ θιίκαθα Μπνθφξ είλαη έλαο εκπεξηθφο ηξφπνο κέηξεζεο ηεο έληαζεο ησλ
αλέκσλ πνπ βαζίδεηαη ζηελ παξαηήξεζε ησλ απνηειεζκάησλ ηνπ αλέκνπ ζηελ
ζηεξηά ή ζηε ζάιαζζα. Ηζηνξηθά,ε θιίκαθα δεκηνπξγήζεθε ην 1806 απφ ηνλ
Ναχαξρν Φξάλζηο Μπνθφξ πξνθεηκέλνπ λα ηππνπνηεζεί ε πεξηγξαθή ησλ θαηξηθψλ
ζπλζεθψλ θαη λα δηεπθνιπλζεί ε ζπλλελφεζε ησλ λαπηηιινκέλσλ.
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
8
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
Δπηλνήζεθε κηα απιή θιίκαθα δεθαηξηψλ βαζκψλ (0-12) κε βάζε ηα
απνηειέζκαηα ηνπ αλέκνπ ζηα παληά ελφο πινίνπ. Με ηελ έιεπζε ηεο αηκνθίλεζεο
γχξσ ζην 1906, ε θιίκαθα ηξνπνπνηήζεθε έηζη ψζηε λα πεξηγξάθεη ηα απνηειέζκαηα
ζηελ ζάιαζζα θαη φρη ζηα παληά. Αξγφηεξα επεθηάζεθε κέρξη θαη ην 17 (0-17) ψζηε
λα κπνξεί λα πεξηγξάθεη θαη ηξνπηθνχο ηπθψλεο.
Οη βαζκνί ηεο θιίκαθαο Μπνθφξ ζπζρεηίδνληαη κε ηελ ηαρχηεηα ηνπ αλέκνπ
φπσο απηή κεηξηέηαη απφ έλα αλεκφκεηξν κε ηνπο εκπεηξηθνχο ηχπνπο:
u[m/s]=0.836*B3/2
u[km/h]=3.01*B3/2
B=
[
]
1.3 Σο ανεμόμεηπο και ηα είδη ηος
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
9
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
Αλεκνκεηξηθά φξγαλα νλνκάδνληαη ηα φξγαλα εθείλα κε ηα νπνία
πξνζδηνξίδεηαη θαη θαηαγξάθεηαη ε ηαρχηεηα θαη ε δηεχζπλζε ηνπ πλένληνο αλέκνπ ή
ηνπ θαηλνκέλνπ αλέκνπ.Σέηνηα φξγαλα είλαη ηα αλεκφκεηξα θαη νη αλεκνδείθηεο
αληίζηνηρα.΢πλήζσο ηα φξγαλα απηά ζπλδπάδνληαη ζε έλα ζπγθξφηεκα.Έηζη πνιιέο
θνξέο
ε
αλαθνξά
ζε
αλεκφκεηξα
ελλννχληαη
ζπγρξφλσο
θαη
νη
αλεκνδείθηεο.Τπάξρνπλ πνιινί ηχπνη αλεκνκεηξηθψλ νξγάλσλ, είηε άκεζεο
αλάγλσζεο, είηε απηνγξαθηθά.Σν αλεκνκέηξν είλαη ε ζπζθεπή κέηξεζεο ηεο
ηαρχηεηαο ηνπ αλέκνπ θαη είλαη έλα θνηλφ κέζν ζηνπο κεηεσξνινγηθνχο ζηαζκνχο.Σα
αλεκφκεηξα ρσξίδνληαη ζε δχν θαηεγνξίεο:ζε απηά πνπ κεηξνχλ ηελ ηαρχηεηα ηνπ
αλέκνπ θαη ζε απηά πνπ κεηξνχλ ηελ πίεζε ηνπ αλέκνπ.Έρνληαο σο δεδνκέλν ηελ
πνιχ ζηελή ζρέζε αλακέζα ζηελ ηαρχηεηα θαη ζηελ πίεζε ηνπ αλέκνπ,έλα
αλεκφκεηξν ζρεδηάδεηαη γηα λα δίλεη πιεξνθνξίεο ζρεηηθά θαη κε ηα δχν.Αο δνχκε
φια ηα είδε θαη ησλ δχν θαηεγνξηψλ.
Ανεμόμεηπα Σασύηηηαρ
Ανεμόμεηπα Πίεζηρ
Αλεκφκεηξν Κππέιινπ (Cup
Αλεκφκεηξν Πηάην
Anemometer)
Αλεκφκεηξν Windmill
Αλεκέκεηξν ΢σιήλα
Αλεκφκεηξν Εεζηνχ ΢χξκαηνο
Laser Doppler Anemometer
Αλεκφκεηξν Sonic
Ping-Pong Ball Anemometer
Δικόνα 1.2: Γηάθνξα Δίδε Αλεκνκέηξσλ
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
10
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
ΚΔΦΑΛΑΗΟ 2
2.1 Καηαζκεςή Ανεμομέηπος
Ζ αξρηθή ηεο θαηαζθεπήο ήηαλ λα θηηάμνπκε έλα δηθφ καο αλεκφκεηξν
θππέιισλ (cup anemometer). Ξεθηλψληαο ηελ θαηαζθεπή θαη θαηα ηελ αλαδήηεζε
ησλ θαηάιιεισλ πιηθψλ θαη πιεξνθνξηψλ έρνληαο σο γλψκνλα ηελ άςνγε
θαηαζθεπή βξεζήθακε κπξνζηά ζε έλα ραιαζκέλν αλεκφκεηξν, ην νπνίν ηειηθψο
επηδηνξζψζεθε θαη ρξεζηκνπνηήζεθε.
Δικόνα 2.1: Σν δηθφ καο αλεκφκεηξν.
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
11
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
Απνθφςακε ην παιηφ θχθισκα θαη ρξεζηκνπνηήζακε κφλν ηηο επαθέο ψζηε λα
παίξλνπκε θάπνηνπο παικνχο αλα πεξηζηξνθή ηνπ έιηθα καο.
Δικόνα 2.2: Παιηά πιαθέηα αλεκνκέηξνπ.
΢πγθεθξηκέλα ιακβάλνπκε 4 παικνχο αλα πεξηζηξνθή θάηη ην νπνίν ζα καο
βνεζήζεη ζηνπο ππνινγηζκνχο παξαθάησ. Απνθαζίζακε λα ρξεζηκνπνηήζνπκε ηνλ
κεηαηξνπέα απφ αλαινγηθφ ζε ςεθηαθφ πνπ δηαζέηεη ν κηθξνειεγθηήο καο. Έηζη
ρξεηάζηεθε λα πινπνηήζνπκε ην παξαθάησ θχθισκα πνπ ρξεζηκνπνηεί ην LM2917
γηα ηελ κεηαηξνπή ησλ παικψλ (ζπρλφηεηα) ζε ηάζε.
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
12
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
Σν LM2917 είλαη έλαο κεηαηξνπέαο πνπ κεηαηξέπεη ηελ ζπρλφηεηα ζε ηάζε
θαη ζρεδηάζηεθε γηα λα ρεηξίδεηαη ειεθηξνλφκνπο, ιάκπεο ή νπνηαδήπνηε άιιν
θνξηίν φηαλ ε ζπρλφηεηα ζηελ είδνδν ηνπ αγγίμεη ή ππεξβεί κηα επηιεγκέλε ηηκή. Σν
ηαρφκεηξν απηφ ρξεζηκνπνηεί ηελ ηερληθή charge pump πνπ έρεη σο απνηέιεζκα λα
δηπιαζηάδεη ηελ ζπρλφηεηα γηα κηθξνχο παικνχο, έρεη νινθιεξσηηθή πξνζηαζία ζηελ
είζνδν θαη ε έμνδνο ηνπ θηλείηαη θνληά ζην 0 φηαλ ε είζνδνο ηνπ είλαη κεδεληθή. Ο
ζπγθξηηήο πνπ δηαζέηεη ην νινθιεξσκέλν είλαη πιήξσο ζπκβαηφο κε ην ηαρχκεηξν
θαη έρεη ζπλδεδεκέλν ζηελ έμνδν ηνπ έλα ηξαλδίζηνξ. ΢χκθσλα κε ην data sheet, ν
ηχπνο πνπ δίλεη ηελ ηάζε εμφδνπ ζπλαξηήζεη ηεο ζπρλφηεηαο εηζφδνπ είλαη:
Vout=fin*Vcc*R1*C1
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
13
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
Σέινο κε ηε βνήζεηα κηαο δηφδνπ Zener πνπ δηαζέηεη ην LM2917 θαη πνπ
ελψλεηαη εζσηεξηθά παξάιιεια κε ηελ ηάζε ηξνθνδνζίαο (βι. ζρήκα).
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
14
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
ΚΔΦΑΛΑΗΟ 3
3.1 Η ακπίβεια
Ζ αθξίβεηα είλαη ίζσο ε βαζηθφηεξε ζηαηηθή παξάκεηξνο, γηαηί θαζνξίδεη ην
επί ηνηο εθαηφ ζθάικα. ΢ηελ πξαγκαηηθφηεηα ε αθξίβεηα θαζνξίδεηαη ζαλ πνζνζηφ
ζθάικαηνο.
΢θάικα είλαη ε δηαθνξά κεηαμχ ηεο αιεζνχο (ζσζηήο) ηηκήο ηεο εμφδνπ απφ
ηνλ κεηαηξνπέα θαη ηεο πξαγκαηηθήο ηνπ εμφδνπ πνπ κεηξάκε εκείο. Ζ αθξίβεηα
ινηπφλ εθθξάδεηαη ζαλ πνζνζηηαίν ζθάικα. Ζ εξψηεζε πνπ πξνθχπηεη είλαη:
πνζνζηφ ηνπ ηη;
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
15
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
Τπάξρνπλ ηξεηο δηαθνξεηηθέο απαληήζεηο. Ζ αθξίβεηα κπνξεί λα εθθξαζηεί
ζαλ πνζνζηφ ηεο εμφδνπ πιήξνπο θιίκαθαο (% FSO), ζαλ πνζνζηφ ηεο αλαγλψζηκεο
ηηκήο ή θαη ζε απφιπηεο ηηκέο ηεο εηζφδνπ.
3.2 Resolution (Γιακπιηικόηηηα ή ανάλςζη)
Ο φξνο „Resolution‟ Γηαθξηηηθφηεηα ή αλάιπζε, είλαη ε κηθξφηεξε αιιαγή
πνπ κπνξεί λα δηαθξίλεη ε είζνδνο ελφο κεηαηξνπέα ή ελφο αηζζεηήξα θαη ε νπνία
κπνξεί λα δψζεη θάπνηα αληρλεχζηκε αιιαγή ζηελ έμνδφ ηνπ. Όζν κεγαιχηεξε είλαη
ε δηαθξηηηθφηεηα, ηφζν κηθξφηεξν είλαη ην βήκα πνπ κπνξεί ν αηζζεηήξαο λα κεηξά.
Γηα παξάδεηγκα έλαο νπηηθφο θσδηθνπνηεηήο έρεη έλα πεξηζηξεθφκελν δίζθν κε νθηψ
ηξχπεο αλά 45° ε θάζε κία. Ο θσδηθνπνηεηήο απηφο έρεη θαη έλαλ νπηηθφ αηζζεηήξα
πνπ είλαη πξνζαξκνζκέλνο πάλσ ζην δίζθν θαη κπνξεί λα πεξλά θσο αλά 45°. Έηζη
παξάγεηαη έλαο παικφο θάζε θνξά πνπ κία νπή ειεπζεξψλεη ηνλ νπηηθφ αηζζεηήξα
θαη ζηε ζπλέρεηα κεηξάηαη απφ έλα αζξνηζηή παικψλ. Ζ κέηξεζε δείρλεη πφζν έρεη
πεξηζηξαθεί ν άμνλαο. Παικφο παξάγεηαη κφλν θάζε 45°. Ο αηζζεηήξαο ινηπφλ απηφο
ιέκε φηη έρεη δηαθξηηηθφηεηα 45°. Τπάξρνπλ βηνκεραληθνί ηχπνη ηέηνησλ αηζζεηήξσλ
γηα ηε κέηξεζε ηαρχηεηαο αιιά θαη ζέζεο άμνλα πνπ δηαζέηνπλ κέρξη θαη 2000
παικνχο αλά πεξηζηξνθή νπφηε ε δηαθξηηηθφηεηά ηνπο είλαη 3600/2000= 0,180. Οη
ππνινγηζηέο ρξεζηκνπνηνχληαη ζηνλ βηνκεραληθφ έιεγρν ζε ζπλδπαζκφ κε
αλαινγηθνςεθηαθνχο (A/D) κεηαηξνπείο πνπ ραξαθηεξίδνληαη απφ έλα αξηζκφ Bits.
Λέκε ινηπφλ φηη θάπνηνο A/D κεηαηξνπέαο έρεη 12 bit αλάιπζε θαη ελλννχκε φηη ε
αλαινγηθή ηάζε πνπ δηαβάδεη ζηελ είζνδφ ηνπ κεηαθξάδεηαη ζηελ έμνδφ ηνπ ζε 212 ή
4096 δηαθνξεηηθέο ςεθηαθέο ηηκέο.
Αο δνχκε θαιχηεξα έλα παξάδεηγκα πνπ καο βνήζεζε θαη εκάο λα ιχζνπκε
πνιιά πξνβήκαηα ζηελ κειέηε θαη θαηαζθεπή.
Έλαο αηζζεηήξαο ζεξκνθξαζίαο LM35 δίλεη 10 mVolt/°C. Ζ έμνδφο ηνπ
ινηπφλ ζα είλαη 240mV ζηνπο 24°C. Θέινπκε λα ηνλ ρξεζηκνπνηήζνπκε γηα κέηξεζε
ζεξκνθξαζίαο ζηελ ηεο αθξίβεηαο ηνπ, 0,4°C ζηνπο 25°C. Μπνξνχκε λα
ρξεζηκνπνηήζνπκε έλα A/D κεηαηξνπέα ησλ 8 bit κε δπλαηφηεηα 5 Volt ζηελ πιήξε
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
16
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
θιίκαθα εηζφδνπ γηα λα δηαβάζνπκε ηε ζεξκνθξαζία θαη ζέινπκε λα έρνπκε
δηαθξηηηθφηεηα αλάγλσζεο ηνπιάρηζηνλ 1°C.
Ζ δηαθξηηηθφηεηα ηνπ κεηαηξνπέα A/D (8 bit) είλαη έλα κέξνο ζηα 256 (ή 2 8).
Γηα 5 V πιήξε θιίκαθα εηζφδνπ θάζε bit αληηζηνηρεί ζε 5 Volt / 256 = 19,53 mVolt.
O αηζζεηήξαο ζεξκνθξαζίαο δίλεη κφλν 10 mV /1°C κεηαβνιή ζηελ είζνδν ηνπ A/D
θαη απηφο κπνξεί λα δηαθξίλεη θαη‟ ειάρηζην 19,53mVolt. Έηζη βιέπνπκε φηη ν
κεηαηξνπέαο A/D ησλ 8 bit δελ δείλεη θαιή δηαθξηηηθφηεηα (~2°C) γηα ην πξφβιεκά
καο. Δπίζεο ζηε κέγηζηε ζεξκνθξαζία ησλ 100°C ζα έρνπκε έμνδν απφ ηνλ
αηζζεηήξα 1Volt πνπ είλαη ιίγν κπξνζηά ζηελ δπλαηφηεηα εηζφδνπ ηνπ A/D (5Volt).
Ζ ιχζε ινηπφλ είλαη λα εληζρχζνπκε ηελ έμνδν ηνπ αηζζεηήξα x5 νπφηε νη
100°C ζα αληηζηνηρνχλ ζε 5 Volt πνπ απηφ ηαηξηάδεη κε ηελ πιήξε θιίκαθα εηζφδνπ
ηνπ κεηαηξνπέα. Σφηε έλαο βαζκφο κε ελίζρπζε Υ 5 ζα δίλεη ηάζε εηζφδνπ ζηνλ A/D
:
Vin = 1°C x 10 mVolt/ °C x 5 = 50 mVolt
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
17
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
Σψξα ν κεηαηξνπέαο ησλ 8 bit καο ηθαλνπνηεί δηφηη ε δηαθξηηηθφηεηά ηνπ ζα
είλαη ~ 0,4°C.
50 mVolt /19,5 mVolt = 2,56 θαη 1/ 2,56 = 0,39°C.
Δλαιιαθηηθά κπνξνχκε λα ρξεζηκνπνηήζνπκε θαη έλαλ 10 bit A/D νπφηε ε
δηαθξηηηθφηεηά ηνπ ζα είλαη 1024 βήκαηα. Κάζε bit ηψξα ηνπ κεηαηξνπέα, ζα
αληηζηνηρεί ζε 5Volt/1024 = 4,8828 mVolt. Απηφ γηα ηελ εθαξκνγή καο αληηζηνηρεί
θαη‟ αξρή ζε δηαθξηηηθφηεηα αλάγλσζεο ηνπ αηζζεηήξα κηθξφηεξε απφ 0,5°C.
Χζηφζν ζηνπο 100°C ν αηζζεηήξαο ζα δψζεη κφλν 488,28 mVolt.
100 Υ 4,8828 =488,28 mVolt ( ~ 0,5 Volt)
Θα πξέπεη ινηπφλ λα εληζρχζνπκε Υ 10 γηα λα εμαληιήζνπκε ηελ πιήξε
θιίκαθα (4,88 Volt) εηζφδνπ ηνπ A/D ζηνπο 100°C. Έηζη ε έμνδνο ηνπ αηζζεηήξα θαη
κε ελίζρπζε x 10 ζα είλαη :
Vin = 1°C x 10 mVolt/ °C x 10 = 100 mVolt/ °C
Αιιά Vin = 100 °C x 10 mVolt / °C x 10 = 10 Volt
Αθνχ φκσο ν A/D δελ κπνξεί λα δερηεί ηα 10 Volt ζηελ είζνδν, είκαζηε
αλαγθαζκέλνη λα ρακειψζνπκε ηελ ελίζρπζε γηα λα κπνξνχκε λα δνχκε θαη ηνπο 100
°C. Έηζη ε έμνδνο ηνπ αηζζεηήξα εληζρχεηαη Υ 5 θαη ζα έρνπκε :
Vin = 1°C x 10 mVolt/ °C x 5 = 50 mVolt/ °C
Αιιά Vin = 100 °C x 10 mVolt / °C x 5 = 5 Volt
Ο κεηαηξνπέαο ινηπφλ ησλ 10 bit καο δίλεη πνιχ θαιχηεξε δηαθξηηηθφηεηα
αλάγλσζεο, ηεο ηάμεο ησλ ~ 0,1°C πνιχ θαιχηεξε απφ απηήλ πνπ επηζπκνχκε.
50 mVolt / 4,88 mVolt = 10,24 mVolt
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
18
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
θαη 1/ 10,24 = 0,0976 °C
Σεηξαπιαζηάδνληαο ινηπφλ ηα bit ηνπ A/D απφ 256 ζε 1024 ηεηξαπιαζηάζακε
ηελ δηαθξηηηθφηεηα αλάγλσζεο ηνπ αηζζεηήξα απφ 0.4°C ζε 0.1°C.
3.3 Τζηέπηζη
Δίλαη επίζεο κηα άιιε έλδεημε ηεο αλαπαξαγσγηθήο ηθαλφηεηαο ηεο εμφδνπ
ηνπ αηζζεηήξα. Μία ζπγθεθξηκέλε ηηκή ζηελ είζνδν, φηαλ θζάλεη απμαλφκελα (δει.
Απφ κηθξφηεξεο ηηκέο πξνο κεγαιχηεξεο) κπνξεί λα δίλεη δηαθνξεηηθή ηηκή ζηελ
έμνδν, απφ φηαλ θζάλεη ειαηηνχκελα (δει. απφ κεγαιχηεξεο ηηκέο ζε κηθξφηεξεο) απφ
ηελ πιήξε θιίκαθα. Δπηβάιιεηαη ινηπφλ ε βαζκνλφκεζε λα γίλεηαη θαη θαηά ηηο δχν
θαηεπζχλζεηο, κία απμάλνληαο ην εξέζηζκα θαη κηα ειαηηψλνληαο.
Ζ κεγαιχηεξε απφ ηηο ηηκέο πνπ θαηαγξάθνπκε δίλεη ηελ πζηέξεζε ζαλ
πνζνζηφ ηεο πιήξνπο θιίκαθαο εμφδνπ. Ζ πζηέξεζε πξνθαιείηαη απφ έλα θπζηθφ
κεραληζκφ ηνπ κεηαηξνπέα, παίξλνληαο κηα ηηκή ζαλ απνηέιεζκα ηελ ηζηνξίαο ηνπ,
δειαδή ησλ εηζφδσλ πνπ έρεη ιάβεη. Ζ ηηκή ηεο πζηέξεζεο πνπ εκθαλίδεηαη
εμαξηάηαη απφ ην κέγεζνο ησλ εηζφδσλ πνπ έρνπλ εθαξκνζηεί ζηνλ κεηαηξνπέα. ΢ηε
βαζκνλφκεζε πξέπεη λα ηξέμνπκε ηελ είζνδν κέρξη ηελ πιήξε θιίκαθα πξηλ λα
επηζηξέςνπκε ζηελ ειάηησζε ησλ ηηκψλ εηζφδνπ. ΢ηελ πξαγκαηηθφηεηα αλ ε είζνδνο
δελ απμεζεί κέρξη ηελ πιήξε θιίκαθα, ε πζηέξεζε πνπ ππνινγίδνπκε είλαη κηθξφηεξε
απφ ηελ θαλνληθή.
Ζ αδξάλεηα θαη ε ηξηβή πξνθαινχλ έλα απνηέιεζκα πνπ εκθαλίδεηαη πνιχ
φκνην κε ηελ πζηέξεζε. Αλ δψζνπκε ηηο ηηκέο ζε κία είζνδν κεηαηξνπέα κε ζάξσζε
ρσξίο λα επηηξέπνπκε ζηελ έμνδν λα ζηαζεξνπνηείηαη πξηλ απφ θάζε λέα κεηαβνιή
ηεο εηζφδνπ, ε αδξάλεηα θαη ε ηξηβή κπνξνχλ λα θάλνπλ ηεο έμνδν λα θαζπζηεξήζεη.
Έηζη ε θακπχιε κεηαθνξάο ηνπ κεηαηξνπέα (είζνδνο σο πξνο έμνδν) θαίλεηαη ζαλ
γξάθεκα πζηέξεζεο. Σν απνηέιεζκα είλαη ρεηξφηεξν φζν απμάλεηαη ε ηαρχηεηα
ζάξσζεο ηεο εηζφδνπ.
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
19
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
3.4 Οπολογία Για Αιζθηηήπερ
Κάπνηνη απφ ηνπο νξηζκνχο κπνξεί λα έρνπλ δηαθνξεηηθέο ζεκαζίεο ζε
δηαθνξεηηθά πεδία ή θαη λα κελ εθαξκφδνληαη φινη γηα θάπνην είδνο αηζζεηήξα/
κεηαηξνπέα. ΢πλνςίζνπκε εδψ ηνπο ηερληθνχο φξνπο θαη ηηο έλλνηεο πνπ
ρξεζηκνπνηνχληαη ζπρλά γηα λα πεξηγξάςνπλ ηα αηζζεηήξηα, ηνπο κεηαηξνπείο
κεγεζψλ, ηα φξγαλα κέηξεζεο θαη ηελ απφθξηζή ηνπο.

Αηζζεηήξαο κέηξεζεο (sensor): είλαη έλα εηδηθφ ζηνηρείν αίζζεζεο
πνπ αληηδξά ζε αιιαγέο ηνπ πεξηβάιινληνο (π.ρ. αηζζεηήξην πίεζεο, ζεξκνθξαζίαο,
πγξαζίαο θιπ)

Μεηαηξνπέαο ελέξγεηαο (Transducer): είλαη ζπζθεπή γηα ηελ
κεηαηξνπή ελέξγεηαο απφ κηα κνξθή ζε άιιε (π.ρ. κεηαηξνπή πεξηζηξνθηθήο θίλεζεο
αλεκνκέηξνπ ζε ειεθηξηθνχο παικνχο, κεηαηξνπή ζεξκνθξαζίαο ζε ηάζε θιπ).
΢ήκεξα πνιινί κεηαηξνπείο είλαη ελζσκαησκέλνη κέζα ζηνπο αηζζεηήξεο θαη ε
έλλνηα έρεη ζρεδφλ ηαπηνπνηεζεί κε ηνλ αηζζεηήξα.

΢πιιέθηεο δεδνκέλσλ (Data Logger or data processor): είλαη
ζπζθεπή πνπ δέρεηαη εμφδνπο απφ δηάθνξα αηζζεηήξηα ή Transducers θαη ηα
κεηαηξέπεη ζε κνξθή πνπ λα κπνξνχλ λα απνζεθεπηνχλ.

΢ύζηεκα απόθηεζεο δεδνκέλσλ (Data Acquisition System): είλαη
πιήξεο ζχζηεκα κε αηζζεηήξηα, transducers, Data Logger, κλήκε , θαηάιιειν
Software θαη πηζαλφλ πνκπφ επηθνηλσλίαο.

Βαζκνλόκεζε (calibration): ε έλλνηα αλαθέξεηαη ζηηο κνλάδεο πνπ
βαζκνινγείηαη ε θιίκαθα εκθάληζεο ή θαηαγξαθήο ελφο νξγάλνπ. Γηα παξάδεηγκα αλ
έλαο αηζζεηήξαο πνπ κεηξά ηαρχηεηα, παξάγεη κηα ειεθηξηθή έμνδν ζε κνξθή ηάζεο,
ν δείθηεο ηνπ νξγάλνπ θηλείηαη αλάινγα κε ηελ ηάζε πνπ εθαξκφδεηαη ζ΄ απηφλ, αιιά
ε ζέζε ηνπ ραξαθηεξίδεηαη απφ θάπνηα ηηκή ηαρχηεηαο θαη φρη ηάζεο. Λέκε ινηπφλ
φηη ην ηαρχκεηξν βαζκνλνκείηαη σο πξνο ηελ ηαρχηεηα.

Αλεκνγξάθνο ή αλεκόκεηξν (Wind measuring system): είλαη
ζχζηεκα πνπ πεξηιακβάλεη αηζζεηήξηα θαη Transducers, Data Logger, πξφγξακκα
ζπιινγήο δεδνκέλσλ θαη ηζηφ ζηήξημεο, θαηάιιειν γηα ηε κέηξεζε ηαρχηεηαο θαη
δηεχζπλζεο ηνπ αλέκνπ.
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
20
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ

Αλεκόκεηξν (velocity sensor): είλαη αηζζεηήξαο πνπ κεηαηξέπεη ηελ
πεξηζηξνθηθή θίλεζε ζε ηάζε αλάινγε ηεο ηαρχηεηαο ηνπ αλέκνπ ή θαη ζε έλα
αξηζκφ παικψλ/sec.

Αλεκνδείθηεο (Direction Sensor): είλαη αηζζεηήξαο πνπ κεηαηξέπεη
ηελ θίλεζε ελφο αλεκνπξίνπ ζε ηάζε αλάινγε ηεο δηεχζπλζεο ηνπ αλέκνπ.

΢θάικα (error): είλαη ε δηαθνξά αλάκεζα ζηελ κεηξνχκελε ηηκή κηαο
πνζφηεηαο θαη ηελ πξαγκαηηθή ηηκή. ΢πρλά εθθξάδεηαη θαη επί ηνηο εθαηφ νπφηε
αληηπξνζσπεχεη ηελ αθξίβεηα ηνπ ζπζηήκαηνο.

Αθξίβεηα νξγάλνπ (Accuracy): είλαη ν βαζκφο αμηνπηζηίαο κε ηνλ
νπνίν έλα φξγαλν κπνξεί λα κεηξήζεη κηα κεηαβιεηή ζε ζχγθξηζε κε ην πξαγκαηηθφ
ηεο κέγεζνο, π.ρ. +/- 0.2 m/s ζηα 10 m/s. Ζ αθξίβεηα δειαδή εθθξάδεη ην επί ηνηο
εθαηφ ζθάικα σο πξνο ην εχξνο κέηξεζεο ηεο ζπζθεπήο ή ηνπ αηζζεηήξα.

Γηαθξηηηθή ηθαλόηεηα ή αλάιπζε (Resolution): είλαη ε κηθξφηεξε
κεηαβνιή ζην πεξηβάιινλ (ή ζηελ είζνδν ελφο κεηαηξνπέα), πνπ πξνθαιεί κηα
αληρλεχζηκε κεηαβνιή ζηελ έλδεημε ελφο αηζζεηήξα ή νξγάλνπ π.ρ.+ 0.1m/sec. Όζν
θαιχηεξε είλαη, ηφζν κηθξφηεξν είλαη ην βήκα πνπ κπνξεί ν αηζζεηήξαο λα κεηξά.

Δπαηζζεζία (Sensitivity): είλαη ν ιφγνο ησλ ηηκψλ πιήξνπο θιίκαθαο
εμφδνπ πξνο εηζφδνπ, θάησ απφ ζπγθεθξηκέλεο ζπλζήθεο θαη είλαη δηαθνξεηηθή απφ
ηελ δηαθξηηηθή ηθαλφηεηα, π.ρ. 10 παικνί αλά m/s ή Volt/mm.

Δπζηάζεηα (stability): είλαη ην κέηξν ηεο κεηαβνιήο ηεο εμφδνπ κηαο
ζπζθεπήο,φηαλ ε είζνδνο θαη νη ζπλζήθεο παξακέλνπλ ζηαζεξά , θαηά ηε δηάξθεηα
κηαο κεγάιεο ρξνληθήο πεξηφδνπ.

Δύξνο (operating range) : είλαη ηα φξηα ηηκψλ εηζφδνπ πνπ κπνξεί ε
ζπζθεπή λα ιεηηνπξγεί αμηφπηζηα. Δθθξάδεηαη κε ηελ κέγηζηε θαη ηελ ειάρηζηε ηηκή
πνπ κπνξεί λα κεηξά.

Αμηνπηζηία νξγάλνπ (Reliability): είλαη κηα κέηξεζε ηεο πηζαλφηεηαο
ιεηηνπξγίαο ηνπ κέζα ζε πεξηνξηζκέλα φξηα ζθάικαηνο, γηα δεδνκέλε ρξνληθή
πεξίνδν θαη θάησ απφ ζπγθεθξηκέλεο ζπλζήθεο. Δίλαη ζπγγελήο έλλνηα κε ην ρξφλν
ιεηηνπξγίαο.

Υξόλνο δσήο ή ιεηηνπξγίαο (operating life): είλαη ν σθέιηκνο ρξφλνο
ιεηηνπξγίαο ελφο αηζζεηήξα γηα λα ιεηηνπξγεί ζηα πιαίζηα ησλ πξνδηαγξαθψλ ηνπ.
Δθθξάδεηαη ζε κνλάδεο ρξφλνπ ή κε ηνλ αξηζκφ ησλ θχθισλ ιεηηνπξγίαο πνπ κπνξεί
λα δηεθπεξαηψζεη επηηπρψο ( π.ρ. έλα ξειέ έρεη 108 επαλαιήςεηο κε ην νλνκαζηηθφ
ηνπ θνξηίν).
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
21
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ

Γξακκηθόηεηα (linearity): απνηειεί ην βαζκφ ζηνλ νπνίν ε γξαθηθή
παξάζηαζε ηεο εμφδνπ σο πξνο ηελ είζνδν ηνπ αηζζεηήξα πξνζεγγίδεη κηα επζεία
γξακκή. Ζ γξακκηθφηεηα ελφο αηζζεηήξα κπνξεί λα ππάξρεη κφλν γηα κία πεξηνρή
ηηκψλ εμφδνπ(π.ρ. απφ 10-125°C). Μπνξεί λα εθθξάδεηαη σο πξνο ην κέγηζην βαζκφ
απφθιηζεο απφ ηελ επζεία γξακκή ζε φιν ην εχξνο ησλ ηηκψλ εηζφδνπ (πνζνζηφ επί
ηνπ εχξνπο ιεηηνπξγίαο ή ηεο πιήξνπο θιίκαθάο ηνπ).

Δπαλαιεςηκόηεηα νξγάλνπ (Repeatability or Reproducibility):
είλαη ε πιεζηέζηεξε ζπκθσλία, κεηαμχ ελφο αξηζκνχ δηαδνρηθψλ κεηξήζεσλ ηνπ
ίδηνπ κεγέζνπο, θάησ απφ ηηο ίδηεο ζπλζήθεο. Δθθξάδεηαη σο έλα +/ - % κέγηζην
πνζνζηφ επί ηεο έλδεημεο, ή σο ηα φξηα αθξίβεηαο +/- θάζε έλδεημεο. Καηά άιινπο
είλαη ην πφζν θαιά ε έμνδνο ελφο κεηαηξνπέα επηζηξέθεη ζε κηα δεδνκέλε ηηκή, φηαλ
ε ίδηα είζνδνο εθαξκνζηεί κεξηθέο θνξέο. Πξνζνρή δελ πξέπεη λα ζπλδέεηαη κε ηελ
αθξίβεηα .

Τζηέξεζε (Hysteresis) : πξνθαιεί δηαθνξέο ζηελ έμνδν πνπ δίλεη
έλαο αηζζεηήξαο , φηαλ ε θαηεχζπλζε κεηαβνιήο ηεο εηζφδνπ αληηζηξαθεί. Λφγσ ηεο
πζηέξεζεο παξάγεηαη ζθάικα θαη επεξεάδεηαη ε αθξίβεηα ηεο ζπζθεπήο. ΢ε
κεραληθά ζπζηήκαηα πξνθαιείηαη απφ παξάγνληεο φπσο ε κεραληθή ηάζε θαη ε
ηξηβή.

Καζπζηέξεζε (Lag): είλαη ε θαζπζηέξεζε ηεο αιιαγήο ηεο ηηκήο
εμφδνπ ελφο αηζζεηήξα σο πξνο ηελ αιιαγή ηεο εηζφδνπ ηνπ. ΢ε ζπζηήκαηα ειέγρνπ
κπνξεί λα επεξεάζεη ζεκαληηθά ηελ απφδνζε.

Απόθξηζε (response): είλαη ν ρξφλνο πνπ απαηηεί κηα ζπζθεπή γηα λα
ιάβεη ηελ ηειηθή ηηκή εμφδνπ ηεο γηα κηα δεδνκέλε είζνδν. Πνιιέο θνξέο εθθξάδεηαη
θαη ζαλ πνζνζηφ επί ηεο ηειηθήο ηηκήο εμφδνπ. Π.ρ. ιέκε φηη ε ζπζθεπή ρξεηάδεηαη 3
sec γηα λα ιάβεη ε έμνδφο ηεο ην 95% ηεο ηειηθήο ηεο ηηκήο.

Σαρύηεηα απόθξηζεο (Speed of Response): είλαη ν ρξφλνο πνπ
κεζνιαβεί κεηά απφ κηα απφηνκε κεηαβνιή ζηελ είζνδν ελφο ζπζηήκαηνο, κέρξη ε
έμνδνο λα ζηαζεξνπνηεζεί ή λα θζάζεη ην 90 % ηεο πιήξνπο κεηαβνιήο ηεο.

΢ηαζεξά Υξόλνπ (Time Constant): είλαη ε ρξνληθή πεξίνδνο πνπ
απαηηείηαη γηα έλα αηζζεηήξα, ψζηε λα αληαπνθξηζεί ζην 63.2 % (1-1/e) ηεο ηειηθήο
ηνπ ηηκήο. ΢ηηο κεηεσξνινγηθέο κεηξήζεηο γηα παξάδεηγκα ε έλδεημε πξνθαιείηαη απφ
άιινπο πεξηβαιινληηθνχο παξάγνληεο θαη απηνί πξέπεη λα θαζνξίδνληαη.
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
22
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ

΢ηαζεξά Απόζηαζεο (Distance Constant) : είλαη ην κήθνο ξεπζηνχ
πνπ πξέπεη λα πεξάζεη απφ έλα αηζζεηήξην γηα λα απνθξηζεί απηφ ζην 63.2 % ηεο
κεηαβνιήο ηεο ηαρχηεηαο ηνπ ξεπζηνχ.

Λόγνο
εμνκάιπλζεο
(Damping
Ratio):
ρξεζηκνπνηείηαη
γηα
παξάδεηγκα ζηνπο αηζζεηήξεο δηεχζπλζεο αλέκνπ πνπ έρνπλ δεπηέξαο ηάμεο
απφθξηζε ζην ζήκα δηέγεξζεο.

Νεθξή Εώλε (Dead Band or zone) : είλαη ε πεξηνρή κέζα ζηελ νπνία
κπνξεί λα κεηαβάιιεηαη ε είζνδνο ρσξίο λα πξνθαιεί κεηαβνιή ζην ζήκα εμφδνπ ηνπ
νξγάλνπ, π.ρ. ζηα ζπλεζηζκέλα αηζζεηήξηα δηεχζπλζεο αλέκνπ κε θπθιηθφ
πνηελζηφκεηξν έρνπκε 3 κνίξεο Dead Band. Ζ λεθξή δψλε πξνθχπηεη ζπλήζσο ιφγσ
ζηαηηθήο ηξηβήο ή θαη πζηέξεζεο ζε άιια αηζζεηήξηα ή ζπζηήκαηα θαη δελ είλαη
απαξαίηεην λα ππάξρεη πάληα ζε φιν ην εχξνο ελφο νξγάλνπ.

Οιίζζεζε (Drift): είλαη ε θπζηθή ηάζε κηαο ζπζθεπήο ή ελφο
ζπζηήκαηνο λα κεηαβάιιεη ηα ραξαθηεξηζηηθά ηνπ κε ην ρξφλν, ή ιφγσ
πεξηβαιινληηθψλ κεηαβνιψλ ή αθφκα θαη γηα δηάθνξνπο άιινπο ιφγνπο. Ζ νιίζζεζε
βέβαηα επεξεάδεη ηελ αθξίβεηα. Πνιχ ζπλεζηζκέλν αίηην είλαη ε αιιαγή ηεο
ζεξκνθξαζίαο ηνπ πεξηβάιινληνο πνπ επεξεάδεη φια ηα ειεθηξνληθά εμαξηήκαηα θαη
ηελ ηηκή ηνπο, φπσο επίζεο θαη ε γήξαλζε, ε νμείδσζε γηα άιια, ή θαη ε δηάβξσζε.

Ζιεθηξηθόο Θόξπβνο (noise): νλνκάδεηαη ε παξνπζία αλεπηζχκεησλ
ειεθηξηθψλ ζεκάησλ πνπ κπνξνχλ λα αιινηψζνπλ ή θαη λα απνθξχςνπλ ην ζήκα
πνπ κεηαθέξεη ηε ρξήζηκε πιεξνθνξία.
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
23
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
ΚΔΦΑΛΑΗΟ 4
4.1 Έννοιερ και ζύγσςζη (Μηθξνειεγθηήο,Μηθξνυπνινγηζηήο,Μηθξνεπεμεξγαζηήο)
Έρνπκε ζπλεζίζεη λα αθνχκε ηνπο φξνπο απηνχο ρσξίο θαλέλα ηδηαίηεξν
δηαρσξηζκφ. Χζηφζν, θάζε έλαο απφ ηνπο παξαπάλσ φξνπο έρεη δηαθξηηή ζεκαζία θαη
είλαη ζεκαληηθφ λα θαηαλνήζνπκε ηηο δηαθνξέο πνπ ππάξρνπλ κεηαμχ ηνπο.
Δικόνα 4.1: Ο πξψηνο κηθξνεπεμεξγαζηήο INTEL 4004.
Έλαο
κηθξνεπεμεξγαζηήο
είλαη
νπζηαζηηθά
κηα
κνλάδα
θεληξηθήο
επεμεξγαζίαο (ή CPU) πινπνηεκέλε κέζα ζε έλα νινθιεξσκέλν θχθισκα. Πξηλ απφ
πνιιά ρξφληα κηα ηέηνηα κνλάδα επεμεξγαζίαο ζρεδηαδφηαλ κε ηε βνήζεηα πνιιψλ
δηαθξηηψλ νινθιεξσκέλσλ κεζαίαο θαη κεγάιεο θιίκαθαο νινθιήξσζεο (MSI θαη
LSI). Ζ γλσζηή εηαηξεία INTEL, παξνπζηάδνληαο ην 4004, έζεζε φιεο ηηο κνλάδεο
πνπ πεξηιακβάλεη ηππηθά κηα CPU, εληφο ελφο απινχ νινθιεξσκέλνπ θπθιψκαηνο
(chip) θαη έηζη γελλήζεθε ν κηθξνεπεμεξγαζηήο. Ο 4004 ήηαλ έλαο απιφο
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
24
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
κηθξνεπεμεξγαζηήο ησλ 4 δπαδηθψλ ςεθίσλ (bits), ν νπνίνο ζρεδηάζηεθε γηα λα
ρξεζηκνπνηεζεί σο κνλάδα επεμεξγαζίαο αξηζκψλ ζε κηα αξηζκνκεραλή.
Όηαλ κηα ηέηνηα δηάηαμε, φπσο έλαο κηθξνεπεμεξγαζηήο, καδί κε ηα
απαξαίηεηα θπθιψκαηα ππνζηήξημεο (πεξηθεξεηαθέο κνλάδεο εηζφδνπ-εμφδνπ θαη
κλήκε πξνγξάκκαηνο θαη δεδνκέλσλ) ηνπνζεηεζνχλ καδί ζηελ ίδηηα ζπζθεπή, έηζη
ψζηε λα ζρεκαηίζνπλ έλαλ ζηνηρεηψδε ππνινγηζηή, εηδηθφηεξα ζε εθαξκνγέο ειέγρνπ
θαη ιήςεο δεδνκέλσλ, ε δηάηαμε πνπ πξνθχπηεη θαιείηαη κηθξνυπνινγηζηήο.
Με άιια ιφγηα αλ ζέιακε λα ζρεδηάζνπκε έλα θχθισκα βαζηζκέλν ζηνλ
κηθξνεπεμεξγαζηή 8088, ή γηα ηνλ ίδην ιφγν αθφκε θαη ηνλ 8085, ηνπνζεηνχζακε
επίζεο κλήκε EPROM γηα ηελ απνζήθεπζε ηνπ πξνγξάκκαηνο, κλήκε RAM γηα ηελ
απνζήθεπζε κεηαβιεηψλ θαη απνηειεζκάησλ δηαθφξσλ πξάμεσλ, θαζψο επίζεο θαη
κεξηθέο κνλάδεο εηζφδνπ-εμφδνπ γηα ηελ δηαζχλδεζε
ηνπ ζπζηήκαηνο κε ην
πεξηβάιινλ ηνπ, ζα είρακε νπζηαζηηθά ζρεκαηίζεη έλαλ κηθξνυπνινγηζηή.
Δπεθηείλνληαο ηελ παξαπάλσ ινγηθή, φηαλ φιεο νη παξαπάλσ δηαθξηηέο
κνλάδεο πνπ απνηεινχλ έλα κηθξνυπνινγηζηή ηνπνζεηεζνχλ κέζα ζην ζψκα ηνπ
ίδηνπ
νινθιεξσκέλνπ
θπθιψκαηνο,
ε
δηαηάμε
πνπ
πξνθχπηεη
θαιείηαη
κηθξνειεγθηήο. Ζ εηαηξεία Texas Instruments πξαγκαηνπνηήζε ηελ είζνδν ηεο ζην
ρψξν ησλ κηθξνειεγθηψλ, παξνπζηάδνληαο ηνλ πξψην κηθξνειεγθηή ηεο απφ νπνίν
πξνέθπςε ε νηθνγέλεηα ησλ κηθξνειεγθηψλ TMS1000.
Δικόνα 4.2: Μηθξνειεγθηήο TMS1000 ηεο Texas Instruments.
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
25
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
Σα κέιε ηεο ζεηξάο ησλ κηθξνειεγθηψλ TMS1000 δηέζεηαλ ηθαλνπνηεηηθά
κεγέζε κλήκεο RAM θαη ROM θαζψο επίζεο θαη αξθεηέο κνλάδεο εηζφδνπ-εμφδνπ
(Η/Ο) θαη ρξεζηκνπνηήζεθαλ επξχηαηα σο ειεγθηέο θνχξλνπ κηθξνθπκάησλ, ζε
βηνκεραληθνχ ηχπνπ ρξνληζηέο (industrial timers) θαη ζε ζπζηήκαηα αξηζκνκεραλψλ.
΢ήκεξα πιένλ έρνπλ εκθαληζηεί πνιιέο θαη δηαθνξεηηθέο νηθνγέλεηεο
κηθξνειεγθηψλ, φπσο νη κηθξνειεγθηέο ηεο ζεηξάο 8048 θαη 8051 ηεο Intel, ε ζεηξά
68HC11 ηεο Motorola, ε ζεηξα Ε8 ηεο Zilog, νη κηθξνειεγθηέο PIC ηεο Microchip,ε
ζεηξά H8 ηεο Hitachi θαη ε νηθνγέλεηα ησλ κηθξνειεγθηψλ AVR ηεο εηαηξείαο
ATMEL. Μηα ζπγθεθξηκέλε νηθνγέλεηα κηθξνειεγθηψλ πξνζδηνξίδεη έλα ζχλνιν
πνιιψλ δηαθνξεηηθψλ κηθξνειεγθηψλ, νη νπνίνη δηαζέηνπλ ηνλ ίδην θεληξηθφ ππξήλα
αιιά θάζε έλαο απν απηνχο δηαηίζεηαη ζε δηαθνξεηηθή ζπζθεπαζία, πεξηιακβάλεη
δηαθνξεηηθέο πεξηθεξεηαθέο κνλάδεο, ιεηηνπξγεί ζε δηαθνξεηηθέο ηαρχηεηεο θιπ.
Όπσο είδακε νη νξηζκνί ησλ ελλνηψλ κηθξνειεγθηήο, κηθξνεπεμεξγαζηήο θαη
κηθξνυπνινγηζηήο είλαη αθξηβείο θαη δηαθξηηνί κεηαμχ ηνπο, σζηφζν απνηειεί
θνηλνηππία πιένλ ε ρξήζε ησλ παξαπάλσ φξσλ ρσξίο λα γίλεηαη πάληα ν ζσζηφο
δηαρσξηζκφο.
4.2 Γενικά για ηη Υπηζιμόηηηα ηυν Μικποελεγκηών
Δμεηάδνληαο θάζε θνξά ηηο αλάγθεο πνπ πξνθχπηνπλ απφ κηα εθαξκνγή,ζα
πξέπεη λα αλαδεηνχκε ηελ βέιηηζηε δπλαηή ιχζε κε γλψκνλα ηελ απιφηεηα. Ζ
αλάπηπμε κηαο νπνηαδήπνηε εθαξκνγήο πνπ βαζίδεηαη ζε θάπνηνλ κηθξνειεγθηή
απαηηεί ζπρλά επέλδπζε ρξφλνπ, ρξεκάησλ θαζψο θαη αξθεηή πξνζπάζεηα. Σα
πιενλεθηήκαηα κηαο ηέηνηαο δηαδηθαζίαο απνδεηθλχνληαη φρη θαη ηφζν ζεκαληηθά, ζε
πεξηπηψζεηο φπνπ ε νπνηαδήπνηε αλαβάζκηζε ηνπ ζπζηήκαηνο πξαγκαηνπνηείηαη
ζπλήζσο κε πνιχ κηθξέο αιιαγέο. ΢πληειεί σζηφζν ζηελ δηαηήξεζε ζρεηηθά κηθξψλ
αξηζκψλ εμαξηεκάησλ ζε παξαθαηαζήθε.
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
26
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
Οη πηζαλέο ελαιιαθηηθέο ιχζεηο κπνξνχλ λα είλαη:

Υξήζε ελφο ςεθηαθνχ θπθιψκαηνο εηδηθνχ ζθνπνχ,

Υξήζε
ςεθηαθψλ
θπθισκάησλ
πνπ
πεξηιακβάλεη
έλα
PLD
(πξνγξακκαηηδφκελε ινγηθή δηάηαμε ή Programmable Logic Device),

Τινπνίεζε βαζηζκέλε ζε Οινθιεξσκέλα Κπθιψκαηα Δμεηδηθεπκέλνπ
εθαξκνγψλ (Application Specific Integrated Circuits ή ASIC).
Οη παξαπάλσ κέζνδνη πνπ ρξεζηκνπνηνχληαη θαηά ηελ ζρεδίαζε εθαξκνγψλ
ελαιιαθηηθά κε ηνπο κηθξνεπεμεξγαζηέο εκθαλίδνπλ ζεκαληηθέο νκνηφηεηεο κεηαμχ
ηνπο, ελψ νπζηαζηηθά δηαθέξνπλ κφλν σο πξνο ηελ πινπνίεζε.
4.3 Ο μικποελεγκηήρ και ηα μέπη ηος
Ζ εξγαζία κε ηνπο κηθξνειεγθηέο είλαη νπζηαζηηθά δηαζθέδαζε. Οη
κηθξνειεγθηέο απνηεινχλ ηελ θαξδηά πνιιψλ θνηλψλ θαη θαη θαζεκεξηλψλ
εθαξκνγψλ. Σν θπξηφηεξν φκσο είλαη φηη απν ζρεδηαζηηθή άπνςε, ε ρξήζε ησλ
κηθξνειεγθηψλ είλαη αξθεηά εχθνιε θαη πξνζηηή. Σν ιεηηνπξγηθφ δηάγξακκα ηεο
παξαθάησ εηθφλαο παξνπζηάδεη νπζηαζηηθά ηηο δπλαηφηεηεο ελφο ζχγρξνλνπ
κηθξνειεγθηή θαη ζπγθεθξηκέλα ελφο κηθξνειεγθηή PIC. Ζ κνλάδα πνπ εκθαλίδεηαη
ζην θέληξν ηεο εηθφλαο αληηζηνηρεί νπζηαζηηηθά ζην ίδην ην κηθξνειεγθηή. Ζ κνλάδα
απηή κπνξεί λα ζπλδεζεί θαηάιιεια κε δηάθνξα είδε θηλεηήξσλ, κε κηα πνηθηιία
δηαηάμεσλ απεηθφληζεο (Display) σο ζπζθεπψλ εμφδνπ, λα επηθνηλσλήζεη κε έλαλ
πξνζσπηθφ ππνινγηζηή (PC), λα δηαβάζεη ηηκέο απφ εμσηεξηθνχο αηζζεηήξεο, ελψ
αθφκα κπνξεί λα ζπλδεζεί θαη ζε έλα είδνο ηνπηθνχ δηθηχνπ άιισλ παξφκνησλ
κηθξνειεγθηψλ θαη φιεο απηέο νη δπλαηφηεηεο θαη φιεο απηέο νη δπλαηφηεηεο δελ
απαηηνχλ ηδηαίηεξα κεγάιν αξηζκφ εμσηεξηθψλ εμαξηεκάησλ. Σν γεγνλφο απηφ νδεγεί
ζε πην ζπκπαγή θαη γηα ηνλ ιφγν απηφ πην αμηφπηζηα ζπζηήκαηα, ζε ζρεηηθά ρακειφ
θφζηνο.
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
27
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
Δικόνα 4.3: Λεηηνπξγηθφ δηάγξακκα ελφο PIC.
Αο εμεηάζνπκε ηψξα ηα δηάθνξα ζπζηαηηθά ελφο κηθξνειεγθηή:
1.
Μνλάδα θεληξηθήο επεμεξγαζίαο: Ζ κνλάδα θεληξηθήο επεμεξγαζίαο
(CPU), απνηειεί ηελ θαξδηά ελφο κηθξνειεγθηή. Δθηειεί αλάθιεζε δεδνκέλσλ απν
ηελ κλήκα πξνγξάκκαηνο ππφ κνξθή εληνιψλ, απνθσδηθνπνηεί ηηο εληνιέο απηέο θαη
ζηε ζπλέρεηα ηηο εθηειεί. Ζ κνλάδα CPU απνηειείηαη απφ θαηαρσξεηέο (registers),
ηελ αξηζκεηηθή ινγηθή κνλάδα (Arithmetic Logic Unit ή ALU), ηνλ απνθσδηθνπνηεηή
εληνιψλ (instruction decoder) θαη δηάθνξα θπθιψκαηα ειέγρνπ.
2.
Μλήκε πξνγξάκκαηνο: ΢ηελ κλήκε πξνγξάκκαηνο απνζεθεχνληαη νη
εληνιέο πνπ ζρεκαηίδνπλ ηνλ θνξκφ ηνπ πξνγξάκκαηνο. Γηα ηελ ρξήζε κεγαιχηεξσλ
ζε κήθνο πξνγξακκάησλ, ην είδνο ηεο κλήκεο απηήο κπνξεί αλ ρσξηζηεί ζε
εζσηεξηθή κλήκε πξνγξάκκαηνο θαη εμσηεξηθή κλήκε πξνγξάκκαηνο, φπσο
ζπκβαίλεη ζε κεξηθνχο ηχπνπο κηθξνειεγθηψλ.
3.
Μλήκε RAM: Ζ κλήκε ηπραίαο πξνζπέιαζεο ή RAM, απνηειεί ηελ
κλήκε ησλ δεδνκέλσλ ηνπ ειεγθηή, δειαδή ρξεζηκνπνηείηαη απφ ηνλ ειεγθηή γηα ηελ
απνζήθεπζε δεδνκέλσλ. Ζ CPU ρξεζηκνπνηεί ηελ κλήκε RAM γηα ηελ απνζήθεπζε
κεηαβιεηψλ θαζψο επίζεο θαη ηελ ιεγφκελε ζηνίβα (Stack). Ζ ζηνίβα
ρξεζηκνπνηείηαη
γηα ηελ πξνζσξηλή απνζήθεπζε ησλ ιεγφκελσλ δηεπζχλζεσλ
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
28
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
επηζηξνθήο, κε ζθνπφ λα ζπλερίζεη ηελ εθηέιεζε ηνπ πξνγξάκκαηνο πνπ είρε
δηαθνπεί γηα ηελ εμππεξέηεζε θάπνηαο ππνξνπηίλαο ή θάπνηαο ξνπηίλαο δηαθνπήο.
Σαιαλησηήο Υξνληζκνύ: Ο κηθξνειεγθηήο εθηειεί έλα πξφγξακκα
4.
φπσο απηφ εκθαλίδεηαη κέζα ζηελ κλήκε ηνπ πξνγξάκκαηνο, κε έλαλ θαζνξηζκέλν
ξπζκφ. Ο ξπζκφο απηφο θαζνξίδεηαη απφ ηελ ζπρλφηεηα ιεηηνπξγίαο ηνπ ηαιαλησηή
ρξνληζκνχ. Ο ηαιαλησηήο ρξνληζκνχ (Clock Oscillator) κπνξεί λα είλαη έλαο
εζσηεξηθφο ηαιαλησηήο ηχπνπ RC ή έλαο ηαιαλησηήο πνπ πινπνηείηαη κε θάπνην
εμσηεξηθφ ζηνηρείν ρξνληζκνχ, φπσο γηα παξάδεηγκα φπσο γηα παξάδεηγκα έλαο
θξχζηαιινο ραιαδία (Quartz), έλα θχθισκα ζπληνληζκνχ LC ή αθφκα θαη έλα απιφ
θχθισκα RC. Ζ ιεηηνπξγία ηνπ ηαιαλησηή μεθηλά ζρεδφλ ακέζσο κεηά ηελ
εθαξκνγή ηεο ηάζεο ηξνθνδνζίαο.
΢ύζηεκα επαλαηνπνζέηεζεο θαη Κύθισκα αλίρλεπζεο βπζίζεσλ
5.
ηάζεο: Σν ζπζηεκα επαλαηνζέηεζεο ή απιά RESET πνπ δηαζέηεη έλαο
κηθξνειεγθηήο, εμαζθαιίδεη ην γεγνλφο φηη φιεο νη εζσηεξηθέο κνλάδεο θαη ηα
θπθιψκαηα ειέγρνπ ηνπ κΔ ζα μεθηλήζνπλ λα ιεηηνπξγνχλ θαηά ηελ εθαξκνγή ηεο
ηάζεο ηξνθνδνζίαο, απφ θάπνηα πξνθαζαξηζκέλε αξρηθή θαηάζηαζε ελψ φινη νη
θαηαρσξεηέο ηνπ ζπζηήκαηνο βξίζθνληαη ζε θαηάιιειεο αξρηθέο ηηκέο. Απφ ηελ
άιιε πιεπξά ην θχθισκα αλίρλεπζεο βχζηζεο ηάζεο ηξνθνδνζίαο (brownout
detector) είλαη έλα επίζεο εζσηεξηθφ θχθισκα ειέγρνπ ην νπνίν παξαθνινπζεί
ζπλερψο ην επίπεδν ηεο ηάζεο ηξνθνδνζίαο θαη εθφζνλ αληρλεπηεί θάπνηα ζηηγκηαία
βχζηζε
ζηελ
ηάζε
απηή,
ηφηε
απηφκαηα
ζέηεη
ηνλ
κΔ
ζε
ιεηηνπξγία
επαλαηνπνζέηεζεο, έηζη ψζηε λα πξνζηαηεπηνχλ ηα πεξηερφκελα θαηαρσξεηψλ θαη
ηεο κλήκεο απφ πηζαλή θαηαζηξνθή ή αιινίσζε,πξάγκα πνπ ζα νδεγνχζε ηνλ κΔ ζε
εζθαικέλε ιεηηνπξγία.
6.
΢εηξηαθή ζύξα επηθνηλσλίαο: Έλα απφ ηα πιένλ εχρξεζηα ζπζηαηηθά
ελφο κΔ, απνηειεί ε ζεηξηαθή ζχξα επηθνηλσλίαο. Ζ ζχξα απηή ρξεζηκνπνηείηαη γηα
ηελ επηθνηλσλία ηνπ ειεγθηή κε δηάθνξεο εμσηεξηθέο δηαηάμεηο ππφ ηελ κνξθή
ζεηξηαθήο κεηάδνζεο δεδνκέλσλ. Ζ ζχξα απηή κπνξεί λα ιεηηνπξγήζεη ζε
νπνηαδήπνηε ηαρχηεηα κεηάδνζεο δεδνκέλσλ ηπρφλ απαηηεζεί. Ζ ιεηηνπξγία ηεο
βαζίδεηαη ζην φηη ιακβάλεη δεδνκέλα απφ ηνλ κΔ,ηα νπνία νιηζζαίλεη πξνο ηελ έμνδν
ππφ κνξθή ελφο δπαδηθνχ ςεθίνπ (bit) ηε θνξά. Δληειψο παξφκνηα, ιακβάλεη
δεδνκέλα απφ ηελ αληίζηνηρε είζνδφ ηεο κε ηε κνξθή ελφο bit ηε θνξά,
ζρεκαηίδνληαο έηζη κε 8 ηέηνηα ςεθία,κηα ιέμε ελφο byte, ηελ νπνία θαη αληηγξάθεη
ζην εζσηεξηθφ ηνπ ειεγθηή. Οη ζεηξηαθέο ζχξεο απαληψληαη ζε δχν ηχπνπο, ηελ
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
29
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
αοχγρξνλε ζεηξηαθή ζχξα θαη ηελ ζχγρξνλε ζεηξηαθή ζχξα. Γηα ηελ ιεηηνπξγία ηεο
δεχηεξεο απαηηείηαη ε παξνπζία ελφο πξφζζεηνπ ζήκαηνο ζπγρξνληζκνχ (clock).
7.
Φεθηαθή ζύξα εηζόδνπ/εμόδνπ: Ο κηθξνειεγθηήο ρξεζηκνπνηεί ηηο
ςεθηαθέο ζχξεο εηζφδνπ/εμφδνπ κε ζθνπφ ηελ αληαιιαγή δεδνκέλσλ απφ θαη πξνο ην
εμσηεξηθφ πεξηβάιινλ.΢ε ζχγθξηζε κε κηα ζεηξηαθή ζχξα,κε ηελ νπνία ηελ νπνία ηα
δεδνκέλα αληαιιάζζνληαη ππφ κνξθή ζπξκνχ κε εθπνκπή ελφο bit
ηε θνξά,ε
ςεθηαθή ζχξα αληαιιάζζεη δεδνκέλα ππφ κνξθή νκάδσλ ησλ 8 bits ή ηνπ 1 byte.
8.
Αλαινγηθή ζύξα εηζόδνπ/εμόδνπ: Γεληθά κπνξνχκε λα έρνπκε
αλαινγηθέο εηζφδνπο ρξεζηκνπνψληαο κεηαηξνπείο αλαινγηθνχ ζήκαηνο ζε ςεθηαθφ
(Analog Digital Converter ή ADC). Έλαο ηππηθφο κΔ κπνξεί λα δηαζέηεη κηα
ελζσκαησκέλε κνλάδα κεηαηξνπήο ADC ή αθφκα θαη ζε κεξηθέο πεξηπηψζεηο, έλαλ
απιφ ελζσκαησκέλν αλαινγηθφ ζπγθξηηή,ν νπνίνο ρξεζηκνπνηείηαη καδί κε
θαηάιιειν ινγηζκηθφ έηζη ψζηε λα κπνξεί λα εθηειεί κεηαηξνπέο αλαινγηθνχ ζε
ςεθηαθφ. Οη ADC ρξεζηκνπνηνχληαη γηα ηελ αλάγλσζε δεδνκέλσλ απφ αηζζεηήξεο,
φπσο γηα παξάδεηγκα αηζζεηήξεο πίεζεο θαη ζεξκνθξαζίαο. Οη αηζζεηήξεο απηνί
ζπλήζσο παξάγνπλ κηα ηάζε ε νπνία είλαη αλάινγε ηεο κεηξνχκελεο θπζηθήο
παξακέηξνπ. Δπίζεο κπνξνχκε λα έρνπκε θαη αλαινγηθέο εμφδνπο, ρξεζηκνπνηψληαο
θάπνηεο κνλάδεο νη νπνίεο θαινχληαη Μεηαηξνπείο Φεθηαθνχ ΢ήκαηνο ζε Αλαινγηθφ
(Digital to Analog Converter ή DAC). Αθφκε πεξηζζφηεξνη κΔ είλαη εθνδηαζκέλνη κε
Γηακνξθσηέο Δχξνπο Παικψλ (Pulse Width Modulator ή PWM),κε ηε βνήζεηα ησλ
νπνίσλ κπνξνχκε λα ιάβνπκε αλαινγηθέο ηάζεηο κέζα απφ θαηάιιεια θίιηξα ηχπνπ
RC.
9.
Απαξηζκεηήο: Έλαο απαξηζκεηήο ρξεζηκνπνηείηαη απφ ηνλ κΔ γηα ηνλ
ρξνληζκφ ή θαη γηα ηελ ζεκαηνδφηεζε δηαθφξσλ γεγνλφησλ, γηα παξάδεηγκα, είλαη
πηζαλφ λα επηζπκνχκε λα απνζηείινπκε δεδνκέλα ζε κηα εμσηεξηθή νζφλε κε έλαλ
ζπγθεθξηκέλν ξπζκφ. Έλαο ρξνληζηήο κπνξεί λα ρξεζηκνπνηεζεί απφ ηνλ κΔ γηα λα
παξάγεη απηφλ ηνλ δεηνχκελν ξπζκφ. Δπίζεο κπνξεί λα ρξεζηκνπνεζεί θαη γηα ηελ
θαηακέηξεζε γεγνλφησλ,ηα νπνία κπνξνχλ λα είλαη εζσηεξηθά ή εμσηεξηθά. ΢ε κηα
ηέηνηα πεξίπησζε ν ρξνληζηήο θαιείηαη απιά κεηξεηήο (Counter).
10.
ρξνληζηήο
Υξνληζηήο Δπηηήξεζεο: Έλαο ρξνληζηήο εηδηθνχ ζθνπνχ είλαη θαη ν
επηηήξεζεο
(WatchDog
Timer
ή
WDT).
Ο
ρξνληζηήο
απηφο
ρξεζηκνπνηείηαη γηα ηελ απνθπγή ηεο πηζαλήο θαηάξξεπζεο ηνπ ζπζηήκαηνο (crash).
Ζ ιεηηνπξγία ηνπ ρξνληζηή έρεη σο εμήο.Απφ ηελ ζηηγκή πνπ ζα ελεξγνπνηεζεί,
ιεηηνπξγεί απμαλφκελα έλαο εζσηεξηθφο κεηξεηήο ζε θάπνηνλ ζπγθεθξηκέλν
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
30
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
ξπζκφ.Αλ ην πξφγξακκα δελ κεδελίζεη (ή επαλαζέζεη) ηνλ κεηξεηή απηφλ ηφηε
θάπνηα ζηηγκή ζα επέιζεη ε ιεγφκελε ππεξρείιηζε (Overflow) ηνπ απαξηζκεηή θαη ζα
επαλαηνπνζεηεζεί ν κηθξνειεγθηήο. Έηζη φηαλ ρξεζηκνπνηείηαη ν ρξνληζηήο
επηηήξεζεο,ην πξφγξακκα ρξήζεο ζα πξέπεη λα είλαη εθνδηαζκέλν κε ηηο θαηάιιειεο
εληνιέο, έηζη ψζηε ζε ηαθηά ρξνληθά δηαζηήκαηα λα κπνξεί λα κεδελίδεη ηνλ
ρξνληζηή WDT, πιεξνθνξψληαο ηνλ έηζη φηη ην ζχζηεκα εξγάδεηαη θαη δελ έρεη
θαηαξξεχζεη.
11.
Ρνιόη Πξαγκαηηθνύ Υξόλνπ: Έλαο αθφκε εηδηθνχ ζθνπνχ ρξνληζηήο
είλαη θαη ην ιεγφκελν Ρνιφη Πξαγκαηηθνχ Υξφλνπ (Real Time Clock ή RTC), ηνπ
νπνίνπ ζθνπφο είλαη ε κέηξεζε θαη ε δηαηήξεζε ηεο ηξέρνπζαο ψξαο ηεο εκέξαο, ηεο
εκεξνκελίαο θιπ. Μπνξεί λα ρξεζηκνπνηεζεί γηα ηελ ζεκαηνδφηεζε ζπγθεθξηκέλσλ
γεγνλφησλ κε γλψκνλα ηελ ηξέρνπζα ψξα.
Δικόνα 4.4: 8 bit microcontroller.
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
31
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
4.4 Η Απσιηεκηονική ηυν Μικποελεγκηών
Οη δηάθνξεο αξρηηεθηνληθέο ησλ κηθξνειεγθηψλ δηαθξίλνληαη κε βάζε ηα
ηδηαίηεξα θάζε θνξά ραξαθηεξηζηηθά θαη ηηο ηδηφηεηεο πνπ παξνπζηάδεη θάζε
ζχζηεκα.Έλα πνιχ δηαδεδνκέλν ζρήκα, είλαη απηφ πνπ ιακβάλεη ππφςε ηνλ
ζπλνιηθφ αξηζκφ εληνιψλ. Έηζη έρνπκε ηελ Αξρηηεθηνληθή CISC (Complex
Instruction Set Computer), ηελ Αξρηηεθηνληθή RISC (Reduced Instruction Set
Computer) θαη ηελ Αξρηηεθηνληθή MISC (Minimum Instruction Set Computer).
Χζηφζν νη παξαπάλσ φξνη έρνπλ ππνζηεί πνιιέο παξαθξάζεηο απφ ηνπο δηάθνξνπο
πσιεηέο ηνπ είδνπο. Έλαο κηθξνειεγθηήο αξρηηεθηνληθήο CISC παξνπζηάδεη πνιιέο
θνηλέο ηδηφηεηεο κε εθείλνπο ηεο αξρηηεθηνληθήο RISC,γεγνλφο πνπ πξνθαιεί ζπρλά
ζχγρπζε.
Δικόνα 4.5: Αξρηηεθηνληθή Harvard.
Έλα άιιν ζρήκα κε βάζε ην νπνίν δηαθξίλνπκε ηηο δηαηάμεηο ησλ
κηθξνειεγθηψλ, αθνξά ζηνλ ηξφπν πνπ πξαγκαηνπνηείηαη ε πξφζβαζε ζηε κλήκε
πξνγξάκκαηνο θαη ζηε κλήκε δεδνκέλσλ. Έλα ηέηνην κνλαδηθφ κνληέιν κλήκεο,ην
νπνίν είλαη γλσζηφ κε ηελ νλνκαζία Αξρηηεθηνληθή Princeton ή Αξρηηεθηνληθή Von
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
32
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
Neumann θαη ην νπνίν έξρεηαη ζε αληίζεζε κε ηελ Αξρηηεθηνληθή Harvard,πξνβέπεη
μερσξηζηφ ρψξν κλήκεο γηα ηελ απνζήθεπζε ηνπ πξνγξάκκαηνο θαη γηα ηελ
απνζήθεπζε δεδνκέλσλ, αληίζηνηρα.
΢χκθσλα κε κηα άιιε κνξθή ηαμηλφκεζεο ηα δηάθνξα ζπζηήκαηα
κηθξνειεγθηψλ δηαθξίλνληαη κε βάζε ηνλ ηξφπν απνζήθεπζεο θαη δηαρείξηζεο πνπ
πθίζηαληαη ηα δεδνκέλα εληφο ηεο CPU.
4.5 Οι μικποελεγκηέρ AVR ηηρ ATMEL
Αο δνχκε μερσξηζηά ζε απηή ηελ παξάγξαθν ηελ νηθνγέλεηα AVR ηεο
ATMEL κε αλαθνξά ζε ζέκαηα αξρηηεθηνληθήο θαη πεξηθεξεηαθσλ κνλάδσλ πνπ
ζπλεξγάδνληαη κε ηελ CPU.
Δικόνα 4.6: Σν ινγφηππν ηεο εηαηξείαο ATMEL.
Ο κηθξνειεγθηήο AVR πεξηιακβάλεη έλαλ επεμεξγαζηή RISC ν νπνίνο έρεη
ζρεδηαζηεί ζχκθσλα κε ηελ αξρηηεθηνληθή Harvard. Ζ αξρηηεθηνληθή Harvard
αλαθέξεηαη ζην γεγνλφο φηη ε κνλάδα CPU ζπλεξγάδεηαη ηαπηφρξνλα κε κηα κλήκε
πξνγξάκκαηνο θαη κηα μερσξηζηή κλήκε δεδνκέλσλ.
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
33
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
Ζ νηθνγέλεηα ησλ κηθξνειεγθηψλ AVR παξνπζηάδεη ηα αθφινπζα γεληθά
ραξαθηεξηζηηθά:
1.
Δλζσκαησκέλε (On-chip) κλήκε ηαρείαο απνζήθεπζεο ή απιά κλήκε
Flash, κε δπλαηφηεηα Πξνγξακκαηηζκνχ Δληφο ηνπ ΢πζηήκαηνο ή ISP (In-System
Programmable), σο κλήκε πξνγξάκκαηνο. Γεληθά φινη νη κηθξνειεγθηέο απηήο
δηαζέηνπλ κλήκε Flash σο κλήκε πξνγξάκκαηνο. Απηφ ζεκαίλεη φηη δελ ρξεηάδνληαη
εμσηεξηθέο κλήκεο ηχπνπ EPROM ή ROM νη νπνίεο λα πεξηέρνπλ ηνλ θψδηθα ηνπ
πξνγξάκκαηνο ρξήζεο. Δπίζεο, ε κλήκε πξνγξάκκαηνο κπνξεί λα πξνγξακκαηηζηεί
ρσξίο λα απνκαθξπλζεί ν επεμεξγαζηήο απφ ην θχθισκα ηεο εθαξκνγήο. Σν γεγνλφο
απηφ δηεπθνιχλεη θαη επηηαρχλεη ζε κεγάιν βαζκφ ηπρφλ κειινληηθέο αλαβαζκίζεηο.
Σέινο, ε κλήκε πξνγξάκκαηνο κπνξεί λα πξνγξακκαηηζηεί κε δχν ηξφπνπο, ηνλ
ζεηξηαθφ θαη ηνλ παξάιιειν.
2.
΢πλνιηθά 32 θαηαρσξεηέο εξγαζίαο ησλ 8 bit. Έλαο κεγάινο ζρεηηθά
αξηζκφο θαηαρσξεηψλ ζεκαίλεη φηη νη δηάθνξεο κεηαβιεηέο κπνξνχλ λα
απνζεθεχνληαη εληφο ηεο CPU θαη φρη ζε θάπνηα κλήκε, δηφηη γεληθά ε δηαδηθαζία
πξφζβαζεο ζηελ κλήκε ζεσξείηαη ρξνλνβφξα. Έηζη ην πξφγξακκα εθηειείηαη
ηαρχηεξα.
3.
Δλζσκαησκέλε κλήκε δεδνκέλσλ ηχπνπ EEPROM θαη RAM ζηηο
πεξηζζφηεξεο δηαηάμεηο ηεο ζεηξάο ησλ κηθξνειεγθηψλ απηψλ. Όπσο αλαθέξζεθε, ε
κνλάδα CPU είλαη ζρεδηαζκέλε ζχκθσλα κε ηελ αξρηηεθηνληθή Harvard, νπφηε ηφζν
ε κλήκε EEPROM φζν θαη ε RAM, αληηκεησπίδνληαη σο κλήκε δεδνκέλσλ (Data
Memory) γηα ηελ απνζήθεπζε ζηαζεξψλ ηηκψλ αιιά θαη κεηαβιεηψλ.
4.
Λεηηνπξγία ζε ζπρλφηεηεο ρξνληζκνχ απφ 0 έσο 10MHZ. Οη
πεξηζζφηεξεο εληνιέο ηεο γιψζζαο ησλ κηθξνειεγθηψλ AVR, νινθιεξψλνληαη ζε
κηα κφλν πεξίνδν ηνπ θεληξηθνχ ζήκαηνο ρξνληζκνχ, γεγνλφο πνπ νδεγεί ζε κηα
βειηησκέλε θαηα 10 θνξέο πεξίπνπ επίδνζε, ζε ζρέζε κε ηνπο θιαζηθνχο
κηθξνειεγθηέο.
5.
Δζσηεξηθφ θχθισκα Δπαλαηνπνζέηεζεο θαηά ηελ Δθαξκνγή ηεο
Σάζεο Σξνθνδνζίαο ή Power On Reset (POR).
6.
Δλζσκαησκέλν πξνγξακκαηηδφκελν ρξνληζηή κε ηδηαίηεξε κνλάδα
δηαίξεζεο ζπρλφηεηαο (prescaler). Υξεζηκνπνηείηαη ζε εθαξκνγέο φπνπ απαηηείηαη
θξίζηκνο ρξνληζκφο.
7.
Πεγέο εζσηεξηθψλ ή εμσηεξηθψλ δηαθνπψλ.
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
34
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
8.
Πξνγξακκαηηδφκελν ρξνληζηή επηηήξεζεο (WDT) νδεγνχκελν απφ
ηδηαίηεξν ηαιαλησηή. Ζ κνλάδα απηή ρξεζηκνπνηείηαη γηα ηελ απνθπγή εζθαικέλσλ
ιεηηνπξγηψλ εμαηηίαο θάπνηαο πηζαλήο θαηάξξεπζεο ηνπ πξνγξάκκαηνο ρξήζεο, αιιά
σζηφζν κπνξεί επίζεο λα ρξεζηκνπνηεζεί θαη ζε άιιεο ελδηαθέξνπζεο εθαξκνγέο.
9.
Λεηηνπξγίεο εξεκίαο (Sleep) θαη απνθνπήο (Power Down). Με ηνλ
ηξφπν απηφ θαηαλαιψλεηαη ειάρηζηε ηζρχο ζε πεξηπηψζεηο φπνπ ν επεμεξγαζηήο δελ
έρεη θακία δξαζηεξηφηεηα.
10.
Πνιινί απφ ηνπο κηθξνειεγθηέο ηεο ζεηξάο AVR δηαζέηνπλ
ελζσκαησκέλν ηαιαλησηή ηχπνπ RC.Όηαλ ελεξγνπνηνχκε ηνλ εζσηεξηθφ απηφ ηχπν
ηαιαλησηή κεηψλεηαη γεληθά ν ζπλνιηθφο αξηζκφο ησλ απαηηνχκελσλ εμσηεξηθψλ
εμαξηεκάησλ ηνπ θπθιψκαηνο ηεο εθαξκνγήο καο.
11.
Ζ νηθνγέλεηα ησλ κηθξνειεγθηψλ AVR δηαζέηεη κεγάιε πνηθηιία
δηαθνξεηηθψλ δηαηάμεσλ, νπφηε κπνξεί ν θαζέλαο λα επηιέμεη ηνλ θαηάιιειν
επεμεξγαζηή γηα ηελ δεηνχκελε εξγαζία, ελψ κπνξεί λα ρξεζηκνπνηεί ηα ίδηα
αλαπηπμηαθά εξγαιεία.
Δικόνα 4.7: Γηάθνξνη Μηθξνειεγθηέο ηεο Atmel.
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
35
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
ΚΔΦΑΛΑΗΟ 5
5.1 Ο μικποελεγκηήρ ΑΣmega128A
Ο ATmega128A είλαη έλαο κηθξνειεγθηήο ησλ 8 bits, ηερλνινγίαο CMOS
ρακειήο ηζρχνο, πνπ πεξηιακβάλεη έλαλ επεμεξγαζηή RISC ζρεδηαζκέλν ζχκθσλα κε
ηε αξρηηεθηνληθή Harvard.
Δικόνα 5.1: Η δηάηαμε αθξνδεθηψλ ηνπ AΣmega128A
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
36
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
Ο ππξήλαο ηνπ AVR ζπλδπάδεη πινχζην ξεπεξηφξην εληνιψλ κε 32 θαηαρσξεηέο εξγαζίαο γεληθήο ρξήζεο. Οη 32 απηνί θαηαρσξεηέο ζπλδένληαη άκεζα ζηελ
Αξηζκεηηθή Λνγηθή Μνλάδα (ALU ή Arithmetic Logic Unit) κε ηξφπν πνπ επηηξέπεη
ηελ πξφζβαζε ζε δχν αλεμάξηεηνπο θαηαρσξεηέο κε κία κφλν εληνιή πνπ εθηειείηαη
ζε έλα θχθιν ξνινγηνχ. Ζ αξρηηεθηνληθή πνπ πξνθχπηεη ινηπφλ είλαη πεξηζζφηεξν
απνδνηηθή σο πξνο ηνλ θψδηθα ζε ζρέζε κε ζπκβαηηθνχο κηθξνειεγθηέο CISC.
Ο AΣmega128A παξνπζηάδεη ηα αθφινπζα ραξαθηεξηζηηθά:

Μλήκε πξνγξάκκαηνο 128K bytes ηαρείαο απνζήθεπζεο (flash
memory) κε δπλαηφηεηα πξνγξακκαηηζκνχ εληφο ηνπ ζπζηήκαηνο (ISP - In System
Programmable) θαη δπλαηφηεηα αλάγλσζεο θαηά ηε δηάξθεηα ηεο εγγξαθήο.

Μλήκε δεδνκέλσλ πνπ απνηειείηαη απφ 4K byte ζηαηηθήο κλήκεο
(SRAM - Static Random Access Memory) θαη 4K bytes ειεθηξηθά επαλαπξνγξακκαηηδφκελεο κλήκεο κφλν γηα αλάγλσζε (EEPROM - Electrically Erasable Programmable Read Only Memory).

53 γξακκέο εηζφδνπ - εμφδνπ γεληθήο ρξήζεο.

32 θαηαρσξεηέο εξγαζίαο γεληθνχ ζθνπνχ.

Θχξα δηαζχλδεζεο JTAG (interface).

Δλζσκαησκέλε
ππνζηήξημε
απνζθαικάησζεο
(debugging)
θαη
πξνγξακκαηηζκνχ.

2 επέιηθηα ρξνλφκεηξα / απαξηζκεηέο (Timer / Counters) ησλ 8 bit.

2 επέιηθηα ρξνλφκεηξα / απαξηζκεηέο (Timer / Counters) ησλ 16 bit.

2 θαλάιηα 8 bit PWM.

6 θαλάιηα PWM κε πξνγξακκαηηδφκελε ιεηηνπξγία απφ 2-16 bit.

Δζσηεξηθέο θαη εμσηεξηθέο δηαθνπέο.

Πξνγξακκαηηδφκελε κνλάδα ζχγρξνλεο - αζχγρξνλεο ζεηξηαθήο
επηθνηλσλίαο (USART - Universal Synchronous - Asynchronous Receiver
Transmitter)

Θχξα δηαζχλδεζεο I2C (interface).

Μεηαηξνπέα αλαινγηθνχ ζήκαηνο ζε ςεθηαθφ (ADC - Analog to
Digital Converter) κε 8 θαλάιηα ησλ 10 bits.
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
37
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ

Πξνγξακκαηηδφκελν ρξνλφκεηξν - θχιαθα (Watchdog Timer) κε
εζσηεξηθφ ηαιαλησηή.

΢εηξηαθή ζχξα δηαζχλδεζεο πεξηθεξεηαθψλ (SPI - Serial Peripheral
Interconnect).

6 θαηαζηάζεηο εμνηθνλφκηζεο ελέξγεηαο (power save modes).

Σάζε ηξνθνδνζίαο 2.7-5 Volt.
Ζ ζπζθεπή θαηαζθεπάδεηαη κε ηελ ηερλνινγία κλήκεο πςειήο ππθλφηεηαο
(volatile-πνπ δελ ράλεη ηα δεδνκέλα κε ηελ απνζχλδεζε ηεο ηξνθνδνζίαο) ηεο Atmel.
Ζ ελζσκαησκέλε ISP Flash δίλεη ηε δπλαηφηεηα ζηε κλήκε πξνγξάκκαηνο λα επαλαπξνγξακκαηίδεηαη εληφο ηνπ ζπζηήκαηνο κέζσ κηαο ζεηξηαθήο ζχξα δηαζχλδεζεο SPI,
είηε κέζσ ελφο ζπκβαηηθνχ πξνγξακκαηηζηή κλήκεο (volatile), είηε κέζσ ελφο ελζσκαησκέλνπ πξνγξάκκαηνο εθθίλεζεο (Boot program) ηνπνζεηεκέλνπ ζε εηδηθή ζέζε
ζην ηέινο ηεο κλήκεο ηνπ AVR. Σν πξφγξακκα εθθίλεζεο κπνξεί λα ρξεζηκνπνηήζεη
νπνηαδήπνηε ζχξα δηαζχλδεζεο (RS232, I2C ή I/O ports) γηα λα θαηεβάζεη ηελ
εθαξκνγή ζην ηκήκα εθαξκνγψλ ηεο κλήκεο. Σν ινγηζκηθφ ζην ηκήκα εθθίλεζεο ηεο
κλήκεο ζα ζπλερίζεη λα εθηειείηαη θαζψο ην ηκήκα εθαξκνγψλ ζα αλαβαζκίδεηαη.
΢πλδπάδνληαο θεληξηθή κνλάδα επεμεξγαζίαο (CPU - Central Processing Unit) ησλ 8
bits κε αξρηηεθηνληθή RISC κε ελζσκαησκέλε απηνπξνγξακκαηηδφκελε κλήκε
ηαρείαο
πξφζβαζεο
(In-System
Self-Programmable
Flash)
πάλσ
ζε
έλα
νινθιεξσκέλν θχθισκα, ν AΣmega128A είλαη έλαο ηζρπξφο κηθξνειεγθηήο θαη
απνηειεί κηα επέιηθηε θαη νηθνλνκηθή επηινγή γηα πνιιέο εθαξκνγέο. Ο
AΣmega128A ππνζηεξίδεηαη απφ πνιιά εξγαιεία αλάπηπμεο ινγηζκηθνχ.
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
38
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
Δικόνα 5.2: Σν ινγηθφ δηάγξακκα ηνπ κηθξνειεγθηή καο.
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
39
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
5.2 Κενηπική Μονάδα Δπεξεπγαζίαρ (CPU - Central Processing Unit)
Ζ CPU ηνπ AΣmega128A νθείιεη λα εμαζθαιίδεη ηε ζσζηή εθηέιεζε ηνπ
πξνγξάκκαηνο, πξέπεη ινηπφλ λα έρεη πξφζβαζε ζηε κλήκε, λα εθηειεί
ππνινγηζκνχο, λα ειέγρεη πεξηθεξεηαθά θαη λα δηαρεηξίδεηαη δηαθνπέο. Ο
κηθξνειεγθηήο έρεη ζρεδηαζηεί ζχκθσλα κε ηελ αξρηηεθηνληθή Harvard, έρεη δειαδή
μερσξηζηέο κλήκεο θαη μερσξηζηνχο δηαχινπο γηα ην πξφγξακκα θαη γηα ηα δεδνκέλα.
Οη εληνιέο ζηε κλήκε πξνγξάκκαηνο εθηεινχληαη κε δηνρέηεπζε ελφο επηπέδνπ
(single level pipeline), δειαδή ελψ εθηειείηαη κία εληνιή, ε ακέζσο επφκελε θαιείηαη
απφ ηε κλήκε πξνγξάκκαηνο. Με ηνλ ηξφπν απηφ εληνιέο εθηεινχληαη ζε θάζε θχθιν
ξνινγηνχ.
Σν αξρείν θαηαρσξεηψλ γξήγνξεο πξφζβαζεο πεξηιακβάλεη ηνπο 32
θαηαρσξεηέο εξγαζίαο θαη έρεη ρξφλν πξφζβαζεο έλα κφλν θχθιν ξνινγηνχ. Έηζη ε
ιεηηνπξγία ηεο ALU γίλεηαη ζε έλα θχθιν κεραλήο. ΢ε κηα ηππηθή πξάμε ηεο ALU,
δχν ηειεζηέο θαινχληαη απφ ην αξρείν θαηαρσξεηψλ, ε εληνιή εθηειείηαη θαη ην
απνηέιεζκα απνζεθεχεηαη πίζσ ζην αξρείν θαηαρσξεηψλ, θαη φια απηά ζπκβαίλνπλ
ζε έλα θχθιν κεραλήο. Πέξα απφ εληνιέο κεηαμχ θαηαρσξεηψλ, εθηεινχληαη θαη
εληνιέο κεηαμχ ελφο θαηαρσξεηή θαη κηαο ζηαζεξάο ή θαη εληνιέο κνλνχ
θαηαρσξεηή. Οη ιεηηνπξγίεο ηεο ALU ρσξίδνληαη ζε ηξεηο βαζηθέο θαηεγνξίεο :
αξηζκεηηθέο, ινγηθέο θαη εληνιέο ζε επίπεδν ελφο bit.
Έμη απφ ηνπο θαηαρσξεηέο (νη R26 σο θαη R31) κπνξνχλ λα ρξεζηκνπνηεζνχλ
ζε δεχγε σο θαηαρσξεηέο δεηθηψλ έκκεζεο δηεπζπλζηνδφηεζεο ησλ 16 bits,
δηεπθνιχλνληαο έηζη ηνπο ππνινγηζκνχο δηεπζχλζεσλ. Έλαο απφ ηνπο θαηαρσξεηέο
απηνχο κπνξεί λα ρξεζηκνπνηεζεί επηπιένλ θαη σο δείθηεο δηεχζπλζεο γηα πξφζβαζε
ζε πίλαθεο δεδνκέλσλ απνζεθεπκέλσλ ζηελ Flash κλήκε πξνγξάκκαηνο (παξαβηάδνληαο ράξηλ απνηειεζκαηηθφηεηνο ηελ αξρηηεθηνληθή Harvard). Οη ηξεηο απηνί
θαηαρσξεηέο θαινχληαη X, Y θαη Z.
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
40
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
Ζ ξνή ηνπ πξνγξάκκαηνο ειέγρεηαη κε εληνιέο άικαηνο (είηε ππφ ζπλζήθε
είηε ρσξίο) θαη κε εληνιέο θιήζεο (jump θαη call), ηθαλέο λα αλαθεξζνχλ άκεζα ζε
φιν ην εχξνο δηεπζχλζεσλ. Οη πεξηζζφηεξεο εληνιέο έρνπλ απιή κνξθνπνίεζε ιέμεο
ησλ 16 bits. Κάζε δηεχζπλζε ηεο κλήκεο πξνγξάκκαηνο πεξηιακβάλεη κηα εληνιή ησλ
16 ή 32 bits.
Ζ CPU πεξηιακβάλεη επηπιένλ ηνλ θαηαρσξεηή θαηάζηαζεο (status register) ν
νπνίνο πεξηέρεη πιεξνθνξίεο γηα ην απνηέιεζκα ηεο πην πξφζθαηεο αξηζκεηηθήο
εληνιήο. ΢ηηο πιεξνθνξίεο απηέο βαζίδεηαη ε εθηέιεζε ησλ εληνιψλ άικαηνο ππφ
ζπλζήθε.
Έλαο άιινο θαηαρσξεηήο ηεο CPU είλαη ν δείθηεο ζηνίβαο (stack pointer) ν
νπνίνο ρξεζηκεχεη ζηελ απνζήθεπζε πξνζσξηλψλ δεδνκέλσλ, ζηελ απνζήθεπζε
ηνπηθψλ κεηαβιεηψλ θαη ζηελ απνζήθεπζε δηεπζχλζεσλ επηζηξνθήο κεηά απφ
δηαθνπέο θαη ππνξνπηίλεο.
5.3 Μνήμερ
Ζ αξρηηεθηνληθή ησλ κηθξνεπεμεξγαζηψλ AVR πξνβιέπεη δχν βαζηθνχο
απνζεθεπηηθνχο ρψξνπο, ηε κλήκε δεδνκέλσλ θαη ηε κλήκε πξνγξάκκαηνο.
Δπηπιένλ, ν AΣmega128A έρεη θαη ζπκπιεξσκαηηθή κλήκε EEPROM γηα
απνζήθεπζε δεδνκέλσλ. Καη νη ηξεηο απηνί ρψξνη κλήκεο είλαη γξακκηθνί.
Ο Atmega128A πεξηιακβάλεη 128K bytes ελζσκαησκέλεο κλήκεο Flash
επαλαπξνγξακκαηηδφκελεο ζην ηειηθφ ζχζηεκα γηα ηελ απνζήθεπζε πξνγξακκάησλ.
Ζ κλήκε απηή είλαη νξγαλσκέλε σο 64K x 16bits θαζψο φιεο νη εληνιέο ηνπ AVR
έρνπλ κήθνο 16 ή 32 bits θαη έρεη αληνρή ηνπιάρηζησλ 10.000 θχθινπο
εγξαθήο/δηαγξαθήο. Γηα ηελ πξνζηαζία ηνπ ινγηζκηθνχ, ε κλήκε πξνγξάκκαηνο
Flash είλαη ρσξηζκέλε ζε δχν πεξηνρέο, ηελ πεξηνρή ηνπ πξνγξάκκαηνο εθθίλεζεο
(Boot Program) θαη ηελ πεξηνρή ηνπ πξνγξάκκαηνο εθαξκνγψλ (Application
Program).
Ζ αξρηηεθηνληθή ηνπ ATmega128A πεξηιακβάλεη θαη κεξηθέο δεθάδεο
θαηαρσξεηέο νη νπνίνη πξνγξακαηίδνπλ ηε ιεηηνπξγία ησλ πεξηθεξεηαθψλ θαη
απνηεινχλ ηηο δηεπαθέο κε απηά. ΢πιινγηθά νη θαηαρσξεηέο απηνί νλνκάδνληαη
κλήκε εηζφδνπ – εμφδνπ.
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
41
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
Δικόνα 5.2: Υάξηεο ηεο κλήκεο πξνγξάκκαηνο.
Όζν αθνξά ηψξα ζηε κλήκε δεδνκέλσλ, ζηηο θαηψηεξεο 1120 ζέζεηο ηεο
βξίζθνληαη ην αξρείν θαηαρσξεηψλ, ε κλήκε εηζφδνπ - εμφδνπ θαη ε εζσηεξηθή
κλήκε SRAM πνπ έρεη κέγεζνο 1K byte. Τπάξρνπλ πέληε ηξφπνη πξνζπέιαζεο ηεο
κλήκεο δεδνκέλσλ : Άκεζα, Έκκεζα κε βάζε θαη κεηαηφπηζε, Έκκεζα, Έκκεζα κε
κείσζε εθ ησλ πξνηέξσλ, Έκκεζα κε αχμεζε εθ ησλ πζηέξσλ. Γηα έκκεζε πξφζβαζε
ρξεζηκνπνηνχληαη νη θαηαρσξεηέο X, Y ή Z (R26 έσο R31 ζε δεχγε) σο δείθηεο
δηεπζχλζεο. Με ηνλ άκεζν ηξφπν πξνζπέιαζεο έρνπκε πξφζβαζε ζε νιφθιεξν ην
ρψξν δεδνκέλσλ.
΢ηελ έκκεζε πξνζπέιαζε κε κεηαηφπηζε, είλαη δπλαηή ε πξφζβαζε ζε 63
ζέζεηο δηεπζχλζεσλ κε αξρή ηε βάζε πνπ βξίζθεηαη ζηνλ θαηαρσξεηή Y ή ζηνλ
θαηαρσξεηή Z.
΢ηελ έκκεζε πξνζπέιαζε κε κείσζε εθ ησλ πζηέξσλ ή αχμεζε εθ ησλ
πξνηέξσλ, νη θαηαρσξεηέο δηεπζχλζεσλ X, Y θαη Z κεηψλνληαη ή απμάλνληαη
αληίζηνηρα.
Ζ δηεπζπλζηνδφηεζε απηψλ ησλ ηξηψλ πεξηνρψλ (αξρείν θαηαρσξεηψλ, κλήκε
εηζφδνπ – εμφδνπ θαη SRAM) είλαη ζπλερφκελε φπσο θαίλεηαη ζηελ εηθφλα 5.3.
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
42
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
Δικόνα 5.3: Υάξηεο ηεο κλήκεο δεδνκέλσλ.
Ο ATmega128A πεξηιακβάλεη επηπιένλ κλήκε δεδνκέλσλ EEPROM ησλ 4Κ
bytes πνπ είλαη νξγαλσκέλε ρσξηζηά θαη απφ ηελ νπνία κπνξνχλ λα δηαβαζηνχλ θαη
λα γξαθνχλ κνλά bytes. Έρεη δηάξθεηα δσήο ηνπιάρηζηνλ 100.000 θχθινπο εγγξαθήο
/ δηαγξαθήο θαη ε επηθνηλσλία ηεο κε ηελ CPU θαζνξίδεηαη κέζσ εηδηθψλ
θαηαρσξεηψλ δηεχζπλζεο, δεδνκέλσλ θαη ειέγρνπ.
5.4 ΢ύζηημα σπονιζμού
΢ηελ εηθφλα 5.4 θαίλεηαη ην βαζηθφ ζχζηεκα ρξνληζκνχ ηνπ AVR θαζψο θαη
ε δηαλνκή ησλ ξνινγηψλ. Γελ είλαη αλαγθαίν λα είλαη φια ηα ξνιφγηα ελεξγά θάζε
ρξνληθή ζηηγκή. Γηα ιφγνπο νηθνλνκίαο ηεο ελέξγεηαο πνπ θαηαλαιψλεηαη, ηα ξνιφγηα
πνπ δελ ρξεζηκνπνηνχληαη κπαίλνπλ ζε θαηάζηαζε χπλνπ (sleep mode).
Σν ξνιφη ηεο CPU (clkCPU) νδεγείηαη ζηα ηκήκαηα ηνπ ζπζηήκαηνο ηα ζρεηηθά
κε ηε ιεηηνπξγία ηνπ ππξήλα ηνπ AVR, φπσο γηα παξάδεηγκα ην αξρείν θαηαρσξεηψλ
γεληθήο ρξήζεο, ν θαηαρσξεηήο θαηάζηαζεο θαη ν δείθηεο ζηνίβαο. Παχζε ηεο
ιεηηνπξγίαο ηνπ ξνινγηνχ ηεο CPU νδεγεί ηνλ ππξήλα ζε αδπλακία εθηέιεζεο
γεληθψλ ιεηηνπξγηψλ θαη ππνινγηζκψλ.
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
43
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
Σν ξνιφη εηζφδνπ-εμφδνπ (clkI/O) ρξεζηκνπνηείηαη απφ ηελ πιεηνςεθία ησλ
κνλάδσλ εηζφδνπ - εμφδνπ φπσο γηα παξάδεηγκα νη ρξνληζηέο / κεηξεηέο θαη ε
USART θαζψο επίζεο θαη απφ ηε κνλάδα εμσηεξηθψλ δηαθνπψλ, αλ θαη φρη ζε φιεο
ηηο πεξηζηάζεηο έηζη ψζηε θάπνηεο δηαθνπέο λα είλαη ελεξγέο αθφκε θαη φηαλ ην clk I/O
είλαη ζηακαηεκέλν.
Σν ξνιφη Flash (clkFLASH) ρξεζηκνπνηείηαη ζηελ δηεπαθή Flash θαη είλαη
ζπλήζσο ελεξγφ ηαπηφρξνλα κε ην ξνιφη ηεο CPU.
.
Δικόνα 5.4: Γεκηνπξγία θαη θαηαλνκή ξνινγηνχ.
Σν ξνιφη ηνπ αζχγρξνλνπ ρξνληζηή (clkASY) επηηξέπεη ζηνλ αζχγρξνλν
ρξνληζηή / κεηξεηή λα δέρεηαη θαηεπζείαλ ζήκα ρξνληζκνχ απφ εμσηεξηθφ θξχζηαιιν
ησλ 32KHz. Έηζη ν ρξνληζηήο / κεηξεηήο απηφο κπνξεί λα ρξεζηκνπνηεζεί ζαλ
κεηξεηήο πξαγκαηηθνχ ρξφλνπ αθφκα θαη φηαλ ε ζπζθεπή βξίζθεηαη ζε sleep mode.
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
44
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
Σέινο, ν ADC έρεη μερσξηζηφ ξνιφη (clkADC) ψζηε λα είλαη δπλαηή ε παχζε
ησλ clkCPU θαη clkI/O θαηά ηε ιεηηνπξγία ηνπ ADC κε ζηφρν ηε κείσζε ηνπ ζνξχβνπ
θαη, θαηά ζπλέπεηα, ηε κεγαιχηεξε αθξίβεηα ζηα απνηειέζκαηα ηεο κεηαηξνπήο A/D.
Ο AVR δηαζέηεη πνιιέο πεγέο ξνινγηνχ: εμσηεξηθφ ή εζσηεξηθφ ηαιαλησηή
RC, ηειείσο αλεμάξηεηε εμσηεξηθή πεγή ή θξπζηαιιηθφ ηαιαλησηή (ρακειήο ή
πςειήο ζπρλφηεηαο). ΢ε εθαξκνγέο πνπ είλαη θξίζηκε ε αθξίβεηα ηεο ζπρλφηεηαο ηνπ
ξνινγηνχ (π.ρ. ρξήζε ηεο USART γηα ηειεπηθνηλσλίεο) ζπλήζσο ρξεζηκνπνηείηαη
έλαο θξπζηαιιηθφο ηαιαλησηήο. Γηα ην ζθνπφ απηφ ππάξρνπλ νη αθξνδέθηεο XTAL1
θαη XTAL2 νη νπνίνη είλαη είζνδνο θαη έμνδνο αληίζηνηρα ελφο εληζρπηή πνπ
αληηζηξέθεη. Μεηαμχ ησλ αθξνδεθηψλ απηψλ κπνξεί λα ζπλδεζεί είηε θξχζηαιινο
ραιαδία (quartz) είηε θεξακηθφο ζπληνληζηήο (resonator).
Δικόνα 5.5: Οη ζπλδέζεηο ηνπ θξπζηαιιηθνχ ηαιαλησηή.
5.5 Θύπερ ειζόδος - εξόδος
Ο ATmega128Α έρεη 64 αθξνδέθηεο εηζφδνπ – εμφδνπ, απφ
ηνπο
νπνίνπο,φινη είλαη νξγαλσκέλνη ζε 8 ζχξεο εηζφδνπ – εμφδνπ ησλ 8 αθξνδεθηψλ ε
θάζε κία (Port A, Port B, Port C,Port D θιπ). Οη ζχξεο απηέο κπνξνχλ λα
ρξεζηκνπνηεζνχλ είηε σο γεληθέο ςεθηαθέο είζνδνη – έμνδνη, είηε κε βάζε ηηο
ελαιιαθηηθέο ηνπο ιεηηνπξγίεο.
Δθφζνλ νη ζχξεο ρξεζηκνπνηνχληαη σο γεληθέο είζνδνη – έμνδνη, θάζε
αθξνδέθηεο κπνξεί λα κεηαηξαπεί απφ αθξνδέθηεο εηζφδνπ ζε αθξνδέθηε εμφδνπ θαη
ην αληίζηξνθν, ρσξίο αθνχζηα κεηαηξνπή θαη άιισλ αθξνδεθηψλ, κε ρξήζε ησλ
εληνιψλ SBI θαη CBI. Γηα θάζε ζχξα εηζφδνπ – εμφδνπ ππάξρνπλ ζπλνιηθά ηξείο
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
45
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
δηεπζχλζεηο ζηελ κλήκε εηζφδνπ – εμφδνπ. Ζ κία απφ ηηο δηεπζχλζεηο απηέο, ε DDxn,
ρξεζηκνπνηείηαη γηα ηνλ θαζνξηζκφ ηεο θαηεχζπλζεο ησλ αθξνδεθηψλ, δειαδή
θαζνξίδεη πνηνη απφ ηνπο αθξνδέθηεο ζα ιεηηνπξγήζνπλ σο είζνδνη θαη πνηνη σο
έμνδνη. Ζ δεχηεξε δηέπζπλζε, ε PORTxn, αθνξά ζηα δεδνκέλα πνπ πξφθεηηαη λα
εγγξαθνχλ ζε εθείλνπο ηνπο αθξνδέθηεο πνπ έρνπλ πξνγξακκαηηζηεί σο έμνδνη ελψ
ηέινο ε ηξίηε δηεχζπλζε, ε PINxn, αθνξά ζηα δεδνκέλα πνπ δηαβάδνληαη απφ ηνπο
αθξνδέθηεο πνπ έρνπλ πξνγξακκαηηζηεί σο είζνδνη. Οη δηεπζχλζεηο απηέο
αλαθέξνληαη πην απιά θαη σο θαηαρσξεηέο, ν DDxn είλαη ν ιεγφκελνο θαηαρσξεηήο
θαηεχζπλζεο. Αλ ν DDxn έρεη ηελ ηηκή 1, ν αθξνδέθηεο Pxn ιεηηνπξγεί σο
αθξνδέθηεο εμφδνπ, αλ ν DDxn έρεη ηελ ηηκή 0, ν Pxn ιεηηνπξγεί σο αθξνδέθηεο
εηζφδνπ.
Αλ o θαηαρσξεηήο PORTxn έρεη ηελ ηηκή 1 θαη ν αληίζηνηρνο αθξνδέθηεο
ιεηηνπξγεί σο είζνδνο, κηα εζσηεξηθή αληίζηαζε πξφζδεζεο (pull up resistor)
ελεξγνπνηείηαη. Γηα λα απνζπλδεζεί ε εζσηεξηθή απηή αληίζηαζε ζα πξέπεη λα γξαθεί
0 ζηνλ PORTxn ή ν αθξνδέθηεο λα κεηεηξαπεί ζε αθξνδέθηε εμφδνπ.
Αλ ν αθξνδέθηεο είλαη αθξνδέθηεο εηζφδνπ θαη ν PORTxn έρεη ηελ ηηκή 1, ν
αθξνδέθηεο νδεγείηαη ζε πςειή ινγηθή ζηάζκε (1) ελψ αλ ν PORTxn έρεη ηελ ηηκή 0,
ν αθξνδέθηεο νδεγείηαη ζε ρακειή ινγηθή ζηάζκε (0).
Δικόνα 5.6:Port Pin Configurations
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
46
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
Αλ θάπνηνο αθξνδέθηεο δελ ρξεζηκνπνηείηαη ζπλίζηαηαη λα εμαζθαιηζηεί ζε
απηφλ ζηαζεξή ζηάζκε. Ζ απινχζηεξε κέζνδνο γηα απηφ είλαη λα ελεξγνπνηεζεί ε
εζσηεξηθή pull up αληίζηαζε.
Πέξα απφ ηηο πην πάλσ ιεηηνπξγίεο, ζηνπο αθξνδέθηεο ησλ ζπξψλ
αληηζηνηρνχλ θαη ελαιιαθηηθέο ιεηηνπξγίεο πνπ θαίλνληαη πεξηιεπηηθά ζηνπο πίλαθεο
πνπ αθνινπζνχλ.
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
47
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
48
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
5.6 Μεηαηποπέαρ αναλογικού ζήμαηορ ζε τηθιακό (ADC - Analog to Digital
Converter)
Ο ATmega128A πεξηιακβάλεη έλαλ ADC ν νπνίνο κεηαηξέπεη έλα αλαινγηθφ
ζήκα εηζφδνπ
ζε ςεθηαθφ ζήκα ησλ 10 bits κε ηε κέζνδν ησλ δηαδνρηθψλ
πξνζεγγίζεσλ. Ο ADC είλαη ζπλδεδεκέλνο ζε έλαλ αλαινγηθφ πνιππιέθηε 8
θαλαιηψλ πνπ επηηξέπεη ηε ιήςε 8 ηάζεσλ εηζφδνπ απφ ηνπο αθξνδέθηεο ηεο Port F.
Οη αθξνδέθηεο απηνί είλαη κε δηαθνξηθνί (ε ηάζε ηνπο είλαη ζε αλαθνξά πξνο ηε γε).
Δικόνα 5.7: ΢ρεκαηηθφ δηάγξακκα ηνπ ADC
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
49
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
Ζ ζπζθεπή επίζεο ππνζηεξίδεη 16 ζπλδπαζκνχο δηαθνξηθψλ ηάζεσλ εηζφδνπ.
Γχν απφ ηηο εηζφδνπο απηέο (ε ADC1, ADC0 θαη ε ADC3, ADC2 ) είλαη
εμνπιηζκέλεο κε πξνγξακκαηηδφκελν ζηάδην θέξδνπο κε δπλαηφηεηα ελίζρπζεο 0dB
(1x), 20dB (10x) ή 46dB (200x) ηεο δηαθνξηθήο ηάζεο εηζφδνπ πξηλ ηελ A/D
κεηαηξνπή. Δπηά θαλάιηα δηαθνξηθψλ εηζφδσλ ηάζεο κνηξάδνληαη θνηλφ αξλεηηθφ
ηεξκαηηθφ (ADC1) ελψ γηα ζεηηθφ κπνξεί λα επηιεγεί νπνηαδήπνηε άιιε είζνδνο ηνπ
ADC.
Ο ADC πεξηιακβάλεη θχθισκα δεηγκαηνιεςίαο θαη δηαηήξεζεο (Sample and
Hold) πνπ εμαζθαιίδεη ηε δηαηήξεζε ηεο ηάζεο εηζφδνπ ζε ζηαζεξφ επίπεδν θαηά ηελ
κεηαηξνπή. Γηαζέηεη επίζεο μερσξηζηφ αθξνδέθηε ηνξθνδνζίαο γηα ην αλαινγηθφ ηνπ
κέξνο.
Δπίζεο έρεη μερσξηζηφ αθξνδέθηε ηξνθνδνζίαο ηνλ AVCC ν νπνίνο δελ πξέπεη
λα δηαθέξεη απφ ηελ γεληθή ηάζε ηξνθνδνζίαο ±0.3 Volt.Τπάξρεη θαη εζσηεξηθή ηάζε
αλαθνξάο ζηα 2.56 Volt ή κπνξεί λα ρξεζηκνπνηεζεί εμσηεξηθή ζηνλ αθξνδέθηε
AREF κε έλαλ ππθλσηή γηα ηελ απνθπγή ζνξχβσλ.
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
50
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
ΚΔΦΑΛΑΗΟ 6
6.1 Γενικά Υαπακηηπιζηικά
Αθνχ γλσξίζακε αξθεηά γηα ηνπο κηθξνειεγθηέο θαη γηα ηνλ ATmega128A
πνπ ζα ρξεζηκνπνηήζνπκε, ζην θεθάιαην απηφ ζα γίλεη ιεπηνκεξήο αλαθνξά ζε φιε
καο ηελ ζηαδηνδξνκία ηεο πηπρηαθήο, ζηα πιηθά πνπ ρξεζηκπνηήζακε γηα λα έρνπκε
ην επηζπκεηφ απνηέιεζκα θαη ζηνλ πξνγξακκαηηζηή πνπ ρξεζηκνπνηήζακε.
6.2 AVR Butterfly Demo Kit
Δικόνα 6.1:AVR Butterfly
Γηα λα κπνξέζνπκε λα μεθηλήζνπκε ηελ αλαδήηεζε καο σο πξνο ην ζέκα
πηπρηαθήο πνπ αλαιάβακε, επηιέμακε ην AVR Butterfly,πνπ είλαη έλα demo kit ηεο
ATMEL γηα ηελ εηζαγσγή αξράξησλ ζηνλ ηνκέα ησλ κηθξνππνινγηζηψλ.Παξφιν πνπ
ζην κέγεζνο ηνπ δελ μεπεξλά κηα ηειεθάξηα καο εμέπιεμε κε ηηο δπλαηφηεηεο ηνπ.Αο
δνχκε ιίγν φκσο ηα ραξαθηεξηζηηθά ηνπ.
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
51
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
Σν Butterfly ζρεδηάζηεθε γηα λα καο
παξνπζηάζεη
ε ATMEL ηα
πιενλεθηήκαηα θαη ραξαθηεξηζηηθά ησλ AVR κηθξνειεγθηψλ.Δίλαη έλαο ρακειήο
θαηαλάισζεο,απηφλνκνο κηθξνυπνινγηζηήο πνπ κπνξεί λα ρξεζηκνπνηεζεί ζε πάξα
πνιιέο εθαξκνγέο.Δίλαη εμνπιηζκέλν κε ηνλ ATmega169,ν νπνίνο είλαη έλαο 8 bit
κηθξνειεγθηήο ηεο αξρηηεθηνληθήο RISC,κε ρακειή θαηαλάισζε.
Σν Butterfly καο δηαζέηεη επίζεο:

νζφλε LCD,

κλήκεο (Flash, EEPROM, SRAM θαη external DataFlash),

2 ειεχζεξα PORT πξνο ηνλ ρξήζηε,

πξσηφθνιια επηθνηλσλίαο (UART,SPI,USI),

κεζφδνπο πξνγξακκαηηζκνχ (SPI,Parallel,JTAG),

κεηαηξνπέα αλαινγηθνχ ζε ςεθηαθφ (ADC),Real Time Clock θαη
Pulse Width Modulation,

Joystick 5 θαηεπζχλζεσλ,

Ζρείν,

RS-232 level converter,γηα ηελ ζεηξηαθή επηθνηλσλία,

JTAG emulation,

Καη θπζηθά πεξηέρεη πξφγξακκα εθθίλεζεο (Boot loader).
Ο επεμεξγαζηήο AΣmega169 είλαη ηθαλφο λα αλαπηχμεη ηαρχηεηεο έσο 8
MHz ,σζηφζν είλαη ξπζκηζκέλνο απφ ην εξγνζηάζην λα θηάλεη ηαρχηεηεο χςνπο 2
MHz έηζη ψζηε ε κπαηαξία λα έρεη κεγαιχηεξε δηάξθεηα δσήο.
Ζ νζφλε πγξψλ θξπζηάιισλ (LCD) κπνξεί λα πξνβάιεη κέρξη θαη 6
αιθαξηζκεηηθνχο ραξαθηήξεο ησλ 14 ζεκείσλ αλά ραξαθηήξα.
Σν αηζζεηήξην πνπ ρξεζηκνπνηεί είλαη ηεο εηαηξίαο Bookham. Πξφθεηηαη γηα
έλα ζεξκίζηνξ αληηιακβάλεηαη νπνηαδήπνηε δηαθνξά ζεξκνθξαζίαο θαη παξάγεη κηα
ηάζε. Έρεη ζρεδηαζηεί γηα λα πιεξεί ηηο πξνυπνζέζεηο ζε νπηηθέο κεηξήζεηο
ζπγθέληξσζεο νμπγφλνπ θαη άιιεο θαζκαηνζθνπηθέο εθαξκνγέο .
Σν AVR Butterfly είλαη πιήξσο αλαγλσξίζηκν απφ ην AVR Studio 4,κε ην
νπνίν θαη αζρνιεζήθακε.Γηα λα κπνξέζνπκε λα κπνχκε ζην λφεκα ηνπ
πξνγξακκαηηζκνχ αζρνιεζήθακε εληαηηθά κε ην AVR Butterfly , κε απνηέιεζκα λα
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
52
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
κπνξνχκε λα πνχκε πιένλ φηη έρνπκε ηηο βαζηθέο γλψζεηο ζηελ δεκηνπξγία
πξνγξάκκαηνο.
Αξρηθά ε πξψηε καο ζχλδεζε κε ηνλ ππνινγηζηή έγηλε κέζσ ζεηξηαθήο ζχξαο
RS-232.Αθνχ θαηαθέξακε ηελ επηθνηλσλία κε έλα Terminal ζηνλ ππνινγηζηή
ζπλερίζακε κε ζθνπφ λα θαηεβάζνπκε ην πξψην καο πξφγξακκα ζε έλα AVR κε
ζέκα Blinky Led.
Μεξηθά πξάγκαηα πνπ ρξεηαζηήθακε γηα ηελ πξαγκαηνπνηήζε ησλ
πξνγξακκάησλ εθκάζεζεο ήηαλ ηα εμήο:

Breadboard

3 Volt Battery Pack

RS-232 male adaptor
Δικόνα 6.2:AVR Butterfly with AVR Dragon.
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
53
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
6.3 AVR Dragon Βαζικέρ Πληποθοπίερ
Ζ εηαηξεία Atmel έρεη θαηαζθεπάζεη ζην παξειζφλ πνιιά αλαπηπμηαθά
εξγαιεία,ηα νπνία βνεζνχλ ζην πξνγξακκαηηζκφ (programming) ησλ κηθξνειεγθηψλ
θαη
ζηελ
απνζθαικάησζε
(debugging)
ηνπ
πξνγξάκκαηνο.Μεξηθά
πνπ
παξνπζηάζηεθαλ ζην παξειζφλ είλαη: STK600 starter kit,STK500 starter kit, AVR
ISP and AVR ISP mmkII,AVR Dragon,JTAGICE mkI and mkII.΢πγθεθξηκέλα εκείο
αζρνιεζήθακε κε ην AVR Dragon θαη πξνγξακκαηίζακε κε ην πξσηφθνιιν
JTAG.Αο δνχκε φκσο ηη καο πξνζέθεξε αχην ην αλαπηπμηαθφ εξγαιείν.
Σν AVR Dragon είλαη έλα αλαπηπμηαθφ εξγαιείν πνπ ιεηηνπξγεί θαη σο
πξνγξακκαηηζηήο θαη σο απνζθαικαησηήο,κε ην νπνίν ε θαηαζθεπάζηξηα (Atmel)
εμαηηίαο ηεο ρακειήο ηηκήο ηνπ έζεζε λέα κέηξα ζηελ αγνξά αλαπηπμηαθψλ
εξγαιείσλ.Σν Dragon ππνζηεξίδεη φινπο ηνπο ηξφπνπο πξνγξακκαηηζκνχ ησλ κΔ ηεο
νηθνγέλεηαο ησλ AVR θαζψο θαη εκπεξηέρεη νινθιεξσηηθή πξνζσκείσζε γηα ηνπο κΔ
κε 32kB ή κηθξφηεξε Flash Memory.Δπίζεο ην κφληκν πξφγξακκα ηνπ ινγηζκηθνχ
ηνπ (firmware) παξάιιεια κε ην πξφγξακκα ηεο Atmel,AVR Studio, κπνξεί λα
αλαβαζκηζηεί πνιχ εχθνια θαη ζρεδφλ απηφκαηα κε ηελ ζχλδεζε ηνπ Dragon ζην
PC.Τπνζηεξίδεη κεγάιν κέξνο ησλ κΔ AVR αξθεηνχο απν θάζε θαηεγνξία (Δηθφλα
6.3).
Device
ISP
HVSP
PP
JTAG
JTAG
dW
Connection
Sheet
Remarks
Mega parts
ATmega8515
x
x
SCKT3000D3
ATmega8535
x
x
SCKT3100A3
x
x
ATmega8
x
x
ATmega16
x
x
x
x
SCKT3100A3
x
x
x
x
SCKT3100A3
ATmega48(P)
ATmega88(P)
x
SCKT3200A2
ATmega168(P)
ATmega328P
SCKT3200A2
ATmega164P
ATmega324P
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
54
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
ATmega644(P)
x
x
x
SCKT3100A3
ATmega162
x
x
x
x
SCKT3000D3
ATmega32
x
x
x
x
SCKT3100A3
ATmega32C1
x
x
x
x
Off Board Target
ATmega32M1
x
x
x
x
Off Board Target
ATmega32U4
x
x
x
ATmega64
x
x
x
Off Board Target
ATmega128
x
x
x
Off Board Target
ATmega640
x
x
x
Off Board Target
ATmega1280
x
x
x
Off Board Target
ATmega1281
x
x
x
Off Board Target
ATmega2560
x
x
x
Off Board Target
ATmega2561
x
x
x
Off Board Target
x
x
x
x
Off Board Target
x
x
x
x
Off Board Target
x
x
x
ATmega1284P
x
Off Board Target
ATmega165(P)
ATmega169(P)
ATmega325(P)
ATmega329(P)
ATmega3250(P)
ATmega3290(P)
ATmega645
ATmega649
Off Board Target
ATmega6450
ATmega6490
ATmega406
x
x
Off Board Target
Note: Supports only debugging up to
32kB
Δικόνα 6.3: Τπνζηεξηδφκελεο ΢πζθεπέο. (Μφλν ηεο ζεηξάο ΑΣmega).
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
55
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
Σα πξσηφθνιια πνπ δηαζέηεη ην Dragon θαη κπνξνχκε λα ρξεζηκνπνηήζνπκε
είλαη ηα εμήο:
Ππυηόκολλα Ππογπαμμαηιζμού:

In System Programming

High Voltage Serial Programming

Parallel Programming)

JTAG Programming
Ππυηόκολλα πποζομοίυζηρ: (Γηα ζπζθεπέο κε 32kB Flash ή κηθξφηεξε)

JTAG

debugWIRE
Σν πξσηφθνιιν κε ην νπνίν δνπιέςακε θαη γηα πξνγξακκαηηζκφ ηεο
πιαθέηαο θαη γηα ηελ απνζθαικάησζε ηνπ πξνγξάκκαηνο είλαη ην JTAG θαη ζα ην
αλαιχζνπκε παξαθάησ.
6.4 Δξυηεπική Πεπιγπαθή ηος Dragon
Βγάδνληαο ην AVR Dragon απφ ηελ ζπζθεπαζία ηνπ βιέπνπκε ηηο ζέζεηο πνπ
κπνξνχκε λα ζπλδέζνπκε ηελ πήγε καο.Οη ζέζεηο πνπ είλαη έηνηκεο πξνο άκεζε
ρξήζε είλαη νη εμήο:

ISP Header - Used for ISP programming and debug WIRE OCD

JTAG Header - Used for JTAG programming and JTAG OCD.

VCC Header - Used for powering Devices placed in the prototype
area, or to power external target boards (max 300mA). Set to fixed 5V
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
56
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
Δικόνα 6.4: Ready Headers
Τπάξρνπλ θαη ζέζεηο νη νπνίεο δελ έηνηκεο πξνο ρξήζε αιιά είλαη εχθνιν λα
ηηο ρξεζηκνπνηήζνπκε ηνπνζεηψληαο ηα θαηάιιεια εμαξηήκαηα.Αο δνχκε πην
αλαιπηηθά ηελ ζέζε πνπ επξφθεηην λα ρξεζηκνπνηήζνπκε.Ζ ζέζε JTAG απνηειείηαη
απφ 10 pins θαη ζπλήζσο ρξεζηκνπνηνχκε κηα θαισδηνηαηλία IDC-10 κε ηνπο
θαηάιιεινπο αθξνδέθηεο.Ζ αληηζηνηρία ησλ pin θαίλεηαη παξαθάησ (Δηθφλα 6.5).
Pins
Signal
I/O
Description
1
TCK
Output
Test Clock
2
GND
-
Ground
3
TDO
Input
Test Data Output
4
VTref
Input
Target Reference Voltage
5
TMS
Output
Test Mode Select
6
n SRST
Input/Output
Open Collector Output
7
-
-
Not Connected
8
-
-
Not Connected
9
TDI
Output
Test Data Input
GND
-
Ground
1
0
Δικόνα 6.5: JTAG Connector
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
57
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
Όηαλ ζπλδένπκε ηo Dragon κε ηελ πεγή πνπ ζέινπκε λα πξνγξακκαηίζνπκε
νη ηάζεηο κεηαηξέπνληαη ψζηε λα είλαη ίδηεο κε απηέο ηεο πεγήο.Απηφ γίλεηαη
απηφκαηα.Όκσο ε ηξνθνδνζία ηεο πεγήο καο δελ εθπιεξψλεηαη κέζσ ηνπ θαισδίνπ
ηνπ JTAG.Πξέπεη λα ζπλδέζνπκε ηελ πιαθέηα καο κε ην VCC Connector θαη ην
Ground πνπ
βξίζθνληαη
πάλσ αθξηβψο
απφ ην
JTAG (Δηθφλα 6.4).Αλ
ρξεζηκνπνηήζνπκε εμσηεξηθή ηξνθνδνζία γηα ηελ πεγή καο πξέπεη λα ηελ
ζπλδεζνπκε ζην pin 4 ηνπ JTAG ψζηε λα ηελ κεηαηξέςεη (level-converter).
Έλα αθφκα ζεκείν πνπ είλαη πνιχ ζεκαληηθφ ψζηε λα γλσξίδνπκε ηη
ζπκβαίλεη ζην Dragon φηαλ ην ρξεζηκνπνηνχκε είλαη ηα ιακπάθηα θαηάζηαζεο
(Status LEDs)(Δηθφλα 3.1.4).Παξαθάησ βιέπνπκε ηνλ πίλαθα πνπ ζα καο βνεζήζεη
λα θαηαιάβνπκε ηηο ιεηηνπξγίεο ηνπ Dragon (Δηθφλα 6.6).
LED
Color
Description
2
Green
Indicates USB Traffic
1
Red
Idle, not connected to
AVR Studio
Dark
Idle, connected to
AVR Studio
Green
Data Transfer
Yellow
Firmware Update or
Initialization
Δικόνα 6.6:Status LEDs
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
58
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
6.5 ΢ύνδεζη ζηο PC
Σν πην ζεκαληηθφ πιενλέθηεκα ηνπ Dragon είλαη ην γεγνλφο φηη ε ζχλδεζε
ηνπ κε ηνλ ππνινγηζηή γίλεηαη κέζσ ηεο ζχξαο USB,ε νπνία είλαη πνιχ δηαδεδνκέλε
θαη ππάξρεη ζρεδφλ ζε φινπο ηνπο ζχγρξνλνπο ππνινγηζηέο.Απηά πνπ ρξεηάδνκαζηε
γηα λα μεθηλήζνπκε είλαη ηα εμήο:

“Καηεβάδνπκε” θαη εγθαζηζηνχκε ζην PC ην AVR Studio (4.XX) θαη
πξνζέρνπκε ζηελ εγθαηάζηαζε λα ζπκπεξηειάβνπκε ην USB Driver ψζηε ην Dragon
λα είλαη πιήξσο αλαγλσξίζηκν.

΢πλδένπκε ην Dragon ζηνλ ππνινγηζηή θαη ην αθήλνπκε λα
εγθαηαζηαζεί (ζπλήζσο γίλεηαη απηφκαηα).

Αλνίγνπκε ην AVR Studio πνπ έρνπκε ζηελ δηάζεζε καο.

Σέινο κπνξνχκε λα ζπλδέζνπκε ην Dragon ζηελ πιαθέηα καο.
Όπσο είπακε θαη πξνεγνπκέλσο ην αλαπηπμηαθφ AVR Dragon ηεο Atmel
ρξεζηκνπνηείηαη θαη σο πξνγξακκαηηζηήο θαη απνζθαικαησηήο.Δδψ εξρφκαζηε θαη
δηαθνξνπνηνχκε ιίγν ηελ ζπλδεζκνινγία ηνπ Dragon κε ηελ πεγή αλάινγα κε ην
πνηα ιεηηνπξγία ζέινπκε.Δλψ φηαλ ζέινπκε λα πξνγξακκαηίζνπκε ρξεζηκνπνηνχκε
γηα
ζχλδεζε
κφλν
ηελ
θαισδηνηαηλία,ζαλ
απνζθαικαησηήο
πξέπεη
λα
ρξεζηκνπνηήζνπκε θάπνηεο αληηζηάζεηο αλάινγα κε ην θχθισκα πνπ επξφθεηην λα
ρξεζηκνπνηήζνπκε.Σα ζήκαηα πνπ ζίγνπξα ρξεηαδφκαζηε είλαη 6 απφ ηα 10 ηεο
θαισδηνηαηλίαο.Βιέπνληαο ηελ ζπλδεζκνινγία ζηελ εηθφλα πνπ αθνινπζεί γίλνληαη
φια αληηιεπηά (Δηθφλα 6.7).
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
59
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
Δικόνα 6.7
Σέινο πξέπεη λα πνχκε νηη ην Dragon δελ θαηαζθεπάζηεθε γηα λα δνπιεχεη
κφλν κε έηνηκα θπθιψκαηα αιιά έρνπκε θαη ηελ δπλαηφηεηα λα ρξεζηκνπνηήζνπκε
θαη
ζθέηνπο
επεμεξγαζηέο.Σν
θνκκάηη
ηεο
πιαθέηαο
πνπ
κπνξνχκε
λα
ηνπνζεηήζνπκε ζθέην κΔ νλνκάδεηαη Prototype Board θαη είλαη θαηάιιειν γηα on
chip programming.Οη ζέζεηο πνπ κπνξνχκε λα εθκεηαιιεπηνχκε είλαη:

EXPAND Header

40-pin DIP socket

28-pin DIP socket
Βιέπνπκε ζηελ εηθφλα πνπ αθνινπζεί πσο έρνπλ θνιιεζεί νη βάζεηο ζηηο
ζέζεηο πνπ κπνξεί κειινληηθά λα ρξεηαζηνχλ (Δηθφλα 6.8).
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
60
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
Δικόνα 6.8
6.6 Ιζηοπία ηος JTAG
΢ην πξνεγνχκελν θεθάιαην γλσξίζακε ην AVR Dragon θαη αλαθεξζήθακε
ζην πξσηφθνιιν επηθνηλσλίαο JTAG.Δίδακε πσο γίλνληαη νη ζπλδέζεηο,πνηά είλαη ηα
ζήκαηα πνπ ρξεζηκνπνηνχληαη αλάκεζα ζηελ πεγή θαη ηνλ πξνγξακκαηηζηή.Δμαηηίαο
ηεο ζπνπδαηφηεηαο ζεσξήζακε απαξαίηεην λα αλαπηπρζνχκε πνιχ πεξηζζφηεξν ζε
απηφ ην πξσηφθνιιν,φρη κφλν γηαηί ην ρξεζηκνπνηήζακε αιιά θαη γηαηί κέζα απφ
απηήλ ηελ εξγαζία ην γλσξίζακε θαη αλαγλσξίζακε ηελ αμία ηνπ θαη ηελ αλάγθε
χπαξμεο ηέηνησλ εξγαιείσλ.
Σν αθξσλχκην JTAG αλαθέξεηαη ζηηο ιέμεηο Join Test Action Group θαη είλαη
ζπλψλπκν ηνπ Standard Test Access Port and Boundary-Scan Architecture φπσο
θαζηεξψζεθε κε ην πξφηππν IEEE (1149.1).Αξρηθά απηφ ην πξφηππν δεκηνπξγήζεθε
θνληά ζηα ηέιε ηεο δεθαεηίαο ηνπ 1980 γηα λα βξίζθεη ηα θαηαζθεπαζηηθά ιάζε ζηα
ηππσκέλα
ειεθηξνληθά
θπθιψκαηα
κε
ρξήζε
ηεο
πεξηθεξεηαθήο
ζάξσζεο.Υξεζηκνπνηείηαη κέρξη θαη ζήκεξα γηα ην ίδην αθξηβψο ιφγν,πξνζζέηνληαο
ηα ηέιεηα ραξαθηεξηζηηθά γηα έλα πξνγξακκαηηζηή.΢ήκεξα ρξεζηκνπνείηαη γηα ηνλ
πξνγξακκαηηζκφ θαη απνζθαικάησζε κε κΔ πνπ κπνξνχλ λα ην ππνζηεξίμνπλ,κε
ιεηηνπξγίεο φπσο single stepping θαη break pointing. Δπηπιένλ ρξεζηκνπνηείηαη θαη
γηα πξνγξακκαηηζκφ OTPROM (Οne Time Programmable ROM) πνπ θέξνπλ ηα
chip, γηα πξνγξακκαηηζκφ αζθαιεηψλ αιιά θαη bit θιεηδψκαηνο.
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
61
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
6.7 Πεπιθεπειακή ΢άπυζη (Boundary Scan)
Σν JTAG 1149.1 Boundary Scan std. πξνζθέξεη ηε δπλαηφηεηα ειέγρνπ νξζήο
ιεηηνπξγίαο ελφο νινθιεξσκέλνπ θπθιψκαηνο. Γηα λα γίλεη απηφ πξέπεη ζην
νινθιεξσκέλν λα ππάξρεη κηα ζχξα πξφζβαζεο ειέγρνπ JTAG, ε νπνία απνηειείηαη
απφ 4 ή 5 αθξνδέθηεο. Έρεη σο πξνηφθνιιν 2 ηξφπνπο ιεηηνπξγίαο. Καηά ηνλ πξψην
ηξφπν ειέγρεηαη ε νξζή ιεηηνπξγία εζσηεξηθά ελφο νινθιεξσκέλνπ ελψ θαηά ηνλ
δεχηεξν
ηξφπν
ειέγρνληαη
νη
δηαζπλδέζεηο
κεηαμχ
2
ή
πεξηζζφηεξσλ
νινθιεξσκέλσλ.Αο δνχκε έλα παξάδεηγκα ψζηε λα γίλεη εχθνια αληηιεπηή απηή ε
δηαδηθαζία.
Δικόνα 6.3.1
Σν JTAG φηαλ ελεξγνπνηεζεί έρεη ηελ δπλαηφηεηα λα πάξεη ηνλ πιήξε έιεγρν
ησλ αθξνδεθηψλ φισλ ησλ νινθιεξσκέλσλ. ΢ηελ παξαπάλσ εηθφλα (Δηθφλα 6.3.1)
πνπ βιέπνπκε ζα ζέζεη ηνπο αθξνδέθηεο ηεο CPU σο εμφδνπο ελψ ηνπο αθξνδέθηεο
ηνπ FPGA σο εηζφδνπο. Έηζη ζηέιλνληαο δεδνκέλα πξνο ηνπο αθξνδέθηεο ηεο CPU
θαη δηαβάδνληαο ηηο ηηκέο απφ ηνπο αθξνδέθηεο ηνπ FPGA, αλαγλσξίδεη αλ φιεο νη
ζπλδέζεηο έρνπλ γίλεη νξζά. Απηή ε δηαδηθαζία βάζεη ηνπ JTAG ειέγρεη πιήξσο
αθφκα θαη ηηο ζπλδέζεηο ηεο PCB, ηηο νπέο γηα βξαρπθπιψκαηα θηι. θαηεπζείαλ κέζσ
ησλ νινθιεξσκέλσλ. Απηφο ν έιεγρνο νλνκάδεηαη φπσο πξνείπακε Πεξηθεξηαθή
΢άξσζε.
To JTAG απνηειείηαη απφ 4 ινγηθά ζήκαηα ηα νπνία νλνκάδνληαη TDI, TDO,
TMS θαη TCK. Απφ πιεπξάο ηνπ PC απηά είλαη 3 έμνδνη πξνο ην θχθισκα θαη 1
είζνδνο. Απηά ηα 4 ζήκαηα ζα δηνρεηεπηνχλ ζηα νινθιεξσκέλα κε ζπγθεθξηκέλν
ηξφπν. Πξψηα ηα ΣMS θαη TCK (Δηθφλα 6.3.2) ζπλδένληαη παξάιιεια ζε φια ηα
νινθιεξσκέλα πνπ ππνζηεξίδνπλ JTAG.
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
62
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
Δικόνα 6.3.2
Ακέζσο κεηά ζπλδένληαη ηα TDI θαη ην TDO (Δηθφλα 6.3.3)θαηά ηέηνην
ηξφπν ψζηε λα δεκηνπξγήζνπλ αιπζίδα. Απηφ νλνκάδεηαη ζηελ νξνινγία ηνπ JTAG
σο "JTAG-chain".
Δικόνα 6.3.3
Έηζη φπσο είδακε θάζε ζπκβαηφ νινθιεξσκέλν κε JTAG, έρεη 4 αθξνδέθηεο
γηα ηελ επηθνηλσλία (3 εηζφδνπο θαη 1 έμνδν). Δπηπιένλ γηα πξναηξεηηθή ρξήζε
ππάξρεη πνιιέο θνξέο θαη έλαο πέκπηνο αθξνδέθηεο ν TRST, πνπ ρξεζηκνπνηείηαη γηα
ην reset ηνπ JTAG. Απηνί νη αθξνδέθηεο είλαη αθνζησκέλνη κφλν γηα ρξήζε ζε JTAG
θαη γηα θακία άιιε ρξήζε.
6.8 Αποζθαλμάηυζη (Debugging)
Παξφιν πνπ ην JTAG ζρεδηάζηεθε αξρηθά γηα ηελ αλαγλψξηζε ιαζψλ ζε
ηππσκέλα ειεθηξνληθά θπθιψκαηα, ζήκεξα είλαη ρξεζηκνπνηείηαη θαη ηελ
πξνζπέιαζε ζε ζεκεία ησλ νινθιεξσκέλσλ θπθισκάησλ θαζηζηψληαο ην έλαλ
απαξαίηεην κεραληζκφ γηα ηελ απνζθαικάησζε ελζσκαησκέλσλ ζπζηεκάησλ.΢ηα
πεξηζζφηεξα ζπζηήκαηα είλαη δηαζέζηκν κεηά ην πξψην Reset ηεο θεληξηθήο κνλάδαο
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
63
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
επεμεξγαζίαο (CPU). Γειαδή ην JTAG ζηα ελζσκαησκέλα ζπζηήκηα είλαη έλαο on
chip εμνκνησηήο πνπ έρεη δηθαίσκα λα κεηαθέξεη πιεξνθνξίεο κέζα απφ ηελ Κ.Μ.Δ.
ηεο πεγήο καο. Με ην JTAG κπνξνχκε λα πξνγξακκαηίζνπκε ηνπο επεμεξγαζηέο λα
ζηακαηήζνπλ,λα ηξέμνπλ κφλν κηα θνξά ηνλ θψδηθα,λα ηξέρνπλ ζπλέρεηα κέρξη ην
επφκελν Reset. Δπίζεο έλα πνιχ ζεκαληηθφ ζηνηρείν,ην νπνίν ζεσξείηαη κεγάιν
πιενλέθηεκα, είλαη ην γεγνλφο νην επηηξέπεηαη ην break pointing. Όπνηα δηαδηθαζία
θαη λα δηαιέμνπκε κπνξνχκε λα βιέπνπκε ηηο κεηαβιεηέο καο πσο αιιάδνπλ θαη ηηο
ηηκέο πνπ παίξλνπλ. Με απηφ ηνλ ηξφπν κπνξνχκε λα αληηιεθζνχκε ηα ιάζε ζην
θψδηθα καο.
6.9 Οθόνη LCD (Display)
Γηα ηελ εκθάληζε ησλ δεδνκέλσλ καο ζην ρξήζηε ρξεζηκνπνηήζακε κηα
νζφλε πγξψλ θξπζηάιισλ, απφ ηελ εηαηξεία Electronic Assembly,ην κνληέιν ΔΑ
DOGM163.Δίλαη κηα νζφλε 3 ζεηξψλ θαη 16 ραξαθηήξσλ (αλά ζεηξά) ή 3x16 ηεο
νπνίαο νη κεραληθέο δηαζηάζεηο θαίλνληαη ζηελ παξαθάησ εηθφλα. Ζ νζφλε δελ
επηθνηλσλεί απεπζείαο κε ηνλ AVR αιιά κέζσ ηνπ ειεγθηή/νδεγνχ ST 7036 πνπ
δηαζέηεη επηθνηλσλία ησλ 4 bit,8 bit θαη 4 bit (SPI Interface),ηεο εηαηξείαο Sitronix.
Δικόνα 6.4.1:Φπζηθέο Γηαζηάζεηο Οζφλεο.
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
64
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
Σν νινθιεξσκέλν απηφ δέρεηαη απφ ηνλ κηθξνυπνινγηζηή ηηο εληνιέο θαη ηα
δεδνκέλα θαη ζηέιλεη ζηελ νζφλε ην ραξαθηήξα πνπ πξέπεη λα εκθαληζηεί.
Παξάιιεια εμαζθαιίδεη ηε δηαρείξηζε ηνπ δξνκέα θαζψο θαη άιιεο ιεηηνπξγίεο (π.ρ.
νιηθφ θαζάξηζκα ηεο νζφλεο, νιίζζεζε ραξαθηήξσλ θ.ι.π.). Πεξηέρεη γελλήηξηα
ραξαθηήξσλ ζε ROM θαη δεκηνπξγεί φια ηα ειεθηξηθά ζήκαηα πνπ ρξεηάδνληαη γηα
ηε ιεηηνπξγία ηνπ LCD. Μηα ζεηξά απφ LED εμαζθαιίδνπλ νπίζζην θσηηζκφ
θαηάιιειν γηα ηελ εχθνιε αλάγλσζε ηεο νζφλεο ηφζν ζε ρακειφ φζν θαη ζε πςειφ
θσηηζκφ πεξηβάιινληνο.
Δικόνα 6.4.2: ΢πλδεζκνινγία Οζφλεο.
Υξεζηκνπνηήζακε ηελ ζπλδεζκνινγία ησλ 4 bit κε 3,3 Volt ηάζε
ηξνθνδνζίαο κηαο θαη ATmega128 έρεη ηάζε ηξνθνδνζίαο 3,3 Volt ,θαη ε
ζπλδεζκνινγία θαίλεηαη παξαθάησ.
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
65
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
66
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
ΚΔΦΑΛΑΗΟ 7
7.1 Γενικά σαπακηηπιζηικά
΢ην θεθάιαην απηφ ζα γίλεη πεξηγξαθή ησλ εξγαιείσλ αλάπηπμεο πνπ
ρξεζηκνπνηήζεθαλ ζηα πιαίζηα ηεο δηπισκαηηθήο θαη πην ζπγθεθξηκέλα ηνπ πεξηβάιινληνο αλάπηπμεο AVR Studio ηεο Atmel θαη ηνπ εξγαιείνπ πξνγξακκαηηζκνχ
WinAVR. Σα πην πάλσ εξγαιεία ήηαλ αλαγθαία γηα ηελ πινπνίεζε ηεο πηπρηαθήο θαη
είλαη απαξαίηεηα γηα θάζε ππνςήθην πξνγξακκαηηζηή.
7.2 Σο AVR Studio
Σν AVR Studio είλαη ην ηδαληθφ πξφγξακκα γηα θάζε εθαξκνγή πάλσ ζε
AVR. Πεξηιακβάλεη έλαλ ζπληάθηε/δηνξζσηή (editor), έλαλ ζπκβνινκεηαθξαζηή
(assembler) θαη έλαλ απνζθαικαησηή (debugger) θαη επηηξέπεη ηελ αμηνπνίεζε θάζε
πξνζνκνησηή AVR, ηνπ Dragon θαη θάζε πιαθέηαο πνπ βαζίδεηαη ζηνλ AVR θαη έρεη
ζρεδηαζηεί θαηάιιεια.
Σν AVR Studio δηαηίζεηαη δσξεάλ ζην site ηεο Atmel (www.atmel.com) θαη
εγθαζίζηαηαη ζηνλ ππνινγηζηή κε κηα πνιχ απιή δηαδηθαζία.
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
67
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
Ζ ζχξα δηαζχλδεζεο κεηαμχ ρξήζηε θαη Dragon ελεξγνπνηείηαη κε ην πάηεκα
ηνπ πιήθηξνπ „AVR‟ πνπ βξίζθεηαη ζηε γξακκή εξγαιείσλ ηνπ AVR Studio.
Δκθαλίδεηαη έηζη ην παξάζπξν ηεο θσηνγξαθίαο ζην νπνίν γίλνληαη φιεο νη
επηζπκεηέο ξπζκίζεηο ζρεηηθά κε ην κνληέιν ηνπ AVR, ηνλ ηξφπν πξνγξακκαηηζκνχ,
ηε κλήκε φπνπ ζα απνζεθεπηεί ην πξφγξακκα, ηηο αζθάιεηεο, ηα bits θιεηδψκαηνο,
ηελ ηάζε ιεηηνπξγίαο, ηε ζπρλφηεηα ιεηηνπξγίαο θ.ι.π..
Αθνχ φιεο νη επηινγέο πξνγξακκαηηζηνχλ, κε ην πάηεκα ηνπ πιήθηξνπ
„Program‟ ν AVR πνπ βξίζθεηαη ζηελ πιαθέηα πξνγξακκαηίδεηαη.
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
68
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
7.3 To WINAVR
Σν WINAVR είλαη έλα νινθιεξσκέλν πεξηβάιινλ πξνγξακκαηηζκνχ ηνπ
AVR ζε assembly θαη γιψζζα C. Πξφθεηηαη γηα κεηαθνξά ζε πεξηβάιινλ windows
ηνπ GNU compiler γηα C, πξνζαξκνζκέλνπ ζηελ αξρηηεθηνληθή ηνπ κηθξνυπνινγηζηή
AVR. Γηαηίζεηαη δσξεάλ απφ ην δηαδίθηπν (http://sourceforge.net/projects/winavr)
θαη είλαη αλνηθηνχ πεγαίνπ θψδηθα.
΢πλνδεχεηαη απφ πιήζνο βνεζεηηθψλ πξνγξακκάησλ (assembler, linker, make
θ.ι.π.) κεηαμχ ησλ νπνίσλ πεξηιακβάλεηαη θαη ην objcopy κε ην νπνίν
πξνεηνηκάδνληαη ζηελ ηειηθή δεθαεμαδηθή κνξθή ηνπο ηα πξνγξάκκαηα έηνηκα γηα
θφξησκα ζηνλ AVR.
Μέξνο ηεο εγθαηάζηαζεο είλαη θαη πινχζηα ηεθκεξίσζε ηφζν γηα ηα εξγαιεία
απηά θαζ‟ εαπηά, φζν θαη γηα ηερληθέο πξνγξακκαηηζκνχ ηνπ ζπγθεθξηκέλνπ κηθξνυπνινγηζηή.
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
69
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
ΚΔΦΑΛΑΗΟ 8
8.1 Λίγα λόγια για ηην πλακέηα
Ζ πιαθέηα ηεο θαηαθεπήο καο, ζρεδηάηεθε απφ ηνλ θαζεγεηή θαη
ζπλαξκνινγήζεθε απφ εκάο. Δπεηδή ε πιαθέηα ήηαλ θνηλή θαη ζε πηπρηαθέο κε
δηαθνξεηηθφ ζέκα, φινη νη θνηηεηέο βνήζεζαλ ζηελ αλαδήηεζε ησλ εμαξηεκάησλ θαη
ζηελ ζπλαξκνιφγεζε απηψλ. Ζ πιαθέηα θαίλεηαη ζηελ παξαθάησ εηθφλα.
΢ην παξάξηεκα ππάξρεη θαη ην ζρέδην ηεο πιαθέηαο έηζη φπσο παξαδφζεθε ζε
καο απφ ηνλ θαζεγεηή καο.
8.2 Λίγα λόγια για ηο ππόγπαμμα μαρ
Σν πξφγξακκα ηεο πηπρηαθήο γξάθηεθε ζηελ γιψζζα πξνγξακκαηηζκνχ C. Ζ
C είλαη κηα γεληθήο ρξήζεο δηαδηθαζηηθή γιψζζα πξνγξακκαηηζκνχ ε νπνία
αλαπηχρηεθε ζηηο αξρέο ηεο δεθαεηίαο 1970-1980 απφ ηνλ Νηέληο Ρίηζη ζηα
εξγαζηήξηα Bell Labs γηα λα ρξεζηκνπνηεζεί γηα ηελ αλάπηπμε ηνπ ιεηηνπξγηθνχ
ζπζηήκαηνο UNIX. Απν ηφηε ρξεζηκνπνηείηαη επξχηαηα, θαη ηδηαίηεξα γηα αλάπηπμε
πξνγξακκάησλ ζπζηήκαηνο (system software) αιια θαη γηα απιέο εθαξκνγέο. Οη
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
70
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
ιφγνη ηεο ξαγδαίαο αλάπηπμεο ηεο ζπγθεθξηκέλεο γιψζζαο πξνγξακκαηηζκνχ είλαη ε
ηαρχηεηα ηεο, θαζψο θαη ην γεγνλφο φηη είλαη δηαζέζηκε ζηα πεξηζζφηεξα ζεκεξηλά
ιεηηνπξγηθά ζπζηήκαηα.
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
71
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
ΠΑΡΑΡΣΗΜΑ
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
72
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
Κώδικαρ:
#include <avr/io.h>
#include <stdlib.h>
#include <avr/interrupt.h>
#include <avr/pgmspace.h>
#define LCD_PORT
PORTC
PC3 (DB4 to DB7 on the DOG)
#define PIN_ENABLE
//datapins are PC0 to
PC5
#define PIN_RS
PC6
#define PIN_RW
PC4
#define CHARACTER_BUFFER_BASE_ADDRESS
#define CHARACTERS_PER_ROW
0b10000000
16
//instructions (see the ST7036 instruction set for
further information)
#define INSTRUCTION_CLEAR_DISPLAY
// 0x01
0b00000001
#define INSTRUCTION_FUNCTION_SET_INIT_0
// 0x33
0b00110011
#define INSTRUCTION_FUNCTION_SET_INIT_1
// 0x32
0b00110010
#define INSTRUCTION_FUNCTION_SET_INIT_2
// 0x29
0b00101001
#define INSTRUCTION_INSTRUCTION_SET_0
// 0x28
0b00101000
#define INSTRUCTION_INSTRUCTION_SET_1
// 0x29
0b00101001
#define INSTRUCTION_BIAS_SET
// 0x15-
0b00010101
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
73
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
#define INSTRUCTION_POWER_CONTROL
// 0x55-
0b01010101
#define INSTRUCTION_FOLLOWER_CONTROL
// 0x6E-
0b01101110
#define INSTRUCTION_CONTRAST_SET
// 0x72-
0b01110010
#define INSTRUCTION_DISPLAY_ON
0b00001100 // 0x0F
#define INSTRUCTION_ENTRY_MODE
0b00000110 // 0x06
//0b01110010
#include <avr/io.h>
#include <util/delay.h>
//writes 8 bit to the ST7036 in 2 nibbles (2 x 4bit)
void write(char data)
{
char port_buffer = LCD_PORT;
//write the high nibble first...
char nibble = (data & 0xF0) >> 4;
LCD_PORT |= nibble;
LCD_PORT |= (1 << PIN_ENABLE);
_delay_ms(1);
LCD_PORT = port_buffer;
_delay_ms(1);
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
74
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
//...then the low nibble
nibble = data & 0x0F;
LCD_PORT |= nibble;
LCD_PORT |= (1 << PIN_ENABLE);
_delay_ms(1);
LCD_PORT = port_buffer;
}
void write_instruction(char instruction)
{
//RS low = instruction
LCD_PORT &= ~(1 << PIN_RS);
write(instruction);
}
void write_data(char data)
{
//RS high = data
LCD_PORT |= (1 << PIN_RS);
write(data);
}
void set_cursor(char row, char column)
{
write_instruction(CHARACTER_BUFFER_BASE_ADDRESS +
row * CHARACTERS_PER_ROW + column);
}
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
75
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
void write_string(char* string)
{
while (*string)
{
write_data(*string);
*string++;
}
}
void initialize_display(void)
{
//wait for a short period, maybe the voltage needs
to stabilize first
_delay_ms(50);
//initialize 4 bit mode
write_instruction(INSTRUCTION_FUNCTION_SET_INIT_0);
write_instruction(INSTRUCTION_FUNCTION_SET_INIT_1);
write_instruction(INSTRUCTION_FUNCTION_SET_INIT_2);
//initialize everything else
//NOTE: In case you need an other initializationroutine (blinking cursor,
//double line height etc.) choose the appropriate
instructions from
//the ST7036 datasheet and adjust the C-defines at
the top of this file
write_instruction(INSTRUCTION_BIAS_SET);
write_instruction(INSTRUCTION_POWER_CONTROL);
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
76
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
write_instruction(INSTRUCTION_FOLLOWER_CONTROL);
write_instruction(INSTRUCTION_CONTRAST_SET);
write_instruction(INSTRUCTION_INSTRUCTION_SET_0);
write_instruction(INSTRUCTION_DISPLAY_ON);
write_instruction(INSTRUCTION_CLEAR_DISPLAY);
write_instruction(INSTRUCTION_ENTRY_MODE);
}
const int TEMP_windspeed_pos[] PROGMEM =
check with for later
//
ADC-value
{10,36,48,60,72,84,96,108,120,132,144,156,168,180,192,204
,216,228,240,252,264,276,288,300,312,324,336,348,360,372,
384,396,408,420,432,444,456,468,480,492,504,516,528,540,
552,564,576,588,600,612,624,636,648,660,672,684,696,708,7
20,732,744,756,768,780,792
};
int main (void)
{
//set LCD_PORT to OUTPUT and then ...
DDRC = 0xFF;
LCD_PORT &= ~(1 << PIN_RW); //my addition
initialize_display();
write_instruction(INSTRUCTION_CLEAR_DISPLAY);
ADCSRA |= (1 << ADPS2) | (1 << ADPS1) | (1 <<
ADPS0); // Set ADC prescalar to 128 - 125KHz sample rate
@ 16MHz
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
77
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
ADMUX |= (1 << REFS0); // Set ADC reference to AVCC
// No MUX values needed to be changed to use ADC0
ADCSRA |= (1 << ADFR);
Mode
// Set ADC to Free-Running
ADCSRA |= (1 << ADEN);
// Enable ADC
ADCSRA |= (1 << ADSC);
// Start A2D Conversions
char meter[4];
char kmeter[4];
//int tempC=0;
int val , m
, k ,i ,km;
unsigned int sum=0;
set_cursor(0,4);
//write to lcd this stuff
write_string("PROJECT");
set_cursor(1,4);
write_data(29);
write_string("H");
write_data(28);
write_string("IAKO");
set_cursor(2,3);
write_string("ANEMOMETPO");
_delay_ms(5000);
write_instruction(INSTRUCTION_CLEAR_DISPLAY);
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
78
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
set_cursor(0,3);
write_string("A");
write_data(25);
write_string("O TOY");
write_data(26);
write_string(" :");
set_cursor(1,0);
write_string("B.EYA");
write_data(20);
write_data(20);
write_string("E");
write_data(23);
write_string("OY");
set_cursor(2,0);
write_data(21);
write_string(".KEXA");
write_data(20);
write_string("IA");
_delay_ms(5000);
write_instruction(INSTRUCTION_CLEAR_DISPLAY);
for(;;) //loop forever
{
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
79
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
val=0;
sum=0;
i=0;
km=0;
m=0;
k=0;
set_cursor(0,0);
write_string("H TAXYTHTA ");
set_cursor(1,4);
write_string("EINAI :");
for(int i=0; i<8; i++) //loop for average
{
sum += ADCW; //summary
_delay_ms(50);
}
val = sum / 8.; //division with 8 to find a
value
for (i=0; i<77; i++)
//loop to search the
pgmem
{
if (val < pgm_read_word(&TEMP_windspeed_pos[i]))
//check the value
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
80
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
{
break;}
}
km=i/3.6;//division with 3.6 to fid the meters
if (i<10)
{
set_cursor(2,3);
write_string(" ");
}
else if (i<100)
{
set_cursor(2,4);
write_string(" ");
}
if (km<10)
{
set_cursor(2,11);
write_string(" ");
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
81
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
}
else if (km<100)
{
set_cursor(2,12);
write_string(" ");
}
itoa(i , kmeter, 10);
set_cursor(2,2);
write_string(kmeter);
itoa(km , meter , 10);
set_cursor(2,10);
write_string(meter);
set_cursor(2,6);
write_string("k/h");
set_cursor(2,13);
write_string("m/s ");
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
82
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
}//end of for ;;
return 0;
}//end of main
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
83
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
΢σημαηικό:
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
84
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
85
ΜΕΣΡΗ΢Η ΔΤΝΑΜΗ΢ ΑΝΕΜΟΤ ΚΑΙ ΑΠΕΙΚΟΝΙ΢Η ΜΕ ΜΙΚΡΟΕΛΕΓΚΣΗ
΢.Σ.Ε.Φ. Σμήμα Ηλεκτρολογίας
86