Fórum témák
» Több friss téma |
A klónok CH340 Soros-USB illesztőjének drivere (Letöltés)
Néha, de a gyakorlatban nem lesz 5 percenként újra programozva.
De nem csak programozásnál van ez, ha simán bedugom, akkor is. Itt pont erről van szó.
A hozzászólás módosítva: Júl 15, 2015
Ezt találtam legegyszerűbbnek, de nincs itthon csak 1000 vagy 10 µF-es kondim, az is jó?
A hozzászólás módosítva: Júl 15, 2015
Inkább a 10u, az 1000u-óst fel sem tudja tölteni az USBtáp.
Kipróbáltam, így sem jó, lehet, hogy kicsi a kondi... Neked nincs ilyen problémád?
Miért kell fél tápig felemelni a reset lábat?
A 2 darab 10k ellenállás pont feszültség osztót alkot. Bekapcsolás pillanatában a kondenzátor rövid zár(így testre húzza a portot) majd elkezd töltődni 3,3/2 Vig és úgy marad a Reset láb . Lehet , hogy a földre menő ellenállás nem kell? H vagy L szintre resetel a processzor? 3.3V tápnál mekkora az L és H szintek határ értékei feszültségben? Ezeket kellene megnézni és erre méretezni az áramköri elemeket. A hozzászólás módosítva: Júl 15, 2015
No itt szépen látszik az , hogy nem igazán jó a féltáp 3,3 V esetén mert az egyik szint sem.
H se meg L se ... libeg a kettő között. 3,3 V logika szintjei
Akkor mi a megoldás?
Most néztem a schematicot, a Reset lábat 1K keresztül vezérli a mega16U2-es.
Ha teszel oda 1 ilyen erős késleltetést? Nem fogod tudni programozni!
Mint már említettem , megnézni a uC adatlapját, azon rajta van a RESET lábának helyes statikus és dinamikus működtetésének adatai.
A DUE panel reset láb áramköri környezetének visszafejtése (áramköri elemek vezetékezésének kirajzolása) után a megfelelő R C esetleg D T elemek beépítése. A hozzászólás módosítva: Júl 15, 2015
Ebből nem derül ki semmi extra infó. Rakjál pár ezer µF-ot a tápra, és próbáld meg, akkor is reszetel-e. Mikor indul újra? Relé behúzáskor? Vagy véletlenszerűen? Meg kellene nézni, hogy mi okozza.
Ha nagyon profik vagyunk akkor külön IC-re bízzuk :
TI reset áramkör
Most itt már mindenki másról beszél... Nem indul újra, hanem az a baj, hogy ha bedugom az áramot akkor nem indul el a program csak ha nyomok egy resetet. Utána olvasgattam és ez tipikus due betegség.
uC adatlap : Atmega16U2
5.dik oldala majd a RESET et taglaló hivatkozások követése 47dik oldal 48 267 oldAL. Majd ezek értelmezése ... A hozzászólás módosítva: Júl 15, 2015
Nem ... egyről beszélünk ... csak körbe kell járnod problémát a megoldáshoz.
Próbálok segíteni ha már a tervezők vagy az utángyártók kissé elhanyagolták a resetet.
Gyárilag csak reset gomb <->10n <-> 3.3V ennyi szűrés van beépítve?
Ez inkább a gomb prellezését szűri csak. Valószínű rádugtad az W5100-est az is innen kapja a reset jelet? És ott sincs szűrés. De a 220u elhibázót megoldás! Inkább Reset - 220n kerámia a GND-re, és R10-22K a 3.3V-ra. A hozzászólás módosítva: Júl 15, 2015
De én nem neked válaszoltam...
Ezt nem tudom most kipróbálni, mert nincs itthon 220n-os kerámia kondim, csak 100-as, azzal nem megy, 220-ast vennem kell... És kovidivi bocsi, csak telón kicsi volt, és nem láttam
Ha kettőt párhuzamosan kötsz már meg is van.
Hogy te milyen okos vagy és van is itthon kettő, de sajnos így sem jó...
Sajnos ezt megelőzően igencsak a régmúltban foglalkoztam a C nyelvvel, sok dolgot elfelejtettem, most meg hirtelen nem találom.
Hogyan lehet a következőt strinként kezelni, konkrétan kiíratni a "println" függvénnyel?
(Grafikus képernyőhöz megpiszkáltam a kódtáblát, legyenek benne ékezetes karakterek.)
Na egyenlőre hagyjuk ezt a reset problémát, majd kitalálok valamit, még az adatok olvasásában kéne akkor egy kis segítség. Tehát az a lényeg, hogy a weboldal felől jövő adatok egy c stringben vannak, és ebből kéne az adatokat kiolvasni. pl.: jelszo=1234&port=80... Ebben kérnék egy kis segítséget. Előre is köszi!
Az a baj nem tudom semmihez kapcsolni az újraindulást, gondol egyet és újra indul, valamikor egyáltalán nem valamikor egymás után 3x is random jellegű a dolog.
Az aurduinot én usb keresztül táplálom mivel nem volt itthon olyan szerelhető csatlakozóm ami kell a panelhez. Lehet, hogy az usb-n keresztül szedd össze zavarokat ami újraindítja a programot? (ferrit gyűrő segíthet?) Csatoltam a kapcsolási rajzot hátha segít valamit.
Szia! Nekem nem jött elő a reset probléma amit írtál. De ha mégis aktuális lesz: 3 alkatrész kell.
10k felúzó ellenállás a 3V3-ra, 10uf kondi a GND-re, és a közös pontot egy pici schottky diódán keresztül kell a reset-re kötni. A dióda katódja nézzen a kondi felé.
Dominik, kapu48: köszi a segítséget, kiderült, hogy nem a lib-ek okozták a fagyást, hanem egy érdekes programhiba, ami csak a due esetében jött ki. Most működik a gyári SD libbel , és a gyári ethernet lib-el, csak a w5100.cpp-be kellett az alábbi sor (dominik ötlete alapján):
#define SPI_CS 10 A fagyás oka pedig röviden: a char tipusú változót az AVR panelek esetén előjelesen kezeli a fordító, DUE esetében pedig előjel nélküliként. Nekem meg volt egy ciklus a programomban, ami negatív érték esetén fejeződik be, és ez a DUE-ra fordítva sosem teljesült. A char c; deklarációt signed char c; -re kellett cserélnem. Sajna a webszerver nem sokkal lett gyorsabb, úgy tünik nem a memória és a processzor volt a korlát, hanem valószínűleg a w5100 és esetleg az SD kezelése (ill. az SPI sebessége - tényleg az gyorsítható?) Amúgy elérhető a szerver most is (már a DUE-n fut) Bővebben: Link
Dominik:
Nekem a MEGA esetében akkor csinált reset-nél jelentkező furcsaságokat, amikor olyan ethernet modult kaptam aminek az SPI kivezetése rövidebbek voltak mint a többi láb - és mint kiderült nem mindíg érintkezett jól. A kontakthiba megszüntetése óta a resettel sem volt gondom.
Érdekes, meg fogom próbálni azt a megoldást, amit írtál a resetre, de azt olvastam, hog ez due betegség... Elméletileg az spi-t lehet gyorsítani valahogy, de ne kérdezd, hogy hogyan. És ha megkérlek amit írtam, az adatok olvasásában segítenél?
Utánanézegettem, és az spi húzására ezttaláltam: SPI.setClockDivider(10, 255); én kipróbáltam, és gyorsabbnak tűnik, de nézd meg te is.
Sziasztok!
Az én újraindulásomra nincs valakinek valami ötlete? Köszönettel Laci |
Bejelentkezés
Hirdetés |