Nalezeno 132 výsledků hledání

od vasek125
31 kvě 2009, 16:35
Fórum: Programování PIC, ATMEL, EEPROM a dalších obvodů
Téma: Nejde mi nastavit prescaler na méně než 256 u ATMEGA 16
Odpovědi: 54
Zobrazení: 4844

Bude to do 216 otáček za minutu. Dříve jsem detekoval otáčky tak, že jsem počítal kolik je pulsů za vteřinu, jenže to bylo nedostatečné kvůli řízení otáček, docházelo k překmitům, proto počítám dobu mezi 2 pulsy. Při frekvenci odečítání 57600 to dává ještě dost chyb, tak nevím jestli je nedostatečná...
od vasek125
31 kvě 2009, 15:18
Fórum: Programování PIC, ATMEL, EEPROM a dalších obvodů
Téma: Nejde mi nastavit prescaler na méně než 256 u ATMEGA 16
Odpovědi: 54
Zobrazení: 4844

ZdenekHQ: nemám dostatek přerušitelných pinů pro 2x2 vstupy.
od vasek125
31 kvě 2009, 15:16
Fórum: Programování PIC, ATMEL, EEPROM a dalších obvodů
Téma: Nejde mi nastavit prescaler na méně než 256 u ATMEGA 16
Odpovědi: 54
Zobrazení: 4844

Ještě něco k tomu enkodéru. Má dva výstupy(dráty), kde jeden impuls je posunutý oproti druhému aby se dal zjistit směr otáčení. Dají se tedy detekovat 4 stavy(prvni drat-druhy drat): 0-0, 1-0, 0-1, 1-1. Při takovém odečítání dává enkodér 360 pulsů za otáčku výstupní hřídele elektromotoru.
od vasek125
31 kvě 2009, 15:09
Fórum: Programování PIC, ATMEL, EEPROM a dalších obvodů
Téma: Nejde mi nastavit prescaler na méně než 256 u ATMEGA 16
Odpovědi: 54
Zobrazení: 4844

Je problém najít vyhovující MCU. V blízském obchodě nic jiného než atmega8/16/32 nemají, zbytek je už SMD, o SMD nemám zájem. Nedalo by se to udělat nějak s tou vzorkovací frekvencí? Zvolit vhodnější typ odečítání?
od vasek125
31 kvě 2009, 14:50
Fórum: Programování PIC, ATMEL, EEPROM a dalších obvodů
Téma: Nejde mi nastavit prescaler na méně než 256 u ATMEGA 16
Odpovědi: 54
Zobrazení: 4844

Přečetl jsem toho hafo a vyvodil jsem závěr, že jediný možný způsob jak měřit otáčky je provádět to v obsluze přerušení, když se přeruší veškerý přerušitelný kód a mělo by to tudíš být přesné a také jsem došel k závěru, že aby to bylo přesné, tak musím mít dostatečnou vzorkovací frekvenci a tady je ...
od vasek125
31 kvě 2009, 14:04
Fórum: Programování PIC, ATMEL, EEPROM a dalších obvodů
Téma: Nejde mi nastavit prescaler na méně než 256 u ATMEGA 16
Odpovědi: 54
Zobrazení: 4844

No je to tak, když jsem zkusil z toho něco vyhodit, tak to bylo rychlejší. Tak jak mám odečítat stav enkodéru, když chci měřit rychlost motorku? Přeci čím větší frekvence odečítání, tím je to přesnější.
od vasek125
31 kvě 2009, 13:47
Fórum: Programování PIC, ATMEL, EEPROM a dalších obvodů
Téma: Nejde mi nastavit prescaler na méně než 256 u ATMEGA 16
Odpovědi: 54
Zobrazení: 4844

Bohužel, nemám ani jedno. Ale nezdá se mi, že bych toho chtěl po přerušení zas tak moc. V obsluze přerušení je toto: longac++; if (longac>=2880) { longac=0; longacDOit=1; } if (longac10<288001) longac10++; if (longac10==288000) { //longac10=0; longac10DOit=1; OCR1A=0; } if (longac10==1) { OCR1A=300;...
od vasek125
31 kvě 2009, 12:17
Fórum: Programování PIC, ATMEL, EEPROM a dalších obvodů
Téma: Nejde mi nastavit prescaler na méně než 256 u ATMEGA 16
Odpovědi: 54
Zobrazení: 4844

PS. Mým cílem je teď dostat se s předděličkou /64 na frekvenci 227275, ale ani to se mi nedaří.
od vasek125
31 kvě 2009, 12:14
Fórum: Programování PIC, ATMEL, EEPROM a dalších obvodů
Téma: Nejde mi nastavit prescaler na méně než 256 u ATMEGA 16
Odpovědi: 54
Zobrazení: 4844

No v tom přerušení chci číst data z enkodéru. Třeba je to blbost, ale hlavou mi vrtá, proč nemohu nastavit těch /64. Že to nejde jsem zjistil tak, že když jsem nastavil počítání v obsluze přerušení TIMERU2 do 57600 (14745600/256) a pak "snižoval" předděličku, tak to stejně bylo asi 57600 z...
od vasek125
31 kvě 2009, 02:14
Fórum: Programování PIC, ATMEL, EEPROM a dalších obvodů
Téma: Nejde mi nastavit prescaler na méně než 256 u ATMEGA 16
Odpovědi: 54
Zobrazení: 4844

A může mi ještě někdo vysvětlit, proč je limitující 65535, když je to 8-bitový čítač?
od vasek125
31 kvě 2009, 02:10
Fórum: Programování PIC, ATMEL, EEPROM a dalších obvodů
Téma: Nejde mi nastavit prescaler na méně než 256 u ATMEGA 16
Odpovědi: 54
Zobrazení: 4844

Tak už vím. TIMER může čítat jen do 65535. Takže proto jen /256. Což ale neřeší můj problém. Já potřebuju mít minimálně 400 000 přerušení za sekundu. Jak toho mám docílit?
od vasek125
30 kvě 2009, 20:54
Fórum: Programování PIC, ATMEL, EEPROM a dalších obvodů
Téma: Nejde mi nastavit prescaler na méně než 256 u ATMEGA 16
Odpovědi: 54
Zobrazení: 4844

Nejde mi nastavit prescaler na méně než 256 u ATMEGA 16

Potřebuju dostat vysokou frekvenci přerušení. To mi ovšem nejde. Prescaler mi povolí nastavit nejméně dělení 256, pokud zkusím 128 a dále tak se to stejně dělí 256. Proč? bitSet(TCCR2, WGM21); bitSet(TCCR2, CS22); // Clock prescaler (/ 64), ale nefunguje bitSet(TIMSK, OCIE2); // povoleni preruseni +...

Přejít na rozšířené vyhledávání