Hi, so I've been working on Robo-Tank 2.0 for the last while based on feedback, issues and other ideas. I got a prototype about a week ago and with the testing I've done so far I'm happy with it and thought I would show it off, a faceplate will be coming down the road.
The main objective was to bring down the ripple on power rails with inductive DC loads and isolate the high powered 12v section of the board better. On the current board when dosing pumps and 12v LEDs were switched and load climbed there was quite a bit of noise getting to the 5v rail and beyond which I believe was the cause of low voltage buggering up the pH circuit. Enabling the brown out detector did solve that issue but the root problem was still there. Now the isolated voltage going into the pH circuit is much more stable when switching DC loads so I believe the source is fixed.
I also replaced the current Texas Instruments +5v regulator with a TPS5430 so the input voltage can be 24v at 90-95% efficiency. Now you can connect 24v DC equipment directly to the DC ports if your input power is the same. A lot of people use 20v-24v LED lights and needed to mess with external power supply, no longer.
The PCB is 4 layers vs the current 2 layer, this is my first one so quite happy it actually works. The ground plain on the 2 layer is so chopped up I felt this had to happen despite an increase in cost and it appears it was probably worth it. The layout is different but the physical size wasn't changed.
The usability changes are as follows.
These show how clean the power rails are, this is without any DC devices turned on, scope settings all the same and the same method of measuring.
This is from the 12v power supply I was using before I plugged it in controller, it has 162mV peak-peak ripple. For cheap power supply not to bad but certainly can be better.
This pic is checking directly on the 2.1mm barrel connector where the 12v goes in, you can see immediately that noisy power supply got cleaned up and now it's only 42mV peak to peak.
This pic is the +5v rail, I couldn't see any change measuring at different points. You can see it's down to 36mV peak to peak. When I put a 4 amp 12v load on this increases to around 50mV.
This is the +3.3v rail for the auto feeder, it has similar results as +5v rail.
And this is the isolated 3.3v for the pH circuit, it only has 8mV peak to peak and when I switch the 4amp load it doesn't budge. With that said if I connect an old noisy dosing pump it spikes to around 12-16mV periodically but I think that's still very good and definitely better than current board. With LED's and a newer motor about the same size that doesn't happen.
Still need to check the PWM and analog signals so that will be next.
Just above the fish is where the 40mm x 40mm x 10mm cage fan goes, it blows towards and across the Pi, I can't quite remember but brings temps down about 20 degrees or maybe more.
You can see where the RTC goes, definitely need a barrier between it and the PCB or good chance you get smoke. I'm going to look around to see if I can find some of those cardboard type isolators so I can ship it with, I can see someone not realizing something needs to be there.
The main objective was to bring down the ripple on power rails with inductive DC loads and isolate the high powered 12v section of the board better. On the current board when dosing pumps and 12v LEDs were switched and load climbed there was quite a bit of noise getting to the 5v rail and beyond which I believe was the cause of low voltage buggering up the pH circuit. Enabling the brown out detector did solve that issue but the root problem was still there. Now the isolated voltage going into the pH circuit is much more stable when switching DC loads so I believe the source is fixed.
I also replaced the current Texas Instruments +5v regulator with a TPS5430 so the input voltage can be 24v at 90-95% efficiency. Now you can connect 24v DC equipment directly to the DC ports if your input power is the same. A lot of people use 20v-24v LED lights and needed to mess with external power supply, no longer.
The PCB is 4 layers vs the current 2 layer, this is my first one so quite happy it actually works. The ground plain on the 2 layer is so chopped up I felt this had to happen despite an increase in cost and it appears it was probably worth it. The layout is different but the physical size wasn't changed.
The usability changes are as follows.
- Added 2nd permanent 1-wire bus for DS18B20 sensors.
- Added extra jumper to each of the 3 sensor ports so they can be configured for extra 1-wire buses, you can run a total of 5 without mods. This insures one sensor won't affect another.
- Removed one DC port due to no space, now a total of 6 available.
- Used signal from removed DC port to add speed control to the cooling fan for the Pi. They can be noisy so you can slow down a bit which help a lot.
- Added two float switch / regular switch backup ports for two AC outlets. These are like the backups for some DC ports, the switch cuts signal to relay so it turns off no matter what system says. Great for an ATO pump etc.
- Added three 3.5mm jacks for plug and play compatibility with Kessil lights, Nicrew lights, Jebao pumps and other 0-10v controllable equipment. These piggy back the existing 8 switchable 0-5v/0-10v PWM or Analog ports. Each 3.5mm jack has 2 signals and ground.
- Added female header so user can plug in a DS3231 real time clock module
- Replaced USB port for sensor extension to a RJ45 Ethernet socket. Reason for this is I need 5 wires and I've discovered not all USB cables are the same, there's at least 3 pinouts when messing with the shielding.
- Replaced dip switches for 0-10v ports with pluggable jumpers. I do prefer the dip switches but it was impossible to fit, I think I did lose out on this one but the gains are worth it.
- 6 sensor ports for optical, non-contact, float switches, normal switches, DS18B20's, DHT22's and some other 5v Arduino compatible water sensors.
- 2 dedicated 1-wire bus ports for DS18B20 temperature sensors, shared among 3 plugs.
- 1 auto feeder output for Ehiem and other feeders, technically this is a low powered DC port so can be used for small fans etc.
- 6 heavy duty DC ports, each port can handle a max of 3 amps or 3 amps shared among them. Good for dosing pumps, LED strip lights etc.
- 8 independent switchable 0-5v/0-10v PWM or Analog ports.
- 16 ports configured for two AC power bars. These 16 ports are just an extension of 16 GPIO pins untouched meaning they can be used for anything if an additional circuit is added. I have various extensions for extra sensors or DC ports so its easy to reconfigure if desired.
- 1 pH port
- 1 speed controllable 12v DC internal plug for 40mm x 10mm cooling fan to bring temps down on Raspberry Pi.
- 1 socket for DS3231 real time clock
- 1 external I2C port at 5v.
- 3 backup ports for 3 DC ports, cuts power to ports no matter what system says.
- 2 backup ports for 2 AC outlets, cuts power to outlets no matter what system says.
These show how clean the power rails are, this is without any DC devices turned on, scope settings all the same and the same method of measuring.
This is from the 12v power supply I was using before I plugged it in controller, it has 162mV peak-peak ripple. For cheap power supply not to bad but certainly can be better.
This pic is checking directly on the 2.1mm barrel connector where the 12v goes in, you can see immediately that noisy power supply got cleaned up and now it's only 42mV peak to peak.
This pic is the +5v rail, I couldn't see any change measuring at different points. You can see it's down to 36mV peak to peak. When I put a 4 amp 12v load on this increases to around 50mV.
This is the +3.3v rail for the auto feeder, it has similar results as +5v rail.
And this is the isolated 3.3v for the pH circuit, it only has 8mV peak to peak and when I switch the 4amp load it doesn't budge. With that said if I connect an old noisy dosing pump it spikes to around 12-16mV periodically but I think that's still very good and definitely better than current board. With LED's and a newer motor about the same size that doesn't happen.
Still need to check the PWM and analog signals so that will be next.
Just above the fish is where the 40mm x 40mm x 10mm cage fan goes, it blows towards and across the Pi, I can't quite remember but brings temps down about 20 degrees or maybe more.
You can see where the RTC goes, definitely need a barrier between it and the PCB or good chance you get smoke. I'm going to look around to see if I can find some of those cardboard type isolators so I can ship it with, I can see someone not realizing something needs to be there.