MICPRG opdracht 5.

© Harry Broeders.

Deze pagina is bestemd voor studenten van de Haagse Hogeschool - Academie voor Technology, Innovation & Society Delft groep EQ1.2.

Periode-tijd-meter.

De AVR STK500 systemen van de opleiding Elektrotechniek aan de Academie voor Technology, Innovation & Society Delft zijn uitgerust met een timer-IC NE555 dat een blokgolf opgewekt op pin PD6 = ICP1 van de ATmega32. Door het aansluiten van een capaciteit tussen de zwarte en de blauwe connector kun je de frequentie variëren. Deze hardware kan ook gesimuleerd worden door de AVE AVR Studio plugins (menu Tools, AVE AVR Studio plugins, Capicity Measurement). Op pagina 10 en 11 van de NE555 datasheets De voorgaande link verwijst naar een PDF bestand. staat uitgelegd hoe de onderstaande schakeling werkt en hoe je de periodetijd van de opgewekte blokgolf kunt berekenen.

Maak een periodetijd-meter gebaseerd op de input capture unit van Timer/Counter1 van de ATmega32. De periodetijd moet op zo nauwkeurig mogelijk gemeten worden. De gemeten periodetijd moet op het LC-Display worden zichtbaar gemaakt met de tekst: "De periodetijd is: ........µs". Laat alleen significante cijfers zien.

Uitleg en tips.

Als er geen Cx wordt aangesloten (Cx = 0) is de periodetijd ongeveer 250 µs. Je mag ervan uitgaan dat Cx maximaal 0,5 µF is (de periodetijd is dan ongeveer 13000 µs). De klokfrequentie van de ATmega32 op het STK500 practciumbord is ingesteld op exact 3.686400 MHz.

Je kunt het programma p.hex gebruiken om te kijken wat de periodetijd bij een bepaalde C is. Het programma p.hex bepaalt de exacte periodetijd in µs (± 1 µs) van het signaal op PD6 en geeft dit continue weer. Telkens als ledje PB7 knippert wordt het display opnieuw beschreven. Waarom komt de waarde die getoond wordt door het programma p.hex niet overeen met de theoretische waarde? Als jouw periodetijd-meter een andere waarde meet dan het programma p.hex dan moet je dat kunnen verklaren!

Geen probleem: Bereken het aantal ticks van Timer/Counter1 die voorbijgaan tijdens een periodetijd van het signaal op PD6 als Cx = 0,5 µF. Past dit in 16 bits?

Aanpak.

Maak een stappenplan en maak voordat je een (deel)programma gaat coderen eerst een ontwerp op papier. De practicumdocent zal naar dit stappenplan en ontwerp vragen bij het aftekenen van je opdracht.

Thuis simuleren met behulp van AVE AVR Studio plugins.

Dit programma is thuis te simuleren met behulp van de AVE AVR Studio plugins. Omdat het simuleren van de LCD niet zo soepel gaat (zie hier) kun je het programma beter zonder LCD simuleren. Je kunt het resltaat dan controlleren door het op te slaan in een globale variabele en deze globale variabele met een "watch" te bekijken.

Niet vergeten: