Who is here? 1 guest(s)
 Print Thread
TC4+ with external DC motor driver
humphead
First post here, but I've been poking around on the forum for about a year as I designed and built a variable batch size (up to 2#) fluid bed roaster taking into account many of the design practices and advice given on here.

After 6 months of manual roasting and ironing out electrical and mechanical design I am finally automating. Purchased the TC4+ and have it nearly working for my setup on PWM for DC fan control and SSR control for 4kW of heating elements. My blower is 24VDC, 20A, and I regularly operate at the upper limit of the current draw. I am planning on installing a Cyton MD20A 20A DC motor driver taking a PWM signal from the TC4+. I can't seem to find much information on how I might make this integration from the TC4+.

Does anyone have any idea on how to wire this in and any Arduino code changes?

I also have observed my 480W, 24V PSU trips out if the blower doesn't have a very soft, slow start so I assume that may need to be programmed in somewhere.

Looking forward to figuring this out and thank you!
 
renatoa
For slow start you have to use DCFAN command.

The driver manufacturer provide a library for this board, check here:
https://github.co...otorDriver

Basically you should replace the IO3 stuff with calls to this library, as in the examples provided.

There are simpler boards allowing you direct usage of IO3 pin and no code change.
 
humphead
Thanks Renatoa! I'll dig deeper into the DCFAN command. Do you have any recommendations on the driver board that is easier to integrate into IO3?
 
mg512
renatoa, are you sure you need the Cytron library? From the MD20A datasheet it sounds like it should accept a standard PWM input signal.
 
renatoa
mg512, probably you are right, because the library is actually a onion style wrap up of a final statement, the same used by TC4 for IO3/DCFAN pin.
The reason of the post... a little in a hurry, it seems... is my routine when I see something new, my first impulse is to search if already used for Arduino.
Because the link to manufacturer library was in the top three results, the fake conclusion ... smile

Probably you already noticed, but the library is not only about the speed, but control also the rotation sense too.
 
renatoa

Quote

humphead wrote:

Thanks Renatoa! I'll dig deeper into the DCFAN command. Do you have any recommendations on the driver board that is easier to integrate into IO3?


Why not using the on board TC4+ IRF540N MOSFET, which is ok for 24V 30A, with an increased heatsink...
 
humphead

Quote

renatoa wrote:

Why not using the on board TC4+ IRF540N MOSFET, which is ok for 24V 30A, with an increased heatsink...


Mostly because I don't trust my ability to remove the MOSFET from the TC4 and reinstall it with a heatsink and proper conductors from the MOSFET to DC+/- outputs...without damaging other things Shock
 
renatoa
Then use this version, as an external board:

https://www.amazo...B072WSKFQN

... please notice they provided some room for a heatsink between the MOSFET and the terminals block.
Edited by renatoa on 03/17/2021 3:45 PM
 
humphead
Looks great! How would this integrate into the TC4?
 
mg512
Yeah, definitely don't put 20A through the TC4+ unless you are very sure you know what you are doing.

For the one renatoa linked, I assume the S pin would connect to IO3, and VCC / GND to 5V / GND.
 
renatoa
Manufacturer page of this board:

https://robotdyn....v-30a.html

... switch to Documents tab for the schematic.

Seems Vcc pin is provided to power a presence LED only, nothing related to board functionality, so not mandatory.
 
humphead
I'm going to attempt to take the IO3 24VDC PWM signal into the motor driver PWM input to see if I can get that to work. Is there a way to trim the voltage output on IO3? I need to get it under 12VDC...

Edit: Other idea is to source a DC-DC SSR that allows up to 24VDC on the control circuit and 24VDC (20A) on the line side...
https://www.amazo...7CCT1ZZ2E1
Edited by humphead on 03/19/2021 9:18 AM
 
renatoa
IO3 pin output is not 24V, it's a regular 5V GPIO Arduino pin.
 
humphead
Renatoa - hooked up a voltmeter between DC+ and DC- (IO3 outputs) on TC4+ and read 24V...I must be missing something!
 
mg512
Not the DC+/DC- terminal! There's a separate IO3 header near the top left of the board, just 3 pins, 2.54mm spaced, near the BT_SEL jumpers. Those three pins have GND, 5V and IO3, where IO3 is a 5V PWM signal.
 
renatoa

Quote

humphead wrote:

Renatoa - hooked up a voltmeter between DC+ and DC- (IO3 outputs) on TC4+ and read 24V...I must be missing something!


Checked carefully the documentation of TC4+, and nowhere the DC+ and DC- terminals are referred as IO3 outputs.
They are indeed controlled by IO3 internally, but not equivalent of IO3 pin itself.
As mg512 already answered, there is a distinct separate IO3 header.
 
humphead
Excellent points and I was mis-referring to IO3! Thank you for the correction. I connected up a control wire from PWM on the motor driver to PWM on IO3 pin and have full fan control from Artisan!

Just ran a hot air test and Artisan does a nice job controlling the parameters. I did notice that the new SSR with DC control is not able to achieve as high a RC temperature as my manual pot.-resistance controlled SSR. I assume this is probably not adjustable within arduino programming, but does anyone know that? I'm at the very upper end of heat capacity anyways for 2# batches with 4.2kW heating element....

Thanks for the help everyone!
 
renatoa
What is "new SSR with DC control" ?

Do you have set any MAX_OT1 limit in TC4 or the equivalent power limit in Artisan?
 
humphead
I have two SSRs - one for manual resistance-based control of heating elements and one for DC control - automatic artisan-based control.

MAX_OT1 is currently 0 - 100%. I?m going to see if I can adjust max to 120%...
 
exer31337

Quote

humphead wrote:

Excellent points and I was mis-referring to IO3! Thank you for the correction. I connected up a control wire from PWM on the motor driver to PWM on IO3 pin and have full fan control from Artisan!

Just ran a hot air test and Artisan does a nice job controlling the parameters. I did notice that the new SSR with DC control is not able to achieve as high a RC temperature as my manual pot.-resistance controlled SSR. I assume this is probably not adjustable within arduino programming, but does anyone know that? I'm at the very upper end of heat capacity anyways for 2# batches with 4.2kW heating element....

Thanks for the help everyone!


What SSR did you use and how did you control it with DC? Thank you for the info.
 
renatoa

Quote

humphead wrote:

MAX_OT1 is currently 0 - 100%. I?m going to see if I can adjust max to 120%...


Will not work: https://github.co...l.cpp#L189

You can't overpower your heater, not without a voltage increase. A SSR is not capable of this job.
 
Jump to Forum: