Before I get into some different form factors and boards I want to talk about the things you should look for in a computer for your robot.
1. Reliability – Make sure the computer can withstand shock, vibration and the thermal conditions in the robot
2. Fanless – this is a good idea so that dust does not get into the computer and cause failures.
3. Minimize moving parts – A good embedded computer will have no moving parts.
4. SSD or industrial hard drive – I know what I said above about moving parts but I am not sold on SSD’s yet. I have seen many of them die prematurely (the technology is still getting better and needs more time to mature) and I have also seen hard disk controllers that do not fully support SSD’s (even when the computer manufacturer claims that it does). According to a professional hard disk recovery service “the technology in SSDs is no more universally reliable than HDDs at this point.” they continue with another interesting observation “when an SSD is pointed out as superior because it has a MTBF of 1.5-2 million, you’re being told that the drive you purchased today is expected to fail somewhere between the years 2185 and 2242. Yeah, not likely.” When you get a hard drive make sure that it is an industrial grade drive from a reputable vendor (like Western Digital or Seagate). There are many no-name SSD vendors that should be avoided. They reputable industrial drives cost more but have much higher reliability and can withstand more vibrations and shocks. One good compromise is to use an SSD for the operating system and a standard disk drive for data (and things with a lot of read/writes).
5. I/O and peripherals that are available
6. Power consumption
7. Development time (time to integrate and modify software if need be)
8. Lead time and cost
Type |
Description |
Specs |
Ruggedness |
PC104/PC104+
|
PC104 boards are a standard form factor that are 3.550 × 3.775 inches and the boards can be stacked. There are many peripherals that can be stacked to add functionality such as CAN, serial ports, firewire, IO boards, etc… Due to the form factor most connectors/wires are coming off from the sides of the boards. This can get very messy and we often refer to it as spaghetti. The PC104 has an ISA bus that is in the connectors between boards. The PC104+ adds a PCI bus connector on the other side that gets stacked. You will typically put a PC104 power supply card in the bottom of the stack to supply power within the ISA header for all of the boards. The CPU board is often put on the top for thermal reasons. |
They tend to be a year or two behind the latest technology as it takes time for these boards to be made. They are usually supported for an extended time. While you can get fast boards many of these boards will be slow and are designed for small power consumption. |
They tend to be very reliable and rugged. However sometimes operating systems will not always work bug free and might take work to make them reliable. |
CompactPCI (cPCI)
|
These are large boards that fit in a card cage. You can only have one CPU board integrated into the card cage with access to the peripherals. You can have additional CPU’s in some back planes that just get power. These tend to be high performance power hungry cards (although you can get lower power ones) |
These boards typically lag the cutting edge boards by only a few months. The cards typically come in 2 sized 3u and 6u |
These boards also tend to be reliable and things that work on a normal computer will work on these. The card cage should be shock mounted. They also are the most expensive option listed here. |
NI cRIO
|
National Instruments makes the CompactRIO or cRIO series of boards that lets you customize your computing system. There are many different types of boards for I/O, networking, motor control, etc.. that can all be combined with a CPU with reconfigurable FPGA in a rack (the integrated FPGA feature is really nice). |
These computers are a little behind the latest computer specs. Currently the fastest model is 1.33GHz. But is also has the FPGA were you can offload parallel tasks to. |
Unlike the other categories I do not have that much experience with these computer. From what I hear and from the web site descriptions they seem reliable. Also NI has a good history and is a reputable company. As a large company the technical support is probably superior to many of the other companies in this market. One think I do not like about these is the reliance on using their Labview software. The few times that I have used Labview I have been frustrated by not being able to tweak certain behaviors as it is a very high level environment. With that said if you are trying to get something to work and they already have a solution it might be good for the non-programmers among you. |
Standard Laptop
|
We all know what a standard laptop is… But I will still include a picture |
These computers are built with modern system specs. |
This is where things go bad. Laptops are power hungry and unreliable. The shock/vibration while the laptop is running can be bad for it. Powering them can also be a problem many laptops are not happy with just feeding 12V (or whatever) in. They want a signal from the power brick. The built-in screen is useful for debugging but also is bad for reliability. They also have lots of vents/fans that can suck in dust and if blocked will cause the laptop to overheat. Some laptops can not be started if the screen is shut and no monitor is attached (one way to get around this is to add a resistor to the VGA port to spoof a monitor), this can get in the way of starting them from an external switch. |
SBC: Adlink MXE-5400
|
This is a sample single board computer. It can be purchased with several options. usually would have a high lead time. |
The computer is built with state of the art specs. |
These are very rugged machines that are fanless and use fins to dissipate away the heat. When you open them up you see that there are often no cables and everything is screwed down and has metal mounting plates. |
SBC: RaspberryPi
|
The raspberry pi is a modern ultra low cost computer with an arm processor. It is very popular right now in the hobbyist world. There is a limited amount of IO options for interfacing with other devices. |
It has low specs and is designed to be cheap and low power. |
Reliability is unknown. It tends to get very hot which can be bad when put in a robot. Also it is made at a very low price point which probably affects the quality of the components in use. Several components are known to fail early (such as the SD card). Also since it is very low specs if there is a software bug (such as a memory leak) it can cause the board to die. |
SBC: Technologic Systems TS-7800
|
This is a very low power fast booting arm based computer. It has a bunch of peripherals that can be connected and some PC104 card compatibility. The computer is a little larger than a PC104 card (more rectangular). Being an ARM processor some libraries and pre-compiled binaries from an x86 will not work. |
It has low specs 500MHz ARM9 and 128MB DDR-RAM. It should be noted that low is still good for many applications. |
I have used and abused this family of boards and they have survived and have proven themselves to be very robust. I have flooded them, baked them in the sun, and had them in the field for years with no problems. |
Comments
Hello,
I’m having issues with model SSDnow 300V from Kingston. The energy required by it on my robot very unstable, there are variation of up to 0,5V on It’s power input when stressing it and the mechanical connection of the SATA and the power cable are very weak against vibrations.
Is it the wrong model for my application? What would be the best soluttion for me?
Hi
Quickly looking at the drive it seems good and Kingston products are generally good.
I think you need to revisit your robots power system. You should generally have computers on a regulated power bus that is clean and does not have those swings. Also are you sure it is the drive having problems and not the entire computer?
I think you also should look at how it is mounted. At minimum it sounds like you need to add strain relief. A good embedded computer often has a way to mount a drive in a rugged manner.
I do not know your application so I can not comment on that question.
Hello,
Both Pc/104 and SSD are mounted together screwed in a box, with rubber locks holding each connector.
They are being powered by the same 24/5Vdc converter, where the input are 33,6V parallel bateries and the 5Vdc output is directly connected in parallel with both PC/104 and SSD.
So yes, the output is showing voltage variations, despite of the converter model being a 200W from Vicor.
Do you have 2 battery packs that are at 33.6V that are in parallel?
Have you measured your battery voltage while under load to make sure you are not browning out? What is the input range of the Vicor?
Do you have capacitors on the input and output of the Vicor?
Yes, I may have between 2 and 4 packs of 33,6V batteries in parallel.
The Vicor input range is between 18V and 36V.
All measures were made under load.
I only have the capacitors Vicor recomend in order to filter noises, which are 0.2uF and 4.7nF, according to page 19, figure 4-1 of the applications manual:
http://www.vicorpower.com/documents/applications_manual/DesignGuideAppsManual_200J00.pdf
What is the specific issue (and symptoms) that you are having with the SSD?
The SSD connection is suddenly being lost, meaning the computer continues to operate, but on a frozen state since it cannot access the hard drive.
Does this only happen when the robot is moving (as opposed to stationary)?
Can the connection be flaky?
Can you test the SSD on a different computer?
Do you have a different SSD you can test on your PC104?