It’s been a while since my last update. I have been pretty busy as of late. Some successes, some failures, lots of progress.
New Studio Controller Progress
Lets start with the new Biolapse Studio Controller. This is my top priority at this point as my older controller has been having issues, we will get into that a bit later when I discuss my current shoot.
What is it? What is it used for?
Basically it is a fancy egg timer with relays. The plants need day time and night time cycles. You can shoot with 24 hour lighting but after a few days it can stress the plant. I use LED grow lights for the day cycle and they work very well, but they have a horrible pink color cast to them and you don’t want to take pictures with those lights on. Instead they need to shut off, and then have a nice photography fill light turn on, then take the picture. Afterwards the fill lights need to shut down, and the grow lights need to turn back on. The BSC (Biolapse Studio Controller) is designed to make that happen. It is also responsible for triggering the cameras and Dragonframe, as well as controlling the temperature and humidity of the room.
The old BCM (Biolapse control module) serves this purpose for now but I have been running into reliability issues. I have spent an enormous amount of time learning how to film plants, and it sucks when I have a perfect timelapse ruined because the old controller is failing on me.
Out with the old. In with the new.
The new controller is all about flexibility, reliability, and redundancy. It has a variety of protection mechanisms in place to ensure that during a power outage that shooting is not interrupted. It has two power rails. The first one just plugs in the wall, and if the power goes out do does everything attached to that rail. So the grow lights, water pumps, humidifiers, heaters, coolers and other non-critical functions will not be on a battery backup. In case of a power outage, those can all shut off for hours and it will not have any effect on the shoot. All the critical functions are on the other power rail. This includes the studio lights, cameras, motors, etc. If any of these shut off, it could potentially ruin a shoot. The reason for having two power rails is to prevent non-critical elements from draining the backup battery.
The BSC will also control all the environmental controls, and pumps for automation of the watering systems, and even have the intelligence to know when something is not working correctly and attempt to resolve it on its own.
I spent quite a bit of time working on the code for the new controller using some breadboards, a display, and arduino mega mounted on a piece of plywood. It was enough for me to start framing out the code and to determine how I wanted the display, menu, and control systems to work out. But this sort of design is limited as I cannot attach everything to it.
Once I had made the main design decisions it was time to go ahead and build the hardware, then finish up the software on the new hardware.
I decided to build the new one in a server chassis. I like this design as it has plenty of working space inside, and is rack mountable, so if I ever get a proper studio (maybe sooner than later) I can rack mount it along with the DMC-16 signal generator and the chassis I use to house the stepper drivers.
Kyle was kind enough to help me out by printing some adapter panels for the chassis for all the inputs, outputs, and display.
The front panel on the chassis was removed and replaced with this nice green one from Kyle. It has a Test Shot button, an Option Button, a Motor Power kill switch, a dial for menu navigation and a 3.5mm input jack. The chassis built in USB ports, power switch, and reset switch on the front will all be wired in and 100% functional as well.
I spent quite a bit of time wiring up the two power rails, switches, and jacks to the 8 solid state relays and the smaller strip of mechanical backup relays. I am pretty pleased with how it came out. I used various colors just to make it easier to trace down the wires and connections if i run into problems. it is very easy to end up with a jumbled mess of wires, and that is what happened on my last studio controller. I wanted this one to be nice and organized. There are two sets of relays as mentioned, the larger 8 solid state relays are the primary, and they will be the ones doing the switching 99% of the time. The backup relays are “Normally Closed” meaning they keep the connection when not powered up, and break the connection when powered. There is going to be a light sensor that the controller will use to ensure that when it is prepping the lights before triggering the cameras that the grow lights shut off. If one of the solid state relays starts to fail and the grow lights do NOT shut off, it will engage the relay several times to see if it can get the lights off. If they still do not turn off, it will kill the power via the mechanical backup relay. This will ensure that the problem of the “Pink Frames” I keep running into will never happen again.
Now that the power rails and relays have been installed and wired up, it is time to move on to the logic and control system. In order to ensure solid reliability, I had designed a new circuit board and ran a small prototype batch. The old controller just used a hacked PCB from one of my old chrono-controllers with a cheap proto-board to make connections.
The new one provides the ports to control 8 solid state relays, 8 mechanical backup relays, 9 camera outputs, multiple input triggers, the humidity sensor, display, clock module, LED indicator lights and everything else.
I immediately ran into some problems with the new board when wiring up the rotary encoder (dial). I don’t want to get too in depth on it, but I was able to work around the problem so I can continue writing the code and testing it, but new boards will need to be designed and ordered.
I still need to test a few of the input and output triggers, but I am waiting on some jumper wire to be delivered. Tomorrow I plan to have an all day coding session to see how far I can get with the code. I already have menu templates built out, things are in a pretty good place. I need to build the watering system, the eeprom burn, a few other things then I can move onto the actual run engine. While I am a bit disappointed I have to correct my PCB design and get new ones made, its not really that big of a deal and shouldn’t slow my progress down. It will be a few weeks before Ill have all the code worked out anyway. I hope to have the board redesigned and ordered by next weekend.
Finn is on my shit list for now and sitting in the “Time Out” corner. It keeps dropping connection to Dragonframe. I had it connected and running down in the studio, and 3 times in 6 days Dragonframe failed on me. Once I removed Finn, everything started working. Lil’ Wayne is still connected and solid, and has the same circuitry, just different physical hardware for the robotics. Rather than debugging this in the production environment and have it continually mess up my shoot, I pulled it out and purchased another Dragonframe license and put that on a new laptop I picked up for a lab environment. This will let me test out new moco gear and ensure it is stable before bringing it into production. I know the PCB is good as Finn now has a black matte clone that is waiting for delivery to its new owner this weekend, and that system sat in the lab connected to Dragonframe and ran for a week flawlessly. The Arduino within should be good as those are pretty rock solid. I suspect the issue might be the power source. When it was connected in the studio it was running off the same power supply as any of my other 12v devices. That power hub only provides 2 amps per channel, and Finns clone uses a 4 amp supply, while Lil Wayne uses a 6 amp supply. Right now all the motors and power supply have been removed from Finn, the only connection is the Arduino to the Laptop, and it has been 2 days without a drop. If remains stable through the weekend that would be a strong indicator that the Arduino is good and the power supply is the culprit.
Trouble on the set!
Ugh. This is driving me nuts. So this last shoot has been a mixture of excellent success, and lousy failure.
The Good: Otto is running perfectly. The connection to dragonframe is rock steady, and I have made 8-9 changes to the current sequence it is filming to adjust the focus and make sure things are on track and it has all worked flawlessly.
The Bad: When making adjustments to Otto, I i did not shut off the axis for Lil Wayne in Dragonframe. So I would move the system about 15-30 frames out then make all the proper adjustments, but since I did not disable the axis for Lil Wayne, when I would apply a keyframe it applied to Lil Wayne too and screwed up its motion. Not a HUGE deal, that footage is pretty much waste but I made an important discovery and that is anytime I make an adjustment on Otto, I absolutely have to disable Lil Waynes axis control from the arc moco page, make the adjustments, and then turn them back on. I will add them to my shoot process checklist and I wont be making that mistake again. I am kind of bummed though, because I really liked the scene Lil Wayne was capturing.
This is the worst thing. Everything was running beautifully, I was working on tracking another Nepenthes Pitcher nub as it grew out and started forming into a pitcher. Unlike last time, it ended up facing the correct direction, and everything was running perfectly. Then disaster struck, and the BCM failed to shut the grow light off for 7 images.
Unfortunately this is virtually un-recoverable. I am shooting at 1 hour 25 minute intervals, if I chuck those 7 images out I lose about 11 hours of footage and the jump from the last good frame to the next good frame will have too much of a jump. This is all right when the Nepenthes is getting ready to open. I cannot color correct for these either, even if i could, they scene is illuminated from a different lighting source and during those 7 frames all the light will be from the wrong. This is why I have such a huge urgency to replace the failing BCM. I have been shooting this for about 4 weeks now. That is a lot of wasted time. With any luck the new studio controller will be up and running and I will never have this problem again, and this is the reason I am adding a light sensor and backup relays to ensure 100% that the lights shut off as expected. The new one will also give me an error log to report any relays that are not functioning as expected., and everything will be re-assignable, and I will be even be able to command the system remotely. Right now the old studio controller is the only thing holding me back.
So whats on my plate in the next few weeks?
Well, first I need to get the studio controller finished. Next I plan to start working on a new robot. Going with a crane style setup this time. Call me spoiled, but after working with Otto, Pan, Tilt, and Slide just does not cut the mustard anymore. A crane setup will give me almost the same level of control I get from Otto in a smaller package.
I am also looking to build a proper studio. Talking to contractors the last couple weeks and this is a very realistic goal at this point.