Fórum témák
» Több friss téma |
Atyaég... Milyen PIC ez hogy ennyi bankja van? Meg is bolondulnék. Még egy 40 lábú F877 nek is csak 4 bankja van ennek a nyolc lábú kis törpének minek ennyi bank?
Én már vagy 10 éve nem foglalkoztam a dologgal, de általában a lényeg, hogy elinduljon a dolog és ha megérted a működését, akkor már menni fognak az átalakítások. A karakteres LCD vezérlők legtöbbje HD44780-al kompatibilisek. Néha van némi eltérés, de az majd kiderül. A félbájt csere jó lesz, a port átdefiniálása nem lehet gond.
Rendben, és köszönöm a segítséget! (lehet még kérdezni fogok... )
A képességei miatt sok regiszterre van szüksége, sok regiszter pedig sok memórialapot igényel.
Értem, köszi. Látom a perifériákat is, nem semmi hogy mi minden belefér egy ilyenbe.
Ennyi sok?? 16F18455 családjának, a 18F25Q43 családjának 64 bankja van. Ekkor még szóba sem hoztuk a 24FJxxxDAx10 sorozat EDS lehetőségét 512 RAM lappal.
A hozzászólás módosítva: Ápr 5, 2020
Ja, a 47K nekem is sok, azthiszem 10K használtam oda.
Tehát ha PL abemenet csak 4,5V lenne, akkor is jól működne a kapcsolás? Hol működik, hol nem, nemtudom miért. Ez egy sportkamerába van beépítve, szerepe, hogy ha USB van csatlakoztatva, a kamera bekapcsoljon, és kezdje a felvételt.
"Csecsemőnek minden új", jómagam a 16F648 ig, illetve az F877 ig jutottam. Mondhatni csak "hobbista" vagyok PIC es fejlesztési téren. Ezeknek a perifériáknak nem mondom hogy még a hírét se hallottam de használni sosem használtam még őket. (RS485, ADC, I2C, CAN..stb) Lenne fejvakarás ha ilyenekre kéne fejlesztenem valamit. A munkahelyemen ilyeneket javítok, élesztek és tesztelek. Pl RS485 ön és / vagy CAN BUS on kommunikáló ipari kazán vezérlők ezek melyek központi egysége 8 db termoszátot fogad és kezel külön. Internetes elérhetőség központi szerveren keresztül..stb. A termosztátok erintőképernyős grafikus LCD k (Minden kijelzett tartalom egy .JPG kép.) el kezelhetőek, címezhetők, proxymity (közelítésre élednek fel) páratartalom és hőmésrséklet mérés, hiszterézis beállítás...stb De a fejlesztésekre külön team van, így a kút mélyére nem látok le de nem is érteném. A tesztfolyamatokra külön tesztkörnyezetek vannak. A javításokhoz meg van schematics, partlist, PCB (eagle) viewer az általában 4 rétegű panelekhez, RS485/USB konverter a PC hez illesztéshez mivel azokon fut a tesztprogram. Az eszközök Atmel procikra épülnek nem PIC re. De van bennük Cypress, Texas és NXP mikrovezérlő is. De ezek programozásához csak a főmérnökünk ért profi szinten, mi csak felprogramozzuk az eszközöket, teszteljük, ha gond van hardveresen akkor javítjuk. A beültetést sem mi végezzük, gépi beültetéssel jönnek a panelek. Többnyire BGA - s Atmel procik vannak rajtuk, egy külön processzor kártyán ami ráültethető az alap panelre. Az egészet egy SD kártyáról futtatott mini linux vezényli. Elég összetett kütyü.
A hozzászólás módosítva: Ápr 5, 2020
Sziasztok. Lenne 1 gondom, 16F877A PIC-nél ha azt álltom be hogy.
movlw b'11111000' movwf trise eltünik a D Port ha 0-ra álítom a trise-t akkor visszajön. Mit kellene be vagy ki kaccsolni? Assembly-be van valami köze egymáshoz?
Mit jelent hogy eltűnik a D port? Eltűnni nem tud, ott van az.
Bankváltások rendben?
A D összes led-je világit, ha a trise-t átálitóm ahogy irtam, ráküldöm a progit, már nem világitanak
Idézet az adatlapból:
Idézet: „REGISTER 4-1: TRISE: bit 4 PSPMODE: Parallel Slave Port Mode Select bit 1 = PORTD functions in Parallel Slave Port mode 0 = PORTD functions in general purpose I/O mode PORTD operates as an 8-bit wide Parallel Slave Port, or microprocessor port, when control bit PSPMODE (TRISE<4>) is set. In Slave mode, it is asynchronously readable and writable by the external world through RD control input pin, RE0/RD/AN5, and WR control input pin, RE1/WR/AN6.” A hozzászólás módosítva: Ápr 7, 2020
Aha. Na ezt nem találtam az adatlapjában. Thx KÖSZÖNÖM.
A hozzászólás módosítva: Ápr 7, 2020
Moderátor által szerkesztve
Szervusztok!
Nem tudtam ide vagy a haladóba írjak. Az elején leszögezném segítséget kérni jöttem és abszolút nem foglalkozom a jövőben PIC-el. Most szükséges egy beadandó feladat miatt iskolában. A feladatom: PIC18F45K22-vel, LM35 hőmérséklet érzékelővel megvalósított PID hőmérséklet szabályozás. A programot mikroC-ben írom és Proteus-ban tesztelem, majd ha kész megépítem a hardvert. Jelen állás szerint egy keypad-ről beviszem a referencia értéket a kijelző megjeleníti. Majd feldolgoztam az LM35 értékét, ezt is megjeleníti és stimmel. Na most jön a gond a PID-rész. Rengeteget olvastam és nem tudom, hogyan is írjam le a programban. Megértettem a PID lényegét,hangolást stb., de nem megy. A végén a PWM is stimm. (Itt jegyzem meg L293D motorvezérlővel egy DC motort sebességét szabályozná a PWM jel.) Valaki tudna nekem a PID részben bármely nemű segítséget nyújtani? Előre is köszönöm! Szép napot Mindenkinek!
Ha már mikroC-ben írod, akkor itt találhatsz egy PID eljárást.
Igen, nem említettem. Dupla 0 a C tudásom. Amit eddig összeírtam azzal is több, mint 1 hetem ment el. De próbálkozok azért! Köszönöm!
Első lépésben a PID szabályozód átviteli függvényét kellene meghatároznod. Akár készíthetsz hozzá MATLAB-os szimulációt. Ez az átviteli függvény analóg szabályozót ír le, de a PIC-kel csak diszkrét idejű szabályozót lehet megvalósítani. Több féle elmélet is van diszkrét idejű szabályozó tervezéséhez, a legegyszerűbb leutánozni az analóg szabályozót(emuláció). Erre több módszer is van, pl.: differenciaegyenlet módszer(Euler módszer). Ezek alapján fel tudsz írni a szabályozód differenciálegyenletéből egy differenciaegyenletet, amiből levezethető egy rekurzív algoritmust. Azt már talán nem olyan nehéz leprogramozni, az időzítések betartására figyelni kell, a beavatkozó jel a PWM középértéke.
Sziasztok.
(A 8 biteseknél már többször írtam több kiloszavas programot (sikerrel). A C nyelvet viszont (szükségből) nem rég tanultam meg. És hogy a nehézségeket fokozzam, a 32 bitesekkel kezdtem el foglalkozni. Az MX-ekre MCC segítségével már sikerült programot írnom, de az a processzor is kevésnek bizonyult a feladathoz, a C miatt nem nagyon tudtam meghatározni, hogy elég lesz e hozzá, de ugy gondoltam, hogy biztos elég. NEM. Így hát célba vettem a leghiperebb Pic-et, az MZ-t. Az a baj, hogy itt már MCC sincs, ami fogná az ember kezét. Már az első kóstolgatásnál beletört a fogam.) MPLAB X IDE-ben,a Timer1-et szólítottam meg, de a kis *** csak szaladni hajlandó és beállítani a flag-et, viszont az ISR függvényt már nem hívja meg. Ebben kérném a segítségeteket. Köszönöm, az esetleges választ. Ha kellene a kód is:
A hozzászólás módosítva: Ápr 9, 2020
Moderátor által szerkesztve
Azért a [co_de] gomb használatát nem kellene nélkülözni!
Lefordítottam az egészet már magyarra. Próbálom megérteni. Köszönöm a reakciót azért!
Scilab oldalon találtam (discrete pid) hasonló gondolat menetet szerintem. MATLAB videót is néztem erről. A szabályozott szakaszom átviteli függvénye kell hogy legyen, nem? Jelen esetben hőmérséklet szabályozás, de 12V-os DC motorral fújatom be a meleg levegőt vagyis a motornak kellene az átviteli függvénye?
Találtam Libstock-on egy pid_lib könyvtárat, ezt is belehetne valahogy építenem a programba? Mint kezdő azzal sem vagyok tisztában.
Sziasztok. Segítségre lenne szükségem. Belső EEPROM , fogjuk rá hogy hogy értem , már tudtam bele írni adatot. De szükségem lenne egy külső EEPROM-ra , amibe nem csak 1-2 bit adatot írnák , hanem nagyobb , tömbökbe szervezett adat halmazt, amit a PIC-el betöltök vagy kiolvasok. A 24LC128-as eeprom-ot használnám. Sehol nem találok leírást róla. Az adatlapja szinte semmit nem ír.
Ebben szeretném a segítséget kérni . Keresgéltem itt a fórumban is már de konkrétumot nem találtam. Videókat néztem, olvasgattam stb. Szinte semmi siker. Természetesen Assembly-ben írnám. Hogy lehetne ezt megvalósítani előre is köszönöm a segítségeket.
Minden benne van az adatlapjában. Az MC-s adatlapok nem olyan rosszak. Konkréten mit nem értesz?
Viszont ha a PIC EEPROMját tudod használni akkor minek 1 külső is pláne ha csak 1-2 bithez kell?
Milyen típust használsz? Van benne MSSI modul?
Ugyan nem engem kérdeztél, de próbálok segíteni.
A szabályzó köröd alapjele az előírt hőmérséklet, ezért minden jellemzőt ilyen alapon kell meghatározni. A motorod átviteli függvénye alatt nem tudom mire gondolsz, de szerintem neked egy olyan függvény kellene, ami a kimenő pwm jel és a motorral meghajtott hűtő ventilátor kerékkel megmozgatott levegő hőszállítását írja le, ami szinte biztosan változó paraméterű függvény lesz. Továbbá a szabályozott szakaszról semmit nem mondtál, milyen hőteljesítmény milyen hőtani jellemzőjű testet fűt, a mérés pontja és a hűtőfelület milyen kapcsolatban vannak. Röviden; ennek korrekt matematikai leírása szinte esélytelen. A gyakorlatban nem is szokás ezzel foglalkozni, hanem általában egységugrás jellel vizsgálva a szabályzó működését, addig állítják a P, I, és D paramétereket, amíg nem lesz megfelelő a működés. Nem ismerem a tantárgyi elvárásokat, de szerintem ebben a feladatban az a lényeg, hogy megértsd a PID szabályozó működését, és annak uP-re való megvalósítását. Én még az analóg világban szocializálódtam, így az analóg PID-ekkel találkoztam előbb, de ha az analóg áramkörök közelebb állnak hozzád, innen is el lehet indulni, és megérteni annak a kb. tucatnyi műveletnek a miértjét. Bővebben: Link , Bővebben: Link A gyakorlati megvalósításkor (értem ezalatt a teljes algoritmus meghatározását, és annak leprogramozását) nekem általában a korlátozások megírása adja a legtöbb munkát (egy 4/4-es szabályozó esetében), ami az eddig hivatkozott irodalmakban nem nagyon van leírva. Pedig az integráló tag külön, és a szabályzó egésze is mindenképpen korlátozásra szorult a meghatározott működési tartományra.
Szia. PIC16F877A-as pic használnám, és szubrutinokat raknák bele. semmi extra, egymás után hívná őket. Egy 5-ös ledkocka mintái lennének benne.
RC3 és RC4 felhasználható a 24LC128 kezelésére?
Igen: MSSI modullal megcsinálható az I2C felület kezelése. Mindkét kivezetésre kb 2k2..2k7 felhúzó (Vdd -re) ellenállás kell még. Nem: Programból kell megcsinálni az I2C felület kezelését. |
Bejelentkezés
Hirdetés |