Fórum témák
» Több friss téma |
Uraim, valaki meg tudna erősíteni?
A 12F629 és a 12F675 teljesen kompatibilisek, azon kívül, hogy a 675-ösben van 4db 10bit-es ADC? Előre is köszi..
Egy adatlapjuk van. A 675-ösben (és sok kontrollerben is) csak egy ADC van.
Igen, azt látom, hogy egy adatlap van és csak az ADC ami különbözik.
Ha az nincs használatban ADC 629-ben, akkor simán futnia kell a programnak 675 is igaz? Legalább is én erre következtetek...
Yes. Én is így látom.
A hozzászólás módosítva: Dec 11, 2016
Idézet: Egy dologra azért ügyelni kell, amibe kezdőként én is belefutottam annak idején: PIC12F675 és PIC12F683 esetében az ANSEL regisztert is törölni kell ahhoz, hogy zavartalanul fussanak a PIC12F629-re írt programok. PIC12F629-ben értelemszerűen nincs ilyen regiszter, így nem gondol rá az ember, azután meglepődik ...„Ha az nincs használatban ADC 629-ben, akkor simán futnia kell a programnak 675 is igaz?”
Uhhh, ez igaz.. Erre nem is gondoltam... köszi, hogy szóltál..
Idézet: „Egy ellnállás egy potenciométer és egy kondenzátor segítségével megoldható a finomabb "mérés" is.A potenciometer egyik oldala az ellenálláson keresztül a Vdd -re van kötve, a csúszkája egy kétirányú portra és a kondenzátorra. A kondenzátor másik kivezetése a Vss -re megy. Kimenetnek és alacsony szinre állítjuk a port lábat egy időre - kisütjük a kondenzátort. Bemenetnek állítjuk a port lábak és időmérést indítunk. Az időmérést akkor éllítjuk le, ha a port lábról magas szint olvasható be. A mért időből "számítható" a potenciométer ellenállása. A megoldás kombinálható a komparátorral is.” Szóval ez c-ben úgy néz ki, hogy meghívok egy függvényt, ami egy időváltozó szerint állítja tris regisztert, valamint földre húzza, majd t1 után átdobja a kimenetet inputra, elindít egy számlálót, majd mikor a bemenet átbillen, akkor az időből visszaszámol, számláló változóját nullázza, trisregisztert visszarakja inputra, majd kezdődik előről? Milyen reális felbontás érhető el ezzel a módszerrel, ha finomítom a függvényt mennyire "pontos" eredményt lehet kapni? U(t)=Q×R/t képlettel közelíthető? (t=R×C-ből visszaszámolva (remélem jól), Q×R=Const.) A hozzászólás módosítva: Dec 12, 2016
Nem enged szerkeszteni, input-outputokat kicsit bekavartam. Szóval kezdi egy kisütéssel, földre húzott outputtal, majd komparátor input, majd vissza
Sziasztok )
mikroC be hogy kell használni OneWire Library-et??? És miben kapom meg az eredményt (kell vele m ég büvészkedni vagy egyböl a celzius kapom meg)??? link
Uhh kimaradt (már nem tudtam szerkeszteni)
PIC16f628 képes OneWire ???
Bármelyik képes, mert az 1wire szoftveres megoldás, nem hardveres.
MikroC -ben nyomsz egy F1 et. Ott kikeresed a leírást. Még kapcsolási rajz is van hozzá meg példa is. Szépen le van írva. Én MikroPascalt használom de a lényeg ugyan az. Megnézed a DS18(B)20 adatlapját és abban megtalálod milyen formátumba küldi az adatot. Azt neked kell feldolgoznod.
A MikroC OneWire Lib -je csak a kommunikációt biztosítja. Valóban a leggyakoribb alkalmazása a hőmérséklet mérés , de sok más is használja ezt a kommunikációt. Ezért nem °C a függvények eredménye.
Valamit próbálok ügyködni
Amit kültem link abba a RESETEt mire használom és mikor??? Read azzal természetesen az adatokat olvasom ki Write az mire jó???
Ez mind benne van a DS18B20 adatlapjában. Azt olvasd végig!
5 oldal megtaláltam csak hogy kell ezt olvasni????
mint 2 --> 10be váltanék át???
Angolul...
A DS18B20 adatlap 10. oldaláról: Idézet: „All transactions on the 1-Wire bus begin with an initialization sequence. The initialization sequence consists of a reset pulse transmitted by the bus master followed by presence pulse(s) transmitted by the slave(s).” Ami ennyit tesz magyarul: Minden az 1-Wire buszon történő tranzakció egy inicializáló szekvenciával kezdődik. Ez az inicializáló szekvencia egy RESET pulzusból és az azt követő presence pulzusból (amit a buszon levő eszközök adnak ki) áll.
Ha jól gondolom RESETelem majd kiolvasom....
A 1-Wire buszon egy master (főnök) és többg slave (eszköz) lehet.
A tranzakció a követketzőképen zajlik: 1. A master kiad egy RESET pulzust. A buszon levő slave eszközök (mind) kiadják a PRESENCE pulzust. 2. A master megvizsgálja a PRESENCE pulzust, amiből rájön, hogy van-e egyáltalán eszköz a buszon. Ha nincs eszköz, vége a tranzakciónak. 3. A master kiad egy SEARCH_ROM parancsot, amivel felderíti, hogy hány egység van a buszon és mi az egyedi címük. 4. A mastar a címek alapján egyedileg megcímezve tud parancsot adni az egyes eszközöknek és adatot tud fogadni tőlük. Részeletesebben Ibutton standard Ne ijedj meg, lapozz a 44. oldalra...
Sziasztok!
Kis segítséget szeretnék kérni... Az adatlapon nem igazán egyértelmű számomra hogy a kontroller (PIC 12F675) mennyi a minimum tápfeszültség igénye. Több grafikonon 2V tól ábrázol, van ahol 3V... Hány V tól ketyegnek ezek üzembiztosan? Egy Makita csavarbehajtóhoz szeretnék csinálni egy kontrolleres szabályzást ami adott nyomaték (soros ellenálláson mért feszültség / komparátor) elérése esetén leállítja a motort. A gondom az hogy a motor indulásakor hatalmasat ránt a tápfeszen, 3V alá is leesik pár 0,01 sec re. Aztán ahogy elindul a motor szépen visszakúszik persze a kapocsfeszültség közelébe, de az indulási árama hatalmas, főleg ha eleve terhelésen indítják (csavar meghúzása) A tápfesz egy Li-ON akku 2300mAh kapacitással. Esetleg bele tudok suvasztani párhuzamosan még egy iulyen akkut, az már 4600mAh... Ha ez a megoldás. De mindenképpen stabilizálni kéne a PIC tápfeszét (és / vagy a referenciát is..) de mennyire? A chipen olvasható felirat szerint ez 12675 I / SN0929 Tehát kérdésem hogy ennek a PIC nek mennyi a minimum tápeszültség igénye? És ha leesik a tápfesz a működési feszültség alá olyankor mi történik? Resetel? Köszi. A hozzászólás módosítva: Dec 14, 2016
Köszii. Adatokat ahogy néztem 12db bitbe kapom de hogy értelmezze ??(visszab írtam)
Az adatlapjában benne van, hogy milyen feltételek mellett mennyi a minimális tápfesz. igénye. ADC engedélyezve, letiltva, illetve a hőmérséklethatárok, ahol szeretnéd használni. Ha nagyobb frekvencián járatod de a grafikon szerinti kissebb feszültséggel, bizonytalanná válhat a működése. A gyártó abban a területben nem garantálja a működést. Lásd még: Brown-out Detect az adatlapban.
Szia. Sorosan egy dióda, és párhuzamosan egy nagyobb kapacitású kondi.
Adatlap 3 - 4. lapja szerint:
Idézet: „The temperature data is stored as a 16-bit sign-extended two’s complement number in the temperature register (see Figure 2).” Kettes komplemens kód, a legkisebb helyiérték 1/16 fokot jelent. float Homerseklet = (float)(kod)/16.0;
Akkor elvileg tudja a 2 V ot is, tehát 2,5V ra stabilizálom. Az ADC t nem használom és szobahőmérsékleten lesz használva. Hálás köszönetem Uraim!
Hajaj ez nehez lesz de igyekszom
Kettes komplemens masodik bit jobbrol??? "Float" helyere mi megy ??? "Kod" gondolom egy read parancs
Nem ártana pótolnod a hiányosságaid, mert ilyen alapvető fogalmak ismerete nélkül nem fogsz boldogulni.
Fagypont felett (ha celsius fokban adja a mért hőmérsékletet): 0x0000 -> 0fok, 0x0001 -> +1/16fok, 0x0002 -> +2/16fok ... 0x7FFF -> +32767/16fok. Fagypont alatt: 0xFFFF -> -1/16fok, 0xFFFE -> -2/16fok ... 0x8000 -> -32768/16 = -2048fok. Azaz a legfelső helyiértékű bit az előjel bit, a többi bit az érték, ahol a negatív értékek abszolút értékre való konvertálásához kell kettes komplemens értéket képezni. A float pedig a lebegőpontos számot jelenti.
C nyelven így kellene konvertálni.
float - lebegőpontos típus, hogy a tört fokok is eltárolódjanak. kod a read paranccsal kiolvasott hőmérséklet kód. Ha assembly -ben programozol: a (kod) értékét eltárolod két byte -ban, eltárolod az előjelet kiíráshoz. Ha negatív, minden bitet negálsz és hozzáadsz 1 -et (16 bitesen). Az alsó 4 bitet átteszed egy harmadikba, a (kod) értékét 4-szer jobbra lépteted (balról mindig 0 értéket lépteted be). Az eredmény az egész fok az első két byte -ban, a harmadik alsó négy bitjén a tört fok. Előjelet pedig eltároltad már. A hozzászólás módosítva: Dec 15, 2016
Magához a feladathoz biztosan kell neked mikrovezérlő? Egy csavarbehajtónak teherbírónak kellene lennie, és működnie olyankor is, amikor izmos a probléma. Ha adott nyomaték szabályozása a feladat, az lefordítva áramkorlátozás egy maximum értékre, ahol is visszaszabályozod a feszültséget. Arra vannak egyszerű analóg példák is, pld tranzisztoros áramkorlát.
|
Bejelentkezés
Hirdetés |