Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Egyébként, ha szabad érdeklődni, milyen MODBUS eszközt élesztesz majd a PIC segítségével? Slave-et vagy Master-t? Vagy csak egyszerű próbálkozás egyelőre?
Ezt bármelyik PIC tudja. A paritást lehet, hogy kézzel kell számolnod (és 9. bitként küldeni/fogadni), ha nem "okos" modellt választasz.
Én a 75LBC176/184-et szeretem (a sima 176 buta, a Maxim cuccai meg aránytalanul drágák), de nyilván ízlések és pofonok.
Szia!
Do sokszor linkeltem már be: http://www.piclist.com/techref/microchip/math/bit/parity.htm
Ez egy Slave eszköz lenne a ModBus on. Egyenlőre próbálkozás, de ha összejön egy nagyobb projekt része lenne. Sajnos tesztelni nem tudom, csak doksiból tudok dolgozni, és beépítés után derül ki működik -e? --nincs ModeBus a közelemben--
Már használtam USART ot PIC 18 on, igaz No Paritas sal, de szerintem be lehet állítani Odd/Even -t is a uP -on, és akkor nem kell számolnom, de ennek utánnézek. Egy doksiból olvasom, hogy az RTU módban alap az Even paritas, de majd elkérem a mester paramétereit. Idézet: „Én a 75LBC176/184-et szeretem (a sima 176 buta, a Maxim cuccai meg aránytalanul drágák), de nyilván ízlések és pofonok.” Ezt is meg kell néznem, egyenlőre nem tudom miért nevezed "butának" a 176 ot. A hozzászólás módosítva: Szept 2, 2012
Szia!
Teszteléshez használhatod a ModScan nevű programot. Sajnos a 18F -eken nincs hardver paritás lehetőség, csak programozott. Az előbb linkeltem be egy paritásképzó rutint... A hozzászólás módosítva: Szept 2, 2012
hát akkor az én ModBus os CRC rutinom ennyi lett:
A ModScan -t megnézem, remélem használható lesz. A hozzászólás módosítva: Szept 2, 2012
Félreértettél: Nem a táviratokban levő CRC16 képzésébez, ellenőrzéséhez való rutinról írtam, hanem az UART -tal küldendő, fogadandó (8 adatbit + parity) kezeléséhez. A PIC18F (E)UART -jában van lehetőség 9 bites üzemmódra: Vett karakter esetén a RCSTA kiolvasásával megkapható az Rx9D (az RXSTA -t kell előbb kiolvasni, és csak egyszer szabad kiolvasni, aztán az RCREG -et. Az RCREG olvasása lépteti a vételi fifo -t.). Adáskor a TXSTA -ba előbb be kell állítani a Tx9D bitet, aztán írni a TXREG -et.
Jaj értettem, csak gyorsabban járt a kezem mint az agyam...
De már nem akartam kitörölni. Egyébként köszi!
Sziasztok!
Azoknak, akik még az MpLab 8 -at használják: Megjelent a 8.87 és előjött a 8.86 egyik hibája. 8 bit compilers disappear when moving from MPLAB 8.86. http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nod...007002 A hozzászólás módosítva: Szept 5, 2012
Nemrég többen furcsállottátok hogy 2x16-os LCD kijelzőből adatot akarok kiolvasni nem pedig írni rá. Nos igenis van értelme, most készültem el vele:
Bővebben: Youtube A hozzászólás módosítva: Szept 5, 2012
Azért ez eléggé ritka igény, azt ismerd el
Mit tarolsz amugy az LCD kijelzon? Vagy miert kell onnan olvasni? (nem kotozkodeskeppen, csak tenyleg kivancsi vagyok ra)
UI: Amugy ugyes, hogy LCD es LED kijelzo modulokat lehet csere-berelni es akarmelyikkel mukodik! A hozzászólás módosítva: Szept 6, 2012
Idézet: „Mit tarolsz amugy az LCD kijelzon? Vagy miert kell onnan olvasni?” Hát a tesztkaraktert! Bekapcsolás után kiküldök egy karaktert aztán azt próbálom visszaolvasni. Ha LCD van rákötve a PIC-re akkor a visszaolvasott karakter egyezik. Ha LED akkor pedig nem. Innen tudja a PIC hogy milyen kijelző van rákötve és aszerint működik tovább.
Csináltatok már olyat hogy az A/D hardveres felbontását szoftveresen megnövelitek? Én most a 12 bites PIC18F25K80 A/D-ját tettem 13 bitessé hogy a panelmérőm ne 4000-ig mérjen hanem 8000-ig. Jelenleg 320db mintát vesz a jelből amelyből a 32db legkisebbet és a 32db legnagyobbat eldobja, majd a maradék 256-ot kerekíti és átlagolja. Az átlagolásnál csak annyi van hogy nem 256-al osztom a 256 mintát hanem csak 128-al és máris kétszer akkora a méréshatár. Épp most tesztelem, a PIC-es panelmérő II szoftverét tuningoltam fel ezzel az új mintavételi algoritmussal. Egyenlőre ahogy nézem teljesen jól működik a dolog. Az utolsó digit nem ugrál, vagy ha ugrál is akkor az az eredeti algoritmus és külső műszer szerint is ugrál két érték közt. Szóval úgy néz ki hogy teljesen rendben van.
De kicsit furcsa hogy így megerőszakoltam a PIC-et. Csinált már valaki hasonlót? Ha igen, nem tapasztalt esetleg valamilyen anomáliát?
Ez klasszikus oversampling, és ilyen paramétereknél (x256 minta, +1 bit) ennek stabilan működnie kell. Ha jól emlékszem, akkor +1 bitenként x4 minta kell minimum. Szerintem ennyi mintánál még a +2 bitnek is stabilan kéne mennie.
Hűűűha... most úgy érzem magam mint amikor kb egy hete barátkoztam a PIC-ekkel és büszkén dicsekedtem itt nektek hogy írtam egy programot ami átalakít egy két bájtos számot négy decimálissá. Úgy látszik most sem találtam fel a spanyol viaszt.
Készítettem róla egy videót is:
Youtube
Nekem is van több készülékem, ami évek óta így dolgozik.
Én is dupláztam a PIC-es AD felbontását és teljesen jól működő dolog, szóval nyugodtan használhatod.
Szeretnék a memóriában lefoglalni 768 bájtot. Hogyan lehet ezt megtenni?
Így nem sikerül:
Nem túl elegáns, de így sikerült megoldanom:
A hozzászólás módosítva: Szept 6, 2012
Na igen, ahhoz, hogy az ember ujat talaljon ki nagyon benne kell legyen a dolgokban es szerencse is kell hozza, hogy epp az adott temaval foglalkozz es ratalalj. Gondolj bele hany profi mernok van vilagszerte es hany hobbista... Az alacsonyan logo furtoket mar mind leszureteltek elotted...
Ami jo az internetben, hogy ha valamit meg szeretnel csinalni (es tudod, hogy pontosan mit), akkor arra rakeresel es nagy a valoszinuesege, hogy azt valaki mar megcsinalta elotted, tehat neked csak ki kell olloznod, vagy a leiras alapjan le kell programoznod.
Szervusz!
Már 1946-ban is alkalmazták az elvet: http://www.feltalaloink.hu/tudosok/bayzoltan/html/bayzoltal2.htm Ha a felbontást akarod növelni és nem zavarszűrés a cél, akkor minden mintát fel kell dolgozni és nem szabad kihagyni belőle semit sem (némi "zavarjel" szükséges is a megfelelő működéshez). PIC-kel pár ezres mintavétellel elérhető akár 4-5 bites felbontásnövekedés is, de a linearitáshibán nem lehet így javítani, erre gondolni kell a mérési eredmény kiértékelésekor. A hozzászólás módosítva: Szept 6, 2012
A linker scriptet kell átírni, kialakítani egy tartományt és az udata után hivatkozni kell rá a nevével.
pl:
Használata:
Ez csak 512-es, de értelemszerűen növelhető, ha van elég memória a PIC-ben. Az eredeti fájlt másold, módosítsd, nevezd át és erre hivatkozzál a fordítási beállításokban. A módosított eredeti területekre vonatkozó sorokat kommentezd ki. A hozzászólás módosítva: Szept 6, 2012
Én nemrég kezdtem a témával foglalkozni, saját mérő kapcsán a készülő tápegységembe. Az AVR 10 bites mérőjét húztam fel 16 bitre. Kellően gyors még, de pontatlan, nincs még linearizálva a mérés. Csodálkoztam is kissé, miért nem foglalkoztál még a témával...
Én inkább azon csodálkozom, hogy Attila miért nem figyelt még fel a PIC18F87J72 típusra, amelyet kifejezetten a nagypontosságú mérésekhez fejlesztettek ki.
Nagyon jó IC, nagyon jó áron.
Csak az a 80 TQFP 12x12x1mm..... Ááááá!
Ez izgalmas! Csak tudnám mi az az AFE. De ahogy látom valami teljesítmény-mérő izé. Miért jó ez nekem ha egy sima A/D-vel is tudok feszültséget és áramot mérni, majd ezeket összeszorozni? Mert ahogy nézem ennek a PIC-nek az A/D-ja nem sokban tér el az általam jelenleg használtétól (18F25K80). A plusz akkor gondolom ez az AFE modul de ez nem tudom mire lenne jó. A TQFP nem is lenne annyira probléma.
Idézet: „Nagyon jó IC, nagyon jó áron. Csak az a 80 TQFP 12x12x1mm..... Ááááá!” Ha nincs lehetoseged laser printerrel nyakot rajzolni, akkor vehetsz akar ilyen foglalatokat is -- forrasztas meg nem annyira bonyas, mint amennyire tunik meg akkor sem, ha nincs SMD pakad -- harisnyaval eleg gyorsan szep munkat lehet vegezni, de nezz korul a reszletekert az SMD forrasztas topikban... http://www.futurlec.com/SMD_Adapters.shtml |
Bejelentkezés
Hirdetés |