Elektronický regulátor otáček minisoustruhu

ostatní motory, vřetena, regulace, snímaní otáček a jiné
Odpovědět
Uživatelský avatar
Thomeeque
Příspěvky: 9336
Registrován: 30. 1. 2012, 10:20
Bydliště: Mimo ČR

22. 9. 2016, 9:47

Ptá se tě na to samý co Hofman 17. září 2016, je to skoro jako přes kopírák. Podle profilu je ze Slovinska.
mimooborová naplavenina • kolowratský zázrak™ • NPS • GCU • HirthCalc • ncDP.ino
Uživatelský avatar
Pavka
Příspěvky: 908
Registrován: 10. 3. 2008, 8:40
Bydliště: Ronov

22. 9. 2016, 10:35

Dilca píše:To: Pavka
Hello!
Is it possible to order 1pc controller of the washing machine motor?
Best regards! Drago
Mohu poslat.
Dilca
Příspěvky: 2
Registrován: 6. 9. 2016, 8:47

28. 9. 2016, 10:41

Postby Pavka » 22 Sep 2016, 11:35
Dilca wrote:
To: Pavka
Hello!
Is it possible to order 1pc controller of the washing machine motor?
Best regards! Drago

Mohu poslat.
Poslal jsem vám soukromou zprávu. Zdravím!
turbyho
Příspěvky: 245
Registrován: 14. 3. 2014, 10:03

7. 10. 2016, 9:11

Je to sice trochu OT, ale snad to nekomu pomuze. V srpnu jsem resil predelani rizeni pracky, ktere jsem potreboval predelat na praci a machaci masinku do vyroby a potreboval jsem si udelat vlastni programy coz s originalnim rizenim moc neslo.

Takze nakonec to dopadlo tak, ze jsem vyrval veskerou puvodni elektroniku, zavrhnul veskere zde zminovane drivery a vzal pouze arduino, triac, optocleny, par relatek a nejke dalsi dorbne smeti ze supliku a za dva vikendy jsem poskladal kompletni rizeni pracky vcetne snimani otacek motoru, obou snimacu vysky hladiny, vsech cerpadel, ventilu a i zamku dveri. Dokonce se podarilo pouzit vsechna puvodni tlacitka a prepinac programu a podarilo se vymenit puvodni LCD s neznamym radicem za 2x16 LCD do pozice puvodniho LCD. Tazke to dokonce porad vypada jako pracka.

Rizeni motoru i programu jsem nakonec udelat ciste na Arduinu tak, ze detekuji pres optoclen pruchod nulou s prerusenim a pomoci zpozdeni pres preruseni casovace spinam triac. To funguje az prekvapive dobre i do maximalnich otcacek (24000) a moc to neomezuje dalsi program. Nezaznamenal jsem s tim vubec zadne problemy. Otacky motoru ridim pomoci PID. Nejsou zadne problemy se stabilitou otacek i pri velmi nizkych otackach a pomerne velkem dynamickem zatizeni kdy je v bubnu kapalina a pomerne tezke plastove obrobky. Odstredovani s postupnym vyvazenim obsahu bubnu okoukane z bezne pracky take funguje dobre.

Nabizi se tedy moznost pouzivat arduino ci samotny AVR na velmi levne rizeni univerzalnich motoru vcetne PID regulace otacek. Vyhodou jsou stabilni nastavene otacky i pri znacne dynamicke zatezi. Parametry PID jdou doladit dle dynamickych vlastnosti stroje, takze se s tim da pomerne hezky vyhrat.

PS
Pavkovi musim podekovat za konzultaci, ktera nakonec vyresila pocatecni problem s nestabilitou chodu motoru kdy jsem nevedel jestli je chyba v mem hw, sw nebo v motoru. Problem byl nakonec zcela prosty a to zaneseny komutator prachem z uhliku. Stacilo vycistit, proskrabnout drazky a vse slape jak hodinky.
atlan
Příspěvky: 3382
Registrován: 7. 2. 2011, 9:12

7. 10. 2016, 10:13

A zdroja kje kde ? ci si nas prisiel len navnadit ?
turbyho
Příspěvky: 245
Registrován: 14. 3. 2014, 10:03

8. 10. 2016, 1:31

balast jsem vyhodil aby to bylo prehledne. kod obsahuje pouze rizeni motoru s triakovym regulatorem a s PID regulaci otacek. program by mel byt neblokujici!

princip zapojeni viz. na pinu motorFREQPin je mereni otacek. schema ale nemam namalovane, delal jsem to cele z hlavy. je tam na vstupu jednoduchy zesilovac s bipolarnimi tranzistory a Schmittův KO na osetreni signalu.

Obrázek

Kód: Vybrat vše


...

volatile double consKp = 0.025, consKi = 0.025, consKd = 0.00025; // doladit dle dynamickych vlastnosti stroje
PID motorPID(&motorRPM, &motorPWR, &setMotorRPMtmp, consKp, consKi, consKd, DIRECT);

...

void setup()
{
 
	...

        attachInterrupt(digitalPinToInterrupt(motorFREQPin), motorFREQ, RISING); // FALLING RISING
  	attachInterrupt(digitalPinToInterrupt(zerroCrossingPin), zerroCrossing, FALLING); // FALLING RISING
  	motorPID.SetMode(AUTOMATIC);
  	motorPID.SetOutputLimits(0, 255);
  	motorPID.SetSampleTime(100); // 200ms default
  	Timer1.initialize(motorPeriodTimer);
	
	...

}

void loop() {

        motorRPM = 0; // dle motoru - 0-24000

	// obsluha motoru

	noInterrupts();
    motorPID.SetTunings(consKp, consKi, consKd); 
	motorPID.Compute();
  	interrupts();
}

void motorFREQ() {

  noInterrupts();

  motorLastFREQtime = micros();
  dTime = motorLastFREQtime - motorTime;
  motorTime = motorTime + dTime;
  motorRPMtmp = ((1000000 / dTime) * 60) / 8;

  interrupts();
}

void zerroCrossing() {

  noInterrupts();

  if (motorPWR == 0) {
    digitalWrite(motorACPin, LOW);
    motorState = B00000000;
  }
  else if (motorPWR == 255) {
    digitalWrite(motorACPin, HIGH);
    motorState = B00000000;
  } else {
    int pwr = ( 8000 - ((8000 / 255) * motorPWR)  );
    Timer1.attachInterrupt(motorTickPWR, pwr);
    motorState = B00000001;
  }

  interrupts();
}

void motorTickPWR ()
{
  noInterrupts();

  Timer1.stop();

  if (motorState == B00000001) {
    digitalWrite(motorACPin, HIGH);
    int i = 100;
    while (i--) {
      __asm__("nop\n\t");
    }
    digitalWrite(motorACPin, LOW);
  }
  interrupts();
}
atlan
Příspěvky: 3382
Registrován: 7. 2. 2011, 9:12

26. 12. 2016, 2:34

Nejde to prelozit vypisuje chyby.
turbyho
Příspěvky: 245
Registrován: 14. 3. 2014, 10:03

2. 1. 2017, 12:54

no pochopitelne, jsou tam jen klicove rutiny obsluhy, je treba doplnit knihovny a funkcni kod dle konkretnich potreb :D
atlan
Příspěvky: 3382
Registrován: 7. 2. 2011, 9:12

2. 1. 2017, 6:42

Ved prave mna by zaujimalo o ktoru kniznicu PID islo konkretne, lebo asi ich bude viac ako jedna.
atlan
Příspěvky: 3382
Registrován: 7. 2. 2011, 9:12

3. 1. 2017, 1:11

DAkujeme
Uživatelský avatar
Zdenek Valter
Příspěvky: 5400
Registrován: 9. 1. 2009, 5:16
Bydliště: Ústí n. L.

3. 1. 2017, 2:15

atlan píše:DAkujeme
Zdařilo se s překladem?
Hobbík - obráběč i 3D tiskař začátečník - strojní park je konečně instalován
atlan
Příspěvky: 3382
Registrován: 7. 2. 2011, 9:12

3. 1. 2017, 3:58

Som vytazeny, musel by som si to prepisat do prostredia arduina a to sa mi momentalne nechce. mam niec ov cecku rozpisane tak uvidim. A robim zmeny v programe na sustruh.
kakan
Příspěvky: 128
Registrován: 1. 11. 2010, 6:01

3. 1. 2017, 5:24

Panove je neco ke koupeni jako tohle https://exit.srovnanicen.cz/produkt/202 ... =1&o=1&a=1" onclick="window.open(this.href);return false;
mam motor z pracky. A elektronice moc nerozumim a kdyz neco delam hodne mi toho shori . :)
Rad bych koupil nejakej regulator na motor z pracky.

Dik Kakan
milou
Příspěvky: 274
Registrován: 24. 5. 2012, 2:56

3. 1. 2017, 7:18

Triáková regulace je super , ale bez zpětné vazby t tacha motoru (pračkového) budeš trpět nedostatkem kroutícího momentu . a to velkém . Ty regly se z5nou vazbou mají svůj smysl . Vyzkoušeno .
Odpovědět

Zpět na „Ostatní elektromotory“