Who is here? 1 guest(s)
 Print Thread
Using TC4C with Artisan
k84hero
Hi guys,

First time poster here, I work for a local coffee shop and we're trying to set up a tc4c arduino board with Artisan on Ubuntu.

The thermocouplers are installed and Artisan is communicating with the arduino board (I had trouble getting dev/USB0 serial port to open, figured that out with permissions) but now the ET and BT readings for Artisan are -1 and none of the couplers are reading.

I'm not sure what to do, I've googled all that I can pertaining to the topic.

Thanks guys
 
renatoa
Try query TC/4 manually in a terminal window.
Connect to the COM/usb port, type a READ command followed by return, and let's see what is the response...
This is maybe the most missing feature of Artisan... a communication log window, for real time diagnostics... replaced with custom made programs, but still...
 
zeece

Quote

renatoa wrote:

This is maybe the most missing feature of Artisan... a communication log window

In fact there is a serial logger in Artisan. Help>Serial.

No response from TC4
1 07:37:33.068 ArduinoTC4 :COM3,115200,8,N,1,1.0 || Tx = READ || Rx = ['']|| Ts= -1.00, -1.00, -1.00, -1.00, -1.00, -1.00

Normal response with ET/BT
9 07:39:03.566 ArduinoTC4 :COM3,115200,8,N,1,1.0 || Tx = READ || Rx = ['0.00000', '344.70905', '364.70831', '0.00000', '0.0000']|| Ts= 344.71, 364.71, -1.00, -1.00, -1.00, -1.00

Note: 'Ts' is the internal data as reported to the profile recorder.
 
renatoa
Sorry, never had time enough to explore all menus... :(
Great find, let's now hear news from OP.
 
Wiz Kalita
In my experience the thermocouples can read -1 if the connection is bad, so it might be a straightforward hardware issue.
 
renatoa
Or from ADC chip... experimented a bit with MCP3424 and the 18 bit mode is forced at the limit of chip capabilities, imo... lots of bad readings, i.e. out of range values, sometimes even 10%.
The same ADC, in 16 bit mode and input fed with higher voltages, amplified by a dedicated TC amplifier, delivers outstanding precision and stability, similar with phidgets box. At a 5x increased sample rate Grin
 
Wiz Kalita

Quote

renatoa wrote:

Or from ADC chip... experimented a bit with MCP3424 and the 18 bit mode is forced at the limit of chip capabilities, imo... lots of bad readings, i.e. out of range values, sometimes even 10%.
The same ADC, in 16 bit mode and input fed with higher voltages, amplified by a dedicated TC amplifier, delivers outstanding precision and stability, similar with phidgets box. At a 5x increased sample rate Grin


Interesting. Is this something we can change ourselves in the firmware?
 
renatoa
Before firmware, you need to add the amplifiers.
Can be done as actual board additions, the amplifier boards are finger nail sized, can be added as dongles on top of actual TC connectors. Minimal soldering, nothing SMD.
For non skilled guys a new redesigned board is needed though...

Once these amplifiers are added, the ADC code must be changed a bit, then TC/4 code also, to accommodate the new increased 60 ms sampling rate.
But anything is doable, and the result worth the $9 parts.
 
greencardigan

Quote

k84hero wrote:
The thermocouplers are installed and Artisan is communicating with the arduino board (I had trouble getting dev/USB0 serial port to open, figured that out with permissions) but now the ET and BT readings for Artisan are -1 and none of the couplers are reading.

How do know that Artisan is communicating with the TC4C? Getting -1 readings suggests that it's not communicating properly.

What sketch is loaded onto the TC4C?

As renatoa suggested try connecting with a serial terminal using the baud rate set in TC4C sketch and send a READ command. Serial commands must be terminated with a newline character.
 
k84hero

Quote

greencardigan wrote:

Quote

k84hero wrote:
The thermocouplers are installed and Artisan is communicating with the arduino board (I had trouble getting dev/USB0 serial port to open, figured that out with permissions) but now the ET and BT readings for Artisan are -1 and none of the couplers are reading.

How do know that Artisan is communicating with the TC4C? Getting -1 readings suggests that it's not communicating properly.

What sketch is loaded onto the TC4C?

As renatoa suggested try connecting with a serial terminal using the baud rate set in TC4C sketch and send a READ command. Serial commands must be terminated with a newline character.


There was an issue with Serial Port Error, which was resolved. That was my best guess on the board communicating.

I'm not familiar with "sketch", is that software for the TC4C?

I'll send a report with the READ asap.

Thanks everyone
 
mg512
"sketch" refers to which software / firmware is flashed onto the TC4C. In Arduino terms the firmware is known as a "sketch". It's whatever you programmed onto the TC4C in the Arduino app. That's assuming you did that yourself?
 
JackH
When Jim was selling the TC4C, he offered a choice of pre-loading the Roastlogger or Artisan sketch.
---Jack

KKTO Roaster.
 
BenKeith
If he doesn't know what a sketch is, most likely, he does not have the software setup or installed. Unless he ordered the board from Jim and gave him information needed, it probably did not come preloaded. I bought three from Jim and none of those came preloaded because I didn't request it.
Artisan is seeing the board, but doesn't know what to do with it.

As stated, the -1 temp is a standard reading when artisan and the TC4 is not communicating with each other.
 
k84hero

Quote

BenKeith wrote:

If he doesn't know what a sketch is, most likely, he does not have the software setup or installed. Unless he ordered the board from Jim and gave him information needed, it probably did not come preloaded. I bought three from Jim and none of those came preloaded because I didn't request it.
Artisan is seeing the board, but doesn't know what to do with it.

As stated, the -1 temp is a standard reading when artisan and the TC4 is not communicating with each other.


I did not get the preloaded version of the TC4C. I tried following instructions that use the sketches but I'm having trouble finding the right sketch to work.
 
renatoa
Which step are you stuck more exactly ?
 
k84hero

Quote

renatoa wrote:

Which step are you stuck more exactly ?

Following the steps listed in the TC4 installation located at the Downloads page of this site,

I have downloaded both aArtisian and TC4 files and moved the TC4 files into the Libraries folder.

I get the following error message when uploading the file to the TC4C

Arduino: 1.8.8 (Windows 10), Board: "Arduino/Genuino Uno"

In file included from C:\Users\Anthony\Desktop\aArtisan\aArtisan.ino:86:0:

C:\Program Files (x86)\Arduino\libraries\thermocouple/thermocouple.h:110:27: error: variable 'typeK::coeff_inv' must be const in order to be put into read-only section by means of '__attribute__((progmem))'

     static PROGMEM PFLOAT coeff_inv[10][3];

                           ^

C:\Program Files (x86)\Arduino\libraries\thermocouple/thermocouple.h:111:27: error: variable 'typeK::range_inv' must be const in order to be put into read-only section by means of '__attribute__((progmem))'

     static PROGMEM PFLOAT range_inv[2][3];

                           ^

C:\Program Files (x86)\Arduino\libraries\thermocouple/thermocouple.h:113:27: error: variable 'typeK::coeff_dir' must be const in order to be put into read-only section by means of '__attribute__((progmem))'

     static PROGMEM PFLOAT coeff_dir[11][2];

                           ^

C:\Program Files (x86)\Arduino\libraries\thermocouple/thermocouple.h:114:27: error: variable 'typeK::range_dir' must be const in order to be put into read-only section by means of '__attribute__((progmem))'

     static PROGMEM PFLOAT range_dir[2][2];

                           ^

C:\Program Files (x86)\Arduino\libraries\thermocouple/thermocouple.h:115:27: error: variable 'typeK::a' must be const in order to be put into read-only section by means of '__attribute__((progmem))'

     static PROGMEM PFLOAT a[3];

                           ^

C:\Program Files (x86)\Arduino\libraries\thermocouple/thermocouple.h:131:27: error: variable 'typeT::coeff_inv' must be const in order to be put into read-only section by means of '__attribute__((progmem))'

     static PROGMEM PFLOAT coeff_inv[8][2];

                           ^

C:\Program Files (x86)\Arduino\libraries\thermocouple/thermocouple.h:132:27: error: variable 'typeT::range_inv' must be const in order to be put into read-only section by means of '__attribute__((progmem))'

     static PROGMEM PFLOAT range_inv[2][2];

                           ^

C:\Program Files (x86)\Arduino\libraries\thermocouple/thermocouple.h:134:27: error: variable 'typeT::coeff_dir' must be const in order to be put into read-only section by means of '__attribute__((progmem))'

     static PROGMEM PFLOAT coeff_dir[15][2];

                           ^

C:\Program Files (x86)\Arduino\libraries\thermocouple/thermocouple.h:135:27: error: variable 'typeT::range_dir' must be const in order to be put into read-only section by means of '__attribute__((progmem))'

     static PROGMEM PFLOAT range_dir[2][2];

                           ^

C:\Program Files (x86)\Arduino\libraries\thermocouple/thermocouple.h:151:27: error: variable 'typeJ::coeff_inv' must be const in order to be put into read-only section by means of '__attribute__((progmem))'

     static PROGMEM PFLOAT coeff_inv[9][3];

                           ^

C:\Program Files (x86)\Arduino\libraries\thermocouple/thermocouple.h:152:27: error: variable 'typeJ::range_inv' must be const in order to be put into read-only section by means of '__attribute__((progmem))'

     static PROGMEM PFLOAT range_inv[2][3];

                           ^

C:\Program Files (x86)\Arduino\libraries\thermocouple/thermocouple.h:154:27: error: variable 'typeJ::coeff_dir' must be const in order to be put into read-only section by means of '__attribute__((progmem))'

     static PROGMEM PFLOAT coeff_dir[9][2];

                           ^

C:\Program Files (x86)\Arduino\libraries\thermocouple/thermocouple.h:155:27: error: variable 'typeJ::range_dir' must be const in order to be put into read-only section by means of '__attribute__((progmem))'

     static PROGMEM PFLOAT range_dir[2][2];

                           ^

exit status 1
Error compiling for board Arduino/Genuino Uno.

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
 
k84hero
I got the code to work with this updated
https://github.com/greencardigan/TC4-shield/tree/master/applications/Artisan/aArtisan_PID/branches/aArtisanQ_PID_6/libraries/thermocouple

I have resolved my issues. Thank you everyone
 
greencardigan
Not sure what the issues was there.

For the record, the latest libraries are here. But the one you got is the same. https://github.co.../libraries
 
Jump to Forum: