Who is here? 1 guest(s)
 Print Thread
TC4 with aArtisanQ_PID
Thanks for the feedback.

Can you confirm if you got version 6_2 working properly with the zero-cross detector connected to I/O2? I wasn't sure based on your last comment. Have you tried the popper with this version?
My last comment means that in version 6.0 can ZCD optionally connect to I/O2 or I/O3. In version 6.2 it works only with I/O2.

Pictures always belong to the text, under which they are placed, this means that the last image without beans is testing with version 6.2.

I have not yet tried popper roasting (slow PWM on OT1 and fast PWM on I/O3) with version 6.2. I did not assume it would not work.
I also not tried fast PWM heating on I/O3 and Phase angle control on OT2.

I can try, but I suppose that's tested.
Thanks for clarification.

Version 6_2 requires the zero-cross detector connected to I/O2 as it uses I/O3 for the optional PWM.


greencardigan wrote:

A few members here and on Home-Barista were asking about getting a PWM output to control a gas valve while also getting phase angle control for an AC blower ...

- Optional PWM output on IO3 (3.922kHz) for heater. Defined using IO3_HTR in user.h. The PID should control IO3 in this mode.

The PWM frequency is currently fixed at 3.922kHz but I could make it user adjustable if required.

Wow, this good news - thanks a bunch. When I get some time, will will push forward with AC fan control on TJ-067, and let you know how it works out.

One additional feature I need is user modifiable PWM frequency per your comments above - something similar what JG provided on his version. For a Clipper driver, I'll meed a PWM around something closer to 2 kHz.

As an aside, I'm hearing that Artisan 1.0 will be supporting onboard PID control, so it can send out the duty settings based on its PID algorithm instead of SV as the prior version does. This implies that you can save some memory/space by offering a branch that with all PID control capability excised.
Ok I'll see what I can do to make the optional PWM on io3 user adjustable. I'm travelling in Europe at the moment so it could be a month or so before I can look at it.

I could probably put a line in the user.h to allow users to switch off/remove the PID code

Is there any way to implement in the aArtisaQ_pid code the functionality to control a steeper motor like this one (http://www.instructables.com/id/BYJ48-Stepper-Motor/)? .

Im interested in controlling a gas valve knob with my TC4.

I think it probably could be, but would require a bit of work.
I haven't tried but the robot guys run servo's all the time and that seems like a rather simple process. They make some extremely strong servo's. The ones I run in some of the RC helicopters have over 10 pounds of torque and you can find used ones for less than $100 each, some of the older models for $50 that are more than good enough most applications.

Hello everyone,

I would like to use the TC4 to control my fluidbed roaster via Artisan. If I want to control the fan separately via manual dimmer and want the Artisan?s PID to control only the heat, do I need the ZCD? Is it possible to use just a slow PWM signal and standard SSR? I am very new to this so my question might be very trivial/stupid. I am sorry if that is the case :-)
Currently this is not possible.
Even while driving a fan other than through TC4,
will not go start heating without ZCD .
It would be necessary modification of code.


RedAce wrote:

Hello everyone,

I would like to use the TC4 to control my fluidbed roaster via Artisan. If I want to control the fan separately via manual dimmer and want the Artisan?s PID to control only the heat, do I need the ZCD? Is it possible to use just a slow PWM signal and standard SSR? I am very new to this so my question might be very trivial/stupid. I am sorry if that is the case :-)

I don't see any reason why using slow PWM wouldn't work. Obviously its going to be an all or nothing control but it should work just fine. It will take a bit of pid tuning to get everything running as you want. Another thought would be to dimmer control the power going to your ssr so you don't have to use full power if you don't need it. You'd want to tune PID settings and power settings together to accurately hit set temperatures without overshooting.

Will2, Unless I'm missing something I don't see why any code changes would be needed. Slow pwm is currently supported and works just fine.
I answered the question:
... do I need the ZCD?
aArtisanQ_PID will not work without ZCD.
PWM mode should work without a zero cross detector in version 6_2 of aArtisanQ_PID. See post back up a bit. http://forum.home...post_59700

This mode should make aArtisanQ_PID function essentially the same as Jim's standard aArtisan sketch.
I forgot it.
I have not tried it yet.
Where can I find a list of the serial commands?
for example, file "commands.txt"
in directory "aArtisanQ_PID".
Ok, so I confirmed the command is OT1,{} for the power slider. However, when I put that into the serial command in the sliders, the duty reacts for a second, then goes back to zero. If I create a button, and I use OT1,50 which according to the commands should set the duty to 50%, I get a 50% reading for a split second, but then back to zero.

Do you think this is an Artisan issue or a TC4 firmware issue?
I don't recall your setup but I have a few questions that may help sort this out.

Do you have potentiometers connected to your TC4 analogue inputs? If you are not using them you should disable the analogue input feature in the code by commenting out the two #define ANALOGUE lines in the user.h file. If it's not disabled, the TC4 will read the open input and get random readings which can keep changing the outputs.

Did you program your TC4 yourself?
Man, I think I screwed myserlf, I updated the software, now I no longer have any control, I get temp readings and thats it, no more PID function.

I tried to reinstall and now I'm getting a ton of errors, I'm not sure whats going on here.

I'm using a Quest M3 with a TC4 shield on an Arduino Uno and Artisan 0.9.9
What error are you getting when programming?

What version of the code are you trying to program?

You need to check the options in user.h carefully to ensure it functions properly.
I'm trying to program aArtisanQ_PID6.2

It won't let me copy and paste, but its a bunch of Warning: extra tokens at end of #else directive

And java access errors

and lastly, I'm getting a low memory error

I did go through the options quite carefully, including the Analog inputs, they are all commented out.

Just to be clear: I'm copying the folders inside the Library folder into the Arduino Library folder. Then I'm opening the Artisan sketch and, I verify and upload. I get the errors on both the verification and the upload.
Edited by James211 on 12/21/2016 6:10 PM
I get those extra token errors and the low memory warning as well. That shouldn't affect the operation of the code. If you're getting temp readings it sounds like the sketch was programmed successfully.

PID;ON command should activate the PID.

You could try connecting with the arduino serial monitor and test the operation that way by sending commands.

Maybe attach your user.h file so I can review? You might have to change the filename to get it to upload here.
Ok, here you go. I'm not sure whats going on...its very frustrating but I really appreciate your help.

Also, at one point I was able to get the duty to register on one of the Artisan LCD screens but I can no longer get that either.

Last question, did any of the pinouts change for OT1? I see in User.h it lists OT1 as being pin 9 I believe.
James211 attached the following file:
user.zip [2.83kB / 578 Downloads]
Also, I get nothing when using serial monitor....no response of any kind.

Also, I've tried this on two PC's and two Mac's, all running Artisan 0.9.9 and I get the exact same results.
Edited by James211 on 12/21/2016 8:10 PM
RESOLVED! I had one line that I missed that hadn't been commented out.

Power slider still doesn't work though. But I feel like I just went through the ghost of christmas past here...whew! SO grateful!
Jump to Forum: