|
Svet elektronike Revija za prave elektronike
|
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
Boštjan Profesionalec
Pridružen/-a: Tor Mar 2004 22:48 Prispevkov: 100
|
Objavljeno: Sob Dec 06, 2014 12:41 pm Naslov sporočila: bascom AVR motor |
|
|
Pozdravljeni.
Imam majhen DC motorček , ki poganja reduktor na katerem je kolo. Na to kolo se priključi zajla preko katere se uravna gas bencinskega motorja. Zraven na osi reduktorja je tudi potenciometer , ki služi za ugotavljanje pozicije osi in s tem tudi gas bencinskega motorja.
Pozicijo (gas motorja) določam z drugim potenciometrom.
Program imam v bascom in sicer tak , da uporabljam dva AD vhoda za vsak potenciometer posebaj in če je eden večji vrti motor v levo drugače v desno. Težava nastane ker ima cel sistem toliko vztrajnosti da se ne ustavi takoj ko se AD_ja izenačita in začne z novo korekturo. To na koncu zgleda tako da mi gas bencinskega motorja konstantno niha.
Kako bi napisal program da bi se motor ustavil ko se AD_ja izenačita.
LP Boštjan |
|
Nazaj na vrh |
|
|
Vlado Profesionalec
Pridružen/-a: Ned Jan 2004 16:11 Prispevkov: 556 Kraj: Ljubljana
|
Objavljeno: Sob Dec 06, 2014 4:06 pm Naslov sporočila: |
|
|
Boštjan,
kako krmiliš motor?
Ali si uporabil H mostič, ali pa uporabljaš releje, tranzistorje . ..
Če uporabljaš H mostič potem ko izklopiš motor moraš narediti kratek stik na motorju in se bo ustavil v trenutku.
Ali si prepričan da do nihanja prihaja zaradi vztrajnosti motorja, lahko se zgodi da je regulacija prehitra in zaradi tega prihaja do nihanja.
Razen da gledaš ali so vhodi ADC enaki (oz. <>, dodaj še kakšno razliko. Če je ADC motorja < ali > za x vrednosti ADC plina potem vklopi motor.
LP |
|
Nazaj na vrh |
|
|
Boštjan Profesionalec
Pridružen/-a: Tor Mar 2004 22:48 Prispevkov: 100
|
Objavljeno: Sob Dec 06, 2014 6:55 pm Naslov sporočila: |
|
|
uporabljam H most , res je motor samo izklopim. Tudi regulacija je zelo hitra , uporabljam samo >< . Bom poskusil motor zabremzat tako da ga dam v kratek stik. |
|
Nazaj na vrh |
|
|
igo Profesionalec
Pridružen/-a: Sre Okt 2006 17:57 Prispevkov: 85 Kraj: Krško
|
Objavljeno: Sob Dec 06, 2014 10:27 pm Naslov sporočila: |
|
|
Najprej napiši testni program, da izmeriš hitrost dodajanja/odvzemanja plina.
Start iz 0%
for n=0 to n=15
0,1 + n*0,1 sekunde dodaja plin
0,2 sek počaka
0,2 + n*0,1 sekunde odvzema plin
0,5 sek počaka
Vzvod plina bo vedno "zabilo" do 0%, s štetjem pa določiš, koliko časa je sploh potrebnega za poln zasuk vzvoda.
To je začetna orientacija.
Iz razlike ADC izračunaš najdaljši potreben čas impulza, poznaš pa tudi zasuk pri 0,1 sekunde.
Rezultate meritev vstaviš v program.
Potem ga "na polno" poženeš do 70% potrebne spremembe, naprej pa z zmanjševanjem PWM upočasniš motor, da komaj še doseže 100% potrebnega odklona, ko se meritvi razlikujeta za manj kot je histereza.
Znotraj histereze se lahko igraš s kratkimi trzljaji, a ne pozabi, da s prehitrim motorjem zgolj po naključju dosežeš zadostno natančnost.
Ali ne bi bilo bolje meriti vrtljaje motorja in jih primerjati s prvim potenciometrom, tisti pri vzvodu pa bi samo preprečeval zasuk vzvoda izven mehansko dovoljenih meja? _________________ Teoretično je praksa posledica teorije, praktično je pa ravno obratno. (igo 2001) |
|
Nazaj na vrh |
|
|
MadMax Profesionalec
Pridružen/-a: Pet Sep 2006 5:36 Prispevkov: 91 Kraj: Črnomelj
|
Objavljeno: Ned Dec 07, 2014 8:47 am Naslov sporočila: |
|
|
Modelarski servo bi rešil vse.
No, skoraj vse. Prenihaji zaradi regulacije so še vedno stvar fine nastavitve PID parametrov, ampak vsaj kontroliran in ponovljiv gib imaš. |
|
Nazaj na vrh |
|
|
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu You cannot attach files in this forum You cannot download files in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|