Fórum témák

» Több friss téma
Fórum » Folyamatábrás mikrokontroller programozás Flowcode-dal
Lapozás: OK   250 / 360
(#) Bakman válasza (Felhasználó 15355) hozzászólására (») Jan 24, 2016 /
 
Ha már így tudod tesztelni, az enyémet nem forgatnád be 1220-ba? Elég lenne csak a várakozási részt, hogy nálad mit csinál. 9600 Baud-dal. Ha megkapja a "KAZ"-t, pl. legyen H az egyik kimenet. Az adatküldés előtt várakoztasd pár másodpercet...
(#) Bakman válasza (Felhasználó 15355) hozzászólására (») Jan 25, 2016 /
 
6-os Flowcode-ban? 5-ösben elég a 8 MHz is. Az ábrádat csak hétvégén tudom kipróbálni...
(#) Bakman válasza Bakman hozzászólására (») Jan 30, 2016 /
 
Mivel ez egy tervezett projekt, próbapanelen raktam össze. A tápkábel volt kontakthibás, azt kicserélve működik mindegyik kontrolleren. 18F14K22 kevesebb tápfeszültséggel is beéri, gondolom azért nem fagyott le. Azért köszönöm a törődést!
A hozzászólás módosítva: Jan 30, 2016
(#) kkrisz75 hozzászólása Márc 11, 2016 /
 
Sziasztok. Régen jártam erre, meg elég régen foglalkoztam a témával komolyabban.

A problémám a következő, amiben segítséget, vagy iránymutatást kérnék, mit néztem el.

A régi óracsoportot alakítottam át, a furat szereltről SMT-re. Lényegében kivettem pár mikrokapcsoló vezérlést, meg tápot cseréltem. Pár láb átkerült máshova, de a fő program maradt ugyan az.

A jelenség az, hogy most az asztalon van még az óra, és tesztelés van:
A hőmérést MCP9700as végzi a kocsin, és most tesztként a csatikba itt az asztalon bedugdostam a lábakat, és mér is rendesen, vagyis feszültséget ki írtja LCD-re, műszer szerint is jót mutat, viszont egész számot nem jól írja. Vagyis ha "Read as INT" - ként beolvasom az értékét és ki akarom íratni 1023-at ír ki.

Referencia TL431 es, és 2.5V-ra beállítva. Programba +Vref és 249 van beállítva az AD tulajdonságoknál Fosc/64 el.
Ugyan ezzel a beállítással ment eddig a kocsiban (Csak FRC- volt beállítva) Higanyos hőmérőhöz képest pontosan.

18F4620 as pic AN1, AN2 és AN5 van használva.

AN1 en méri a hőt, AN2 benzinszintet(oda most nincs dugva semmi, csak 100nf el van lehúzva testre)
AN5 ön tápot akartam mérni, feszültség osztóval de nem jött össze. 2.4-et mutat, ha VDD-t állítom referenciára akkor 4.9-et. (Ezzel még nem foglalkoztam miért, lehet a külső táp miatt, bár a test ugyan az, de lehet elválassza a két áramkört)

Lényegében nem tudom miért nem mutatja jól az egészként való mérést.
(#) Bakman válasza kkrisz75 hozzászólására (») Márc 11, 2016 /
 
Hol a program? Jól értem, hogy a "Read as Voltage" jól működik, a "Read as IINT" pedig nem?
(#) kkrisz75 válasza Bakman hozzászólására (») Márc 11, 2016 /
 
Igen jól érted.
Read as voltage beolvas, és ki is tudom íratni, jól is mér. 0.8V körül van itt a szobában. Az alapján is számolom a hőmérsékletet. 0.1V fokonként az emelkedés.

Read as Int esetén pedig 1023 amit ki ír. Hiába teszem jégre, vagy forró vízbe. Pedig elvileg változnia kellene.

Nem szívesen teszem, ki a teljest, de végül is mindegy.
A hozzászólás módosítva: Márc 11, 2016
(#) Bakman válasza kkrisz75 hozzászólására (») Márc 11, 2016 /
 
Az ADC-k beállításainál a kommunikációs sebességeket kapcsold át Fosc/32, de inkább Fosc/64 -re. A kontroller 20 MHz-en jár, túl gyorsra van állítva. Nem sámli program, remélhetőleg te átlátod. Tesztelni nem tudom, nálam valamiért villog a kijelző folyamatosan.
(#) kokozo válasza kkrisz75 hozzászólására (») Márc 11, 2016 /
 
Szia!
A változót is átállítod int-re?
(#) Bakman válasza kkrisz75 hozzászólására (») Márc 11, 2016 /
 
Nehezen, de megvan miért villog. A kijelzőn lévő adatok frissítésénél törlöd az egész kijelzőt, majd kiírsz mindent újra. Felesleges, elég csak a megváltozott adatokat felülírni. A kijelzőt akkor érdemes törölni, ha teljesen újra akarod írni az egészet, de akkor sem feltétel, a karakteres kijelzőknél nem kell semmilyen extra lépés ahhoz, hogy a már látható karaktert felülírd.
(#) kkrisz75 válasza Bakman hozzászólására (») Márc 11, 2016 /
 
Igen én átlátom. (Nekem nem bonyolult)

Fosc/64 el is próbáltam. Azzal is ugyan az a helyzet.

Az érdekes az, hogy az előző panelon ami múlt hétig volt a kocsiban ugyan ezen beállításokkal működött. A Víz és a benzin AN1 és 2 volt csak használva, ami semmit nem változott.

Lényegében csak az alkatrészek lettek SMD-re cserélve és a 3 nyáklapból lett 1. (75HC595 -ök foglaltak sok helyet. (13db) A pic maradt furat szerelt, csak a foglalat lábait kihajtogatva lett felület szerelt a foglalat. vagyis a pic is ugyan az)

Én a panelon tesztelem, gépen nem is tudnám.
(#) kokozo válasza kkrisz75 hozzászólására (») Márc 11, 2016 /
 
Ha a pic lábánál méred a feszt ott még jó? Mert lehet hajszál szakadás is a nyákon.
(#) kkrisz75 válasza kokozo hozzászólására (») Márc 11, 2016 /
 
A lábnál, pic mellett nem mértem. Bár akkor a VOLT értéket sem mérné, nem? Ami viszont jó.
(#) Bakman válasza kkrisz75 hozzászólására (») Márc 11, 2016 /
 
Készíts egy tesztprogramot. A PIC és az ADC beállításai legyenek azok, amelyek a valós programban, de a tesztprogram csak az ADC -vel foglalkozzon, semmi mással (persze a kijelző maradjon). Ha ott jó, akkor a programban van valami hiba.

A programban van három LCD Start() ikon. Felesleges, egy is elég az egész program elején. Start() után nem kell törölni a kijelzőt, eleve üresen indul, 0,0 pozícióban a kurzorral. A Clear() parancs (19 van belőle a programban) törli a kijelzőt és a 0,0 pozícióba állítja a kurzort, felesleges azt újra beállítani oda.
(#) kkrisz75 válasza Bakman hozzászólására (») Márc 11, 2016 /
 
Az csak gombnyomásra írja át. Sajnos a kocsiban a refi, elektromos ablak végállás, duda és a régi táp nem szerette egymást és kilőtte az LCD kiírását, mikor esett egyet a fesz(nagyobb kondis sem oldotta meg, lehet fesz tüske is került oda ami kilőtte. Ilyenkor egy gombnyomásra újra start és törlés, majd kiírás.

De bár nem biztos elég átlátható, de csak azt írja ki újra és újra (100ms), ami változik. a konstans feliratok nem változnak.
(#) Bakman válasza kkrisz75 hozzászólására (») Márc 11, 2016 /
 
Minden kiírás előtt törlöd a kijelzőt és újraírod az egészet. tulajdonképpen a hiba szempontjából mindegy, készíts egy tesztprogramot, amiben csak ADC érték kiírás van és LCD kezelés. Az ADC beáálításoknál a referencia feszültséget hagyd 5 V-on, te tudod, hogy 1023 az tulajdonképpen a külső referenciafesz. értéke.
(#) kkrisz75 válasza Bakman hozzászólására (») Márc 11, 2016 /
 
Igazad van, egy próbát megér.

Van úgyis egy teszt verzió, ami a ledeket teszteli, abba bele rakom és kikapcsolom a led tesztet.

Azon is gondolkoztam nem-e az a hiba, hogy a másik analóg bemenet meg nincs használva de meghívja. Vagyis lényegébe csak kondi húzza testre, de nincs bemenő jel. Azon is fix 1023-at ír ki.

Vagy amásik, ami 12V os táp oldalról jövő feszültség, egy 22kOhm és 10kOhm -os osztón keresztül megy be a AN5 re. Ott sem jót ír. Vagyis semmit nem mér, pedig ha változtatom a bemeneti 14-10 V közti feszültséget, annak kellene változnia. De meg se moccan. Se akkor ha 5V os VDD referenciát, se ha 2.5 +V referenciát adok meg.
(#) kkrisz75 válasza Bakman hozzászólására (») Márc 11, 2016 /
 
Ok, az ADC beállításnál úgy állítom be.
Holnap kipróbálom.

frissítés/törlés
Csak lapozás után töröl.

Ha lapot váltok (10 lap van), akkor az adott ékezeteket feltölti ramba (első többirányú elágazás), a másik többirányúban LCD1 makróban (pl) törli a kijelzőt, kiír mindent, majd az elágazás alján lapozás változót egyenlővé teszi a kiíratással. A következő ciklusban mivel a kettő egyenlő, már nem töröl és nem ír ki konstans szöveget csak a változó adatokat. (és a ram feltöltést is kikerüli) (Bonyolultnak tűnik, de nem az.)
(Ha lapot váltok, első körben töröl, kiír, majd, második körben csak felülírja kordinátán a szöveget/változó adatokat.

Ha van ékezetes LCD akkor ki lehet hagyni a ram feltöltést, ha nincs, mint most, akkor be lehet kapcsolni. (Első LCD európai volt abban volt ékezet, a mostani kínai karakteres és nincs ékezet. Ezért van külön elágazásban a ramfeltöltés és a normál program rész.

Ha elmegy a kijelző akkor, (felfelé gombbal újra indítja a kijelzőt, de következő ciklusban ha nincs gomb nyomva, akkor újra indítás nélkül fut le.)
(#) Kovabe válasza kkrisz75 hozzászólására (») Márc 12, 2016 /
 
Szia

Én nemrég szenvedtem meg egy hasonló problémával (reléket kapcsolgatok és vissza rugdostak). Minden mérő és táp vonalra tegyél párhuzamosan egy 5.1V-o zénert ami sorba van egy 22nF-es foliával. Szinte az összes zavart kiveszi.
(#) kkrisz75 válasza Bakman hozzászólására (») Márc 12, 2016 /
 
Na megtaláltam.

Ahogy javasoltad, csináltam egy csak ADC kiírásos programot
Amiben mind az INT és feszültséget jól írta ki.

A nagy programban megtaláltam, hogy az Viz_INT változó beolvasása után AN1 ről, később a Bemenő feszültség AN5 nél is ugyan ebbe a változóba olvastam az értéket ami ugye nem mér és 1023 az értéke.
A sorban a két változó V betűnél egymás alatt van, sanszos, hogy el kattintottam.
Vissza cserélve most minden jó.

Köszi a segítséget.
(#) SzT3 hozzászólása Márc 14, 2016 /
 
Sziasztok!

Következő lenne a kérdésem... mi a legegyszerűbb kommunikációs mód 2 PIC között?

Adott egy 2 AN bemenetes PIC az egyikkel egy hőfokot a másikkal egy V értéket mérnék!

Ezt szeretném elküldeni egy másik PIC-nek ami majd kiirja nekem egy LCD kijelzőre!

Visszalapoztam a forumot és Bakmannak valami hasonló hozzászólását láttam.

HA jol tippelem akkor majd valamilyen protokollal RX és TX lábon fognak kommunikálni!

Illetve vane különbség hogy kábellal vagy egy 433 adó -vevő modulal kötöm össze őket?
(#) SzT3 hozzászólása Márc 14, 2016 /
 
RS-232?
(#) kaqkk válasza SzT3 hozzászólására (») Márc 14, 2016 /
 
Miért kell két pic ??
(#) SzT3 válasza kaqkk hozzászólására (») Márc 14, 2016 /
 
Azért gondoltam 2 PIC re, hogy az első "leolvassa" az érzékelőket (elküldi a modulon) a màsodik PIC meg kiirja az LCD-re!
(#) SzT3 hozzászólása Márc 14, 2016 /
 
Vagy sima encoder decoder cél ic?
(#) Bakman válasza SzT3 hozzászólására (») Márc 14, 2016 /
 
Igen, kb. az RS232 (UART) protokollt a legegyszerűbb használni. Több lehetőséged is van az adatküldéshez, de két alapeset ven. Az első esetben a mérő PIC időnként egyszerűen elküldi az adatokat a vevőnek. A második esetben a mérő PIC várja a kijelző PIC adatkérését és csak a kérés beérkezése után küldi el neki az értékeket. Utóbbi a klasszikus mester-szolga (master-slave) páros. Azt már te döntsd el, neked melyik kell.

RS 232 esetén, ha nem nagy a távolság, még TTL-RS232 illesztő sem kell.
A hozzászólás módosítva: Márc 14, 2016
(#) kaqkk válasza SzT3 hozzászólására (») Márc 14, 2016 /
 
Evvel a nagy feladattal egy pic is röhögve elboldogul
(#) Bakman válasza kaqkk hozzászólására (») Márc 14, 2016 /
 
Gyakorlásnak viszont tökéletes feladat.
(#) kaqkk válasza Bakman hozzászólására (») Márc 14, 2016 /
 
Ez viszont tökéletesen igaz
(#) pucuka válasza kaqkk hozzászólására (») Márc 14, 2016 /
 
És ha a kijelző az ablak túloldalán van?
(#) kaqkk válasza pucuka hozzászólására (») Márc 14, 2016 /
 
Csinál mellé periszkópot?
Következő: »»   250 / 360
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