Fórum témák
» Több friss téma |
Így tettem.
Definícióhoz nem nyúltam.. Tasznka: Analóg részhez nem nyúltam. De gondolom a gomb nem analóg, hanem digitális, de megnézem.. A hozzászólás módosítva: Okt 19, 2016
Eszméletlenül örülök mint egy kisgyerek csokimajszoláskor.
Sikerült mentesülnöm a párhuzamos kábeltenger_hardveremtől mivel felváltottam soros megoldással és most a 18F46K22 szolgáltatja a szükséges jeleket mint eszközprogramozó. Vcc IRQ RESET és a soros kimeneteket könnyedén tudom prezentálni. Épp most lettem kész és MC68HC908 as motorolára az imént írtam flash állományt sikerrel. A programozók javarésze csak az eepromot tudja írni. muszály volt megoldanom háztájiiban. A PC programom át kellett alakítani a PIC re csak egy kis kezelő progit írtam. Lényegében ezen van 3 üzemmód, melyeket a RS232 RTS DTR el kezelek és ezeket a megfelelő helyeken figyeli a PIC. 1.mód itt a portB bármilyen változásakor soros értesítést rövid csomagban küld illetve a USART2 inputra is szintúgy. E módban PC ről USART1 re küldött 1 byte a szükséges kimeneteket állítja most elég volt 3. 2.mód RST fel ekkor PC ről küldhetek 5 byte ot, ami a belső órajelet és az USART1 és 2 baudrate-t állítja. Itt vigyáznom kell, hogy az USART1 et hagyjam meg változatlan különben át fog állni és a következő PC byte értelmetlen lenne, ha a PC nem áll át. Ezután vissza állhatna 1. módra és másképp ketyegnek a dolgok. Itt 1-5 ig teszőleges üzenet érkezhet a PC től az RST vel bármelyik után ki tud lépni, de ha beérkezik az 5 byte üzenetben értesít, hogy többet ne küldjek. 3.mód DTR fel ez csak arra van hogy mindent visszaállít kezdetire és pár fontos regből üzenetcsomagot küld. Minden lényeges helyről értesítést küld és a 3 LED mutatja melyik módban vagyok. És hogy ezt elkezdtem építeni/tervezgetni csakis az itteni segítségekkel valósult meg. Ha Hp41C pár hónapja nem írt volna ezt azt hol lettem volna most ? Köszönöm! A hozzászólás módosítva: Okt 19, 2016
Idézet: „Így tettem. Definícióhoz nem nyúltam..” Idézet: „Áttírt kód: (eredeti kommentelve)” Idézet: „#define mInitSwitch2() //#define mInitSwitch3()” Idézet: „#define sw2 //#define sw3” ![]() A hozzászólás módosítva: Okt 19, 2016
Filozok optikai adatátvitelen.
Például simán ráküldeni egy spi port kimenetet, meg órajelet optikára, és a visszaérkező jelet is azon vinni. Valamennyi csúszása biztos lesz úgy az időzítésnek, de nem kell, hogy gyors legyen, és a kicsi sebesség elbír valamennyi csúszást. Ami a sebesség helyett kell, hogy galvanikusan leválasztott, közvetlen kommunikáció legyen, és frekvencia generátorral meg kondenzátorokkal játszadozni sem sokkal egyszerűbb, mint optikával. Ha valaki interface-elt már optikai adatátvitelt mondjuk soros porthoz akár, kérnék pár tippet, hogy szerelési anyagokat milyen áron / minőségben lehet beszerezni, és honnét. Előre is köszönöm. A hozzászólás módosítva: Okt 19, 2016
Ebből már nem mászom ki, de a lényeg, hogy nem írtam át a definiált megnevezéseket, csak a PIC PIN-eket, abból is csak annyi történt, hogy a LED-es visszajelzést nem használom, illetve az eredetileg E7, E6-ra rakott gombokat áthelyeztem E8-ra.
Szóval csak ennyit tettem, de ez elég volt ahhoz, hogy ne működjön..
Srácok PIC32MX795-nél a AD1PCFG-vel tudjuk változtatni az analog/digitális bemeneteket.
A kérdés, hogy akkor analóg e ha 1-re van állítva, vagy akkor ha 0-ára? Én így használom:
Mikor van minden láb digitálisra állítva? Már megkeveredtem. Köszi előre is. Idézet: „A kérdés, hogy akkor analóg e ha 1-re van állítva, vagy akkor ha 0-ára?” Adatlap a barátod: "Setting the corresponding bit in the AD1PCFG register = 1 enables the pin as a digital pin." Tehát 0: analóg, 1: digitális mód. Idézet: Nagyon zavaros számomra ez a történet!„az eredetileg E7, E6-ra rakott gombokat áthelyeztem E8-ra.” - Két gombot hogy raktál át egyre? ![]() - Az alkalmazást módosítottad, vagy a bootloadert, netán mindkettőt? - Melyik bootloadert használod? Az AN1388-ban ismertetett bootloader történetesen pont azt a Switch3-at használja, amelyet a korábbi hozzászólásod szerint kommentbe tettél.
Akkor ezt jól értelmeztem..
Természetesen az adatlapot használva jutottam el idáig én is, de gondoltam megkérdezem, mert már nem tudom mire vélni a hibás működéseket..
Közben meglett a hiba..
Vagy is nem volt hiba, a hiba bennem volt. ![]() Módosítottam a bootloader programot, de soha nem a módosított hex állományt töltöttem be a PIC-be ezért nem volt hajlandó úgy működni ahogyan én akartam. ![]() Most vettem észre, hogy mindig a gyárit töltöm be. Betöltöttem a módosítottat és azonnal működik ![]() Köszi a rávezetést srácok.. Már csak a 68K + szintillesztő + memória párost kell megoldanom, mert egyelőre hiába vezérlem én a megbeszélt módokon, semmi változást nem tudtam elérni..
Sziasztok!
Használta már valaki a PIC beépített műveleti erősítőjét? Nekem eddig nem sok sikerem volt vele. Működni működik, de néha "kiakad".
Sziasztok!
Szerintetek hogyan tudok javítani ezen a nyákon? A gond az, hogy a tápfesz figyelő lábra valahogy az elemről is elmegy a feszültség egy része. 1,7 V körül van a lábon és ezért nem megy sleep-be hiába kapcsolom ki a tápfeszt.
Lenne még egy dolog hátha valakinek lenne jó ötlete.
Bizonyos eszközökkel kommunikáció alapból lassú biztonságos sebességgel megy ezekkel itt nincs is gondom de van amikor nagyobb állományt kellene lehoznom róla és ahogy növelném a baudrate a két beszélgető eszközön leáll valamelyik nem érti meg a másikat viszont a PC oldalon úgy van megírva hogy folyamatosan próbálkozik és ha ekkor növelem a soros csatorna feszültségét egyszer csak elkapja és megy. már használtam BC547 és 546 ot is mindkettővel ez fennáll. Kline ról írok ez alapból 9V-10.25V között használom de amikor ez van símán 12 13V ig fel kell tekernem. A max232 után mit ajánlotok, hogy már 9-10.25v nál is a jel 57600bps felett is hibátlan forma legyen ? Még nem jöttem rá, hogy amit kiküldök azt nem érti vagy megérti és az ő válasza a max232 PC oldalára síri csendet jelentsen. A BC tranyók helyett próbáltam már N-csatornás Mosfet et is nem lett jó eredmény. Jelen pillanatban 5V tól tudom tekerni 15V ig, de a megoldás az lenne, ha nem kellene állítgatni a sebesség miatt A BC546 leírását nézve nem kellene gondot okoznia egy 57600 bps tempo.
Próbálj egy diódát sorba kötni a figyelő ellenállással. Lehet az egészet érdemesebb lett volna úgy kialakítani, hogy az egyéb alkatrészekhez külön menő 5V-ban is benne legyen egy dióda mert így a gombokról pont egy diódányival nagyobb feszültség jön vissza, mint a PIC tápja, amit a bemeneteken levő védődióda vezet el. Ez a dióda megakadályozná a elem feszültségének visszahatását a tápra, így a dióda előtt lehetne figyelni a táp meglétét.
Sziasztok.
Ez a két beállítás így megegyezik vagy valamit nem jó állítottam be?
Az első sort még egy régebbi fordítóra írták, a forrás innen az oldalról származik. Az MPLAB X Ide 3.40 ezt a configot nem fogadja el mert ennél már kézzel kell beállítgatni a config biteket. Ha ki kommentezem az első sort akkor lefordítja hiba nélkül de a config bitek nem biztos, hogy jók. Idézet: „INTIO -- FOSC = LP” A régi belső órajelet választ ki, az OSC1 és OSC2 digitális I/O -- az új LP oszcillátort. Idézet: „WDTDIS - WDTE = ON” A régi letiltja a watchdog -ot -- az új engedélyezi stb.. Nyisd meg a projectet, keresd meg az include könyvtárakban a <kontrollertípus>.inc állományt, lapozz el a konfiguráció bitekhez. Itt megtalálhatod mit mire kell állítani, hogy azt a konfigurácuót kapd, amit a régiben használtál. A hozzászólás módosítva: Okt 21, 2016
Hát bavallom őszintén nem nagyon értem, hogy hol megy vissza az elemről a feszültség az ellenállásra, meg a Te javaslatod sem igazán értem, mármint, hogy miért jobb. Direkt azért tettem a diódát közvetlenül a PIC mellé, hogy nem tudjon másmerre utat találni, de valami nem jött össze.
Szóval beraktam még két diódát, de sejtésem szerint nem kell csak az egyik. Az egyik a tápszűrő kondi mellett, a másik az LCD bal oldalán van.
Milyen távolságról, milyen kábelezésről, és milyen adatmennyiségről van szó?
A hozzászólás módosítva: Okt 21, 2016
Szia!
A tranzisztoros RS232 szintillesztés maximum 9600 .. 19200 baud is használható rövid kábel esetén. A problémát az okozza, hogy a hosszabb kábel kapacitása és a meghajtás módja (csak az egyik szintnél van alacsony meghajtó impedancia) eltozítja a jelet. Használj max232 -t vagy 3.3V -nál is üzemelő max3232 -t: Idézet: „The devices operate at data signaling rates up to 250 kbit/s and a maximum of 30-V/μs driver output slew rate.”
Szerintem máshol lesz a hiba. Ha kiveszem a PIC-ket a foglalatból, akkor nincs feszültség az ellenálláson. De ez mitől lehet?
A hozzászólás módosítva: Okt 21, 2016
Így gondoltam. Kell egy kis idő míg kisül az 5V kondija, bár ez terheléstől is függ.
Hát ez így nem fog menni, ehhez át kellene tervezni a nyákot. Viszont, mint fent is írtam ha nincs benne a foglalatban a PIC az ellenálláson nincs feszültség, tehát nem a diódákon keresztül jut el a feszültség a figyelő ellenállásra.
A PIC-ben levő védődiódákra gondoltam, ami nem engedi, hogy egy lábra a tápnál magasabb feszültség jusson.
De nem pont így jut nagyobb feszültség az RA0-ra mint a táp?
Na most ha ugyanezt a cuccosomat (Kline)
letekerem 5 V ra és ilyen eszközzel beszélgetek,ami Logic-1 5V Logic-0 0V akkor nincs gond a nagy sebeségekkel pld van amin 125000Bps el ketyegek, de ha feltekerem 9 és 10 környékére és 9Voltos Kline eszközzel nyomatom akkor valamelyik nem érti a másikat nem hiteles üzenetek érkezhetnek. de hurokban pörgetem (bombázom) poti feljebb és megy. Ha tranyók nélkül directben MAX232N vagyis a 9.10 pinnel dolgozok nagy sebeségnél nincs gond sőt ha a 10.pinre diódát teszek hogy ha a küldő eszköz leviszi a jelet akkor a max232 5V ját leviszi 0 ra ekkor is jó. viszont ha a 9.pinre 2 tranyós át és visszafordítósan 9V Kline ra emelem, akkor ha a 10.pinre 1:1 ben a Kline csatornát rákötöm még jobb, mintha diódát teszek be, akkor ugyanis kommunikációs értetlenség hamarabb jelentkezik talán még 31250BPs alatt. Van olyan illesztő chip, mint a max232 csak 10V magasságába tartaná a jelszintet LOGIC-1 nek ? esetleg nem is 5V voltból lélegezne ? Jelen pillanatban nem tudom annyira feltekerni, hogy 60000Bps magasságában is jó legyen a felénél van a plafon most. Kössz
De igen. Ezért kell az ellenállás, hogy korlátozza az áramot. Nagy áram amúgy sem alakulhat ki mivel ott is egy dióda van, tehát nem lehet nagy feszültségkülönbség, de biztos ami biztos.
És el is küldöd, amit írtál?
![]()
Ha a MAX232 V+ (2) lábáról a kondenzátor a Vcc (16) lábára megy, akkor a kimeneti szintek +9..10 / -9..10V voltosak lesznek. Van más meghajtó is, de azoknak két serédfeszültség kell az RS232 szintek kialakításához és általában két fajta áramkör kell az adáshoz és a vételhez:
MC1488 (adó) és MC1489 (vevő), MC14C88 (adó) és MC14C89 (vevő), SN75C188 (adó) és SN75C189 (vevő), SN75150 (adó) és SN75154 (vevő) Esetleg egy tokban : ST75185C
Hogy ne értsük félre egymást
a max232 7.8. PC oldali -9 Logic-1 +9V Logic-0 val nincs gondom és a túloldalról beszélek ami +5V Logic-1 0V Logic-0 erre kérdeztem mivel lehetne megoldani, hogy egy IC ből már ez +9~10V körüli szintet tartson Logic-1 nek és 0V ot L.0 nak 1 segédfesszel. Nincs ilyen 12V osan ? Nyílván akkor nem RS232 TTL illesztő neve lenne. A hozzászólás módosítva: Okt 22, 2016
|
Bejelentkezés
Hirdetés |