Fórum témák
» Több friss téma |
Sziasztok! Az mitöl van hogy ha ezt a programot átálitom 16f628-ra akkor az idő négyszeresére gyorsul?
Hibás órajelbeállítás. A Flowcode-nak is és a kontrollernek is meg kell adni, mekkora frekvencián megy az órajel.
Flowcode-ban a OneWire (DS...) az A0-ra van csatlakoztatva, Proteus-ban B5-re. DS1820-ról beszélsz, a Proteus-ban DS1822 van megadva. Flowcode-ban HS (külső kvarc) oszcillátor van megadva, Proteus-ban nincs kristály a lábakon.
Mellékletben a javított változatok.
Sziasztok
Fordításnál a kvetkező üzenetet kapom:
Mi a hiba?
Már műkdik a DS de a hibaüzenet még mindig fennáll. A program elején van egy timer, az miért zavarja be a DS-t?
Szia!
Mert a ds makrója tele van időzítéssel ami blokkolja a program futását, és a timer kiesik a ritmusból miatta. Ez miatt lehet hogy a pic sokszor le fog fagyni.. Vedd lejjebb ha lehet a timer időzítését hátha segít.
Az RS232 vételi megszakítás makróban van késleltetés, ott fordulhat elő aszinkron hívás a "delay_us" részre. Vedd le az értékeket nullára. A hibaüzenet megmarad, de a program jól fog futni.
A OneWire kommunikáció időalapú, a megszakítás pedig elvonja a kontroller figyelmét a pontos időzítéstől.
Már le vettem 2-re de még mindig adja a hibát viszont most nem látok tévesztést, így marad.
Itt pedig minden jól van beállítva. Vagy nem?
flow-ban a belső órajelet be kell állítani.
C-blokk osccon =0xadatlap szerint ;
Köszönöm szépen a fáradozásaidat . Most a Ds 1820 nem -1 mutat hanem 10 fokot .Próbáltam a hőmérsékletét följebb vinni de nem változik semmi . Továbbra is 10 fokot mutat a kijelző .Lehet ez a DS1821 hibája ? A polaritások helyesen vannak bekötve és az adat kábelen és a + vonalon is van egy 4,7K ellenállás.
Idézet: Rossz !Lehet egyszer helytelenül kötötte be és meghalt ... „Könyörgöm, döntsd már el, hogy milyen hőmérő IC-d van!”
Szia ez nem müködik. De én nem is találtam olyan leirást amit irtál. 16F628A-t nézted? Matrix oldalán azt irják hogy elvileg alapba 4Mhz megy, de 18F2620nál tökéletes volt 16F628A-n meg 4szeres sebesség.
Nem 16f628-nál. Annál tökéletes volt, de mig nem lett a 16-os addig azon probáltam
Akkor félre értettelek. Szóval a 18f ha nem állitok a kkor 1Mhz a 16f meg 4Mhz. Köszi igy már világos
![]()
A 16F628A-ban a belső órajel csak 4 MHz-en tud ketyegni, a 18F2620-ban pedig, beállítástól függően, 31 kHz - 32 MHz-ig az adatlap szerinti lehetőségekkel. Ha utóbbinál nem adsz meg semmilyen beállítást, akkor 1 MHz-en megy.
Igen. A timer2 200Hz volt állitva a 18f-e és ugy x=50 egy másodperc. 16F-be egy perc 15mp lett. De igy már világos hogy miért.
Nehezen de leesett.
![]() ![]() A hozzászólás módosítva: Okt 8, 2016
Bocsánat a sok kavarásért, de a szerkentyűre egyértelműen a Ds 1820 van írva . Semmi kiegészítés mit pl B. Csak DS 1820 . Köszi a segítséget ,legközelebb jobban figyelek a részletekre ! Tehát nem mindegy,hogy milyen DS építettem be .Köszi még egyszer a segítséget .Ellenorzók mindent a témával kapcsolatban. Holnap összerakom próbapanelon. Számíthatok a segítségedre ?
Igen, számíthatsz. Mivel a DS1820 a DS18B20 -hoz képest gyengébb felbontással rendelkezik, a Flowcode-ban ne 16 -tal hanem kettővel oszd a kapott hőmérsékletet. Előbbi 0.5, utóbbi 0.0625 °C-os lépésekben szolgáltatja az adatokat.
Most 85 fokot mutat.Osztottam 2 vel .Lehet,hogy a ds ***akodik? Rátettem a szkópot az mutatja a ds jeleit .Megvagyok lőve ! Fogalmam nincs hogy mit kellene csinálnom,hogy működjön ez a szerkentyű.
A hozzászólás módosítva: Okt 8, 2016
Ha állandóan 85 fokot mutat, akkor hibás lehet a bekötés. Bekapcsoláskor 85 °C az alapérték anélkül, hogy konverziót kérnél az IC-től. Esetleg a lépések nem sorrendje nem megfelelő.
Holnap utána nézek ezeknek a problémáknak. Nagyon szépen köszönöm a segítséget!
Sziasztok!
Megint egy problémával fordulok hozzátok. Két analóg bemeneten kellene mérnem AN0 és AN1. Ha 8MHz-ről járatom a PIC-et (külső kvarc) minden rendben, viszont ha bekapcsolom a PLL-t és 32MHz az órajelem, a mért értékek, kb a referencia feszültség 80%-a felett, elég nagy eltérést mutatnak a valós feszültségtől, valamint még a másik bemenetre adott feszültség is befolyásolja a mérést. A mikrovezérlő 18F26k80 a referencia fesz 4,096V de VDD-nél is ugyan ezt csinálja. Az AD kommunikációs sebessége FRC (még ez adja a legjobb eredményt), a beszerzési időt próbáltam 10-160-ig de nem igazán befolyásol semmit. A két bemenet mérése közé tettem 100ms késleltetést, alapban 20ms van, ez sem segít.
A családdal (... K80) valamiért nem működik rendesen az ADC a Flowcode-ban. Megoldás az, ha C blokkokkal olvasod ki az ADC értékét. Példa itt: Bővebben: Link.
Szeretnék pár adatot küldeni picről (18f2550) pc re usb-n . Van valakinek egy egyszerű példaprogramja az usb kezelésről ? 5 ös flow verziót használok fcfx fájl-t találtam de ....
|
Bejelentkezés
Hirdetés |