Slides:



Advertisements
Verwante presentaties
KWALITEITSZORG november 2012
Advertisements


PROS2 Les 13 Programmeren en Software Engineering 2.


Presentatie cliëntenonderzoek. Algemeen Gehouden in december 2013 (doorlopend tot eind januari) DoelgroepVerzondenOntvangen% LG wonen en dagbesteding.
Programmeren en Software Engineering 2


Embedded systemen Embedded software.
PROS2 Les 2 Programmeren en Software Engineering 2.
H 14: Enkelvoudige interest
Programmeren en Software Engineering 2
Microcontroller Programmeren in C


MICPRG Les 12 Microcontroller Programmeren in C. 127 Real-time clock PC heeft een RTC Real-time Clock die de “time of day” bijhoudt. De RTC is voorzien.
Gestructureerd programmeren in C
1 © GfK 2013 | Supermarktkengetallen | februari 2013 GFK SUPERMARKTKENGETALLEN ‘Wat is de omzet van de supermarkten op weekniveau?’ ‘Hoe ontwikkelt het.
PROS2 Les 11 Programmeren en Software Engineering 2.
INITIATIE DEFINITIESELECTIECONCIPIËREN INBEDDING IN ORGANISATIE ONDERHOUD Opdrachtgever/ Projectleider Eigenaar Architect en zijn team Stakeholders INITIATIEDEFINITIESELECTIECONCIPIËRENINBEDDINGONDERHOUD.
GESPRG Les 14 Gestructureerd programmeren in C. 174 Details! The devil is in the details.
5JJ20: Computerarchitectuur 2M200: Inleiding Computersystemen
PROS2 Les 14 Programmeren en Software Engineering 2.


VHDL Peter Slaets KHLim Functies en procedures Functies –type conversie functies »bit vector to integer en omgekeerd –verkorte componenten met maar 1 output.
Inkomen bij ziekte en arbeidsongeschiktheid
PROS2 Les 7 Programmeren en Software Engineering 2.
PROS2 Les 6 Programmeren en Software Engineering 2.
MICPRG Les 11 Microcontroller Programmeren in C. 112 Datastructuren in C Werkgeheugen (PC en microcontroller): Statische datastructuren (vaste grootte):
GESPRG Les 9 Gestructureerd programmeren in C dimensionale array Array van array’s int i = 31; int a[4] = {7, 23, 6, 2}; int m[2][4] = { {1, 1,

GESPRG Les 7 Gestructureerd programmeren in C. 92 Verwisselen Schrijf een functie waarmee twee int variabelen verwisseld kunnen worden. void wissel(int.
MICPRG Les 14 Microcontroller Programmeren in C. 153 Duurzaam AVR gebruik De AVR ATmega32A is de opvolger van de ATmega32. De A versie is ongeveer 40%
In dit vakje zie je hoeveel je moet betalen. Uit de volgende drie vakjes kan je dan kiezen. Er is er telkens maar eentje juist. Ken je het juiste antwoord,
Eerste deeltoets Uitwerking. Resultaten Gemiddeld: 6,01 Tips voor de volgende keer: – Werk in klad uit, schrijf duidelijk – Oefenen met loops en tellertjes.
Foto 65 – wegenis + parking + rechts G01 Foto 66 – G01.
Ministerie van de Vlaamse Gemeenschap Afdeling HRM BUE Middenkader 2005 Een eerste verkenning van de resultaten.
Inkomen les t/m 75 plus Zelftest Kennisvragen.
Inkomen les 14 Begrippen & 65 t/m Begrippen Primaire sector Bedrijven die zaken aan de natuur onttrekken (landbouw, jacht, bosbouw, visserij)
2.6 Het gebruik van formules en diagrammen
Ben Bruidegom 1 Sequentiële schakelingen Toestand uitgang bepaald door:  ingangen;  vorige toestand uitgang.
Help! ‘Niet vorderende ontsluiting’
SAMENWERKING WO EN HBO BIJ AANSLUITINGSONDERZOEK V0-HO Rob Andeweg DAIR 7 en 8 november 2007.
Flight 68K Temperatuur geregelde ventilator
10 juni 2002 TIF Slide Welkom 1 W.M. Everse | Z.Y. Ye | P. Groenenberg.
Deel I: Programmeertaal C 6. Arrays en Pointers
Lezersbijeenkomst Brabants Dagblad 3 juni 2009 Pensioen Akkermans & Partners / Gommer & Partners mr. Theo Gommer MPLA (42)
Inleiding telecommunicatie = info overbrengen transmissiemedium
Bonus / Malus graad 54% % 63%54%66% 73%69% 77%81% 90%85% + _ %95% Privé Beroep Gebruik dezelfde premie.
Inleiding Informatica Prof. Dr. O. De Troyer Hoofdstuk 3: Werken met numerieke gegevens.
Les 2: Zaterdag 24 mei 2014 Wim Peeters
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 C programmeren voor niet-C programmeurs les 2 definitie.
Tircms02-p les 4 Preprocessor In- en uitvoer Diversen.
Zo zit dat met uw pensioen!
HM-ES-th1 Les 12 Hardware/Software Codesign with SystemC.
Tircms03-p les 6 Templates. Functietemplates void verwissel(int &x, int &y); { int w=x;x=y;y=w;} Dezelfde functie voor meerdere types heet een functietemplate.
Tircms03-p les 2 Hfdst 3,4 Meer operatoren Functies.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology ; PIC assember programeren 1 Les 6 - onderwerpen Uitleg.
Tircms02-p les 2 Meer operatoren Arrays en pointers Types en conversie.
Vorige week: Paragraaf 8.1 DEZE WEEK: Een na laatste les voor de toets! Volgende week herhaling van alle stof. Daarom nu zoveel mogelijk oefenen met de.
Onderwerp: PIC assembler programmeren
Les 1: Zaterdag 10 mei 2014 Wim Peeters
Robotica & ICT Formula Flowcode Robot
2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 3 - onderwerpen Instruction timing Shadow.
Tinpro015b-les3 Hfdst 3,4 Meer operatoren Functies.
Tinpro015b-les6 Templates.
Analog  Digital Conversion
Transcript van de presentatie:

Microcontroller Programmeren in C MICPRG Les 7

pulsduur/periodetijd PWM PWM = Puls Width Modulation De periodetijd is constant maar de pulsduur varieert. Toepassingen: Dimmer. Motorregeling. Duty Cycle = pulsduur/periodetijd x 100 %

PWM Timer/Counter0 Timer/Counter0 kan een PWM signaal opwekken op pin OC0 = PB3. Fast PWM. Fase correct PWM. Timer/Counter1 kan PWM signalen opwekken op pinnen OC1A = PD5 en OC1B = PD4. Timer/Counter1 heeft 12 verschillende PWM modes. Timer/Counter2 kan een PWM signaal opwekken op pin OC2 = PD7 Timer/Counter2 heeft dezelfde 2 modes als T/C0).

Fast PWM Timer/Counter0 TOP = 255 MAX = 255 Output OC0 veranderd 1 klokperiode na match!

Fast PWM 2 bits Active high Dit is een simpel voorbeeld, T/C0 heeft 8 bits Fast PWM 2 bits Active high TCNT 3 1 2 3 1 2 3 1 2 =TOV =OCF OCR=0 OCR=1 OCR=2 OCR=3 t

Fast PWM fOC = fCLK / (N x (MAX+1)) T/C0: fOC0 = fCLK / (N x 256) voor fCLK = 3.686 MHz: fOC0, max = 14.4 kHz voor fCLK = 8.000 MHz: fOC0, max = 31.3 kHz Duty CycleOC = (OCR+1) / (MAX+1) x 100% T/C0: Duty CycleOC0 = (OCR0+1) / 256 x 100% instelbaar in 256 stappen 0,39% … 100% N = prescaler

Phase Correct PWM T/C0 TOP = 255 BOTTOM = 0 Output OC0 veranderd 1 klokperiode na match!

Dit is een simpel voorbeeld, T/C0 heeft 8 bits Phase Correct PWM 2 bits TCNT 1 1 2 3 2 1 1 2 3 2 OCR=0 =TOV =OCF OCR=1 OCR=2 OCR=3 t

Phase Correct PWM fOC = fCLK / (N x 2 x MAX) T/C0: fOC0 = fCLK / (N x 510) voor fCLK = 3.686 MHz: fOC0, max = 7.2 kHz voor fCLK = 8.000 MHz: fOC0, max = 15.7 kHz Duty CycleOC = OCR / MAX x 100% T/C0: Duty CycleOC0 = OCR0 / 255 x 100% instelbaar in 256 stappen 0% … 100% N = prescaler

OCR0 register in PWM modes Het OCR0 register is in de PWM modes dubbel gebufferd (double buffered). Schrijf actie naar OCR0 wordt gebufferd (in buffer registers). 1 klokcycle nadat TCNT0 == TOP wordt de gebufferde waarde naar het OCR0 register geschreven. Zie oranje lijnen in timing diagrammen. Dit voorkomt “vreemde” pulsen als OCR0 aangepast wordt.

Fast versus Phase Correct Fast PWM heeft een hogere fOC. Voorkomt irritante pieptoon bij vermogensregeling. Phase Correct PWM is symmetrisch. Dit is “beter” bij motorsturingen. Duty Cycle is bij Phase Correct PWM regelbaar vanaf 0%. Huiswerk: Lees blz. 127 t/m 129 in het AVR boek (AT90S2313) Schrijf een programma om LED3 met een PWM signaal met een duty cycle van 25% aan te sturen.

Uitwerking huiswerk #include <avr/io.h> int main(void) { TCCR0 = 0x7B; OCR0 = 63; DDRB = 0x08; while (1); return 0; }