To je driver koji ce sigurnno zavrsiti posao , doduse malo predimenzionisan za motor koji ti imas na lageru

. Ne zaboravi da podesis struju kada sve povezes.
Hvala drugari , naruceno sutra stize .
Ja sam megaloman volim da preterujem .

Moracu i motor da kupim ,na ovaj je osovina 4mm .
Nema remenica za njega ,koliko sam video.
Stigo driver

Odlicno, to je dobar drajver.
Ispovezuj to, imaju i neki tu DIP prekidaci da se usteluje struja i mozda jos neki parametar. To ces probati prakticno …
Sad malo sa programom se pozabavi i to bi ti bilo to

Ako me secanje sluzi dobro , DIP prekidaci su za microsteping , za regulaciju struje je trimpot .
Uki jesi li dobio neki papir uz driver , podesavanja i pin out ?
Ima samo oznake na pcb.
Nasao sam ovo oko povezivanja .

Povezao sve nastelovao struju , sve lepo radi.
Ali ne mogu nikako da namestim kod.
Treba da odradi loop jednom , kad pritisnem taster.
A sada radi samo dok drzim taster.
Menjao sam i pinove , ne znam sta vise da mu radim .

Uki daj neki soure code pa da komentarisemo-pomognemo, ovako samo mozemo da nagadjamo gde gresis.
Evo kod ,pokusavam al dzaba ...
int stp = 5; //connect pin 11 to step
int dir = 2; // connect pin 10 to dir
int buttonPin = 11;
int a = 0;
void setup()
{
pinMode(buttonPin, INPUT_PULLUP);
pinMode(stp, OUTPUT);
pinMode(dir, OUTPUT);
}
void loop()
{
if(digitalRead(buttonPin) == LOW) //functions based off of button pulling input pin LOW
{
if (a < 200) //sweep 200 step in dir 1
{
a++;
digitalWrite(stp, HIGH);
delay(10);
digitalWrite(stp, LOW);
delay(10);
}
}
}
[quote pid='64767' dateline='1475788295']
Ako su microstep DIP prekidaci postavljeni na sledeci nacin M1>0 ,M2>0 , M3>1
ovaj kod bi trebalo da radi 10 punih rotacija
int stp = 5; //connect pin 11 to step
int dir = 2; // connect pin 10 to dir
int buttonPin = 11;
int a = 0;
void setup()
{
pinMode(buttonPin, INPUT_PULLUP);
pinMode(stp, OUTPUT);
pinMode(dir, OUTPUT);
}
void loop()
{
setup();
if(digitalRead(buttonPin) == LOW) //functions based off of button pulling input pin LOW
{
if (a < 2000) //sweep 200 step in dir 1
{
a++;
digitalWrite(stp, HIGH);
delay(10);
digitalWrite(stp, LOW);
delay(10);
}
a=0;
}
}
Ovo je samo primer kako bi to trblo da radi , trebalo bi jos doraditi da bi to bio potpuno funkcionalni kod. Recimo debouncing procedura da kod ne pravi problem sa prelaznim rezimom kada se pritisne taster....
Probaj i javi da li radi .
[/quote]
ista stvar vrti dok drzim .
Jesi li siguran da si iskopirao kod koji sam ja prepravio i kompajlirao ga ponovo ? Nema logike da to radi tako kako kazes . Kojom brzinom se vrti motor kada stisnes taster ?
Jesam par puta sam kopirao .
Vrti negde oko 1 obr/sek.
Evo sta mi lik na arduino forumu napisao , nije mi bas jasno.
you should look at the state change detection example in the digital examples in the IDE File menu. That way you can know when the button BECOMES pressed not IS pressed.
Nisam povezao ena na driver .
int stp = 5; //connect pin 11 to step
int dir = 2; // connect pin 10 to dir
int buttonPin = 11;
int a = 0;
void setup()
{
pinMode(buttonPin, INPUT_PULLUP);
pinMode(stp, OUTPUT);
pinMode(dir, OUTPUT);
}
void loop()
{
setup();
if(digitalRead(buttonPin) == LOW) //functions based off of button pulling input pin LOW
{
a=0;
do
{
a++;
digitalWrite(stp, HIGH);
delay(10);
digitalWrite(stp, LOW);
delay(10);
}while(a<200);
}
}
Too radi !
Hvala vam puno sto mi pomazete .
Probaj i ovako. Ja ne koristim arduino ali treba da radi.
#define DESNO 1
#define LEVO 0
int stp = 5; //connect pin 11 to step
int dir = 2; // connect pin 10 to dir
int buttonPin = 11;
int a = 0;
void setup()
{
pinMode(buttonPin, INPUT_PULLUP);
pinMode(stp, OUTPUT);
pinMode(dir, OUTPUT);
}
void Vrti(unsigned int broj_koraka, unsigned char smer)
{
unsigned int i = 0;
if(smer == DESNO)
digitalWrite(dir, HIGH);
else
digitalWrite(dir, LOW);
delay(100);
while(i++ < broj_koraka)
{
digitalWrite(stp, HIGH);
delay(10);
digitalWrite(stp, LOW);
delay(10);
}
}
void loop()
{
setup();
if(digitalRead(buttonPin) == LOW) //functions based off of button pulling input pin LOW
{
Vrti(200, DESNO);
}
}