Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
In eerste instantie wou ik informatie over dit projectje plaatsen in het Raspberry Pi topic maar ik wou het wat uitgebreider opschrijven waardoor een eigen topic me op z'n plek leek. Bij het project gebruik ik een combinatie van de Raspberry Pi, wat generieke elektronica spulletjes, 3D printing en standaard bouwmarkt hardware om een 360 graden fotografie setup te maken.

Het doel van dit project was om een eenvoudige, goedkope setup te maken met behulp van onderdelen die ik reeds had liggen (0 budget) waarbij ik van een relatief klein onderwerp 360 graden foto's kan maken. Ik dacht hierbij zelf aan 20x20x20. Ik maak regelmatig reviews van producten waarbij 360 graden producten een leuke aanvulling kunnen zijn, daarnaast doe ik regelmatig wat met de 3D printer waarbij het ook leuk kan zijn om 360 graden foto's te maken.

De materialen zijn vrij eenvoudig, simpel M8 draadeinde met moeren, tie-rips, hout, papier, hotglui etc. vergelijkbaar met hoe de replicator-type 3D printers zijn gebouwd maak ik gebruik van een combinatie van goedkope, eenvoudig te verkrijgen, materialen en onderdelen die met de 3D printer gemaakt zijn om te bouwen wat ik wil.

Omdat ik het geheel wil automatiseren (just because) heb ik gebruik gemaakt van de Raspberry Pi. Deze had ik tot nu toe in gebruik als media center, maar ik liep daar tegen wat problemen aan waardoor ik een andere oplossing heb gevonden en de Pi niets lag te doen. Dat kan natuurlijk niet, dus wou ik deze inzetten. Plus dat vanaf het moment dat de Raspberry Pi camera aangekondigd werd het me geweldig leek om hiermee te spelen en dit project sluit daar goed op aan.

Het project is primair gewoon voor de hobby en niet specifiek om een daadwerkelijk doel te behalen. Daardoor is het misschien op veel punten niet ideaal, maar daar gaat het niet primair om. Het idee is iets te bouwen wat werkt en daarbij vooral veel plezier te hebben. Natuurlijk gaat het ook om het leren en proberen de grenzen op te zoeken, dus de uitdaging is zeker ook een aspect.

In eerste instantie heb ik de specificaties opgesteld wat er nodig is om dit te laten werken:

Controller
Opties hiervoor zijn vaak een PC of een microcontroller waarbij een PC dikke overkill is en praktisch alles kan maar dan is het project niet zelfstandig. Een microcontroller is ook goed haalbaar maar heeft weer wat minder vermogen dus is niet alles altijd mogelijk. Een Raspberry Pi zit er ongeveer tussenin, het platform is praktisch een volledige PC met iets minder vermogen maar wel helemaal zelfstandig. Hierbij heb ik dus gekozen voor de Raspberry Pi.

Camera
Opties hiervoor zijn een webcam, compact camera, DSLR of de Raspberry Pi camera. Een webcam geeft te slechte kwaliteit, maar heb ik wel gebruikt als prototype toen de Pi cam nog niet beschikbaar was. Een compact camera is meestal lastig te automatiseren, de modellen die ik had liggen waren in ieder geval niet makkelijk aan te sturen. Een DSLR is enorme overkill, dus die wou ik niet gebruiken. De Raspberry Pi Camera geeft prima kwaliteit foto's en de integratie met de Pi is natuurlijk geweldig, daarvoor heb ik dus gekozen.

Draaibaar (automatisch) platform
Om de kosten te drukken heb ik hier gekozen voor een simpele steppermotor die toevallig nog in de bak met onderdelen lag, gelukkig inclusief driver. Heel toevallig was dit ook weer niet gezien er op de betreffende bak een sticker "Stepper motoren" zit. :+ Het platform zelf kan gemaakt worden met de 3D printer, dus dat is vrij eenvoudig. Door een aparte driver te gebruiken (zoals normaal) is het mogelijk om direct de stepper via de GPIO poorten op de Pi aan te sturen.

Verlichting
Om de details goed naar voren te laten komen is het noodzakelijk dat er veel licht is. Zeker met de webcam welke ik in gebruik had om te testen was veel licht een eis en wat ik las van de Pi cam is het ook daarbij echt noodzakelijk veel licht te hebben. Ik had toevallig nog een 4 watt 12 volt AC LED lamp liggen waar een bak licht uit komt, deze lijkt me ideaal om te gebruiken. Voordeel hiervan is dat ik er later eenvoudig meer bij kan zetten gezien deze eenvoudig voor weinig geld te krijgen zijn.

Frame
Wanneer we een object van ongeveer 20x20x20 willen hebben is er redelijk wat ruimte nodig, maar het is niet echt wenselijk om continu al die ruimte kwijt te zijn op m'n bureau voor die ene keer in de maand dat ik een 360 foto maak. Daarom is het belangrijk dat het geheel een self-contained vormt en op die manier in 1x aan de kant te zetten is. Dan kan het simpel in de kast gezet worden en weer gepakt worden wanneer nodig. Een frame geeft ook voordelen met betrekking tot de flexibiliteit en uitbreidbaarheid, een generiek frame geeft voldoende aanknopingspunten om de boel uit te breiden. Hiervoor heb ik gekozen voor simpel M8 draadeinde plus moeren in combinatie met onderdelen uit de 3D printer.

Achtergrond
Om het object eenvoudig achteraf uit te lichten is het belangrijk dat er een egale achtergrond is. Hierbij heb ik gekozen voor A4 printerpapier omdat ik dit eenvoudig uit de printer kan pakken en dus een praktisch oneindige voorraad van beschikbaar is. Mocht er iets gebeuren waardoor de achtergrond niet meer wit genoeg is dan is deze zo te vervangen.

De bouw
Na het bedenken hoe de basis gebruikt gaat worden ben ik gaan bouwen:

Kubus
Als eerst heb ik in 3D CAD software (ik gebruik Creo legaal) de hoeken van de kubus ontworpen en een prototype geprint. Het eerste prototype was op zich prima, maar vrij lomp waardoor er meer plastic verloren zou gaan om het te bouwen en daarnaast is de printtijd een stuk langer. Bij 3D print ontwerp wil je altijd een zo klein en efficient mogelijk zijn zodat de printtijd laag is en de hoeveelheid benodigde plastic zo minimaal mogelijk is. Niet dat plastic heel duur is, maar het is zeker niet gratis dus zinloos verspillen is zonde. Waar ik zelf nog steeds iedere keer van sta te kijken is hoe sterk het plastic is wat uit de 3D printer komt, je kan vaak wegkomen met veel dunner dan je zou denken doordat het erg sterk is. Versie 2 was een stuk beter waardoor ik direct de printer opdracht heb gegeven om er nog 7 bij te maken. Daarna was het een kleine moeite om de M8 draadeinden op maat te maken, ik heb 3 meter opgezaagd in stukken van 25cm en doormiddel van moeren vastgedraaid.

Afbeeldingslocatie: http://www.skre.nl/got/build/corner.jpg

Na het haaks stellen van het geheel vormt het een zeer stevige basis waar ik zeer tevreden mee ben. Ik heb nog een stel voetjes geprint om onderop de opstaande draadeinden te plaatsen om te voorkomen dat het krast. Ik heb nog wat zwarte tape onderop geplakt om te voorkomen dat het teveel schuift, omdat ik direct op een glasplaat print is de onderkant echt super glad als het uit de printer komt.

Afbeeldingslocatie: http://www.skre.nl/got/build/corner_bottom.jpg

Pi behuizing
Vervolgens heb ik een "behuizing" ontworpen voor de Pi. Ik wou hierbij geen gekke dingen doen en het KISS principe toepassen. Het enige wat deze "behuizing" hoeft te doen is de Pi vasthouden en ervoor zorgen dat de aansluitingen eenvoudig toegankelijk zijn. Het bestaat dus uit 2 klemmen die om het M8 draadeinde klemmen, over de "grond" lopen 2 balken naar een houder voor de Pi. Deze houder bestaat uit 2 opstaande balken met een gleuf in de zijkant, de Pi valt precies hierin waardoor het geheel heel stevig vast zit maar eventueel ook eenvoudig eruit te halen is. Op de foto is het wellicht niet super goed te zien, maar de Pi hangt dus in principe helemaal in de lucht op de 2 zijkanten na. De connectoren aan de zijkant zijn ook nog goed beschikbaar. De voedingskabel voor de Pi zit met een tie-rip vast aan de zijkant voor cable management maar dat voorkomt ook nog extra dat de houder kant draaien of schuiven.

Afbeeldingslocatie: http://www.skre.nl/got/build/Pi_holder.jpg

Voor de duidelijkheid een 3D render van het ontwerp:

Afbeeldingslocatie: http://www.skre.nl/got/build/Pi_holder_render.jpg

Ik volg altijd de regel dat alles wat ik bouw in principe vrij eenvoudig weer uit elkaar te halen is en weer in elkaar te zetten. Dat zorgt ervoor dat je regelmatig een stap terug kunt doen en dingen kunt wijzigen in je ontwerp. Een aanrader dus voor mensen die regelmatig zelf dingen bouwen.

Verlichting
Volgende stap was een houder voor de LED lamp aangezien er met een losse LED lamp natuurlijk weinig aan te vangen valt. Het doel hier was een frame waardoor de lamp eenvoudig te bevestigen is maar wel zo open mogelijk aangezien de lamp wel z'n warmte kwijt moet kunnen. Voordeel is dat de LED lamp amper warm wordt aangezien vanaf een 100 graden het plastic natuurlijk begint te smelten. :+ Deze lamp wordt gelukkig nooit echt warm.

De LED houder is simpelweg een kubus frame, vergelijkbaar met het grote frame. Verschil is dat deze helemaal 3D geprint is. Uit 2 delen zodat het zonder support te printen was en zodat de lamp eenvoudig erin en eruit kan. De 2 delen worden bij elkaar gehouden door een paar zwarte tie-rips die in z'n geheel er doorheen lopen en zo de boel bij elkaar klemmen. Ter versteviging en versiering heeft ieder hoekje een schuin dunner balkje op iedere as. Omdat de LED verlichting zelf vrij 'hard' is heb ik hier een filter voor geplaatst, dat wil zeggen een stukje A4 printpapier met een paar stukjes dubbelzijdige tape.

De houder zelf zit met een paar tie-rips vast, dit zorg ervoor dat de lamp eenvoudig te verstellen is zodat deze altijd de juiste belichting geeft. Daarom is de ene tie-rip niet afgewerkt, deze is om het geheel af te stellen en moet dus regelmatig bijgesteld worden. De draadjes zitten net zoals overal ook met tie-rips netjes aan de M8 draadeinde. Aangezien de LED lamp over was en geen nuttig doel meer had heb ik de draden direct aan de plug gesoldeerd en even met een krimpkousje afgewerkt.

Afbeeldingslocatie: http://www.skre.nl/got/build/Led_holder.jpg

Afbeeldingslocatie: http://www.skre.nl/got/build/Led_holder2.jpg

Stopcontact
Volgende stap is het kijken naar power management. De Pi heeft een USB adapter en voor de LED lamp is er een 12 volt AC adapter nodig. Om deze reden heb ik met een paar tie-rips aan de zijkant een IKEA stekkerdoos met schakelaar geplaatst, voornamelijk omdat ik deze toch al had liggen. Qua formaat kwam dit prima uit en via een paar tie-rips is het heel stevig te bevestigen. Aansluiten is eenvoudig via 1 stekker en de schakelaar kan ook van pas komen. De adapters voor de Pi en de lamp zitten beide in de stekkerdoos en er zijn nog stopcontacten genoeg over voor eventuele toekomstige uitbreiding. De draad van de lamp adapter heb ik op maat gemaakt, die van de Pi niet gezien deze aan de ene kant aangegoten zit en aan de andere kant een micro-USB aansluiting heeft. Het deel van de draad wat teveel is zit in een bundel bij elkaar gebonden en kon weggewerkt worden zonder problemen.

GPIO
Hierbij werd het me duidelijk dat het handig zou zijn als de LED lamp aan en uit kan nadat ik dit meerdere keren had gedaan door de adapter eruit te trekken. Omdat de stepper motor ook nog aangesloten moest worden heb ik een simpele break-out print in elkaar gesoldeerd om de GPIO poorten van de Pi toegankelijk te maken. Door dit via een breakout te doen is het eenvoudig te maken en te testen, maar ook weer eenvoudig uit elkaar te halen indien nodig. Hierbij heb ik gelijk wat pinnen gereserveerd voor een simpel relais waarmee de 12v AC te schakelen is via een GPIO pin. Het relais wat ik gebruik heeft apart een 5 volt aansluiting voor het relais zelf en een aparte signaallijn voor het schakelen van de relais, zodoende wordt er niet teveel stroom uit de Pi getrokken en werkt het ook met het 3.3 volt niveau van de Pi ook al is het een 5 volt relais. Ik heb de 5 volt, 3.3 volt, ground en 5 GPIO pinnen uitgebroken waarbij ik de 3.3 volt niet gebruik maar deze in de toekomst wel kan gebruiken en nu kan gebruiken voor debug doeleinden. De GPIO pinnen zijn er 4 voor de stepper en 1 voor de LED lamp.

Qua software is GPIO nog best wel lastig. Uiteindelijk ben ik uitgekomen bij de GPIO utility. Hiermee kun je bijvoorbeeld tijdens boot bepaalde pinnen al exporteren waarne ze beschikbaar zijn in Linux onder /sys/class/gpio. Iedere app kan vervolgens deze pinnen aanspreken zonder root rechten nodig te hebben, dit maakt het gebruik een stuk eenvoudiger. Na veel klooien met verschillende software bleek dit het makkelijkste en meest flexibel te zijn. De uiteindelijke "software" die ik heb gebruikt om het geheel te testen is een simpel bash script, zo eenvoudig is het na exporteren om de pinnen aan te sturen!

Het relais hing een beetje in de lucht aan het breakout printje, deze heb ik dus wat ondersteuning gegeven via een 3D geprint steuntje. Door middel van een druppel hotglue zit het relais stevig vast op de steun. De steun is in de vorm van een X, daar is geen reden voor buiten wat creativiteit in het ontwerp.

Afbeeldingslocatie: http://www.skre.nl/got/build/relais_support.jpg

Platform
Daarna ben ik gaan nadenken over het platform zelf. Het is van belang dat de stepper motor in het midden zit en stevig genoeg vast zit om hetgeen er op de foto moet op te zetten. Ik wou geen grote houden 3D printen om de motor vast te houden omdat dit vrij ingewikkeld zou worden, veel plastic zou kosten en dan waarschijnlijk nog veel speling zou hebben. Ik had nog een reststukje hout liggen wat mij ideaal leek voor dit doeleinde, de vraag was echter hoe dit vastgezet kon worden in het frame. De oplossing die ik hiervoor verzonnen heb zijn een viertal pootjes welke aan de draadeinde klemmen en op de "grond" staan. Het plankje rust op de bovenkant en zit met een tie-ripje aan het pootje vast. Dit geeft een heel stevig geheel zonder enige speling en het hout is stevig genoeg om de stepper motor aan te schroeven met behulp van een paar boutjes en moertjes. Het pootje bleek ook ideaal om het motor driver printplaatje aan te tie-rippen.

Afbeeldingslocatie: http://www.skre.nl/got/build/platform_holder.jpg

Afbeeldingslocatie: http://www.skre.nl/got/build/motor_driver.jpg

Na wat spelen met de software had ik de lamp en de motor aan de praat. Via een 3D geprint plateau welke direct op de schacht van de stepper motor klemt was de setup in principe compleet. Voor dit plateau heb ik ook twee iteraties moeten doorlopen om dit goed te krijgen, bij de eerste versie zat er teveel speling in waardoor het object op het plateau snel ging wiebelen. Op het plateau zit een stukje dubbelzijdige tape om te voorkomen dat het product wegschuift gezien het plastic erg glad is. Als achtergrond heb ik enkele A4'tjes geplaatst op het hout en tegen zijkant van de kubus, dit geeft een prima witte achtergrond welke achteraf simpel weg te knippen is.

Pi cam (fail)
Toen de camera eindelijk binnenkwam ben ik hier direct mee gaan spelen. De kwaliteit van de camera viel me best tegen, de webcam van 15 euro die ik gebruikte om te testen had dan wel een lagere resolutie maar gaf verder heel vergelijkbare kwaliteit. Ander praktisch nadeel was dat de ribbon cable naar de camera erg kort bleek te zijn, gezien de bandbreedte vraag ik me ook even af hoeveel langer die eigenlijk kan zijn. Helaas liep ik toen tegen een enorm probleem aan: Vergeleken met de webcam welke ik gebruikte heeft de Pi cam een erg krap zichtsveld, daarnaast heeft deze een minimale focus afstand van ongeveer 80 tot 100 cm. Dit wil praktisch gezien zeggen dat het onmogelijk werd om de Pi camera te gebruiken in dit project. Een enorme tegenvaller natuurlijk, maar geen reden om het project stop te zetten. De camera gaat gewoon even in de kast tot ik een nieuw doeleinde verzin. De webcam gaf een veel te lage kwaliteit en de compact camera's die ik ter beschikking heb zijn niet eenvoudig automatisch aan te sturen. Dus ben ik uiteindelijk bij een DSLR aangekomen, deze zijn zeer eenvoudig via een USB kabel te automatiseren. Ik gebruik hiervoor de nieuwste versie van gphoto2 vanaf source gecompileerd, de packages voor deze software zijn te oud en hebben veel bugs. Via deze software is het eenvoudig wanneer de camera eenmaal opgesteld is om automatisch een foto te maken en deze te downloaden.

De DSLR is eenvoudig op een statief te zetten als de kubus op het bureau staat. Een simpel bash scriptje kan de verlichting activeren, een lading foto's maken, tussen iedere foto het object een stukje roteren en vervolgens de verlichting weer deactiveren. Zodoende is het kinderspel om bijvoorbeeld 16, 32 of 64 foto's te maken van een product welke 360 graden draait gedurende de serie. De enige toevoeging aan de hardware kant was een USB kabeltje aan de Pi om de DSLR mee te verbinden.

Overzicht
Hierbij een foto van de onderkant en bovenkant van het geheel zoals het nu erbij staat (en wat mij betreft als voorlopig voltooid gezien kan worden).

Afbeeldingslocatie: http://www.skre.nl/got/build/bottom.jpg
Afbeeldingslocatie: http://www.skre.nl/got/build/top.jpg

Eerste test
Een eerste snelle test voor de setup heb ik hier staan: http://www.skre.nl/rotation_test1/

Uit de test kan ik opmaken dat meer licht nog wel beter zou zijn. Daarnaast kan de camera zeker nog beter ingesteld worden en is het beter om 32 foto's te nemen in een volledige rotatie om een soepeler eindresultaat te krijgen.

Conclusie
Al met al ben ik zeer tevreden met het eindresultaat en heb ik vooral veel plezier gehad bij het ontwerpen en bouwen van dit project. Het project heeft een combinatie van design, fysiek bouwen, 3D printen, elektronica, software, fotografie etc. wat het heel veelzijdig maakt. Daarnaast is het gelukt om het geheel voor 0 euro te bouwen. Als we de DSLR niet meetellen is de Pi het duurste onderdeel, de rest is voor een paar tientjes te krijgen bij de lokale bouwmarkt.

Hopelijk vinden jullie dit een interessante post en geeft dit inspiratie aan andere bouwers die nog denken over hun volgende project. Ik ben erg benieuwd naar jullie feedback!

Acties:
  • 0 Henk 'm!

  • Ferry H.
  • Registratie: November 2012
  • Laatst online: 04-10-2022
Zeker handig! Wat zijn de totale kosten ongeveer?

Reviews: MSI GeForce GTX 760 2GB Twin Frozr Gaming


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Omdat ik alles al had liggen heeft het niets gekost, maar dit is een inschatting van de kosten:

3 meter M8 draadeind - 3 euro
50x M8 moer - 1 euro
200 gram PLA plastic - 4 euro
IKEA stopcontact - 2 euro
LED lamp - 3 euro
12v AC adapter - 3 euro
USB adapter - 1 euro
Tie-rips - 1 euro
SD kaart - 1 euro
Draad + soldeer + krimpkous + tape etc - 1 euro

Losse spullen: 20 euro
Alle punten afgerond naar boven op de hele euro voor het gemak.

Raspberry Pi: 38 euro

Dus in principe 20 euro ruim genomen of 60 euro als de Pi ook nog aangeschaft zou moeten worden. DSLR gaan we even vanuit dat die reeds aanwezig is, dat staat natuurlijk niet in verhouding tot de rest van de kosten.