Innehållsförteckning:

Arduino Controller för automatiserad 360 ° produktfotografering: 5 steg (med bilder)
Arduino Controller för automatiserad 360 ° produktfotografering: 5 steg (med bilder)

Video: Arduino Controller för automatiserad 360 ° produktfotografering: 5 steg (med bilder)

Video: Arduino Controller för automatiserad 360 ° produktfotografering: 5 steg (med bilder)
Video: Control 360 непрерывного сервопривода с кнопочными переключателями и Arduino 2024, December
Anonim
Image
Image
Samla delar och filer
Samla delar och filer

Låt oss bygga en arduino -baserad kontroll som styr en stegmotor och en kameralucka. Tillsammans med en stegmotordriven skivspelare är detta ett kraftfullt och billigt system för automatiserad 360 ° produktfotografering eller fotogrammetri. Den automatiska kameraslutaren är baserad på ett fantastiskt bibliotek från "Sebastian Setz" och fungerar för infraröda kameror från Nikon, Canon, Minolta, Olympus, Pentax, Sony.

Jag har förberett två versioner av handkontrollen:

  • En grundversion som manövreras med en enkel tryckknapp och en statusled.
  • En avancerad version som använder en 16x2 LCD + knappsatsskärm och därmed har en meny för att ändra variablerna "on the fly" och inte bara i källkoden.

Vad gör regulatorn?

Om du aktiverar en "fotografering" genom att trycka på knappen utför skivspelaren en fullständig varv, uppdelad i en fördefinierad mängd steg. Efter varje rotationssteg gör regulatorn en kort paus och triggar sedan kameran. Du kommer att kunna ändra variablerna för rotationshastigheten, fördröjningstiden och antalet steg i källkoden (för enkel styrversion) eller i displaymenyn (avancerad styrversion).

Steg 1: Samla delar och filer

Samla delar och filer
Samla delar och filer
Samla delar och filer
Samla delar och filer

Delar:

  • Arduino Uno (eller liknande)
  • Brödbräda (passform för brödbräda)
  • Easydriver Stepper Motor Driver
  • 2X kylfläns för Easydriver (tillval men rekommenderas starkt) https://www.sparkfun.com/products/11510 Du behöver termotape för att fixera kylflänsen på chipet. Om du beställer din kylfläns, se till att termobanden är inkapslad eller kan beställas separat.
  • Infraröd LED 950nm (för IR -kameratrigger)
  • Motstånd 220 ohm (förmotstånd för infraröd LED)
  • Piezo -ljudelement (tillval om du vill ha feedbackljud)
  • Några bygeltrådar
  • Extern strömförsörjning för stegmotor Jag gjorde goda erfarenheter med en 12V 1A nätadapter för att driva en 1A NEMA 17 stegmotor från Trinamic. Jag hade också en 24V 3A nätadapter i bruk. Easydriver -kortet stöder upp till 30V och 750mA per fas. Mer om easydriver-specifikationerna här:
  • Uttag för stegmotorns externa strömförsörjning
  • Bipolär NEMA 17 Stegmotor och skivspelare t.ex. FluxGarage „Automated Turntable With Steppermotor“Link:

Lägg till för grundläggande tryckknappsregulator …

  • Tryckknapp
  • Motstånd 10k ohm (för tryckknappen)
  • LED (statusledd)
  • Motstånd 220 ohm (förmotstånd för status-LED)

… ELLER lägg till för avancerad styrenhet med display+knappsatsmeny:

Adafruit LCD -skärmkit med 16x2 teckenvisning, t.ex

Ladda ner Arduino-koder och Fritzing-diagram för grundläggande och avancerad controller:

Om du vill öppna Fritzing-dokumentet för den avancerade handkontrollen, se till att ladda ner och installera adafruit-elementen:

Observera: På bilderna använder jag FluxGarage "Tinkerer's Baseplate" och FluxGarage "Frontplatta för 16x2 LCD + knappsatsskydd". Att använda dessa element är valfritt, om du också vill använda dem klickar du på länkarna för instruktionerna.

Steg 2: Montera krets

Montera krets
Montera krets
Montera krets
Montera krets
Montera krets
Montera krets

Solder Easydriver board för brödbräda: För att kunna använda easydriver på ett brödbräda måste du löda några hanstifthuvuden på brädet. Det bästa sättet är att sätta in de manliga stifthuvudena i brödbrädan, lägga easydriveren ovanpå och sedan löd stiften.

Kabeldragning: Koppla ihop delarna som visas i fritzing -grafiken för den grundläggande eller avancerade styrenheten. Ladda ner Firtzing -diagrammen på github, hitta länkarna i steg 1.

Dubbelkolla om allt är anslutet enligt följande:

  • Arduino digital pin 02 = dir pin av Easydriver
  • Arduino digital pin 03 = stegstift på Easydriver
  • Arduino digital pin 09 = utgång för piezo
  • Arduino digital stift 12 = utgång för infraröd LED (placera 220 ohm före motstånd före led)

+ för Basic Controller:

  • Arduino digital pin 04 = ingång för tryckknapp (placera 10k ohm motstånd före knappjord)
  • Arduino digital pin 13 = utgång för status -LED (placera 220 ohm före motstånd före led)

+ för Advanced Controller:

Stapla skärmen+knappsatsskärmen på arduino, faktiskt används de stiften: Arduino analog stift A4+A5 och 5V+GND

Anslut stegmotor: Anslutning av bipolära stegmotorer (4 trådar) handlar om att ansluta motorns två spolar (A och B) till de högra stiften på easydriver -kortet. Ta en titt på grafiken i mitten av denna sida och på specifikationer för din specifika stegmotor:

Du kan också hitta mer information om koppling av din stegmotor och Easydriver här:

Anslut extern strömförsörjning Easydriver -kortet har två separata strömstift på övre högra sidan (M+ och jord). Medan styrelsen själv får kraft från Arduino, ger den separata ingången ström till stegmotorn. Om du använder en vanlig "out of the box" -adapter och ett uttag, bör du ansluta "+"-kabeln till "M+"-stiftet på easydriveren och "-"-kabeln till easydriverns "GND" -stift. Vanligtvis är "+" på insidan, medan "-" är på utsidan av kontakten. Men var försiktig, vissa strömadaptrar gör det möjligt att byta polaritet! Om du kopplar din drivrutin felaktigt kan den troligen skadas, tänk på det.

Steg 3: Ladda upp källkod till Arduino

Ladda upp källkod till Arduino
Ladda upp källkod till Arduino

Ladda ner Arduino-källkoden på Github:

Ladda ner Arduino IDE:

www.arduino.cc/en/Main/Software

Ladda ner tredjepartsbiblioteken och kopiera dem till din IDE: s bibliotekmapp: … för kameralucken: https://github.com/dharmapurikar/Arduino/tree/mast.2012 för Adafruit 16x2 Display+Keypad Shield: https:// github.com/adafruit/Adafruit-RGB-LCD-Shiel…

Koden är testad och fungerar bra med den senaste Arduino IDE (1.8.7 på windows) och Arduino Uno + Easydriver Steppmotordrivrutin + Adafruit 16x2 Display + knappsatsskydd, + en Trinamic stegmotor och en Nikon D60 -kamera.

Justera koden för att fungera med din specifika kamera: Som nämnts använde jag biblioteket "multiCameraIrControl.h" av Sebastian Setz. För att det ska fungera för din kamera måste du radera kommentarsfält före kameratillverkarens namn och naturligtvis lägga till snedstreck före alla andra tillverkarnamn:

// Ställ in kameratyp Nikon D5000 (12); // Canon D5 (12); // Minolta A900 (12); // Olympus E5 (12); // Pentax K7 (12); // Sony A900 (12);

Gör liknande inställningar i "snap" -funktionen:

// Ta en bildeliminär snap () {D5000.shotNow (); // D5.shotNow (); // A900.shotNow (); // E5.shotNow (); // K7.shotNow (); // A900.shotNow ();}

Observera: Tyvärr kunde jag ännu inte testa andra IR -triggade kameror än min egen Nikon D60. Kameras slutarbibliotek bör fungera med flera kameror från de olika tillverkarna, inte bara de specifika kameramodeller som nämns i koden. Det skulle vara bra om du kommenterar dina erfarenheter med din Canon, Minolta, Olympus, Pentax eller Sony kamera.

Steg 4: Använd kontrollen

Använd kontrollen
Använd kontrollen
Använd kontrollen
Använd kontrollen

Vad gör koden respektive styrenheten? Om du trycker på knappen utlöses en "fotografering". Varje fotografering är en begränsad slinga av följande sekvens:

  1. Kameran utlöses
  2. Kort fördröjning
  3. Stegmotorn roterar en fördefinierad mängd grader
  4. Kort fördröjning

En fotografering är baserad på en uppsättning variabler som bestämmer dess exakta beteende. Du kan ändra dessa variabler i källkoden (för enkel controllerversion) eller i displaymenyn (avancerad controllerversion).

Använda den grundläggande styrenheten:

På grundkontrollen visar statuslampan när systemet är klart att utföra. Lysdioden släcks när du startar en fotografering. Du kan avbryta en fotografering genom att hålla knappen intryckt tills "avbrottsljudet" visas och skivspelaren stannar. Ta en titt på videon i denna instruktions högsta sektion för att se detta i "verkliga livet".

Fotograferingsvariablerna finns i kodens översta avsnitt och kan ändras för att ändra fotograferingen. Nedan kan du se de initiala värdena:

int skjutsteg = 20; // antal steg för en fullständig varv, bör vara 10, 20 eller 40float shootingshastighet = 0,01; // rotationshastighet: valfritt tal från.01 -> 1 där 1 är snabbast - långsammare är starkare (långsammare = bättre för "tunga" föremål) int skjutningsfördröjning = 1000; // brytning i millisekunder före och efter varje rotation

Använda den avancerade regulatorn:

När den avancerade kontrollen slås på visas ett FluxGarage -logosplash i 4 sekunder. Därefter är regulatorn redo att utföra och visar en lista över de justerbara variablerna:

  • ST = Antal steg, kan vara 10, 20 eller 40
  • SP = Rotationshastighet, kan vara 1-5 medan 1 är långsammast
  • DE = Fördröjning före och efter varje steg på tiondelsekund, kan vara 5, 10, 25, 50
  • LI = Avgör om bildskärmens bakgrundsbelysning är på eller av under fotografering. Kan vara 1 = på eller 0 = av

Du kan navigera genom variabeltyperna med vänster och höger knapp och ändra värdena med upp- och nedknapparna. Starta en fotografering genom att trycka på väljknappen och avbryta en fotografering genom att hålla väljarknappen intryckt tills "avbrottsljud" visas. Ta en titt på videon i denna instruktions högsta sektion för att se detta i "verkliga livet".

Steg 5: Börja fotografera

Börja skjuta
Börja skjuta

Om du har byggt din egen handkontroll + skivspelare och din kamera är på plats är du redo att börja fotografera … nästan. Låt mig dela med mig av några lärdomar från mina egna experiment:

  • Använd ett ljustält för att belysa dina föremål jämnt. Du kan hitta massor av bra handledning här på instructables.com som visar hur du skapar en DIY lightbox. Det finns också billiga textiltält som kan köpas i många onlinebutiker.
  • Använd glödlampor med samma färgtemperatur (Kelvin)
  • Fokusera objektet på skivspelaren manuellt, inaktivera kamerans autofokus
  • Stäng av kamerans bildstabilisator om du arbetar med ett stativ
  • Välj ett mätområde i bakgrunden, där objektet inte kommer att visas. Genom att undvika att flimra i bildsekvensen. Ett annat sätt är att manuellt ställa in kamerans exponeringstider etc.
  • Om du vill inkludera dina 360-bilder på din webbplats kan du använda javascript-plugins som "Jquery Reel Plugin" av Petr Vostřel alias "PISI" → https://jquery.vostrel.cz/reel "360 Degrees Product Viewer" av "Codyhouse" “→

Detta är resultatet av en av mina skjutningar (skapade med ovanstående inställning):

Rekommenderad: