Stránka 1 z 1

Problem s riadenim krokoveho motora

Napsal: 24. 11. 2008, 9:28
od Jukos3
Zdravim vsetkych nadsencov CNC.

Som zaciatocnik a zacal som vyvyjat driver. Viem ze cesta bude dlha a plna uskali, ale ked sa mi to podari tak to bude typ open source.
Zacal som sa hrat s KM epson EM-93. Zapojil som ho unipolarne, ako budic pouzivam obvod MP4101, riadim ho procesorom ATmega32. Na napajanie pouzivam maly spinany zdroj 12V/1A. Problem je v tom, ze ked motor necham otacat tak nema ziaden moment. Zapojenie vid obr. Skusal som dobu T menit od 10ms az po 1s a nepomohlo to, akurat pri kratkych casoch sa motor chveje. Avsak ked urobim skusku statickeho momentu tak moment motora je pomerne velky.

za pomoc vopred dakujem.

Napsal: 24. 11. 2008, 10:57
od pájač
Načo vyvíjať driver v unipolárnom zapojení a s takým budičom ? Je to zastaralé zapojenie . Keď už , tak bipolárny alebo servo . A mimochodom , 12V je na napájanie málo .

Napsal: 24. 11. 2008, 11:07
od Jukos3
Nevyvyjam unipolarny driver ale nejako zacat musim a unipolarne riadenie je to jednoduchsie. Driver ktory chcem vyvyjat bude bipolarny a ovela zlozitejsi a narocnejsi na cas ako toto skusobne zapojenie.

Napsal: 25. 11. 2008, 5:19
od CZ_Pascal
No pokud jste chtel pouze nejak zacit tak gratuluji. Prave jste zacal a z vyse uvedeneho zapojeni vice nedostanete. Staticky moment bude dany velikosti napajeciho napeti a odporu civek motoru. Pri toceni motoru uz se uplatni indukcnost a moment bude prudce klesat a s timto zapojenim (jedno jestli unipolarnim nebo bipolarnim) bez regulace proudu nic lepsiho nesvedete. No a kdyz uz mate zacatek za sebou tak nyni je na case druhy krok a tim je to slozitejsi zapojeni jak jste psal. Preji hodne uspechu.

Napsal: 25. 11. 2008, 2:42
od Jukos3
Tak a prisiel som na to. Zdroj ktory pouzivam je dost tvrdy, predsa len tento motor je pomerne maly. Stacilo zmenit sposob spinania. teras budic spinam log 0 a vysledok je neporovnatelny motor teras uz ma poriadny moment.

Napsal: 25. 11. 2008, 4:05
od pájač
Ten budič sa dá spínať LOG 0 ? :shock: Buď máš tam inakší , alebo nerozumiem elektronike . Tento ide vybudiť akurát LOG 1 .

Napsal: 25. 11. 2008, 5:24
od Jukos3
tiez mi to bolo divne, tu je vypis funcie v C, ked magnetizujem 2 fazy.
nakoniec som prisiel na to, ze zmenou logickej urovne som kompenzoval prehodeny drot vinutia. tu je jednoducha funkcia pre otacanie motora doprava. Viem ze pouzitie _delay_ms nie je velmi koser. a chystam sa na generovanie casoveho intervalu pouzit citac/casovac.
chystam sa urobit merania momentu pi case T=800us az T=1s a statickeho momentu(ked motor stoji) a potom urobim meranie pre bipolarne zapojenie a uvidim aky velky je rozdiel medzi danymi zapojeniami. Inac robim to ako bakalarsky projekt pre mojho spoluziaka :D...

Kód: Vybrat vše

void doprava(void)
	{	
		PORTB = 0b00001100;
		PORTD= PINB;
		_delay_ms(T);
		PORTB = 0b00001001;
		PORTD= PINB;
		_delay_ms(T);
		PORTB = 0b00000011;
		PORTD= PINB;
		_delay_ms(T);
		PORTB = 0b00000110;
		PORTD= PINB;
		_delay_ms(T);

	}

Napsal: 25. 11. 2008, 5:42
od Svoby
A ten kod je ten co funguje? Jestli tak uroven kterou spinas budic je log1. ale asi nejlip to uvidis na osciloskopu. Taky si zmer jestli budic je dostatecne otevren. Jinak drzim palce ,timhle sem si taky na stredni prosel,jen skoda ze sem tenkrat nemel internet a neexistoval tenhle web. :wink:

Napsal: 25. 11. 2008, 6:15
od Mad_BOXs
Použij zdroj s omezovačem proudu při napětí tak 30V a uvidíš jak se ti zlepší průběh momentu s otáčkami.

Napsal: 25. 11. 2008, 7:50
od RadekCX
jen dotaz... proc si to porad prehazujes mezi dvema porty? a proc nepouzijes jen rotaci bitu na portu?

Napsal: 25. 11. 2008, 8:49
od Jukos3
ak mas na mysli tento riadok kodu PORTD= PINB; tak ten ma za ulohu, stav portu D na ktorom mam motor, kopiruje na port B kde mam pripojene LED. to je len pre vizualizaciu. ked krokujem porgram cez J-tag tak najprv to odskusam na LED a potom pripojim motor. Tento program je len skusobny potreboval som nejako roztocit motor. Cez vikend schemu zakreslim v Eagli a napisem program, kde budem pouzivat prerusenie od casovaca.