Fórum témák

» Több friss téma
Fórum » Folyamatábrás mikrokontroller programozás Flowcode-dal
Lapozás: OK   18 / 361
(#) kkrisz75 válasza (Felhasználó 15355) hozzászólására (») Jan 13, 2011 /
 
Igen, ahogy mondod...
Én voltam a h..lye mert ahányszor felvetettem a kérdést benne volt a válasz.

tegnap éjjel már nem jutottam el oda, hogy fel is ismerjem a tényt.

Kijavítottam és lám van ékezet.
Kicsit le tisztáztam a programot.
Ez mellett módosítottam, a frekvencia mérő alapján.

Teszt alatt jól mért csak 2x annyit mint amennyit kellett volna. Ha jól sejtem a dupla vizsgálat miatt a főprogramban. A felszorzást elfeleztem, és be tettem egy 100as osztás szorzást így 100asával lépked.

Megoldottam a jobbra igazítást is.
Makrókba tettem külön mindent, hogy átlátható legyen.

Szerinted ez elfogadható már így alapnak?
(#) kkrisz75 hozzászólása Jan 15, 2011 /
 
Két pic közt RS232 adat át vitel.

Az a bajom, hogy van egy 628A, amiben egy számláló 1 másodpercenként számol.
Azt a változó értékét küldi át a másik picnek(877A).

Működik, de ugrál.
Vagyis a másik pic-en az LCD-n kiírja a számot, de alapban 0-t mutat és néha fel villan a jó érték.
0-1-0-2-0-3-...

RX-TX lábak össze kötve ahogy kell.
(#) kkrisz75 válasza (Felhasználó 15355) hozzászólására (») Jan 15, 2011 /
 
De hogyan vesz 0-t?
Ha a változó értéke nem ugrál, hanem stabil akkor az kellene neki küldözgetni.

Vagy talán mikor nem küld akkor 0-nak veszi a másik oldalon a vevő?

Amúgy:
Nem kettő kell, hanem minimum 3. HA elég gyors.

Ha elég gyors ez a program 20MHz-en akkor 1 pic sebesség mérés, ledsor kijelzés, vízhőfok mérést el tudja látni. A másik fordulatszám, ledsor, benzinszint mérés, 3. pedig LCD-n kiír mindent és a teljes LCD-t vezérli. Nem egyszerű menüvel, és csinál egyebet is.

Jelenleg 2 pic-re koncentrálok, hogy jó legyen.

22ig számoltattam vele az jó volt, azon kívül, hogy váltogatja a 0-18-0-19-...
Próbáljam ki, mit csinál 255 után?
(#) kkrisz75 válasza (Felhasználó 15355) hozzászólására (») Jan 15, 2011 /
 
Csak nincs elég láb hozzá...
877A 40 lábú. Abból van már 2db-om.

9000RPM hez 10 láb és 9 láb kell a multiplexhez.
Nyomó gombok 5 Láb
Sebesség 10 láb és 4 láb
quartz, + és test, váltás jelzés, és az LCD kijelzés, és 2 AD bemenet.

Mindez 1 picben szép lenne, szerintem eléggé le is lassítaná. És bővítésre nincs nagyon lehetőség.

Ha megy az adatátvitel talán 2re le tudom csökkenteni, de ez sem biztos.

Meg amúgy is jó ha rájövök, ebben hogyan kell, mert máshoz is kellhet.
(#) kkrisz75 hozzászólása Jan 16, 2011 /
 
Képtelen vagyok össze hozni az adatátvitelt 2 pic között.

-------------------
Mégis sikerült....
(#) vilmosd válasza kkrisz75 hozzászólására (») Jan 16, 2011 /
 
Hali
Otletkent a nyomogombok kezelesehez. Itt a nyomogombokat 4 vonalon olvasom be, de csak egy vonalat hasznalok extrakent 4 gombhoz, mert ugyanazt a 4 vonalat hasznalom a kijelzokbe adatot irni. Igy a 2 kijelzo, es a 4 gomb osszesen 7 vezeteket hasznal. Termeszetesen a kijelzoknel hasznalom a dekoderbe epitett "latch" funkciot, es igy a dekoder eltarolja a kijelzendo erteket. Amikor van uj adatom, akkor ujra kiirom. Azert ha tennel fel valami kapcsolasi rajzot, lehet hogy talalnank modositasi lehetoseget kevesebb labbal megoldani tobb funkciot.

bio3.pdf
    
(#) kkrisz75 válasza vilmosd hozzászólására (») Jan 16, 2011 /
 
Köszi....

Nincs kapcsolási rajz, mert előbb mindent próba panelon tesztelek. A legvégén építem össze a adódó lehetőségek szerint.

-Meg van az LCD kijelzés.
-Pontos a fordulatszám mérés, és egyben a sebességet is ez az elven méri vagyis jó lesz az is.

A kimenetek mennyisége miatt kellett az adatátvitel, de úgy néz ki, hogy jó lett az is. 9600Baud-on, és a változókat Byte-ra állítva. Végül is a fordulatszámon kívül, minden 0-255 közé esik.

Bár a hőmérsékletet lentről akartam mérni -20tól, de kijelzésben csak 10led fogja 20-120 ig jelezni. Lehet első körben nem erőlködök minusztól mérni.

Bele gondoltam én is, hogy mást is fel lehetne használni kapcsolónak, de elfelejtettem a 2x10db ledet a hőmérséklethez, benzinszinthez. Vagyis semmi képen nem úszom meg 2 pic alatt. Még akkor is csak 10ledet spórolok, ha 8000ig jeleztetem a fordulatszámot. (Bár most még csak 6,5ig forog, de év végére 8,5 ig fog forogni. ott bajba lennék, újra kellene építeni.)

De megy az adat átvitel 255ig, annyit meg nem kell használnom. Az autó most max 180-at megy gps szerint. Amit sose használok ki többet.(Halál félelem már 160nál előjön)


De köszi, az ötlet jó...
(#) vilmosd válasza kkrisz75 hozzászólására (») Jan 16, 2011 /
 
Hali
Az LCD vezerleset is fel lehetne tenni az elobbi peldanal az adatvonalra, es csak 2 plusz vonalat hasznalna fel. A 74HC595 alkalmazasaval pedig 8-16-24 LED vezerelheto 3 vonalon. A vezerles SPI-hez hasonlo, de egyszeruen SW shiftelessel megoldhato. Hasznalhato LED, vagy LCD vezerlesehez.
(#) kkrisz75 válasza (Felhasználó 15355) hozzászólására (») Jan 16, 2011 /
 
Az EEprom meg van. Az alapján tárolom gombnyomásra eepromba a váltás jelzőt.

Közben túl léptem a dolgon, mert a 628ban lévő számlálót sikerült a 877ben olvasni és kiíratni.

A következő hiba ha 2 különböző adatot akartam át küldeni. mert olyankor tök mindegy milyen változó elnevezést adok minden értéken ugyan az a jel jön be.

Aztán próbáltam bontani. A 877 számol 3ig (Kimenet változóban) és az értéket el küldi 628nak.
Aki ez alapján dönti el mit küldene vissza a 3 adat közül. És a 3 feltételű elágazásnál a feltételtől függően küldi vissza hogy 1 vagy 10 vagy 20.

Elméletben jó, de gyakorlatban semmi nem jelenik meg.
(#) kkrisz75 válasza vilmosd hozzászólására (») Jan 16, 2011 /
 
Jók az ötletek, elhiszem.

De ha nem tudok vezetni nem sofőrt veszek fel, hanem megtanulok vezetni.

Nem megkerülni akarom az RS232 problémát hanem megoldani. Ha működik akkor elég a 2 pic. Csak tudjak több különböző adatot átvinni.
(#) vilmosd válasza kkrisz75 hozzászólására (») Jan 16, 2011 /
 
Idézet:
„Ha működik akkor elég a 2 pic”
Ha az altalam felvazolt megoldasokat alkalmazod, akkor eleg 1 PIC is. Meg regen a 16F84-esek idejeben csinaltam 4x 7szegmenses, hexa billentyus megoldast es meg maradtak labak mas felhasznalasra is, pedig az azert nem bovelkedett a ki/bemenetekben. Mondtam mar sokszor, hogy ezek a "ha nem ferek egybe majd rakunk melle masik 3-at" megoldasok csak novelik a probelmakat, de nem vezetnek a megoldashoz. Te itt kiserletezel vagy 3 honapja ezzel a folt hatan folt dolgokkal, es ez ido alatt azert mar bele tudtal volna jonni az ASM programozasba. Vannak itt mas emberkek is akik ASM-ben kezdtek es felnottek egyszer csak a feladathoz. Persze eloszor segitsegre szorulnak, de itt mindig vannak segitokesz emberek. Remelem a konyveket leszedted a konyvtarambol! Mert ha nem akkor surgosen potold, es olvasgassad szorgalmasan. Megegyszer a link.
(#) kkrisz75 válasza vilmosd hozzászólására (») Jan 16, 2011 /
 
Nincs folt hatan folt...

Először csak parsicban próbálkoztam. Ott sikerült tovább jutni, de lelassult az egész rendszer, így 4-5 picre lenne szükség. De azt nem kicsi bonyolult abban megoldani. Azt megismerni gyakorlati dolgok után is 1 hónapig tartott. Abban már meg van a teljes megoldás, de 5 pic kell, hogy ne lassuljon be.(Félre tettem végső megoldásnak )

Aztán kaptam ezt a programot 2 hete, és ott tartok mint annál. Nem kell 5 pic csak 2. Lényegében 2 dolog hiányzik.
Kommunikáljon több adat átvitellel, és még nem próbáltam a hőmérőt.
Minden más megy. 2 hét alatt. Hála a segítségnek. És a gyakorlati teszteknek.

Igen anno faterom is csinált teljesen analog alkatrészekből freki mérőt. Amikor még nem nagyon voltak IC-k sem. Eltelt 30 év. És 2 hét alatt ugyan azt tudja egy pic egy lcd, egy program a pic-ben közel ezred annyi tudással, amivel faterom rendelkezik. Lehet tudna ő is segíteni, meg kerülni a problémát, de megoldani biztos nem, már kérdeztem őt is, csak meg kerülni tudná az egészet. Pl csinálna egy fordulatszám mérőt analog analog hőmérőt, mindent... Az nem megoldás. (Ezért kérdezek tőletek, ti ismeritek a programot jobban, én tudom mit szeretnék.)

nem lehurroglak, és köszi a segítséget, meg kerülő megoldásokat, de mekkora program fut késés nélkül egy pic ben? Tudja valaki.
Elmondták parsicnál is hogy nagy program elfér benne. Ráterveztem mindent. Aztán Kiderült hogy 1 évet est késik ha minden megy. És kezdődtek a problémák. Mi lassítja, mekkora quartz kell, mennyi lehet 1 picben...

Most ebből tanulva csak annyit akarok, hogy egy pic elküldje a hőmérséklet értéket és a sebesség értéket a másiknak, amelyik ezt fogadja. És kész a teljes rendszer. Mert ami eddig benne van az nem lassítja. Ennél több nem kell bele ami lassíthatná.
Ha most megint 1 picbe teszek mindent, felépítem, és kiderül hogy nem jó, vissza jutok ide. Ha pedig jó, akkor bővítéskor jutok vissza ide.

Valószínű nem 3 hónapja foglalkozol elektronikával, így ismersz sok egyéb megoldást. Ha hiba van meg keresed, megoldod. Ha most beteszek másik IC-t mellé, hiba esetén nézek a fejemből, és ennyi.
Pic-hez komoly elektronika nem kell. Analog ic-hez kell. Ott komoly gondban lennék.
(#) kkrisz75 válasza (Felhasználó 15355) hozzászólására (») Jan 16, 2011 /
 
Az jó lenne, de azt nem akarom át vinni.

Abban mérem a fordulatszámot ami kiírat.
csak a sebességet és a víz hőmérsékletet kell átvinnem.

Rá akarok jönni, hogyan működik az RS232 ebben a programban.
(#) kkrisz75 válasza (Felhasználó 15355) hozzászólására (») Jan 16, 2011 /
 
Vicc, hogy nem megy...

Még délután a 628 ban lévő számlálót a 877es kiírta az LCDre...

Most semennyire se tudom újra írni azt a programot..
Nem mentettem (én hülye).
(#) kkrisz75 válasza kkrisz75 hozzászólására (») Jan 16, 2011 /
 
Le maradtam a módosításról.

Ez a két program ami nem megy.
Pedig mennie kellene.
(#) kkrisz75 válasza (Felhasználó 15355) hozzászólására (») Jan 16, 2011 /
 
Semmit nem csinál, csak számol 1-200ig másodpercenként és újra kezdi...

Azt küldi el 877nek.
(#) kkrisz75 válasza (Felhasználó 15355) hozzászólására (») Jan 16, 2011 /
 
Ez jó... ez számol....
Meg adod a fcf fileokat is?

Közben agyaltam újra... és előről kezdtem.
Küldéskor egyszer küldte el amit akartam így csak egy órajel idejére lehetett volna látni, olyan gyors szemem nincs.

Most kipróbáltam időzített ciklussal. 5sec után lép be a ciklusba ami elküld egy számot vagy szöveget.
A másik pedig folyamatosan vesz.
5sec letelte után kiírja ami át van küldve.

Most innen megyek tovább.
(#) kkrisz75 válasza (Felhasználó 15355) hozzászólására (») Jan 17, 2011 /
 
Az alap átküldés megy.

De egy számlálót már nem akar átküldeni.

628ban számol. 1/4-ed másod percenként 1et hozzá ad a "szamlalo" változóhoz. Mikor szamlalo értéke =4 akkor "adat" értéke 1 el nő és nullázza a "szamlalo"-t. Mikor eléri "adat" 200at akkor kinullázza magát Ciklusban adat értéke el van küldve.(Folyamatosan küldözgeti)

877 ezt ciklusban ismételve veszi és kiírja.

Eredmény a valóságban:
(Ezt írja ki statikusan, nem változik semmi)
Adat: 255

Miközben számolnia kellene...
Ha feltételbe teszem, mondván, hogy mikor nem jön adat akkor 255az érték és olyankor ne írjon ki, akkor semmit nem írt ki.

Nem értem... Ha folyamatosan küldök egy alap programban amiben nincs számláló, és folyamatosan fogadom akkor jó...
Most ugyan azt teszi, csak a kiküldés egy nem statikus szám, hanem léptetve van, de még sem jó....
(#) kkrisz75 válasza (Felhasználó 15355) hozzászólására (») Jan 18, 2011 /
 
A számláló jó volt....

A frissítés volt rossz.
(#) kkrisz75 hozzászólása Jan 19, 2011 /
 
Sikerült megoldani a kettős adat átvitelt.
Vagyis két külön adatot el tud küldeni vagy akár 3at...
De néha 1-1 alkalommal elugrik de vissza is tér.


Közben nézegettem az RS232 beállításokat.
Mire jó az a Hardware flow control. Az RTS, CTS kimenetek, vagy bemenetek. Mire jó?

Külön kimenet, amivel vezérelni lehet az adatküldés idejét?
Jó lenne mert akkor egyszerűbb az időzítést javítani.

Mire jó?
(#) enree hozzászólása Jan 20, 2011 /
 
Sziasztok!
Ezt az LCD-t hogyan lehetne működésre bírni a mellékelt progival?

Az első négy bit van bekötve RB0-Data Bit0, RB1-Data Bit1... stb. RW földön, RB4-RS, de semmi...
A háttérvilágítás megy, kontrasztot tudom állítani, programban rontottam el valamit?

proba.fcf
    
(#) Valteri válasza enree hozzászólására (») Jan 20, 2011 /
 
Szia!
Rossz az LCD bekötése.
Négybites módban a felső négy bitet használjuk az LCD-n.
RB0- Data-bit 4
RB1- Data-bit 5
RB2- Data-bit 6
RB3- Data-bit 7
(#) enree válasza Valteri hozzászólására (») Jan 20, 2011 /
 
Szia!

Köszi, értem. Akkor csak ez a négy és RW földre, ennyi?
Üdv:
E.
(#) Valteri válasza enree hozzászólására (») Jan 20, 2011 / 1
 
Meg az Enable az RB5-re.
(#) enree hozzászólása Jan 20, 2011 /
 
Nagyon köszi, boldogság van
(#) kkrisz75 válasza kkrisz75 hozzászólására (») Jan 21, 2011 /
 
Urak...

Lenti hozzászólásomra tudtok valami választ?
(#) vilmosd válasza kkrisz75 hozzászólására (») Jan 21, 2011 / 1
 
Hali
Ez biztositja, hogy ha a vevod foglalat, akkor az ado var az adatok elkuldesevel, es vica versa. SW HW Flow Control. RS232 leiras.
(#) kkrisz75 válasza vilmosd hozzászólására (») Jan 21, 2011 /
 
Jó lehet a leírás, de komoly angol tudásommal a harmadát sem értem. Csak részeket...

----------------
gugli fordító a barátunk...

Már értem nagyjából....

Lényeg, hogy nem arra való amire én gondoltam.
(#) vilmosd válasza kkrisz75 hozzászólására (») Jan 21, 2011 /
 
Az elso az angol tudas az elektronika vilagaban! Rajottel, hogy angol nelkul sokkal kevesebbet lehet elore haladni. Amugy handshakinget lehet csinalni SW-ben is. XON-XOFF modszerrel. Ugyanott emlitik ezt a modszert is. Nem kell hozza extra HW. Egyes terminal programokban be lehet allitani ezt a modot is.
(#) kkrisz75 válasza vilmosd hozzászólására (») Jan 22, 2011 /
 
Amúgy magyarul is megtaláltam mostanra ezeket. Hál istennek vannak akik a magyart többre becsülik, amúgy is szebb, gazdagabb nyelv...

Jelen pillanatban már késő van, de maradt pár plusz lábam, amivel elméletben meg tudom vezérelni az adat küldést fogadást.

Lényegében vevő küld egy jelet az adónak, hogy most küldje és küld egy másikat mikor megérkezett. Ismét küld jelet, hogy a következő adat is jöhet, és szintén vissza igazol, hogy megérkezett.

Holnap a gyakorlatban kiderül....
Következő: »»   18 / 361
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