Sida 1 av 1

beräkna vinkel med PIC16F874 ?

Postat: 2 juli 2004, 17:51:01
av drac
har lite problem... behöver räkna ut en vinkel med en PIC16F874 i en triangel mellan närliggande och motstånde sida. går detta? det är vinkeln som man får med tan på en vanlig miniräknare, bra förklaring :? hoppas någon vet mer än jag :)

Postat: 2 juli 2004, 18:11:09
av cyr
Jovisst går det... Enklaste metoden, om du har ganska mycket minne över och inte behöver så jättehög precision, är nog att använda en lookup-tabell och lite enkel interpolation.

Alltså, skriva ett litet program på datorn som räknar ut X värden i förväg, ta med de värdena som en tabell i ditt PIC-program och använda tabellen + att låtsas att funktionen är en rät linje mellan de uträknade punkterna.

Postat: 4 juli 2004, 19:02:11
av drac
finns det något bra exempel på hur en lockup-tabell fungerar? har ingen aning om hur en sådan ska användas... har tyvärr inte heller mycket minne kvar i processorn. hm, inte helt enkelt detta :wink:

Postat: 4 juli 2004, 19:18:47
av cyr
Själva tabellen kan med fördel lagras i program-minnet, har du ont om det?

Hittade ett exempel som beräknar arctan med en (liten) lookup:

http://www.dattalo.com/technical/softwa ... arctan.asm

Jag använde en gång en liknande metod, fast med högre precision, för att översätta spänning över en termistor till temperatur. I PIC16F87x kan man lagra 14bitars värden i program-minnet.

Postat: 4 juli 2004, 19:47:18
av RDX*
En sak som kan vara bra att komma ihåg är att för små vinklar så tangens nästan lika med sinus.