Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
10-10 órajelnyi. Alaphelyzetben az adatfogadás van beállítva, mielőtt küldés történik akkor van átállítva az RE DE 1-be . Próbáltam egész adatsorokat is küldeni, ezt ugye egy bufferben menteni, és onnan visszaküldeni, érdekesség hogy a lezáró 0-át csak egyszer az adatsor végén küldte el, viszont így se ugyanazt adta vissza mint amit elküldtem neki.
Próbáltam a hex ,bin, dec átváltosokkal játszani , hátha csak más kódban küldi vissza mint amiben érkezett, de nem találtam összefüggést. a 9. bit bekapcsolása és figyelése csak 1 próba volt , pont amiatt amit irtam is, hogy adatlapban írták hogy RS485höz szokták ezt a beállitást használni[18f2420 176.oldal.] Ugy nem is igazán akart működni, ezért visszaáltam a 8bitesre, illetve azóta megfejtettem az átalakítómban található ST ic tipusát is : S485EC . Ennek az adatirány beállítását a mögötte és az USB között lévő FTDI chip kezeli ugyanolyan módon hogy alaphelyzetben várja az adatokat és csak akkor vált küldö üzemmódba ha "termináltól adat érkezik" .
Kapcsolódva ehhez, milyen hosszú az RS485 kábel?
Jól értem, fogadás után azonnal átállítod az irányt, majd várakozol(lehet, hogy a 10órajel kevés.), majd választ elküldöd? Nekem 4mS-et kell várakozni 100m kábelnél. Bevallom bennem akkor alakult ki a kép, hogy nem érted a működést, mikor a 9. bitet beállítottad. Belátom, hogy elhamarkodott voltam, és nem kellett volna általános érvényű kijelentést tennem. A 9. bittel sokmindent meg lehet oldani, pl. nálam az jelzi a slaveknek, hogy cím van a vonalon, valamint csak akkor okoz megszakítást a Slavekben, ha a 9. bit 1. Ez jelentősen tehermentesíti a Slaveket, miután a sima adatok forgalmát észre sem veszik. Nyílván a protokol határozza meg, hogy ez a lehetőség ki van-e használva, és miután úgy láttam te írod a PIC programját, azt hittem ismered a protokolt. Ha a PC program beállítja a 9. bitet, akkor a PIC csak akkor reagálhat rá, ha az 1. Ezt gondolom nem vizsgáltad. De ne menjünk e felé, mert nem hiszem, hogy ez lenne a megoldás.
Jogos amiket írtál a 9. bitről, de azt hagyjuk is, mert biztos hogy nem az a megoldás.
A kábel épp most rövid, 2m USB hosszabító, onnan a PIC ig nincs 1m az összes vezeték. Kipróbálom az idő átírással. Maga a program jóval bonyolultabb adatlekezelést végez , és RS232ön szuperül is megy, de mivel a 485ös rész nem működött ugy ahogy akartam így szimplán azt vizsgálom hogy adok kapok ... és lám nem jót kapok vagy nem jót adok...
Amit veszel azt ellenőrizted, jó? Csak amit vissza küldesz az rossz?
Az az érzésem, hogy az elejéről lemarad pár órajelnyi bit a startjellel együtt és valahol belekap a vételbe az USB-s átalakító. Lehet, hogy lassan vált át vételre. Ezt megoldaná, ha próbából indokolatlanul sokat várnál. Aztán persze meg kéne találni azt az időt, ami a szükséges minimum.
Sziasztok.
Adott egy 16F877, amiben egy védett program található. Ezt nem lehet átmásolni egy üres Pic-be valamilyen megoldással?
Hali
Tudnal csinalni a RS485 reszrol valami kapcsrajzot? Nekem gyanus a fizikai megvalositas hibaja. En csinaltam halozatot 30 "slave" + PC mint "master" kb 100-150 meter kabelon es soha nem tevesztett. A masik PTZ kameravezerlo szinten RS485, a ket fellogatott kamera kozott kb 400 meter van es gyonyoruen mukodik. Azert kerdeznem ezt a fizikai kialakitast, mert a sodrott erpart le kellene zarni, kulonben reflexiok lepnek fel, es pont ilyen hibakat kepesek okozni.
Nem lehet -- epp azert vedett, hogy ne tudd kiolvasni...
Irni kell bele egy masik programot, es belemasolni. De ne felejtsd el bekapcsolni a "kodvedelmet"
Nem vagyok biztos benne hogy értem, de PC ről hogy küldesz 9 bites adatot ?
Ne haragudjatok, nagyon láma vagyok elektronikailag (ill. autóelektronikában nem). Bocs, hogy zavarok.
Olyan problémám lenne, hogy kellene nekem egy kis áramkör autóhoz, ami a motorhőmérséklet-jeladó gombám ellenállás-görbéjét változtatja meg bizonyos értékekkel. Ez egy NTC ellenállás. Ez etanol hidegindításhoz kellene. Aki tudna segíteni ebben, megköszönném.
Szia!
A 9. bit a 16C450 -ben a paritás céljára alakították ki, de lehetőség van fix értékű bit küldésére a paritás információ helyett. ld. 16C450 adatlapja LCR regiszter.
Szerintem ez itt egy kicsit OFF de mondjuk PIC-vel is megoldható a dolog sőt.
Tehát ha jól értem azt szeretnéd elérni, hogy amikor melegszik a motor több/kevesebb üzemanyag jusson az égéstérbe? Vagy van valamilyen eszközöd amivel tudod mérni ezt a görbét? Alap esetben csak az ellenállás van bent magában?
Hmm, valóban C++ builderben van a TComport komponensnek ilyen paramétere, te próbáltad már ezt com port megnyitása után állítgatni ? Azaz küldés közben ?
Először is, köszönöm, hogy foglalkozol a kérdéssel.
Igen az NTC-nek megvan a görbéje. Úgy néz ki, hogy -20C-nál kb. 4,7 Kohm, üzemmeleg motornál pedig kb. 500 ohm. Az a lényeg, hogy ennek az ellenállásához adjon hozzá több ellenállást, nem lineárisan (csapja be az érzékelőt). Programozható legyen, hogy éppen mennyi ellenálláshoz + bizonyos értéket adjon hozzá. Tudom, ez lámán hangzik, de ez a lényeg. Ezt a PIC-es megoldhatóságot az egyik ismerősöm ajánlotta, de mivel én nem tudom, hogy mi az, ezért írtam ide.
Szerintem egyáltalán nem láma dolog.
Csak személyes kérdésként érdekelne, hogy pontosan mire is lenne ez jó? Csak kíváncsiságból. Szerk.: Egyébként közben utána néztem a dolgoknak és van egy olyan lehetőség, hogy digitális potenciométerrel tudnád szabályozni csak az a gond, hogy ennek fix közei vannak tehát mondjuk 0 és 10KOhm között 256 lépésben tud szabályozni. Itt egy amelyiket néztem: MCP 41010 I/P Megy egy másik: Bővebben: Link (PDF)
Etanolos üzemeltetéshez. Az etanol hidegben kicsapódik, ezért többletbefecskendezés szükséges, melyet ennek az ellenállásnak a becsapásával lehet elérni, mivel szondajel hiányában előre beírt táblázat alapján dúsít az autó(m). Melegen nincs gond, mivel kicseréltem az injektorokat nagyobbra, a szonda így már tudja kompenzálni. A lényeg az, hogy nagy hidegben az első pár másodpercben kb. 50-80%-al növelje az ellenállást, majd nem lineárisan egyre kevesebb értékkel. Ha megjön a szonda-jel, akkor már nem is kell ez (Ez kb. 2-3 perc, amíg bejutok a munkahelyemre).
Most úgy van megoldva, hogy a jelvezetékre sorba van kötve egy 4,7 Kohmos potméter, s mintegy szívatóként használva fel kell húzni. Ezt kéne automatizálni, mert ez paraszt megoldás (mondjuk működik). Na, ez a digitális potméter nekem tökéletesen megfelelne. Nekem igazából 5 lépés is elég. Hülye kérdés, de ez kapható, vagy meg kell építeni? Jólvan google a barátom...
Ehhez elég lenne egy műveleti erősítő is, de az itt off...
Igen, meg lehet oldani PIC-kel, es szivesen segitunk, hogy megtanuldd a PIC programozasat es a hozza kapcsolodo aramkor tervezeset Olvasgatast es ismerkedest kezdheted watt vagy icserny oldalan is.
Köszi!
Nekem ez a digitális ellenállás szerintem elég is lesz. A többit majd kivadászom. Köszi a segítséget.
A korrekt megoldás az lenne(ha már PIC), ha egy PIC megmérné a hőfokot és az impulzust és annak megfelelően változtatná meg az ECU által kiszámolt időket, amivel az injectorokat vezérelné. Egy ilyen kütyüvel még a gyári injectorokat sem kell kicserélni és optimalizálni is lehetne hosszú távon az adagolást a tapasztalatok szerint. Be-ki kapcsolható, ha pl. tiszta benzint tudsz tankolni, sőt más keverésű üzemanyaghoz is lehetne hangolni.
[OFF]Én már terveztem egy ilyen megépítését, csak azért nincs még kész, mert nem merem betölteni az E85-öt a Hondámba, mert félek minden gumi alkatrész megdagad, tönkremegy benne. Ilyesmivel(nem autó, hanem gumi+alkohol) foglalkozom, láttam már ilyen esetet nem egyet és autóval kapcsolatosan is olvastam ilyet. Persze jó kérdés, hogy meg lehet-e spórolni egy AC pumpa árát a tönkremenetele időtartama alatt!? )
Sziasztok!
Help, mcc18 p18f24k22 --help-config > c:\lista.txt mi a syntax error? mert nem akarja végrehajtani és már falra mászok miatta
Azt elárulod, hogy mi a fene írja ki ezt a hibaüzenetet, valamint azt is, hogy mit szeretnél csinálni?
mcc18 -p18f24k22 --help-config > c:\lista.txt
Mintha ezzel lehetne megkérdezni az MCC18-tól, hogy az adott PIC-hez milyen konfigurációs beállításokat lehet használni.
Helló! Mitől lehet az hogy dspic30-ba mikor mplabal töltöm progit jó mikor a pic kit2 programjával akkor nem fut rendesen?
Sziasztok lenne egy olyan problémám, hogy 16F877-es PIC-en az RA4/T0CKI portot nem tudom magas szintre tenni a valóságban. (Szimulátorban működik.) A PIC új, a panelt átnéztem, és elektronikai gondja nincs.
Kiollóztam azt a részt, ami beállítja a portokat, és az A portot magas szintre is tettem. (Az adatlapot böngészve nem jöttem rá, hogy mit kellene még beállítanom.) Íme a részlet: START: PAGE0 clrf PORTA clrf PORTB clrf PORTC clrf PORTD clrf PORTE PAGE1 clrf TRISA ;PORTA as output movlw B'00111111' movwf TRISB ;PORTB as input movlw D'255' movwf TRISC ;PORTC as input movlw B'11001111' movwf TRISD ;RD0-RD3, RD6-RD7 as input, RD4-RD5 as output movlw B'00000111' movwf TRISE ;PORTE as input movlw B'00001111' ;set LHS justify, RA0-RA3 as digital movwf ADCON1 movlw B'10000110' ; movwf OPTION_REG PAGE0 movlw B'11111111' movwf PORTA IDE GOTO IDE |
Bejelentkezés
Hirdetés |