citac/casovac- otackomer

Diskuze a poradna o programátorech a programování různých obvodů

Moderátor: Moderátoři

Odpovědět
Zpráva
Autor
Uživatelský avatar
mirecc
Příspěvky: 33
Registrován: 13 lis 2006, 01:00

citac/casovac- otackomer

#1 Příspěvek od mirecc »

Neviete mi poradit ako spravim otackomer pomocou C/C na Atmega.
Nema niekto neaky podobny program v jazyku C nic som na nete nenasiel. diky

Uživatelský avatar
mtajovsky
Příspěvky: 3694
Registrován: 19 zář 2007, 02:00
Bydliště: Praha

Re: citac/casovac- otackomer

#2 Příspěvek od mtajovsky »

mirecc píše:Neviete mi poradit ako spravim otackomer pomocou C/C na Atmega.
Jednoduše. Předpokládám, že to máte po stránce HW zvládnuté. Takže na nějaký vstupní pin portu budete přivádět asi pulsy z čidla otáček. Budete měřit periodu, tedy dobu mezi dvěma pulsy a z ní jako převratnou hodnotu dostanete frekvenci, potažmo otáčky.

Periodu můžete měřit tak, že spočítáte, kolikrát se vám podaří zavolat nějakou zpožďovací funkci mezi impulsy. Pozor, to zpoždění musí být kratší, než je doba impulsu, abyste žádný impuls nepropásl. Prostudujte si v nápovědě k avr-libc funkce v delay.h, speciálně třeba

void _delay_us (double __us)

a jejich správné použití. Jsou samozřejmě i jiné možnosti, třeba inkrementovat nějaký čítač s danou frekvencí a v přerušení od impulsů z čidla z jeho okamžité hodnoty spočíst periodu a otáčky. To vysvítit na displeji, čítač vynulovat a jede se nanovo.

Pokud by ovšem v průběhu měření měl systémek umět reagovat i na jiné události, například na povely z ovládacího panelu, je to třeba dělat trochu jinak. Musíte zpracovávat přerušení od časovače a tak na pozadí sledovat čas. Pak na "popředí" můžete reagovat jak na impulsy, tak na ovládací panel. Vede to na stavový automat.
mirecc píše:Nema niekto neaky podobny program v jazyku C nic som na nete nenasiel. diky

Nemám a ani se mi jej nechce dělat.

Uživatelský avatar
jano80
Příspěvky: 73
Registrován: 16 lis 2008, 01:00
Bydliště: Michalovce

#3 Příspěvek od jano80 »


Uživatelský avatar
mirecc
Příspěvky: 33
Registrován: 13 lis 2006, 01:00

#4 Příspěvek od mirecc »

Ja by som potreboval len nacitat otacky DC motora s potom ich v jednom podprograme upravil cez vzorec (PI regulator) a riadil otacky motora pomocou PWM.

Uživatelský avatar
jano80
Příspěvky: 73
Registrován: 16 lis 2008, 01:00
Bydliště: Michalovce

#5 Příspěvek od jano80 »

no na tej stranke mas len priklad (mozne riesenie) v principe by sa to podla toho dalo spravit.

Uživatelský avatar
mirecc
Příspěvky: 33
Registrován: 13 lis 2006, 01:00

#6 Příspěvek od mirecc »

jano80 píše:no na tej stranke mas len priklad (mozne riesenie) v principe by sa to podla toho dalo spravit.
Akurat to pozeram
Ja potrebujem aby motor aj po zatazi drzal konstantne otacky

Uživatelský avatar
mirecc
Příspěvky: 33
Registrován: 13 lis 2006, 01:00

#7 Příspěvek od mirecc »

jano80 píše:no na tej stranke mas len priklad (mozne riesenie) v principe by sa to podla toho dalo spravit.
A ako asi ten program funguje???

Uživatelský avatar
mirecc
Příspěvky: 33
Registrován: 13 lis 2006, 01:00

#8 Příspěvek od mirecc »

jano80 píše:no na tej stranke mas len priklad (mozne riesenie) v principe by sa to podla toho dalo spravit.
Naco sluzi ICP??
Ako by sa to dalo zmenit, lebo na C/C 1 mam PWM

Uživatelský avatar
jano80
Příspěvky: 73
Registrován: 16 lis 2008, 01:00
Bydliště: Michalovce

#9 Příspěvek od jano80 »

asi by bolo dobre , keby si sem hodil typ s akym chces pracovat

Uživatelský avatar
mirecc
Příspěvky: 33
Registrován: 13 lis 2006, 01:00

#10 Příspěvek od mirecc »

jano80 píše:asi by bolo dobre , keby si sem hodil typ s akym chces pracovat
Atmel (Atmega 8, 89XX,Atmega XXX)a to je jedno aky

Odpovědět

Zpět na „Programování PIC, ATMEL, EEPROM a dalších obvodů“