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 |