Elektronika.lt
 2025 m. rugpjūčio 30 d. Projektas | Reklama | Žinokite | Klausimai | Prisidėkite | Atsiliepimai | Kontaktai
Paieška portale
EN Facebook RSS

 Kas naujo  Katalogas  Parduotuvės  Forumas  Tinklaraščiai
 Pirmas puslapisSąrašas
 Forumas / + pokalbiai
 - Paieška forume
 - D.U.K. / Forumo taisyklės
 - Narių sąrašas
 - Registruotis
 - Prisijungti

Elektronika.lt portalo forumas

Jūs esate neprisijungęs lankytojas. Norint dalyvauti diskusijose, būtina užsiregistruoti ir prisijungti prie forumo. Prisijungę galėsite kurti naujas temas, atsakyti į kitų užduotus klausimus, balsuoti forumo apklausose.

Administracija pasilieka teisę pašalinti pasisakymus bei dalyvius, kurie nesilaiko forumo taisyklių. Pastebėjus nusižengimus, prašome pranešti.

Dabar yra 2025 08 30, 14:35. Visos datos yra GMT + 2 valandos.
 Forumas » Mikrovaldikliai » CLOCK signalo formavimas stepper draiveriui
Jūs negalite rašyti naujų pranešimų į šį forumą
Jūs negalite atsakinėti į pranešimus šiame forume
Jūs negalite redaguoti savo pranešimų šiame forume
Jūs negalite ištrinti savo pranešimų šiame forume
Jūs negalite dalyvauti apklausose šiame forume
 
  
Puslapis 12
Pereiti prie 1, 2  Toliau
Pradėti naują temą  Atsakyti į pranešimą Rodyti ankstesnį pranešimą :: Rodyti kitą pranešimą 
 CLOCK signalo formavimas stepper draiveriui
PranešimasParašytas: 2015 01 09, 10:48 Pranešti apie taisyklių pažeidimą Atsakyti su citata
andriusa
Patyręs dalyvis
Patyręs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką Apsilankyti vartotojo tinklapyje
Darau valdymą žingsniniam varikliui. Pradinė koncepcija PIC18F2455 + L297 + L298. Klausimas būtų, kaip suformuoti CLOCK signalą į draiverį, čia impulsų skaičius lemia žingsnių kiekį kaip išskaičiau. Jei naudoti struktūrą

bsf PORTB, RB0
call DELAY
bcf PORTB, RB0
call DELAY
goto PRADZIA

ir dar kažkurioje vietoje skaičiuoti kiek kartų prasisuko ciklas, tai mikrovaldiklis tuo metu nieko kito negali daryti. Gal yra koks būdas, kad nusiuntei žingsnių skaičių į registrą x, ir mikrovaldiklis pumpuoja tuos impulsus bei daro kitus darbus.

Taip pat klausimas kokį CLOCK periodą naudoti bei kam reikalingas vidinis generatorius pas L297?
 CLOCK signalo formavimas stepper draiveriui
PranešimasParašytas: 2015 01 09, 11:48 Pranešti apie taisyklių pažeidimą Atsakyti su citata
R2D2
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Tai vadinama "Timers"
 CLOCK signalo formavimas stepper draiveriui
PranešimasParašytas: 2015 01 09, 13:31 Pranešti apie taisyklių pažeidimą Atsakyti su citata
AlgisL
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
rezervuoji kintamuosius steps_x, wait_x, wait_steps_x;
timerio pertraukime, kuris ivyksta kas kazkiek, pvz kas 160 uSek.
Kodas:

#define TIMER1SEED (160UL * F_CPU / 1000 - 1)
#define USPERTICK1 (F_CPU / TIMER1SEED)
int16_t steps_x = 0;

ISR(){
static int32_t wait_x = 0;
static int8_t wait_step_x = 0;
  if(wait_step_x != 0){
      step_x_0();
      wait_step_x = 0;
  }
  if(wait_x <= 0){
    wait_x += USPERTICK1;
    if(steps_x != 0){
      steps_x--; // steps_x -= dir_x;
      step_x_1();
      wait_step_x = 1;
    }
  }
// jei reikia, apdoroji ir kitas asis
}
 CLOCK signalo formavimas stepper draiveriui
PranešimasParašytas: 2015 01 19, 11:59 Pranešti apie taisyklių pažeidimą Atsakyti su citata
andriusa
Patyręs dalyvis
Patyręs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką Apsilankyti vartotojo tinklapyje
Turiu klausimą dėl maksimalaus žingsninio variklio greičio. Šiuo metu su niekuo neapkrautu varikliu išsuku ~3 apsisukimus per sekundę. Dar didinant clock dažnį variklis pradeda lėtėti ir kriokti Smile

Variklis SY57STH41-1006A ->
http://www.integratedindia.com/pdf/soyo-0-3Nm-to-28nm.pdf

Pagal grafiką 34 puslapyje, variklis turėtų pasiekti 6800 pps, kadangi vienas apsisukimas 200 žingsnių, tai turėčiau išvystyti 34 apsisukimus per sekundę. Ar gerai skaičiuoju? Kodėl nepasiekiu tų 34?
 CLOCK signalo formavimas stepper draiveriui
PranešimasParašytas: 2015 01 19, 12:11 Pranešti apie taisyklių pažeidimą Atsakyti su citata
sopkls
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Draiverio maitinimo įtampa ir nustatyta srovė atitinka virš lentelės duotus parametrus (30V ir constant current 1A)? Variklį tikrai srove maitini? Žingsnio režimas kaip ir lentelėje nurodytas?
 CLOCK signalo formavimas stepper draiveriui
PranešimasParašytas: 2015 01 19, 13:24 Pranešti apie taisyklių pažeidimą Atsakyti su citata
andriusa
Patyręs dalyvis
Patyręs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką Apsilankyti vartotojo tinklapyje
sopkls rašo:
Draiverio maitinimo įtampa ir nustatyta srovė atitinka virš lentelės duotus parametrus (30V ir constant current 1A)?


Variklis prie 30 V pradeda imti mažiau srovės ir lengvai stabdomas ranka arba net nejuda. Su vienkanaliu oscilografu turbūt nieko pamatuoti nepavyks?

sopkls rašo:
Žingsnio režimas kaip ir lentelėje nurodytas?


Kokį režimą turi omeny?
 CLOCK signalo formavimas stepper draiveriui
PranešimasParašytas: 2015 01 19, 13:47 Pranešti apie taisyklių pažeidimą Atsakyti su citata
sopkls
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Pasidomėk steperių valdymu, kodėl reikia aukštesnės įtampos didesniam greičiui, ir kodėl būtent srovė varikliui paduodama. Jei pas tave didinant įtampą krenta srovė ir sukimo momentas, gal osciliatoriaus dažnis varikliui netinkamas.
Režimas half step, l297 trim režimais dirba, ten pasirinkti galima, full step, half step ir wawe jei neklystu.
 CLOCK signalo formavimas stepper draiveriui
PranešimasParašytas: 2015 01 19, 19:03 Pranešti apie taisyklių pažeidimą Atsakyti su citata
andriusa
Patyręs dalyvis
Patyręs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką Apsilankyti vartotojo tinklapyje
sopkls rašo:
Pasidomėk steperių valdymu, kodėl reikia aukštesnės įtampos didesniam greičiui, ir kodėl būtent srovė varikliui paduodama. Jei pas tave didinant įtampą krenta srovė ir sukimo momentas, gal osciliatoriaus dažnis varikliui netinkamas.
Režimas half step, l297 trim režimais dirba, ten pasirinkti galima, full step, half step ir wawe jei neklystu.


Pagal kokius kriterijus parenkamas čioperio generatoriaus dažnis?

Datašyte nelabai suprantu kaip persijungia režimai "NORMAL DRIVE MODE" ir "WAWE DRIVE MODE", kas per transleitorius minimas 5-6 psl
http://www.st.com/web/en/resource/technical/document/datasheet/CD00000063.pdf
 CLOCK signalo formavimas stepper draiveriui
PranešimasParašytas: 2015 01 20, 14:11 Pranešti apie taisyklių pažeidimą Atsakyti su citata
sopkls
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Tavo steperio greitis duotas half step režime, o jis yra kai half-full step pine aukštas lygis, tai tie kiti tau kaip ir neturėtų rūpėti. Bet esmė su kitais režimais ta, kad pasirenkami jie priklausomai nuo to kuris transliatoriaus žingsnis yra tuo metu kai half-full perjungiamas į low. Kaip matei tai half step turi aštuonis transliatoriaus žingsnius ciklui, kai fazės paduodamos tai į abi variklio apvijas, tai į vieną, užtai ir vadinasi pusžingsnio , kiti režimai kai abi fazės dirba pastoviai, tik keičiasi poliarumas, arba po vieną fazę. Full-wawe režimas pasirenkamas pagal tai, lyginis ar nelyginis transliatoriaus yra žingsnis yra half-full pino perėjimo iš high į low metu. Pirmą žingsnį rodo aktyvus home išėjimas.
O dėl čioperio dažnio jau primiršęs, rusiškai kiek pamenu supranti, tai www.rcdesign.ru paskaityk cnc temoje, ten nemažai geros informacijos.
 CLOCK signalo formavimas stepper draiveriui
PranešimasParašytas: 2015 01 28, 17:45 Pranešti apie taisyklių pažeidimą Atsakyti su citata
andriusa
Patyręs dalyvis
Patyręs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką Apsilankyti vartotojo tinklapyje
AlgisL rašo:
rezervuoji kintamuosius steps_x, wait_x, wait_steps_x;
timerio pertraukime, kuris ivyksta kas kazkiek, pvz kas 160 uSek.
Kodas:

#define TIMER1SEED (160UL * F_CPU / 1000 - 1)
#define USPERTICK1 (F_CPU / TIMER1SEED)
int16_t steps_x = 0;

ISR(){
static int32_t wait_x = 0;
static int8_t wait_step_x = 0;
  if(wait_step_x != 0){
      step_x_0();
      wait_step_x = 0;
  }
  if(wait_x <= 0){
    wait_x += USPERTICK1;
    if(steps_x != 0){
      steps_x--; // steps_x -= dir_x;
      step_x_1();
      wait_step_x = 1;
    }
  }
// jei reikia, apdoroji ir kitas asis
}


Aš žinoma šitos kalbos nemoku, bet pats algoritmas biesina.
Dabar žingsninis variklis po sliekinės pavaros padaro apsisukimą per 12 sekundžių, o clock impulsais tai atitinka 770 mks high level ir 2,5 mks low level signalas. Taigi, jei taimeriui reikės kas 770 mks varinėti į interuptą, tai susijauks duomenų priėmimas per EUSART (irgi interuptas). EUSART priiminėja DMX512 paketus. Šitame pakete gali būti perduodama iki 512 baitų informacijos, o pauzė tarp baitų yra nenormuota. Vieni pultai visus baitus varo iš eilės, po STOP bito iškart eina START bitas, kiti tarp jų dar įterpia pauzę. Tai kažkada taimeris nušoks į interuptą ir aš įtariu pamesiu paketo gabalą arba gausis, kad mikrovaldiklis vietoj laukiamo kokio 213 baito paims 214 informaciją.
Man labiau patiktų kažkas tokio, kaip ECCP modulis PWM režime, nusiuntei skaičių ir užmiršai jį, ir teužima 1 taktą.
 CLOCK signalo formavimas stepper draiveriui
PranešimasParašytas: 2015 01 28, 19:45 Pranešti apie taisyklių pažeidimą Atsakyti su citata
AlgisL
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
PIC turi du prioritetus, tad High-priority nustatyk USART, o Low-priority timeriui ir nieko tu neprarasi.
Gali dar timer nustatyti STEP periodui, o PWM duty nustatyti toki, kad jo pilnai uztektu STEP signalo suformavimui, o pertraukime tikrini STEP skaitliuka ir pasiekus 0 - stabdai timeri.
Jei reikia itin didelio STEP periodo, teks kaskodinti timerius.
 CLOCK signalo formavimas stepper draiveriui
PranešimasParašytas: 2015 01 28, 20:40 Pranešti apie taisyklių pažeidimą Atsakyti su citata
andriusa
Patyręs dalyvis
Patyręs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką Apsilankyti vartotojo tinklapyje
AlgisL rašo:
PIC turi du prioritetus, tad High-priority nustatyk USART, o Low-priority timeriui ir nieko tu neprarasi.


Bandžiau kažkada pažaisti su interuptų priority pas PIC18F14K22, tai nepavyko. High interupto vektorius 0x0008, low - 0x0018. Tai va jei įdedu komandą call high interupto kode, kompiliuojant keikiasi kompiliatorius, tiksliai nepamenu, kažką kad išėjau iš tų rėžių 8-18 ar panašiai. O dešimtyje eilučių suprantama nieko nuveikti negalima.
 CLOCK signalo formavimas stepper draiveriui
PranešimasParašytas: 2015 01 28, 21:27 Pranešti apie taisyklių pažeidimą Atsakyti su citata
AlgisL
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Kad neisejo, nereiskia, kad neveikia.
Visu pirma 0008h ir 0018h adresuose talpinamos ne proceduros o jump'ai i jas.
Prioritetu naudojimas ijungiamas RCON.IPEN=1
USART Receive interrupt High priority IPR1.RCIP=1
USART Transmit interrupt galima Low priority IPR1.TXIP=0
Timer0 Overflow Low priority INTCON2.TMR0IP=0
Atatinkamai pasirupini PIE/PIR registrais
Interrupts enable/disable INTCON.GIE=1 arba 0
 CLOCK signalo formavimas stepper draiveriui
PranešimasParašytas: 2015 01 29, 14:26 Pranešti apie taisyklių pažeidimą Atsakyti su citata
andriusa
Patyręs dalyvis
Patyręs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą Siųsti el. laišką Apsilankyti vartotojo tinklapyje
AlgisL rašo:
Visu pirma 0008h ir 0018h adresuose talpinamos ne proceduros o jump'ai i jas.


Taip išėjo, kad mūsų kolegijoje nemokė įžangos, kaip smagu ir gera programuoti, mes iškarto perėjome prie kovinių veiksmų. Tai va, kas toji procedūra ir kas turima omeny jumpas, call, goto ar kita komanda?
 CLOCK signalo formavimas stepper draiveriui
PranešimasParašytas: 2015 01 29, 16:09 Pranešti apie taisyklių pažeidimą Atsakyti su citata
AlgisL
Senbuvis
Senbuvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
andriusa rašo:
AlgisL rašo:
Visu pirma 0008h ir 0018h adresuose talpinamos ne proceduros o jump'ai i jas.


Taip išėjo, kad mūsų kolegijoje nemokė įžangos, kaip smagu ir gera programuoti, mes iškarto perėjome prie kovinių veiksmų. Tai va, kas toji procedūra ir kas turima omeny jumpas, call, goto ar kita komanda?

jumpas siuo atveju yra GOTO atitikmuo ir assembleriu uz rasoma
JUMP address (or label)
procedura - tai savarankiska dalis programos. Ji gali buti su parametrais ir grazinti rezultata ( patampa funkcija )
Pradėti naują temą  Atsakyti į pranešimą Pereiti prie 1, 2  Toliau
 
Forumo sistema: phpBB
 „Google“ paieška forume
 Kas naujesnio?
 Naujos temos forume

Global electronic components distributor – Allicdata Electronics

Electronic component supply – „Eurodis Electronics“

LOKMITA – įvairi matavimo, testavimo, analizės ir litavimo produkcija

Full feature custom PCB prototype service

Sveiki ir ekologiški maisto produktai

Mokslo festivalis „Erdvėlaivis Žemė

LTV.LT - lietuviškų tinklalapių vitrina

„Konstanta 42“

„Mokslo sriuba“

www.matuok.lt - Interneto spartos matavimo sistema

Programuotojas Tautvydas – interneto svetainių-sistemų kūrimas

PriedaiMobiliems.lt – telefonų priedai ir aksesuarai

Draugiškas internetas

FS25 Tractors
Farming Simulator 25 Mods, FS25 Maps, FS25 Trucks
ETS2 Mods
ETS2 Trucks, ETS2 Bus, Euro Truck Simulator 2 Mods
FS22 Tractors
Farming Simulator 22 Mods, FS22 Maps, FS25 Mods
VAT calculator
VAT number check, What is VAT, How much is VAT
Dantų protezavimas
All on 4 implantai,
Endodontija mikroskopu,
Dantų implantacija
FS25 Mods
FS25 Maps, FS25 Cheats, FS25 Install Mods
FS25 Mods
Farming Simulator 25 Mods,
FS25 Maps
ATS Trailers
American Truck Simulator Mods, ATS Trucks, ATS Maps
Fun football drills
Football Training Equipment, Defending drills football, Kids football training kit
Reklama
‡ 1999– © Elektronika.lt | Autoriaus teisės | Privatumo politika | Atsakomybės ribojimas | Turinys | Reklama | Kontaktai LTV.LT - lietuviškų tinklalapių vitrina
Ets2 mods, Ats mods, Beamng drive mods
allmods.net
„MokslasPlius“ – mokslui skirtų svetainių portalas
www.mokslasplius.lt
Optical filters, UV optics, electro optical crystals
www.eksmaoptics.com
LTV.LT – lietuviškų tinklalapių vitrina
www.ltv.lt/technologijos/
Elektroninių parduotuvių optimizavimas „Google“ paieškos sistemai
www.seospiders.lt
FS22 mods, Farming simulator 22 mods,
FS22 maps

fs22.com
Reklama


Reklama