Show Posts
Pages: 1 ... 15 16 [17] 18 19 ... 23
241  Forum 2005-2010 (read only) / Interfacing / Transient filter dimensioning on: February 05, 2009, 03:47:20 pm
I built an automatic fail-over circuit to keep my arduino plus a few other items running. It runs from a regulated wallwart most of the time (5V regulated), and a 12V battery (run through a regulated) during failure. This all actually works. I can switch back and forth between regulated wall power and regulated power from the battery. The problem is that I haven't yet put a filtering cap between the wallwart and the rest of the system. Originally I didn't think I'd need to because it's regulated... Well, not a great idea. When I plug in the wallwart the regulated supply shoots up to as much as 33V before it settles back to about 5.1 to 5.2V.

So, I can see that I need a filter cap to keep this in check. This got me thinking that, while I could just guess and slap a cap in there, I really would like to know how to properly go about dimensioning the cap. If I am running 5V from the wallwart and drawing between 50ma and 500ma then what sort of cap should I use to make sure the initial transient spike is absorbed? I tried googling this a bit but didn't see anything I really liked. Any pointers either here or via a link to a good reference would be appreciated. I know this is probably a reasonably basic sort of thing but sometimes self taught people just don't know all the basics.
242  Forum 2005-2010 (read only) / Interfacing / Re: battery question on: February 05, 2009, 09:56:55 am
Unfortunately nothing in life is that simple.

Your calculation for the # of AH for the pump is basically correct. A battery is rated for the number of amp hours it can provide at a certain draw. It may be more or less depending on how fast you discharge it. But your calculation will be as accurate as you need.

You need to get 5V to the arduino somehow. This can be done either through it's onboard LM7805 or through a DC-DC convertor. The DC-DC convertor will be more energy efficient. Now, assuming your arduino needs, say, 200ma then with the LM7805 you'd draw 200ma/H from the battery. The DC-DC convertor would draw more along the lines of about 90ma. Neither one will change the required # of AH much.

As for figuring the power needed for the arduino: For an accurate figure you need to look at the massive reference manual for the ATMEGA168 chip to find out how much power it uses at 16MHz, 5V, and full processing load. It takes power to run the serial UART unless you turn that off, etc, etc. The manual explains all of this. Then, you will certainly need a transistor of some sort to run the pump. I'd assume that unless you are using a MOSFET transistor that you'll need to peak out the 40ma on the pin. I don't know how much draw a PIR takes. It may or may not have to be powered from something other than an arduino pin.

As you can see, getting an accurate calculation could be time consuming. I think you would be pretty safe in thinking that the total power usage of an arduino would not exceed 200-250ma max. But don't count on that unless you really don't want to read the spec sheet for the processor.
243  Forum 2005-2010 (read only) / Interfacing / Re: Can an Arduino send a dialup email message? on: January 18, 2009, 02:34:24 pm
Thanks for the additional suggestions.  
My current plan is as follows:  
From my office computer, I will dial the modem at the remote site when I want to know the temperature there.  The remote site modem will answer (under the control of the Arduino) and the Arduino will send temperature data to my office computer.  This is just data transfer, not email or network activity.   I think the only unknown is how to control the serial modem with the Arduino, but I also think that AT commands ought to do it.  I haven't used AT modem commands for years so I will have to find reference information for that.  I will also have to learn the electrical requirements for controlling the serial input to the modem from the Arduino.  This seems simple to me although I of course haven't tried to do it yet.  If there is some reason why this won't work, please let me know.  Plus I'll be out of town for a few days and won't get back to it until the end of the week.  I should have the modem, Arduino, and LM34 temperature sensor by then.  Thanks again for your continued interest.  If I can get this to work, then I might investigate more sophisticated arrangements involving calling out.  But for now, calling in will serve my purpose, I think.        

That should work fine. As others have said (and I think I said it earlier in this thread too) you'll need a converter TTL to RS232 to communicate between the arduino and a serial modem. This can be accomplished yourself with a MAX232 chip and five capacitors or you can buy the P4B board which was linked to above. After that it's easy. I believe that you send ATA to pick up an incoming call. Then, once the call is established, you can just send ascii characters from the arduino to your computer.
244  Forum 2005-2010 (read only) / Interfacing / Re: Can an Arduino send a dialup email message? on: January 17, 2009, 12:13:47 am
3.  It does seem like an external serial modem is the next best option, although then I have to provide power to both the Arduino and the modem.   The power in the building is not entirely reliable.  I could run the Arduino off of the telephone line, I think, but I'm not sure how to do that for the modem, which uses conventional 120 volts.  I suppose I could take the modem apart and try to supply whatever it needs internally.

Actually, the modem is likely something like 5 - 9v DC. The wall mounted transformer steps it from 120v AC to whatever it is that it uses. I think I've seen external modems that input ac at 9-12V but I think most are DC.

As for the building power, you could run everything off of a battery and charge the battery when you do have power.

4.  In order not to need a dedicated computer elsewhere that the Arduino is calling, I think it might be better to have the Arduino accumulate temperature data in its own memory and then I will call it when I want to know what's going on.  I'll have to figure out how much memory is available for data storage.  And this would require the modem to be on all the time so that it could listen for my call.  

Well, the arduino has 1K ram, 16K flash, and 512 bytes EEPROM. If you store temperature as a signed byte (plus or minus 127) you could store 512 readings in EEPROM or maybe 700 - 900 in ram depending on how much ram you use. You could even use progmem and store things in the flash but it's more complicated. Then you could conceivably store upwards of 12k temperature bytes.

I still say you are better off calling when there is a problem and letting everything stay low power until then. But that would require you have something which it can call. A pager or cellphone perhaps.

Anyway, there has been a lot of ideas posted here. Hopefully they all lead you toward a good solution. Best of luck and don't hesitate to keep chatting until you've got something great!
245  Forum 2005-2010 (read only) / Interfacing / Re: Can an Arduino send a dialup email message? on: January 16, 2009, 11:43:16 pm
It could just do normal ascii or anything really. It all depends on what is running on the dialed line. If the computer on the other end is running custom software then the arduino could speak to it in a freshly constructed protocol for all it matters. Or, let's say the original poster has a cell phone. If the arduino only calls in case of emergency then one could assume that a mysterious phone call from a virtually unused line is a sign of trouble. Plenty of possibilities.

Yes, active phone lines run 48V but they also spike up higher (usually 90V) when they ring so one has to be careful of that. Also, they don't exactly support a whole bunch of current which is why external modems tend to be powered off of wall warts instead of directly off the line.
246  Forum 2005-2010 (read only) / Interfacing / Re: Can an Arduino send a dialup email message? on: January 16, 2009, 11:30:07 pm
It sounds to me as if an arduino and any external modem should be fine. Three points though... 1: If power is problem or not reliable you could power both the arduino and modem off of a battery. In fact, with a transistor or relay you could have the arduino power up the modem when needed, dial out, and shut it back off. Which leads me to point 2: The arduino only needs to send the temperature or at least a message, when the temperature is outside of normal bounds. No need to dial out every 30 minutes if nothing is wrong. And 3: The arduino serial output is TTL. The external modem will want RS232. You would probably need a MAX232 chip.
247  Forum 2005-2010 (read only) / Interfacing / Re: Backfeed on TX/RX lines on: January 27, 2009, 01:09:54 pm
Well, you can't use diodes at the RS232 side as those signals are AC. You might be able to get away with a diodes which have a .3V drop (and put them between the arduino's pins and the adapter.) I'd imagine that the TTL to RS232 adapter would be tolerant of signals coming in at 0 - 4.7V. I'm not so sure if they'd like a .6V drop though.
248  Forum 2005-2010 (read only) / Interfacing / Re: Is it possible to indicate the power of a battery? on: January 27, 2009, 12:00:27 pm
Yes, technically the V slope of LA and LIon batteries is worse but it does make measuring easier. And, in some cases it's not a big deal. If you are powering an arduino through a LM317 or LM7805 then the extra voltage is dissipated as heat anyway so the lower the voltage the less heat needs to be removed.
249  Forum 2005-2010 (read only) / Interfacing / Re: Is it possible to indicate the power of a battery? on: January 26, 2009, 04:53:13 pm
Yes, in fact that is pretty much what laptops do when you run the calibration routine.
250  Forum 2005-2010 (read only) / Interfacing / Re: Is it possible to indicate the power of a battery? on: January 26, 2009, 02:47:10 pm
Yes, it's doable. Batteries tend to change in voltage as they discharge. A fully charged lead acid 12V might actually be about 13.4V. As it discharges it goes down. Usually a 12V battery is considered dead when it hits about 10.5V. So you can test the incoming voltage. Having said that you need to keep a few other things in mind:

1. The discharge curve is not necessarily linear. It might drop off a lot for a while then level out (or opposite)
2. The more load there is on the battery the more potential for sagging the voltage. This isn't a problem if you stay way under the battery's maximum discharge rate (if you stay a few orders away from it's internal resistance)
3. Different battery technologies have different discharge curves. Some batteries maintain their nominal voltage until almost the end.

You basically have to know your discharge curve and then probably occassionally calibrate if you want accurate readings.
251  Forum 2005-2010 (read only) / Interfacing / Re: Nitgen FIM3040LV Fingerprint reader on: January 24, 2009, 06:28:44 pm
Sure enough, I actually am building something involving that finger print system and the arduino. I actually wrote a whole bunch of code to do a variety of different functions with the Nitgen unit.

Originally I had a little trouble (well, a lot) because I had assumed that the arduino and nitgen units were the same endian. They aren't. They are backwards. That could be a big portion of your problem. Also, the nitgen wants RS232 signalling not TTL so you need something like a MAX232 chip.
252  Forum 2005-2010 (read only) / Interfacing / Re: Any chance serial drops zeros? on: January 18, 2009, 08:26:31 pm
Yeah, drspectro pretty well described the problem. I'm posting only as a bit of trivia. This is a known problem and telco companies have fixed it on their lines. Go here to find out all you never wanted to know about how to fix the problem if you control both ends of the line:
253  Forum 2005-2010 (read only) / Interfacing / Re: Scott Edwards Mini SSC on: January 20, 2009, 12:02:20 pm
Yes, there is a simple way to test it. RS232 logic is AC. It swings both positive and negative. It also has a larger voltage range, usually around 14V +-. 5V TTL logic swings between 0 and 5V. So using a scope you can view the communication between the current devices to see what the signal looks like. An RS232 signal will have a large swing plus and minus while a TTL level signal will not switch polarity and will have a lower voltage swing.

And, if you do need rs232 signalling then look into a MAX2322 chip (and get 5 capacitors of 1uf) or someone recently posted a little circuit board from Wulfden:
254  Forum 2005-2010 (read only) / Interfacing / Re: Wiring 1P2T Relay on: January 12, 2009, 09:48:38 am
Well, yes certainly you don't want a transistor that could draw more than 40ma through it's base. I'm pretty sure no 1A transistor would though. It's still best to look in the spec sheet to be sure.
255  Forum 2005-2010 (read only) / Interfacing / Re: Wiring 1P2T Relay on: January 11, 2009, 08:19:52 pm
The coil on your relay uses 44.7ma. So it's only barely over the max current capacity of the arduino pins. Still, it is over (and by more than 10%) so it's not a good idea to continue using the relay like that. As anacrocomputer said, a transistor can be used as a current amplifier. A transistor is usually rated way higher than 40ma. 1A transistors are quite common.
Pages: 1 ... 15 16 [17] 18 19 ... 23