INHOUDSOPGAWE:

Arduino -kontroleerder vir outomatiese 360 ° -produktfotografie: 5 stappe (met foto's)
Arduino -kontroleerder vir outomatiese 360 ° -produktfotografie: 5 stappe (met foto's)

Video: Arduino -kontroleerder vir outomatiese 360 ° -produktfotografie: 5 stappe (met foto's)

Video: Arduino -kontroleerder vir outomatiese 360 ° -produktfotografie: 5 stappe (met foto's)
Video: Как управлять приводом с помощью Arduino - Robojax 2024, November
Anonim
Image
Image
Versamel dele en lêers
Versamel dele en lêers

Kom ons bou 'n arduino -gebaseerde beheerder wat 'n trapmotor en 'n kameraluiter beheer. Saam met 'n deurtrap -aangedrewe draaitafel is dit 'n kragtige en goedkoop stelsel vir outomatiese 360 ° -produktfotografie of fotogrammetrie. Die outomatiese kamerakluis is gebaseer op 'n uitstekende biblioteek van "Sebastian Setz" en werk vir infrarooi kamera's van Nikon, Canon, Minolta, Olympus, Pentax, Sony.

Ek het twee weergawes van die kontroleerder voorberei:

  • 'N Basiese weergawe wat gebruik word met 'n eenvoudige drukknop en 'n statuslys.
  • 'N Gevorderde weergawe wat 'n 16x2 LCD + sleutelbordskerm gebruik en dus 'n spyskaart het om die veranderlikes "on the fly" te verander, en nie net in die bronkode nie.

Wat doen die beheerder?

As u 'n 'fotosessie' veroorsaak deur op die knoppie te druk, voer die draaitafel 'n volledige omwenteling uit, verdeel in 'n voorafbepaalde hoeveelheid stappe. Na elke rotasie stap maak die kontroleerder 'n kort pouse en aktiveer die kamera. U sal die veranderlikes van die rotasiesnelheid, die vertragingstyd en die aantal stappe in die bronkode (vir eenvoudige kontroleerderweergawe) of in die vertoonmenu (gevorderde kontroleerderweergawe) kan verander.

Stap 1: Versamel onderdele en lêers

Versamel dele en lêers
Versamel dele en lêers
Versamel dele en lêers
Versamel dele en lêers

Dele:

  • Arduino Uno (of soortgelyk)
  • Broodplank (pasmaat broodplate van halfgrootte)
  • Stuurmotorbestuurder van Easydriver
  • 2X Heatsink vir Easydriver (opsioneel, maar word sterk aanbeveel) https://www.sparkfun.com/products/11510 U benodig termiese band om die heatsink aan die chip vas te maak. As u u heatsink bestel, moet u seker maak dat die kleefband ingesluit is of afsonderlik bestel kan word.
  • Infrarooi LED 950nm (vir IR -kamera -sneller)
  • Weerstand 220 ohm (voorweerstands vir infrarooi LED)
  • Piezo -klankelement (opsioneel, as u terugvoerklanke wil hê)
  • 'N Paar springdrade
  • Eksterne kragtoevoer vir stappermotor Ek het goeie ervarings gemaak met 'n 12V 1A -kragadapter om 'n 1A NEMA 17 -stappermotor van Trinamic te bestuur. Ek het ook 'n 24V 3A kragadapter gebruik. Die Easydriver -bord ondersteun tot 30V en 750mA per fase. Meer oor die easydriver-spesifikasies hier:
  • Aansluiting vir die eksterne kragbron van die trapmotor
  • Bipolêre NEMA 17 Stappermotor en draaitafel bv. die FluxGarage "Outomatiese draaitafel met stappermotor" -skakel:

Voeg by vir basiese drukknoppie-kontroleerder …

  • Druk knoppie
  • Weerstand 10k ohm (vir die drukknop)
  • LED (status-gelei)
  • Weerstand 220 ohm (voorweerstanden voor status-LED)

… OF voeg by vir gevorderde kontroleerder met skerm+bedieningsmenu:

Adafruit LCD Shield Kit met 16x2 karaktervertoning, bv

Laai die Arduino-kodes en Fritzing-diagramme af vir basiese en gevorderde beheerder:

As u die Fritzing-dokument vir die gevorderde kontroleerder wil oopmaak, moet u die adafruit-elemente aflaai en installeer:

Let wel: op die foto's gebruik ek die FluxGarage 'Tinkerer's Baseplate' en die FluxGarage 'Front Plate for 16x2 LCD + Keyboard Shield'. Dit is opsioneel om hierdie elemente te gebruik, as u dit ook wil gebruik, klik op die skakels vir die instruksies.

Stap 2: Monteer die stroombaan

Monteer stroombaan
Monteer stroombaan
Monteer stroombaan
Monteer stroombaan
Monteer stroombaan
Monteer stroombaan

Soldeersak vir die gebruik van broodbord: Om die easydriver op 'n broodbord te gebruik, moet u 'n paar penkopstukke op die bord soldeer. Die beste manier is om die mannetjiespenkopstukke in die broodbord te plaas, die easydriver bo -op te lê en dan die penne te soldeer.

Bedrading: Verbind die dele soos aangedui in die grafiek rakende Fritzing vir die basiese of gevorderde kontroleerder. Laai die Firtzing -diagramme op github af, vind die skakels in stap 1.

Kontroleer of alles soos volg verbind is:

  • Arduino digitale pen 02 = dir pin van Easydriver
  • Arduino digitale pen 03 = stappen van Easydriver
  • Arduino digitale pen 09 = uitset vir piezo
  • Arduino digitale pen 12 = uitset vir infrarooi LED (plaas 220 ohm voorweerstand voor LED)

+ vir basiese beheerder:

  • Arduino digitale pen 04 = invoer vir drukknop (plaas 10k ohm weerstand voor knoppie grond)
  • Arduino digitale pen 13 = uitset vir status -LED (plaas 220 ohm voorweerstand voor LED)

+ vir gevorderde kontroleerder:

Stapel die skerm+sleutelbordskerm op die arduino, eintlik word die penne gebruik: Arduino analoog pen A4+A5 en 5V+GND

Koppel stappermotor: die koppeling van bipolêre stapmotors (4 drade) gaan oor die koppeling van die twee spoele (A en B) van die motor aan die regte penne van die easydriver -bord. Kyk na die grafiek in die middel van hierdie bladsy en op die spesifikasies van u spesifieke stapmotor:

U kan ook meer inligting vind oor die aansluiting van u stappermotor en die Easydriver:

Koppel eksterne kragtoevoer Die Easydriver -bord het twee aparte kragpenne regs bo (M+ en grond). Terwyl die bord self krag kry van die Arduino, bied die aparte insette krag vir die stapmotor. As u 'n tipiese 'out-of-the-box'-stroomadapter en 'n stopcontact gebruik, moet u die'+'-draad aan die' M+'-pen van die easydriver en die'-'draad aan die' GND 'pen van die easydriver koppel. Gewoonlik is die "+" aan die binnekant, terwyl die "-" aan die buitekant van die prop is. Maar wees versigtig, sommige kragadapters laat die polariteit verander! Hou dit in gedagte as u u maklike bestuurder verkeerd lei.

Stap 3: Laai die bronkode op na Arduino

Laai die bronkode op na Arduino
Laai die bronkode op na Arduino

Laai die Arduino-bronkode af by Github:

Laai Arduino IDE af:

www.arduino.cc/en/Main/Software

Laai die derdeparty -biblioteke af en kopieer dit na u IDE -biblioteekmap: … vir die kamera -sluiter: https://github.com/dharmapurikar/Arduino/tree/mast ……. vir die Adafruit 16x2 Display+Keyboard Shield: https:// github.com/adafruit/Adafruit-RGB-LCD-Shiel…

Die kode word getoets en werk goed met die nuutste Arduino IDE (1.8.7 op vensters) en Arduino Uno + Easydriver -stappermotorbestuurder + Adafruit 16x2 -skerm + Toetsenbordskerm, + 'n Trinamic -stapmotor en 'n Nikon D60 -kamera.

Pas die kode aan om met u spesifieke kamera te werk: Soos genoem, gebruik ek die biblioteek "multiCameraIrControl.h" deur Sebastian Setz. Om dit vir u kamera te laat werk, moet u die opmerkingstrepies voor die naam van u kameravervaardiger uitvee en natuurlik skuinsstrepe voor al die ander vervaardigersname byvoeg:

// Stel kameratipe Nikon D5000 (12); // Canon D5 (12); // Minolta A900 (12); // Olympus E5 (12); // Pentax K7 (12); // Sony A900 (12);

Doen die soortgelyke aanpassing in die 'snap' -funksie:

// Maak 'n prentjie wat nie in beeld is nie () {D5000.shotNow (); // D5.shotNow (); // A900.shotNow (); // E5.shotNow (); // K7.shotNow (); // A900.shotNow ();}

Let wel: Ongelukkig kon ek nog nie ander IR -geaktiveerde kameras toets as my eie Nikon D60 nie. Die kamerakluisbiblioteek moet saam met verskeie kameras van die verskillende vervaardigers werk, nie net die spesifieke kameramodelle wat in die kode genoem word nie. Dit sal wonderlik wees as u 'n opmerking lewer oor u ervarings met u Canon-, Minolta-, Olympus-, Pentax- of Sony -kamera.

Stap 4: Bedien die beheerder

Bedien die beheerder
Bedien die beheerder
Bedien die beheerder
Bedien die beheerder

Wat doen die kode onderskeidelik deur die kontroleerder? As u op die knoppie druk, word 'n "fotosessie" geaktiveer. Elke fotografie is 'n eindige lus van die volgende volgorde:

  1. Die kamera word geaktiveer
  2. Kort vertraging
  3. Stapmotor draai 'n voorafbepaalde hoeveelheid grade
  4. Kort vertraging

'N Fotosessie is gebaseer op 'n stel veranderlikes wat die presiese gedrag daarvan bepaal. U kan hierdie veranderlikes verander in die bronkode (vir 'n eenvoudige weergawe van die beheerder) of in die vertoonmenu (gevorderde kontroleerderweergawe).

Die gebruik van die basiese beheerder:

Op die basiese beheerder wys die status -LED wanneer die stelsel gereed is om te werk. Die LED gaan uit wanneer u 'n fotosessie begin. U kan 'n fotosessie onderbreek deur op die knoppie te hou totdat die 'onderbrekingsgeluid' verskyn en die draaitafel stop. Kyk na die video in die boonste gedeelte van hierdie instruksies om dit in die 'regte lewe' te sien.

Die veranderlikes van die fotografie kan in die boonste gedeelte van die kode gevind word en kan verander word om die fotografie te verander. Hieronder kan u die aanvanklike waardes sien:

int skietstappe = 20; // aantal stappe vir 'n volle omwenteling, moet 10, 20 of 40 vliegskietsnelhede = 0,01 wees; // rotasiesnelheid: enige getal van.01 -> 1 waarvan 1 die vinnigste is - Stadiger is sterker (stadiger = beter vir 'swaar' voorwerpe) int shootingdelay = 1000; // breek in millisekondes voor en na elke rotasie

Die gebruik van die gevorderde kontroleerder:

As u die gevorderde beheerder aanskakel, word 'n FluxGarage -logosplash vir 4 sekondes vertoon. Daarna is die beheerder gereed om uit te voer en toon 'n lys met die verstelbare stel veranderlikes:

  • ST = Aantal stappe, kan 10, 20 of 40 wees
  • SP = Rotasiesnelheid, kan 1-5 wees terwyl 1 die stadigste is
  • DE = Vertraging voor en na elke stap in tiende van 'n sekonde, kan 5, 10, 25, 50 wees
  • LI = Bepaal of die agtergrondlig van die skerm tydens die opname aan of af is. Kan 1 = aan of 0 = af wees

U kan met die linker- en regterknoppies deur die veranderlike tipes navigeer en die waardes verander met die op- en afknoppies. Begin met 'n fotosessie deur op die kiesknoppie te druk en 'n fotosessie te onderbreek deur die kiesknoppie ingedrukt te hou totdat die 'onderbreekklank' verskyn. Kyk na die video in die instruksie se boonste gedeelte om dit in die 'regte lewe' te sien.

Stap 5: Begin skiet

Begin skiet
Begin skiet

As u u eie kontroleerder + draaitafel gebou het en u kamera in plek is, begin u skiet … amper. Laat ek 'n paar leerstellings uit my eie eksperimente deel:

  • Gebruik 'n ligte tent om u voorwerpe eweredig te verlig. U kan baie goeie tutoriale hier op instructables.com vind wat wys hoe u 'n self lightbox kan skep. Daar is ook goedkoop tente vir tekstielligte wat in baie aanlynwinkels gekoop kan word.
  • Gebruik gloeilampe met dieselfde kleurtemperatuur (Kelvin)
  • Fokus die voorwerp handmatig op die draaitafel, deaktiveer die kamera se outofokus
  • Skakel die beeldstabilisator van u kamera af as u met 'n driepoot werk
  • Kies 'n meetbereik op die agtergrond, waar die geskote voorwerp nie verskyn nie. Deur dit te vermy, vermy u flikkering in u beeldreeks. 'N Ander manier is om die blootstellingstye van u kamera handmatig in te stel, ens.
  • As u u 360-afbeeldings op u webwerf wil insluit, gebruik javascript-inproppe soos 'Jquery Reel Plugin' deur Petr Vostřel alias 'PISI' → https://jquery.vostrel.cz/reel «360 Degrees Product Viewer “van„ Codyhouse “→

Dit is die gevolg van een van my skietvoorvalle (geskep met die instelling hierbo):

Aanbeveel: