topbanner.gif
September 20, 2018 17:45:34
Login
Username

Password




Not a member yet?
Click here to register.

Forgotten your password?
Request a new one here.
Navigation
bullet2.gif HOMEROASTERS.ORG
bullet2.gif Active Forums
bullet2.gif FORUM INDEX
bullet2.gif Downloads
bullet2.gif News
bullet2.gif Facebook Connect
bullet2.gif Forum FAQ
bullet2.gif Photo Gallery
bullet2.gif Search
bullet2.gif User's Voice
bullet2.gif Videos
Forum Threads
Newest Threads
bullet2.gif Heat, Beans, and Tem...
bullet2.gif Fresh Roast SR500 fi...
bullet2.gif Info on DC motor pow...
bullet2.gif Baratza Sette 270 fo...
bullet2.gif Paper on Roasting De...
Hottest Threads
bullet2.gif TC4 with aArtisan... [380]
bullet2.gif CR3 Arduino coffe... [48]
bullet2.gif Gene with Artisan... [38]
bullet2.gif Fluidbed roaster ... [33]
bullet2.gif 6kW Electric Air ... [32]
Users Online
bullet2.gif Guests Online: 5

bullet2.gif Members Online: 0

bullet2.gif Total Members: 5,517
bullet2.gif Newest Member: masgaguk
BotSlap Panel
bullet2.gif Last check: 09.20.18
bullet2.gif Slap count: 0
bullet2.gif Last checked ID: 6762
Donations
View Thread
Homeroasters.org » ALL ABOUT ROASTERS » ROASTING SOFTWARE APPS
Who is here? 1 guest(s)
 Print Thread
Gene with Artisan and TC4
Masterkey
Hello,

I plan to control the heater of my Cafe Gene with Artisan and a TC4. What do I need for that? I want to use the software-PID that is implemented in Artisan. Can I do that with a dimmer or a SSR? I have no zero cross detection already. What specification do the SSR or the dimmer need to contol it with the TC4? Is there a specification of the TC4? I have the version V7.00.

Masterkey
 
renatoa
Is there available somewhere a controllable dimmer ?
Actually both are using the same principle: modify the duty cycle.
And do it right.
The difference if that the dimmer do this at a finer level, synchronous with sinusoid zero cross, 100/120 times per second, while the SSR chop the power on-off more rough, 2-3 times per second.

How do you plan to measure temperature in that decentered rotating drum?
DIY: TO based IR to bean 800g
Moded commercial: Dieckmann RoestMeister, Nesco, popcorn.
PID/ramp/soak controllers, MS6514 USB/Artisan/Apps/popC/ESP32
Grinder: mod'ed Porlex to 47 conical burrs
 
Want to Help?
By donating you can ensure that HR will continue to be open for years to come. Expenses are 100% transparent and can be viewed publicly at all times. You can find more information on donations and why we request them by reading up on the forum topic here. Thank you.

Masterkey
I want to buy this one:
http://www.conrad...ac-230-Vac

If necessary I also will buy this addiation modul:
http://cpc.farnel...dp/HK01172

Do you thing this will work? Or is it cheaper with an SSR?

First I want to control the temperature not inside but on the inlet of the drum.
 
renatoa
The dimmer from conrad is manual control, not related to TC4

The additional module is controlled by a continuous voltage or a PWM signal, no idea if TC4 support any of them, all I learnt so far is about driving a SSR only.

A SSR is cheaper than the dimmer from conrad, but you need the zero cross module for TC4 also.

You want to control temperature based on ... which logic ?
Does Artisan feature any Gene control module based on exhaust temp ?
DIY: TO based IR to bean 800g
Moded commercial: Dieckmann RoestMeister, Nesco, popcorn.
PID/ramp/soak controllers, MS6514 USB/Artisan/Apps/popC/ESP32
Grinder: mod'ed Porlex to 47 conical burrs
 
Masterkey
What ist the OT1 Output of the TC4 when it is Artisan controled?

I want to control the temperature with the integrated software PID. My idea is to record a temperature curve while i roaste manualy, and then let the roaster do it the same controled by the PID.
 
renatoa
You are right, I learnt something new, OT1 can be configured as a PWM control output.

Still... using the two kemo components sounds more complicate and expensive than a SSR.
DIY: TO based IR to bean 800g
Moded commercial: Dieckmann RoestMeister, Nesco, popcorn.
PID/ramp/soak controllers, MS6514 USB/Artisan/Apps/popC/ESP32
Grinder: mod'ed Porlex to 47 conical burrs
 
Masterkey
Here you can see that it is not necessary to use a zero cross detection if you would like to control a heater with a SSR:
http://www.instru...ys-Theory/

How can I configure the OT1 output?
 
renatoa
For Artisan related stuff best is to contact user Marko, the real authority in this field.
DIY: TO based IR to bean 800g
Moded commercial: Dieckmann RoestMeister, Nesco, popcorn.
PID/ramp/soak controllers, MS6514 USB/Artisan/Apps/popC/ESP32
Grinder: mod'ed Porlex to 47 conical burrs
 
greencardigan
Masterkey wrote:

Hello,

I plan to control the heater of my Cafe Gene with Artisan and a TC4. What do I need for that? I want to use the software-PID that is implemented in Artisan. Can I do that with a dimmer or a SSR? I have no zero cross detection already. What specification do the SSR or the dimmer need to contol it with the TC4? Is there a specification of the TC4? I have the version V7.00.

Masterkey


The TC4 can control a heater using a normal zero cross SSR. With this setup it will pulse the heater on and off.

Or, if you use a zero cross detector, you can control the heater with a random fire SSR.

I don't know about the Gene but I suspect the pulsed heater with normal SSR will be fine.

Do you know what sketch is loaded onto your TC4?
 
Masterkey
Yes I also think the pulsed heater with normal SSR will be ok.

I have the new TC4 Version 7.00 ordered last month. I think there should be the newest sketch loaded onto the TC4. Or do you mean the Arduino sketch. I loaded aArtisanQ_PID_4_3 onto the Arduino Uno
 
greencardigan
Yes I meant the Arduino Sketch. Version 4_3 is a bit old now and I think it requires a zero cross detector as it configured to do phase angle control only.

Version 6_2_2 allows for slow PWM control of a heater connected to OT1. It still has a bug that affects the fan control frequency but I don't think you will be controlling a DC fan with the Gene.

https://github.co..._6_2_2.zip

Make sure you look at the Configuration Options pdf in the download as it will help you with setting the options in the user.h file.
 
Masterkey
Hi,

I have already considered whether I should create a new thread. It's been almost a year now and I didn't have time to realize my project yet. Now let's keep going. Briefly summarized: I want to control the heater of my cafe gene with a TC4 and an SSR. I want to use the artisan PID control. I have already installed two temperature sensors in the gene and connected them to the TC4. Now the next step is to install an SSR. I have a CRYDOM TD2425 (input 3-32V, ZCD, 25a) lying around. Does it work with the TC4?
 
greencardigan
Yes, this SSR should be fine to switch the power to the element. Connect it to the OT1 connection on the TC4.
 
BenKeith
Have you gotten your TC4? Unless Jim shows back up, or one the guys building them, You may need to look at other options. Will2 had a few he built, not sure what his plans are with those. Also, if you are just controlling the heater, that should be almost pure resistive load and you don't need a ZCD for that.
 
Masterkey
@BenKeith: I have bought my TC4 last year. Does anybody know why Jims homepage is down?

I have printed now a case for the arduino/TC4 and the SSR on my 3d printer and flashed the actual aArtisanQ_PID 6.3 on it. The thermocouples are connected and are working well. Now I want to set the parameters in the User.h file.

I have some questions on it and it would be nice if someone can help me with the setup.

Download source  Code

// user.h
//---------
// This file contains user definable compiler directives for aArtisanQ_PID

// *************************************************************************************
// NOTE TO USERS: the following parameters should be
// be reviewed to suit your preferences and hardware setup. 
// First, load and edit this sketch in the Arduino IDE.
// Next compile the sketch and upload it to the Arduino.

#ifndef USER_H
#define USER_H

////////////////////
// Roasting software
// Comment out all if using TC4 stand alone
//#define ROASTLOGGER
#define ARTISAN
//#define ANDROID

////////////////////
// Base configurations (leave only one uncommented)
What is different between CONFIG_PWM and CONFIG_PAC3? I want to connect the SSR or the heater on OT1. Is CONFIG_PAC3 the right one?
//#define CONFIG_PWM // slow PWM on OT1 (heater); fast PWM output (3.922kHz) on IO3 (DC fan); ZCD not required
//#define CONFIG_PAC2 // phase angle control on OT1 (heater) and OT2 (fan); IO2 used to read the ZCD; IO3 undefined
//#define CONFIG_PAC2_IO3HTR // phase angle control on OT1 (heater) and OT2 (fan); IO2 reads the req'd ZCD; IO3 reserved for fast PWM output for heater
#define CONFIG_PAC3 // phase angle control on OT1 (heater) and OT2 (fan); IO3 reads the req'd ZCD; IO3 not available for output
// end of base configurations
/////////////////////////////

////////////////////
// Temperature Unit
#define CELSIUS // controls only the initial conditions.  Comment out for F.

////////////////////
// LCD Options
// Comment out non required features
//#define LCD // if output on an LCD screen is desired
//#define LCDAPTER // if the I2C LCDapter board is to be used
//#define LCD_4x20 // if using a 4x20 LCD instead of a 2x16

// AC Power Options
I have 50Hz. Is it relevant for me?
// Needed for PHASE_ANGLE_CONTROL option
//#define FREQ60 // 60Hz
#define FREQ50 // 50Hz

////////////////////
// Thermocouple Input Options
I have at the moment 2 thermocouples on TC1 and TC2. Does it makes sense to comment the TC3 and 4 out?
// TC type is selectable by input channel
// permissable options:  typeT, typeK, typeJ
#define TC_TYPE1 typeK  // thermocouple on TC1
#define TC_TYPE2 typeK  // thermocouple on TC2
#define TC_TYPE3 typeK  // thermocouple on TC3
#define TC_TYPE4 typeK  // thermocouple on TC4

////////////////////
// BAUD Rate for serial communication
//#define BAUD 19200 // useful for BT links
#define BAUD 115200  // default

////////////////////
// Analogue inputs (optional)
// Comment out if not required
//#define ANALOGUE1 // if potentiometer connected on ANLG1
//#define ANALOGUE2 // if potentiometer connected on ANLG2

////////////////////
// Duty Cycle Adjustment Increment
// Used for rounding/increment for analogue inputs and power UP/DOWN commands
#define DUTY_STEP 1 // Use 1, 2, 4, 5, or 10.

////////////////////
// Physical input channel for RoR display on LCD
Do I have to comment it out if I do not have a LCD?
// Corresponds to Thermocouple inputs T1-T4
#define ROR_CHAN 1

////////////////////
// PID Control Options
I want to control with artisan roastoscope and not with standalone PID. What do i have to set here?
#define PID_CONTROL
#define PID_CHAN 2 // physical channel for PID input (corresponding to thermocouple inputs T1-T4)
#define CT 1000 // default cycle time for the PID, in ms
#define PRO 5.00 // initial proportional parameter
#define INT 0.15 // initial integral parameter
#define DER 0.00 // initial derivative parameter

#define NUM_PROFILES 2 // number of profiles stored in EEPROM

////////////////////
// Heater and Fan Limits/Options
What do I have to set here? In the first step I will not control the FAN.
#define MIN_OT1 0 // Set output % for lower limit for OT1.  0% power will always be available
#define MAX_OT1 100 // Set output % for upper limit for OT1

#define MIN_OT2 0 // Set output % for lower limit for OT2.  0% power will always be available
#define MAX_OT2 100 // Set output % for upper limit for OT2

#define MIN_IO3 0 // Set output % for lower limit for IO3.  0% power will always be available
#define MAX_IO3 100  // Set output % for upper limit for IO3

// cut power to Heater if fan duty is less than HTR_CUTOFF_FAN_VAL (to protect heater in air roaster). Set to 0 for no cutoff
#define HTR_CUTOFF_FAN_VAL 0 // default
// #define HTR_CUTOFF_FAN_VAL 10  //optional value

#define FAN_AUTO_COOL 13 // Set fan output duty for auto cool when using PID;STOP command

////////////////////
// Command Echo
//#define COMMAND_ECHO // Echo all serial commands to LCD for debugging

////////////////////
// Temperature Reading Filters
I will let it on default.
#define BT_FILTER 10 // filtering level (percent) for BT
#define ET_FILTER 10 // filtering level (percent) for ET
#define AMB_FILTER 70 // 70% filtering on ambient sensor readings

// use RISE_FILTER to adjust the sensitivity of the RoR calculation
// higher values will give a smoother RoR trace, but will also create more
// lag in the RoR value.  A good starting point is 80%, but for air poppers
// or other roasters where BT might be jumpy, then a higher value of RISE_FILTER
// will be needed.  Theoretical max. is 99%, but watch out for the lag when
// you get above 95%.
#define RISE_FILTER 85 // heavy filtering on non-displayed BT for RoR calculations
#define ROR_FILTER 80 // post-filtering for the computed RoR values

// Thermocouple inputs
#define NC 4 // maximum number of physical channels on the TC4

////////////////////
// Calibration Values
Is there a documentation about the calibration? Do I need ist?
// default values for systems without calibration values stored in EEPROM
#define CAL_GAIN 1.00 // you may substitute a known gain adjustment from calibration
#define UV_OFFSET 0 // you may subsitute a known value for uV offset in ADC
#define AMB_OFFSET 0.0 // you may substitute a known value for amb temp offset (Celsius)

////////////////////
// Time Base for slow PWM on OT1, OT2
What should I set here?
// When NOT using PHASE_ANGLE_CONTROL option
// choose one of the following for the PWM time base for heater output on OT1 or OT2
//#define TIME_BASE pwmN4sec  // recommended for Hottop D which has mechanical relay
//#define TIME_BASE pwmN2sec
#define TIME_BASE pwmN1Hz  // recommended for most electric heaters controlled by standard SSR
//#define TIME_BASE pwmN2Hz
//#define TIME_BASE pwmN4Hz
//#define TIME_BASE pwmN8Hz
//#define TIME_BASE 15 // should result in around 977 Hz (TODO these need testing)
//#define TIME_BASE 7 // approx. 1.95kHz
//#define TIME_BASE 6 // approx. 2.2kHz
//#define TIME_BASE 3 // approx. 3.9kHz

////////////////////
// Debuging Options
// Useful for debugging only -- leave inactive otherwise
//#define MEMORY_CHK

// This turns on the "# xxxxxxx\n" acknowledgements after commands
//#define ACKS_ON

////////////////////
What should I set here?
// Output Pin Setup
Do I have to set something here?
// phase angle control and integral cycle control outputs
#define OT1 9 // OT1 is on pin D9
#define OT2 10 // OT2 is on pin D10
#define OT_PAC OT2 // phase angle control on OT2 (AC fan, usually)
#define OT_ICC OT1 // integral cycle control on OT1 (AC heater, usually)
#define LED_PIN 13

//////////////////////////////////////////////////////
// Set up parameters for the base configurations
Ok, here I do not understand anything. What should I set here?
#ifdef CONFIG_PWM // nothing special to configure -- this is the default
#endif

#ifdef CONFIG_PAC2_IO3HTR
  #define PHASE_ANGLE_CONTROL // phase angle control for OT2(fan) and ICC control for OT1(heater)
  #define IO3_HTR_PAC // use PWM (3.922kHz) out on IO3 for heater in PHASE ANGLE CONTROL mode
  // zero cross detector (ZCD) connected to I/O2
  #define EXT_INT 0 // interrupt 0
  #define INT_PIN 2 // pin 2
#endif

#ifdef CONFIG_PAC2
  #define PHASE_ANGLE_CONTROL // phase angle control for OT2(fan) and ICC control for OT1(heater)
  // zero cross detector (ZCD) connected to I/O2
  #define EXT_INT 0 // interrupt 0
  #define INT_PIN 2 // pin 2
#endif

#ifdef CONFIG_PAC3
  #define PHASE_ANGLE_CONTROL // phase angle control for OT2(fan) and ICC control for OT1(heater)
  // zero cross detector (ZCD) connected to I/O3
  #define EXT_INT 1 // interrupt 1
  #define INT_PIN 3
#endif

////////////////////
// Heater and Fan Duty Dispay Options
// These should NOT need adjusting.  They control what gets streamed back to via serial
// These have no effect on operation and only affect what gets displayed/logged by Artisan
#ifdef PHASE_ANGLE_CONTROL
  #ifdef IO3_HTR_PAC // If using PWM on IO3 for a heater
    #define HEATER_DUTY levelIO3 // Heater output is assumed levelIO3 with heater connected to IO3
  #else // If using ICC control of a heater connected to OT1
    #define HEATER_DUTY levelOT1 // Heater output is assumed levelOT1 with heater connected to OT1
  #endif
  #define FAN_DUTY levelOT2 // Fan output is assumed levelOT2 for phase angle control mode on OT2
#else // PWM Mode
  #define HEATER_DUTY levelOT1 // Heater output is assumed levelOT1 with heatre connected to OT1
  #define FAN_DUTY levelIO3 // Fan output is assumed levelIO3 for PWM control of fan connected to IO3
#endif

////////////////////
// Phase Angle Control Options
What should I set here?
// When using PHASE_ANGLE_CONTROL option
// Selct load type being switched by phase angle control (has no effect on the ICC output)
#define TRIAC_MOTOR // inductive loads need a longer pulse width to fire at 100%
//#define TRIAC_HEATER // enable this for resistive loads, like heaters

#endif



 
greencardigan
What is different between CONFIG_PWM and CONFIG_PAC3? I want to connect the SSR or the heater on OT1. Is CONFIG_PAC3 the right one?

Have a look at the Configurations PDF that should be in the sketch directory. It depends how you are wanting to control the fan/blower mostly. The PAC modes are for doing Phase Angle control of an AC motor/blower.

I have 50Hz. Is it relevant for me?

Yes, comment out the 60Hz line and re-enable the 50Hz line.

I have at the moment 2 thermocouples on TC1 and TC2. Does it makes sense to comment the TC3 and 4 out?

No need to comment out the other lines.

Do I have to comment it out if I do not have a LCD?

Probably comment it out but no real need to. Will save memory if you comment it out, but I don't think there are any memory issues at this stage.

I want to control with artisan roastoscope and not with standalone PID. What do i have to set here?

If you are using the Artisan built in PID or no PID then you can comment out the #define PID_CONTROL line. However, it will still work correctly as is.

// Heater and Fan Limits/Options
What do I have to set here? In the first step I will not control the FAN.

You can limit the available output percentages for the OT1 and OT2 if desired. Otherwise just leave as is to permit any output level to be used.

Is there a documentation about the calibration? Do I need ist?

I'm not aware of any documentation regarding the calibration but you could look through the code to see how they are used. I understand that they are used if you want to tweak the values being recorded by your thermocouples. For example if it was reading 102 degrees C in boiling water then you could adjust to get it to read 100.

// Time Base for slow PWM on OT1, OT2
What should I set here?

This relates to the CONFIG_PWM mode chosen up the top. It changes the frequency of the PWM output pulses. For example, the default of 1Hz running at 50% power will turn your heater on full for 1/2 second then off for 1/2 second.

What should I set here?
// Output Pin Setup
Do I have to set something here?

No, most likely you will leave this as defaults. Unless you want to change which output pins are being used.

// Set up parameters for the base configurations
Ok, here I do not understand anything. What should I set here?

No changes should be made here. This is just mapping output values to variables depending on the mode chosen up top.

// Phase Angle Control Options
What should I set here?

Probably leave as defaults. It relates to PAC modes and adjusts some control settings depending on the type of load being driven.
 
JackH
Thanks for your help with this Brad!

ThumbsUp
---Jack

KKTO Roaster.
 
Masterkey
Thank you, greencardigan! I will test the setup. Next step is to implement the electric to the roaster.
 
renatoa
Where are you placing the probes ?
 
Masterkey
@renatoa: I placed to thermocouples near to the build in thermocouples in the gene. For the first I controll the heater outlet temperature.

Now I build the hardware an did the first test. I set the PID Parameters with help from Chien, Hrones and Reswick ;-)

But I have a problem while starting the PID-controller. While the controller ist starting it is starting with heater power 100%. So I get a high overshot because my parameters setting is very slow. Why does the heater starts with 100%. The SV is at a very low level at this time. Is there a possibility to give the heater power another startpoint?
Masterkey attached the following images:
unbenannt5.png unbenannt4.png unbenannt6.png
 
Jump to Forum:
Similar Threads
Thread Forum Replies Last Post
First Artisan Roast Roasting Profiles 4 08-09-2018 11:01
Preheat in a Gene Cafe?? Roasting Coffee 1 08-02-2018 08:48
Gene Cafe early Roast Dump? Roasting Coffee 2 07-22-2018 14:37
Comparing the Quest M3, Hottop, and Gene Cafe Roasters Quest M3 Roaster 38 07-06-2018 17:20
Monitoring bean temperature on Gene Cafe CBR-101 Gene Cafe Roaster 13 06-30-2018 12:13