About my blog

The project will demonstrate that a tool in the real world can shape a virtual model. A hand held device will be prototyped to express curves. The tool will be moved in real space, and change the shape of a model in virtual space. This project includes electronics and programming and will create a stunning modeling example. (Expert: Tjamme Wiegers)

Categories

Archive

Disclaimer

De meningen ge-uit door medewerkers en studenten van de TU Delft en de commentaren die zijn gegeven reflecteren niet perse de mening(en) van de TU Delft. De TU Delft is dan ook niet verantwoordelijk voor de inhoud van hetgeen op de TU Delft weblogs zichtbaar is. Wel vindt de TU Delft het belangrijk - en ook waarde toevoegend - dat medewerkers en studenten op deze, door de TU Delft gefaciliteerde, omgeving hun mening kunnen geven.

Posted in October 2011

We hebben nog wat metingen met ons nieuwe testmodel gedaan om te kijken of het betrouwbaar is. Allereerst hebben we de buis op 20 graden gehouden en zo een cirkelbeweging gemaakt (onderstaande grafiek). 
Er is goed te zien dat eerst de paarse, dan de groene, dan de rode en dan de blauw omhoog gaat, ze gaan alleen niet evenveel en even lang omhoog. Dit zou kunnen komen doordat er niet even lang en niet met precies dezelfde hoek is gebogen.

 

 

We hebben vervolgens één kant naar 20 graden toe geboren en weer terug (onderstaande grafiek).
Hier is toch iets heel vreemds te zien. Allereerst is er veel ruis. Ten tweede zijn er meerdere LDR’s die een piek maken, waarvan de blauwe als hoogste piek. Ten derde gaat de groene LDR ineens naar 0 toe. Deze opstelling blijkt dus wederom zeer onbetrouwbaar te zijn. 

 

 

 

Ons vernieuwde model is getest met LED en LDR’s erop aangestolen. Het blijkt dat de buis het licht van buitenaf vrijwel geheel blokkeert, als we de LED uit laten krijgen we waardes tussen de 1020 en de 1023 binnen. Echter als we de LED aan doen krijgen we verschillende waardes van de verschillende LDR’s binnen, deze varieren tussen de 760 en de 560. 
Verder hebben we een tafeltje gebouwt en gespoten als houder van de buis, er kan nu gemakkelijk en met één hand aan de buis gebogen worden, alsof het een joystick is. Zo is de kans ook gering dat er draadjes van de LDR;s tegen elkaar aankomen, omdat er aan die kant niet vastgehouden hoeft te worden. Ook geeft deze opstelling gelijk een goede orientatie, onze assembly in solidworks waarmee we ons model visueel laten zien heeft ook deze orientatie.

Om ons model er beter uit te laten zien en om het buigen te vergemakkelijken halen we de marspapiertjes eraf en spuiten we de buis zwart. Zo wordt het licht op een andere manier tegen gehouden en verstoort het licht van buitenaf onze waarden niet. Verder hebben we de oude lengte van de buis weer genomen, bij onze laatste metingen kregen we namelijk meer ruis en minder betrouwbare meetwaarden. Ook hadden we moeite met het buigen van het kleine buisje, hij was zo kort dat er niet gemakelijk gebogen kon worden.

 

We zijn naar Wolf gegaan en hebben gevraagd hoe we een vertaling naar een visueel beeld kunnen krijgen, het liefst in Solidworks. Volgens Wolf is het niet mogelijk in ons tijdsbestek om de hoek in Solidworks te laten zien. Er is veel kennis en ervaring met Visual Basic for applications nodig om dit te doen. Daarnaast is visual basic for applications niet hetzelfde als visual basic. Het is wel mogelijk als C # een textbestand uitschrijft en als VBA dit uitleest en toepast binnen solidworks, dit is echter een ingewikkelde code waar wij geen ervaring in hebben.

Wat Wolf ons aanraadde was om in C# een picturebox te maken en steeds bij een andere waarde een nieuw plaatje in te laden. We maken eerst renders van een steeds veranderende hoek in een assembly in solidworks. We maken jpeg files van deze plaatjes en koppelen ze aan een waarde in C#, als de buis gebogen wordt wordt er steeds een nieuw plaatje geladen wat overeenkomt met de hoek waarop de buis is gebogen.

We willen nu visueel kunnen laten zien dat de buis buigt. we kunnen dit op verschillende manieren doen. We kunnen een bewegende lijn maken in een C programma, de lijn beweegt op het moment dat de buis gebogen wordt. Er kan ook via een bovenaanzicht een balletje, in dit geval een LED bewogen worden binnen een cirkel.

Een andere manier is om een Theremin te laten spelen. De positie waar naartoe gebogen wordt kan dan de toonhoogte zijn en hoever gebogen wordt kan de amplitude zijn.

Nog een andere manier, eigenlijk de mooiste, is om dit in Solidworks visueel te maken, dit kan doordat er macro’s in Solidworks bestaan die dit mogelijk maken. Een nadeel is dat we hier zelf geen ervaring mee hebben en dat niemand van de solidworks staf hier ooit mee gewerkt heeft. 

We willen het liefst de derde methoden gebruiken, we gaan ons dus verdiepen in de solidworks macro’s en wellicht kan Wolf Song ons assisteren, hij is naar ons weten de enige die er enige ervaring mee heeft. Als we nog enige tijd over hebben willen we er ook nog een geluid aan koppelen doormiddel van een theremin. Dit is echter niet ons uitelindelijke doel, het doel is om visueel te kunnen laten zijnd dat er onder een bepaalde hoek gebogen wordt.

 

We gaan verder met de opstelling met LDR’s en gaan meten met een range van 0 tot 20 graden. De buis is ingekort om alvast een stap te zetten richting miniaturiseren. Wat gelijk opvalt is dat er nu een heel groot verschil zit tussen de data die de LDR’s geven. Het grootste verschil dat we hebben gemeten bedraagt wel 300. Nu zou dat verschil kunnen komen doordat er LDR’s niet helemaal recht in zitten en dus meer licht opvangen van de LED. We hebben gekekeen naar de positie van de LDR’s, maar ze zitten er op het oog toch allemaal recht in.
We hebben enkele metingen gedaan door te buigen richting 2 van de 4 LDR’s, de ene keer krijgen we hele bruikbare grafieken en de andere keer krijgen we onbruikbare bibberende grafieken te zien. 

Om zeker te weten of de methoden van de LDR’s eigenlijk wel betrouwbaar is hebben we meerdere metingen gedaan en die in een grafiek gezet.

Aller eerst een meting waarbij we van 0 tot 90 hebben gebogen naar LDR’s 2 en 3 (zie onderstaande afbeelding).

Er is duidelijk te zien dat er al snel een maximum bereikt wordt, 90 is dus zeker niet haalbaar, we gaan nu kijken tot hoeveel graden wel haalbaar is.

 

Onderstaande grafiek laat een verloop zien van 30 tot 40 graden en weer terug. Bij deze grafiek wordt er al een maximum bereikt, namelijk bij LDR 3. 40 graden is dus al te veel voor ons model.

 

Nu kijken we of er ook een maximum bereikt wordt als er de andere kant op gebogen wordt. onderstaande grafiek laat de waardes zien als er eerst naar LDR 2 en daarna naar LDR 4 wordt gebogen wordt, van 30 tot 40 graden. 
Er zijn hier hele rare waardes zichtbaar, LDR 2 stijgt ineens heel sterk en komt op z’n maximum terecht, 40 graden is dus duidelijk te veel. LDR 1 en 3 stijgen sterk, wat raar is omdat die op de as liggen en dus redelijk stabiel zouden moeten blijven. 
Als er richting LDR 4 gebogen wordt stijgt LDR 4 sterk, alleen niet zo sterk als LDR 2 wanneer we de andere kant op bogen, ook bereikt LDR 4 z’n maximum niet. LDR 1 en 3 stijgen wel weer maar niet zo sterk als wanneer we de andere kant op bogen. Kortom er komen rare onverklaarbare grafieken uit onze metingen.

 

We kijken nu of er wel goede waardes uit komen als we tot 20 graden buigen en of deze waardes wel bruikbaar zijn (zie onderstaande grafiek).

Deze grafiek laat een logisch verband zien, de meetwaarden zijn bij kleine hoeken dus wel bruikbaar.

 

 

We kunnen nu de
verschillende waardes aflezen. Nu moet er nog een hoek aan gekoppelt worden. We
kunnen de waardes die de LDR’s geven bij een bepaalde hoek van elkaar aftrekken
om zo de positie van de LED te bepalen. We plaatsen 2 LDR’s op de x-as en 2 LDR’s
op de y-as. De waarden van de LDR’s op de x en y-as worden van elkaar
afgetrokken om zo de positie van de LED te bepalen. Als er over de x-as gebogen
wordt, zou het verschil tussen de LDR’s op de y-as gelijk moeten blijven en
vise versa. Natuurlijk moet er wel geijkt worden voor gebruik. Hieronder is een
toelichting van deze methode zichtbaar.

 

IJKEN

Stap 1: het buisje
rechtleggen.

Stap 2: waarden
vastleggen.

Stap 3: alle waarden
gelijkstellen aan 0

Stap 4: de 4 waarden
mappen: beginwaarde tot 1023 wordt 0 tot 180

 

OMREKENEN

LDR1=x richting

LDR2=-y richting

LDR3=-x richting

LDR4=y richting

 

A = LDR1-LDR3

B = LDR4-LDR2

 

Coördinaat van het einde
van de buis is dan ( A,B ).

Domein: -90<A<90,
-90<B<90

 

Assenstelsel t.o.v.
LDR’s:

Assenstelsel 

 

 

Wat ons steeds is opgevallen is dat de 1 LDR een dubbele waarde geeft dan de rest van de LDR’s. nu kan dit komen omdat de LDR gevoeliger is of omdat de weerstand verschilt. We testen met een nieuwe weestand de waarde nog steeds afwijkt van de rest. Het blijkt aan de weerstand te liggen.

Verder willen we weten bij welke hoek de meetwaarden niet meer klopt, daarom voeren we alle waarden in in een Excel bestand om zo te zien wanneer er errors ontstaan, namelijk bij rare spikes in de grafiek.
We hebben de buis van 0 tot 60 graden gebogen en bij elke 10 graden de waardes genoteerd, deze waardes hebben we in een grafiek geplot (zie onderstaande afbeelding). We de buis gebogen over de as met LDR2 en LDR4.

grafiek LDR's 

Wat opvalt is dat de waarde van LDR 2 heel raar doet bij 40 graden. Dit zou kunnen komen door de lens van de LED. LDR2 neemt af na 40 graden, dit zou verklaart kunnen worden doordat de LDR minder licht opvangt omdat een deel door de buiswand niet op de LDR komt te vallen. 
Verder is te zien dat het verschil tussen LDR1 en LDR3 ongeveer gelijk blijft, met uitschieters bij 20 en 50 graden. Het gelijkblijven is te verklaren omdat haaks op deze LDR’s gebogen wordt, de uitschieters zouden kunnen komen doordat er net niet recht op die as is gebogen.

 

 

We hebben voor de zekerheid nog even getest of de LDR’s bij een stilstaande hoek een vaste waarde geven en niet teveel schommelt. De Waardes van de LDR’s blijven in der daad constand (onderstaande afbeelding). Verder valt op dat LDR 1 en 3 bij elkaar blijven en dat LDR 2 en 4 bij elkaar blijven. Dit komt hoogstwaarschijnlijk omdat de buis lichtelijk gebogen is in ruststand.

 

We hebben een programma geschreven in C# om de data van de LDR’s weer te geven. Zo zijn de waardes veel gemakklijker af te lezen, het programma geeft steeds veranderende data weer wanneer de buis met LDR’s gebogen wordt. In Arduino moeten alle regels van de uitvoer nagegaan worden om de veranderingen te kunnen waarnemen, dit hoeft nu niet meer. Zie onderstaande afbeelding voor verduidelijking.

 

 

 

© 2011 TU Delft