Ventspils University College in Latvia got itself a kit to teach cubesatellite technology to students. The kit was developed by company called LATspace. I got my hands on it and made pictures of everything.
The kit is made out of normal components so it won't work in the orbit, but it is a good studying tool for students. The cool element about the kit is that power supply and ADCS board are with same design and for different systems different parts of the PCB were populated.
Power system consists of small cheap solar panels mounted on PCB side panels. For storage there are two normal 18650 lithium ion cells and to charge them - two little linear charger chips.
Also with the system came external big battery and charger units. Probably because space industry really likes big bulky systems with D-subminiature connectors.
Attitude control and on board computer
On earth you cannot two thee axis attitude control because you have gravitation. But when suspending the model with a string, you can make attitude control around one axis. This system has one axis of reaction wheel that is controlled by L298P motor controller. The motor is a normal brushed DC motor with small flywheel attached. On the board there is also two axis magnetorquer controlled by the same motor controller chip. I couldn't find any sensors, but I presume they were hidden away to somewhere where I couldn't get.
On board computer is just an empty board where you can mount your Arduino. There is also Xbee for communication and microSD card slot.
I have been working closely with ESTCube satellite project that is developed by Tartu Observatory. Tartu Observatory is Estonian space technology centre that does space science and builds satellites. Couple of years ago they got a new building and now the electronics labs have been shaping up too. I am working closely with them so I use the laboratories and testing facilities quite often.
I have been visiting finnish Aalto-1 satellite project a couple of times. I am building half of one of their experiments - motor control board for electric plasma brake. Took bunch of cool pictures of their technology. Enjoy.
So I got the opportunity to visit AMSAT-UK Colloquium. What is that anyway? Well - Radio Amateur Satellite Corporation UK edition's meetup.
On the first day there was a bring your own board meetup. So we took about all of the ESTCube-1 PCB and threw them on the table and went off to talk with other people. It was really fun and I took a lot of pictures of other people's work. From that I learned that many people have the same problems as us. System engineering problems, internal communication protocols and so on.
There was a bunch of talks about well, amateur radio satellites. European Space Agency guy was talking about their workflow (which made me doubt in them a bit more) and then about their projects (which made me to like them again). QB50 guys were talking about behind the scenes and future of this project. I got more confirmation that system engineering is awesomely hard. So I want to do it even more.
We got a tour in the Surrey University space center and Surrey Satellite Technology LTD headquaters and could see in their cleanrooms. They had more cleanroom soldering places as whole Tartu has normal ones..
But most importanly - I meet up with a lot of cool people. If everything goes well then I will be involved in some ESA projects soon.
NB. And I got to see the PCBSat, wee!
ESTCube-1., the cubesat satellite project I have been a part of over a year was successfully launched couple of days ago. It was on Vega rocket start on 2013-05-07. CW morse beacon is broadcasted on radio amateur frequency 437.505 MHz.
I was mainly in the hardware team designing and manufacturing the final circuit boards using components tested by people before me. Most of my time was spent in working on electrical power system, but I also helped with attitude determination and control system board layout. Most independent work I spent on one of the payload circuit boards. I designed and assembled piezoelectric motor driver boards as my thesis work.
Long live the satellite! I will work on many more satellites.
Okay.. So our CubeSat power supply subsystem should have batteries. There will probably be some solar cells to. Something else too?
The system level design is done after ESTCube-1 power system. Public information about it is available in the article.
- Two lithium ion cells in parallel
- Both are two way current limited
- Current limits have auto retry
- Enable signals are connected to controller
- Temperature monitoring
- Optional: Some kind of heater (pcb track)
In case of one battery failure the satellite can still operate. Batteries are connected through protection to a net named Main Power Bus (MPB).
- SPV1040 maximum power point tracking boost converter
- 6 or 12 channels
- Each solar cell is in parallel with others. You can smash 11 of the 12 cells and still have a working satellite.
- If it makes channels smaller - I will use ideal diode controllers before MPPT to reduce number of MPPTs needed.
- If it is needed - ideal diodes between SPV1040 output and Main Power Bus
- Parallel regulators on 3.3 V, 5 V and 12 V rails
- Output current limits/ideal diodes
- If needed - input current limits
- If regulators are wimpy and there is room - more than 1 power rail to all voltages.
- We will have a microcontroller monitoring everithing (MSP430FR or maybe Arduino)
- All FAULT signals are connected to MCU
- Reasonable amount of enable-disable lines
- Digital communication with other subsystems (SPI, UART or I2C)
- Possibility for zombie check signals from other subsystems (to function as a watchdog)
- Battery voltage measurement
- As much other voltage measurements as possible
The first thing to choose when designing a power supply are the batteries, since they take up most of the room and weight. When choosing batteries one must think about size, weight, capability. But also availability and mounting to the PCB. Also non-hardcase batteries tend to swell in vacuum and you can't trust batteries with built in electronics like cell batteries in space either.
First option is 18650 lithium ion cells. Standard practice, easy to get hold off and you can get space certified versions. But they are really uncomfortable package for PCB stacking. For a minute I though about AAA sized liion cells, one can get thinner power system, when using them. But they are as hard to assemble as 18650 cells and there has to be quite many of them (10-12 pieces).
Another option is to use RC hobby market to get cheap and good batteries. Like these 5.6Ah lithium polymer cells - cheap to buy, easy to assemble, no worries about blowing them up. Unfortunately lithium polymer has two times less energy density than lithium ion. Normally we don't have high current busts in common satellite power system so lithium polymer battery strength will be unused.
After searching around for a long time I finally found some pages that sold prismatic lithium ion cells. One idea is to use two 1.5 Ah soft case cells and press them between pcbs. That would get us 11.1 Wh of capacity with 10 mm thick power system.
Finally I found Panasonic UF103450P hard case prismatic lithium ion cells. They are flat and look like phone batteries and since they are hard case - we can glue/solder them on the PCB and be done with it. Sourcing will be a bit hard, but the result - 13.3 Wh system at 12 mm thick, single PCB power system is really good. After a bit of search I found multiple companies that sell prismatic lithium ion cells. Like this and this. The second site (a bit down at the moment) gives us 6.7 mm 2Ah batteries. Excellent!
All of the final battery options are good and worth using in a satellite, which one to use depends on the client (you!).
Want some more RAM - you got it. Want it to be radiation tolerant and non-volatile - we have got what you need. Arduino Mega Ferroelectric RAM shield. It uses one Ramtron SOIC-28 package non-volatile memory - like FM16W08-SG or FM18W08-SG. It is a parallel memory that is mapped right on your ram. And non-volatile means that you don't have to use that EEPROM any more, you can save data right in your RAM.
Board has room for one memory and one latch, needed for the bus. Besides that there is also a little AND gate to make protocols of AVR and FRAM work with each other - there were some pin differences. The schematic is tested and working but the board layout isn't.
And just a little extra something - there is a parallel FRAM on the bottom of the board. It hooks up to your SPI and works like a serial flash chip. You can use Ramtron FM25640B-G and other pin compatible devices.
Info about how to use an external RAM with Arduino Mega.
Buzy times at school - I'm developing a motor controller for ESTCube-1 satellite. We decided to use MSP430FR series MCU in it because it uses ferroelectric RAM and should be more radiation tolerant than regular MCUs. Besides I wanted a excuse to learn Texas Instruments microcontrollers.
Schematic was quite straightforward - I took MSP-EXP430FR5739 Experimenter Board Eagle files and used that as a reference. I also use the same board for programming. That makes software side really easy - PC thinks it is talking with regular development board.
Unfortunately I couldn't get the software up and running on the linux yet. Programmed first few test programs with my other computer and will get back to installing it on linux in couple of weeks.
While using MSP, I noticed some annoying things. Like the MSP family datasheet has default values and register descriptions in different places. And setting the 16 bit registers bit by bit is confusing. Fortunately I found the code examples fairly quickly and that got me up and running in no time.
But to finish the evening I made some voltage tests with my board. The chip should handle voltage up to 3.6V. I had some mosfets connected to IO pins that didn't want to open at 3.3V, they wanted something more like 4V. So I cranked the voltage up to 4.2V. It worked for couple of seconds and after that all the IO pins of the MCU were dead. I could program and debug it and the crystal was oscillating, but none of the pins worked any more. So yea, that was fun, more of that soon.
There is more information about ESTCube-1 cubesatellite power system that I am working on. My supervisor published an article about the power system in Latvian Journal of Physics and Technical Sciences, you can read the article from here. I am very exited because the article reveals technical details, chip names etc. Also this is the first scientific article that I am in the authors and I'm still a Bachelor student.
Finally got to uploading pictures of my satellite work. My main job in ESTCube-1 has been designing electronics. This is the first board I did for the satellite. It is Electrical Power System microcontroller board that measures and controls whole satellite power.
The form factor is very typical for cubesats. 94mm x 94mm PCB with 3mm grounded holes in all corners. The big sea of pads on the top is main stack connector. Also very common in such satellites: 4x30 pins with 2mm pitch. Usually the cubesats are divided to subsystems. Each subsystem has one or more PCBs in main PCB stack and they all communicate through main connector. This makes possible for hardware teams to work separately and provides maximum amount of standardization. And standardization leads to commercialization. And that - to cheaper and better quality products.
Now the oddities of the board. As you can see there is a big hole in the middle, this is for accommodating batteries. It made routing the board much more fun. It is a 4 layer board with a ground plane on all the layers. Top and bottom layers are mostly for signals (less vias, better to debug). One of the inner layer has the power tracks on. The connector on the bottom side connects to other Power System board that has all the main regulators and switches on.
Ribbon cable is for JTAG programming. It was meant to have a connector but connector was too bulky to fit in the stack, so, until we make new board with Micro-MaTch connectors it stays that way. The other wires are for temporary power input and regulator enable.
Unfortunately no high-resolution pictures, part numbers or schematics. The university doesn't like to open source project that they are planning to sell so I was allowed only to show of pictures.
Today I found a build of RF transmitter using one mosfet (and AVR). So, I started thinking. Say, we take the smallest solar panel we can find, like 22x7mm KXOB22-01X8-ND from DigiKey. Or CPC1822 in SO-8 package from Sparkfun. Then we add 3$ 0.4mm thick PCB from itead. On the other side, lets mount the most radiation resistant and low power MCU we can find - something from Texas Instruments MSP430F* FRAM series. The rest of the board space will be used for RF tranciver and tantalium capacitor. What we just got is a fully functional satellite with BOM cost less than 10$. If using SO-8 package the size of the entire satellite will be 6x5x3mm.
Why not start building it? I am still waiting Texas Instruments to come out with MCU that has FRAM and RF built in. FRAM is needed because it eliminates power consumption and makes it radiation hardened. Both necessary for space environment.
So, I have been in ESTCube-1 Electrical Power System (EPS) subsystem for a while, and my stay in there has gave me some ideas and thoughts, how to make one. I also looked on the CubeSatShop Power system category. New systems should combine the simplicity of those designs and the efficiency of our impossible to assemble monster system.
Random commercial EPS usually have - series solar cells, boost maximum power point trackers (MPPT), series 7.4V 18650 based liion battery and finally - two big and slow (~200 kHz) buck converters for 5 V and 3.3 V rails.
Short overview of our system: parallel solar cells with 6 inputs, boost converter with MPPT, current limit, 2 parallel liion cells with separate protection, double 5 V and 3.3 V converters (~600 kHz) with protection on input and output. And to top it all off 2 PCBs worth of measurement devices that turn out couple of thesis and articles worth of data. Although cool from university point of view - not cool at all from buyers. Also because of the device densities the thing is unsolderable with reflow.
The power rating of 1U system is fixed with solar panel size. ESTCube-1 assumes average of 1W of power and maximum at about 3W. Battery size is normally 16 Wh, that corresponds to 16h / 10 orbits of charging. Our rails have up to 600 mA output, NanoPower P31u have 5A output rails. Also when operating on low Earth orbit the radiation and temperature are not very big problems. After fixing some basic requirements, the design itself can be optimized for size and weight.
- Mechanically compatible with PC104 standard
- Automotive temperature range
- Duplicated outputs
- Raw battery outputs current limit up to several amperes (for burning resistors etc.)
- Duplicated 3.3V and 5 V rails with current limit
- Dual parallel batteries with around 15 Wh of energy
- Battery temperature monitoring and heating
- I2C, UART or SPI communication for information (battery status, fault codes)
- As thin and light as possible
So I finally found a document describing PCBSats. Basically the design is a fraction of CubeSat standard. It was frustratingly hard to find document about satellites smaller than Cubesat. Its on address http://www.dtic.mil/cgi-bin/GetTRDoc?AD=ADA486188&Location=U2&doc=GetTRDoc.pdf , Chapter 6 on page 98. It has in depth description of 1/4U PCBSat, so 25x100x100mm in size. Basically it has two PCBs with solar cells and one main PCB. One side of PCB is covered with necessary satellite schematics and other side of the board is for payload. All the free space and mass is filled with Aluminium (which, as I learned, is THE best radiation protection per kg). PCBSat seems finally something small enough to build one myself, open source it and kickstart it into the orbit. I already got couple of my friends interested in building an open source satellite. All I need is a payload.
Last week we visited Helsinki, Aalto-1 satellite builders. They are building first Finnish satellite, a 3U sized cubesat. Unfortunately they are buying most of it in from companies. So their Electrical Power Supply guys didn't know anything very interesting. Nevertheless we got to socialise with other student engineers and learn new things. Like antennas made out of tape measure. Seems like a hack, but it is an informal industry standard. As is burning fishing line with resistors to deploy the antennas and much more. Its so weird how much knowledge about satellites is out there, but none of it is shared with the world. I think that's awful, therefore I try to share as much knowledge as I can.
And finally, about the pictures. These are made from space materials and products that were brought from [censored]. Bunch of great ideas and awesome engineering, but yea, its still censored and classified.
First, the CubeSat project. It is is pleasureful because it gives so little room, that you cannot waste any it. And I just love miniaturization. Also it is very good and cheap way to develop space technology and teach young engineers about it. But like with everything else space related, there wasn't Wikipedia page about it in Estonian, so I made one.
I also found out about thing called CanSat. It is basically a teaching base for students. They have to make "satellite" that can fit into a can and then it gets tossed out of rocket at the height of 600m. From there, it drops down with parachute and makes pictures, measures different atmospheric parameters or does something else cool. Basically works like Robotex, but only with space direction, I think it hasn't any real space design in it. This didn't have any Wiki article either, I stared one but it needs your support.
Another cool project I found from the interweb is Sprite. It was a Kickstart project that promised to give everybody a personalized satellite for 300$. Searching for a bit more information I discovered that they are basically a boring research group that develops chip size satellites. THE awesome thing about them is that they will make kind of mothership out of CubeSat. So they take hull of CubeSat and fill it with ultra small satellites, this makes developing your own one even cheaper. I did some rough calculations and came up that you can make satellite 50 x 50 x 3.3mm and send it to space for about 300$. Pretty cheap, for so big satellite. I'm sure everybody can manage even to squeeze motors in that size. If someone would start to sell such places I would buy five.
Thanks to Markus I have been involved with EstCube1 satellite building for about half a year. That came as a suprice to me too because, well, I hated space. It seemed so expensive and far. But now, it seems logical. Space is home to new technologies, everything is harder to make for space and cruising on the land is too easy anyway. Chilling on the moon would be tens of time as awesome than on land. So now my daily activity is building satellite power system.
I myself am not interested in mechanic or rocket part of the space, but the electronics and design in general. The electronic part, like everything else has to be as rugged as possible and if possible, have several backups. This makes designing such devices very interesting. One random capacitor per circuit is not enough when you get hit by solar wind or charged particles.
Over the last half year, I have discovered that the golden ages of the space are over and the better ones have not arrived yet. The public doesn't care about the space and the web lacks materials and articles. Of course, everything being classified helps a lot. Fortunately there are some (funny) articles about space, my favorite one is Space Colonization. Because without space colonization, human race is dead in longer run.
Recently I have been working to make Atmega1280 work with ferroelectric non-volatile RAM FM1608(datasheet). Ferroelectric and non-volatile means that this thing is basically bulletproof (by bullets I mean radiation) and remembers everything even after power outage (like flash). Why would I do this? The reason is simple, I will use this to store avr's firmware, so even if flash memory gets corrupted the bootloader can restore the firmware from the ferroelectric memory. It makes the chip stand much more radiation, like in a nuclear reactor or on the Moon.
Atmega1280 has External Memory Interface so I connecting the RAM and atmega (in Arduino MEGA) with a simple latch. After a week of debugging it came out that atmega and RAM speak different control signals. Small point to point AND gate, made out of diodes, fixed that problem. So it finally worked. Amazing how parallel communication can work at 16MHz through that awful mess of wires.
Next was the firmware. The pleasure, I got to write C code twith lots of pointers and static memory mapping. Basically it takes the contents of the flash via UART in 128 byte packets (half of code page) and saves it to ram. It would have been logical to send and save code in full pages (like the bootloader uses it), but the application required the packets to be smaller than 256byte. The code uses Fletcher's checksum to make sure there were no errors in transmission.