Kezdőoldal » Tudományok » Alkalmazott tudományok » PIC mikrokontrollerrel,...

PIC mikrokontrollerrel, hogyan állítok elő 20ms periódusú PWM jelet?

Figyelt kérdés
Az órajel 40Mhz. 16-os előosztással se tudok 20ms-ot kimérni. Kéne használjam az utóosztót, de nem erőst értem, hogyan.
2013. febr. 6. 17:20
 1/9 anonim ***** válasza:

Ez talán segíthet:

[link]

2013. febr. 6. 20:38
Hasznos számodra ez a válasz?
 2/9 anonim ***** válasza:

A pic típusától függ. A microchip oldaláról letölthető mindegyik gépkönyve.


Vagy lesd le, hogy egy magasabb szintű program hogyan állítja be. Flowcode, MicroC Pro for Pic,

2013. febr. 7. 08:08
Hasznos számodra ez a válasz?
 3/9 A kérdező kommentje:
Értem én, hogy hogyan kell beállítani. A helyzet, hogy az utóosztót nem használja a PWM generátor. A timer2-es mivel 8 bites (max 255-t tartalmazhat), maximális 16os előosztóval is maximum 0,4ms-os periódust tudok csak létrehozni vele.
2013. febr. 7. 12:44
 4/9 anonim ***** válasza:
Mi a pic tipusa?
2013. febr. 7. 14:31
Hasznos számodra ez a válasz?
 5/9 A kérdező kommentje:
18f4620
2013. febr. 7. 15:49
 6/9 anonim ***** válasza:

A gépkönyv 134. oldalán van a TIMER2 (PVM) blokkdiagramma.

A T2OUTPS állítja be az utóosztót, de az csak egy megszakítás jelzőbitet fog beállítani (TMR2IF).

PWM blokkdiagram: (144. oldal) TMR2--PR2 komparátora kapcsolódik az utóosztóhoz, tehát a megszakítás periódusonként jön létre. (nincs benne a kitöltési információ)

2013. febr. 8. 08:27
Hasznos számodra ez a válasz?
 7/9 A kérdező kommentje:

Utánaolvastam...többen is beleüköztek ebbe a problémába. Lehet, hogy meg lehet oldani, de én nem erőst foglalkoztam ezzel, mert nekem amúgyis három servót kell megvezérelni egy PIC-el. A timer0-al megcsináltam a saját PWM jelemet. Belső PWM generátorral amúgysem tudtam volna három különálló jelet kiadni.


Köszönöm szépen a segítséget. Még lesz PIC-el vagy servóval kapcsolatos kérdésem(ugyanis egy servo vezérlőt kéne csináljak)...remélem majd akkor is számíthatok a segítségedre.

2013. febr. 8. 13:07
 8/9 anonim ***** válasza:

Ha jól gondolom, a 20ms-ot osztottad 400 részre. Az 1ms-ra így 20 jut. A felbontás: 360/20=18fok.


Vagy így:?

TIMER1: 20ms-onként ad megszakítást.

TIMER2: 1...2ms között, így a 16 bites regiszterrel 0,1 fokot is el lehet érni.

2013. febr. 11. 08:23
Hasznos számodra ez a válasz?
 9/9 anonim válasza:
ez jó ötlet
2013. aug. 26. 15:22
Hasznos számodra ez a válasz?

További kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!