Sie sind auf Seite 1von 16

Höhere Abteilung für

Elektrotechnik
Automatisierungstechnik
Elektro Enduro
Umbau eines verbrennungsmotorisierten
Mopeds auf einen Elektroantrieb

Eingereicht von:
Im Schuljahr: 2019/2020
Der Klasse: 5AHET
Am: gestern
Betreut von:

1
Eidesstattliche Erklärung
Ich erkläre eidesstattlich, dass ich die Arbeit selbständig angefertigt, keine anderen als die
angegebenen Hilfsmittel benutzt und alle aus ungedruckten Quellen, gedruckter Literatur oder aus
dem Internet im Wortlaut oder im wesentlichen Inhalt übernommenen Formulierungen und
Konzepte gemäß den Richtlinien wissenschaftlicher Arbeiten zitiert, durch Fußnoten gekennzeichnet
bzw. mit genauer Quellenangabe kenntlich gemacht habe.

Kurzfassung
Die vorliegende Arbeit beschreibt den Umbauvorgang von einem 50ccm Moped Typ CPI SX50 zu
einem elektrisch betriebenen Moped. Besonders wurde auf die Komponenten der Mechanik und
Elektronik beachtetgeachtet, um das Ziel dieser Diplomarbeit zu erreichen. Das selbstgesteckte
Hauptziel dieser Arbeit zu erreichen: Es ging darum, mit dem umgebauten Moped war es 50
Stundenkilometer mit dem umgebauten Mopedfahren zu können zu erreichen, mehr als 30 Minuten
am Stück zu fahren und das Gesamtgewicht des Mopeds zu senken.

Im Detail der Mechanik war lag ein Hauptaugenmerk in einerdie sinnvollen Platzierung aller nötigen
Komponenten. Diese ausschlaggebenden Komponenten waren der Motor und der Akkumulator mit
Beachtung den Schwerpunkt möglichst tief zu halten, um ein besseres Fahrverhalten zu
Erlangenerlangen. Aufgrund der Kettenteilung der Originalkette und der Motorwelle, konnten wir
das Originale originale Motorritzel nicht fahren. Aus diesen diesem Grund mussten wir selber selbst
ein Zahnrad konstruieren und dieses durch das originale ersetzen.

Die Elektronikkomponente wurde in zwei Teile aufgeteilt. Am Regler befindet befinden sich einmal
sowohl der Hauptstromkreis, über den die ganze Leistung fließen soll, und einmalals auch der
Steuerstromkreis.,Bei letzterem liegt bei dem das Hauptaugenmerk auf das Schreiben einer neuen
Software mit in der Entwicklungsumgebung Atmel Studio 7.0 auf in der Programmiersprache C. In
der neu geschriebenen Software geht es vor allem um die Steuerung des Drehmomentes. Das
Programm berechnet aufgrund der Drehzahl des Motors und der Stellung am Gasgriff wie stark das
Drehmoment sein muss, um die gewünschte Geschwindigkeit zu erreichen.

Zusammenfassend befasst sich diese vorliegende Arbeit mit dem Ausbau der bestehenden
Komponenten an dem Moped Typ CPI SX50 und dem Einbau des Elektromotors, des Akkumulators
und des selbst konstruierten Reglers. Mithilfe einer neu geschrieben Software und einigen
räumlichen Veränderungen im inneren Inneren des Mopeds wird durch verschiedene Anpassungen
der Software und Fahrtests versucht herauszufinden, ob es möglich ist, das gesetzte Ziel von 50
Kilometer pro Stunde Fahrgeschwindigkeit zu erreichen.

Das Fazit dieses Prozesses ist, dass nach einigen Testfahrten und kleineren Veränderungen am
Moped beziehungsweise am Regler selbst und in der Software das gewünschte Ziel von 30
Stundenkilometer wurde mit Leichtigkeit erreicht wurde. Mit diesem Ergebnis wurden alle anderen
Meilensteine der Diplomarbeit „Elektro Enduro“ erreicht. Weitere erreichte Ziele dieser Arbeit
waren das Dimensionieren des Reglers für 120A und 48V Dauerbelastung und das senken Senken des
Gesamtgewichts., dies Dies gelang ist uns aufgrundmittels unserer der verwendeten kompakten
2
Bauweise und durch das ersetzen Ersetzen des schweren Motors mit Getriebe, trotz schweren
Akkumulator gelungen. Allerdings das fahren Fahren von mehr als 15 Minuten durchgehend, war
aufgrund unseres alten und schwachen Akkumulators, der uns von unserem Diplomarbeitsbetreuer
zur Verfügung gestellt wurde, sehr eingeschränkt, dennoch möglich. Hiermit wurden alle von uns
Gesteckten gesteckten Ziele Erreichterreicht.

Abstract

Vorwort
In der vorliegenden Diplomarbeit „Elektro Enduro“ wird das Thema rund um den Umbauvorgang
eines Mopeds mit 50 cm² Verbrennungsmotors zu einem elektrischen Antrieb beschrieben. Wir,
René Jahn und Jakob Ninaus, haben uns mit diesem Thema befasst, weil wir grundsätzlich sehr an
dem Thema Fahrzeuge bzw. Elektrifizierung interessiert sind. Als Inspiration diente, ein auf dem Tag
der offenen Tür auf der Bulme ausgestelltes Elektrogokart, das uns sehr begeisterte hat. Durch den
von uns gewählten Schulschwerpunkt Elektrotechnik befassten wir uns immer schon mit der
Elektronik hinter den Geräten. Besonders fasziniert hat uns dabei, dass wir mit der höher werdenden
Schulstufe immer kompliziertere Elektronik verstanden haben. In dem Unterrichtsfach
Antriebstechnik haben wir uns schließlich umfassend mit dem Thema Elektronik im Bereich der
Fortbewegung befasst. Dies hat sofort unser Interesse geweckt und wir haben uns näher mit dem
Thema auseinander gesetzt und festgestellt, dass es in diesem Bereich noch viel mehr Themen
Thematiken vorhanden sind.

Danksagung
An dieser Stelle möchten wir uns noch bei unserem Betreuer Herr Prof. DI. Hafner Bernhard für die
Unterstützung und Inspiration danken, aber natürlich gilt allen anderen Lehrerinnen und Lehrern, so
wie den Eltern und Großeltern einen großen großer Dank, denn ohne sie wäre nichts von all dem
möglich gewesen. DesWweiteresn danken wir den Firmen LNConsult und Elektro Thonhofer für ihre
finanzielle Unterstützung.

Aufgabenstellung
Unter diesem Punkt findet sich die Aufgabenstellung nach gemäß der Diplomarbeitsdatenbank. Die
geplanten gemeinsamen Arbeiten waren die Sponsorensuche für finanzielle und materielle
Unterstützung, das Design der Verkleidung zu erstellen und die Konstruktion desdas Stoßfeste
stoßfesten Gehäuses für den Akkumulator zu konstruieren.
Die Aufgabenstellung des für den Schülers Jahn Rene istlag darin, dassich das nötige Know-Hows
Wissen im Bereich Timer und Power Stage Controller (PSC) bzw. programmierbarer Logik
anzueignenerweitert und anzuwenden., Er war zuständig für die Programmierung des
Microcontrollers Mikrokontrollers oder der programmierbare Logik zur Steuerung des
Pulswechselrichters, für die Lackierungen des Fahrzeugs und für den den Aufbau des
Steuerstromkreises. zu konstruieren.
Die Aufgabenstellung desDer Schülers Ninaus Jakob istzeichnet verantwortlich für, adie Allgemeine
Arbeiten am Rahmen (Bremsen, Fahrwerk), für die Fertigung der Motorhalterung, die Entwicklung
des Antriebs, Fertigung der Akkuhalterung, für die Erstellung der dafür notwendigen
Konstruktionszeichnungen und Modellkonstruktionen zu erstellen sowie, für die Entwicklung desden
Aufbaus des Regler-Hauptstromkreises. entwickeln und dDabei galt es, das Elektrisches elektrisches
Sicherheitskonzept nicht außer Acht zu lassen.

3
Inhaltsverzeichnis
Eidesstattliche Erklärung........................................................................................................................2
Kurzfassung............................................................................................................................................2
Abstract..................................................................................................................................................3
Vorwort..................................................................................................................................................3
Danksagung............................................................................................................................................3
Aufgabenstellung...................................................................................................................................3
1 Ausgangsbasis................................................................................................................................6
2 BLDC...............................................................................................................................................6
2.1 Eigenschaften BLDC................................................................................................................6
2.1.1 Polpaarzahl.....................................................................................................................6
2.2 Mit Geber...............................................................................................................................6
2.3 Geberlose...............................................................................................................................6
2.4 Andere Optionen zur BLDC Maschine.....................................................................................6
3 ATtiny861.......................................................................................................................................6
3.1 Spezielle Funktionen des ATtiny861 für BLDC........................................................................6
3.1.1 PWM6 Mode...................................................................................................................6
3.1.2 Dead Time.......................................................................................................................7
3.2 Beispielcodes für BLDC...........................................................................................................7
3.3 MyProgtool und mySmartUSB light........................................................................................7
3.4 Lösungsansätze.....................................................................................................................10
3.4.1 Pre Control....................................................................................................................10
3.4.2 Strommessung über RDS (on)...........................................................................................10
3.4.3 Synchrongleichrichtung für Rekuperation....................................................................11
3.4.4 Drehzahl bzw. Drehmomentregelung...........................................................................11
3.4.5 Lösungscode.................................................................................................................11
3.5 Probleme mit dem ATtiny861...............................................................................................11
3.5.1 Pin Change Interrupt.....................................................................................................11
3.5.2 CTC Mode für Timer0....................................................................................................12
3.5.3 Eingeschränkte PWM Möglichkeiten............................................................................12
4 Hauptstromkreis...........................................................................................................................12
4.1 MOSFETs...............................................................................................................................12

4
4.2 Alternativen..........................................................................................................................12
5 Steuerstromkreis..........................................................................................................................12
6 Mechanische Bauteile..................................................................................................................12
6.1 Motorhalterung....................................................................................................................12
6.2 Akkuhalterung und Gehäuse................................................................................................12
6.3 Motorritzel...........................................................................................................................12
7 Zusammenfassung........................................................................................................................12
8 Abbildungsverzeichnis..................................................................................................................12
9 Literaturverzeichnis......................................................................................................................13
9.1 Komplettes Datenblatt vom ATtiny261/461/861..................................................................13
9.2 Webshop von myAVR...........................................................................................................13
10 Protokolle.................................................................................................................................13

5
1 Ausgangsbasis
2 BLDC
2.1 Eigenschaften BLDC
2.1.1 Polpaarzahl
2.2 Mit Geber
2.3 Geberlose
2.4 Andere Optionen zur BLDC Maschine

3 ATtiny861
Der ATtiny861 ist ein programmierbarer Mikrokontroller. Man kann sagen, dass der ATtiny861 das
Herzstück der Diplomarbeit ist, denn nur mithilfe dieses Kontrollers war es möglich, die Ansteuerung
des MOSFET´s und die Stromreglung zu Realisierenrealisieren.

3.1 Spezielle Funktionen des ATtiny861 für BLDC


Die Mikrokontroller sind meist für spezielle Anwendungen konstruiert. Hierbei Natürlich gibt es es
grundsätzliche Baugruppen, die jeder Mikrokontroller mehr oder weniger vertieft aufzeigt. Aus
diesem Grund sind die speziellen Funktionen des ATtiny861 auf den folgenden Seiten beschrieben.

3.1.1 PWM6 Mode


Einerseits besitzt der ATtiny861 viele Timer Modes wie z.B. Normal Mode, Fast PWM Mode, Phase
and Frequency Correct PWM Mode (siehe Quelle: 9.1 Komplettes Datenblatt vom
ATtiny261/461/861 auf Seite : 13). Allerdings soll der PWM6 Mode, für unsere Anwendung am
geeignetsten besten geeignet dafür sein, da weil er speziell für die Ansteuerung eines Bürstenlosen
bürstenlosen Gleichstrommotors konzipiert wurde. Der PWM6 Mode ist ein vom ATtiny861
spezieller Timer Modus und somit einer der Hauptgründe warum wir uns für den ATtiny861
entschieden haben. Im PWM6- Modus vergleicht der Timer/Counter alle sechs Ausgänge mit dem
OCR1A- Register. Jedoch kommt nur dann ein Signal am Ausgang an, wenn die Output Compare
Override Enable Bits (OC1OE 0:5) für die jeweiligen Ausgänge gesetzt werden. Diese Bits werden im
Programm zum sofortigen Aktivieren beziehungsweise Deaktivieren der Ausgänge verwendet. Die
Taktfrequenz lässt sich wie bei jedem anderen Timer Modus über den Vorteiler bestimmen (Register
CS10:13). Der verwendete synchrone Mode unterscheidet sich nicht von den üblichen ATMEGA-
timernTimern. Darüberhinaus wird an diesem Mikrokontroller auch ein asynchroner Mode
angeboten, der eine Taktfrequenz von 64 MHz erlaubt. Der PWM6- Mode bietet zwei Zählermodi an,
einen Singleslope- Betrieb und einen Dualslope- Betrieb. Im Singleslope- Betrieb zählt der
Timer/Counter1 von s zum TOP-wert nach oben und startet dann anschließend wieder von Null. Bei
Übereinstimmung zwischen OCR1A und TCNT1 wird der Ausgang OCRX gelöscht. Jedes Mal mal wenn
der Timer den oberen Wert erreicht und wenn der Interrupt freigegeben wurde, wird das
Timer/Counter Overflow Flag (TOV1) gesetzt. Dagegen wenn derIst hingegen der Dualslope- Betrieb
ausgewählt, ist zählt der Counter wiederholt von unten nach oben und dann wieder von oben nach
unten. In diesem Fall wird das Flag erst dann gesetzt, wenn der Timer/Counter den unteren
Bottomwert erreicht und der Interrupt freigegeben ist. Im Timer/Counter1- Register TCNT1 ist der
aktuelle Wert des Timers enthalten. Dieser Wert kann je nach Einstellung entweder 8 oder 10 Bit
groß sein. In unserem Fall ist das Register nur 8 Bit groß mit einem Maximalwert von 255.

6
3.1.2 Dead Time
Ein weiteres Feature, dass der ATtiny861 bei dem Timer/Counter1 PWM6 Modus noch unterstützt,
ist der Dead Time Generator. Die einstellbare Zeit des Dead Time Generator ist abhängig von der
Taktfrequenz des Mikrokontrollers und wiederum über einen Vorteiler begrenzt. Zur Auswahl steht
ein Vorteiler von eins, zwei, vier und acht, wobei wir einen Vorteiler von ___ vorgegeben haben. Der
Dead Time Generator besitzt allerding nur einen 4 Bit Counter. Die Dead Time befinden befindet sich
zwischen einem Ausgang und einem invertierten Ausgang und ist sowohl vor dem Einschalten, als
auch vor dem Ausschalten oder auch in Kombination einstellbar (siehe Abbildung 7.1 .1: Hier ein
Beispiel von der Dead Time zwischen zwei Signalen. Diese Bild wurde aus der Quelle: 9.1 Komplettes
Datenblatt vom ATtiny261/461/86113 entnommen.). Der Dead Time Generator ist in unserem Fall
dazu da, dass sich die Ausgänge beim Schalten der Steuerelektronik nicht überlappen und somit kein
Kurzschluss beim Umschalten der MOSFET´s entstehen kann.

Abbildung 7.1.1: Hier ein Beispiel von der Dead Time zwischen zwei Signalen. Diese Bild wurde aus der Quelle: 9.1
Komplettes Datenblatt vom ATtiny261/461/86113 entnommen.

3.2 Beispielcodes für BLDC

3.3 MyProgtool und mySmartUSB light


Das MyProgtool ist ein Programm, welches das Programmieren von unterstützten AVR-
Mikrockontrollern ermöglicht. Über diese Applikation lassen sich sowohl der Programmspeicher als
auch der EEPROM und auch die Fuse-/Lock-Bits sowohl auslesen als auch überschreiben. Diese
Anwendung lässt sich kostenlos im Webshop von der myAVR Seite downloaden (siehe Quelle: 9.2
Webshop von myAVR, aus Seite: 13).

Um das Programm vom Computer auf den Mikrokcontroller übertragen zu können, benötigen wir
einen Programmer. In unserem Fall dient der mySmartUSB light als Schnittstelle. Wir haben diesen
Programmer verwendet, da dieser vorhanden war und wir keinen neuen kaufen mussten. Jedoch
dDamit der Computer den mySmartUSB light erkennt, muss zuerst ein USB Treiber, der ebenfalls auf
der Webshop Seite von myAVR zu finden ist, runtergeladen werden (siehe Quelle: 9.2 Webshop von
myAVR, auf Seite: 13 ).

7
Die Software lässt sich ganz einfach bedienen. Zuerst ist auf der Menüleiste unter dem Punkt
„Hardware“, die passende Schnittstelle zwischen Computer und Mikrokontroller zum
Auswählenauszuwählen. Anschließend ist nur noch der Richtigewird der richtige Anschluss
Auswählenausgewählt (siehe eAbbildung 7.3 .2: Anwender Software unter dem Menüpunkt
„HardwareError: Reference source not found, auf Seite: 8). Man hat auch die Möglichkeit unter dem
Punkt „Controller“ den in unserem Fall benutzten ATtiny861 manuell einzugeben oder über das
Fragezeichen (rechts neben Anschluss) auszulesen. Man hat zZusätzlich auch noch dieist es Option,
mit Hilfe des Programms möglich, den Mikrokontroller nur mit Spannung zu versorgen, um das
bereits hochgeladenen Programm zu t. Die Spannungsversorgung kann man in zwei Stufen
freigegeben werden., dDies ist wichtig, da weil bei 3V der Timer eine Taktfrequenz von nur 32MHz
Taktfrequenz hat und bei 5V die vollen 64MHz. Diese ist ebenfalls durch klicken Klicken auf das
Fragezeichen möglich. E Hier kann man ebenfalls sehenist erkennbar, ob der Kontroller verbunden
ist, das richtige Port ausgewählt wurde oder ob der Computer beziehungsweise das Programm den
Mikrokontroller erkannt hat (siehe Abbildung 7.3 .2: Anwender Software unter dem Menüpunkt
„HardwareError: Reference source not found, auf Seite: 8).

Abbildung 7.3.2: Anwender Software unter dem Menüpunkt „Hardware“

Auf der Menuleiste Menüleiste unter dem Menü Brennen hat manbesteht die Möglichkeit, einen der
zwei Speicher auszuwählen (siehe Abbildung 7.3 .3: MyProgtool unter dem Menü punkt „Brennen“,
auf Seite: 9). Unsere Es wurde der Wahl traf auf den Flash Speicher gewählt, da weil wir eine größere
Datenmenge zu speichern musstenwar. In die orange eingefärbte Zeile wird anschließend der Pfad

8
der hexHex- Datei eingetragen, die beim Erstellen des Programms automatisch generiert wird.
Anschließend muss nur noch auf „Brennen“ gedrückt werden um das Programm auf den
Mikrocontroller Mikrokontroller zu übertragen.

Abbildung 7.3.3: MyProgtool unter dem Menü punkt „Brennen“

Unter dem Menüpunkt „Ausgabe“ hat manbesteht anschließend noch die Möglichkeit, dass
Protokoll der Übertragung zu betrachten.: Das heißt, man hat die Möglichkeit zu verfolgen, ob Ob
der Vorgang erfolgreich war, wieviel kB an Daten man hochgeladen hat wurden und wie lang der
Vorgang des Hochladens gedauert hat., ist hier einsichtig (siehe Abbildung 7.3 .4: Anwender
Software unter dem Menüpunkt „Hardware“, auf Seite: 10)

9
Abbildung 7.3.4: Anwender Software unter dem Menüpunkt „Hardware“

3.4 Lösungsansätze
3.4.1 Pre Control
Die Pre Control bedeutet Vorsteuerung und, dient in unserem Fallhier eigentlich nur zur Begrenzung
des Stromes. Sie, und modelliert in erster Näherung die bürstenlose Gleichstrommaschine.
Voraussetzung hierfür ist die Messung der Drehzahl. Es funktioniert folgendermaßen: Wir lesen die
Die Führungsgröße des Stromes wird über den jenen Wert eingelesen, den wirder vom Hallsensor
des Gasgriffs einlesen stammt. und Damit kannrechnen mit Hilfe der Drehzahl das neue PWM Signal
ausgerechnet werden. Der Vorteil dieser Methode ist, dass wir keine aufwändigen Strommessungen
benötigent werden, und auch keine Instabilitäten auftreten, da weil es keine Rückführung gibt. Damit
So kann ist es möglich, auch bei Stillstand Vollgas zu gegeben werden, ohne dass der Maximalwert
des Stromes überschritten wirdwürde, da weil das Programm nur einen kleinen Teil der
Akkuspannung an den Motor schaltet.

3.4.2 Strommessung über RDS (on)


Die Strommessung über RDS (on) funktioniert folgendermaßen.: Während 120° elektrisch ist ständig ein
unterer MOSFET durchgeschaltet, dessen ON-widerstand zur Momentanstrommessung i motor (t)
genutzt werden kann. Ein durchgeschalteter MOSFET hat nämlich rein ohmschen Charakter und
bietet sich quasi als Shunt zur Messung des Motorstroms an. Der Vorteil liegt in der Ersparnis
externer Shunts und einer damit verbundenen Vermeidung der auftretenden Verlustleisung. Ein
externer Analogmultiplexer (sog. Transmission Gates), der vom Controller gesteuert wird, muss nun

10
während 120° elektrisch zwischen den Drainanschlüssen umschalten. Vorwiderstände und
Schutzdioden verhindern das Auftreten von Überspannung am Eingang des Multiplexerst. Dieser
Multiplexer wäre auch direkt im Mikrocontroller Mikrokontroller vorhanden. Mithilfe dieses Stromes
könnte ein Stromregelkreis programmiert werden, der die PWM ständig aktualisiert. Aufgrund von
eingeschränkten PWM- Möglichkeiten haben wir unswurde vorerst gegen diesen Stromregelkreis
entschieden (siehe: Der CTC Mode (Clear Time on Compare) ist eigentlich ein ganz normaler Timer0
Modus. Er vVergleicht den aktuellen Zählerwert von demdes Timer0 (TCNT0) mit dem Vorgabe-
beziehungsweise Spitzenwert (OCR0A). Bei einer Übereinstimmung dieser zwei beiden Werte, wird
der Aaktuelle Wert auf null gesetzt und er beginnt wieder von Null an zu zählen. Wir wollten denEs
sollte zunächst der CTC Modus des Timers0 zur Drehzahlmessung genutzent werden, dann konnten
aber wurde eine Lösung mit Timer1 durch Auslösen dessen Timer-Overflows gefufinden. , auf Seite:
12). Es ist anzumerken, dass die Messung des Akkustromes nicht dem aktuellen Motorstrom
entspricht, da weil dieser während der passiven Zeit t off der PWM in der Drehstrombrücke
zirkuliert.

3.4.3 Synchrongleichrichtung für Rekuperation


Rekuperation ist Teil des Steuerungsverfahrens, das durch die Synchrongleichrichtung ermöglicht
wird. Bei Betrachtung einer beispielhaften aktivierten Halbbrücke ist unter Vernachlässigung der
notwendigen Totzeit ständig ein MOSFET durchgeschaltet. Die Halbbrücke arbeitet also als Step-
down im Motorbetrieb und als Step- up im Generatorbetrieb, um die geringere Motorspannung auf
Akkuspannungsniveau zu bringen, wobei die Ankerinduktivität als Energiespeicher genutzt wird.
Damit auch der Strom wieder zurück in die Batterie fließen kann, müssen die MOSFETs weiterhin
angesteuert werden. Aus programmtechnischer Sicht beinhaltet die Berechnung des PWM Signals
einen brake_ default Wert. Dieser Wert sorgt dafür, dass zum Beispiel bei einer Gasstellung von 0
und beim bergab Bergab-Fahren, MOSFETs angesteuert werden und somit der Strom wieder zurück
in die Batterie fließen kann. Dieser brake_default Wert wird über einen am Lenker montierten
Schalter gesteuert. Bei der Stufe Null des Schalters wird nicht rekuperiert, denn damit soll ein
sogenanntes Coast (= auslaufen) ermöglicht werden. Stufe 1 und Stufe 2 sind unterschiedliche
Rekuperationsstärken (brake_default Werte).

3.4.4 Drehzahl bzw. Drehmomentregelung


Zuerst war geplant, dass der Gasgriffs einen Sollwert erzeugt, um mit Hilfe der Die Pre Control
bedeutet Vorsteuerung und, dient in unserem Fallhier eigentlich nur zur Begrenzung des Stromes.
Sie, und modelliert in erster Näherung die bürstenlose Gleichstrommaschine. Voraussetzung hierfür
ist die Messung der Drehzahl. Es funktioniert folgendermaßen: Wir lesen die Die Führungsgröße des
Stromes wird über den jenen Wert eingelesen, den wirder vom Hallsensor des Gasgriffs einlesen
stammt. und Damit kannrechnen mit Hilfe der Drehzahl das neue PWM Signal ausgerechnet werden.
Der Vorteil dieser Methode ist, dass wir keine aufwändigen Strommessungen benötigent werden,
und auch keine Instabilitäten auftreten, da weil es keine Rückführung gibt. Damit So kann ist es
möglich, auch bei Stillstand Vollgas zu gegeben werden, ohne dass der Maximalwert des Stromes
überschritten wirdwürde, da weil das Programm nur einen kleinen Teil der Akkuspannung an den
Motor schaltet. (Überschriftnummer: Die Pre Control bedeutet Vorsteuerung und, dient in unserem
Fallhier eigentlich nur zur Begrenzung des Stromes. Sie, und modelliert in erster Näherung die
bürstenlose Gleichstrommaschine. Voraussetzung hierfür ist die Messung der Drehzahl. Es
funktioniert folgendermaßen: Wir lesen die Die Führungsgröße des Stromes wird über den jenen
Wert eingelesen, den wirder vom Hallsensor des Gasgriffs einlesen stammt. und Damit kannrechnen
mit Hilfe der Drehzahl das neue PWM Signal ausgerechnet werden. Der Vorteil dieser Methode ist,
dass wir keine aufwändigen Strommessungen benötigent werden, und auch keine Instabilitäten
auftreten, da weil es keine Rückführung gibt. Damit So kann ist es möglich, auch bei Stillstand Vollgas

11
zu gegeben werden, ohne dass der Maximalwert des Stromes überschritten wirdwürde, da weil das
Programm nur einen kleinen Teil der Akkuspannung an den Motor schaltet., Seite: 10) eine
Regelabweichung zu generieren. Über diese Regelabweichung wird anschließend das PWM Signal
generiert um die Regelabweichung zu minimieren. Jedoch aufgrund der Der CTC Mode (Clear Time
on Compare) ist eigentlich ein ganz normaler Timer0 Modus. Er vVergleicht den aktuellen Zählerwert
von demdes Timer0 (TCNT0) mit dem Vorgabe- beziehungsweise Spitzenwert (OCR0A). Bei einer
Übereinstimmung dieser zwei beiden Werte, wird der Aaktuelle Wert auf null gesetzt und er beginnt
wieder von Null an zu zählen. Wir wollten denEs sollte zunächst der CTC Modus des Timers0 zur
Drehzahlmessung genutzent werden, dann konnten aber wurde eine Lösung mit Timer1 durch
Auslösen dessen Timer-Overflows gefufinden. (Überschriftnummer: Der CTC Mode (Clear Time on
Compare) ist eigentlich ein ganz normaler Timer0 Modus. Er vVergleicht den aktuellen Zählerwert
von demdes Timer0 (TCNT0) mit dem Vorgabe- beziehungsweise Spitzenwert (OCR0A). Bei einer
Übereinstimmung dieser zwei beiden Werte, wird der Aaktuelle Wert auf null gesetzt und er beginnt
wieder von Null an zu zählen. Wir wollten denEs sollte zunächst der CTC Modus des Timers0 zur
Drehzahlmessung genutzent werden, dann konnten aber wurde eine Lösung mit Timer1 durch
Auslösen dessen Timer-Overflows gefufinden. , Seite: 12) war dies nicht möglich.

Die Steuerung des Drehmoments konnten wir mit Hilfe der Pre Control (Überschriftnummer: 3.4.1,
Seite: 10) realisierent werden, und somit konnte derdamit den Motorstrom limitierent werden.
Grundsätzlich können wir aufgrund der eingehenden Hallsensoren des Motors und aufgrund des Die
Mikrokontroller sind meist für spezielle Anwendungen konstruiert. Hierbei Natürlich gibt es es
grundsätzliche Baugruppen, die jeder Mikrokontroller mehr oder weniger vertieft aufzeigt. Aus
diesem Grund sind die speziellen Funktionen des ATtiny861 auf den folgenden Seiten beschrieben.
(Überschriftnummer: Die Mikrokontroller sind meist für spezielle Anwendungen konstruiert. Hierbei
Natürlich gibt es es grundsätzliche Baugruppen, die jeder Mikrokontroller mehr oder weniger vertieft
aufzeigt. Aus diesem Grund sind die speziellen Funktionen des ATtiny861 auf den folgenden Seiten
beschrieben. , Seite: 6), die einzelnen MOSFET´s angesteuernt werden.

3.4.5 Lösungscode

3.5 Probleme mit dem ATtiny861


Trotz der vielen Vorteile des Mikrokontrollers, gab es auch Probleme, die in den folgenden Absätzen
beschrieben sind.

3.5.1 Pin Change Interrupt


Zuerst einmal, dDer Pin Change Interrupt ist eine Unterbrechung im Programm, die eine sogenannte
Serviceroutine (bestimmter Programmcode) auslöst. Normalerweise sollte der Interrupt sich dann
auslösen, wenn sich ein Pin (Eingangssignal) sich ändert, wie zum Beispiel bei einem Eingang von
einem Hallsensor des Motors. Wir hätten eigentlich vor gehabt,Es war beabsichtigt über die
Hallsensoren, die Drehzahl damit zu bestimmen, nur aber es kam zu keiner Auslösung. leider hat er
nicht ausgelöst. Aus diesem Grund haben wir einfachwurde in der Hauptschleife nach der Switch
Case Funktion, eine If- Abfrage realisiertimplementiert, die beinhaltet, dass wenn der vorhergehende
Hallwert(hall_old) nicht gleich ist wie der jetzige Hallwert(hall),, die variabel Variable block_counts,
die nach jedem Wechsel der Hallsensoren um eins rauf hinauf zählt. Die Variable variabel
block_counts wird dann anschließend zur Berechnung des PWM Signals benötigt.

3.5.2 CTC Mode für Timer0


Der CTC Mode (Clear Time on Compare) ist eigentlich ein ganz normaler Timer0 Modus. Er
vVergleicht den aktuellen Zählerwert von demdes Timer0 (TCNT0) mit dem Vorgabe-
beziehungsweise Spitzenwert (OCR0A). Bei einer Übereinstimmung dieser zwei beiden Werte, wird
12
der Aaktuelle Wert auf null gesetzt und er beginnt wieder von Null an zu zählen. Wir wollten denEs
sollte zunächst der CTC Modus des Timers0 zur Drehzahlmessung genutzent werden, dann konnten
aber wurde eine Lösung mit Timer1 durch Auslösen dessen Timer-Overflows gefufinden.

3.5.3 Eingeschränkte PWM Möglichkeiten


In den eingeschränkten PWM Möglichkeiten geht es um den PWM6 Mode des Timer1. Prinzipiell gibt
es im PWM6 Mode sechs Ausgänge beziehungsweise drei Zweierpaare. Eigentlich dachten
wir,Dadurch lag die Auffassung nahe, dass der vorgegebene obere Zählerwert der Ausgänge separat
zu steuern istsei. Das heißt, dass als zum Beispiel für die Ausgänge „OC1A“ und „OC1A_ nicht“, über
das OCR1A Register, die Ausgänge „OC1B“ und „OC1B_ nicht“, über das OCR1B Register und die
Ausgänge „OC1C“ und „OC1C _nicht“ über des OCR1C Register zu steuern sindsind. Das hätte den
Vorteil, dass wir bei dereine Strommessung einfacher regelbar wären könnten, da weilwir bei einem
Überstrom sowohl die Möglichkeit haben besteht, den Pin abzuschalten als auch den Spitzenwert
des Zählers zu ändern. Allerdings sind alle sechs Ausgänge im PWM6 Mode über nur ein einziges
Register und zwar das OCR1A Register zu steuern.

4 Hauptstromkreis
4.1 MOSFETs
4.2 Alternativen

5 Steuerstromkreis
6 Mechanische Bauteile
6.1 Motorhalterung
6.2 Akkuhalterung und Gehäuse
6.3 Motorritzel

7 Zusammenfassung

8 Abbildungsverzeichnis
Abbildung 7.1.1: Hier ein Beispiel von der Dead Time zwischen zwei Signalen. Diese Bild wurde aus
der Quelle: 12.1 Komplettes Datenblatt vom ATtiny261/461/86110 entnommen................................6
Abbildung 7.3.1: Anwender Software unter dem Menüpunkt Hardware...............................................7
Abbildung 7.3.2: MyProgtool unter dem Menü punkt Brennen.............................................................8
Abbildung 7.3.3: Anwender Software unter dem Menüpunkt Hardware...............................................9

9 Literaturverzeichnis
9.1 Komplettes Datenblatt vom ATtiny261/461/861
http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-2588-8-bit-AVR-Microcontrollers-
tinyAVR-ATtiny261-ATtiny461-ATtiny861_Datasheet.pdf

9.2 Webshop von myAVR


http://shop.myavr.de/index.php?sp=download.sp.php&suchwort=dl112

13
10 Protokolle
  Stunden  
Schul
Tag e Freizeit Tätigkeit
Kurze, konkrete Beschreibung der Tätigkeit in
Schlagworten. 5 Mal "Visual Basic
Dienstag, 25. September 2018 3,0 1,0 programmiert" zu schreiben, ist zu wenig!
Beispiele siehe unten!
Donnerstag, 27. September
2018 2,5   Projektstrukturplan erstellt
Sonntag, 30. September 2018   4,0 Zeitabschätzung der Arbeitspakete
Dienstag, 02. Oktober 2018   3,5 Fertigstellung der Grobplanung
Mittwoch, 03. Oktober 2018 1,0 2,0 Erstellen der PPT- Folien für Kurzpräsentation
Donnerstag, 18. Oktober 2018   1,0
Projektstart, Projektbesprechung,
Samstag, 20. Oktober 2018   1,5 Projektgrobplanung
Sonntag, 21. Oktober 2018   1,0
Freitag, 28. Dezember 2018   3,5 Zerlegung des Motorrads
Montag, 04. März 2019   4,0 Versenden von Sponsorenanfragen
Versenden und beantworten Beantwortung
Samstag, 09. März 2019
  3,0 von Sponsorenanfragen
Sonntag, 04. August 2019 bis   Erstellung des Prototypen mittels Arduino und
Montag, 02.September 2019  
7,0 erste Ansteuerung eines BLDC Motors
Projektstrukturplan, Projektbalkenplan,
Montag, 14. Oktober 2019 4,0   Meilensteinplan erstellen und arbeiten an der
Motorhalterungen
Projektstrukturplan, Projektbalkenplan,
Montag, 21. Oktober 2019 4,0   Meilensteinplan erstellen und arbeiten an der
Motorhalterungen
Projektstrukturplan, Projektbalkenplan,
Montag, 28. Oktober 2019 2,0   Meilensteinplan erstellen
Besorgung von Materialien für
Montag, 28. Oktober 2019 2,0   Hauptstromkreis und CAD Zeichnung für
Zahnrad
Projektstrukturplan, Projektbalkenplan,
Mittwoch, 30. Oktober 2019   3,0 Meilensteinplan erstellt
Besorgung der Projektnummer und diverse
Montag, 04. November 2019 2,0 1,0 Materialien für die Konstruktion des Zahnrades
Nachforschung der Funktion des
Dienstag, 05. November 2019   2,0 Timer/Counter am Datenblatt des ATtiny861
Nachforschung der Funktion des
Sonntag, 10. November 2019   2,0 Timer/Counter1 am Datenblatt des ATtiny861
Zuschneiden der PVC Platten in der KUV und
Montag, 11. November 2019 2,0 1,0 Besprechung des Timer/Counter1 vom
ATtiny861
Fertigung der Akkuhalterung (zuschneiden,
Freitag, 15. November 2019   3,5 biegen und verschweißen der Teile)
Montag, 25. November 2019   5,0 Fertigung des Akkugehäuses
Donnerstag, 28. November Programmierung des ATtiny 861 und
2019
  2,0 Recherchen im Internet und am Datenblatt
Programmierung des ATtiny 861 und
Freitag, 29. November 2019   1,5 Recherchen im Internet und am Datenblatt
Programmierung des ATtiny 861 und
Samstag, 30. November 2019   3,0 Recherchen im Internet und am Datenblatt
Donnerstag, 12. Dezember Vorbereitungen für Brückenschaltung,
2019
  3,0 Anschluss des ATtiny861 mit der AVRISP mk2
14
Schnittstelle
Programmierung des ATtiny 861 und
Freitag, 13. Dezember 2019   3,0 Recherchen im Internet und am Datenblatt
Programmierung des ATtiny 861 und
Sonntag, 29. Dezember 2019   3,0 Recherchen im Internet und am Datenblatt
Programmierung des ATtiny 861 und
Montag, 30. Dezember 2019   3,0 Recherchen im Internet und am Datenblatt
Sonntag, 12. Jänner 2020   5,0 Recherche über bestehende Probleme
Vorbereitungen für Diplomarbeit
Sonntag, 19. Jänner 2020   3,0 Zwischenpräsentation
Planung der weiteren Ansteuerung des
Montag, 20. Jänner 2020   4,0 Haupstromkreises
Sonntag, 19. Jänner 2020   3,0 Erstellen der Präsentationsplakate
Donnerstag, 23. Jänner 2020   3,0 Vorbereitungen für Tag der offenen Tür
Programmierung des ATtiny 861 und
Freitag, 24. Jänner 2020   5,0 Recherchen im Internet und am Datenblatt
Programmierung des ATtiny 861 und
Samstag, 25. Jänner 2020   5,0 Recherchen im Internet und am Datenblatt
Programmierung des ATtiny 861 und
Sonntag, 02. Februar 2020   5,0 Recherchen im Internet und am Datenblatt
Weiterbildung für Word, Planung für weiteres
Montag, 10. Februar 2020 4,0   Vvorgehen
Umprogrammierung des ATtiny 861 in
Sonntag, 12. Jänner 2020   2,0 anderen PWM Modus
Programmierung der Vorsteuerung des ATtiny
Freitag, 21. Februar 2020   3,0 861 und Recherchen im Internet und am
Datenblatt
Programmierung der Vorsteuerung des ATtiny
Samstag, 22. Februar 2020   4,0 861 und Recherchen im Internet und am
Datenblatt
Sonntag, 23. Februar 2020   2,0 Transport des Motorrads
Montag, 24. Februar 2020   4,0 Arbeiten am Regler
Mittwoch, 26. Februar 2020   2,0 Vorbereitung für TEC Messe
Ausstellung auf der TEC Messe am
Donnerstag, 27. Februar 2020   6,0 Spielbergring
Sonntag, 01. März 2020   2,0 Besprechung für Akkuhalterung
Mittwoch, 04. März 2020   4,0 Arbeiten am Rahmen in der Werkstatt
Musterstücke für Gehäuse besorgen und
Sonntag, 08. März 2020   3,0 testen
Donnerstag, 12. März 2020   2,0 Transport des Motorrads
Besorgung: Teile wie (Kabelschuh
Samstag, 14. März 2020   3,0 Reglergehäuse, PK Verschraubungen)
Sonntag, 15. März 2020   2,0 Nacharbeitung des Gehäuse vom Regler
Recherchieren und bestellen Bestellen der
Mittwoch, 18. März 2020   2,0 Verkleidung
Donnerstag, 19. März 2020   1,0 Nacharbeit an der Verkleidung
Freitag, 20. März 2020   4,0 Diplomarbeit Dokumentation
Samstag, 21. März 2020   4,5 Diplomarbeit Dokumentation
Montag, 23. März 2020   3,5 Diplomarbeit Dokumentation
Donnerstag, 26. März 2020   6,0 Testen den Reglers
Dienstag, 03. März 2020   4,0 Diplomarbeit Dokumentation
Samstag, 04. April 2020   3,0 Kontrollieren und Reparieren des Reglers
Samstag, 11. April 2020   4,0 Diplomarbeit Dokumentation

15
Sonntag, 12. April 2020   4,0 Diplomarbeit Dokumentation
Montag, 13. April 2020   3,5 Testen den Reglers
Dienstag, 14. April 2020   2,0 Diplomarbeit Dokumentation
Freitag, 17. April 2020   4,0 Diplomarbeit Dokumentation
Summe Stunden: 26,5 185,0  

16