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.

Koffee Kosmo
10/21/2019 5:00 PM
While you were sleeping I have been active in booting out some spammers along with the posts they tried to sneak past me

NetriX
10/21/2019 2:41 PM
Apologies, fixed it asap! BBQ grill

snwcmpr
10/21/2019 12:35 PM
WOW!! A few minutes ago the site page said "Account Suspended". And would not open the site.

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.

Users Online
Guests Online: 7

Members Online: 0

Total Members: 6,199
Newest Member: WyldGrind
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 with aArtisanQ_PID
greencardigan
I managed to get the inverted pwm working on OT1 and with a resistor across the OT1 pins I get a nice 0V to 5V.

However, I still think there is an issue with the open collector and resistor setup. When the Arduino is powering up or resetting, the pull up resistor is going to pull the output to 5V and turn the connected heater on full power! Or am I missing something?

Maybe it would be best to do non inverting output and connect directly to D09.
 
chaff
That's right, OT1 and OT2 share Timer1, OT1 ( PB1 in Atmels datasheet table 11.3) toggling on a timer compare with OC1A and OT2 on OC1B.
I'm still fiddling with R-C values for an interface to allenb's relay; I'm guessing it's intended to sense voltage on a potentiometer and so it may not run smoothly connected to PWM. The filter values would depend on whether the relay is connected to IO3 ( pijn unbuffered ) or to OT1/OT2 ( pin connected to open collector switch).
 
ChrisR
greencardigan wrote:

I managed to get the inverted pwm working on OT1 and with a resistor across the OT1 pins I get a nice 0V to 5V.

However, I still think there is an issue with the open collector and resistor setup. When the Arduino is powering up or resetting, the pull up resistor is going to pull the output to 5V and turn the connected heater on full power! Or am I missing something?

Maybe it would be best to do non inverting output and connect directly to D09.


Full gas power on at start up would be a concern, especially if someone wanted to drive the roaster in manual mode.
 
JackH
Jim made some changes to the OT1/OT2 circuit over the last few versions of TC4.

The original TC4 (V4.0) used VIN as a power source for the open collector pair (if you were using the Arduino external DC jack to power). VIN is the supply voltage from the Arduino DC input jack. In later versions of the TC4, Jim changed the voltage source to the +5v regulated line and changed base resistors R3 and 4 from 2KOhm to 1KOhm.

I am not sure if this applies to the TC4C as well.

We found that with the VIN source, the OC outputs would not fully swing to the desired 0/5V levels. We were seeing swings from 4.5V to 7.6V with VIN 9V used.

Something to keep in mind if you are using the older versions of the TC4.
---Jack

KKTO Roaster.
 
ChrisR
Thank you. I have an older version of the TC4C, I think it is 1.2, but I have v6 for TC4. I’ll test them both.
 
JackH
Looking at the TC4C schematic that Greencardigan posted looks like it is correct with +5V regulated going to the OT1/OT2 circuit and 1K resistors in place. If you also have TC4 shield V6 then I think you should be OK.

Originally, the OT1 output was meant to control a SSR with a PWM signal 0v to 5V. OT2 is the same but had a much higher frequency signal for a fan.

This may have changed with the different TC4 sketches.

I feel bad that there is no base support of this board. Brad is doing an excellent job of keeping it going.
Edited by JackH on 06/04/2018 12:16 PM
---Jack

KKTO Roaster.
 
dparham
Im new to Arduino and wanting to get this fabled TC4 but I cant find it anywhere and the references are of a ghost device! lol I have a fluid bed roaster i want to automate in artisan .. currently i do run profiles from my omron PID but its really difficult to change profiles but in my large gas drum roaster I use artisan and would be great for my little sample roaster to be able to be controlled since it is electric... i dont use it for comparing profiles with the gas roaster, its just for little roasts to mainly some beans here and there!
 
http://www.lonepalmroasters.com
greencardigan
There are a few people on the forum here that have been making their own. If you have the skills or are willing to learn, it should not be too hard.
It's possible I may try to build/sell some in the future. I have recently ordered some parts to give it a go with a spare board that Will2 sent me. If that goes well, I may order some more boards.
 
ChrisR
Would it be difficult to set the IO3 frequency to higher than 3.9khz? Looks like the DC fan I’m getting requires 10-30 kHz PWM. Maybe it’s only a matter of changing the prescaler in PWM16.h?
 
greencardigan
The IO3 frequency is set in the setup part of the aArtisan_PID.ino file.

Download source  Code
pwmio3.Setup( IO3_PCORPWM, IO3_PRESCALE_8 );




Changing the prescale here from IO3_PRESCALE_8 to IO3_PRESCALE_1 should give you 31kHz. If that's too fast you could change the first parameter to IO3_FASTPWM and leave the prescale at 8. That will give 7.8kHz. These are the closest two options.
 
ChrisR
Does it work in the CONFIG_PWM mode?
Never mind, I see that it should.
Edited by ChrisR on 06/18/2018 11:41 AM
 
ChrisR
I would like to use 2 digital pins for step and direction. What pins are still available?
 
greencardigan
There's quite a few pins that are typically not being used by the TC4 sketches. D4, D5, D6, D7, D8, D11, D12

My latest version of aArtisanQ_PID can use up to 4 of these pins (defined in user.h) for button inputs. That leaves 3 spare even if you were using all 4 buttons.
 
ChrisR
I got my stepper motor to work using step and direction based on levelOT1. I have another issue I need to tackle. The stepper motor is dumb and doesn’t know where it is and I need to keep track of it, especially after shutdown. Are there any EEPROM addresses available? What I want to do is write 0 to an address when I upload the software on the board and that would be my starting point. Then read and write to the same address as I step through the motor.
Or is there a better way of doing it?
Edited by ChrisR on 06/22/2018 2:57 AM
 
ChrisR
I noticed that sometimes the sliders display what the temperature is read in Artisan. For example, when I start Artisan and the temperature is read, the sliders default to the temperature number. I'm using IO3;{} for the fan slider and OT1;{} for the burner slider.
I also noticed that even though sometimes my 1 increment increase gets added to the temperature read and it gets written to the TC4.
Edited by ChrisR on 06/23/2018 8:03 PM
 
greencardigan
ChrisR wrote:
The stepper motor is dumb and doesn’t know where it is and I need to keep track of it, especially after shutdown. Are there any EEPROM addresses available? What I want to do is write 0 to an address when I upload the software on the board and that would be my starting point. Then read and write to the same address as I step through the motor.
Or is there a better way of doing it?

I don't think writing to eeprom repetitively in a loop is a good idea (eeprom would probably fail soon after reaching write cycle limit). I think ideally you would write to it before power off but not sure how you would trigger that automatically before power off. Might be easier to always manually turn the valve to the default start up position after power off?

There should be heaps of space left in the eeprom as it is 64K total. Jim was using some of the initial memory to store thermocouple calibration data. And my aArtisanQ_PID code can read roast profiles stored in eeprom using the profile loader sketch.

The calibration data is stored from byte 0. Not sure exactly how much it uses, but not much.

Profile storage begins at 1024 bytes and allows 400 bytes per profile.
Edited by greencardigan on 06/24/2018 5:43 PM
 
greencardigan
ChrisR wrote:

I noticed that sometimes the sliders display what the temperature is read in Artisan. For example, when I start Artisan and the temperature is read, the sliders default to the temperature number. I'm using IO3;{} for the fan slider and OT1;{} for the burner slider.
I also noticed that even though sometimes my 1 increment increase gets added to the temperature read and it gets written to the TC4.

Not sure what's going on here.
 
ChrisR
greencardigan wrote:

ChrisR wrote:

I noticed that sometimes the sliders display what the temperature is read in Artisan. For example, when I start Artisan and the temperature is read, the sliders default to the temperature number. I'm using IO3;{} for the fan slider and OT1;{} for the burner slider.
I also noticed that even though sometimes my 1 increment increase gets added to the temperature read and it gets written to the TC4.

Not sure what's going on here.


I reset Artisan and the problem went away. Not sure what happened there.
 
ChrisR
greencardigan wrote:

The IO3 frequency is set in the setup part of the aArtisan_PID.ino file.

Download source  Code
pwmio3.Setup( IO3_PCORPWM, IO3_PRESCALE_8 );




Changing the prescale here from IO3_PRESCALE_8 to IO3_PRESCALE_1 should give you 31kHz. If that's too fast you could change the first parameter to IO3_FASTPWM and leave the prescale at 8. That will give 7.8kHz. These are the closest two options.


Changed the prescale to IO3_PRESCALE_1 and it worked. I can control my DC fan. I modified the aArtisanQ_PID 6.5 to give me step and direction based on levelOT1 and I can drive my stepper motor valve both in manual and automatic mode.
 
greencardigan
Will you be uploading the code somewhere? Or would you be happy for me to upload it to the TC4-Shield github page? I think it could be a useful bit of code for others to use if using a stepper controlled valve.
 
Jump to Forum:

Similar Threads

Thread Forum Replies Last Post
Loading aArtisanQ_PID in Arduino Dataloggers/Controllers/Rate of Rise Meters 14 05/28/2018 2:32 PM
Help with aArtisanQ_PID Specifying Temps Dataloggers/Controllers/Rate of Rise Meters 7 08/03/2017 1:05 PM
TC4 aArtisanQ_PID or Standard Library Dataloggers/Controllers/Rate of Rise Meters 45 01/24/2016 6:17 AM
aArtisanQ_PID 5,3 with TC4 display problem Dataloggers/Controllers/Rate of Rise Meters 14 01/23/2016 5:15 AM
AartisanQ_PID 5.3 with TC4 and RoastLogger Dataloggers/Controllers/Rate of Rise Meters 6 12/14/2015 4:52 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