05.09.2013 Views

2.3 Relaxatie-oscillator

2.3 Relaxatie-oscillator

2.3 Relaxatie-oscillator

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

1.3 Ontwerp<br />

Uit de hiervoor genoemde voorwaarden hebben we onze aandacht op een zestal punten gericht:<br />

• Een geschikte sensor vinden.<br />

• Een speciale kinhouder fabriceren waarin die sensor geplaatst kan worden, zodanig dat we de<br />

drukkracht op de houder kunnen meten.<br />

• De hardware rondom de microcontroller en de sensor realiseren.<br />

• Software voor het debuggen tijdens de testfase.<br />

• Software voor de microcontroller waarop de sensor zit aangesloten.<br />

• Software die een MIDI-file omzet naar een tekstbestand.<br />

Voordat we de speciale kinhouder gemaakt hebben, zijn we eerst gaan kijken welke sensor we konden<br />

gaan gebruiken. De afmeting en de vorm daarvan heeft namelijk invloed op het ontwerp van de kinhouder.<br />

In hoofdstuk twee wordt er op die sensor dieper ingegaan.<br />

Tijdens de testfase hadden we de mogelijkheid de software van de microcontroller te debuggen. Hiervoor<br />

hadden we een programma, geschreven in C, dat bytes van de MIDI-interface inlas, en uitvoerde<br />

naar het scherm. In de microcontroller hadden we vervolgens een routine die de inhoud van een bepaald<br />

register via de seriële poort naar de computer, waarop dit debugprogramma draaide, kon sturen.<br />

De software voor het verwerken van de sensordata in de microcontroller hebben we in assembler<br />

geschreven en niet in C. De reden hiervoor is dat de gebruikte microcontroller een Atmel AT89C2051,<br />

deel van de familie van de MCS ® 51, niet uitblinkt in snelheid. Om toch nauwkeurig te kunnen meten,<br />

was het gebruik van alle timers en een aantal interruptleidingen noodzakelijk. In assembly konden we<br />

zo efficiëntere code schrijven. Bijvoorbeeld doordat we direct konden zien hoeveel clockcycli bepaalde<br />

instructies zouden duren.<br />

Het converteringsprogramma is in C++ geschreven. Met behulp van de fileselector wordt met dit<br />

windowsprogramma een MIDI File geselecteerd, waarin zich MIDI controller data bevinden. De<br />

MIDI controller data zet het programma om naar een standaard, met komma gescheiden, tekstbestand.<br />

Ook de naam van de uitvoerfile wordt met behulp van de standaard windows-fileselector aangegeven.<br />

De converteringsroutine heeft een systeem gebaseerd op het zetten van vlaggen voor alle toestanden<br />

waarin de gelezen character kan voorkomen. Deze volgt de MIDI File standaard (Ondersteund zowel<br />

type 0 als 1)<br />

1.4 Systeem<br />

Het uiteindelijke systeem bestaat uit:<br />

• De speciale kinhouder met de microcontroller en de sensor.<br />

• Een computer, voorzien van een sequencerprogramma waarmee we MIDI-data kunnen opnemen<br />

en het converteringsprogramma om deze data importeerbaar te maken in een spreadsheetprogramma.<br />

8

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!