If you do not believe in MAGIC, Consider how currency has value simply by printing it, and is then traded for real assets.
.
Gold is the money of kings, silver is the money of gentlemen, barter is the money of peasants - but debt is the money of slaves
.
There simply is no "Happy Spam" If you do it you will disappear from this forum.
Ok,
Lets forget I said the first bits easy!!!
Instead of converting to mmH2O and then converting that to Knots, I decided to go straight from ADC counts to Knots.
So the equation comes out to be (SQR(ADC Counts))* ( 484/79).
Excel comes up with the correct answer. for 1 ADC count the result comes out at 6.1266 knots. Doing the same calculation in a PIC the result is 6 knots. It appears that the result is the integer part only.
The numbers I am trying to get is in the table
mmH2O ________Knots
15_____________ 30
26.5 ___________40
41.5 ___________50
60 _____________60
81.5 ___________70
106.5 __________80
134.5 __________90
166.5 _________100
201 ___________110
239.5 _________120
How do I calculate the correct value and still heed Steves advice to be careful of Math Overflow?
Thanks
aajgss
Last edited by aajgss; - 3rd June 2011 at 14:55.
Hello aajgss,
What level of resolution are wanting to display, I mean how many decimal places ?
You could multiply up by 10, 100, 1000 and display using DEC modifier and "." .
I didn't notice which PIC you are using but 18Fs can use long variables which if I am not mistaken are 32 bit vars.
If you do not believe in MAGIC, Consider how currency has value simply by printing it, and is then traded for real assets.
.
Gold is the money of kings, silver is the money of gentlemen, barter is the money of peasants - but debt is the money of slaves
.
There simply is no "Happy Spam" If you do it you will disappear from this forum.
Hi Archangel
Resolution I would like is to 1 decimal place. The project I am working on is an electronic manometer to check calibration of the Air Speed Indicator for gliders.
The limits are critical at 30 knots. The ASI must be within +/- 1.5 knots at 30 knots.
I am using an 18F14K50. I did try a LONG variable and multiplied the counts by 10000, but still got the same results. I looked like I was getting a 16 bit math overflow. Most likely cause was me not knowing what I am doing. Is it just a case of using a LONG identifier or is there something else I need to do. There is an option in MCS to use PBPL. Is PBPL another part of PBP, a different program all together or some type of addin? I find the documentation for this kind of simple info a bit difficult to locate.
Thanks
aajgss
Hi,
Your answer is here :
you have to use a signal amplifier to get more ADC counts for the same outputted voltage ...Excel comes up with the correct answer. for 1 ADC count the result comes out at 6.1266 knots
A logarithmic amplifier could be a nice idea to get a linear ADC input voltage Vs Speed.
I remember some really good work had been done here for Vu-meters ... ( a greek project ...)
CA3089 or NE 604 could be some interesting keywords to try ...
have fun
Alain
************************************************** ***********************
Why insist on using 32 Bits when you're not even able to deal with the first 8 ones ??? ehhhhhh ...
************************************************** ***********************
IF there is the word "Problem" in your question ...
certainly the answer is " RTFM " or " RTFDataSheet " !!!
*****************************************
I see it at least in section 3 (pages 17 and on), and in section 4 on Variables (page 23) and Division (page 37). It could be in other places; no fast way to use SEARCH in a book besides the table of contents (no index that I can see).
(I really need to reread the manual, they've added important information in there)
My Creality Ender 3 S1 Plus is a giant paperweight that can't even be used as a boat anchor, cause I'd be fined for polluting our waterways with electronic devices.
Not as dumb as yesterday, but stupider than tomorrow!
Archangel
Thanks for the info. I think that may be the way to go. A 12 or 14 bit ADC may give me enough resolution.
Robert,
You hit the nail on the head. Exactly what I was meaning.
From the Manual
"PBP is the DOS version of the compiler. PBPW is the Windows version
of the compiler and can take advantage of all the PC’s memory. PBPL is
the long version of the compiler and can use 32-bit variables, as well as
all of the PC’s memory under Windows. PBPL can only be used with the
PIC18 devices.",
But when I use a LONG variable and get the same answer as not using it I am stuck between "Did I do it right" or " Do I have the right version. Do I have PBPL" Where does it say "The version you are using is PBPL or PBP? As far as I know I am using PicBasic Pro. The executable that MCS or MPASM runs is PBP.EXE
Remember, I am only new at this and finding this type of info that others take as commonplace is not so straight forward for a beginner like me. I also do a lot of searching this and other forums/ websites, but again I feel that I am expected to know this as its "simple stuff".
Please note, I am not trying to offend or anything like that, just trying to highlight some of the frustrations I have with finding / understanding the "simple stuff"
Regards
aajgss
Sorry Acetronics, I did mean to address you, instead I put Archangel
aajgss
Can you give us more details on exactly what tools (software/hardware) you use?
I have yet to use long division either. Off the top of my head, I recall a setting in
MeLabs programmer to state what compiler/options to use.
EDIT: Correction, in MicroCode Studio.
- View.
- Compile & Program options
There is a toggle to Use PBPL. (I have MicroCode Studio Plus version, can't comment for sure on basic version)
I would start by enabling that if I were to use PBPL on a PIC 18F device.
The first thing I would do is a simple test program connected to a LCD.
That way I would make sure to learn how to use the syntax properly
before integrating it into a larger program.
Last edited by Demon; - 5th June 2011 at 19:10.
Bookmarks