Actually, steppers work best operating at 8-20X their rated voltage. Most of the stepper motors used in 3D printers are rated for 3-4V, so 12V supplies work, but are not ideal. It is better to operate from higher voltage if your drivers can handle it. I have 3.2V steppers in the X and Y axis of my printer and operate them using external drivers and separate 32V power supplies. I get fantastic print quality.
The RAMPS board is your limiting factor here. The motor drivers on it can't handle more than about 1.7A continuously or they'll overheat and either die or shut themselves off. Either case will have disastrous results for your prints. Trying to run the RAMPS board from 24V is often problematic because some of the parts on the board may not be able to handle 24V. Stay with 12V and hope for the best. Be sure to get some spare motor driver modules- you're going to need them- you'll probably kill a few before you get the machine dialed-in.
You might want to look into external stepper drivers and power supplies. You can run just the steppers off a higher voltage supply- look for 24-36V, and then pick up external driver modules like these: [www.ebay.com] for $12 shipped. See all that heatsink area? Compare that to the heatsinks on the pololu driver modules. Those modules will connect to the step/direction/enable lines on the RAMPS board very easily. You'll pay $5 for the little pololu modules, so this isn't a very big step up in expense but it will be a huge step up in reliability.
If you want to get a little fancier, you can try DSP based driver modules like this: [www.ebay.com] These have additional settings for microstepping, handle higher voltage supplies, and sense resonance and suppress it by modulating the drive current. They will make your printer run whisper quiet.
If you aren't married to the RAMPS board, look at Smoothieboard. The on-board drivers will handle 2A continuously without overheating. You can connect 24V with no worries. It has about hundred other benefits, the biggest of which is not requiring a firmware recompile each time you change a machine configuration parameter. You just edit a text file on the board's memory card and reboot the board. The config file is read each time the board boots up. No screwing around with flaky Arduino IDE.
The RAMPS board is your limiting factor here. The motor drivers on it can't handle more than about 1.7A continuously or they'll overheat and either die or shut themselves off. Either case will have disastrous results for your prints. Trying to run the RAMPS board from 24V is often problematic because some of the parts on the board may not be able to handle 24V. Stay with 12V and hope for the best. Be sure to get some spare motor driver modules- you're going to need them- you'll probably kill a few before you get the machine dialed-in.
You might want to look into external stepper drivers and power supplies. You can run just the steppers off a higher voltage supply- look for 24-36V, and then pick up external driver modules like these: [www.ebay.com] for $12 shipped. See all that heatsink area? Compare that to the heatsinks on the pololu driver modules. Those modules will connect to the step/direction/enable lines on the RAMPS board very easily. You'll pay $5 for the little pololu modules, so this isn't a very big step up in expense but it will be a huge step up in reliability.
If you want to get a little fancier, you can try DSP based driver modules like this: [www.ebay.com] These have additional settings for microstepping, handle higher voltage supplies, and sense resonance and suppress it by modulating the drive current. They will make your printer run whisper quiet.
If you aren't married to the RAMPS board, look at Smoothieboard. The on-board drivers will handle 2A continuously without overheating. You can connect 24V with no worries. It has about hundred other benefits, the biggest of which is not requiring a firmware recompile each time you change a machine configuration parameter. You just edit a text file on the board's memory card and reboot the board. The config file is read each time the board boots up. No screwing around with flaky Arduino IDE.