Jump to content

Stepera motora vadības programma


rcnexy
 Share

Recommended Posts

Meklēju Windows programētāju, kurš palīdzētu manu ideju realizēt dzīvē. 

 

Programmas uzdevums:

Rotācijas motora vadība un fotokameras palaišana.

 

Līdzīgs risinājums:

zcapture.com/software.aspx

 

Vairāk informācija un specifikācija pie sarakstes.

 

Par atlīdzību pēc vienošanās.

 

Andris

 

 

post-98654-0-40473700-1409558923_thumb.jpg

Link to comment
Share on other sites

  • 3 weeks later...

Sveiki.

 

Varu mēģināt palīdzēt, ir arī neliela pieredze ar soļu motoriem. Rakstiet Gun4a151291@inbox.lv

 

Guntars

Link to comment
Share on other sites

Soļu motori, automātika ir protams skaisti un talantīgi, bet varbūt ir vērts visu darīt vienkāršāk?

http://www.imajize.com/blog/diy-automated-360o-turntable

Grozāmais galds ar melnbaltām svītrām un IR sensors, kas vajadzīgo reižu skaitu nospiež fotoaparāta slēdzi. Ja nav nepieciešams pilnu diska apgriezienu 5 sekundēs, problēmām ar attēla izplūšanu pavisam noteikti nevajadzētu būt.


Šepat vispār viss jau gatavs un parādīts uz pirkstiem - http://www.elektronika.ba/832/turntable-photography-equipment/

Link to comment
Share on other sites

Muļķīgi ir sevi ierobežot vienā os

 

Un kāpēc programmēt lai darbinātu kameru, ja kameru darbinātāji jau ir uzprogrammēt??

 

Bet nu... Es savukārt realizēju sekojošu risinājumu.

 

Objekti jāfotografē ar zibspuldzi jebkurā gadienā (vismaz man), tāpēc Prātīgi likās galdu taisīt vadāmu nevis no datora bet gan no gaismas. Nu jāprogrammē mazliet tā vai tā.

Izmantoju arduino. Detaļās pirku adafruit un lemonā, plati sūtīju OSH Park (vietējie mani ignorēja)

 

post-64260-0-99398600-1411155749_thumb.jpg

 

Shēmu zīmēju un izklājumu taisīju KiCad

 

post-64260-0-55882900-1411155953_thumb.jpg

 

Izvēlējos pievienot displeju lai var vieglāk regulēt ātrumus, bet nu tas tā "for fancy" bez tā var iztikt, vai lietot ledus vai ko tādu.

 

post-64260-0-60218700-1411156119_thumb.jpg

 

Tā tas izskatījās uz BB

 

post-64260-0-47361400-1411156237_thumb.jpg

 

Jaunie pcb, Jeee - gaidīju mēnesi, bet dabūju komplektā ari Uzlīmi!!

 

post-64260-0-60930500-1411156322_thumb.jpg

 

Tā izskatās salodēts.

 

Jautrākā daļa. Pašu galdu taisīju no veca plašu atskaņotāja ko dabūju šeit zābakformā sen.

 

post-64260-0-87869100-1411156470_thumb.jpg

 

post-64260-0-55356300-1411156586_thumb.jpg

 

Un virsmiņa...

 

post-64260-0-89470800-1411156635_thumb.jpg

 

Putuplatstsssss...

 

Un pirmais testsssss....

 

post-64260-0-83196500-1411156670_thumb.jpg

 

...ssssssss

 

Dārgākais projektā bija displejs un PCB, katrs ap 30$.

 

Fotogrāfijai izmantoju DarkTable theetering mode. Uzlieku vēlamo bilžu skaitu un 5 sekunžu atstarpi, tas ir pietiekoši lai uzlādētu gaismas un pagrieztu galdu. Dark table ir ļoti ērts apstrādāt bildes, jo reāli jau jāsalabo tikai viena!

 

Tadāaa, te rezultāts!

 

http://tinoo.net/3/gramata/

http://tinoo.net/3/gramata3/

 

Man atsūtīja 3 plates, ja kādam ir interese tad varu padalīties. Esmu to nosaucis apar addon, bet pareizi laikam tos sauc shiels!! Es izmantoju parasto fotosensoru, tā kā apgaismojumam jābūt kontrolētam, labāk jau būtu kādu IR, vai izmantot kodā paškalibrāciju, kuru pagaidām neesmu realizēji laika trūkuma dēļ, un tādēļ ka darbojas tāpat.! Tas bija man pirmais elektronikas, un Arduino projekts kopš Am radioparāta 10 gadu vecumā.

 

Ah jā te arī arduino kods - skečšs

#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

// If using software SPI (the default case):
#define OLED_MOSI   8
#define OLED_CLK   7
#define OLED_DC    6
#define OLED_CS    4
#define OLED_RESET 5
Adafruit_SSD1306 display(OLED_MOSI, OLED_CLK, OLED_DC, OLED_RESET, OLED_CS);

#define NUMFLAKES 10
#define XPOS 0
#define YPOS 1
#define DELTAY 2

#include <Stepper.h>
 
int in1Pin = 11;
int in2Pin = 12;
int in3Pin = 10;
int in4Pin = 9;
int photocellPin = 0;     // the cell and 10K pulldown are connected to a0
int photocellReading;     // the analog reading from the analog resistor divider
const int buttonPin = 3;     // the number of the pushbutton pin
const int buttonPin2 = 2;     // the number of the pushbutton pin
int buttonState = 0;         // variable for reading the pushbutton status
int button2State = 0;         // variable for reading the pushbutton status
int buttonPushCounter = 3;   // counter for the number of button presses
int tim = 250;
int steps = 300;
int count = 100;

 
Stepper motor(512, in1Pin, in2Pin, in3Pin, in4Pin); 

void setup()   {    
pinMode(buttonPin, INPUT);
pinMode(buttonPin2, INPUT);
pinMode(in1Pin, OUTPUT);
pinMode(in2Pin, OUTPUT);
pinMode(in3Pin, OUTPUT);
pinMode(in4Pin, OUTPUT);  
motor.setSpeed(20);
  // by default, we'll generate the high voltage from the 3.3v line internally! (neat!)
  display.begin(SSD1306_SWITCHCAPVCC);
  // init done
}
void loop() {
    buttonState = digitalRead(buttonPin);    
    button2State = digitalRead(buttonPin2);
    photocellReading = analogRead(photocellPin);
    
    if (photocellReading > 300) {
    motor.step(steps);
}
if (buttonPushCounter == 5) {
    } else if (buttonState == HIGH) {
           (steps = steps + count) && (buttonPushCounter++);
           delay(tim);
 }
 if (buttonPushCounter == 1) {
      }  else if (button2State == HIGH) {
           (steps = steps - count) && (buttonPushCounter--);
           delay(tim);
}

{
  display.clearDisplay();
  display.setTextSize(4);
  display.setTextColor(WHITE);
  display.setCursor(55,25);
  display.println(buttonPushCounter);
  display.display();
}
}

P.S.

Un windows man nav...

 


Ah jā, KiCad faili

 

griezas.zip

Link to comment
Share on other sites

Izveido kontu, vai pieraksties esošajā, lai komentētu

Jums ir jābūt šī foruma biedram, lai varētu komentēt tēmas

Izveidot jaunu kontu

Piereģistrējies un izveido jaunu kontu, tas būs viegli!

Reģistrēt jaunu kontu

Pierakstīties

Jums jau ir konts? Pierakstieties tajā šeit!

Pierakstīties tagad!
 Share

×
×
  • Izveidot jaunu...