segítség!!
-
- DrótVégénSzéndarab
- Hozzászólások: 19
- Csatlakozott: 2014. november 18. kedd, 22:05
segítség!!
Sziasztok. Egyetemi feladatban szeretném a segítségeteket kérni. Egy zongorabillentyű nyomkodó szerkezetet kellene csinálnom. Lineármotort kellene működésbe hoznom ultrahangos szenzor segítségével(az volt itthon), a motorváltás H híddal történne. Timert is be kellene építeni, hogy meg tudjam adni hányszor fusson le az adott ciklus egy perc alatt, de a példaprogram se működik a Nanomon. A bemenetet nekem kell megadni, és változtathatónak kell lennie (ad átalakító vagy valami ilyesmit mondtak). Illetve a motort szabályoznom kellene PD szabályzóval. Elkezdtem csinálni, de új vagyok az arduinó programozásban, és elakadtam. Kérlek segítsetek. Ha valaki segít az árban meg tudunk egyezni. Nagyon sürgős lenne.
Re: segítség!!
A blink megy?:)
Tipp: a diplomamunkát és az éves feladat megírásáért morogni szoktam. Segíteni szívesen, de ahhoz kell hogy _TE_ értsd meg a működést, a lépéseket.
Most hol jársz?
- folyamatábra/diagramm
- részfeladatok megvalósítása (kód?)
- Irodalomkutatás mire épül (van?)?
- Részfeladatok körbejárva? HW megtervezve/lemásolva? Mintakód megy?
Ultrahangos minta megy? soroson visszaírja a távolságot? (melyik UH szenzort használod?)
Motorvezérlő oda-vissza kapcsolás H-híddal megy? Motor hiányában zsebizzó is jó rá.
Melyik H-Hidat használod?
AD Studio ?
https://www.youtube.com/watch?v=nCANspmGx1E
Tipp: a diplomamunkát és az éves feladat megírásáért morogni szoktam. Segíteni szívesen, de ahhoz kell hogy _TE_ értsd meg a működést, a lépéseket.
Most hol jársz?
- folyamatábra/diagramm
- részfeladatok megvalósítása (kód?)
- Irodalomkutatás mire épül (van?)?
- Részfeladatok körbejárva? HW megtervezve/lemásolva? Mintakód megy?
Ultrahangos minta megy? soroson visszaírja a távolságot? (melyik UH szenzort használod?)
Motorvezérlő oda-vissza kapcsolás H-híddal megy? Motor hiányában zsebizzó is jó rá.
Melyik H-Hidat használod?
Az hogy AD, mond valamit?(ad átalakító vagy valami ilyesmit mondtak)
AD Studio ?
https://www.youtube.com/watch?v=nCANspmGx1E
-
- DrótVégénSzéndarab
- Hozzászólások: 19
- Csatlakozott: 2014. november 18. kedd, 22:05
Re: segítség!!
Szia
Nem azt kérem, hogy írd meg helyettem, értenem kell az egészet, hogy majd el tudjam magyarázni, csak elakadtam, és senki nem ért hozzá a környezetemben. Az UH szenzor működik, kiadja a távolságot (ezt kipróbáltam). A H híd működését értem, félhidak vannak, mindegyikhez van led is kapcsolva. Írtam több programot is. A Feladat1-el az a baj, hogy nagyon gyorsan lefut a program, a motor pedig valamiért túllendül mondjuk 510-ig. Megnézi 510-nél előjelet vált megy balra majd megnézi 504-nél ami még ugye mindig 500 felett van és előjelet vált, megy jobbra, és így rezonál csak egy kis érték közt. Eddig jutottam A Timer működését nem értem, vagy csak rosszul értelmezem (németet tanultam, angolul csak pár évet gimiben meg filmekből, játékokból stb. ). Mechatronikai mérnöknek tanulok, tanultam szabályozástechnikát, tudom mi az az erősítő meg ad converter papíron, de soha nem láttam olyat, illetve gyakorlati alkalmazását se mutatták sohasem. :/ AD converter azért kell, mert mondjuk sinusjelet akarunk rákényszeríteni a rendszerre, azt átalakítja számmá, összehasonlítja az erősítővel beszorzott kimenettel és korrigál valamit (legalábbis én ennyit értettem meg a magyarázatból).
Fealadat1:
Nem azt kérem, hogy írd meg helyettem, értenem kell az egészet, hogy majd el tudjam magyarázni, csak elakadtam, és senki nem ért hozzá a környezetemben. Az UH szenzor működik, kiadja a távolságot (ezt kipróbáltam). A H híd működését értem, félhidak vannak, mindegyikhez van led is kapcsolva. Írtam több programot is. A Feladat1-el az a baj, hogy nagyon gyorsan lefut a program, a motor pedig valamiért túllendül mondjuk 510-ig. Megnézi 510-nél előjelet vált megy balra majd megnézi 504-nél ami még ugye mindig 500 felett van és előjelet vált, megy jobbra, és így rezonál csak egy kis érték közt. Eddig jutottam A Timer működését nem értem, vagy csak rosszul értelmezem (németet tanultam, angolul csak pár évet gimiben meg filmekből, játékokból stb. ). Mechatronikai mérnöknek tanulok, tanultam szabályozástechnikát, tudom mi az az erősítő meg ad converter papíron, de soha nem láttam olyat, illetve gyakorlati alkalmazását se mutatták sohasem. :/ AD converter azért kell, mert mondjuk sinusjelet akarunk rákényszeríteni a rendszerre, azt átalakítja számmá, összehasonlítja az erősítővel beszorzott kimenettel és korrigál valamit (legalábbis én ennyit értettem meg a magyarázatból).
Fealadat1:
Kód: Egész kijelölése
#define EchoPin 2
#define TriggerPin 3
unsigned long EchoTime = 0;
unsigned long Tavolsag = 0;
int potpin = 2;
int flag = 1;
byte pwm=50;
// Kezdeti jelkitoltes
void setup() {
pinMode(6, OUTPUT);
pinMode(5, OUTPUT);
analogWrite(5, pwm);
analogWrite(6, pwm);
pinMode(TriggerPin, OUTPUT);
pinMode(EchoPin, INPUT);
Serial.begin(9600);
}
void loop() {
flag=1;
digitalWrite(TriggerPin, HIGH);
delayMicroseconds(10);
digitalWrite(TriggerPin, LOW);
EchoTime = pulseIn(EchoPin, HIGH);
Tavolsag = 10*EchoTime/58;
Serial.print(Tavolsag, DEC);
Serial.println(" mm");
// pwm=analogRead(potpin);
if (Tavolsag <200 || Tavolsag >500){
flag = flag *(-1);
}
if(flag==1){
analogWrite(6, pwm);
Serial.println("kifele");
delay(100);
}
else if(flag !=1){
analogWrite(5, pwm);
Serial.println("befele");
delay(100);
}
digitalWrite(6,LOW);
digitalWrite(5,LOW);
}
Nincs meg a kellő jogosultságod a hozzászóláshoz csatolt állományok megtekintéséhez.
-
- DrótVégénSzéndarab
- Hozzászólások: 19
- Csatlakozott: 2014. november 18. kedd, 22:05
Re: segítség!!
jah leesett
Analóg/ Digital converter
Nem shieldet használok, hanem rendes h hidat, és 2 digitális pin HIGH-ra emelésével szabályzom. Ha 5.pin van felhúzva akkor balra forog ha 6. akkor jobbra. Ilyen motrom van: http://www.h2wtech.com/Products/ShowPro ... ductid=126
egy sima 5V-os DC-n tudok itthon kisérletezni, a laborban rá tudom szerelni a lineármotorra is.
Analóg/ Digital converter
Nem shieldet használok, hanem rendes h hidat, és 2 digitális pin HIGH-ra emelésével szabályzom. Ha 5.pin van felhúzva akkor balra forog ha 6. akkor jobbra. Ilyen motrom van: http://www.h2wtech.com/Products/ShowPro ... ductid=126
egy sima 5V-os DC-n tudok itthon kisérletezni, a laborban rá tudom szerelni a lineármotorra is.
Re: segítség!!
H-hidad melyik van, hogy 2 PWM-mel hajtod meg?
Egymással a 2 PWM szembedolgozik. Ezt érzem hibának.
Tisztán olyan kódot keress/írj, ami a motort egyik irányba viszi ill. a másikba - adott sebességen. Ez a leírás alapján:
5,6 output
Irany 1:
5 - LOW szint
6 - PWM=128 (KÖZEPES SEBESSEG)
waitms 10000 (10 secig megy)
Irany1 lassu
5 - LOW szint
6 - PWM=32
waitms 10000 (10 secig megy)
Masik irany
6 - LOW szint
5 - PWM=128
waitms 10000 (10 secig megy)
Masik irany
6 - LOW szint
5 - PWM=16
waitms 10000 (10 secig megy)
Próbáld meg csak ezt.
Én a kódodban ennek a kezelésnek latom hibáit...
Illetve:
A PWM-et ne bonyolitsd AD-vel. Adj neki fix erteket. (0...255)
Ja ez is hibás:
analog jel: 0...1023
pwm: 0...255
Ha így számolsz, akkor a pwm 1/4 útom nax érték, majd 1/4 hosszon ->255 és még ez 2x.
Ami jó lenne:
Első nekifutásra....
De a programot szedd szét részfeladatokra. És amikor az _összes_ részfeladat megy, akkor kell azokat összegyúrni.
Egymással a 2 PWM szembedolgozik. Ezt érzem hibának.
Tisztán olyan kódot keress/írj, ami a motort egyik irányba viszi ill. a másikba - adott sebességen. Ez a leírás alapján:
5,6 output
Irany 1:
5 - LOW szint
6 - PWM=128 (KÖZEPES SEBESSEG)
waitms 10000 (10 secig megy)
Irany1 lassu
5 - LOW szint
6 - PWM=32
waitms 10000 (10 secig megy)
Masik irany
6 - LOW szint
5 - PWM=128
waitms 10000 (10 secig megy)
Masik irany
6 - LOW szint
5 - PWM=16
waitms 10000 (10 secig megy)
Próbáld meg csak ezt.
Én a kódodban ennek a kezelésnek latom hibáit...
Illetve:
Kód: Egész kijelölése
...
if(flag==1){
analogWrite(6, pwm);
analogWrite(5, 0);
Serial.println("kifele");
delay(100);
}
else if(flag !=1){
analogWrite(5, pwm);
analogWrite(6, 0);
Serial.println("befele");
delay(100);
}
...
Ja ez is hibás:
Kód: Egész kijelölése
pwm=analogRead(potpin);
pwm: 0...255
Ha így számolsz, akkor a pwm 1/4 útom nax érték, majd 1/4 hosszon ->255 és még ez 2x.
Ami jó lenne:
Kód: Egész kijelölése
pwm=analogRead(potpin)/4;
Első nekifutásra....
De a programot szedd szét részfeladatokra. És amikor az _összes_ részfeladat megy, akkor kell azokat összegyúrni.
-
- DrótVégénSzéndarab
- Hozzászólások: 19
- Csatlakozott: 2014. november 18. kedd, 22:05
Re: segítség!!
Ez jó, a motor már megy. De az fennáll, hogy csak egy helyben remeg amiatt, amit előbb írtam. Ha túl nagyra választom a delayt az meg alapból nem jó, mert a nyomkodási sebességet változtatnom kell nagyon gyorsra is. A H hidat a tanárom csinálta, szóval nem hiszem hogy lenne fajtája a potmétert pedig még nem raktam be, az majd később jön
Re: segítség!!
H-hid rajz rendel.....
_nem_ a vezerles erdekel.
Az egyhelyben remegő motor az vezérlési hibára utal ugyanis....
A kódot _LÉPÉSENKÉNT_ fejlesztik, nem itt és ott egy kicsit!
Te ez utóbbit csinálod - emiatt káoszba fullad. Ha egy funkció _stabilan_ megy, utána (de csak utána) a következő feladatra kell lépni....
_nem_ a vezerles erdekel.
Az egyhelyben remegő motor az vezérlési hibára utal ugyanis....
A kódot _LÉPÉSENKÉNT_ fejlesztik, nem itt és ott egy kicsit!
Te ez utóbbit csinálod - emiatt káoszba fullad. Ha egy funkció _stabilan_ megy, utána (de csak utána) a következő feladatra kell lépni....
Re: segítség!!
H híd:
https://www.google.hu/search?q=h+bridge+schematic
4 tranzisztor/FET van benne. Ezt 2 vezérlőjellel hajtod. Hogyan?
https://www.google.hu/search?q=h+bridge+schematic
4 tranzisztor/FET van benne. Ezt 2 vezérlőjellel hajtod. Hogyan?
-
- DrótVégénSzéndarab
- Hozzászólások: 19
- Csatlakozott: 2014. november 18. kedd, 22:05
Re: segítség!!
jah és az A/D convertert és a szabályzót nem teljesen értem, hogy hogyan kellene belerakni :/
-
- DrótVégénSzéndarab
- Hozzászólások: 19
- Csatlakozott: 2014. november 18. kedd, 22:05
Re: segítség!!
A végfokomon 4 db fél H híd van. 2 db fél H híddal vezérelhető a motor.
https://www.google.hu/search?q=half+h+b ... UoAA&dpr=1
https://www.google.hu/search?q=half+h+b ... UoAA&dpr=1
-
- DrótVégénSzéndarab
- Hozzászólások: 19
- Csatlakozott: 2014. november 18. kedd, 22:05
Re: segítség!!
Hu bocs az összevisszaságért csak összevissza kapom meg a válaszokat. Szóval a motor 2 kivezetése 2 fél H hídba van bekötve. A fél H hidakat digit pinekkel tudom vezérelni. Ha felhúzom kap áramot ha nem nem. Szóval ha az egyik fél H hídra adok áramot akkor a motor jobbra forog ha a másikra akkor balra.
-
- DrótVégénSzéndarab
- Hozzászólások: 19
- Csatlakozott: 2014. november 18. kedd, 22:05
Re: segítség!!
Lépésenként próbáltam. A szenzor működik utána próbáltam egy sima oda-vissza pörgést(ki be mozgást) beletenni, ami dc motorral ment, de lineármotorra szerelve nem. Itt tartok
Re: segítség!!
Rendben. Kerek rajzot.
Skiccet.
Az egyik láb a 1/2 hid felso es a masik also felét vezérli,
a másik láb meg forditva?
na akkor maradjunk tisztán a motorvezérlésnél.
Ha mindkét lábra ekkor adtál PWM-et egyidőben, a tranzisztoron keresztül a tápot összezártad...
azaz:
6=H; 5=L - balra
6=L; 5=H - jobbra?
Ha igen akkor a H helyett:
analogwrite (5,0...255); 6=L - allithato a sebesseg (mas a 0...255, mas a sebesseg)
analogwrite (6,0...255); 5=L
Csak ennyi legyen a teszt!
AD és szabályozó még _kimarad_
Skiccet.
Az egyik láb a 1/2 hid felso es a masik also felét vezérli,
a másik láb meg forditva?
na akkor maradjunk tisztán a motorvezérlésnél.
Ha mindkét lábra ekkor adtál PWM-et egyidőben, a tranzisztoron keresztül a tápot összezártad...
azaz:
6=H; 5=L - balra
6=L; 5=H - jobbra?
Ha igen akkor a H helyett:
analogwrite (5,0...255); 6=L - allithato a sebesseg (mas a 0...255, mas a sebesseg)
analogwrite (6,0...255); 5=L
Csak ennyi legyen a teszt!
AD és szabályozó még _kimarad_
Re: segítség!!
Akkor a lenarmotor vezerlest kell helyrerakni, ha nem olyan mint a DC motor. Azaz ezen a feladat(reszen) nem tudsz tovabbmenni a linearmotor nelkul.
Csinald meg az AD -> PWM illesztest a DC motoros motorvezerlesre.
Ja es legyen soros debug!
Amúgy hol van az emliett timer?
Csinald meg az AD -> PWM illesztest a DC motoros motorvezerlesre.
Ja es legyen soros debug!
Amúgy hol van az emliett timer?
-
- DrótVégénSzéndarab
- Hozzászólások: 19
- Csatlakozott: 2014. november 18. kedd, 22:05
Re: segítség!!
5 L 6 H jobbra
5 H 6 L Balra
5 L 6 L Áll
5 H 6 H Áll
A (0....255) helyett én pwm-et adok rá ami nagyjából ugyanezt csinálja. Így a motor sebességét tudom működtetni. Nem tudom hogy mondjam el pontosan. A program gyorsabban lefut mint ahogy a lineármotor kimenne abba a helyzetbe ahova kellene neki. Próbáltam laborban. Ha 100-as delayt raktam az analogwrite után akkor mondjuk 1 centit ment ki, ha 1000-rest akkor 2 centit. Csak ugye ez minden pwm-nél más, és nagyon nagy pwm-nél nem használhatok ekkora delayeket, mert a motor nem fog tudni gyorsan mozogni.
Nincs meg a kellő jogosultságod a hozzászóláshoz csatolt állományok megtekintéséhez.