Fórum témák

» Több friss téma
Fórum » PIC kezdőknek
 
Témaindító: Placi84, idő: Okt 3, 2005
Témakörök:
- A PIC ÖSSZES Vdd és Vss (AVdd és AVss) (tápfeszültség) lábát be kell kötni!
- A táplábak mellé a lehető legközelebb 100nF-os KERÁMIA kondenzátorokat kell elhelyezni.
- Az MCLR lábat, 10kohm-mal fel kell húzni a Vdd tápfeszültségre.
- Külső kvarc használatakor 4MHz-ig XT, a fölött pedig HS konfigurációt kell beállítani.
- Stabilizált tápegységet kell használni, a kapcsoló üzemű "telefon töltő" adapterek okozhatnak hibákat.
- Programozáshoz, használj lehetőleg PICKIT2 vagy 3 programozót. Kerülendő a JDM (soros porti) programozó.
- A PIC adatlapja (PDF), tartalmazza a lábak kiosztását és a PIC minden paraméterét. Az adatlap ingyen letölthető!
- Egyes PIC típusoknál az RA4 nyitott nyelőelektródás (Csak lefelé húz L szintre, H szintet nem ad ki!)
- Ha a PGM lábat digitális ki-/bemenetnek használod, az alacsony feszültségű programozási lehetőséget le kell tiltani.
Lapozás: OK   933 / 1207
(#) sonajkniz válasza Firefighter1 hozzászólására (») Ápr 19, 2017 /
 
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.
(#) Hp41C válasza kriszrap hozzászólására (») Ápr 19, 2017 /
 
  1. PWM2_Set_Duty(fenyero);

sor helyett írd ezt:
  1. PWM2DCH = fenyero;
(#) kriszrap válasza Hp41C hozzászólására (») Ápr 19, 2017 /
 
vehet fel 0 értéket??
(#) Firefighter1 válasza sonajkniz hozzászólására (») Ápr 19, 2017 /
 
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
(#) sonajkniz válasza Firefighter1 hozzászólására (») Á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.
(#) Hp41C válasza kriszrap hozzászólására (») Ápr 20, 2017 /
 
Igen.
(#) ktamas66 válasza Firefighter1 hozzászólására (») Ápr 20, 2017 /
 
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
(#) usane válasza Udvari Zsombor hozzászólására (») Á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...
(#) kriszrap válasza kriszrap hozzászólására (») Ápr 20, 2017 /
 
pajti2 Húúúú eltudnád küldeni a kapcsolást?? (újra) megköszönném
13 OE
(#) pajti2 válasza kriszrap hozzászólására (») Ápr 20, 2017 /
 
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
(#) kriszrap válasza pajti2 hozzászólására (») Ápr 20, 2017 /
 
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.”

unnamed.jpg
    
(#) Hp41C válasza kriszrap hozzászólására (») Ápr 20, 2017 /
 
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....
(#) Bakman válasza kriszrap hozzászólására (») Ápr 20, 2017 /
 
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.
(#) kriszrap válasza Bakman hozzászólására (») Ápr 20, 2017 /
 
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.
(#) FDAssasin hozzászólása Ápr 20, 2017 /
 
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!
(#) silencezozo hozzászólása Ápr 20, 2017 /
 
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
(#) pajti2 válasza silencezozo hozzászólására (») Ápr 21, 2017 /
 
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.
(#) pajti2 válasza FDAssasin hozzászólására (») Ápr 21, 2017 /
 
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?
(#) Hp41C válasza FDAssasin hozzászólására (») Ápr 21, 2017 /
 
Készíts egy PICkit2 klónt, a benne levő 18F2550 -et pedig programozd fel a Arduino - PIC18 -cal.
(#) Hp41C válasza silencezozo hozzászólására (») Ápr 21, 2017 /
 
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
(#) Pali79 válasza pajti2 hozzászólására (») Ápr 21, 2017 / 1
 
Idézet:

-Analóg elektronika,
-Digitális elektronika,
-C programozás

Mond már meg nekem miért pont C-hez kellene értsen?
(#) don_peter válasza Pali79 hozzászólására (») Ápr 21, 2017 /
 
Mert, könnyebb, ésszerűbb, átláthatóbb?
(#) Pali79 válasza don_peter hozzászólására (») Ápr 21, 2017 /
 
Ezt mondod úgy, hogy fogalmad sincs a többi nyelvről???
(#) don_peter válasza Pali79 hozzászólására (») Ápr 21, 2017 /
 
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.
(#) FDAssasin hozzászólása Ápr 21, 2017 /
 
Amindenitneki... Megpróbálok mindenkinek válaszolni, ha már ilyen sokan segítenek szóval, ott kezdeném hogy semmiképp sincs 22 ezer forintom erre, csak azért hogy kipróbáljam és utána rájöjjek, hogy inkább AVR... Akkor inkább az ebayes PICKit klónokra fektetnék be, ha azok működőképesek. Nem zavar ha nincs debug funkció. Feltölteni tudjon a chipre, ennyire van szükségem.
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 most lehet tévedek, de a 2550 és a 45k50 elég sokban hasonlít egymásra. Annyi különbséggel, hogy nagyobb, több lábú tokban van. Vagy nem?
A hozzászólás módosítva: Ápr 21, 2017
(#) nedudgi válasza don_peter hozzászólására (») Á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
(#) don_peter válasza nedudgi hozzászólására (») Á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?
(#) Hp41C válasza FDAssasin hozzászólására (») Ápr 21, 2017 /
 
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.
(#) FDAssasin válasza Hp41C hozzászólására (») Ápr 21, 2017 /
 
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.
(#) Hp41C válasza don_peter hozzászólására (») Ápr 21, 2017 /
 
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...
Következő: »»   933 / 1207
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem