Who is here? 1 guest(s)
 Print Thread
TC4 with aArtisanQ_PID
Paul Varga
yes, i feel the same. I would rather it be grounded, but why is it doing what its doing. I will use it with out the ground, but probably will investigate more, after i get some coffee roasted!
Paul Varga
Well I tried roasting 2 batches of coffee today, and unfortunately my roaster device is not quite up to snuff. Took way to long to get to first crack and had a really slow rate of rise. It took almost 20 minutes to hear a first crack and never went all out cracking. This blows. This oven has a 1300 watt heating element but I think the heat needs to be directly under my bean mass, where as the heating element is mounted on the side.

I have a heating element that I can mount on the bottom under the beans. I think that will make a difference.
I looked on U-tube to see what you were using and have a questions.

How are you agitating the beans? If they are just sitting in one spot on metal, they are going to scorch in that spot, and you can't open the door to stir them or the temp is going to drop off the charts.

You are in serious need of more heat, that's for sure, but if you are roasting on metal tins, you need to do something to apply a even heat from the top, not under them.
Paul Varga
Yes, I mounted a motor on the top and it is a 60 rpm motor, but its 50 hz so its spinning at 72 rpm. I used a aluminum cake pan that i put another 1/16 thick piece of aluminum in the bottom to stiffen it up. I mounted a bearing on the bottom for the agitator to spin on. I dropped the voltage across a 10 watt resistor to lower the current to the motor because it was running at a higher current then it would at 50 hz. Overall the thing surely does need more heat. the aluminum cake pan is a thick 16 gauge pan. originally i drilled holes in the bottom, but that was a problem because beans were getting stuck in the holes and jamming up the agitator. That is why I added another piece of solid aluminum sheet on the bottom, to cover the holes. I thought holes would be good so that the air could flow through them
Paul Varga
I guess I should just try to build a drum roaster from scratch instead of trying to modify a cookie oven to roast coffee. LOL!

I used to have a behmor 1600, I did not thing that did a great job either.
Well, I'm not going to get into roaster building. There are about as many ideas about that as there is about roasting the beans. I've been going to build a small drum unit for a couple of years, I even have 95% of the materials and parts, plus all tools and equipment needed. I just need to have the front and back plates cut out on friends water jet. It just has not made it up on my priority list.
I will say, though it looks simple in design, unless you have a lathe and milling machine, or willing to pay machine shop prices, I think building a good one is going to be hard.
Fluid beds are a whole lot easier for the average home roaster to build. I can roast to just about any profile I want with mine but my current one is limited to about 300 grams that I can have 100% heat and air control.
Paul Varga
Yes I agree. It was tricky fabricating the stuff for my roaster that does not work. Lol
. Fortunately I have a lathe and have arc welder and mig welder. I'm sure I have the tools but don't have the money or brain power to build a really solid drum roaster. Lol.


Paul Varga wrote:

and what i notice too is that when its plugged into a ungrounded outlet the speed is somewhat adjustable, and if i touch the metal of the roaster the speed picks up. If i put my hand over my mouse on my laptop it speeds up too. strange!

Glad you finally got it sorted! I also had some very weird prblems like this when I was setting up my first TC4. My fan was behaving weirdly when I moved my hand near wires in my control box or touched my laptop which was connected to the TC4 with USB cable.

See my old post here. http://forum.home...post_40040
Paul Varga
What I have learned is that the fan moter is a shaded pole motor and those don't work very well for variable speed, at least that's what I understand from what I was reading. Funny thing is that the speed was adjustable then I put the cover back on the thing and now it won't change speed. It does not matter at this point since I have pretty much learned that the 1300 watts inside the thing is not enough. My first attempt I loaded 20 ounces of Columbian at 400 degrees at the bean probe.... that was very crappy roast. 20 minutes to get first crack and it really did not have the power to climb. Then I did 16 ounces at a 450 bean probe temp, it went much better but still not enough juice. I guess I learned by trying to make something that has no balls. I think I will learn about making a fluid bed roaster similar to coffee crafters artisan 6 design. Thanks to all you guys for your help.
Question regarding latest release. For the most part everything is working fine, with the exception of some PID functionality.

Right now, once the PID is turned on, it will not turn off until I turn off scope monitoring, reset Artisan and turn scope monitoring back on. I've tried a couple different methods and I can't seem to get the PID to turn off any other way. The other interesting aspect of this is, I have the Extra Devices setup for ArtisanTC4_56 so I can see the Duty percentage. When the PID is on, it reads correctly, when I click PID OFF in the Control Dialogue, the PID readout says 0%, but on the TC4 board, I can still see the OT1 PID light is still on.

I suspect there is a setting in the User.h file that I'm missing, but I can't be sure. Any help would be great!
You can turn it on with the PID;ON command and off with the PID;OFF command.

When the TC4 is in Artisan mode (set in the user.h file) it only sends the heater, fan and set variable if the PID is active. That's how Jim had it set up originally. I think it should always send those values as they're useful regardless of the PID state. You could easily adjust the arduino sketch so it always sends these values. There's probably just 2 lines of code to remove. I can give you more detail if you wanted to try this.
So I'm still having some Artisan/TC4 Issues that I'm trying to resolve. Basically the PID does not turn off once the roast is finished. From what I gather I should be able to program a button with PID;OFF and it will turn the PID off...so I did that. I also created a button with PID;STOP to try both. Neither work.

In order for me to get the PID to turn off, I have to do a two step process, first click Reset, then click ON. Until I do that the PID does not turn off. The biggest issue for me is safety as it just continues to heat at whatever setting its at.
Can you try it without Artisan running? Connect to the TC4 using the Arduino Serial Terminal and send commands from there to confirm if the commands are working.

Edit: Just read your issue again. Try sending OT1;0 after the PID;OFF command. The PID;OFF command just disables the PID but leaves the heater output value at whatever it was currently set at.
James, I just checked with a serial debugger what Artisan v1.0 is sending out in Arduino/TC4 mode (with "PID firmware" ticked in the device setup). I saw it sending out "PID;ON" on pressing ON in the PID Control dialog as well as "PID;OFF" on pressing OFF in the same dialog. Seems all ok from the Artisan side of things. I also defined a button with Action "Serial Command" and Documentation "PID;OFF" and on press things the "PID;OFF" command was correctly send out. Could it be that you have a strange firmware running on your TC4?
@greencardigan, @makomo

I'm going to double check when I get home and run a few tests. I will also double check the version of firmware I'm running. I want to be running the latest version so I'm bound and determined to get it working properly without annoying people too much.

I appreciate you taking the time to help me out.
Hey Guys,

Ok, so I double checked and re-uploaded the newest version of ArtisanQ_PID firmware to my Arduino and still no change.

I tried a few things.
1. I opened Arduino serial monitor and typed PID,ON and got no response on the board. After some playing around I figured out that I needed to set the SV before it would turn on, so I typed PID,SV,400, followed by PID,ON...now the OT1 Light is on, indicating the PID is on. I followed that with PID,OFF and the PID stayed ON. I then typed PID,Stop and then the OT1 Light went off indicating the PID was off. Not sure what that means for the commands, but it doesn't seem right to me.

2. After running that test, I then did a test run in Artisan, just to see if anything was fixed. I launch Artisan, Click ON, followed by Start and Charge, and the PID turns on. To follow through with the test I clicked Drop then OFF and the PID remained ON. In order to disable the PID I had to click RESET follow by ON and only then did the PID turn off.

I made a horrible video to show you exactly what I'm doing and what I'm seeing.

Hope this helps.


Link to Video (I couldn't get it to embed)


Edited by JackH on 04/07/2017 3:04 PM
Did you try the suggestion in my previous post?

I'm fairly certain now that what you are seeing is normal behaviour.

It is possible you are confusing the 'PID' with 'power to the heater'. They are separate things. The PID is just a control algorithm that take over the heater control. When you turn the PID;OFF you are NOT turning the heater off, only the PID control algorithm. If you want the heater to go off as well, send the OT1;0 command after the PID;OFF command.

Alternatively you can send the PID;STOP command as you found. It essentially does three things. Turns the PID off, sets the heater output to 0 and also set the fan output to the 'FAN_AUTO_COOL' level as set in user.h.
That is really good to know...with the previous versions when I clicked the OFF button, it shut the heater down as well. I'll try the PID;STOP command linked to the DROP button and see if that works. If not, I'll create a separate button.

Lastly, I tried to program a warm-up button, one that would turn the PID and heater on, and set the SV to 480, but I can't seem to get that to work, any suggestions?

UPDATE: I programmed the DROP Button with serial command OT1;0 , that turns the heater off for about 1 second then comes back on to 100%. At the same time I programmed the OFF button with serial command PID;STOP and that seems to work.

I'll stick with this configuration for now.

Not to criticize anyone, as you all have done an amazing job, but I do feel that it should be noted to people that the OFF button doesn't necessarily mean the Heater is off. I say this because I ran into the issue where I didn't realize the heater was still on until I notices the MET was almost 800 degrees. Most higher end roasters have safety measures built in, but the Quest does not, it will continue to heat as long as the heater is on. Just my two cents here.
Edited by James211 on 04/07/2017 4:54 PM
Hi all,
I've been successfully using Roastlogger for several years with my TC4 controlling the heater via SSR connected to OT1 and fan via I/O3.
Recently I've put together another arduino/TC4 to eventually install on a new roaster where I wanted to use Artisan. On this second TC4, I have loaded the aArtisanQ_PID_6_2_2 sketch and running Artisan1.10 software. This communicates fine with the TC4 including the thermocouple readings but I'm having a hard time getting the OT1, OT2, or I/O3 outputs to fire.
I've tried setting buttons in events ie; OT1,100 and OT1,0 but no matter what I do, I cannot get the outputs to fire. I've even tried setting up sliders using OT1,{} but again, I can't get anything from the outputs. Not sure what I'm missing or doing wrong, I did have a play with Artisan a few years back and don't remember having trouble configuring the outputs.
I have leds connected to the outputs for testing which work fine if I load the TC4 with the RoastLogger sketch so I know the hardware is fine.
Ideas anyone?

Its Espresso, not Short Black
Hi Fiorello,
Could I ask a few question to help us diagnose the problem.

Have you properly configured the user.h file? Version 6 introduced a few output configuration options. I think the default option is expecting to have a zero cross detector connected to io3 instead of using it as an output. The configuration options are here. https://github.co...ptions.pdf

Do the outputs fire when you are not using Artisan? You could try sending commands directly from a serial terminal or try using potentiometer connected to the TC4 analogue inputs.

Hi Brad,

I'd had a look at the user.h file and but left it as default at least just to try and get an output to work on OT1. Thanks for the pdf link, I'll take another look tonight and report back.
The outputs work fine if I load the RoastLogger sketch and use Roastlogger software to drive them.
Its Espresso, not Short Black
I suspect you will want the CONFIG_PWM option enabled as it does slow PWM output on OT1 for a heater and fast PWM out on IO3 for a DC fan.

Also check the other user.h options. There is some basic guidance in the user.h file but ask if you have any questions. Make sure you have the analogue input option commented out if you're not using them.
You do not mention ZCD (Zero-crossing detector) anywhere in you setup description. Default user.h settings assume you have ZCD on IO3 and use it for fast PWM control. If you don?t have ZCD you have to change the configuration in user.h file and use slow PWM output.
Thanks Brad, RedAce
Makes sense now, I've changed it to CONFIG_PWM to get an output on OT1 and it works fine for the moment while I get familiar with Artisan and it's PID function.
After reading into it a bit more, I'll most likely end up wanting to also control the airflow which is driven by an AC motor so it looks like I'll be configuring it as CONFIG_PAC3 eventually as I'll need a ZCD for the airflow.
Since OT1, OT2 and I/O3 will be allocated to heat/air/ZCD, am I able to use any of the other pins on the TC4 as simple on/off outputs to control a few other things I plan to make buttons and or events for? If so, how do I refer to those outputs in Artisan?
Its Espresso, not Short Black
There are two commands in the Artisan sketches that should do this.

DWRITE and AWRITE. These can turn digital pins on/off or change the output on an analogue pin.

The commands should used like this (untested).



Just be careful which pins you write to as some are obviously used for OT1, OT2, IO3, analogue inputs etc. Check Jim's schematics if you're not sure.
Jump to Forum: