Author Topic: Jobo Processor Control Board - PCB Review  (Read 4310 times)

0 Members and 1 Guest are viewing this topic.

Offline amaschasTopic starter

  • Regular Contributor
  • *
  • Posts: 148
  • Country: us
  • checking for causal domain sheer
Jobo Processor Control Board - PCB Review
« on: June 07, 2022, 05:15:30 pm »
As a photographer who likes to dabble in film, I spend a lot of time maintaining equipment from the 80s with aging, decaying electronics. It has occurred to me recently that the electronics in question tend to be fairly simple, and it would be pretty straightforward to put together an updated version of one machine series that I encounter pretty often: the Jobo CPP2/CPA2/CPE2 series. These machines develop film and photographic paper by rotating it in drums held in a basin of temperature-controlled water.



The temperature of photographic processes needs to be controlled to a high degree of accuracy in some cases, and they control the temperature of the water in the bath by means of a 500W heater, a solenoid that controls the intake of cold water, and a recirculation pump, all three of which are AC mains powered. The temperature is measured via a probe that sits in the pump impeller housing. The film canister is rotated in the bath by a 24V geared wiper motor, which alternates the direction of rotation every few seconds. My approach involves using the original housing and all of the original hardware, all of which is still fairly easy to replace if necessary. The control board is almost always what fails on these machines, so that is what I am aiming to update.



My mains switching design is based on this setup (which I used to prototype): https://czh-labs.com/products/czh-labs-din-rail-mount-3-channel-8-amp-solid-state-relay-ssr-module-in-432vdc-out-100240vac, which uses a FOD4108 zero-crossing driver to drive the triac and provide opto isolation, and a BTA12-600 series triac to switch the AC applications. I considered using an SSR for this, but this solution was half the price. The max load on the triac will be from the heater, which at 500W will draw around 4.2A, which should be within the range of the design. I'm going to avoid AC/DC regulation in this design for obvious reasons, and use a separate pre-made regulator to provide DC power.

I'm using a MAX14870 to drive the 24V motor, mostly because Pololu makes a nice breakout board with this IC, allowing me to prototype before I get boards made. It can drive motors up to 36V/1.7A (continuous) which should work fine for the 24V/1A max that the motor in question draws. The temperature sensing will based on the MAX31865 and a PT1000 RTD. I'm shooting for accuracy > +/-0.5C, which I should actually be able to surpass with this IC and a class A RTD. The first version of the board will use an ESP32 Devkit in a socket as an MCU, since this will provide flexibility and cost savings for the initial board revisions.

The original controls for these machines involves a series of potentiometers and rotary switches that are incredibly hard to source. I'm going to solve this problem later down the line and just control the ESP32 via a rest API for v1.0. As an aside, if anyone knows how to source switches and pots like the ones on these boards, I'd love to know where to get them. I believe they are made by an eastern european company named Preh.



I be interested in any feedback on my first board design version—particularly regarding the AC area of the board, since this will be my first mains voltage board design and I want to ensure that I'm being as safe as possible. I'm a bit concerned about the pin pitch on the triacs. They're explicitly designed for switching mains voltages, but there's only 0.5mm of clearance between the pins which seems a bit cramped to me.



 

Offline amosborne

  • Contributor
  • Posts: 38
  • Country: us
Re: Jobo Processor Control Board - PCB Review
« Reply #1 on: June 11, 2022, 04:41:22 pm »
My thoughts:
- I can’t find the connector for the USB 5V. Without this, I see no reason for the reverse current protection.
- The buck converter voltage sense divider is messed up, you’ve got 10k in series with the inductor.
- All mounting holes should be grounded as best practice.
- IPC2221B suggested clearance at 130V is 0.6mm. If your clearance at the footprint is 0.5mm this is probably okay; if you can adjust the pads to get a little more that would be best.
- I am assuming the 0R on the LED is a place holder; you will need something to limit the current.
- In general I’d advocate for more decoupling, this board is gonna be noisy. Get some ceramics of different magnitudes upstream of all your chips, including the ESP module.
- it’s hard to assess the layout from the pictures. It looks like a 2 layer board? I’d recommend 4 with a stack up of 1. GND 2. SIGNAL/POWER 3. SIGNAL/POWER 4. GND

I poked around at the chips and stuff and didn’t see anything else obvious. Let me know how it goes.
 

Offline amaschasTopic starter

  • Regular Contributor
  • *
  • Posts: 148
  • Country: us
  • checking for causal domain sheer
Re: Jobo Processor Control Board - PCB Review
« Reply #2 on: June 11, 2022, 05:05:10 pm »
My thoughts:
- I can’t find the connector for the USB 5V. Without this, I see no reason for the reverse current protection.
- The buck converter voltage sense divider is messed up, you’ve got 10k in series with the inductor.
- All mounting holes should be grounded as best practice.
- IPC2221B suggested clearance at 130V is 0.6mm. If your clearance at the footprint is 0.5mm this is probably okay; if you can adjust the pads to get a little more that would be best.
- I am assuming the 0R on the LED is a place holder; you will need something to limit the current.
- In general I’d advocate for more decoupling, this board is gonna be noisy. Get some ceramics of different magnitudes upstream of all your chips, including the ESP module.
- it’s hard to assess the layout from the pictures. It looks like a 2 layer board? I’d recommend 4 with a stack up of 1. GND 2. SIGNAL/POWER 3. SIGNAL/POWER 4. GND

I poked around at the chips and stuff and didn’t see anything else obvious. Let me know how it goes.

Thanks so much for looking over my design, really appreciate the feedback. I particularly appreciate you catching that mistake with the voltage divider, because I made that same mistake on another board and fixed it, and I would have been really annoyed with myself if I sent off this board with the exact same mistake.

With regard to the reverse voltage protection, it's designed to guard against the user attaching the +24V power in reverse. I've tested this one out on a breadboard and I think it works as designed. Is there a lingering reference to USB +5V somewhere? I originally USB on this board but I've recently gone the route of just have serial pins on the board because it's easier to deal with.

I was actually wondering about what I should ground that mounting hole in the AC section to. Should I add a pin for an earth ground connection and ground it to that? I was thinking of also attaching the heat sink mount points to earth ground, maybe on one of the internal board layers?

The LED in question actually has a voltage drop that is the same as the voltage that is output by that regulator. I was a little worried about this one so I breadboarded it out and it pulled the right amount of current.

Decoupling is still an area I don't have a great understanding of. I don't have a great way of seeing frequency information (yet), so I'd be going off of guesswork for the most part. Is the idea that I should be adding more decoupling capacitors at the power inputs of the various ICs, and with different values? I've got a couple at the inputs of pretty much everything, and the devkit has it's own decoupling on the board as it's one of these things:



Generally I do add a 100nF and a 22µF capacitor the inputs of ESP32 modules (which is what the devkit design uses). Would you recommend more?

This is a 4 layer board, though the AC section only uses the front and back layer since I read somewhere that I shouldn't be routing AC on internal layers. The stackup is the one recommended in the implementation documentation for ESP32 modules, which I will eventually be adding directly to this board once I've got the kinks worked out: 1. Ground/Signal 2. Power 3. Ground 4. Ground/Signal.
 

Offline amosborne

  • Contributor
  • Posts: 38
  • Country: us
Re: Jobo Processor Control Board - PCB Review
« Reply #3 on: June 11, 2022, 05:49:02 pm »
USB power: yes on the first page you identify it as a connector port.
Reverse voltage protection: Perhaps this is why I was confused-- I would call this reverse polarity protection.
Mounting hole ground: If it were me, I would add the earth reference associated with the line/neutral and ground all four mounting holes to that.
LED: My gut feeling is relying on an LED's device specific IV curve to set the bias point is little weird but I'm not saying it can't work.
Decoupling: The idea is that every capacitor starts to look inductive at some frequency. Smaller capacitors work at higher frequencies. Electrolytic/tantalum bulk caps are not good at decoupling at all due to their low self-resonance and large ESR. You're right that it's hard to know exactly what's needed--there's a reason software like Hyperlynx sells single seat licenses for tens of thousands of dollars. Just eyeballing your schematic it just looks like not enough (especially just the 22uF at the buck output)... I'd add some 1uF & 100nF (100nF gets placed closer to the noise source) at the buck output and make sure every chip has it locally (at the motor driver I'd even add some 10nF). The ESP module local decoupling will help a lot; I would still add some decoupling at the header too to prevent it from getting in in the first place.
Stackup: Never heard of the AC power routing rule but that's not to say it doesn't exist-- I would appreciate a link if you have it. For the overall stack-up I like to refer to Henry Ott's book on Electromagnetic Compatibility Engineering; you can probably find a copy online. I'm not really concerned about your proposed stack-up, just know that there are trade-offs.
 

Offline T3sl4co1l

  • Super Contributor
  • ***
  • Posts: 22435
  • Country: us
  • Expert, Analog Electronics, PCB Layout, EMC
    • Seven Transistor Labs
Re: Jobo Processor Control Board - PCB Review
« Reply #4 on: June 11, 2022, 06:00:58 pm »
Please don't use net labels to make connections...  To explain by example:

Sheet 4 is completely nothing but abductees.  How am I supposed to know where they go?!

U2 is floating in space, is it a standalone module?  No it's actually a regulator chip, oh and everything around it are the support components, well they're right there, why not just draw in the lines and nudge the components around a little to make it look pretty?

Then again maybe wiring isn't your forte, R1 seems to be misplaced heh.

Anyway, that's the schematic.  I don't know what else may be lurking, with the net connections like that, but it's mostly connectors left, and the ESP32 isn't even connected (besides 3V3/GND), so you can probably solve anything left by just rewiring or whatever.

Oh, yeah this is hierarchical too?  So, more than half of those net labels are actually off-sheet ports, aren't they... Yeh, this is a prime example of a design that can be put on flat sheets, maybe two or three of them.  Only a handful of off-sheet connectors/ports/connecting net labels are needed, the connections will be obvious to see, less to keep track of, easier to read.

Anyway, not to harp on that forever.  And, not trying to be negative, just frank in my usual way.  Schematics are a visual sort of language, and like any, it takes time and practice to learn, and [constructive!] criticism to hone.  Cheers! :-+


As for what might be missing -- not much; you probably want a TVS at the input, pretty close to 24V, to deal with possible inrush surge and ESD.  So, SMAJ24CA or the like.  You have very little headroom on Q1 (30V) or U2 (28V), so mind that the TVS clamping voltage will be very close to (or already over) their limits -- Vp typically 30-40% above Vnom (so, 30-32V say?).

If this is an installation kind of thing (board tucked away in the machine for ever and ever), this probably doesn't matter, but it may prove valuable during development alone -- the most likely scenario for inrush is hot-plugging when you go to connect the power supply, or reconnect it to reset the CPU after an inevitable crash, or etc.

Which, if that's 24V internal from the machine -- mind that they may be using an AC transformer and FWB + filter, and the output voltage might be 24V nominal but varies considerably with load.  Or even, if it's from an actual 24VAC transformer, the DC will be SIGNIFICANTLY more (+40%).  So do check to be sure!

If you're using a new SMPS, it should be fine.  Just avoid hotplugging if not using a TVS.


As for layout, probably more clearance to the mains voltage (from GND) is a good idea, mainly on the right side.  Keep it similar to the opto spacing.  Probably just shove the mains-stuff leftwards a little bit, no problem?

Add thermal relief everywhere -- you won't regret it.  THTs and SMTs both solder easier and faster this way.  Nothing on your control side is carrying much current so you don't even have anything to worry about as far as current capacity or power dissipation.

Add stitching vias -- bottom side is GND as well, I think?  This vastly improves the EMI performance of the build, not that you have much active here anyway, but if nothing else, a good lesson for future projects.  One every 500 mil (12-13mm) is fine, with particular emphasis on perimeters of the pour.  Pay special attention to the negative space cut off by traces/pads within it -- peninsulas and crossings are prime targets.

Oh, heh... you might want THTs for those snubber resistors.  Those need to be pulse rated, for... fairly obvious reasons.  ...Is it, obvious?  Maybe one could make the excuse, what with the zero-crossing drivers?  I don't like it, but potentially, hmm.  (The fault condition won't be anything particularly nasty: chip resistor fuses open --> snubber inactive --> maybe the TRIAC turns off unreliably, or chatters, or latches on.  The heater latching on would probably be worst case, but if you have a readout and you're minding the machine, you'll notice anyway.)

And maybe swap the pins on the TRIAC drivers (they're bidirectional, after all!), get a better layout without that one trace hooking wide around.

Also, if you like SMTs -- TRIACs in D2PAK would be fine here, the heatsinks for TO-220 probably aren't even needed.  Add some pour to the tab for heatsinking, probably fine.

You noticed the TO-220 pin/pad spacing -- good catch -- the trick is the TRIAC is only rated for so much voltage anyway, so you only need to clear that much, not full mains (1.5/2.5kV surge included).  Often, this is fine with pins as-is, or you might consider narrowing the pads a bit (and the traces entering) to improve that a smidge.  (I often use, let me see -- 60 x 80 mil pads on 40 mil holes for TO-220, which leaves 40 mil clearance.)  Board cutout (rout) can also be placed between pins, though it's a bit of a pain (the PCB fab prefers to use larger (~2mm dia.) end-mills when they can; but they're forced to use a 0.5mm or so for a feature like this, so it takes a tool change, slower feedrate, the tool wears faster...  The cost increase to you isn't much, but it's worth noting.)  You can also stagger the pins, usually the middle pin sticking out 100 or 200 mils from the row -- this is commonly done for cheap production where they might not even have the precision to punch* a slot anyway.

*Cheap phenolic boards are die-punched instead of milled!  Very cheap indeed, saving maybe a couple cents/unit in the qty millions.  Irrelevant here: you'll pretty much always have the luxury of FR-4 and plated-through holes.  And, even proto services are shockingly cheap these days!

On the note of pours and stitching, I take it the bottom-right (bottom layer?) pour is 3V3; I'd just flip around the regulator, so its output is on the right hand side, and then you can stitch ground under the regulator, further shrinking the ground-return paths -- a special priority for switching regulators.

Tim
Seven Transistor Labs, LLC
Electronic design, from concept to prototype.
Bringing a project to life?  Send me a message!
 
The following users thanked this post: edavid

Offline Siwastaja

  • Super Contributor
  • ***
  • Posts: 10777
  • Country: fi
Re: Jobo Processor Control Board - PCB Review
« Reply #5 on: June 11, 2022, 06:15:44 pm »
Oh good memories...

I did "fix" that exact board back in... 2008 or so? The thing has this design flaw that you are supposed to pour the chemicals from a fairly small opening, right up next to the control board section. And then, there is not any kind of splash protection or water proofing of the knobs connected to the potentiometers, so over the years, small chemical spillages had corroded the PCB tracks and some componenents, to the point of the back-and-forth rotation going non-functional. I did the repair by replacing some parts and repairing some tracks, but did not have all parts, and don't even remember what I exactly did. End result? It does not start the rotation, unless you give it a manual jerk. But motor back-EMF somehow triggers the thing and then off it goes and works perfectly. After this "repair", it worked for years and years, and me and others processed hundreds of films with it.

So when redesigning, make sure a small chemical spillage does not wreak havoc.

Also if this is for hobby use (or even kinda professional, but not scientific photography), you might be surprised how insensitive the process is to small temperature variations. I mean, official Kodak specification for C41 process might say something like +38.0 +/- 0.2 degC (I forgot what it really is), but really 1 degC error just causes slight shift in film density and even more minor color shift, all corrected in post-processing (analog or digital). Before I had access to the Jobo rotary thing, I did a lot of color processing, including slides, in manually adjusted water bath (getting cold? add hot water from a flask) and standard manual tank. The benefit of the rotary processor is smaller use of chemistry (exactly the same thing as front load vs. top load washing machines!) which is a true advantage if you prefer single-shot (throw-away) chemistry use.
 

Offline amaschasTopic starter

  • Regular Contributor
  • *
  • Posts: 148
  • Country: us
  • checking for causal domain sheer
Re: Jobo Processor Control Board - PCB Review
« Reply #6 on: June 11, 2022, 11:05:06 pm »
Decoupling: The idea is that every capacitor starts to look inductive at some frequency. Smaller capacitors work at higher frequencies...

Thanks, this was extremely helpful. I'm actually going to save this for later reference.

Please don't use net labels to make connections...  To explain by example:

Thanks for your feedback, it's useful to know that I'm making my schematics are hard for others to read. I think I've encountered a similar phenomenon as a programmer (my primary procession) when I encounter code written by hobbyists or solo contractors who don't work on teams. Their work isn't designed from a collaborative perspective, so it takes a lot of work to decipher their personal system. I actually have an easier time reading net names than following wires, but I realize I'm in a minority. I also like to modularize my schematics so I can assemble a device out of (in this case) a power input and 3v3 regulator I had put together for another project, an ESP32 devkit socket I had used before, and a few other ICs that I had used in other places. Of course in this case I also copied over a bug that I had fixed in a previous design, so it would appear that there are some downsides. In the future I'll have to do some work to make these easier for others to parse.

I'm definitely going to add a TVS diode. I always have them in my USB designs, but I hadn't thought to add one in this case. With regard to the +24V supply, I'm probably going to rip out the existing power supply (which is essentially just a transformer with very simple rectification and regulation) and throw in a pre-made 24V AC/DV brick. It would be kind of nice to do the main-> DC regulation on the board but I have been warned against attempting a mains regulator by pretty much every knowledgeable person I've ever spoken to about it, so I'm going to take their advice.

I made my last board without thermal reliefs because I was having the manufacturer do the SMT placement, but then of course I had to work on the board to troubleshoot and it was a pain. I'll definitely add them this time around. I'll also add some stitching vias.

I pretty much copied this design from a cheap "solid state relay" board I am using to prototype, so I'm not surprised that they used SMD resistors in a place where they maybe should not have. That's good to know though, I'll swap in THT. This particular triac also comes in a snubber-less version, though I'm not sure how literally I can take that designation. I'm going to play around with the triac orientation and pin spacing to see if I can get a more favorable layout.

The pour on the bottom is the 3v3. I've got a 24V and 3v3 pour on layer two, so unless I'm misinterpreting what you're saying I'm not sure flipping it would make a difference (since the other pour is the 24V one). Layer 3 is however just a ground pour, so I could stitch the ground around the 3v3 output in its current configuration. Would it make more sense to put that regulator up top near the 24V input?

Thanks again for the feedback, it was super helpful!

Oh good memories...

I did "fix" that exact board back in... 2008 or so? The thing has this design flaw that you are supposed to pour the chemicals from a fairly small opening, right up next to the control board section. And then, there is not any kind of splash protection or water proofing of the knobs connected to the potentiometers, so over the years, small chemical spillages had corroded the PCB tracks and some componenents, to the point of the back-and-forth rotation going non-functional. I did the repair by replacing some parts and repairing some tracks, but did not have all parts, and don't even remember what I exactly did. End result? It does not start the rotation, unless you give it a manual jerk. But motor back-EMF somehow triggers the thing and then off it goes and works perfectly. After this "repair", it worked for years and years, and me and others processed hundreds of films with it.

So when redesigning, make sure a small chemical spillage does not wreak havoc.

Also if this is for hobby use (or even kinda professional, but not scientific photography), you might be surprised how insensitive the process is to small temperature variations. I mean, official Kodak specification for C41 process might say something like +38.0 +/- 0.2 degC (I forgot what it really is), but really 1 degC error just causes slight shift in film density and even more minor color shift, all corrected in post-processing (analog or digital). Before I had access to the Jobo rotary thing, I did a lot of color processing, including slides, in manually adjusted water bath (getting cold? add hot water from a flask) and standard manual tank. The benefit of the rotary processor is smaller use of chemistry (exactly the same thing as front load vs. top load washing machines!) which is a true advantage if you prefer single-shot (throw-away) chemistry use.

Yeah I've been keeping an old ATL-1 (which is a CPP2 with a motorized head for automatically feeding and draining the chemicals) alive for a few years now, and I've been in and out of every part of the machine. I have fixed pretty much anything that can go wrong with it, and I have a bunch of spare for pares lying around. I'm definitely going to design the enclosure to be chemical-spill proof.

One of the biggest deep dives I did research-wise before building this board was on the subject of temperature measurement. I still print using RA-4, so color shifts are a big deal and I actually use control strips to regulate my process as a result. It's incredibly hard to regulate the temperature of liquids with accuracy that C41 demands, and I think I might actually add a second (or even third?) temp sensor to the board so that you can get a readout of the developer temperature, which is a feature on the later version ATL machines. I chose the MAX31865 specifically because it's capable of achieving the temperature accuracy I need, and I've been looking into sources for either class A (+/-0.15C) or 1/10th DIN (+/-0.03C) PT1000 RTDs. Kodak Z-131 calls for a temp accuracy of +/-0.15C, so class A should be fine, but if I can get a higher accuracy without breaking the bank it would be nice.

This is actually making me realize that the placement of a sensitive ADC on a board like this is probably pretty important. I'm guessing I keep it as far away from any noise sources as I can, and potentially explore shielding of some kind.
 

Offline T3sl4co1l

  • Super Contributor
  • ***
  • Posts: 22435
  • Country: us
  • Expert, Analog Electronics, PCB Layout, EMC
    • Seven Transistor Labs
Re: Jobo Processor Control Board - PCB Review
« Reply #7 on: June 12, 2022, 12:57:12 am »
Thanks for your feedback, it's useful to know that I'm making my schematics are hard for others to read. I think I've encountered a similar phenomenon as a programmer (my primary procession) when I encounter code written by hobbyists or solo contractors who don't work on teams. Their work isn't designed from a collaborative perspective, so it takes a lot of work to decipher their personal system. I actually have an easier time reading net names than following wires, but I realize I'm in a minority. I also like to modularize my schematics so I can assemble a device out of (in this case) a power input and 3v3 regulator I had put together for another project, an ESP32 devkit socket I had used before, and a few other ICs that I had used in other places. Of course in this case I also copied over a bug that I had fixed in a previous design, so it would appear that there are some downsides. In the future I'll have to do some work to make these easier for others to parse.

Heh, ironically what, in a sense, works better for code, doesn't for schematics -- reuse does make sense, but there's much less abstraction for circuits than software (or rather, the assumptions are much leakier) -- and most importantly, we don't have a compiler to make decisions about what "instructions" (components) are superfluous, so we have to do that ourselves.

Assemblyed language, if you will. ;D

Personally, I at least, have found few opportunities to reuse schematics; and it's only a few hours to bop together a new one, copy-pasting from previous ones as needed.  Granted, that's a professional at work; YMMV indeed!


Quote
I'm definitely going to add a TVS diode. I always have them in my USB designs, but I hadn't thought to add one in this case. With regard to the +24V supply, I'm probably going to rip out the existing power supply (which is essentially just a transformer with very simple rectification and regulation) and throw in a pre-made 24V AC/DV brick. It would be kind of nice to do the main-> DC regulation on the board but I have been warned against attempting a mains regulator by pretty much every knowledgeable person I've ever spoken to about it, so I'm going to take their advice.

Ah if they already have a regulator, that's pretty good then.  An SMPS will run cooler, of course -- and maybe it's worth updating for longevity as well.  Though, there's really only one or two components that age, in a linear supply like that -- electrolytics, probably just one big main cap, maybe a couple smaller ones too.  The kind of thing, if you don't need the efficiency, it's easier to service than replace; one of the upsides of those old inefficient designs.


Quote
I pretty much copied this design from a cheap "solid state relay" board I am using to prototype, so I'm not surprised that they used SMD resistors in a place where they maybe should not have. That's good to know though, I'll swap in THT. This particular triac also comes in a snubber-less version, though I'm not sure how literally I can take that designation. I'm going to play around with the triac orientation and pin spacing to see if I can get a more favorable layout.

Surely fine for the heater, but the motors might need extra.  Reference:
https://www.eevblog.com/forum/projects/snubber-3-different-230v-ac-motors-in-a-record-cleaning-machine/


Quote
The pour on the bottom is the 3v3. I've got a 24V and 3v3 pour on layer two, so unless I'm misinterpreting what you're saying I'm not sure flipping it would make a difference (since the other pour is the 24V one). Layer 3 is however just a ground pour, so I could stitch the ground around the 3v3 output in its current configuration. Would it make more sense to put that regulator up top near the 24V input?

Oh, 4 layers? Heck!  Save a couple bucks, two is more than enough.  Just route the supplies with traces, they aren't going to very many loads anyway.  Pour GND top and bottom, stitch a bit, she'll be right.

You don't need 24V anywhere along the bottom, right?  Yeah, the regulator up top would be more natural.  Helps keep noisy 24V and switching stuff away from the quieter (hopefully) logic stuff.


Quote
This is actually making me realize that the placement of a sensitive ADC on a board like this is probably pretty important. I'm guessing I keep it as far away from any noise sources as I can, and potentially explore shielding of some kind.

Filtering helps the most.  You're going to have ~ns edges on those fly wires between MCU and peripherals (I assume you intend to solderless-breadboard-style wire everything up with jumpers), and ~us edges from mains noise and TRIAC switching.  Keep the jumpers away from mains wiring, and set reduced slew rate / drive strength on the GPIOs, if you can (I think that one has such features?).  Which is a good idea in general, you might need full drive strength/slew for higher speed serial (e.g. 10MHz+ SPI) or other high bandwidth (RAM, graphics?) stuff, but, if you don't need it, don't use it!

A typical situation is having some of these (logic) signals zipping around the board, and you've got poor grounds because things are just kind of sprung on top of long leads/pins everywhere (notice your module only has four or so ground pins), so the "reaction force" of those signals rising/falling quickly induces a fraction of that edge between grounds.  Which is to say, common mode noise: voltage between regions that should be notionally "ground", but aren't very good grounds with respect to each other (that is, not a low impedance between them).  And a typical symptom is, like when breadboarding, you see some 10-100mV spikes pretty much anywhere you probe with the scope.  Short spikes, some ringing, having a center frequency of some 20-100MHz with a decay envelope of 100s ns say; regardless how exactly it looks, it's something in the domain of spooky RF, signals that "don't like to stay inside wires" -- signals that you measure even when probing directly to ground (apparently).  Well, because it's CM, that is, voltage between grounds: your oscilloscope is also grounded, so your probe isn't inert in this situation.  What you measure in this case (probing "ground"), is the voltage drop across the probe's ground clip lead itself -- a mere 10cm or whatever of wire, but that's a solid 100nH and so has significant voltage drop at these frequencies.  Which is why you often see suggestions to probe with a very short ground lead, like a spring contact to the probe shank, or even direct coaxial connection.

This is probably the hardest thing to grasp about electronics: reciprocity.  As frequency goes up, or various other restrictions (very high or low impedance, high efficiency (power transfer), etc.), it becomes increasing unavoidable that the probe affects the system, and vice versa.  Or that you can't simply reconfigure the system in unlimited ways, you must conserve signal level, or power flow, or impedances adequate for sources and sinks, etc.  We can still abstract around this -- at RF, we typically use transfer matrices to describe the characteristic (input and output impedances and gains) of a block -- but it's still much more bother to work with, than say plain garden-variety digital logic, or analog with op-amps, or most software (where memory can be read or written almost unlimited times, and almost entirely independent of what else writes or reads that memory).

So, uh, I don't know that I've conveyed much in a practical sense, as far as what to look out for, geometrically or structurally, with respect to EMI, or filtering -- but suffice it to say, it's a challenging topic, no one expects you to get it right the first time, and, expect that you're going to have some noise here and, basically, design around that ignorance for now -- filter signals locally (a chip reads inputs with respect to its own ground, not some distant part of the circuit!), avoid large loops with noisy currents (and if you must, shield them by routing over ground plane -- this is why ground plane is such an excellent workspace), avoid aggravating these issues in the first place where you can (only use what bandwidth/rise time you need), those sorts of things. :-+

Tim
« Last Edit: June 12, 2022, 12:59:05 am by T3sl4co1l »
Seven Transistor Labs, LLC
Electronic design, from concept to prototype.
Bringing a project to life?  Send me a message!
 

Offline Siwastaja

  • Super Contributor
  • ***
  • Posts: 10777
  • Country: fi
Re: Jobo Processor Control Board - PCB Review
« Reply #8 on: June 12, 2022, 07:22:44 am »
One of the biggest deep dives I did research-wise before building this board was on the subject of temperature measurement. I still print using RA-4, so color shifts are a big deal and I actually use control strips to regulate my process as a result. It's incredibly hard to regulate the temperature of liquids with accuracy that C41 demands, and I think I might actually add a second (or even third?) temp sensor to the board so that you can get a readout of the developer temperature, which is a feature on the later version ATL machines. I chose the MAX31865 specifically because it's capable of achieving the temperature accuracy I need, and I've been looking into sources for either class A (+/-0.15C) or 1/10th DIN (+/-0.03C) PT1000 RTDs. Kodak Z-131 calls for a temp accuracy of +/-0.15C, so class A should be fine, but if I can get a higher accuracy without breaking the bank it would be nice.

This is actually making me realize that the placement of a sensitive ADC on a board like this is probably pretty important. I'm guessing I keep it as far away from any noise sources as I can, and potentially explore shielding of some kind.

There is a silver bullet for good temperature control: good agitation! Make sure water bath is vigorously mixed. IIRC the Jobo's circulation pump did fairly good job, but you can of course always improve. When the water runs everywhere with good velocity, and it runs past the temperature sensor, thermal transfer to the chemical bottles/development tank is good, plus thermal transfer to the sensor is good; and the whole bath is at the same temperature. This means the exact position of the sensor becomes non-issue, and also the control loop is easier to tune. Even a simple on/off bang-bang control will work unless you have excessive heating power available. Or a steep P controller where you experimentally adjust P to mostly get rid of temperature offset.

But the biggest issue with CPP2 design is the water level is not very high. The rotating tank mostly sits in the air. Developer is going to be colder than the water bath. Adding a sensor to the developer would be a mechnical design nightmare, and then what? How would you control the developer temperature when all you have is the water bath? If you make it hotter to compensate, it will have very slow response time, and then it will overheat the chemical storage containers in the same bath.

I did build a motion picture lab for ECN-2 process (plus E6, among others) and did control the developer temperature using three temperature sensors around the tank, and IIRC they were always within +/- 0.1 degC of each other. It was nice to know that I do have that sort of uniformity, but seeing the numbers, one sensor would have been equally good.

I did use DS18B20 sensors because they perform far better than the specifications over narrow temperature range. After all, you only need something from 20 to 42 degC to cover most if not all photographic processes you could think of. If you go for PT100 or PT1000, the challenge of building the electronics to actually leverage the specified accuracy is non-trivial. This is because these RTDs have very flat curve, i.e., small change in temperature results in even smaller change in resistance. Using something easy like DS18B20 completely side-steps this issue.

Noise should not be an issue because of the tiny bandwidth you need. But of course you need to know what you are doing; to add correct filtering etc.

To put things in perspective, if you are worried about 0.2degC temperature shift, you should be far more worried about things like:
* Water pH; official mixing instructions mention things like "after mixing, control pH to xx +/- y by adding H2SO4 or NaOH". I'm pretty sure you ignore this, like I did,
* Timing of stop bath. I mean, with Jobo it takes anything from 10 to 30 seconds to pour out the developer, and another 10-20 seconds to pour in the stop bath. If you try to do it too quickly, you leave more developer residue. This time is significant part of the 3min15sec (IIRC) developer time.

I did develop RA-4 in trays at room temperature, using Kodak kit chemistry.
« Last Edit: June 12, 2022, 07:28:24 am by Siwastaja »
 

Offline amaschasTopic starter

  • Regular Contributor
  • *
  • Posts: 148
  • Country: us
  • checking for causal domain sheer
Re: Jobo Processor Control Board - PCB Review
« Reply #9 on: June 16, 2022, 05:15:07 pm »
Surely fine for the heater, but the motors might need extra.  Reference:
https://www.eevblog.com/forum/projects/snubber-3-different-230v-ac-motors-in-a-record-cleaning-machine/

That's a good point, I'll definitely have to add snubbers for the motors. Here's a question, do you think it's worthwhile to add a MOV or some sort of back EMF protection for the DC motor driver? I'm using a MAX14870 which is rated to 36V 2.5A (which seems really nuts for an IC that size with no heat pad or sink) to drive a 24V 1A geared motor. The motor will be running one direction for a few seconds and then the other. I'm less worried about the MAX14870 than I am the 24V supply.


Quote
Oh, 4 layers? Heck!  Save a couple bucks, two is more than enough.  Just route the supplies with traces, they aren't going to very many loads anyway.  Pour GND top and bottom, stitch a bit, she'll be right.

Hilariously JLCPCB charges like, $4 for 4 layer boards vs $2 for 2 layer as long as you keep them under 102mm x 102mm (hence the dimensions of this board).


Quote
Filtering helps the most...

Very helpful, thank you!

There is a silver bullet for good temperature control: good agitation! Make sure water bath is vigorously mixed...

I try to control as much as I can with my process, but at the end of the day unless you're running an automated dip and dunk you're going to see some variation. Interestingly, I have managed to keep the density variation < 0.10  on all three color channels relative to the initial control strip that comes with the box. Most of the time my stirs come out < 0.05, which is about as good as you get in a lab. I do actually produce my own distilled water with a small distilling unit so I'm guessing that helps, and I've found a temperature setting and process that keeps the developer at the right temp for most of the stage.

I've been reading more on NTC thermistors (which I believe the DS18B20 is?), and they seem super promising for what I'm trying to do. Seems like I can get way beyond the accuracy I need by using one, given that I don't need the tremendous temperature range offered by an RTD. I've also been considering the possibilities of having the temperature sensors communicate wirelessly, which might give me a way to stick one in the tank? Can't think of a way to compensate for all of the movement and sloshing though.
 

Offline T3sl4co1l

  • Super Contributor
  • ***
  • Posts: 22435
  • Country: us
  • Expert, Analog Electronics, PCB Layout, EMC
    • Seven Transistor Labs
Re: Jobo Processor Control Board - PCB Review
« Reply #10 on: June 16, 2022, 11:55:25 pm »
That's a good point, I'll definitely have to add snubbers for the motors. Here's a question, do you think it's worthwhile to add a MOV or some sort of back EMF protection for the DC motor driver? I'm using a MAX14870 which is rated to 36V 2.5A (which seems really nuts for an IC that size with no heat pad or sink) to drive a 24V 1A geared motor. The motor will be running one direction for a few seconds and then the other. I'm less worried about the MAX14870 than I am the 24V supply.

Full bridge: any EMF is fully clamped by the MOSFETs.  The nearby bypass capacitor serves this duty.

If that's a brushed PMDC motor though, you may want some RFI filtering at its terminals.  Brush noise can be nasty.

Here's an example from my junk box:



they had put 0.1uF's on all pins (including case as "ground" or "shield"!).  The lead lengths could stand to be shorter, actually.  Or maybe add ferrite beads in series with the power pins (before the caps).


Quote
I've been reading more on NTC thermistors (which I believe the DS18B20 is?), and they seem super promising for what I'm trying to do. Seems like I can get way beyond the accuracy I need by using one, given that I don't need the tremendous temperature range offered by an RTD. I've also been considering the possibilities of having the temperature sensors communicate wirelessly, which might give me a way to stick one in the tank? Can't think of a way to compensate for all of the movement and sloshing though.

It doesn't say; it's probably semiconductor.  In the same way that a bandgap voltage reference cancels out tempco, one can reverse the cancellation and get a substantial, well-defined tempco.  LM34 is fairly archetypal of this approach.

There's also the resistivity of bulk silicon itself (at whatever doping level), which has a strong tempco, but I doubt anyone uses it; it's like an RTD but less reliable (sensitive to doping, so, mfg variation).

IIRC, thermocouples have the lowest noise floor, and probably best calibration -- despite the small signal level, they're good for mK range measurements.  But that is, understandably, a bit of work to achieve: 1mK resolution is mere ~nV on most TC types!  RTD or Si will be more than fine here.

Tim
Seven Transistor Labs, LLC
Electronic design, from concept to prototype.
Bringing a project to life?  Send me a message!
 

Offline Siwastaja

  • Super Contributor
  • ***
  • Posts: 10777
  • Country: fi
Re: Jobo Processor Control Board - PCB Review
« Reply #11 on: June 17, 2022, 07:05:23 pm »
That's a good point, I'll definitely have to add snubbers for the motors. Here's a question, do you think it's worthwhile to add a MOV or some sort of back EMF protection for the DC motor driver? I'm using a MAX14870 which is rated to 36V 2.5A (which seems really nuts for an IC that size with no heat pad or sink) to drive a 24V 1A geared motor.

Driving a motor ALWAYS requires a current path for the discharging motor inductance - it's not just "protection", it's essential part of operation. So two switches, one can be MOSFET, one can be diode. Basically a motor controller consists of a tight loop from DC link capacitor plus, through the diode (in blocking direction, of course), through the MOSFET D-S, back to DC link capacitor minus. Motor wires then fork off the diode legs. For small / inefficient DC motors like some tank rotation motor, current sensing and control can be omitted by just using beefy enough MOSFET to handle worst case DC motor stall current (by calculating Tjunction = Tambient + Rth-J-A * I_stall^2 * Rds_on * 1.4 < 110 degC or so, where 1.4 is a fudge factor to convert the Rds_on datasheet value at 25degC to more relevant higher temperature Rds_on).

For bidirectional rotation, you need indeed a full bridge (four MOSFETs), but that also provides path for the motor currents in all cases. MOSFETs have parasitic body diodes that do work, albeit good driver ICs do better and actually know when to turn MOSFETs on to reduce losses.

But MAX14870 seems to have all you need integrated, including current control :-+. Supply it with a few MLCCs such as 1µF close to chip, and then some larger electrolytic cap like 1000µF, and you are good to go.

I've been reading more on NTC thermistors (which I believe the DS18B20 is?), and they seem super promising for what I'm trying to do. Seems like I can get way beyond the accuracy I need by using one, given that I don't need the tremendous temperature range offered by an RTD. I've also been considering the possibilities of having the temperature sensors communicate wirelessly, which might give me a way to stick one in the tank? Can't think of a way to compensate for all of the movement and sloshing though.

There are some good precision NTC thermistors, too, but DS18B20 is not a thermistor, it's a digital temperature sensor IC. The idea is to get rid of having to do all that analog signal conditioning and conversion, and just read out a factory-calibrated digital number directly. It's not officially as high precision as you would like, but in practice, over narrow range it is much better than advertised, and you can easily just wire a few in parallel (to the same digital bus) and read them all for average. This way you can also put a few in different places in the water bath and get an actual idea of the uniformity.
« Last Edit: June 17, 2022, 07:07:42 pm by Siwastaja »
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf