Problem s riadenim krokoveho motora

Odpovědět
Jukos3
Příspěvky: 203
Registrován: 24. 10. 2008, 5:20
Bydliště: Svit
Kontaktovat uživatele:

24. 11. 2008, 9:28

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.
Přílohy
foto vyvojovej dosky, kontaktneho pola, KM led su na indikaciu spinania faz
foto vyvojovej dosky, kontaktneho pola, KM led su na indikaciu spinania faz
Vnutorne zapojenie budica MP4104
Vnutorne zapojenie budica MP4104
pripojenie motora k budicu a riadiaci algorytmus
pripojenie motora k budicu a riadiaci algorytmus
Uživatelský avatar
pájač
Příspěvky: 1115
Registrován: 28. 1. 2008, 8:35
Bydliště: Levice

24. 11. 2008, 10:57

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 .
Naposledy upravil(a) pájač dne 24. 11. 2008, 11:43, celkem upraveno 1 x.
Nemáš CNC - nič neznamenáš.
30.01.10 pokusne spustené CNC. Neviem, ako som mohol doteraz bez neho žiť. ><((((º>
http://www.fishpol.sk
Jukos3
Příspěvky: 203
Registrován: 24. 10. 2008, 5:20
Bydliště: Svit
Kontaktovat uživatele:

24. 11. 2008, 11:07

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.
Uživatelský avatar
CZ_Pascal
Příspěvky: 884
Registrován: 14. 1. 2008, 8:24
Bydliště: Brno

25. 11. 2008, 5:19

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.
Jukos3
Příspěvky: 203
Registrován: 24. 10. 2008, 5:20
Bydliště: Svit
Kontaktovat uživatele:

25. 11. 2008, 2:42

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.
Uživatelský avatar
pájač
Příspěvky: 1115
Registrován: 28. 1. 2008, 8:35
Bydliště: Levice

25. 11. 2008, 4:05

Ten budič sa dá spínať LOG 0 ? :shock: Buď máš tam inakší , alebo nerozumiem elektronike . Tento ide vybudiť akurát LOG 1 .
Nemáš CNC - nič neznamenáš.
30.01.10 pokusne spustené CNC. Neviem, ako som mohol doteraz bez neho žiť. ><((((º>
http://www.fishpol.sk
Jukos3
Příspěvky: 203
Registrován: 24. 10. 2008, 5:20
Bydliště: Svit
Kontaktovat uživatele:

25. 11. 2008, 5:24

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);

	}
Svoby
Příspěvky: 267
Registrován: 25. 1. 2008, 2:42
Bydliště: Lysa nad Labem
Kontaktovat uživatele:

25. 11. 2008, 5:42

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:
Kdo nic nedela ,nic nesku...
Mad_BOXs
Příspěvky: 1420
Registrován: 14. 1. 2008, 4:30
Bydliště: Dvůr Kálové n.Labem

25. 11. 2008, 6:15

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.
bednar.dk@seznam.cz
SolidWorks 2011
Zakázková výroba jednoúčelových strojů
konstrukce strojů, automatizace,
http://www.indops.cz" onclick="window.open(this.href);return false;
Uživatelský avatar
RadekCX
Příspěvky: 622
Registrován: 14. 7. 2006, 10:12
Bydliště: Č.Budějovice
Kontaktovat uživatele:

25. 11. 2008, 7:50

jen dotaz... proc si to porad prehazujes mezi dvema porty? a proc nepouzijes jen rotaci bitu na portu?
RadekCX
======================================================================
http://www.cncnet.info - problematika CNC a automatizace
http://www.jakjevenku.info - webová meteostanice
Jukos3
Příspěvky: 203
Registrován: 24. 10. 2008, 5:20
Bydliště: Svit
Kontaktovat uživatele:

25. 11. 2008, 8:49

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.
Odpovědět

Zpět na „Krokové motory“