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
01/31/2023 1:17 AM
pouringZabbaskeema

renatoa
01/29/2023 4:55 AM
Welcome, drygrounds and CarlHaberfeld,

renatoa
01/28/2023 5:42 AM
ramsamorrow, VirTERM and Columbia, coffee drink

allenb
01/25/2023 7:12 AM
Caver95 Welcome

renatoa
01/24/2023 1:59 AM
morningmelvindiaz1, upoverandbrew, welcome cup Waldroff and amano0928,

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: 10

Members Online: 0

Total Members: 7,786
Newest Member: Zabbaskeema

View Thread

Who is here? 1 guest(s)
 Print Thread
TC4 with aArtisanQ_PID
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 6: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!
 
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.


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 5:41 PM
 
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 8: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/24/2018 2:03 AM
 
greencardigan

Quote

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 11:43 PM
 
greencardigan

Quote

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

Quote

greencardigan wrote:

Quote

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

Quote

greencardigan wrote:

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


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.
 
ChrisR

Quote

greencardigan wrote:

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.


I just sent you an email for information on how to send you the updated code. Here are the pins used to drive the stepper controlled Clippard Valve. I'm still working on a "homing" procedure which I will post once finalized.

STEP is on pin D11
DIRECTION is on pin D12
Enable/disable motor to keep cool is on pin D6
 
CJ098
Hello,
Could anyone please help me on AC fan speed control? I just started to test my TC4 + Artisan. My AC fan will stop when the OT2 value below about 95, it seems only turn on when the OT2 value is set to 100. I changed two AC fan and got the same result. In the other hand, the heater connect to OT1 seems works well.
My setup is TC4 V6.01 (thanks to Viliam's gerber file), and I soldered the parts on it.
aArtisanQ_PID V6.3 (thanks to Brad's great works),
Artisan V1.0 (thanks to Marko)
Arduino Uno, Windows 10, Heater connected to OT1 and crydom D2425 SSR,
AC fan connected to OT2 and crydom D2425-10 SSR, ZCD connected to IO3.
power is 110V 60Hz, Thanks in advance for your help.
 
greencardigan
What mode have you specified in the user.h file? Should be CONFIG_PAC3 if you have ZCD on IO3.

Check other settings in user.h. Have you checked the AC frequency setting? Fan min setting?

Maybe remove Artisan from the process for a bit and try sending serial commands directly from the Arduino serial terminal.

The code actually turns on the LED on the Arduino board if AC zero cross pulses are detected from the ZCD. It's hard to see under the TC4 board but it is possible.

Try connecting an incandescent light instead of a motor to see if you can dim the light/
 
CJ098
Hello, Brad
Thanks a lot for your prompt response.
For user.h file, I use CONFIG_FAC3, AC 60Hz, and Fan min=0,
I tried incandescent light and send the value through Arduino serial terminal today. On OT2, it only light up at 100 and no light at the value below or equal to 99. Strange thing is the OT2 LED indicator did light up when the value is set above 1 and off when the value is 0 but it did not flashing as OT1 LED indicator when the OT1 value is below 30. My test on OT1 works quite well. The light strength is proportional to to value from 0~100. Below are some thing I tried but did not work
1. disconnect the ZCD +5V pin from +5V, it's no difference. OT1 works well, OT2 did not.
2. command out the #define TIME_BASE pwnN1Hz
3. For phase_ctrl.h, I changed the #define TRIAC_PULSE_WIDTH from 4000 to 2000. Same situation.
Would you please let me know what else I can do? I got an oscilloscope but not sure what is the correct wave form of OT2.
 
greencardigan
It sounds like it's nearly working.

If you have an oscilloscope try looking at the signal on pin 10 on the TC4. Pin 10 drives the base of the transistor connected to OT2. I think the signal should pulse output in time with each 1/2 AC power cycles. So maybe 120Hz.

Or put a resistor across the OT1 pins and measure the signal across the resistor.

You could also make sure there are pulses coming out of you ZCD.
 
CJ098
[quote]greencardigan wrote:

If you have an oscilloscope try looking at the signal on pin 10 on the TC4. Pin 10 drives the base of the transistor connected to OT2. I think the signal should pulse output in time with each 1/2 AC power cycles. So maybe 120Hz......../quote]

Hello,
Thanks a lot for your advice, I will try to find out the root cause these days, Once got the result I will update here.
 
renatoa
Is pwm on that pin ?
If true, the pulses can pe sensed even with a multimeter, by sending various OT commands and see how the average value change.
 
greencardigan
No it won't be pwm. It should be a short pulse sent at a precise time to switch the power at the correct part of the AC power cycle.
 
mg512
One thought, if you don't end up getting the ZCD / random-fire SSR to work, it looks like there is PWM dimmer modules that would allow AC fan control without a ZCD, working "as if" it was a DC fan. See link below, haven't tested this myself though.
https://forum.hom...ad_id=5601
 
CJ098
Hello
I've done some investigation, since I am not an EE and not familiar with Arudino programming. (Actually, this is my first electronic DIY project). I still can not figure it out. The attached is investigating report.Appreciate you inputs. Also thanks to mg512, I will try PWM module you mentioned if I can not get this thing done.
CJ098 attached the following file:
 
Jump to Forum:

Similar Threads

Thread Forum Replies Last Post
aArtisanQ_PID thermocouple jumps when active PID channel Dataloggers/Controllers/Rate of Rise Meters 16 06/10/2021 9:57 AM
Loading aArtisanQ_PID in Arduino Dataloggers/Controllers/Rate of Rise Meters 14 05/28/2018 8:32 PM
Help with aArtisanQ_PID Specifying Temps Dataloggers/Controllers/Rate of Rise Meters 7 08/03/2017 7:05 PM
TC4 aArtisanQ_PID or Standard Library Dataloggers/Controllers/Rate of Rise Meters 45 01/24/2016 12:17 PM
aArtisanQ_PID 5,3 with TC4 display problem Dataloggers/Controllers/Rate of Rise Meters 14 01/23/2016 11:15 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 © 2023 PHP-Fusion Inc
Released as free software without warranties under GNU Affero GPL v3
Designed with by NetriX
Hosted by skpacman