Fórum témák
» Több friss téma |
Nem tudom melyik az 595 blink lába, talán az OE, de az nagyimpedanciásba viszi a kimeneteket. PWM helyett teszteld teljes fényerőn és teljes kioltással. Úgy jól működik? A PWM freki és a multiplex freki milyen viszonyban van egymással?
BC337-40 használom
Idézet: Bázist felhusztam 5v ra Tökéletes(teljes fényerő) akkor és tesre is akkor(semmi) vagy is jól müködik igy.„teszteld teljes fényerőn és teljes kioltással.” Idézet: „A PWM freki és a multiplex freki milyen viszonyban van egymással?” Ezt nem értem. ![]()
szerk.: Sajnos szkópom most döglöt meg ![]() A hozzászólás módosítva: Ápr 17, 2017
Milyen PIC? Mit csinál a PWM2_Init(10000)?
A pic-kel húzattad fel/le a bázist? Mivel nem tudom az órajelet nézd meg van-e ilyenkor 8 bit a PWM felbontása (nem tudom a C függvény skálázza-e a megadott értéket). Az AD értéke jól kerül beolvasásra? Tesztelheted fixen beírt értékekkel.
Tegyük fel, hogy a PIC10F322 a belső 16MHz -es órajel generátorról jár. A 10kHz -es PWM frekvenciához az Fosc /4 -et 400 -zal kell leosztani, de a PR2 -vel csak 256 -ig lehet. Így a TMR2 előosztóját valószínűleg 1/4 -re állítja, a PR2 -t pedig (100-1) -re. 4MHz / 4 / 100 = 10kHz. Ha a PR2 értéke 99 akkor a kitöltés nem lehet ennél nagyobb.
Idézet: „If the pulse width value is greater than the period the assigned PWM pin(s) will remain unchanged”
Pontosítás: Ha a PR2 értéke 99 akkor a PWMxDCH értéke nem lehet ennél nagyobb.
16mhzen belsö órajel generátroról megy a pic. Vagy is vegyem vissza a khzet? mondjuk 5khzre??
ADC 256 felbontású amugy igen jól olvassa be az adatokat.
Szegény, jóhiszemű segítő esete a különféle magas szintű nyelvekkel...
Nem rendelkezik mindenki, minden olyan magas szintű nyelvvel, amihez kérdés tesznek fel a topikban. Egyes dolgokat csak a kérdező tud leellenőrizni... Nézd meg, mit állít be az PWM2_Init(10000); és a PWM2_Set_Duty(fenyero);. Amennyiben az utóbbi a fenyero két alsó bitjét a PWM2DCL 7. és 6. bitjébe teszi, akkor PR2 99 értéke mellett megvalósítható a PWM2_Set_Duty(220), hiszen 220 / 4 = 55.
Üdv!
I2C olvasási problémám van. Az írás működik, reagál rá a slave.
az olvasási függvény:
a busz lezáró, ahol megakad a kód ![]()
itt pedig a várakozó függvény:
Olvasás után miért nem tudja lezárni? Miért érzékelheti, hogy még menne az adat? Amit használok: PIC18F4620 és amit vezérlek: PCA9685. Felhúzó ellenállások vannak. 7 bites a cím. (port villogtatással jutottam el eddig, hogy ott áll meg a kód. Az olvasott adatot megtudom jeleníteni a lezárás előtt.) A hozzászólás módosítva: Ápr 18, 2017
Nem vagyok szentül meggyőződve, hogy a TRIS regisztereket neked kell-e piszkálni, de ha igen, akkor az SCL-nek kimenetnek kell maradnia.
Ezért tettem: (170. oldalon van)
Idézet: „The user must configure these pins as inputs or outputs through the TRISC<4:3> bits. ” Szerk: Köszönöm, valószínűleg itt volt a probléma! Töröltem őket, s úgy tűnik, hogy megoldotta, továbbfut! ![]() ![]() A hozzászólás módosítva: Ápr 18, 2017
Üdv!
Nekem is volt hasonló problémám, sajnos már nem emlékszem pontosan, hogy miből adódott. Nekem az lett a megoldás, hogy az Interrupt Flag-et figyelem az SSPSTAT helyett. A többi kábé ugyan ez. És igen a portot nem kell piszkálni, azt intézi magától.
Megtaláltam a hibát! 2-ő is volt.
1:
2: A PCA9685 adatlapjában van, hogy az utolsó olvasás után NEM szabad ACK bitet küldeni, én meg mindig küldtem. ![]() ![]() A hozzászólás módosítva: Ápr 18, 2017
Belenézel az adott fordító, esetedben ha jól sejtem mikroC belső függvényeinek működésébe.
Mégiscsak itt van a kutya elhantolva...
Idézet a Mikro C impulzusszélesség modulátor függvénykönyvtárának leírásából: Idézet: „Sets PWM duty ratio. Parameter duty takes values from 0 to 255, where 0 is 0%, 127 is 50%, and 255 is 100% duty ratio. Other specific values for duty ratio can be calculated as (Percent*255)/100.” A fentieket figyelembe véve valószínű, hogy csak a 8 bites magas helyiértékű regisztert írja...
Igen én is, de ha jól látom Hp41C már megtalálta a döglött ebet.
Nem feltétlen kell a zárójel sem.
A hozzászólás módosítva: Ápr 18, 2017
Segítséget kérnék! A használni kívánt billentyűzetből
- zöld - citromsárga - piros - fekete (barna?) színű erek jönnek ki és ezek közül melyik a clock, data, plusz, mínusz???
Azért kérdeztem, mert 5V tápfesz az már mindenhol van, ahol lennie kell, de csak kijelző háttérfény van, a PIC felprogramozás elvileg sikeres, de nem áll fel a billentyűzet (bekapcsoláskor villanniuk kellene egyet a LEDjeinek), így nem ír a kijelzőre! Tehát melyik kábelszín melyik?
Kérdés! Mi a hópihének vágtad le a csatlakozót, mielőtt kimérted volna a színeket, hogy melyik melyik? Csatlakozó lábkiosztás megtalálható a neten pl....
- piros +táp - fekete (barna?) GND A másik kettőt sakkozd ki ![]() Ha meg mered kérdezni mi az a GND... ![]() A hozzászólás módosítva: Ápr 18, 2017
Arra jutottam, hogy
- zöld = plusz - piros = mínusz - barna = data - citromsárga = clock kötéssel folyamatosan világít a billentyűzet három LEDje, amint feszültség alá kerül! Mit kötök még mindig rosszul? Idézet: „Mégiscsak itt van a kutya elhantolva... Idézet a Mikro C impulzusszélesség modulátor függvénykönyvtárának leírásából: Idézet: „Sets PWM duty ratio. Parameter duty takes values from 0 to 255, where 0 is 0%, 127 is 50%, and 255 is 100% duty ratio. Other specific values for duty ratio can be calculated as (Percent*255)/100.” A fentieket figyelembe véve valószínű, hogy csak a 8 bites magas helyiértékű regisztert írja..” Vagy is mit kellcsinálnom hogy jól müködjön?
Meg van még a levágott vége? Ha igen, mérd ki az alapján melyik szín mi a lábkiosztás alapján.
El kellene indítani a szimulációt, meg kellene nézni milyen értéket állít be a PWM2_init(10000) a PR2 -be. Továbbá meg kellene tudni milyen értéket állít be a PWM2_Set_Duty(20) és PWM2_Set_Duty(255) a PWM2DCH regiszterbe.
Avagy: A PMW -et 1600000 / 4 / 256 = 15625 Hz frekvenciára állítani, ekkor a TMR2 előosztója 1/1 lesz és a PR2 pedig 255. A kitöltés 0 és 255 között állítható. A hozzászólás módosítva: Ápr 18, 2017
|
Bejelentkezés
Hirdetés |