Vypocty v PIC
Moderátor: Moderátoři
Vypocty v PIC
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.
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čí.
Odvaha býva postrachom smrti ale ajtak ju to vôbec neobmekčí.
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čí.
Odvaha býva postrachom smrti ale ajtak ju to vôbec neobmekčí.
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
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.
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!
Môžem hovoriť do vedenia!