4. Attiny-Veranstaltung

Slides:



Advertisements
Ähnliche Präsentationen
Metriken in Netzwerken
Advertisements

Befehlssatz und Struktur
LCDisplay Anschluss des LCDisplays Aufbau der LCDisplay-Platine
Didaktisch- methodische Überlegungen zur Antriebstechnik
HMI / HMI-SPS XV400 HMI oder HMI-PLC – die CompactFlashTM entscheidet
Interrupts Wozu Interrupts? Interruptmodell Einige Attiny-Interrupts
Attiny-Projekt - EEPROM
I2C beim Attiny Was ist I2C? I2C-Befehle Der Temperatursensor LM75
RC5 in der Praxis Grundlegendes Das RC5-Protokoll
Versuch: Funkuhr Jahrgangsstufe 12
Quellen-Filter Theorie der Sprachproduktion
Prof.Dr.S. Albers Prof. Dr. Th. Ottmann
1.5 Schaltungsentwicklung
Gliederung: Features Hardware Software Werbung.
Projekt Scheibenwischer
Spielzeugsortierer Labor Mikrocomputertechnik Dozent: Prof. J. Walter
Mikrocomputertechnik-Labor WS 2004/05 Projekt Modellauto
FS_Geschwindigkeitsmessung
Team "Kugelsortieranlage"
Counting Billard Matthias Schuhmacher Sebastian Buccheri.
Vorl. 6: Single- und Multitasking Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Vorlesung 9.2: Specification Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Vorlesung 5: Interrupts Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin Wintersemester.
Vorlesung 5 Interrupts Peter B. Ladkin
Medien- Technik Grafikkarten Makroaufnahme Monitor mit Ordner-Icon Löcher, die meistens leuchten Hier einmal nicht...
EXCEL Anfang 2005 Copyright by Maximilian Prinz, Timmy Ruppert, Benjamin Peppel.
Fernseher: Geräte und Signale I
Histogramm/empirische Verteilung Verteilungen
© Gabriele Sowada © Gabriele Sowada 2 Manuell Beispiel 1 demonstriert die Vorgehensweise bei der manuellen Programm- Eingabe am.
Installationsdiskette booten Startdiskette und CD-1 einlegen und den Rechner starten Auswahl: Deutsch Auswahl: Farbbildschirm Auswahl: Deutsch Auswahl:
BAS-Signale mit dem Attiny
Kommunikation ohne Grenzen a Design, Text & Ton: Dottore El Cidre Copyright by PowerPointZauber
Vorstellung.
Bluetooth Auto Projekt
RC5-Fernbedienung IR-Licht Biphasenkodierung RC5-Protokoll
Mikrocomputertechnik 1 Einführung Prof. J. Walter Stand Oktober Mikrocomputertechnik Jürgen Walter Drei-Stellungen-Quickie Servomotorsteuerung.
FORTRAN 77.
Vorstellung der Oberfläche des Programms © 2008 by er
Embedded Systems Prof. Dr. H. Kristl
BAS-Signale mit dem Attiny
Hier die Frage formulieren ...
Referatsthema - Excel.
Kalibrierung eines Mikrofons unter DASYLab
Ultraschall Funktionsprinzip des Sensors (1)
Befehle in der Kontaktplan-Programmierung
1 Erstellung von Funktionen und FBs Inklusive der Erstellung einer Library.
Torsteuerung Marco Korrmann Dominik Sommer.
Mikrocomputertechnik Jürgen Walter
Mikrocomputertechnik 1 Einführung Prof. J. Walter Stand Oktober Mikrocomputertechnik Jürgen Walter „TIMER-2/3-Quickie“
Mikrocomputertechnik 1 Einführung Prof. J. Walter Stand Oktober Mikrocomputertechnik Jürgen Walter „PWM-Quickie“ Pulsweitenmodulation.
Mikrocomputertechnik Timer-2-3-Quickie Prof. J. Walter Stand Januar Mikrocomputertechnik Jürgen Walter „TIMER-2-3-Quickie“
Mikrocomputertechnik BLIN_INT-P-Quickie Prof. J. Walter Stand Januar Mikrocomputertechnik Jürgen Walter „BLIN_INT-P-Quickie“
Mikrocomputertechnik Timer-0-1-Quickie Prof. J. Walter Stand Januar Mikrocomputertechnik Jürgen Walter „TIMER-0-1-Quickie“
Roboter programmieren
Ein- und Ausgabe (I/O) E. Eube, G. Heinrichs, U. Ihlefeldt (V 1.0 C 2016) 1 µC Aktoren o. Ä. LED Pieper Relais Motor … D/A-Wandler Ext. Speicher … Aus-
Programmablaufsteuerung E. Eube, G. Heinrichs, U. Ihlefeldt (V 1.0 C 2016) 1  Verzweigung  Schleifen Endlosschleife Abbrechende Schleife  Unterprogramme.
C / C++ für das Internet der Dinge und Hausautomatisierung Arduino Uno / Nano / … Input, Interrupts, Timer, Sleepmode Hochschule Fulda – FB AI Sommersemester.
LCDisplay Anschluss des LCDisplays Aufbau der LCDisplay-Platine
I2C beim Attiny Was ist I2C? I2C-Befehle Das PCF8574-Modul
Interrupts (
Arbeiten mit dem Terminal
Die I/O-Register des Attiny
Bild von Mikrocontroller
Assembleranweisungen
Interrupts Wozu Interrupts? Interruptmodell Einige Attiny-Interrupts
t t t.
Aufbau und Anwendungen von Mikrokontrollern
Stoppuhr-Karten Stoppuhr-Karten
4 Ein- / Ausgänge parametrierbar
ESP32 Arduino Herzlich willkommen zum Edison Quickie. „ESP32-Blink“
 Präsentation transkript:

4. Attiny-Veranstaltung Organisatorisches Timer/Counter-Register Zählen, Takten, PWM Übung Mittagspause D/A-Wandler Übung (auch: Komparator und A/D-Wandler) Ergebnisse/Diskussion... In dieser Veranstaltung können wir nur einige der zahlreichen Möglichkeiten des Timer/Counters exemplarisch behandeln! A V 1.3 - Copyright 2010 by G. Heinrichs

Registermodell Pin T0 nicht mit Taster T0 verwechseln! A

Drehzahlmesser Unser Attiny soll Drehzahlen ermitteln. Dazu sollen Signale von Lichtschranken oder Tastern für 10 Sekunden gezählt werden. Diese auf 1 Minute hochzurechnen ist dann keine Kunst mehr...

Zählen - konventionell Enable INT0 Config INT0 = Falling (Signal an INT0) Enable interrupts On int0 zaehlen zaehler = 0 PortD.6 = 1 (Zählbeginn anzeigen) Wait 10 (10 s warten) PortD.6 = 0 (Zählende anzeigen) Portb = zaehler End zaehlen: zaehler = zaehler + 1 return

Zählen mit dem Timer/Counter TCCR0B = &B00000110 (externer Takt über T0, fallende Flanke, starten) TCNT0 = 0 (Zähler des T/C auf 0) PortD.6 = 1 (Zählbeginn anzeigen) Wait 10 (10 s warten) Portd.6 = 0 (Zählende anzeigen) TCCR0B = 0 (T/C stoppen) PortB = TCNT0 (Zählerstand ausgeben) end Config Timer0 = counter, edge = Falling Timer0 = 0 ... Stop Timer0 (stoppen) PortB = Timer0 (ausgeben) TCCR0B Bedeutung &B00000110 Ext., fallende Flanke &B00000111 Ext., steigende Flanke &B00000000 T/C stoppen A

Jeder 10. Kunde erhält einen Gutschein über 100 Euro! Overflow-Interrupt Jeder 10. Kunde erhält einen Gutschein über 100 Euro! Unser Attiny soll bei jedem 10. Signal also einen Alarm auslösen!

Overflow-Interrupt I

Overflow-Interrupt II Tccr0b = &B00000110 'ext. Takt, fallende Flanke, starten Tcnt0 = 246 'Preset!!! 10 Takte bis zum Overflow TIMSK.TOIE0 = 1 'Overflow-Interrupt ermöglichen SREG.7 = 1 'Interrupts global ermöglichen On Ovf0 Alarm 'Wenn Overflow-Interrupt... ' Oder: On Timer0 Alarm Do 'Hauptprogramm loop Alarm: 'Interruptroutine Tcnt0 = 246 'Preset neu einstellen! Portb = 255 'Blitz! Waitms 10 Portb = 0 Return

Attiny als Signalgeber Unser Attiny soll nun selbst regelmäßige Signale geben. Schleifen mit Warte-Befehlen sind zwar möglich, halten den Mikrocontroller aber von anderen Aufgaben ab. Auch hier kann der Timer/Counter helfen.

Interner Taktgeber

Taktgeber einstellen - Prescale TCCR0B Bedeutung &B00000000 Timer0 anhalten &B00000001 Timer0 = Clock &B00000010 Timer0 = Clock/8 &B00000011 Timer0 = Clock/64 &B00000100 Timer0 = Clock/256 &B00000101 Timer0 = Clock/1024 &B00000110 Takt über T0, fallend &B00000111 Takt über T0, steigend

Frequenzgenerator für 440 Hz Portb.0 über TOV0-Interrupt toggeln TOV0-Frequenz muss 880 Hz betragen Systemfrequenz (Clock): 4 000 000 Hz Wähle: Prescale = 64 Dann: Timerfrequenz = 4 000 000 Hz / 64 = 62 500 Hz TCNT0 muss jeweils 62 500 / 880 = 71,02 Signale bis zum Overflow zählen Also: Preset = 256 – 71 = 185 Im Experiment überprüfen!!! A

PWM – Was ist das? Puls- Weiten- Modulation

PWM mit dem Attiny

Fast-PWM konfigurieren Timer einschalten und Prescale wählen Vergleichswerte OCR0A und OCR0B eingeben Fast-PWM-Mode wählen (sorgt für Sägezahn-Kurve): TCCR0A.WGM01 = 1 TCCR0A.WGM00 = 1 TCCR0B.WGM02 = 0 Reaktion einstellen TCCR0A.COM0A1 = 1 TCCR0A.COM0A0 = 1 TCCR0A.COM0B1 = 1 TCCR0A.COM0B0 = 0 Das Pulsverhältnis wird über den Vergleichswert OCR0A eingestellt.

Mit Oszilloskop überprüfen!!! PWM - Programm Tccr0a.wgm01 = 1 'FAST PWM Tccr0a.wgm00 = 1 'Tccr0b.wgm02 standardmäßig auf 0 'PWM an OC0A (PortB.2) Tccr0a.com0a1 = 1 'Compare Match, clear OC0A at TOP Tccr0a.com0a0 = 1 Ocr0a = 200 'erster Vergleichswert Tccr0b = &B00000101 ‚Timer-Takt ist 4 MHZ/1024 Do Inputbin Vergleichswert 'Vergleichswert empfangen Ocr0a = Vergleichswert Loop Mit Oszilloskop überprüfen!!! A

D/A-Wandler Ideen: PWM an OC0A (Typ High  Low) Tiefpassfilter benutzen Sollspannung ~ Vergleichswert OCR0A

Das machen Sie mal selbst! A/D-Wandler Das machen Sie mal selbst! A