Fórum témák
» Több friss téma |
Valami nem stimmel: mosógép nem forog 13 000 -t. Minek is tenné??
A motorról volt szó, nem pedig a "dob"ról, a motor szijjal hajtja a dobot. Itt a motor sebesseget figyeli nem a dob részt.
dob= amiben a ruhák forognak összevissza
Sajnos sehogy. Annyira jutottam, hogy betudok szurni külsö C programot, a nullátmenet figyeléshez. Csak sajnos nem tudom, milyen jelet ad a fordulatszám"mérő"
Egyetem, vizsgák
Sziasztok.
Kérném a segítségeteket, sajnos az én tudásom kevés ehhez. Nézegettem a minta programokat, sajnos elindulni még sem tudtam a programmal. Van egy DAC chipem, MCP4706 8 bites, I2C buszos. Ezt szeretném feléleszteni. A programban csak annyi kellene (igaz, csak ezt tudja a cél eszköz) , hogy az encoder értéket átküldi a DAC-nak és az ennek az értéknek megfelelően beállítja a kimenetet. A főprogram a töltőhöz elkészült, de a PWM kimenet nem igazán jó az áramgenerátor vezérléséhez. Ezért lenne szükségem erre az alkalmazásra. MCP4706 Encoder --> 0-255 (8 bit) erre lenne a DAC --> 0-5V. Minden segítségnek, javaslatnak nagyon tudnék örülni A hozzászólás módosítva: Jún 20, 2014
Ahogy látom bele sem kezdtél a i2c kommunikacioba.
Először kellene minden ami a dacra van írva ez nem elég:MCP4706 8 bites
Csatoltam az adatlapot, pontosabban linket adtam a PDF fájlok, abban benne van minden.
Esetleg más adatra is szükséged van? A hozzászólás módosítva: Jún 20, 2014
Akkor mi a kérdés?
figure6-2 i2c start-> bajt send (dacod címe) -> bajt send '0' -> bajt send (4-1 táblázat szerint az adat) -> i2c stop
Most közben olvastam, hogy a dacon van rajta a device address. Az ack bitet mikor kell küldeni? Azt külön kell küldeni vagy automatikusan küldi a makró?
A parancs bitet és a többi konfigurációs bitet nem csak egyszer, a program elején kell elküldése? A figure 6=2 Ben foglaltakat minden egyes adat átküldésnél meg kell adni? A hozzászólás módosítva: Jún 20, 2014
Az ack bitet nem kell külön küldened!
Főleg hogy azt fogadod miután elküldted a bájtot, de azt megoldja a makró. Szóval azzal nem kell törődnöd sosem. A parancsbitet ill a többit is mindig el kell küldened mert az mutatja meg a dacnak hogy mit szeretnél írni! Onnan tudja hogy pl memóriát,az analóg jelet vagy a beállításokat akarod változtatni.
Köszönöm, akkor ezek ismeretében megpróbálom.
üdv.
Megírtam, de sajnos nem működik.
Írtam egy dac_test makrót, az adatlap ajánlás alapján, de onnan az ack bit=255 (1), azaz az i2c busz hibát jelent. Nem tudom, hogy azért mert tényleg nincs I2C busz, vagy csak azért mert nem jó a programom? Ennek ismeretében a dac makró sem működik, a fent leírt okok miatt. Megnéznétek, hogy mit rontottam el. Nyarig (és az adatlap) alapján a dac makróban a send byte parancsra a "transmit_byte" parancsot használtam, és ezzel küldtem át a byte-okat. A "Send_byte_transaction" parancsban az "addrH" és "addrL" mit takar? Milyen adatot kér? Kérlek benneteket, rutinos "rókákat" segítsetek, hogy működésre bírjam a DAC chipet. Az is lehetséges, hogy teljesen rosszul irányból közelítem meg a feladatot. A dac címe: 1100 000, Vref a tápfeszültség (+5V), a gain=1 Köszönöm Mindenkinek az eddigi segítséget, és a továbbiakat is A hozzászólás módosítva: Jún 21, 2014
Több baj is van:
- mindig 8 bitet küld a transmit bajt. Tehát ha a dac adresset hexában 60 akkor neked ez mögé kell betenni a 0 vagy 1 et attol függ hogy írni vagy olvasni akarsz. pontosabban ha írni akarsz akkor 'C0' at ha olvasni akkor 'C1' et kel küldened. -Ack-ot nem küldünk. Ha a transmit bajtal elküldöd a bajtodat akkor nincs más dolgod vele. Az ackot kezel ö saját maga. -Ha adatokat fogadsz akkor az adatot a visszatérési értéknál megadott változoba fogja menteni. A last hogy 0 vagy 1 et kell irni annak a fügvényébe hogy ez az utolsó fogadott adat lesz vagy nem. Mit korábban irtam ezt kell beirnod: i2c start-> bajt send 'C0' -> bajt send '0' -> bajt send (4-1 táblázat szerint az adat) -> i2c stop Tehát elinditod az i2c-t Elküldöd a cimet az irás vagy olvasás bittel együtt elküldöd a baállitásokat hogy mit akarsz irni. Elküldöd a beirandot megálitod a i2c-t
Nagyon köszönöm a segítséget.
Neki is állok javítani...
A dac_test makrót megnéznéd, hogy jó-e?
Azt kéne látnom, hogy a visszaolvasott ack értéke nulla legyen.
Itt az új verzió. Ez működik, mert az ack=1, (az előbb 255 volt) ami sajnos azt jelenti, hogy nincs kapcsolat.
Elvileg minden a helyén van, 2db 10k felhúzó ellenállás +5V-ra. Ellenőrzőm még egyszer... A hozzászólás módosítva: Jún 21, 2014
Köszönöm még egyszer az útmutatást.
Siker! A dac_test is jó lett. Az volt a gond, hogy az adatlap szerint a teszthez ezt kell beírni a címnek: 1101 000 1. Az első 4 bit az fix, de itt hibásan van megadva,mert máshol ez: 1100. Utána jön az egyedi azonosító, nálam ez:000, majd utána jön az írás bit:1. Ezt így beírva, az ack=0 jön vissza. Tehát jó a kommunikáció. A többi meg már ment mint a karikacsapás, ahogy leírtad, köszönet érte. Így utólag visszanézve, tényleg egyszerű. Csak hát a tanulópénzt meg kell fizetni. szép estét. A hozzászólás módosítva: Jún 21, 2014
Örülök
Üdv!
Sd kártyát nyaggatok, adat írás - olvasás megy, 1 gond van csak: nem írja tele az adott szektort, csak az első 255 byte -ot (aztán újrakezdi a szektor elejéről, a 255 feletti címen lévő byte-okra nem ír ). Ha a következő szektorra váltok, annál is ugyanez történik. A pic egy 18f452, lehet esetleg, hogy ez nem kezeli jól a buffert?
Visszatérve az előzőekben tárgyalt I2C kommunikációra...
A DAC-ban tárolt adatot, hogy lehet egyszerűbben törölni, mint ha 0-val írnám be az adatot? Ha nincs szükségem a DAC kimenetére, akkor az előzőekben beírt adat szerinti feszültség marad a kimeneten. Jelenleg úgy oldom meg, hogy 0-t írok neki, és így a kimenet is természetesen 0 lesz. Ennél egyszerűbben lehet? A "restart" parancs mire van? Mikor kell használni? Köszönöm.
Program nélkül csak tippelek: adott változó, ami a címet tárolja, max. 255 -ig megy (Byte).
A restart parancs a kommunikációt restartolja, nem a dac-ot, te esetedben nincs sükség rá.
Egyszerűbbet nem tudok mint hogy '0' át küldöd neki. Esetleg a dac tápját tudnád egy tranyóval megszakítani amit a picröl vezérelsz. (de ezt nem tudom menyire életképes, ill plusz egy láb a pictől meg hibaforrás.... )
Sziasztok!
Flowcod 6 ot hol lehet megvenni és menyiért???A weblapjuk szerint nincs magyar kereskedőjük.. Mijen módon lehetne azt megoldani hogy a pic-a pc-ről egy txt-file-ből olvason be adatokat,számokat?
Kössszönöm a linket,de nem találom a listában.
Nagyon segítőkészek
Kb. mint az unott alkalmazott péntek délután .... Én lepattantam róluk....
Köszi értelek.
De akkor hol vehető meg?
Nem, nem értem,mert a weblapon nincs kirakva a cég nevük, sem a cég honlapján a flow, ezzel az erővel bárkinek irkálhatok,hogy kellene.
Ezt hozza a matrix magyarországra:
"You selected Magyarország. Im sorry there are no dealers in that country. Please contact Matrix directly Search again" |
Bejelentkezés
Hirdetés |