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.

snwcmpr
10/18/2019 2:37 PM
Eth Nat Yirg Idido roasted yesterday. I dropped some off at a friends coffee shop. In a few days he will brew it and tell me what he thinks. We believe my roasts are better than what we buy.

snwcmpr
10/16/2019 2:52 PM
Thank you for all you guys do.

JackH
10/15/2019 2:02 AM
They seem to be after the shoutbox. They have been removed. I don't see anything in the forums.

snwcmpr
10/14/2019 3:27 PM
We have been hacked. A whole lot of posts that have filled up the whole forum.

snwcmpr
10/10/2019 4:49 AM
Honduras Royal Reserve today.

Users Online
Guests Online: 2

Members Online: 0

Total Members: 6,196
Newest Member: donfromindy
In Memory Of Ginny
Donations

Latest Donations
renatoa - 2.00
allenb - 25.00
snwcmpr - 10.00
Groveland Hill Roas... - 25.00
renatoa - 2.00

View Thread

Who is here? 1 guest(s)
 Print Thread
TC4+ Arduino coffee roaster shield (TC4-compatible)
mg512
chmod755 wrote:

Hi

I hope someone sees this and can give me some guidance.

I just received my TC4+ board and I'm not sure how to make the connections.

I'm building an air blown, gas powered roaster. The air blower powered by an AC universal motor and is driven by a PWM AC dimmer circuit: https://www.tindi...50hz-60hz/

The dimmer circuit accepts 3.3V or 5V PWM signals up to 10kHz.

The propane gas is controlled by a Clippard EVP proportional valve and driven by Clippard's EVPD driver board:
https://clippard....lve-driver
The driver board accepts signals as follows: 0 to 5 VDC, 0 to 10 VDC, 0 to 20 mA, 4 to 20 mA, PWM @ ?2 kHz duty cycle

The TC4+ is able to control the dimmer circuit and the EVPD board on IO3 with IO3,x/n serial commands but I don't seem to be able to use IO2, OT1, or OT2.

I'm using the aArtisanQ_PID sketch and i've configured it to use CONFIG_PWM.

I've also tried installing a version of aArtisan_PID that enables high speed PWM on OT1 but it doesn't seem to work.

Any ideas on how I can use the TC4+ to control both the blower and the gas valve?


Hi chmod755! Good question. IO2 is meant for external interrupts, but you can do PWM on a number of other pins, for instance IO6. You should be able to use the command "AWRITE,D06,xxx" - could you give that a try and report back? It should work fine, it's just that aArtisan / aArtisanQ_PID don't have an extra command specifically for it. To connect to IO6, you can use 5V and GND from IO2 or from the power pins on the Arduino pin header, and IO6/D6 as the PWM pin (that's on the Arduino header near where the IO2/3 headers are).

What's that version with high-speed PWM on OT1? I hadn't come across that before, but happy to have a look at what might be going on there.
Edited by mg512 on 08/08/2019 10:23 PM
 
https://www.tindie.com/products/15798/
renatoa
Using AWRITE you should also pay attention to the frequency of generated PWM, if it is appropriate for the equipment being controlled.

https://www.ardui...alogwrite/

PWM speed on OT1 can be changed using TIME_BASE in user.h, and indeed it seems there is someone who reserved a placeholder for a future intended high speed versions:

// The faster frequencies below are for advanced users only, and will require changes to the PWM16 Library
//#define TIME_BASE 15 // approx. 977 Hz
//#define TIME_BASE 7 // approx. 1.95kHz
//#define TIME_BASE 6 // approx. 2.2kHz
//#define TIME_BASE 3 // approx. 3.9kHz

No idea if such PWM16 custom library was ever been released...
Edited by renatoa on 08/08/2019 10:47 PM
 
mg512
renatoa wrote:

Using AWRITE you should also pay attention to the frequency of generated PWM, if it is appropriate for the equipment being controlled.



Oh, that's a good point, thank you for catching that. chmod755, you should probably be fine if you put the valve on IO3, and the PWM dimmer board on one of the standard PWM pins (e.g. IO6) with the AWRITE command.
 
https://www.tindie.com/products/15798/
tyrtok
anyone got Artisan's 'follow background profile' to work with this? considering replacing the current fuji pxg4 with this.
 
renatoa
Depends a lot about how well is tuned the PID system.
And also the machine build and working principle, especially the fact that the charging is made following a preheat phase, thus the machine having a turning point.
If the above is true, then profile following is very tricky to tune, you should have set a minimum heater level, roughly in the same ballpark as used for preheat.
When approaching turning point this level should be slightly bumped, else the PID logic will led to a massive undershot, in order to build an I term big enough to drive the roast, then will follow oscillation very hard to bring back the process on rails of the profile to follow.
So you need a bit of practice to manually handle the roast to ensure a smooth landing on the desired profile path in the TP neighbourhood, then turn on the PID from that point.
No wonder the best results testimonials are from FB users, that start the roast without preheat, from ambient temperature, so no TP and all the issues associated.
 
mg512
tyrtok wrote:

anyone got Artisan's 'follow background profile' to work with this? considering replacing the current fuji pxg4 with this.


Yep, follow-background-profile aka PID control works with the TC4+. I have pretty much always been using it exclusively that way, I don't think I've ever done a single roast manually. As renatoa points out, some people have been struggling getting the PID tuned properly with both the TC4 and TC4+ (same software, same PID algorithm), but for others including me it worked almost immediately. Once it's set up, it works pretty solidly, though I don't have any first-hand experience with the PXG4 so can't comment on how it compares to that.
 
https://www.tindie.com/products/15798/
renatoa
Curious to see what means works immediately, and how looks the RoR for such roast.
Not trying to make a nitpick exercise, but the only way to make the curves looking nice is to apply huge amounts of filtering in Artisan and/or TC4.
These filtering will introduce delays in actual value reading, For example, the following TC4 filtering values 50, 66, 75, 80... means delays of 1, 2, 3, 4 seconds of the display value versus the process value.
The actual level of measurement methods used is simply unable to provide satisfactory data for the precision of observation claimed by some people when discussing about flic-flaks and other RoR somersault.
I can demonstrate mathematically that simply variations within the limits of a 0.1 C degrees temperature band, will produce RoR variations bigger than 10%, i.e. when we read a 10 C / minute RoR value actually this could be anything in the 8-12 band.
This is not a TC4 or anything other measurement method defect, but simple math, er... statistics, mean average and such...

Next factor that wasn't been discussed anywhere so far is precision of control.
1% step in power for a hot air machine is 6-7 C degrees variation for air temperature.
How much is the impact of this value on beans depends a lot on machine build and thermal inertia.
But surely this is not a smooth control... especially on IR machines, where radiation variation is instant, as is the light.
Edited by renatoa on 08/18/2019 8:01 PM
 
chmod755
mg512 wrote:

renatoa wrote:

Using AWRITE you should also pay attention to the frequency of generated PWM, if it is appropriate for the equipment being controlled.



Oh, that's a good point, thank you for catching that. chmod755, you should probably be fine if you put the valve on IO3, and the PWM dimmer board on one of the standard PWM pins (e.g. IO6) with the AWRITE command.


Thanks for taking a long time to write back, but this suggestion worked. I have my PWM fan controller on a standard PWM pin and the Clippard EVPD driver board on IO3.


Second question: I want to be able to use two pots (one for fan, one for gas) as analog inputs to control fan and gas output. The original TC4 had analog inputs but the TC4 doesn't.

Do I need to customize the code to in my case?
 
renatoa
Nope, the analog pins are there, just connect the pots to same ADC ports as for TC4.
 
mg512
[url=https://homeroasters.org/forum/viewthread.php?thread_id=5562&pid=69415#post_69415]

Thanks for taking a long time to write back, but this suggestion worked. I have my PWM fan controller on a standard PWM pin and the Clippard EVPD driver board on IO3.


Second question: I want to be able to use two pots (one for fan, one for gas) as analog inputs to control fan and gas output. The original TC4 had analog inputs but the TC4 doesn't.

Do I need to customize the code to in my case?


Pots still work on the TC4+ - while there aren't separate headers for analog inputs, the corresponding pins are still there. You can connect the pots directly to them: The middle pin of the pot connects to pin A0 respectively A1 on the Arduino header (the long rows of headers on the side of the shield, that also connect to the Arduino underneath the shield). The outer pins connect to +5V and GND, also present on the Arduino header. No need for any modification in the code.
 
https://www.tindie.com/products/15798/
chmod755
mg512 wrote:

[url=https://homeroasters.org/forum/viewthread.php?thread_id=5562&pid=69415#post_69415]

Thanks for taking a long time to write back, but this suggestion worked. I have my PWM fan controller on a standard PWM pin and the Clippard EVPD driver board on IO3.


Second question: I want to be able to use two pots (one for fan, one for gas) as analog inputs to control fan and gas output. The original TC4 had analog inputs but the TC4 doesn't.

Do I need to customize the code to in my case?


Pots still work on the TC4+ - while there aren't separate headers for analog inputs, the corresponding pins are still there. You can connect the pots directly to them: The middle pin of the pot connects to pin A0 respectively A1 on the Arduino header (the long rows of headers on the side of the shield, that also connect to the Arduino underneath the shield). The outer pins connect to +5V and GND, also present on the Arduino header. No need for any modification in the code.


Thanks for replying. I want to use two pots though. One controlling IO3 and one controlling the output on D06. Where do I put the second pot?
 
renatoa
...Pots still work on the TC4+ - while there aren't separate headers for analog inputs, the corresponding pins are still there. You can connect the pots directly to them: The middle pin of the pot connects to pin A0 respectively A1 on the Arduino header (the long rows of headers on the side of the shield, that also connect to the Arduino underneath the shield).


One pot on A0, the other on A1.
I mean the middle pins of each pot to each corresponding analog pin.

As in the attached uber classic TC4 wiring schematic.
...
renatoa attached the following image:
tc4_wiring.jpg
 
chmod755
renatoa wrote:

...Pots still work on the TC4+ - while there aren't separate headers for analog inputs, the corresponding pins are still there. You can connect the pots directly to them: The middle pin of the pot connects to pin A0 respectively A1 on the Arduino header (the long rows of headers on the side of the shield, that also connect to the Arduino underneath the shield).


One pot on A0, the other on A1.
I mean the middle pins of each pot to each corresponding analog pin.

As in the attached uber classic TC4 wiring schematic.
...


How does the arduino program know that one of the pots is controlling the output of D06? Does it need to be specified somewhere?
 
renatoa
The pot on A0 controls the heater, if your heater control pin (OT1 in user.h) is set to D06, then you are set.
The pot on A1 controls the fan, which is a phase angle control job, not PWM, as is IO3... so I see here some code change needed...
 
mg512
chmod755 wrote:
How does the arduino program know that one of the pots is controlling the output of D06? Does it need to be specified somewhere?


Oh, right, you have that slightly unusual setup with two PWM outputs. Then it does require a small amount of code change. Assuming you have set the configuration to PWM mode in user.h, the second potentiometer should alreadly control IO3. The first pot however by default will control OT1. I don't think simply changing the OT1 pin in user.h as renatoa suggests would help, since you're using standard Arduino PWM on that pin, not the aArtisan-specific slow PWM that's used on OT1 usually.

Instead, go into the main Arduino sketch file, and look for the function
Download source  Code
void readAnlg1()


In my version that's on line 900. In there you'll find the lines
Download source  Code
#else // PWM Mode
    levelOT1 = reading;
    outOT1();
#endif




Replace
Download source  Code
outOT1();


by
Download source  Code
analogWrite(6,(int)(reading*2.55));




I think that should do the trick. Do test it and let us know how it goes.
 
https://www.tindie.com/products/15798/
Jump to Forum:

Similar Threads

Thread Forum Replies Last Post
Great coffee vendor GREEN BEAN SELLING AND TRADING 1 10/19/2019 7:46 AM
Propane Flow meter for fluidbed roaster Building a Coffee Roaster 16 10/15/2019 1:49 PM
Drum Roaster Advice and Discussion Drum Roasters 8 10/14/2019 10:52 AM
My drum/bbq roaster Drum Roasters 5 10/14/2019 6:13 AM
The well tempered roaster Roasting Coffee 10 10/13/2019 8:19 AM
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 © 2019 PHP-Fusion Inc
Released as free software without warranties under GNU Affero GPL v3
Designed with by NetriX