Making a glass plate coating machine

img421.jpg

H
img421.jpg

  • Tel
  • Apr 26, 2025
  • 1
  • 1
  • 22
Caution Post

A
Caution Post

  • 2
  • 0
  • 40
Hidden

A
Hidden

  • 1
  • 0
  • 39
Is Jabba In?

A
Is Jabba In?

  • 3
  • 0
  • 46
Dog Opposites

A
Dog Opposites

  • 2
  • 3
  • 151

Forum statistics

Threads
197,483
Messages
2,759,755
Members
99,514
Latest member
cukon
Recent bookmarks
0
Joined
Aug 7, 2014
Messages
177
Location
Grand Rapids, MI
Format
Large Format
Hey everyone,

I've been working on a glass plate coating machine. I've been frustrated with my attempts to coat panchromatic emulsions onto my autochrome plates, as it tends to be very messy. It has held me back from exploring higher ISO emulsions (as I still need to use a dim safelight to see what I'm doing and I want to avoid fog), and in some cases I can't post-panchromatize the plates after coating due to the screen's sensitivity to even small amounts of alcohol. I thought it would be a fun challenge to try and make a machine that can coat an emulsion on to glass plates.

If you want to skip all the rambling and just want to see it run, skip to the end of this post. Currently the coater does run, but the quality of the coats isn't good enough for actual tests with a silver gelatin emulsion.

Initial Thoughts

I was looking around at ideas for a coating machine, checking out modern designs as well as designs that were used to coat plates 100 years ago. I don't like the idea of using a "doctor blade" to scrape a thin film across the glass, as this requires a lot of excess emulsion to run off the sides of the glass plate (which gets all over the place). It seems like that design works better for larger, continuous processes where a large piece of glass would be coated and then cut up into smaller pieces. Right now that sort of workflow doesn't make sense for me, as my autochrome press limits me to a maximum plates size of about 8x10.

I saw this video of a laboratory slot die coater, which got me excited at the possibilities:

Searching around, I saw this product for sale: https://www.mtixtl.com/MSK-FSC-I.aspx

I don't know how much that unit goes for, but based off the prices of their other products, I'm guessing it's in the $5000-$8000 range. And I thought, hey, that doesn't look too complicated, and I'd bet the amount of precision required isn't as high as that machine delivers.

The Conveyor

Instead of having a static surface with the coating blade moving across the plate, I figured it would be easier to have the coating blade be static and to run plates underneath it. I found this super cheap conveyor on eBay. I made some small modifications to it to suit my needs. Firstly, it was geared very highly, and ran quite fast. Secondly, it tended to "lurch" a bit and run at inconsistent speeds. My first thought was to swap the two sprockets, to give the system more torque and reduce its top speed. I was unhappy to find out that the axels for each sprocket did not match (10mm and 12mm), so I also had to buy two couplers and a few inches of rod to allow the two sprockets to be swapped.

IMG-2382.jpg


I wanted to be able to interface the motor controller with an Arduino to control start, stop, direction and speed. This turned out to be pretty easy to do. To control for direction, there is a jumper on the bottom of the controller on a terminal marked "COM", "CW", and "CCW". Moving the jumper between COM and CW or COM to CCW, unsurprisingly, changed direction. If anyone out there in the future wants to try this, be careful, as this jumper is energized to 120V! I set up a bunch of relay modules attached to the Arduino. These relays have 3 terminals - Common, a NO (normally open) and NC (normally closed). For those unfamiliar with relays, when it is not energized, there is a connection going from the Common terminal to the NC, and when it is energized the connection goes from Common to NO. By running wires from the CW and CCW termainsl to the NO and NC terminals, and connecting the two common terminals, we can easily switch between the two directions.

The On/Off switch to the controller fortunately only runs at 5V. I desoldered one of the wires on the switch and ran two to the NO and Common terminals of another relay. This lets the Arduino regulate when it wants the belt to start and stop.

The speed of the belt on the controller is regulated by a knob. The knob was attached to an 18K potentiometer which controlled a signal of 0-5V back to the controller board. I desoldered the pot and connected a DS3502 10K digital potentiometer in its place. This allows the Arduino to send a value of 0-127 to the DS3502 over i2c, which correlates to a volatage of 0-5 volts.

The Pump

I purchased a pre-made syringe pump frame from RobotDigg. I initially tried to drive it with an L298N dual H-Bridge stepper driver, however I had issues with it skipping steps and it pulling way too much current (2.5 amps!). I ended up buying a TB6600 driver instead, and set it to use 1/16th microstepping mode. I glued a limit switch to the back of the syringe pump to allow the Arduino to "home" the axis. Since a stepper motor is controlled by a series of pulses, it is easy to know absolute position of the pump by counting the number of steps sent to the driver. I created functions to jog the pump, to allow forward and backwards movement with the Arduino's digital inputs, and then measured how many steps it takes to move the syringe plunger from the 50mL mark to the 0mL mark. This took about 15097, which factors into about 301.94 steps/mL.

The Coating Head

I modified an existing open-source 3d-printable slot-die head design, which can be found here: https://3dprint.com/200385/3d-printed-slot-die-system/

The OpenSCAD file took a little bit of tweaking, as it's not really designed for uses beyond 30mm coating width. I wanted to try and make a head that could coat 115-120mm (just under 5 inches), since this would allow me to maximize compatibility between 4x5 and 5x7 formats without too much bother.

IMG-2383.jpg


I printed out a sheath for it to slide in to, and added some thumbscrews to allow for a finer control of the coating height.

The Plate Sensor

I juggled through a few different ways of detecting a plate's presence in the dark. I was wary of IR sensors, as I didn't want to nuke any of the emulsion with IR light just in case it had a slight sensitivity to it. I ended up going with a capacitive prox sensor that are common on "auto-leveling" 3d printers, since I knew it had the ability to detect glass objects without the need for any light. I laser cut a quick'n'dirty holder for the switch. The prox switch requires 12v (technically 6-36v) to operate, so I used an optocoupler to allow the Arduino to read a 5V signal.

IMG-2384.jpg


And here's the brains of it all.
IMG-2386.jpg


The general order of operation is:

1. Place the plate against a brace in the staging area. The brace allows the user to line up the plate to the coating head correctly without needing to see what you're doing.

2. Hit the start button. The conveyor will start to run at a set speed.

3. The prox switch detects the glass plate passing beneath it. It takes a timestamp of the first edge, as well as the length of the pulse. This information can be used to calculate when the pump should start pumping, and for how long.

4. The plate passes beneath the coating head, and the syringe pump delivers a dose.

5. The plate travels along the rest of the conveyor, and comes to a stop at the end. In the future I may choose to blow cold air across the plate to allow the gelatin to gel up.

Here's a video of a dry run of the process:



And here's a run on a few 4x5s. I made a green gelatin solution (4.5%) to make it easier to see the coating quality.



Resulting plates:

IMG-2385.jpg


So, what went wrong? I'm guessing the coating head just doesn't scale very well when you get to larger sizes. Instead of coming down in a sheet, you could see areas where more gelatin would come out than others. Almost none came out of the far edges of the coater. My next step is to redesign the coater head to be more reminiscent to that of a proper metal one, with two halves separated by 100um shims. I can also add a meniscus guide, which I guess will help... guide the meniscus? Hopefully with the next design will at least reach a full 5in coating width. If anyone has any resources that they think could help me out with the coating head definitely feel free to let me know.

Next Steps

Besides the coater redesign, I would like to add a basic cleaning function to the system. Using a 3-way solenoid valve, it would be possible to have the pump load up the emulsion automatically, and then deliver the dosage through a different tube. In the same manner, a tube going to a container full of hot water would allow the pump to suck up the water, and push it through the coating system to clean the head out while in the dark.

I'm also thinking about adding in a rotary encoder on to the belt motor's axis. Another dedicated arduino would be able to measure the spinning speed of the motor. Right now the motor is an "open loop", meaning the controller doesn't have any sort of feedback as to how fast the motor is actually spinning. Right now the speed is very consistent, but down the line, as gunk gets into the belt and bearings wear, slight differences in speed could result in timing mismatches between the pump and the plate. At the very least the user could periodically check the coating speed and ensure that it's running at the correct amount of RPMs.
 

Attachments

  • Coater_Control.txt
    21.3 KB · Views: 206
Last edited:

Peter Schrager

Subscriber
Joined
Jul 19, 2004
Messages
4,050
Location
fairfield co
Format
Large Format
Truly amazing...bravo to you!!
I coat fixed out baryta paper by hand using meyer rod.. would you consider using something like that??
 
OP
OP
ThePhotoChemist
Joined
Aug 7, 2014
Messages
177
Location
Grand Rapids, MI
Format
Large Format
Truly amazing...bravo to you!!
I coat fixed out baryta paper by hand using meyer rod.. would you consider using something like that??

Thanks!

I've never actually tried a drawdown bar, but it's certainly a possibility. For a while I played around with a thin film coater like this one, but I was never able to achieve decent results with it. After watching a few youtube videos, it looks like it still loses some slop around the edges, but it's not terribly bad. I will look into it!
 

tlloydau

Member
Joined
Feb 7, 2019
Messages
20
Location
NJ
Format
Analog
Really incredible work. Nick and Mark at GEM had a small coating machine for acetate which was broadly reminiscent of this setup. They may be able to give some advice on the design of this machine.

Any time I've seen this kind of coating setup there seemed to be an expected initial "priming" stage in which the emulsion is run through the system until even distribution is achieved and only then is the paper/film run through. Even then I seem to remember the initial material not being evenly coated. Perhaps it's asking too much to be able to evenly coat the exact surface dimensions of a plate/paper/film without loss or uneven distribution. Even hand coating methods like doctor blade or coating rod expect an oversized base / coating area and then subsequent cutting down of the excess. If that indeed is part of the issue maybe you could add a trough/basin to run in advance of the plate to catch the initial priming stage so that it can be saved and re-used.

I have a recollection that similar metal setups Nick/Mark showed us may have included a system for pumping hot water through a system of tubes in the coater to help maintain the desired coating temperature. Perhaps your emulsion is already too cool when it's hit the plate and/or the plate is too cool to start and it simply sets up too quickly?

I also wonder if the test gelatin solution let you down. I've always read recommended to use a solution of tapioca starch as a facsimile of photographic emulsion.

Anyway keep up the inspiring work I look forward to seeing more progress here and on your autochrome project.
 

iandvaag

Subscriber
Joined
Oct 7, 2015
Messages
484
Location
SK, Canada
Format
Multi Format
First of all, I’d just like to say that this is extremely impressive. I have a rough idea of how much work is involved in putting together something like this. Thanks so much for taking the time to document your progress for the benefit of everyone. At some point in the next couple years I hope to build a something similar, so this is of particular interest to me. Congratulations on getting this far!

I haven’t (yet) built an automated coating system, so take everything below with a grain of salt.

Limited length of good coating
There will always be start-up and shutdown defects. It might be worth it to try coating multiple plates that are butted up against each other to decrease the number of startup/shutdown cycles, although that is likely to make a bit of a mess too. I believe the length of these defects might also be reduced by coating at a slower speed. I might have suggested that the longest direction of the plate is oriented along the direction of travel to minimize these type of defects, but that would probably involve a narrower coating head.

Incomplete width of coating
There was a “How It’s Made” video about the Impossible Project that was shot at InovisCoat. They show a slide coater in operation. The technician drags the emulsion across the width of the coating head to “wet” the metal. Without doing something like this, I think it is possible that the surface tension will prevent a complete “bead” of emulsion from forming along the entire length of the slit. I don’t have any good ideas at the moment on how to implement something like this in your design.

I’m not entirely clear on the construction of the coating head – is it open at the top, or is it under some amount of pressure? I wonder if part of the problem is that the amount of gelatin being supplied to the head is insufficient. If you think that there is enough gelatin making its way into the head, maybe adding a manifold onto the end of the supply line (or adding multiple supply lines) would help distribute the emulsion to the edges of the head.

Other possible sources of defects
I notice in the video that there is a head of air in the syringe. This could cause there to be some inconsistency in volume from batch to batch if the volume of air changes. Additionally, this could possibly cause air bubbles to be entrained into the emulsion. This wouldn’t be a problem if the pump were mounted vertically (nozzle down). Otherwise, I would suggest that after you fill the syringe, you turn is nozzle up, and push the air out.

I think chilling the plates is probably a good idea, but I think it also may be possible that the condensation that forms on them may cause defects. Obviously you also want them scrupulously clean, no fingerprints, etc.

There’s a very large parameter space for optimizing this type of thing: coating speed, pump speed to the coating head, temperature of the emulsion, temperature of the substrate, viscosity of emulsion (which itself is a function of gelatin concentration, surface area (grain size) of AgX, added surfactants, etc.). Keep at it! I imagine it will take quite a few experiments to get things narrowed down.

-Ian
 
Last edited:
OP
OP
ThePhotoChemist
Joined
Aug 7, 2014
Messages
177
Location
Grand Rapids, MI
Format
Large Format
Really incredible work. Nick and Mark at GEM had a small coating machine for acetate which was broadly reminiscent of this setup. They may be able to give some advice on the design of this machine.

Thanks! I may have to reach out to them -- I saw the machine briefly last Fall, and I regret not taking a better look at it. I actually just messaged Mark recently, I think I may be able to buy an old slit coater head from Kodak that he had in his possession.


Any time I've seen this kind of coating setup there seemed to be an expected initial "priming" stage in which the emulsion is run through the system until even distribution is achieved and only then is the paper/film run through. Even then I seem to remember the initial material not being evenly coated. Perhaps it's asking too much to be able to evenly coat the exact surface dimensions of a plate/paper/film without loss or uneven distribution. Even hand coating methods like doctor blade or coating rod expect an oversized base / coating area and then subsequent cutting down of the excess. If that indeed is part of the issue maybe you could add a trough/basin to run in advance of the plate to catch the initial priming stage so that it can be saved and re-used.

Limited length of good coating
There will always be start-up and shutdown defects. It might be worth it to try coating multiple plates that are butted up against each other to decrease the number of startup/shutdown cycles, although that is likely to make a bit of a mess too. I believe the length of these defects might also be reduced by coating at a slower speed. I might have suggested that the longest direction of the plate is oriented along the direction of travel to minimize these type of defects, but that would probably involve a narrower coating head.

I was hoping to avoid dealing with this, but you guys may be right here. Right now on my autochrome screens I mask 1/4" around each side, so I was hoping to contain these startup and shutdown defects within this window on each side. I will try and slow down the belt a bit more, I think I can maybe get it to half its current speed before the motor controller starts having trouble keeping the speed constant.

A friend of mine also floated the same idea with the catch tray, referring to them as "little boats". A small 3d printed object could be made that the plate can set into, the front and back containing small little catch trays to keep excess emulsion off the belt / creeping beneath the plate.


I have a recollection that similar metal setups Nick/Mark showed us may have included a system for pumping hot water through a system of tubes in the coater to help maintain the desired coating temperature. Perhaps your emulsion is already too cool when it's hit the plate and/or the plate is too cool to start and it simply sets up too quickly?

I don't *think* this was a problem, as I actually had issues with it dripping on to the conveyor if I bumped the machine at all (you could see drops just baaarely clinging to the bottom of the coating head). I heated the solution to 50C, and was probably coating the plates within 5 minutes of taking it off heat. Either way though, this is a good design consideration that I will try and incorporate into future head designs, because I'm certainly going to run into this if I plan on coating more than 10 plates or so (especially in the winter).


I also wonder if the test gelatin solution let you down. I've always read recommended to use a solution of tapioca starch as a facsimile of photographic emulsion.

That's super interesting, I've never heard of that before! Do you have any additional sources for further reading? I see @dwross 's post here, which is a helpful start.


Incomplete width of coating
There was a “How It’s Made” video about the Impossible Project that was shot at InovisCoat. They show a slide coater in operation. The technician drags the emulsion across the width of the coating head to “wet” the metal. Without doing something like this, I think it is possible that the surface tension will prevent a complete “bead” of emulsion from forming along the entire length of the slit. I don’t have any good ideas at the moment on how to implement something like this in your design.

I’m not entirely clear on the construction of the coating head – is it open at the top, or is it under some amount of pressure? I wonder if part of the problem is that the amount of gelatin being supplied to the head is insufficient. If you think that there is enough gelatin making its way into the head, maybe adding a manifold onto the end of the supply line (or adding multiple supply lines) would help distribute the emulsion to the edges of the head.

I kind of glossed over the coating head design, so hopefully this helps a bit.
slotdieheadv1.png
The tubing was glued into the top, so the only pressure changes introduced into the system should have been coming from the syringe pump itself. It's all one continuous piece, but I think there are problems with the 3d printer printing out a consistent 0.2mm slot for the whole 115mm length... as you probably saw from the test plates, I wasn't even getting close to 115mm coats.

I'm working on something more like this now:
coatingheadv2.PNG
Where the two halves screw together, and will be sandwiching in a 0.1mm steel shim and a 0.1mm meniscus guide. Hopefully the coating I can get out of it will be a bit more even.

Other possible sources of defects
I notice in the video that there is a head of air in the syringe. This could cause there to be some inconsistency in volume from batch to batch if the volume of air changes. Additionally, this could possibly cause air bubbles to be entrained into the emulsion. This wouldn’t be a problem if the pump were mounted vertically (nozzle down). Otherwise, I would suggest that after you fill the syringe, you turn is nozzle up, and push the air out.

I think chilling the plates is probably a good idea, but I think it also may be possible that the condensation that forms on them may cause defects. Obviously you also want them scrupulously clean, no fingerprints, etc.

There’s a very large parameter space for optimizing this type of thing: coating speed, pump speed to the coating head, temperature of the emulsion, temperature of the substrate, viscosity of emulsion (which itself is a function of gelatin concentration, surface area (grain size) of AgX, added surfactants, etc.). Keep at it! I imagine it will take quite a few experiments to get things narrowed down.

-Ian

You're definitely right about the air in the pump, good eye. For the limited trials I ran, no bubbles got into the line, but I'm sure that it would cause issues towards the end of the run. I will probably work on a mount to angle the pump down a bit to avoid it.



Awesome, I will check this out!

Thanks a lot to everyone for the kind replies!
 

tlloydau

Member
Joined
Feb 7, 2019
Messages
20
Location
NJ
Format
Analog
That's super interesting, I've never heard of that before! Do you have any additional sources for further reading? I see @dwross 's post here, which is a helpful start.

It's funny, you have me questioning where I learned about this. I could have sworn I'd read about it in PE's book and in posts on the forum here but my search also came up with little. Looking back through Mowrey's book he suggests a 5% gelatin solution with some food dye for practicing coating but does make a point to mention that an emulsion will behave differently to a pure gelatin solution. Dwross' POP project page on paper coating goes a bit more into making a tapioca emulsion facsimile (http://thelightfarm.com/cgi-bin/newcarousel/htmlclanslidegen.py?chapter=papercoating).
 
OP
OP
ThePhotoChemist
Joined
Aug 7, 2014
Messages
177
Location
Grand Rapids, MI
Format
Large Format
Arise, ye thread! Arise from the dead!

For I have made a coating machine! Kind of!

The most annoying part of coating autochromes is having to do it in the dark! And as I've said before, the tolerances for an even coating are much much higher than glass negatives! Even slight variations in thickness cause major shifts in darkness, due to the need for reversal processing.

I shelled out the cash for a slot die coating head from InfinityPV last May and just never did anything with it. Well, at the beginning of this year, I decided to put together one of the most over-engineered designs one could possibly make.

I ended up buying a 3-axis Chinese 6040 CNC router off of eBay. This style of CNC uses a computer's parallel (printer) port to send electrical pulses to the stepper drivers, to move the stepper motors. The only computer I had on hand that even had a parallel port was some goofy industrial touch screen I yoinked about a decade ago that was 32-bit only. After putzing around with a 32-bit version of Debian Linux for a couple days, I finally got the LinuxCNC software to run. I'd definitely recommend using a 64-bit machine, because I had to jump through about 100 hoops to get the dang software to run at all.

My plan was this: Remove the spindle from the CNC router, and add in my own custom holder for the slot-die coating head. This gives me XY control to move the head around the bed, theoretically coating different configurations of glass plates, and Z to control the gap between the head and the plate. I would add a 4th axis into the CNC controller to run a syringe pump for precise emulsion dosing.

cnc_machine_no_heating.jpg coating_head.jpg syringe_pump.jpg CNC_box_and_computer.jpg

I bought a DM542 stepper driver and kind of, just, stuck it wherever I could find it, and wired it up to the same DC power source the rest of the DM542s were using. The step/direction inputs on the DM542 were wired up to the standard pins on the parallel port for an "A" axis, 8 and 9.

The syringe pump was purchased years ago from RobotDigg. I wired up the stepper motor cable to the outputs of the DM542 and we were good to go! Kind of...

For whatever reason, LinuxCNC would run the "A" axis super slow in the actual configuration, and I couldn't figure out how to actually scale the degrees to either millimeters or milliliters. I ended up just punching in numbers that would run it fast enough while jogging the axis, and using an arbitrary scalar to turn "degrees" into milliliters. For this syringe, it ended up being 133.7 degrees per mL. Leet!

TinkerCAD project for the STL holder's files can be found here: https://www.tinkercad.com/things/is4IrgPDhmQ-emulsioncoatingheadholder. I'm also throwing the STLs in the zip folder attached to this post.

I wrote some gcode to move the head down to ~0.5mm off of the glass plate, dosing a little bit of emulsion to create a "bead", move the head down the Y axis about 127mm while dosing 3mL, and the raising up and returning to the start position. My first tests were poor. I suspected that I would need some sort of heating system to keep the emulsion from gelling up, but I couldn't even get one plate coated before it started setting up rapidly in the head.

See the video in this post here:

gel_up.jpg

I ended up deciding to use a heated water system for heating the head to keep the emulsion from setting up. This would also allow me to run the small dosing tube through warm water to keep, as well as a copper coil around the syringe. My goal here is to be able to coat ~12 plates, let the emulsion set up on the CNC bed, and then repeat the process a couple more times depending on how many plates I want to coat.

I ended up putting together an old instructable based on a Sous Vide cooking design, using a rice cooker and an arduino controlling the temperature via a relay module. The original Instructable can be found here: https://www.instructables.com/Cheap-and-effective-Sous-Vide-cooker-Arduino-power/

I modified the design by adding a few extra relay controls, to control the water pump (to move water through the system) as well as an air pump, to blow air through the coating head after I'm done coating, so that moisture doesn't hang around in the coating head. I also updated the code so it stores the setpoint in EEPROM (so it remembers your setting after losing power), as well as a heat enable switch, otherwise it would just keep running all the time until I unplugged it. I also had to modify the heater relay code, because his project use a relay module where HIGH=Closed, and my modules were inverted. Code attached in the Zip (it's a WIP though).

head_holder.jpg head_holder_pads.jpg head_holder_with_head.jpg heating_system.jpg

I ended up soldering some 1/4" copper pipe together with some splitters (to increase contact area against the coating head), and then putting some thermal pads I had laying around between the piping and the head too, just to help with the heat conduction. The system controls really really well, usually 0.1C in the small setup pictured above. I still have some kinks to work out in the arduino setup though -- it seems the relays are causing noise or something, and it occasionally glitches the MAX7219 LED display that reads out setpoint and actual temperatures. It still runs, it's just that I can't see the readouts anymore. I think the arduino resets itself occasionally too, but due to the EEPROM change, there really isn't much of a heating disruption when it does that.

I ended up hooking the heating pump up to where the spindle's cooling lines would be. This allows me to keep the rice cooker well away from the rest of the electronics. Even after running through meters of tubing with no insulation, it can bring the coating head ~4C less than the temperature setpoint in the rice cooker, which is not bad at all.

full_system.jpg

So there's the whole system, in all it's glory.

A video of it coating a 4x5 plate with 1mL of emulsion can be seen here:

I only did the very first tests with it a couple of hours ago, but I'm happy with the results so far. The coating wasn't even enough for an autochrome, but there are a lot of factors to tweak still. The CNC wasn't level at all, and the emulsion was very watery, so I'm not surprised it wasn't super even. I'm going to have to do some research/experiments to find an ideal coating height (the video was at 1.5mm I think), as you can see it was kind of pushing emulsion around. Maybe it would have been more even if I do a sort of "sweeping" motion back. I dunno. Ideally I'd like to line up a bunch of plates and have it just coat all the way down, but I'll have to see how well that works in the coming weeks.

So that's where I'm at with this. It's in a good enough spot now that I can dismantle it and start setting it up in the darkroom, I think. I'll keep you all posted if anything exciting happens.

If you ever have any doubt about how much of a pain autochromes are to coat, look no farther than this post, and what autochromes have done to my sanity!
 

Attachments

  • CoaterFiles.zip
    16.9 KB · Views: 100

mshchem

Subscriber
Joined
Nov 26, 2007
Messages
14,236
Location
Iowa City, Iowa USA
Format
Medium Format
In a former time I was involved with 2 and 3 layer co-extrusion of high impact PS and ABS. Thin consistent layers are an art.

Maybe more applicable, in a way former, former life I worked for General Mills. We extruded Fruit Rollups, just like the plastic extrusion, starting up usually resulted in a bit of waste, but once started it went continuously.
 

koraks

Moderator
Moderator
Joined
Nov 29, 2018
Messages
20,673
Location
Europe
Format
Multi Format
Holy cow!
Interesting stuff, I'll be following this!

it seems the relays are causing noise or something, and it occasionally glitches the MAX7219 LED display that reads out setpoint and actual temperatures. It still runs, it's just that I can't see the readouts anymore. I think the arduino resets itself occasionally too

Can you provide me with a schematic of that part? I might be able to make a few suggestions to fix these issues.
 
OP
OP
ThePhotoChemist
Joined
Aug 7, 2014
Messages
177
Location
Grand Rapids, MI
Format
Large Format
In a former time I was involved with 2 and 3 layer co-extrusion of high impact PS and ABS. Thin consistent layers are an art.

Maybe more applicable, in a way former, former life I worked for General Mills. We extruded Fruit Rollups, just like the plastic extrusion, starting up usually resulted in a bit of waste, but once started it went continuously.
Very cool! I work in industrial automation, and I do a good amount of food and bev work, so I work around machines like this a lot. I focus on PLC programming though, so it's less "process design" and more "doing what the designer tells me to do and hoping they know what they're doing!" I might hit you up if I have issues, since I'm sure you know the theory behind coating a lot better than I do!

Holy cow!
Interesting stuff, I'll be following this!



Can you provide me with a schematic of that part? I might be able to make a few suggestions to fix these issues.
Thanks for being willing to help! I'm not sure how to draft up a schematic, so I'm not sure I have much for you than what's linked in the Instructable. I can try and throw something together though if you have a program to recommend!

It seems like the display almost always goes out when a relay actuates, and I'm running all 3 relays + the display off of the Arduino's 5V power. So my first guess is to get the relays powered with their own dedicated 5V power source to see if that helps.

Another possibility that comes to mind, is it could be AC noise causing issues. Everything is kind of... just crammed in there pretty close together. The AC is finger-safe, but nothing is really properly electronically shielded. I'll try out the box with the heater and pumps disconnected to see if that helps at all.
 

koraks

Moderator
Moderator
Joined
Nov 29, 2018
Messages
20,673
Location
Europe
Format
Multi Format
I can try and throw something together though if you have a program to recommend!

Pencil and paper, and then a phone snap works great! Lots of software out there, but you'll just be spending much time learning how it works instead of getting the job done. I'm fine with a hand-drawn artwork :smile:
The instructables project is certainly different since you indicated having added relays. So I'm specifically interested in your particular implementation, including how you're powering the whole thing.

Another possibility that comes to mind, is it could be AC noise causing issues. Everything is kind of... just crammed in there pretty close together.

Yes, this might also play a role, but it's not the first place I'd look given your description of the setup and the problems. EMI problems generally manifest themselves on things like higher speed interfaces (like I2C), not so much on a couple of simple digital outputs triggering a handful of relays.

I think the problems you have are more likely to be explained by either a power supply issue or a lack of bucking diodes across the relay coils. Do you use bare relays or ready-made relay modules on a little PCB? The latter generally have the correct diodes installed; the former never do and the user needs to add them. In terms of the power supply, a common mistake is to power an Arduino board through the 9V barrel connector and then driving all sorts of relays etc. from the 5V pin on the Arduino.
 

snusmumriken

Subscriber
Joined
Jul 22, 2021
Messages
2,354
Location
Salisbury, UK
Format
35mm
This is so far beyond anything I would ever undertake that I am totally in awe and admiration.

I do have one tiny bit of relevant experience, offered FWIW. I used to make gelatine-coated microscope slides by hand for a certain aspect of forensic wildlife research. I used a very runny gelatine solution held in a water bath at something like 80 deg C and pipetted as a small puddle (amount eyeballed) onto one end of the slide. The short edge of a second slide was placed in contact with the puddle, which pulled the gelatine out to the full width of the slide by surface tension. The second slide was then quickly drawn along to smear out the puddle into an even layer. Aside from getting the right amount per slide of the right concentration of gelatine solution, the secret to getting a nice even coat from edge-to-edge and end-to-end was the angle of engagement between the two slides. The ideal (eyeballed again) must have been something like 30 deg in my case - so basically I had a 90 deg edge with a 30 deg leading angle and 60 deg trailing angle. The ideal angle is presumably related to the viscosity of the gelatine solution. Done right, the gelatine layer after drying was very even and almost invisible. At a guess, actual thickness when wet would have been in the region of 100 microns, obviously drying down to much less.

I don't fully understand the action of your coating head, but maybe the angle of engagement with the glass is critical? Or maybe behind the slot you need a following blade, analogous to the second microscope slide described above? I found there also had to be some follow-through in the action to avoid any excess gelatine washing back and leaving one thick edge to the 'emulsion' - I guess in your situation an end-to-end production line of glass plates might achieve the same thing.
 

Donald Qualls

Subscriber
Joined
Jan 19, 2005
Messages
12,073
Location
North Carolina
Format
Multi Format
For the light from the screen, the obvious solution is long wires -- routed through a light-tight through-wall connection -- so you can put the computer in an adjacent room with normal room light, but the working bits in the darkroom. Then the only thing you have to do in the dark is the setup (you might find you want/need either a labyrinth or rotating door to get in and out of the darkroom without letting in light from the next room, however).
 

mshchem

Subscriber
Joined
Nov 26, 2007
Messages
14,236
Location
Iowa City, Iowa USA
Format
Medium Format
Coating is a Black Art (really hard explain to people like me so they just say Black arts). This, and converting, is why Kodak Alaris can sell film that retails for $20 a roll
 
OP
OP
ThePhotoChemist
Joined
Aug 7, 2014
Messages
177
Location
Grand Rapids, MI
Format
Large Format
Alright, the machine is all set up in its new home downstairs. Here's some of the first tests I've done this week!

I made a batch of emulsion, and I've been trying to nail down gold+sulfur sensitization. I pretty much totally fogged every test, and for whatever reason even the unsensitized emulsion has a pretty high amount of base fog. This is good and bad. Bad because I can't make plates for an upcoming vacation, but good because I have a lot of the fresh stuff to play with.

After playing around with it a bit, I've found that I can work up a very effective coating bead pretty much in place, which has eliminated the need for a run-in, and maybe even a runout (more further down). This has the wonderful side-effect of not spilling emulsion all over the place when the head travels between plates. In fact, once I got the hang of it, there were no spills at all.

bead_in_place.jpg

The gcode works roughly as follows:

(Start up)
1. Move the head to purge position (over the tray)
2. Pump the syringe until the head fills up (~9mL)
3. Pause 3 seconds (for any drips that might still be dripping)
4. Move to Plate Position 1

(Coating)
5. Move to coating height (2mm)
6. Pump x mL of emulsion in place, to create the bead
7. Move the head while continuing to dose
8. Stop at the edge of the plate, and reverse the syringe pump, to try and reduce the size of the bead.

(Purge)
9. Move back to purge position so I can manually run hot water through the lines to clean out the remaining emulsion, and then hook up to an air pump to dry.

At first my coatings were very "center heavy", as Mark Osterman put it.
center_heavy.jpg

At first I thought that maybe it needed a thicker shim, so I laser cut a 1mm one out of acrylic and rebuilt the head. This didn't really seem to make it any less center-heavy at all, and the bead seemed to form less uniformly with the gap so much larger.

Eventually I slowed the coating rate way way way down, from ~1000mm/min to about 100mm/min. This seemd to produce a much more even coating vertically. However there still was an issue where the bead kind of collapses and flows back a few cm, resulting in a thick patch on the right side of the plate.

right_thick_1.jpg right_thick_2.jpg

I tried a few different things here, and I'm still not quite sure what the right answer is.

First I tried stopping the syringe pump at 100mm of travel, hoping the bead would wear itself down as it moved. This didn't seem to do much, but I think maybe I needed to stop pumping sooner.
My next thought was to have the head travel all the way to the end of the plate, and reverse the syringe pump to try and suck up some of the bead, so that when the head left the plate, there was less fluid to flow back to the right.

This seemed to work pretty well. There is still some darkening on the right side of the plate, but it's much much better. I daresay these coatings are probably good enough for an autochrome-level tolerance, and possibly are better than my hand-coated ones.

bead_collapse_plate.jpg

You can see here I over-did it a bit, not only sucking it all back up, but a little bit of air with it.

When I started trying to see if I could coat two consecutive plates in the same run, the second plate failed miserably, because the air in the head kind of un-primed it, so the bead didn't really form correctly on plate 2.

So right now I've got two ideas:

1. Continue to tweak how much the syringe pump reverses, to reduce the size of the bead, without completely sucking it up. This will be picky, because I think there's kind of a dead-band when you change directions. I imagine the syringe handle flexes a bit before the pump starts actually pulling fluid back, and I just have to goof around with it more to find that sweet spot. So far I've only either not pumped any, or sucked it all up.
2. A friend suggested I place the plate on some sort of fixture with a catch tray on the right of the plate, so the head can just move off the edge of the plate instead. I like this idea, because it seems simpler, with less things that can go wrong. I've 3d printed a little boat for the plate to sit on, and I'm hoping to try it out later tonight.

Last thing: right now it's really annoying to use the machine, because the emulsion still sets up super quick in that tube. You get maybe 30 seconds before it gels up and you have to remove the hose entirely and let it soak in hot water for a few minutes. It also means the machine can't sit "idle" with emulsion in the system. As soon as it's done coating, you have to flush it with water. This also means I'm losing ~9mL of emulsion every time. I'm working on replumbing the hot water so that some of it runs along the PTFE tube, inside some insulation. This would leave only the syringe itself and a few mm around the connectors to the syringe and head that are unheated. I'm hoping that at least can give me a few minutes of idle time, so that I'm not flushing/charging the head constantly.
 

Kirk Keyes

Member
Joined
Jun 17, 2004
Messages
3,234
Location
Portland, OR
Format
4x5 Format
This is amazing! I commend you for all this work!
As for keeping the emulsion warm - what about using a water jacket on the transfer tube from the syringe? Use a second tube with 3 or 4 times the diameter and then run the current transfer line inside the larger one. Put some Ts on the ends and then run warm water into the T fittings so that it surrounds your transfer line. I may have missed it but I'm guessing you need to keep the syringe warm as well.
I vote for moving the head off the plate so the bead of emulsion breaks before lifting the dispensing head. Sure, you get more emulsion loss, but you don't get that last bit of dripping back on the glass plate at the end of the run.
 

Reginald S

Member
Joined
Feb 12, 2022
Messages
31
Location
Germany
Format
Large Format
I also have thought about automatically coating my paper instead doing it by hand (which seems to be easier than coating tiny glass plates).

What I think is that your emulsion bed must be stabilised to the sides.
In my opinion the coater should have a double-L design.
Seen from above:

coater.jpg

This will give a stabilised emulsion reservoir on top of the glass plate.
The emulsion should flow evenly and can't "escape" nor becoming thin to the ends.

If I would build a glass coater I would try to place lots of plates in a row, maybe in two or more rows.

Your machine looks like a mill with the typical t-nut table.
With the t-nuts there should be an option to clamb the plates with a kind of "frame" out of 4 plexi bars with the same thickness as the glass plates.
Probably a vacuum table would be a better and faster working idea :smile:

The coating head has to "drive" with contact to both the long the plexi rods using the "sides" from my drawing as a kind of wheels.
Obvisiously I would somehow have to cut the coating of all plates as a final act.

I also would simply use gravity instead of pumping the emulsion to the head.
To me pumping seems to work fine with endless production but not for stop and go.
With a well placed coating edge/coating knife in highth wasting emulsion must not befeared until stopping the batch of 10, 20, 30 40 plates.

Coming from printing endless paper from 1000Kg rolls of 120cm width I have learned regulary cleaning the coating elements will be helpful.

Use them, or throw my suggestions away - but keep on rollin' !

Best,
Reginald
 
Last edited:
OP
OP
ThePhotoChemist
Joined
Aug 7, 2014
Messages
177
Location
Grand Rapids, MI
Format
Large Format
Hey everyone!

Here's an update on the work I've done on this thing over the last month.

I did some replumbing on the water loop to allow for a section of 1/8" tubing to branch off from the main loop. This runs through some piping insulation alongside the ptfe tube used to deliver the emulsion from the syringe to the head. After it reaches the mouth of the syringe, it goes into a could of 1/8" copper tubing that coils around the syringe body, before returning back to the main loop. The main loop has a small ball valve that can be adjusted to control how much flow gets forced through the this secondary branch that I have yet to think of a name for.


IMG_0693.jpeg IMG_0691.jpeg IMG_0688.jpeg

This thing is starting to look like a nightmare. Despite that, though, the new heating lines have been working quite well. I've had a few coating sessions that lasted hours without any gumming up at all.

One advantage to the "syringe warmer" I hadn't considered before, is that you can just leave the emulsion in the syringe between batches. I usually use a beaker with a watch glass on top, and warm it up on a hot plate. After multiple coating sessions, it loses water, and results in thicker coatings and darker plates. Since it's red sensitive at that point, I can't really look at it to track how much I'm losing. I would just add water arbrarily every so often. But if it's all contained in a syringe, you don't really run into this.

After running some tests, I was excited to try it out with real emulsion on real plates.

IMG_0697.jpeg IMG_0698.jpeg

My tests in the light had gone so well, I was surprised that these turned out so poorly. The start side (right) was way too thin, and the coating bead leftover was massive (left). I lucked out the following day during some tests and realized it was due to me using a very very old syringe that has been knocking about in my lap for years. The lubrication had all gone, so it was a lot harder to move the handle compared to the new syringes I just bought.

The next set looked more like this:
IMG_0699.jpeg IMG_0707.jpeg

A lot better for sure, but a lot worse than my hand coated ones (typically). These were made with the "collapse" method where, at the end of the coat, I reverse the syringe pump and suck a lot of extra emulsion back up into the head. It does a pretty good job, but you can still see the left of the plates have a darker, thicker area on the left. The head is unable to suck enough back up before the bead collapses and spreads back about an inch or so.

Here's a few more examples of how these plates look on plain glass.

IMG_0712.jpeg IMG_0713.jpeg IMG_0714.jpeg

The coating pattern here is left to right. The first two are different attempts with the "collapse" method, and the last is a test where I stopped coating about 2/3 of the way through the plate. Unfortunately, the un-evenness is a bit too much to produce satisfactory autochromes.

Here's a few variants of things I've tried so far:

1. "Push" - continue coating all the way across the plate, and push the bead over the edge of the plate
2. "Single" - attempted to coat a minimally thin layer to see if I could avoid building up a large meniscus at all
3. "Wipe" - move the bead back and fourth across the plate to try and even things out
4. "Stop" - Only pump emulsion for the first X% of the plate, and continue motion all the way across to keep spreading it.

The results with all of these were pretty similar, and all inferior to the "collapse" style coatings.

One promising set of tests I did involved a sub coat of gelatin on the plates before coating with the emulsion. The behavior of the coating bead was distinctly different and I struggled to get a full-width coating. However, the coating was very smooth and even. Dealing with the extra emulsion from the end of the coat still proves tricky.

At this point I've coated over a hundred plates and I've sort of hit a wall coat-quality wise. I was really hoping I could make a "stop and go" process like this work with the slot die head, but as was pointed out earlier in the thread, it's really not made for something like this.

I think my next move is to replicate mechanically my hand coating method - after pippetting the emulsion onto the plate and spreading it around with my finger, I take the plate and do a kind of circular rocking motion, which really helps even out the gelatin distribution. I think this could fairly easily be reproduced with an Arduino and two servos, and add in an accelerometer/gyroscope sensor for it to find true level. I ordered the parts for a proof-of-concept, and I'm hoping to get started on that soon!

Thanks again for all the helpful suggestions. they've given me a lot of food for thought!
 
OP
OP
ThePhotoChemist
Joined
Aug 7, 2014
Messages
177
Location
Grand Rapids, MI
Format
Large Format
Alright, I've got another big update!

Firstly, I totally rebuilt the heater controller. I found that AC noise was causing issues with the LED display, and occasionally locking up the Arduino. When the heater/pumps were disconnected, these issues didn't really happen. I ended up spacing everything out, so the high voltage side isn't near any of the low voltage electronics. This seemed to resolve any issues I was having with the screen.
For some reason the same program started having a kind of, thermal runaway when first heating up. I'm not sure why this started happening, but I ended up cooking my pump really good! It seized up for a while, but luckily started running again when the water had cooled down a bit. It seems fine, but I have no doubt I just shortened its lifetime a good amount.

heater_controller_1.jpg heater_controller_2.jpg

I ended up "cloning" the shim that came with the coating head by laying it on a light table, and then vectorizing it with Inkscape. After a little bit of resizing, I was able to cut out the SVG in thin acrylic with my laser cutter. This gives me a reasonable way to create new shims in the future without having to pay a lot of money. Performance seems about the same. I've since made a 5" version (4" pictured), which gives me the ability to coat 4x5s and 5x7s without reconfiguration.

shim_clone.jpg shim_laser.jpg shims.jpg


I switched over to using GRBL to control the CNC steppers. GRBL is CNC control software that runs on an Arduino. The official version is based on the Arduino Uno, but that only supports 3 axes, so I went with the Mega-5x version. I wired up the pins on the Arduino to a parallel port breakout board, This is the "brawn" on the system, and the Raspberry Pi will be the "brains" - handling the GUI, and sending Gcode to the GRBL controller.

For whatever reason, when I flashed the Mega with the GRBL program, no gcode sender program would recognize it. I could talk to it over serial and see that it was accepting commands, moving, etc. I'm guessing these programs were looking for a set of characters or something when it starts up, and maybe the Mega 5x version wasn't sending what they wanted. So, whatever, my program is going to have to send gcode eventually anyway... so I wrote my own serial monitor in Python. Once that was up and working, I started writing a GUI around it, so I could send commands and see position feedback. I won't bore anyone with the details, but I had a lot of fun learning about threading and making GUIs.

grbl_controller.jpg GUI.jpg rocker_setup.jpg
This is my setup now - I've got a Raspberry Pi connected to the Arduino over USB. The Raspberry Pi has a tiny 7" touchscreen display plugged into it with basic motion controls. Not seen here, I've also got a videogame controller plugged in that can do basic jogging functions and select different programs. The screen is too bright to have on for more than a few seconds while coating, so I've wired in a little beeper to the Raspberry Pi, so that I can select different functions by sound.

The GUI keeps track of a bunch of different parameters such as coating speed, height, amount, plate positions. All sorts of stuff that will be handy as I dial in the process.

I spent a couple weeks going down a wild goose chase on creating a "rocker" to emulate the rocking motion I do using servos. I created this monstrosity using servos geared down with a 3d printed planetary gearbox, which worked surprisingly well. I mounted an accelerometer chip under the rocking plate, so that the servos could seek perfect level. This wasn't quite enough to coat a plate without defects, and I eventually discovered that watering down the emulsion to 3.5% and coating with the head was more than enough to produce a nice clean layer.



self_leveledplate.jpg bed.jpg standoff.jpg

And here are the results with the watery emulsion. I ended up buying some 1/4" plate glass and 3d printing some standoffs that I could finely adjust with a machinist's level. Since the bed level could be slightly off of the machine's axes, I coded in some additional math so the head could coat at a consistent height. As it turned out though this was a bit pointless, since the coating height only varied by like, 0.1mm or something.

I did a test run of 5 plates, and they seem to have turned out pretty well!

result.jpg

The screen is one I've reused a bunch of times, so it's in pretty rough condition. But the important thing here, is that the coating is nice and even!
The bad news - I intended to really start putting this thing through its paces and coat like 20 plates. I noticed, though, that for some reason the coating head was only coating about half the plate. I'm not sure why exactly, possibly it clogged or something.

So it works as a proof-of-concept, but there are still a few things to finish up
1. Add a relay module so the Pi can control a fan to run for X minutes after coating
2. Mounting leds somewhere that can be toggled on for extremely dim illumination (right now I use a red headlight angled off the wall behind it when I need to).
3. Add support for 5x7 size
4. Put the Pi and Arduino in a box before I dump emulsion all over them
 
Last edited:

Luckless

Member
Joined
Feb 9, 2016
Messages
1,363
Location
Canada
Format
Multi Format
Awesome looking project. I'm going to have to bookmark this as I've been tempted to dive into a similar rig sometime in the future.


I think one of the biggest 'small change' I made to prototyping small electronic projects like this was moving away from prefab prototyping cables, and shifting to screw terminals where possible, or at least using pin-header connector blocks rather than a row of individual single pin connectors. Far fewer headaches of lose wires or stuff popping out and accidentally getting back into the wrong hole.

Takes a little more desk space to keep a pair of quick strippers, a crimping tool, and a box of pins and socket connectors on the desk, and a bit more time to make a connection, but far less time debugging, checking, and fixing connections.
 
Photrio.com contains affiliate links to products. We may receive a commission for purchases made through these links.
To read our full affiliate disclosure statement please click Here.

PHOTRIO PARTNERS EQUALLY FUNDING OUR COMMUNITY:



Ilford ADOX Freestyle Photographic Stearman Press Weldon Color Lab Blue Moon Camera & Machine
Top Bottom