Hyperlapse. Hyperlapse is moving timelapse, and therefore better. So if you need moving timelapse videos or just a slider, and ask yourself the question: How do I do that?
CamSlide is the answer!
CamSlide is open source. From the code to the components (mechanical or electrical). It is independent of any platform due to the structure as an embedded system and can be used anywhere due to the enduring battery pack.
CamSlide is cheap (unless you count working hours). The pure material cost is under 200 €. Anyone with access to a 3D printer will be able to create CamSlide within a week. For all those who do not have a 3D printer: Do not worry, there are enough vendors in every major city.
CamSlide is robust. Designed for 5kg load in a horizontal position and up to 3kg in a vertical position can drive almost all major cameras with it. The sturdy aluminum guides take it up with everything!
So, what are you waiting for? Do it yourself!
The entry to CamSlide is divided into 3 large categories due to the high cost. Going through them in chronological order makes the most sense, because I also wrote the entries in that order.
In addition there is the download link. There you will find everything you need for CamSlide, collected in a zip file. If you like, you are welcome to support me here.
Everyone can use CamSlide to take the pictures they've always wanted to take. The only exception is: The use is only permitted for non-commercial purposes. Why? Firstly, I would get tax issues on sale, secondly, there is no declaration of conformity and third, I use software that I'm allowed to use only non-commercial.
The boards, yes this time two, I have again ordered at Platinenbelichter. For the board layout itself I use Eagle from Autodesk. You get a free license there if you want to use Eagle for non-commercial purposes. In order to order the boards then it is sufficient to send the two *.brd files to the the PCB manufacturer of your confidence.
There are two boards because I split the CamSlide control into two sections. Once the Controller and once the slidSliderer. The controller includes the display, the joystick, buttons and switches. The slider is the carrier for the motor controllers and the sensors.
Of course, the whole setup needs more than two PCBs. The list of purchased parts can be found here and in the parts list in the download directory. Should it ever come to deviations, because I was too lazy to host the website properly, then always the state of the downloads bill of materials.
As so often: Without breadboard, you will not get away with testing. The structure just fits on a normal board. The most important functions can be mapped so well, such as the menu or the control of the motors. As engines I have chosen two Nema engines. Once the larger 17HS4401 for driving the carriage, and then the smaller 17HS2408, which can turn the pedestal on which the tripod head is attached.
The battery pack is a cheap battery holder with 10 places. Eneloop batteries of size AA are used. These last really long and are also recharged quite quickly. I would not use normal batteries, because they are quickly empty and have a higher voltage than the Eneloops. That does not like the voltage transformer.
Two DRV8825 controllers are used as motor controllers. These are quite common, especially in DIY 3D printers. With proper cooling, they can deliver up to 2.2A at the output. I advise everyone to read the official docu of the chip. Especially the point with the current limitation is particularly important.
Let's start with the controller. On it sits the Arduino Nano, which is the heart of CamSlide.
|2||Resistor||220Ω, 1/4W||metal oxid|
|1||IC socket||8 pins|
|1||IC socket||32 pins|
The Eagle-File, as well as the PDFs and all the rest to the controller are of course available for download (in the Download Dir). What to look for: The IC socket for the Nano has two legs too much. Just get them out with a pair of needle-nose pliers and solder the socket to the board. Also, check that you have enough cables, sockets, and crimp pins. Of them you need a lot here!
Due to the many connections you end up with some cable clutter in the case. Good that this is big enough that even cables that are longer than necessary, can be well housed.
When soldering the plug, do not forget the rubber grommets! They cost practically nothing and keep the contacts isolated. That makes it all the more professional.
Next comes the board of the slider, which carries the motor controller and is located directly on the slide of CamSlide. The connection between controller and slider I have realized with the wires of a DVI cable. Only the cables of the power supply have a larger cross section, so that they do not simply melt away. The cable cross sections, as well as the assignment plan can be found at the top of the zip file.
On the other hand, I put the motor controller on a pedestal, should one actually burn one down (which has never happened to me before, even though I'm not very gentle with it), so it's easier to swap it. Space is in the case of the sled for it all.
And here we are with the mechanics. I should perhaps say something else before we start. CamSlide is thought that you can make it conventionally later. Milling. Therefore, there are very few design issues that are actually optimized for 3D printing alone. Think of it as a hybrid, which can be produced at any time with different manufacturing techniques. Why do I want to be able to make it by cutting? Tolerances. They are just too imprecise for me when printing.
In addition, during the first test attempts with Camslide, a few problems arose, which are due to the high elasticity of the plastic. If the mass of the camera is too high, then high-frequency vibrations result on the large carrier platform. Remedy: Mill or print from aluminum.
I have all the necessary files, plans and STL files in the zip file for download. STEP data is not included because it would simply overload the space on my webspace too much. Anyone who has them, one e-mail is enough and I send them.
The entire mechanism is designed for a mass of the camera of 5kg. This weight can be easily absorbed in a horizontal position. Vertical I would mount a lighter camera, otherwise the motors consume all the energy of the battery pack for not dropping. And if the battery is empty, there is nothing that prevents the carriage from rolling down. So watch what you are doing.
The construction is split into three large parts. The rack, the sled and the controller. Regarding the controller, I have to admit that it is quite clunky and does not really suit the design of the rest, but unfortunately it has to be big enough to hold everything you need, like the battery pack or the joystick.
In terms of design, I wanted to stick to a buzzword; Slim. Small radii, tight contours, simple and light. With this thought, I have tried to accommodate everything necessary so that it can be assembled even halfway well.
The platform is the most important part of everything, it carries the motors, their controllers, all the sensors and the camera. I spent most of her time with her. After much time of strength analysis and a destroyed sample, it is now slimmed down so that it can carry the calculated mass at very low weight. In the strength analysis, you really have to be careful, because 3D printing is now a lunkerbehaftetes manufacturing process. Homogeneous structure? Unfortunately, no.
In the picture above you can see what's in the sled. Under the first cover you can see the belt drive for the rotary movement. I advise everyone who drives only very small angles to always have the engine switched on, so as not to be too inaccurate - see more in section 3 later. Under the platform you will also find the engines. General tip when constructing: Pay attention to the cables, you underestimate very quickly how much space they need.
When printing there are a few things to note. The controller's platform and housing are the largest parts. Check to see if you can print both, if not, then just search the Internet for 3D Prints. Furthermore, I have not made all parts from PLA (strictly speaking HT-PLA), but also from Onyx. This is the brand name for PA6 (nylon) from Markforged. Why? The stuff is really resistant to wear. That's why I used it for the case of the controller, the gears and the hyperboloids.
Do not forget that some components have integrated parts. Pause the pressure and insert it. The bearings should be a little tighter, nuts should slide in easily. Which component must be paused on the respective production drawing this, which is in the zip file.
The aluminum tubes, as well as all larger printed surfaces, I have painted with black peel-off. It works very well, theoretically you would not even need a primer, but I still primed it. The only downside is, you need a lot of paint, very much. So if you do not care that the pipes are bare and that you can see the printed structure on the components, you can do without it.
The painted parts I edited before painting with sandpaper. Depending on the print quality, you can start with finer paper. Unfortunately, you have to do it manually, because as soon as you press on with machines, the surface gets so hot that it melts again. This destroys the component and sticks the machines together.
Start with the sledge. I was too lazy to make proper assembly drawings. Just look at the drawings and your parts, you'll see how it fits together. Who needs STEP data for the assembly: as already stated, just send an e-mail to me (the address is in the footer of the website).
The drawings will look something like the one above. Not very clear, but sufficient to assemble CamSlide. Just search the zip file, there are also complete parts lists, definition lists and a few other useful things.
Short note: Currently CamSlide can only be placed on a table or on the floor. But you can omit the two cover plates on the chrome steel rods and fix so the frame on two tripods with the help of brackets. Yes, that's not a nice solution, but I'm still not satisfied with any other solution.
So much for mechanics. Now comes the last point: the programming.
How should it be different? GitHub. Remember, GitHub also mentions some of the other blog posts I wrote to help me understand everything. I will not go into detail here on the code, that would go beyond the scope of this entry (actually, I'm too lazy for that).
But if you want to get an idea about menu guidance on microcontrollers, I'll give you a short explanation on the way. I generally write menus so that the corresponding functions are only called when an action is set by the user. The controller is waiting for a button to be pressed or for the joystick to move. Only then will the corresponding action be executed in the menu and only then will the display be updated. This really saves a lot of resources on the controller.
On GitHub is always the most recent, but possibly not the most stable version of the software. To be on the safe side, take the software from the zip file (those files with the extension .ino). The main file is named CamSlide.ino. Open this with the Arduino IDE, or with Sublime-Text und StIno.
For anyone who is unfamiliar with Arduino:
I have written the software with the Arduino version 1.6.6. That's because I do not do any updates during a project. Otherwise I'll be busy patching everything at some point.
If the software can not be compiled with the latest version of Arduino, then you have to get the old version. For beginners there are some tutorials on Arduino.
Make sure that there is always a 12V supply when you connect the Arduino via USB. Unfortunately, the microcontroller does not deactivate that I do not want to supply it via USB. Well, it would work, but you have to change hardware.
Compile the code and load it onto the controller. That's it. Not quite, you have to do a few little things before you can use everything properly.
Every case and joystick will be slightly different. To adjust this press the two buttons (A & B) on the housing of CamSlide at power up. The software now switches to calibration mode. Now move the joystick along the edge so the software learns where the boundaries are. Just follow the instructions on the display.
So, now only the gear ratio is missing. In the Settings menu go to the item Length. Sets the extxtive travel length of the carriage, simply using a scale. The travel length is the distance that results when sliding the carriage from one end (end position button) to the other. It is not the length between the two end sensors!
Make sure that there is no camera on the slide and that the tripod head is removed. Because after you confirm the length, the slide moves from one end position to the other, so as to calculate the steps on the motor per millimeter.
Basically that was the setup. CamSlide is now ready to be used.
What is important to note? Actually only that you let the engine always enabled, if you drive a slope. Otherwise, there's the unpleasant effect of gravity, which always pulls the sled down. As already mentioned briefly: If the battery is empty or the power supply is interrupted in any other way, then the slide is no longer held back.
Maybe a short disclaimer. You are responsible for damage to cameras or other things. Watch what you do!
There are three menus. Automatic, manual mode and settings.
In this menu you will be accompanied by all submenus. By pressing the A-button you move on to a submenu, by pressing the B-button one back. The joystick completes the settings.
Tilting the joystick moves the carriage to the left or right in this menu. If you press the A button, the joystick changes its affiliation: Now you can rotate the platform. With the B-button you get back to the main menu. If you push the joystick down (Z-Button) a picture will be taken.
Here are some settings that you can change. Just try it, it should not break anything.
There are a few things that have caught my eye. The processor of the Arduino Nano (ATMega328p) is fast, but unfortunately it restricts the usage a bit. A slightly higher cycle time would be useful.
In addition, I would find the use of Wi-Fi quite pleasant (ESP8266). I opted out of handset handling because I wanted to make a fully integrated system. However, I find the big cable, as well as the somewhat unwieldy controller not so pleasant.
But that's the way it is with prototypes, you learn from them. And that's good.
And now, call out! CamSlide feels most comfortable in nature!
The picture above is unfortunately a fake, not tryin' to fool you. At the time CamSlide was not finished, but would have done great in the mountains of Salzburg.
As it is with prototypes, criticisms and improvements are inevitable. What have I noticed in the few weeks since CamSlide started?
- Above mentioned: High-frequency vibrations caused by the plastic. But that's a problem of the material, it can be fixed 'quickly'.
- Also briefly touched: The chunky controller. Generally, I want to put everything on a board at the next slider. The hand control can be realized by an ergonomic, small controller (about Nunchuk size), the rest through a web application.
- The engines are loud. That was clear to me from the beginning, but nevertheless this should be the most important point of the new design: Quiet.
- The rigidity of the system is still a bit low. Sure, the plastic gives way. But this should improve, as in point 1 with the choice of materials.
- The bearing of the swivel joint is a bit undersized with very heavy lenses, but this is also, as so often, the material plastic.
In summary: Currently no consumer product. But as a first prototype quite well met the requirements.
UPDATE! A co-worker alerted me to a relatively new stepper motor driver, the TMC2130 from Watterott. And I can assure you, with that driver you have no more problems with the volume of the engine, because he does not build the voltage in a rectangular profile, but wonderfully sinusoidal.
For general questions, please leave a comment on Wordpress, so that everyone has something to read there.
Otherwise, only to say: Have fun building yourself!