I need an interpretor for this thread. Put off reading till now. Seems like good info for those that unerstand. Keep up the good work guys.Let us know when there is a turnkey plug and play affordable system available.
Will
Will
Thanks for the links. looks like something and ordinary guy like me could use.I mentioned this before but may have been missed. This free software has a lot of functionality, just need a leftover PC running linux and some time to configure it.
nofossil said:free75degrees said:nofossil said:I could do it in software, but that ties up the CPU to do the required timing. I need the CPU for other cool stuff like serving the web page.
Interfacing the sensor directly with the arm DOES require taking over all of the CPU time for the duration of the query, but it is still pretty quick. Reading one sensor without using the ROM (which necessitates using one one sensor per IO) takes somewhere on the order of 150ms. If there are 6 sensors that you want to read every couple minutes then the impact is about 1 second every two minutes. With these numbers the impact to a web server will be very small. In the off chance that you happen to hit the server during a sensor reading, you would get at most a 1 second delay.
I read all 16 analog inputs every second. There are some control functions where I want pretty quick response, and I don't want to compromise on speed for at least those values. I also log all inputs and outputs every 30 seconds (to an SQL database), so I'd need to sample all inputs at least that often.
For people who aren't quite as obsessive, every minute would probably be fine. How quickly does outside or storage temperature change, after all?
One other issue - to make the timing work, the temp sensor task would have to disallow preemption by the operating system task switcher. If the task crashed, it would then take the operating system with it.
Aaron Pasteris said:Have you looked at an SX28 from Parallax? They are very high speed PIC clones that run one instruction per clock and run 50+MHz (I've run some at ~100MHz).
http://www.sxlist.com/techref/parallax/sxb/sxb/1-wire_ex.htm?key=1-wire&from;=
You can get a free assembler/BASIC compiler for the SX chips from www.parallax.com. The BASIC compiler has builtin support for one wire.
I use the SX chips when I need to glue different comms speeds or protocols together.
Aaron
Aaron Pasteris said:If you're hooking the system up to a PC, just use serial, FTDI serial to USB, or Microchips SPI Ethernet.
Also, you do not need to have the processor held up for the entire 1-wire comms cycle. A decent RTI routine on a ~5uS trip time could easily handle the comms with little overhead.
The only real problem is lack of RAM to store the 56 bit ROM ID (you can calculate the 8 bit CRC) - even eight devices would eat up half the RAM on an SX28
Aaron
We use essential cookies to make this site work, and optional cookies to enhance your experience.