Menu schließen

Facharbeit: Drehzahlregelung mit Atmel Atmega 8

Alles zu Controllerprogrammierung

Inhaltsverzeichnis


1 Einleitung 3
1.1 Allgemein 3
1.2 Zielsetzung 3
2 Grundlagen 3
2.1 Was ist ein Mikrocontroller? 3
2.2 Verwendung von Mikrocontrollern 3
2.3 Funktionsweise von Mikrocontrollern 4
3 Konkretisierung der Aufgabenstellung 5
4 Software, Hardware und andere Komponenten 5
4.1 Software 5
4.2 Hardware / Bauteilliste 6
4.3 Hilfsmittel und sonstiges Material 6
4.4 Beschreibung der Komponenten 6
4.4.1 BASCOM AVR 6
4.4.2 PonyProg 6
4.4.3 Atmega 8 7
4.4.4 RS232 Verbindungskabel 7
4.4.5 IDE Buchse/Flachbandkabel auf Lochrasterplatine "LCD" 7
4.4.6 Gabellichtschranke mit Beschaltung 8
4.4.1 Der Modellbaumotor 9
4.4.2 Drehgeberscheibe 9
4.4.3 Lochrasterplatine "Motor" 10
4.4.4 LCD Display 10
5 Schaltplan 11
6 Das Programm 12
6.1 Der Programmablauf und die Funktionsweise 12
6.2 Grobe Programmablaufbeschreibung 12
6.3 Funktionsweise der ISR (Interrupt Service Routine) 13
6.4 Funktionsweise von Timer 1 13
7 Programmcode 15
8 Fazit 19
9 Abbildungsverzeichnis 20
10 Literaturverzeichnis 21
11 Internetquellen 22

Einleitung

Allgemein
Die vorliegende Arbeit entstand im Rahmen des Student Consulting an der NBS im Wintersemester 2011 im Fach Informationstechnik / Entwurfsmethoden. Sie beschreibt die Anwendungsmöglichkeiten eines Mikrocontrollers anhand einer Drehzahlmessung an einem Modellbaumotor.

Zielsetzung
Es soll anhand eines Drehgebers, der aus einem Zahnrad gefertigt ist, die Drehzahl eines Modellbaumotors mit Hilfe einer Gabellichtschranke und eines Mikrocontrollers vom Typ ATMEGA 8 erfasst und auf einem 16 x 2 LCD-Display ausgegeben werden.
Grundlagen
Was ist ein Mikrocontroller?
Wie bei einem Menschen das Gehirn Arme, Beine, Atmung etc. steuert kann der Mikrocontroller eine Art Steuereinheit "Gehirn" eines Gerätes sein.
Ein Mikrocontroller ist ähnlich einem Prozessor nur dass bei einem Mikrocontroller die Speicher, Digitale und Analoge Ein- und Ausgänge auf einem einzigen Chip integriert sind. Dieser besteht aus einem Prozessor, einem Speicher, sowie Ein- und Ausgangs Pins. Hierdurch ist es möglich Anwendungen mit wenigen Bauteilen zu realisieren.

Verwendung von Mikrocontrollern
In nahezu jedem elektronischen Gerät indem Ein- und Ausgehende Signale verarbeitet werden, befindet sich ein Mikrocontroller. Diese lassen sich frei programmieren und somit auf die individuellen Bedürfnisse einstellen, z.B. Sprechwidergabe in Kinderspielzeug oder Messdatenerfassung zur Steuerung von Industrieanlagen. All diese Anforderungen lassen sich mit einem Mikrocontroller realisieren.


Funktionsweise von Mikrocontrollern
Mikrocontroller sehen aus wie eine schwarze Blackbox und besitzen je nach Grösse und Typ eine bestimmte Anzahl an Pins. Die Funktionsweise der Mikrocontroller soll anhand des Atmega 8 von Atmel im Folgenden näher erläutert werden.
Im Groben geht es darum eingehende Signale aus der Umwelt anhand eines Programms zu verarbeiten und dem zu folge bestimmte Signale oder Informationen auszugeben.
Der Atmega 8 besitzt 28 Pins, auf jeder Seite 14. Eine Möglichkeit von vielen ist es diesen auf einem Evaluation Board zu platzieren und hierdurch eine Verbindung zwischen den Mikrocontroller und dem Computer herzustellen und diesen mithilfe bestimmter Software zu programmieren.
Ist der Anschluss mit dem Computer erfolgt und die Verbindung hergestellt, kann eine spezielle auf dem Computer geschriebene Software, in den Flash Speicher des Mikrocontrollers gebrannt werden. Somit arbeitet der Mikrocontroller bei anliegender Betriebsspannung das Programm unabhängig vom Computer ab.
Über die Software können die Pins des Mikrocontrollers als Eingänge, Ausgänge, Interrupt Ein- oder Ausgänge, A/D Eingänge oder Timer Ausgänge konfiguriert werden. Je nach Funktionsweise des Mikrocontrollers können die Pins individuell belegt werden. Einen genauen Einblick in die Funktionalität des jeweiligen Mikrocontrollers ist dem zugehörigen Datenblatt zu entnehmen.
Mikrocontroller arbeiten mit einer Betriebsspannung die gewöhnlich 5V beträgt. Liegt die Betriebsspannung an einem der Pins an, so wird dies als High Level gewertet. Liegt keine Spannung an, so wird dies als Low Level gewertet.
Ein High Level an einem Pin wird vom Programm, dass auf dem Mikrocontroller gespeichert ist, als eine Logisch 1 interpretiert. Ein Low Level an einem Pin wird als Logisch 0 interpretiert.


Um einen Logischen Programmablauf abzuarbeiten, werden die an den Pins anliegenden Signale anhand eines definierten Algorithmus verarbeitet. Ein Algorithmus ist eine genaue Handlungsvorschrift für bestimmte Signale.
Man bedient sich verschiedener Programmiersprachen. Der Mikrocontroller versteht nur die sog. Maschinensprache, also eine Zahlenfolge aus Nullen und Einsen.
Da die Maschinensprache für den Menschen sehr unübersichtlich ist, vereinfachen die verschiedenen Programmiersprachen dem Programmierer die Programmierung durch Worte, Zeichen und Befehlssätze. Diese Programme werden dann in eine für den Mikrocontroller verständliche Maschinensprache umgewandelt und übertragen.
Konkretisierung der Aufgabenstellung
Mit einem Atmega 8 Mikrocontroller von Atmel sollen Daten erfasst, berechnet und ausgegeben werden. Zur Realisierung der Schaltung wird ein Programmierboard mit Außenbeschaltung verwendet.
Die Drehzahl eines Modellbau-Motors soll ermittelt und auf einem LCD Display ausgegeben werden. Durch einen auf der Welle eines Motors gekoppelten Drehgebers, der über eine Gabellichtschranke montiert ist, sollen Impulse erzeugt werden die vom Mikrocontroller mithilfe eines Timers in einem definierten Zeitraum gezählt werden. Das Ergebnis soll anhand mathematischer Formeln die Drehzahl des Motors pro Minute berechnen. Die Anzahl der Impulse, sowie die Umdrehungen pro Minute werden auf einem LCD Display ausgegeben.
Software, Hardware und andere Komponenten
Zur Realisierung des Projekts werden folgende Hilfsmittel und Bauteile angewandt.
Software
BASCOM AVR
PonyProg

Hardware / Bauteilliste
ATMEGA 8 von Atmel
Atmel Evaluationboard/Programmierboard von Pollin Ver. 2.01
RS232 Verbindungskabel
IDE Flachbandkabel
2 x IDE Buchse
Stiftleisten
Modellbaumotor
Drehgeberscheibe
2 x 60 Widerstände 0,25 W
1 x 100 Widerstand 2 W
1 x Potentiometer 0 - 10K / 0,25 W
2 Lochraster Platinen
2 Spannungsquellen 5V - 12V
LCD Display 16x2 TYP TC 1602A-08
Kupplung zur Aufnahme des Drehgebers
Gestell zur Aufnahme des Motors

Hilfsmittel und sonstiges Material
Notebook mit dem Betriebssystem Windows XP und seriellem Anschluss
Voltmeter zur Widerstands und Spannungsmessung
Lötkolben
Lötzinn
Krokodilklemmen
Verbindungsleitung 0,75 mm²

Beschreibung der Komponenten
BASCOM AVR
BASCOM ist eine Compiler orientierte Programmiersprache. Mithilfe dieser Software soll ein Programm geschrieben werden um das Projekt zu realisieren.
PonyProg
Mithilfe der Software PonyProg, soll das mit Bascom geschriebene Programm auf dem Flash Speicher des Mikrocontrollers übertragen und gebrannt werden.
Atmega 8
Der Mikrocontroller hat die Aufgabe den Programmablauf abzuarbeiten. Hierbei sollen die Impulse durch die Gabellichtschranke gezählt werden. Anhand der Daten sollen Berechnungen durchgeführt und auf einem LCD Display ausgegeben werden.
RS232 Verbindungskabel
Das Verbindungskabel verbindet das Notebook mit dem Programmierboard über eine Serielle Schnittstelle.
IDE Buchse/Flachbandkabel auf Lochrasterplatine "LCD"
Die in die Lochrasterplatine eingelötete IDE Buchse ermöglicht die Aufnahme des IDE Flachbandkabels. Das IDE Kabel schafft eine Verbindung zwischen Programmierboard und Lochrasterplatine mit aufgelötetem LCD Display. Auf dieser Lochrasterplatine befinden sich aufgelötete Stifte, worüber ein direkter Zugriff auf die einzelnen Pins des Mikrocontrollers, sowie eine Verbindung zu den einzelnen Pins des LCD Displays erfolgen kann. Die Lochrasterplatine "LCD" wird mit der Spannungsquelle des Programmierboards gespeist.

Abbildung 1. Lochrasterplatine "LCD"
Gabellichtschranke mit Beschaltung
Die Gabellichtschranke TCST 1103 besteht aus einer Sende und einer Empfangseinheit. Die Sende Einheit besteht aus einer Infrarot Sendediode, diese ist in Reihe zu zwei parallel geschalteten Widerständen mit je 60 geschaltet. Der Gesamtwiderstand beträgt 30, da

1/Rg=1/R1+1/R2=1/60+1/60=Rg=30

Die Empfangseinheit besteht aus einem Transistor dessen Basis auf Lichtsignale reagiert. Der Transistor wird durch die Leuchtdiode angeregt und ist in Reihe zu einem 100 Widerstand, sowie zu einem Potentiometer geschaltet. Der Potentiometer ist auf einem Widerstandswert von 700 eingestellt, die Reihenschaltung der Widerstände beträgt daher 800.

Abbildung 2. Gabellichtschranke

Durch diese Beschaltung der Gabellichtschranke wird ein klares High/Low Level Signal gewährleistet. Wird der Transistor mit einem Signal beschickt, so wird am Anschluss (D) eine Spannung von 4,6V (High Pegel) gemessen. Wird das Signal durch den Drehgeber unterbrochen, so wird eine Spannung von 0,4V (Low Pegel) gemessen. Durch Veränderung der Widerstände an den Anschlußpunkten (D) und (E), können der High und Low Pegel eingestellt werden.
Der Modellbaumotor
Je nach angelegter Spannung zwischen 3 und 6V hat der Motor eine Leerlaufdrehzahl von bis zu 6500 Umdrehungen pro Minute. Der Leerlaufstrom beträgt 120 mA.

Abbildung 3. Modellbaumotor

Drehgeberscheibe
Die Drehgeberscheibe hat die Funktion, den ausgesendeten Lichtstrahl durch die Leuchtdiode zum lichtempfindlichen Transistor in regelmäßigen Abständen zu unterbrechen.
Zur Realisierung dieses Bauteils wurde nach mehreren erfolglosen Versuchen mit anderen Materialien ein Kunststoffzahnrad verwendet. In das Zahnrad wurden in gleichmäßigen Abständen 8 Einschnitte mit einer Bandsäge gesägt. Die Drehgeberscheibe wurde mithilfe einer Kupplung an die Welle des Motors montiert.


Lochrasterplatine "Motor"
Motor mit Drehgeberscheibe, sowie Gabellichtschranke mit den zugehörigen elektronischen Komponenten wurden auf diese Lochrasterplatine geklebt und gelötet. Über 5 Metall Stifte können der Motor, sowie die Gabellichtschranke mit Spannung versorgt werden. Über den einen der 5 Stifte wird das Signal der Lichtschranke "Impuls" abgegriffen.


Abbildung 5. Lochrasterplatine "Motor"

LCD Display
Als Ausgabeeinheit wird ein LCD-Display gewählt.
Das LCD-Modul TC1602A-08 bietet eine zweizeilige Anzeige mit 16 Ziffern pro Zeile.
Über 2 separate Pins kann die Hintergrundbeleuchtung "Blau" aktiviert werden.
Abbildung 6. LCD Display
Schaltplan


Abbildung 7. Schaltplan

Alle mit (+) gekennzeichneten Anschlüsse sind mit der Spannungsquelle Positiv geschaltet. Mit (-) gekennzeichnete Anschlüsse sind mit Masse geschaltet.
Über den RESET Taster kann der Mikrocontroller neu gestartet werden.
Um Störungen an den offenen Pins des Mikrocontrollers zu vermeiden werden die Pins mit Masse geschaltet, dabei besteht die Möglichkeit einen Internen "Pullup" Widerstand einzuschalten.
Das Programm
Der Programmablauf und die Funktionsweise

Abbildung 8. Programmablauf im Überblick

Grobe Programmablaufbeschreibung
Im folgendem soll der Programmablauf aus 6.1 näher erläutert werden. Detaillierte Erklärungen der einzelnen Programmschritte sind den Kommentaren aus dem Programmcode unter Punkt 7 zu entnehmen.
Sobald das Programm geschrieben und dem Mikrocontroller übermittelt wurde, startet es sobald am Mikrocontroller die Betriebsspannung anliegt.
Sind die Interrupts und der Timer aktiv, werden in der Do...Loop Schleife alle gesammelten Informationen berechnet und ausgegeben. Die ISR (Interrupt Service Routine) ist dafür zuständig die Impulse der Gabellichtschranke, die durch den Drehgeber erzeugt werden, zu zählen.
Die Timer Routine fragt jede Sekunde die ISR nach den aktuellen gezählten Wert ab und hält diese für die Do..Loop Schleife zur Berechnung bereit.
Sobald diese Schritte erfolgt sind erfolgt die Berechnung und die Ausgabe der berechneten Werte in der Do...Loop Schleife an das LCD Display.
Funktionsweise der ISR (Interrupt Service Routine)
Der Interrupt Pin liegt beim Atmega 8 an PIND.2. Erfolgt auf diesem Pin ein Impuls wie z.B. eine Unterbrechung durch den Drehgeber an der Lichtschranke, so erfolgt unabhängig von anderen gerade laufenden Programmen auf dem Mikrocontroller ein Sprung in die ISR. Dieses Unterprogramm wird durchlaufen, dabei werden alle in diesem Unterprogramm stehenden Befehle abgearbeitet.
Um die Impulse am Modellbaumotor zählen zu können wurde in die ISR eine Variable vom Typ Byte = 0 definiert. Sobald ein Interrupt erfolgt, wird um 1 hochgezählt und der aktuelle Wert in die Variable gespeichert. Der Datentyp Byte ist 8 Bit groß und hat daher den Wertebereich 0 bis 255.
Beispiel:
An der Gabellichtschranke erfolgt die erste Unterbrechung durch den Drehgeber. Dieser Impuls erfolgt durch die Verdrahtung der Gabellichtschranke mit dem Mikrocontroller gleichzeitig an PIND.2. Der Mikrocontroller erkennt einen Impuls und aktiviert die ISR in der sich die Variable "Zaehlungderimpulse" (Aktuell ist die Wertigkeit der Variable 0) befindet. Jetzt wird die Variable durch den Befehl Incr um eins hochgezählt und hat die Wertigkeit 1. Erfolgt noch ein Impuls, so geschieht der gleiche Ablauf, jedoch hat die Variable die Wertigkeit 2 usw.

Funktionsweise von Timer 1
Der Atmega8 kann in drei Timer Varianten programmiert werden. Hierzu muß explicit Timer 0, Timer 1 oder Timer 2 ausgewählt werden.
Timer 1 unterscheidet sich zu den anderen Timern dadurch, dass dieser von 0 bis 65535 zählt "16 Bit Timer", während die Anderen von 0 bis 255 zählen. Ein Timer funktioniert wie eine Schleife.
Das Programm arbeitet mit einem eingestellten Systemtakt von 16.000.000 Ticks/Sekunde, was 16MHz entspricht.

Wird nun Timer 1 aktiviert, so läuft dieser nach 65535 Ticks einmal über und löst ein Interrupt aus. Bei einem Systemtakt von 16 MHz würde der Timer 244 mal überlaufen, da:
Anzahl Überlauf= Systemtakt/(Wertebereich Timer 1)=16.000.000/(65535 )=244,144

In unserem Projekt soll die Drehzahl des Motors jede Sekunde einmal abgefragt werden. Ziel ist es eine Berechnung aufzustellen, bei der Timer 1 jede Sekunde 1 Interrupt auslöst. Mit dem Befehl "Prescale" bietet BASCOM die Möglichkeit den Takt des Timers zu verändern. Wird "Prescale" gleich 256 gesetzt, so wird der Systemtakt durch 256 geteilt, woraus sich ein Timer-Takt von 62500 ergibt.

Timertakt = Systemtakt/("Prescale" 256)=16.000.000/(256 )=62500

Sobald der Timer 62500 Ticks erreicht hat, wäre somit 1 Sekunde vergangen. Damit der Timer jede Sekunde überläuft, gibt es die Möglichkeit den Start des Timers exakt festzulegen. Um nun nach 65535 Ticks ein Interrupt auszulösen, wird der Startpunkt des Timers auf 3036 festgelegt.
Nachdem Timer 1 aktiviert wurde, startet die Zählung immer bei 3036. Nach einer Sekunde sind jetzt 3036 + 62500 also 65535 Ticks vergangen. Der Timer läuft über und löst pro Sekunde ein Interrupt aus.

Wie bei der ISR aus Punkt 6.3 wird bei jedem Auslösen eines Interrupts durch Timer 1 das zugehörige Unterprogramm "Unterprogrammsekundentakt" aktiv. In diesem Unterprogramm werden Befehle abgearbeitet, unter anderem wird der aktuelle Wert der Variable " Zaehlungderimpulse" aus der ISR abgefragt und der Do...Loop Schleife bereitgestellt.

Programmcode
'Das Hochkomma deutet darauf hin das es sich um einen Kommentar handelt,
'dieses wird vom Programm nicht berücksichtigt.
'PROGRAMMSTART
'----------------------------------------------------------------------
'Controller Typ und zugehörige Quelltextdatei müssen angegeben werden
$regfile = "m8def.dat"
'Quarzfrequenz entspricht 16 Millionen Ticks in der Sekunde/16MHZ
$crystal = 16000000
'----------------------------------------------------------------------
'Interrupt an Portd.2 auf fallende Flanke einstellen
Config Int0 = Falling
'----------------------------------------------------------------------
'Timer 1 konfigurieren, Laufzeit bis Überlauf ist Systemtakt / 256. 62500 Ticks lösen 'einen Überlauf je Sek aus.
Config Timer1 = Timer , Prescale = 256
'----------------------------------------------------------------------
'Werte Zuweisen, mit welchem Wert der Timer das Zählen beginnen soll.
'Timer 1 arbeitet mit 16 Bit, nach 65535 Ticks läuft dieser über. Um in einer Sekunde 'einen Überlauf des Timers zu erzeugen, startet der Timer bei 3036, bis 65535 sind es 'genau 62500.
Const Timervorgabe = 3036
'----------------------------------------------------------------------
'Variablen deklarieren
' Byte hat den Wertebereich 0-255 da 8 Bit
Dim Zaehlungderimpulse As Byte
Dim Impulseprosekunde As Byte

'Integer hat den Wertebereich -32768 bis 32768 da 16 bit
Dim Impulseprominute As Integer
Dim Umdrehungenprominute As Integer
Dim Markierungenproscheibe As Byte
'-----------------------------------------------------------------------


'Variablen zuweisen
Umdrehungenprominute = 0
Impulseprosekunde = 0
Impulseprominute = 0
Markierungenproscheibe = 8
'-----------------------------------------------------------------------
'LCD Display konfigurieren

Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portd.3 , Db6 = Portd.4 , _
Db7 = Portc.0 , E = Portd.1 , Rs = Portd.0

'Display Typ
Config Lcd = 16 * 2
'Textmarke im LCD Display ausschalten
Cursor Off

'-----------------------------------------------------------------------
'Initialisierung der Interrupts und des Timers
'Variable wird auf 0 gesetzt
Zaehlungderimpulse = 0
'Sobald ein Interrupt erfolgt, in das Unterprogramm springen
On Int0 UnterprogrammZaehleImpulse
'Int0 wird aktiviert
Enable Int0
'In das Unterprogramm "UnterprogrammSekundentakt" springen
On Timer1 UnterprogrammSekundentakt
'Timer 1 aktivieren
Enable Timer1

'Interrupts aktivieren
Enable Interrupts
'----------------------------------------------------------------------

'Endlosschleife/Hauptprogramm
Do
'_____________________________
'Lösche Inhalt des Displays
Cls
'Setze den Cursor auf Position Zeile 1, Zeichen 1
Locate 1 , 1
'Schreibe "ImpJeSek" Impulse je Sekunde in das Display
Lcd "ImpjeSek."
'Setze den Cursor auf Position Zeile 2, Zeichen 1
Locate 2 , 1
'Schreibe "UPM" Umdrehungen pro Minute in das Display
Lcd "UPM"
'Umdr pro Minute berechnen
Umdrehungenprominute = Impulseprosekunde * 60

'Berechnete Werte auf dem LCD Display ausgeben.
Locate 1 , 10
Lcd Impulseprosekunde

Locate 2 , 10
Lcd Umdrehungenprominute

'Wartezeit von 500 Millisekunden
'um das Flimmern auf dem LCD zu verhindern

Waitms 500

Loop

'Dieser End Befehl ist für den Compiler, hierdurch wird erkannt das hier Ende ist
End


'----------------------------------------------------------------------
'Sobald die Gabellichtschranke durch einen Slot/Markierung auf dem Drehgeber 'unterbrochen wird, efolgt bei fallender Flanke ein Sprung in 'UnterprogrammZaehleImpulse, hier wird mit dem Befehl Incr die Variable 'Zaehlungderimpulse um 1 hoch gezählt, der Wert wird in der Variablen fortlaufend 'gespeichert!
UnterprogrammZaehleImpulse:

Incr Zaehlungderimpulse
'Mit dem Befehl "return" wird zur letzten Marke zurückgesprungen und das Programm wird an dieser Stelle wo es zuletzt aufgehört hat fortgeführt, da Interrupts als Priorär abgearbeitet werden.
Return
'---------------------------------------------------------------------
'Sobald Timer 1 aktiv wird, zählt dieser von 0-65535 und löst einen Interrupt aus.
'Durch Vergabe des Prescale, zählt Timer 1 von 0-62500 da (Systemtakt/256)
'Durch die Timervorgabe beginnt der Timer nicht bei 0, sondern bei 3036, hierduch
'erfolgt jede Sekunde ein Überlauf, da 62500 + 3035 = 65535 ergeben. Beim 'Überlaufen des Timers, wird die Variable Zaehlungderimpulse im Unterprogramm 'UnterprogrammSekundentakt abgefragt. In diesem Unterprogramm werden jede 'Sekunde die durch die Gabellichtschranke erfassten Impulse abgefragt.
Unterprogrammsekundentakt:
'Startet den Timer bei Timervorgabe (3035)!
Timer1 = Timervorgabe
Impulseprosekunde = Zaehlungderimpulse / Markierungenproscheibe
Zaehlungderimpulse = 0

Return

'-----------------------------------------------------------------------------------------------------
'PROGRAMMENDE

Fazit
Mit einem Mikrocontroller lassen sich viele technische Anforderungen realisieren. Da er frei programmierbar ist, kann er universell eingesetzt werden.
In diesem Beispiel wird der Mikrocontroller zur Erfassung von Taktimpulsen verwendet. Hiermit würde sich eine Steuerung der Drehzahl des Motors aufbauen lassen. Dieses ist nur ein sehr kleiner Teil der Anwendungsmöglichkeiten des Mikrocontrollers. Wenn die Technik und Funktionsweise des Mikrocontrollers beherrscht werden, so lässt sich sehr vieles damit realisieren.
Aus heutiger Sicht ist der Mikrocontroller nicht mehr weg zu denken. In jedem noch so kleinem technischem Gerät ist er vorhanden und erfüllt dort seine Aufgaben.

Abbildungsverzeichnis
Abbildung 1. Lochrasterplatine "LCD" 7
Abbildung 2. Gabellichtschranke 8
Abbildung 3. Modellbaumotor 9
Abbildung 4. Drehgeberscheibe 9
Abbildung 5. Lochrasterplatine "Motor" 10
Abbildung 6. LCD Display 10
Abbildung 7. Schaltplan 11
Abbildung 8. Programmablauf im Überblick 12




Literaturverzeichnis

Prof. Dr. Antonius Lipsmeier. (2006) Friedrich Tabellenbuch Elektrotechnik/Elektronik (582. Auflage). Bildungsverlag Eins, Troisdorf

Patrick Schnabel (2010) Elektronik-Fibel (5. Auflage)

Roland Walter (2009) AVR Mikrocontroller Lehrbuch (3. Auflage) Denkholz Buchmanufaktur ,Berlin

Internetquellen

http://www.mikrocontoller.net
http://www.pollin.de
http://www.rn-wissen.de
http://www.dieelektronikerseite.de
http://www.fynns-programming.de
http://www.tutorials.at
http://www.qucosa.de
http://www.ch-r.de/et/nue-atmmk-mikroprozessoren.pdf
http://www.informatik.tu-cottbus.de


Erklärung
Hiermit versichern wir, dass wir die vorliegende schriftliche Arbeit in allen Teilen selbständig verfasst und keine anderen als die angegebenen Quellen und Hilfsmittel verwendet habe. Alle aus den Quellen und der Literatur wörtlich oder sinngemäß übernommenen Stellen wurden als solche gekennzeichnet.



Lutz de Vries Michél Bakkar

Kaltenkirchen 24.01.2012
Inhalt
Entwicklung einer Drehzahlsteuerung mit einem ATMEGA 8. Mit Programmierung in C. (2756 Wörter)
Hochgeladen
von unbekannt
Optionen
Facharbeit inkl. 8 Abbildungen herunterladen: PDFPDF, Download als PDFPDF
  • Bewertung 3.6 von 5 auf Basis von 24 Stimmen
  • 1
  • 2
  • 3
  • 4
  • 5
3.6/5 Punkte (24 Votes)



Seite drucken | Melden
Kostenlos eine Frage an unsere Informatik-Experten stellen:

0 weitere Dokumente zum Thema "Controllerprogrammierung"
1 Diskussionen zum Thema im Forum
Wenn du dieses Dokument verwendest, zitiere es bitte als: "Drehzahlregelung mit Atmel Atmega 8", https://e-hausaufgaben.de/Facharbeiten/D10557-Drehzahlregelung-mit-Atmega-8.php, Abgerufen 19.04.2024 16:45 Uhr

Es handelt sich hier um einen fremden, nutzergenerierten Inhalt für den keine Haftung übernommen wird.