Vypocty v PIC

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
UnReSt
Příspěvky: 315
Registrován: 10 črc 2006, 02:00
Bydliště: Košice
Kontaktovat uživatele:

Vypocty v PIC

#1 Příspěvek od UnReSt »

Dobry den, dala by sa v PICke softverovo poriesit tato uloha?

Potreboval by som snimat otačky kolesa (1 otačka = 1 impulz). Potrebujem aby sa pocitala doba trvania jednej otacky, a následne aby sa ta doba delila určitym pevne stanoveným cislom.

Ako vysledok dostanem nejaku hodnotu T a z tejto hodnoty mikrokontroler vypocita frekvenciu vzorcom f=1/T. Nasledne potrebujem aby sa generovaly impulzy o tejto vyslednej frekvencii.

Da sa cely tento postup naprogramovat v asemblery pre PIC ???

Dakujem.
{AG&I}UnReSt
Odvaha býva postrachom smrti ale ajtak ju to vôbec neobmekčí.

Uživatelský avatar
Ragnol
Příspěvky: 232
Registrován: 09 lis 2005, 01:00
Kontaktovat uživatele:

#2 Příspěvek od Ragnol »

K čemu ti bude vedět jaká frekvence ti z toho má lízt ? Není jednoduší to T co ti vyjde vydělit dvěma a to rovnou posílat ven ? 1/2T v log1 a druhá polovina v log0. A nemusíš řešit 1/T.

Uživatelský avatar
UnReSt
Příspěvky: 315
Registrován: 10 črc 2006, 02:00
Bydliště: Košice
Kontaktovat uživatele:

#3 Příspěvek od UnReSt »

Asi presne nerozumiem o co ide ale zda sa mi to komplikovanejsie, aj tak musim vediet T (teda to musi vediet PICka), proste tymto spôsobom chcem aby mi to generovalo impulzy a ich frekvencia bude zavisla od rýchlosti, resp. otacok.
{AG&I}UnReSt
Odvaha býva postrachom smrti ale ajtak ju to vôbec neobmekčí.

Uživatelský avatar
Ragnol
Příspěvky: 232
Registrován: 09 lis 2005, 01:00
Kontaktovat uživatele:

#4 Příspěvek od Ragnol »

Psal jsi že změříš jednu otáčku ... tu vydělíš nějakým číslem a vyjde ti T. tak to T vyděl dvěma a vyjde ti čas půl periody. Tzn doba trvání jednotlivejch logickejch úrovní. Pokud časovač nastavíš na T/2 a budeš při přerušení negovat nějakej pin na kterým chceš tu frekvenci dostaneš na výstupu frekvenci rovnou f=1/T

Uživatelský avatar
UnReSt
Příspěvky: 315
Registrován: 10 črc 2006, 02:00
Bydliště: Košice
Kontaktovat uživatele:

#5 Příspěvek od UnReSt »

Uz chapem, a tak teda da sa nejako v asemblery toto naprogramovat pre PIC?
{AG&I}UnReSt
Odvaha býva postrachom smrti ale ajtak ju to vôbec neobmekčí.

Uživatelský avatar
Ragnol
Příspěvky: 232
Registrován: 09 lis 2005, 01:00
Kontaktovat uživatele:

#6 Příspěvek od Ragnol »

UnReSt píše:Uz chapem, a tak teda da sa nejako v asemblery toto naprogramovat pre PIC?
Dělám s avrkama a tam by o šlo úplně v pohodě. A nevidím důvod proč by to nešlo na picech.

Uživatelský avatar
UnReSt
Příspěvky: 315
Registrován: 10 črc 2006, 02:00
Bydliště: Košice
Kontaktovat uživatele:

#7 Příspěvek od UnReSt »

OK, tak to sa ešte musim lepsie naucit programovat, vsetky prikazi nepoznam, v skole nas doteraz ucili 8051 a PICky len ako samostudium som zacal az teraz.
{AG&I}UnReSt
Odvaha býva postrachom smrti ale ajtak ju to vôbec neobmekčí.

Uživatelský avatar
ViPali
Příspěvky: 524
Registrován: 21 lis 2005, 01:00
Bydliště: Bratislava

#8 Příspěvek od ViPali »

Neviem, či správne chápem problém, ale predpokladám, že koleso sa otočí (napr.) 4x za minútu. Jedna otáčka trvá 0,25 minúty.
0,25 minúty je doba trvania jednej otáčky (podľa tvojej požiadavky).
To chceš deliť určitým pevne stanoveným číslom (akým?) Mňa tak narýchlo napadá číslo 1/60. Potom 0,25x0,0166=0,00416666666.
To bude frekvencia impulzov na výstupe programovaného pinu.
Keď to porovnáš s impulzmi z kolesa a PIC (MCU), tak nábežná hrana, z desiatich impulzov v šiestich prípadoch bude PIC predbiehať impulzy s kolesa a v štyroch bude zaostávať. Inak budú frekvencie úplne rovnaké.
Takže zober frekvenciu z kolesa - to je originál.

Ako program má zmysel, aby si túto frekvenciu previedol na sled štvorbitových čísel a poslal na niektorý port - ako zobrazenie na LED.
Ako elektrikár sa cítim slobodne.
Môžem hovoriť do vedenia!

Odpovědět

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