topbanner.gif
Login
Username

Password




Not a member yet?
Click here to register.

Forgotten your password?
Request a new one here.
Shoutbox
You must login to post a message.

renatoa
09/29/2022 2:15 AM
Welcome, @vincent33, sihar and plf5 coffee drink

allenb
09/26/2022 11:12 AM
coffeeground Welcome

allenb
09/25/2022 11:58 AM
Zarkness Welcome

allenb
09/21/2022 6:56 PM
Freded welcome to HRO! Welcome

renatoa
09/16/2022 12:45 AM
@ ZoydW and CoffeeCrafters, welcome cup

In Memory Of Ginny
Donations

Latest Donations
dmccallum - 10.00
JackH - 25.00
snwcmpr - 10.00
Anonymous - 2.00
Anonymous - 5.00
Users Online
Guests Online: 12

Members Online: 0

Total Members: 7,664
Newest Member: vincent33

View Thread

Who is here? 1 guest(s)
 Print Thread
TC4 - Artisan application software
JimG
OT1 and OT2 are 1Hz PWM outputs. So the command OT1,25 will result in a sequence of output pulses: 250 ms on, 750 ms off, 250 ms on, 750 ms off, etc. Similarly on OT2.

OT1 and OT2 were designed to control a 50Hz or 60 Hz mains powered electric heater by using a typical zero-switching SSR.

IO3 uses a different timer. Its output frequency is around 490Hz. It was intended to provide "analog" voltage output. It is still PWM, but the frequency is suited to controlling things like DC fans by approximating a linearly varying output voltage, 0-5V.

You could run IO3's output through a Darlington transistor or MOSFET to vary the speed of a DC fan.

Does that help?

Jim
 
petershek
Jim,

Thanks for the quick answer. What will the command "IO3,25" do? Is the IO3 still sending out 5V signal but with a "on-off-off-off" pattern in a 490Hz frequency period?

I'm using a Quest M3. Instead of approximating the % of max power with OT1, do you have any suggestion to control the current/variable resistor of the heating element using IO3 instead, so it would read a consistent current over a period of time?

If going for the option to use OT1 to control the heater, I assume the SSR I should get is a just a common 5V-DC Input one with 220VAC output?

For fan control, the one on M3 is like this and it uses 220VAC instead of 12VDC:
www.home-barista.com/forums/userpix/6609_fanspec.jpg
I suppose MOSFET won't work because I normally see the max output is 40V? If I use OT2 to control the fan with a SSR like the heater, do you think it'd work or will it damage the fan with such switching on/off frequency?

Thanks again.

Peter
 
JimG
IO3,25 will do 25% on, 75% off within each 1/490th of a second time slice. Really no different than OT1, just faster.

In the software, you can change the switching frequency of OT1 and 2 to be faster if you want. Options go all the way to 64Hz, IIRC. But since the heating element is fairly massive, not much will change at the higher frequencies. You need to stay slower by, say, 10x (?) the mains frequency, though, to have any resolution on the duty cycle.

I can't give you a good answer on switching the 220VAC fan. I'm sure someone else here has some experience and will chime in.

Jim

 
Bhante
For switching the fan you should be able to do something like this:

images.elektroda.net/67_1164777922.gif

Just note that the earth connection on the AC side is shown wrongly as it is of course not connected to either the live or neutral of the earth! (At least, not when it is 220-240 V AC, although I know earth is connected differently over there with 110 V). The earth of the microprocessor and the AC earth must be connected together, preferably through a resistor (1 Megaohm or something). For the triac you can use something like BT138-600, of which the gate can be connected directly to the microprocessor (i.e. use a triac which is logic compatible). For optimal safety you can use an optoisolator in between the microprocessor (that means, if you don't know what you are doing, make the circuit more complicated!). This will work will either 110V or 220-240V AC, and is fast enough that it should work with the output from IO3 without problem.

Don't assume however that I know all about these things - I am struggling with these things myself! In fact,

@Jim: Do you know how to connect a triac for switching a 12V DC fan from 5V a signal? This is what I am struggling with at the moment (though nothing to do with roasting, except that I am using the TC4 as a source of the PWM signal). I am having trouble working out how the 5V section should be connected to the 12V section.

Bhante
 
greencardigan
To control a 12V DC fan from a 5V signal you would use suitably rated transistors or MOSFET rather than a triac. Same idea but different components. A logic level MOSFET can be driven directly from a microcontroller output but it's probably better to use a MOSFET driver.

Your triac circuit would be ok for switching an AC fan on and off but not for speed control. You'd be better to replace the triac with a SSR. More expensive but safer.
Edited by greencardigan on 07/05/2011 8:08 AM
 
JimG

Quote

greencardigan wrote:
To control a 12V DC fan from a 5V signal you would use suitably rated transistors or MOSFET rather than a triac. Same idea but different components. A logic level MOSFET can be driven directly from a microcontroller output but it's probably better to use a MOSFET driver.

+1

FWIW, the circuit I am presently using to vary the speed on my 12VDC fan includes:

1). 18VDC power supply (from an old laptop charger)
2). 7812 voltage regulator with heat sink (you will need the heat sink)
3). Optocoupler
4). TIP122 Darlington transistor

The output signal from IO3 is connected to the optocoupler. The optocoupler in turn controls the signal to the base of the Darlington.

The power circuit goes like this:

PSU ---> 7812 ---> FAN+ ----> FAN- -----> TIP122 ----> GND.

A MOSFET would have been a better choice than the TIP122, but I just used what I had lying around.

Jim
 
JimG
If I were looking to control an AC fan, I think I would probably investigate phase angle control first. This would present a choppy sine wave to the fan, which might cause problems, but would effectively control the RMS AC voltage.

Whether or not phase angle control is effective on the M3's fan could be tested using a router speed controller or a lamp dimmer. Both of these use phase angle control to work their magic.

The 490 Hz PWM output from IO3 can be run through an RC filter so that it looks like a smooth 0-5V variable DC voltage. The 0-5VDC signal could then be used to drive a phase angle controller.

Crydom, and maybe others, offer phase angle SSR's that accept voltage control input signals. Or you could roll your own using one of the many online recipes for dimmer circuits.

Jim
 
bvwelch
If the dimmer approach doesn't work, I wonder if something like a bread machine 'dough cycle' concept would work? Wish I had a Quest M3 to play with. :-)
 
Bhante

Quote

greencardigan wrote:
To control a 12V DC fan from a 5V signal you would use suitably rated transistors or MOSFET rather than a triac.

Oh dear! I was barking up the wrong tree! Thanks for saving me from wasting more time on it! I had a few triacs to hand, and thought I could use them for this. Was sure I'd seen in a datasheet somewhere that it could be done, but it must have been something else. My memory is not what it once was.

Bhante
 
greencardigan

Quote

JimG wrote:
Crydom, and maybe others, offer phase angle SSR's that accept voltage control input signals. Or you could roll your own using one of the many online recipes for dimmer circuits.

Is this what you're referring to? Nice, but $200 each!!

http://docs-asia....02e161.pdf

This one looks better and is cheaper. http://docs-asia....b69c75.pdf
Edited by greencardigan on 07/05/2011 6:16 PM
 
JimG
Yes, those are what I had in mind. I came across several of the 10PCVxxxx units on eBay a few years back and bought them for a ridiculously low price. If you have to buy them new, they become unaffordable.

Jim
 
JimG
New version (release 1.10) of aArtisan has been posted on the googlecode site:
http://code.googl...n=2&q=

Provides support for type K, type J and type T thermocouples now. Also should have a little more robust error checking when an uninitialized EEPROM is encountered.

Jim
 
tamarian
Being totally new to PID-ing, I'm trying to understand the level of control offered by Artisan, aArtisan and TC4C. Is it a matter of setting a few buttons for the various roast stages, and the PID ensures execution of each stage after pressing the button? Or is this just the early stages of the software?

When I recently downloaded Artisan and saw the profile designer, I assumed once you define the profile curve, and you use either TC4C or FUJI PXG/PXR with SSR's, the Artisan and aArtisan will control the heating element from start to finish to follow along the profile as defined/designed. Is this how it currently works?
 
JimG

Quote

tamarian wrote:

Being totally new to PID-ing, I'm trying to understand the level of control offered by Artisan, aArtisan and TC4C. Is it a matter of setting a few buttons for the various roast stages, and the PID ensures execution of each stage after pressing the button? Or is this just the early stages of the software?

When I recently downloaded Artisan and saw the profile designer, I assumed once you define the profile curve, and you use either TC4C or FUJI PXG/PXR with SSR's, the Artisan and aArtisan will control the heating element from start to finish to follow along the profile as defined/designed. Is this how it currently works?


The aArtisan application does not provide any level of automatic control, i.e., it does not contain a PID algorithm. To control a roaster using Artisan, a TC4C, and aArtisan you create "event" buttons in the Artisan application. These event buttons will be things like "75% heat", or "50% heat", or "25% fan".

When you press one of the event buttons in Artisan, it sends the command you have programmed for that button to the TC4C. The TC4C in turn sets the appropriate duty cycle on one of its PWM outputs.

So what you end up with is fully manual control, but through the Artisan interface.

While you are evaluating software, I suggest you also take a look at RoastLogger. Tom (aka greenbean on TooMuchCoffee.com) and I have been conspiring over the past several months to make RoastLogger and the TC4 system get along very well.

In addition to convenient slider controls for manual control of the roaster, Tom has also created an interface that optionally allows RoastLogger to take automatic actions (fan and heater control) when certain roast events have been detected. Once these roast event points have been set by the user, RoastLogger does a very nice job of automating roasts.

Jim
 
tamarian
Thanks Jim for the detailed response. Is this type of control on aArtisan the same aArtisanQ? Or is the level of control on aArtisanQ more automated?

What I'm really after, if available, is a system where I can design a profile curve and have the system execute that profile. I think I read a post of yours on HB that aArtisanQ has about 100 steps of resolution. I understood that as up to a 100 steps in profile temperature control. If that's the case, aArtisanQ might be what is needed.
 
JimG

Quote

tamarian wrote:Is this type of control on aArtisan the same aArtisanQ? Or is the level of control on aArtisanQ more automated?

Yes, aArtisanQ has the same type of control. It is not more automated. The additional feature provided with aArtisanQ is phase angle (i.e. dimmer type) control for a small motor.


Quote

tamarian wrote:I think I read a post of yours on HB that aArtisanQ has about 100 steps of resolution. I understood that as up to a 100 steps in profile temperature control. If that's the case, aArtisanQ might be what is needed.

The 100 steps of resolution refers to the phase angle control routine. The firmware has a lookup table with 100 different microsecond phase delay times associated with 0% to 100% output on OT2.

BTW, that is really an impressive roaster! I apologize for the "lecture" on safety features, as it is pretty clear you know your way around an electric roaster ThumbsUp

Jim
 
tamarian

Quote

JimG wrote:
BTW, that is really an impressive roaster! I apologize for the "lecture" on safety features, as it is pretty clear you know your way around an electric roaster ThumbsUp

Jim


Thanks Jim, that's quite a compliment coming from you! And there can never be enough warning about safety, especially when given in detail and multiple approaches like you did.
 
greencardigan
Jim,

Do you know if the artisan folk are planning to incorporate any PID functionality in the future?

Or do you know of any PID routines for Processing?

Brad
 
JimG

Quote

greencardigan wrote:
Do you know if the artisan folk are planning to incorporate any PID functionality in the future?

Or do you know of any PID routines for Processing?


I don't think the Artisan team is leaning that direction. Don't want to speak for them, but I believe their thinking is more along the lines of having the connected external PID controller (Fuji, e.g.) handle those duties.

I don't know of any Processing PID code. But the language is so similar to Arduino C++ that the Arduino PID library might be fairly simple to adapt. If you head that direction, have a look at the source code of aArtisan.ino to view the commands available through the TC4.

Jim
 
greencardigan
I tried a roast with aArtisanQ_PID today to test out the PID control function.

The temps were a bit off during the early part of the roast but very close for the rest of the roast. I touched the roaster fan control once during this roast and probably could have got away with a completely hands off roast. I have to say I am very happy how this worked! ThumbsUp

For the record the PID parameters were Kp = 5.00, Ki = 0.25, Kd = 0.00 and the roaster is my 1kg air roaster with a 750g load.

Here's the recorded profile from Artisan. The profile being followed is in the background. I havent worked out how to get ET and BT around the right way in Artisan yet?!

www.greencardigan.com/misc/arduino_roaster_controller/5.00-0.25-0.00.png
 
greencardigan
I made a few changes to the code to allow logging of the output level of the fan and heater. And I also got the Artisan channels showing in the right colours.

This was a re-roast of the same beans. Same PID parameters.

www.greencardigan.com/misc/arduino_roaster_controller/5.00-0.25-0.00_2.png
 
greencardigan

Quote

JimG wrote:

The aArtisan application does not provide any level of automatic control, i.e., it does not contain a PID algorithm. To control a roaster using Artisan, a TC4C, and aArtisan you create "event" buttons in the Artisan application. These event buttons will be things like "75% heat", or "50% heat", or "25% fan".

When you press one of the event buttons in Artisan, it sends the command you have programmed for that button to the TC4C. The TC4C in turn sets the appropriate duty cycle on one of its PWM outputs.

So what you end up with is fully manual control, but through the Artisan interface.

While you are evaluating software, I suggest you also take a look at RoastLogger. Tom (aka greenbean on TooMuchCoffee.com) and I have been conspiring over the past several months to make RoastLogger and the TC4 system get along very well.

In addition to convenient slider controls for manual control of the roaster, Tom has also created an interface that optionally allows RoastLogger to take automatic actions (fan and heater control) when certain roast events have been detected. Once these roast event points have been set by the user, RoastLogger does a very nice job of automating roasts.

Jim


I believe the latest version of Artisan now has the ability to take automatic actions to control the heater and fan. The new feature allows the alarm feature to activate the custom buttons which can in turn control the roaster.

From the Artisan code change log:

Quote

added feature such that a custom button can be activated on alarm

I haven't had a chance to install it yet but it looks promising.
 
MaKoMo
I believe the latest version of Artisan now has the ability to take automatic actions to control the heater and fan. The new feature allows the alarm feature to activate the custom buttons which can in turn control the roaster.

From the Artisan code change log:

Quote

added feature such that a custom button can be activated on alarm

I haven't had a chance to install it yet but it looks promising.[/quote]

The just released v0.5.6 of Artisan does not yet support that feature (it is just a minor bug fix release for the Voltcraft K201 / Center 301 devices), however, v0.6 will support buttons triggered by alarms as well as other extensions to the alarm system, like triggers on all recorded curves not only ET/BT.

Of course the trunk version supports alarm triggered buttons already, but you have to build that trunk version of Artisan from source yourself for now...

Sorry,
Marko
 
greencardigan
Hi Marko,

Thanks for the info and don't be sorry :) I think this will be a useful feature when it comes.

What about the standard event buttons being able to send serial commands? For example I'd like the 'Charge' button to automatically send a serial command to the TC4/Arduino to reset its clock.

Brad
 
MaKoMo

Quote

greencardigan wrote:
What about the standard event buttons being able to send serial commands? For example I'd like the 'Charge' button to automatically send a serial command to the TC4/Arduino to reset its clock.

Brad


Sure why not. I add that to my list of things to be added..

M.
 
Jump to Forum:

Similar Threads

Thread Forum Replies Last Post
Artisan virtual device question Dataloggers/Controllers/Rate of Rise Meters 1 08/23/2022 9:50 AM
Artisan heater control issue Dataloggers/Controllers/Rate of Rise Meters 9 07/03/2022 8:13 AM
Glitch When Using Artisan Alarms Dataloggers/Controllers/Rate of Rise Meters 8 06/17/2022 11:38 AM
Using a TC4 with Artisan Roaster Scope Dataloggers/Controllers/Rate of Rise Meters 41 05/09/2022 12:06 PM
software/circuit designer wanted for new roaster Building a Coffee Roaster 3 03/22/2022 12:49 PM
Homeroasters Association Logo, and all Content, Images, and Icons © 2005-2016 Homeroasters Association - Logos are the property of their respective owners.
Powered by PHP-Fusion Copyright © 2022 PHP-Fusion Inc
Released as free software without warranties under GNU Affero GPL v3
Designed with by NetriX