Use PWM to control your Jebao DCT pump using brushless motor controller from ebay

Also, the 150W version of the board has an identical PCB. The third sense resistor is populated on the backside, and the second electrolytic cap is present. The heatsink is slightly larger. I haven't checked for any part number differences.
 
Use PWM to control your Jebao DCT pump using brushless motor controller from ebay

There is only one, U3 is the controller. U2 is LM339, you can see the chip marking if you shine a light on the chip at an angle.



From what I remember when I traced the signals, each of the 11 LEDs connect to the mcu. 3 switch, 6 motor driver, 3 bemf, 1 current sensor, 1 voltage detector, +5, gnd. that's 27 pins. I can't remember what the last pin connects to.



So in order to get the same functionality (or to use the same size board), the replacement mcu must have at least 26 IO lines. Plus a pwm and a direction pin, that's 28 IO lines, more if you want more functionalities. So an atmega328 will not work as replacement. But if you want no frills simple controller that is controllable by pwm, then atmega328 will work just fine. I plan to build a no frills one for starters.



Only 8 lines are used for the LEDs in the original design (6 cathodes, 2 anode muxes).

The comparator is marked as an LM2901 but that's basically a variant of the LM339 4 channel. http://www.ti.com/lit/ds/slcs006t/slcs006t.pdf. Cleaning the board with acetone or xylene makes fast work of the conformal coating.

I'm going to do the "plug and play" driver replacement and use an A4960 and toss in an nRF52 (cause Bluetooth LE is how I'm running everything now).
 
A cheap Arduino pro mini can probably be used on a diy controller.

if I am not mistaken, pro mini has 21 or 22 usable IO lines.

6 for motor driver
3 for bemf
1 current sense
1 voltage sense
1 pwm speed
1 direction
2 for I2C can be used for optional lcd display
2 for serial can be used for low speed esp8266 wifi
1 maybe for a buzzer for alarm
the rest for push buttons

I can get some FETs and wire this up on a breadboard and see if it will work.

If it does and is feasible, the plan is to make this controllable from any pwm and digital pin source to control speed and direction, and have a few basic built in program modes for use with crossflow and DC pump to work stand alone.
 
I thought the problem with digital motor control is the processor speed. You need to line up the timing of the drive transitions against the signals being received through the same wires and you need a very fast processor to make that work?
 
I now have 5 DCT15000. Three for flow and two that I'm using in series to create pressure for my skimmer penductor injectors.

So... Control would be excellent. :D
 
A cheap Arduino pro mini can probably be used on a diy controller.

if I am not mistaken, pro mini has 21 or 22 usable IO lines.

6 for motor driver
3 for bemf
1 current sense
1 voltage sense
1 pwm speed
1 direction
2 for I2C can be used for optional lcd display
2 for serial can be used for low speed esp8266 wifi
1 maybe for a buzzer for alarm
the rest for push buttons

I can get some FETs and wire this up on a breadboard and see if it will work.

If it does and is feasible, the plan is to make this controllable from any pwm and digital pin source to control speed and direction, and have a few basic built in program modes for use with crossflow and DC pump to work stand alone.



Don't forget gate drivers, especially if you're using all N-FETs. The gate charge of even the low side FETs is too large for PWM duty on an AVR.
 
I plan to use the same motor driver and bemf circuit (and parts) as the stock controller.
And program the signals to be as close to the stock controller as possible (like soft start, etc). The only way to do this is to use an MCU where you program the waveforms.

I have seen how clean the signals are with the stock controller circuit, so I will just use the same circuit so I don't have to figure out part values. Well, I still have to guess the capacitor values, since smd caps are not labelled.

I just noticed the cp-40 from the 2 sellers in California are sold out.
Mine is arriving today.
 
Last edited:
I thought the problem with digital motor control is the processor speed. You need to line up the timing of the drive transitions against the signals being received through the same wires and you need a very fast processor to make that work?

Its a big "it depends". If you want to run all of the signal processing in the digital domain and get exact control, you'll carefully monitor everything and sample it via a high speed ADC. This day and age, MCUs with a lot of power (100+MHz, dual 1MSPS 12bit ADCs, etc) are so cheap anyway, and there are a lot of reference designs and software libraries, that just re-using a CM4 or CM3 part from another design will win out over anything specialized (I'm sure EcoTech for example only uses that one MCU in all of their products sans the ReefLink).

These super cheap designs don't use the ADC and instead just do zero-crossing detect using a super cheap comparator (like the Jebao and the eBay boards). Seems to work great, until you want to do something different then you're back to tuning an analog circuit. In this case, a low-end CPU with enough PWM capability is all you really need. Having an MCU with a PWM generator designed for motor controller or similar (dead time, complementary outputs, etc) means you get some speed back for processing. Cheap 8-bit MCUs can do this easily enough, and have very predictable performance and cycle latencies so you can hammer out a good controller.
 
I did a little floor-planning using the nRF52 module and the A4960 motor controller + 6 FETs. Plenty of space, and I can put all the components on one side if I move the heatsink to the "bottom" area of the board (heatsink will rest straight on the board, using vias from the SMT FETs as is ideal for those low profile parts).

floorplanning.PNG


I added an RJ45 connector for Apex on the bottom-left, which should be easy to make a squareish cutout on the stock case. The Jebao inputs are all wired so can be relocated to anywhere on the board, and the connectors are more or less dead center in the case.
 
Also, the 150W version of the board has an identical PCB. The third sense resistor is populated on the backside, and the second electrolytic cap is present. The heatsink is slightly larger. I haven't checked for any part number differences.

Is there a 150w version? I thought it's just 50w and 100w.

The 100w also has 2 current sense resistor. R100. Is this 10 ohms? so 2 in parallel makes it 5ohms?

FWIW, the picture I saw of the inside of the crossflow also use 2 R100 current sense resistor.

Do you still have your 50w controller open? What are the values of the current sense resistor and how many?

95948bad6ef4f2a10a9018a82497ba25.jpg
 
I bought a DCT15000 for comparison (planning on a grow out system at some point so yeah, totally justified ;)) - it was labeled as a 150W driver. All three sense resistors were populated on that board. The actual PCB layout is identical to the 50W - both had a date code in 2016 on the sticker, and were green.

Once I get home i'll confirm the values.
 
Here's my DCT15000 board

<a href="http://s1062.photobucket.com/user/karimwassef/media/74077908-4A4F-4114-A91F-AA7CA62312AD_zpsr8wqbzfm.jpg.html" target="_blank"><img src="http://i1062.photobucket.com/albums/t496/karimwassef/74077908-4A4F-4114-A91F-AA7CA62312AD_zpsr8wqbzfm.jpg" border="0" alt=" photo 74077908-4A4F-4114-A91F-AA7CA62312AD_zpsr8wqbzfm.jpg"/></a>

<a href="http://s1062.photobucket.com/user/karimwassef/media/D7849EB9-B112-44B3-B5D5-CD4B07E988BD_zpszhvf9tvl.jpg.html" target="_blank"><img src="http://i1062.photobucket.com/albums/t496/karimwassef/D7849EB9-B112-44B3-B5D5-CD4B07E988BD_zpszhvf9tvl.jpg" border="0" alt=" photo D7849EB9-B112-44B3-B5D5-CD4B07E988BD_zpszhvf9tvl.jpg"/></a>

<a href="http://s1062.photobucket.com/user/karimwassef/media/85E6EBF1-7657-4A5B-BA1E-FFB6691248B0_zps5ghxnlrp.jpg.html" target="_blank"><img src="http://i1062.photobucket.com/albums/t496/karimwassef/85E6EBF1-7657-4A5B-BA1E-FFB6691248B0_zps5ghxnlrp.jpg" border="0" alt=" photo 85E6EBF1-7657-4A5B-BA1E-FFB6691248B0_zps5ghxnlrp.jpg"/></a>

<a href="http://s1062.photobucket.com/user/karimwassef/media/DE7593D5-6167-4987-ACF2-8F7EE0CC5E6B_zps1lrp37us.jpg.html" target="_blank"><img src="http://i1062.photobucket.com/albums/t496/karimwassef/DE7593D5-6167-4987-ACF2-8F7EE0CC5E6B_zps1lrp37us.jpg" border="0" alt=" photo DE7593D5-6167-4987-ACF2-8F7EE0CC5E6B_zps1lrp37us.jpg"/></a>
 
Last edited:
Looks like the same as mine, thats good. Heatsink is the larger variant, and it uses three parallel 0.1 ohm sense resistors.
 
Can you get the FET part numbers?

I think for 100watt controller, its AOD4185 and AOD4186.

The parts layout around the FETs look different than the 100watt controller.
 
I got my cp-40. It definitely has more flow than conventional powerhead.
The reverse mode is truly useless, so I think nothing will be missed if reverse pin is omitted. Maybe for the gyre, there is some use if the reverse paddle is used.
 
Having some fun fit problems with keeping FETs on the "button" top-side and the heatsink on the backside - namely the feed button (or the - button). The heatsink interferes with the wiring entry if its on the lower end of the board. The 50W heatsink is 40x28mm, while the 150W is 40x40, meaning less area is covered on the smaller controller if the top-side FETs are to the right of the feed button.

I might just keep where the heatsink is on this design and not move it about.

hs1.png

hs2.png


The FETs I'm using are the BSC100N06LS - 60V/50A, 10mOhm, super common TDSON/SOIC-8-like package. Since the Allegro driver has a boost bump integrated, its all N-channel FETs.
 
Back
Top