2.3 Relaxatie-oscillator
2.3 Relaxatie-oscillator
2.3 Relaxatie-oscillator
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