Uitgangsspanning

Uit OstreaWiki

Ga naar: navigatie, zoeken

Het onderzoek naar de uitgangsspanning van de NXT. (Dit onderzoek is niet van direct belang voor ons modem)

Inhoud

Theorie

De testopstelling
Volgens de hardware-developer-kit van lego is het signaal van de uitgangspoorten van de NXT een PWM signaal. Dit staat voor Pulse Width Modulation, dus pulsbreedtemodulatie. Dit houdt in dat het uitgangssignaal uit pulsen bestaat, een puls heeft een maximale spanning en tussen de pulsen door is er geen spanning. Dit wisselt elkaar heel snel af.

Door de pulsduur (pulsbreedte) aan te passen kun je dan de effectieve uitgangsspanning veranderen.

De uitgangen kunnen op twee manieren worden uitgeschakeld. Via 'Off' en 'Float'. In de stand Off is een aangesloten motor geblokkeerd, dit houdt in dat de twee draden intern kortgesloten zijn. In de stand Float zijn beide draden ontkoppeld van de NXT. Omdat we bij een directe verbinding eigenlijk de weerstand tussen beide draden meten, zal deze een Off signaal ook als een puls herkennen. Voor directe verbinding gebruiken we dus Float om de uitgang uit te schakelen.

Onderzoek

Om dit signaal te onderzoeken heb ik de NXT met mijn computer verbonden en met bricx command center de uitgangsspanning op poort A ingesteld. Vervolgens heb ik poort A via een converterkabeltje op een multimeter en een oscilloscoop aangesloten. De hoogte van de puls die je ziet is ongeveer 8 volt. Dit zijn de resultaten.

De uitgangsspanning op stand 0/7
De uitgangsspanning op stand 1/7
De uitgangsspanning op stand 2/7
De uitgangsspanning op stand 3/7
De uitgangsspanning op stand 4/7
De uitgangsspanning op stand 5/7
De uitgangsspanning op stand 6/7
De uitgangsspanning op stand 7/7

Je ziet hier heel goed terug hoe de breedte van de puls wordt veranderd om de effectieve spanning te veranderen. Door de tijd/div nog wat kleiner te nemen heb ik gezien dat de tijd van een hoog + laag constant is. Deze tijd is volgens mijn metingen ongeveer 130 microseconden. Volgens de documentatie is de tijd 128 microseconden. Dit komt ongeveer overeen. De frequentie van het PWM signaal is dan ongeveer 8kHz.

Gevolgen

Wisselstroom maken

Als gevolg van dit is het niet mogelijk om een mooi sinusvormig signaal te maken, dus kunnen we geen goed signaal maken voor de wisselstroomzoemertjes. Ik had nog wel twee programmaatjes gemaakt om een wisselspanning en een om een blokgolf te maken:

task main()
 {
 float timer;
 float periode;
 int sinus;
 while(1)
  {
  timer = CurrentTick();
  periode = 0.31415*timer;
  sinus = 100*sin(periode);
  OnFwd(OUT_B,sinus);
  Wait(1);
  }
 }

Meetresultaten:

Theoretisch sinusvormig signaal
Gemeten sinusvormig signaal
Gemeten blokgolf

Uiteindelijk werkte de blokgolf het beste. Dit is de manier waarop we een geluid-signaal gaan verzenden.

Bericht versturen met directe verbinding

Bij het versturen van een bericht met directe verbinding had ik het vermoeden dat het PWM signaal ons signaal verstoorde, namelijk dat een 'laag' van het PWM signaal als het einde van een puls gezien werd. We gebruikten namelijk altijd lage vermogens voor de directe verbinding. Dit bleek echter niet het geval te zijn, door een hoog uitgangsvermogen te nemen (zodat je geen PWM signaal meer hebt) was het niet mogelijk om de periodetijd onder de 25ms te krijgen. De periodetijd moest zelfs langer genomen worden, waar bij een laag vermogen de afwijking hooguit 2ms was, werd deze bij een hoog uitgangsvermogen soms zelfs 40ms. Dit komt waarschijnlijk omdat de hoge spanning niet snel genoeg 'verdwijnt' aan het einde van een puls. Hoe dit komt is niet duidelijk, mogelijk zit er in de sensor ingang een condensator die de lading vasthoudt.


Ga terug naar Maarten van Kalsbeek en Jeroen van Oorschot: lego mindstorms modem

Ontvangen van "Uitgangsspanning"
Persoonlijke instellingen
Naamruimten
Varianten
Handelingen
Navigatie
Hulpmiddelen