Fórum témák
» Több friss téma |
Szia!
Nem teljesen értem, hogy egy egyensúlyzó robotnak hová kell PID szabályzás. Illetve hogyan akarsz egy állandóan változó dologra fix algoritmust írni. Én megpróbáltam egyszer egy tekercslefelytő gép frekvenciaváltójával ezt megtenni. Ha hasítógépet szolgált ki, ahol folyamatosan megy a lemez, csak a változó tekercsátmérőt kellett kompenzálni, prímán működött. De táblásító gépnél, ahol folyton változott a lemez sebessége, lengett, rángatott az egész. Véleményem szerint az egyensúlyozáskor hasonló, állandóan változó paraméterek vannak. Ennek megfelelően állandóan változtatni kellene a PID paramétereket. De lehet, hogy én tévedek.
Mint ahogy irtam is nem birom fejbe összerakni PID-et igy nem látom át... de elvileg van értelme!
Mégpedig... döl a robot > ellenkező irányba mozdul> lassul a dőlés >lassulva mozdul > egyensúlyba kerül a robot > megállítja az ellentétes mozgást! Igen ám, de már felvette az egyensúlyu helyzetet és csak utánna állitotta meg... tehát tulforgott és most a másik irányba dől! A PID nek ha jol értelmezem az a lényege hogy a multbéli tapasztalat és a jövőbéli várhato bekövetkezőt is beleveszi az algoritmusba! Tehát már hamarabb visszaveszi a fordulatot mint hogy egyensúlyi helyzetbe került, igy nem billenti túl! ez egy jó példa a nem megfelelő PID változó használatára! Amugy én eredetileg arra gondoltam hogy kap egy girot ésa dölésszöggel arányos mértékbe növelem a forgásisebességet! A hozzászólás módosítva: Ápr 19, 2017
A pid szabályzás lényege:
A célhoz való út egy adott pontjáig maximális a teljesítmény. A pont elérése után fokozatosan csökkenti a teljesítményt, majd a célnál teljesen elveszi. Ezt 3 paraméter beállításával lehet szabályozni. Eltérés mértéke, diferencia erősítése, beavatkozási gyakoriság ideje. Ennek két esetben van értelme. Ha a teljesítmény mindig 0 és 100% között kapcsol.(pl fűtés) ilyenkor PWM-hez hasonló szabályzás történik, vagy ha egy analóg szabályzás megfelelő értékre történő beállítása a cél. Azt már nem mutatta be a videó, hogy amikor legtökéletesebben egyensújban volt a szerkezet, mi történik, ha meglökik. Az öntanulás pedig csak lassan változó, és mindíg ugyanúgy változó rendszereknél eredményes. Véleményem, pontosabban feltételezésem (mivel gyakorlatban még nem próbáltam ki) szerint ez bonyolult számítások nélkül, egyszerű analóg, vagy PWM szabályzással is elérhető egy egyensúlyzó szerkezet esetén.
Talán itt mellékelt iromány talán segít.
De igen, általában túlbillenti kicsit, csak utána visszaszabályoz. A hozzászólás módosítva: Ápr 20, 2017
Idézet: „Mindegy, viszont még mi nem jó a kódban?” Hát az oszcillátorból kiindulva szerintem az egész config word. A mikroC nem a kódban tárolja a configurációs biteket, hanem külön, és a szoftveren belül lehet beállítani. Itt ugye feltételezem tudod mik a konfigurációs bitek. ![]() Watchdog, MCLR, stb...
pajti2 Húúúú eltudnád küldeni a kapcsolást?? (újra) megköszönném
13 OE
Tessék
Ha nekiállsz Zsombort játszani, és már el sem olvasod, amit írnak neked, nem fogok neked válaszolni egy egész hónapig ![]()
Ez a led kocka projectemhez kellet(gondolom ahoz írtad) az már megoldodott müködik rendesen
![]() A mostani témám a 74hc595 blank oe(13) lábat pwmenezem és az a probléma ha 10 vagy több ledet villágítatok akkor esik nagyon a fényerő. Idézet: „Sziasztok nem értem miért nem müködik rendesen a pwm nem vagy is szerintem hadweres a baj .. A bajom ha a shiftregiszterek 10nél töb ledet világitatnak akkor nagyon nagy a fényerő csökkenése. De a képen ábrázolt részen hozzá érintem az újam akkor müködik .Miért?? Kép csatolva.”
Tedd fel az egész rajzot.
Példa: Nem tudja valaki megmondani, miért nem válaszol az MCP4642 az I2C kérdésre. Ha ráteszem a mérőpontot a kivezetésére egyből működik... Már több órája méricskélem.... Két nap múlva megtaláltam, hogy a TSSOP10 tok 3. lába nincs rendesen beforrasztva....
Ha jól értem az egészet akkor valószínűleg az a baj, hogy a tranzisztor kollektorán lévő ellenállás túl nagy. Cseréld ki 1 kOhm-ra.
rendben kiprobálom úgy is 1k val azt utánna
Hp41C szoftveresen lecserélem ha ugy se jó akkor felrakom teljeset. de holnap tudom csak.
Sziasztok!
Van 6db PIC mikrokontrollerem. 1db 16F870 2db 18F242 3db 18F458 Programozóm egy darab sincs hozzá, soha nem használtam még PIC-et. Az AVR-hez valahogy jobban húzott a szívem. Viszont szeretném ezt az oldalt is kipróbálni, ,,miért ne?" alapon. Szükségem lenne egy programozóra. Ha az segít, van egy Arduino Uno-m, egy Mega2560-as lapom és egy Pinguinom, ami 45k50-es chipre épül. Ez utóbbi sajnos csak porosodott eddig, de működőképes. Van arra lehetőség hogy ezek közül bármelyikkel programozzam vagy van valami egyszerűbb programozó áramkör ezekhez, amit meg tudnék építeni? Ahogy elnéztem van Arduino alapú programozó, de az csak 16F-es PIC-et támogat és nem is az én 870-es chipemet ![]() Elnézést ha nagyon noob kérdés, de számomra elég homály ez a PIC dolog, ha programozó eszközökről van szó. A válaszokat előre is köszi! ![]()
Sziasztok!
Segítséget szeretnék kérni. Sajnos még semmenyire se értek a PIC-hez. Olyan megoldást keresek, vagy olyan valakit aki segítene nekem abban, hogy 0-ról elkalauzolna egy feladat elkészítésében. Onnantól kezdve, hogy a feladathoz milyen PIC-re lesz szükségem, hogyan és mivel kell megírni a programot, hogyan és mivel tudom a PIC-re rátölteni. Nem szertném senkivel se "megcsináltatni", mert szeretném alap módon megtanulni. A feladatom a következő: egy 5 digites (1-2-4-8-16) bináris számot 2 digites hétszegmenses kijelzőn tízes számrendszerben 1-31.-ig megjeleníteni. Minden ötletet köszönettel várok. Zoli
Szia!
Tudnunk kellene, hogy milyen alapjaid vannak? -Analóg elektronika, -Digitális elektronika, -C programozás A fentiek _mind_ megvannak? Ha az alapok mind megvannak, utána az anyagi része jön - a választott hobbid bizony költséges. Van programozó és első lépések gyorstalpaló oktató anyag egyben dobozos termékként: Bővebben: Link Azon a panelen elsőként ledet villogtatni fogsz, meg nyomógombot prellmentesíteni, és pótméter értéket leolvasni (a/d-t kezelni), azok az alapok. Konkrétan a kijelzők semmi egyebek, mint ledek egybecsomagolva. Csak maga a kijelző kezelés már egyszerű lesz a fentiek után.
Van leírás a pic programozási folyamatáról (le van írva az állapot gép), és ha megvan a bemeneti .hex file, annak is tudni lehet a szerkezetét. Ha vannak erős alapjaid, te magad is tudni fogsz építeni eszközt csak programozáshoz. Az ugyan nem az lesz, amit a pic saját fejlesztői környezete biztosan supportol majd, de egy .hex-et leküldeni a pic-be bármilyen avr-el is lehetséges (kelleni fog pár külső kiegészítés hozzá ofc). De ellenőrző kérdésként még előbb felteszem, biztosan lesz arra türelmed, hogy tranzisztoronként és bitenként megvívd azt a csatát?
Készíts egy PICkit2 klónt, a benne levő 18F2550 -et pedig programozd fel a Arduino - PIC18 -cal.
Milyen típussal kell megoldani a feladatot?
- Lehet 28 vagy több lába: 5 bit bemenet, 5 láb rendszer (táp,föld, MCLR, órajelek), 2*7 láb a kijelző vezérlésére: Egyszerű kombinációs hálózat megvalósítása programmal (táblázattal) - Max 20 lába lehet: 5 bit bemenet, 5 láb rendszer (táp,föld, MCLR, órajelek), 7 láb a kijelző vezérlés, 2 láb kijelző kiválasztás: Idő multiplex kijelzés. - Max 18 lába lehet: 5 bit bemenet, 3 láb rendszer (táp,föld, MCLR), 7 láb a kijelző vezérlés, 2 láb kijelző kiválasztás: Idő multiplex kijelzés, belső órajel generátoros típussal Idézet: „ -Analóg elektronika, -Digitális elektronika, -C programozás ” Mond már meg nekem miért pont C-hez kellene értsen?
Mert, könnyebb, ésszerűbb, átláthatóbb?
Ezt mondod úgy, hogy fogalmad sincs a többi nyelvről???
Ezt mondom, úgy hogy lehet neked nincs fogalmad a többi nyelvről.
Én már belekóstoltam a legtöbbe, igen assemblerbe is. Assembler függő vagy ezt mindenki tudja, de miért lenne az sokkal jobb egy kezdőnek mint a C? Csak ne azt kezd el ecsetelni, hogy ezzel tökéletesen megérti a mikrokontroller működését, mert szerintem ez kezdésnek kicsit sok lenne. Menjen csak a C, majd ha kell vagy akarja mehet eggyel alacsonyabb szintre, amellyel már sokkal komolyabb dolgokat is tud majd írni.
Amindenitneki... Megpróbálok mindenkinek válaszolni, ha már ilyen sokan segítenek
![]() C-ben tudok programozni, assemblyben még nem annyira, de próbálkozom. Analóg és Digitál elektronika terén alapjaim vannak, de túl nagy tudással nem rendelkezem. Vagyis egy erősítőt meg tudnék építeni, tápegységet, hasonló egyszerűbb dolgokat. Digitális elektronikában... hát, kapuáramkörökkel fogalkoztam már, az Arduino-t pedig rendszeresen nyúzom. Egyébként nem szeretnék bitenként szórakozni ezzel, mert soha nem lesz kész. Hp41C: a 2550 tudja programozni a többi PIC-et? Ez szuper ![]() A hozzászólás módosítva: Ápr 21, 2017
Az emberek között elterjedt pár tévhit. Ilyen például az, hogy a "magas szintű nyelvek" értékesebbek, jobbak.
Francokat. Az ilyen programozási nyelvek elvonatkoztatnak az adott hardver környezettől. Erőforrásokat pazarolnak, és a rengeteg általánosítással problémákat generálnak. Most még lehet növelni a sebességet, memóriát, energiaigényt. Egy ideig. A hozzászólás módosítva: Ápr 21, 2017
És te kezdőként az assemblert ajánlanád?
C érthetőbb, jól követhető és átláthatóbb. Assembler hardverközélibb, jobban lehet optimalizálni, de sok esetben nem felhasználó barát. Most komolyan egy kezdőnek melyik az egyszerűbb?
A kontrolleres fejlesztőkkel egyfajta tyúk - tojás probléma van. Általában tartalmaznak egy olyan kontrollert, amit csak a már elkészített fejlesztő tud felprogramozni.
Az általam belinkelt Arduino - PIC18F csak egy kis csoportot tud kezelni, de a 18F2550 köztük van. A PICkit2 (benne van a 18F2550) rengetegféle PIC kontrollert tud programozni és számosat nyomon követni.
Esetleg arra van lehetőség hogy közvetlenül a 18F242-t és 18F458-at programozzam ezzel? Mert a kompatibilitási listán nincsenek ott, de van fórum, ahol azt írják, hogy elvileg lehet vele az egész 18F családot programozni.
Idézet: „És te kezdőként az assemblert ajánlanád?” Van egy (még aktív) generáció, akiknek különböző (COCOM, stb.) okok miatt az assembly -vel kellett kezdeni. Saját maga írta meg a fordítót, a magasabb szintű nyelvek fordítóját és futtatóját. Ekkor elsősorban a P-code -ot használó Pascal volt előtérben és az interpreteres nyelvek (BASIC, stb). A C fordítók generációk során feljődött, az újabb C fordítót az előző C nyelv variánson írták meg. Egész más szemléletet örökölt ez a generáció, mint a mai, akinek a C## a magától értetődő alapnyelv függetlenül attól, hogy mennyi erőforrást, időt használ fel. Egyszerűen nem látott mást... |
Bejelentkezés
Hirdetés |