No video

MAX31855 - A better thermocouple module

  Рет қаралды 5,399

Curious Scientist

Curious Scientist

Күн бұрын

Пікірлер: 43
@isidoromaich7226
@isidoromaich7226 3 жыл бұрын
Great project. Since a while I was needing for a quad thermometer and I was searching some off the shelf cheap solution, maybe I will be considering build something between these lines
@CuriousScientist
@CuriousScientist 3 жыл бұрын
Thanks! I think this thermometer module is excellent, maybe one of the best for k-type thermocouples. You can hook up as much as you want thank to the SPI, and it is really flexible with its wide temperature range and different fault detection options. If you don't need extreme precision, it is a great solution. Otherwise, PT100 thermometers are the real deal when high precision is required. But they are expensive.
@user-xk2ee8cr7p
@user-xk2ee8cr7p 2 жыл бұрын
Great video, your discussion of the coding was excellent! I have a question - Can you confirm whether an ungrounded thermocouple is essential for use with the max31855 breakout board? Alternately, can a grounded thermocouple be used with the max31855 breakout board?
@CuriousScientist
@CuriousScientist 2 жыл бұрын
Thank you! As far as I know, grounded thermocouples do not work well with this module. I could be wrong of course, but I have never seen it in an application with grounded TCs.
@jean-yvesorssaud8512
@jean-yvesorssaud8512 Жыл бұрын
Good job! Juste one point: what if the internal temp gets negative? You take care of this for the outside temp, not for the internal one.
@CuriousScientist
@CuriousScientist Жыл бұрын
Thanks! What do you mean by negative internal temperature? The chip has its own internal cold junction compensation, so it doesn't matter what's the temperature around the circuit, the readings from the thermocouple will be always correct.
@dargindarginec9561
@dargindarginec9561 10 ай бұрын
hi how to measure negative temperature on these microcircuits?
@CuriousScientist
@CuriousScientist 10 ай бұрын
In the same way as you would measure positive, I guess. I don't really understand the question.
@dargindarginec9561
@dargindarginec9561 10 ай бұрын
@@CuriousScientist I want to make a thermostat that measures down to -200° degrees 😀
@CuriousScientist
@CuriousScientist 10 ай бұрын
Yep, this can do it. If you read the datasheet, it is written in the 3rd sentence right in the beginning...
@Krystian1711100
@Krystian1711100 3 жыл бұрын
Can I swap pins on 3, 4 and 5?
@CuriousScientist
@CuriousScientist 3 жыл бұрын
Sorry but I do not exactly understand what you want. Pin 4 and 5 are the i2c pins for the display, so you cannot really change them. Pin 3 is not assigned to anything if I remember correctly.
@Krystian1711100
@Krystian1711100 3 жыл бұрын
@@CuriousScientist Jak sterować triakiem? To nie działa: if(ADC_HA >= TCCelsius) //termopara { digitalWrite(8, HIGH); lcd.setCursor(9,0); //strzalki w gore dla hota lcd.write(4); } if(ADC_HA + 1
@CuriousScientist
@CuriousScientist 3 жыл бұрын
Sorry, but I cannot speak Polish(?).
@Krystian1711100
@Krystian1711100 3 жыл бұрын
@@CuriousScientist I used your library for the MAX module. I would like to control the power triac with a potentiometer as the set point, and the temperature value from the MAX transducer as the offset value. is the following excerpt from the program good? Is the correct declaration TCCelsius in my fragment program?
@CuriousScientist
@CuriousScientist 3 жыл бұрын
If it is not a secret, send me the full code to my mail. My mail address is on my website. I will check it in the evening.
@hardikshah1792
@hardikshah1792 3 жыл бұрын
Can you please make 4 channel pt100 data logger?
@CuriousScientist
@CuriousScientist 3 жыл бұрын
If you buy me all the components, I am glad to make one and present it.
@hardikshah1792
@hardikshah1792 3 жыл бұрын
@@CuriousScientist I would be happpy to do that. can you please give me list of components you need. I will supply it to you.
@CuriousScientist
@CuriousScientist 3 жыл бұрын
4x Adafruit Pt100 module (MAX31865), a microcontroller (preferably STM32F103C8T6 aka "blue pill", but Arduino Uno or Nano would work too). If you want a display, then a 20x4 LCD would be nice, the one with the i2C circuit. If you want logging to an SD card, then an additional SD card module and rotary encoder with a build-in switch. A plastic enclosure that can accommodate all the hardware, a USB cable for the microcontroller, 4x screw terminal or equivalent, a perfboard to mount everything (must fit in the enclosure and of course all the parts). And of course I have to build everything, program it and test it. That also needs to be compensated somehow. :)
@hardikshah1792
@hardikshah1792 3 жыл бұрын
@@CuriousScientist done. can you please buy all of these? I will pay for the same. So total how much will be cost for all including coding testing for you? and can't we do it by only one PT100 module? and can we take its output in excel using plx-daq?
@hardikshah1792
@hardikshah1792 3 жыл бұрын
@@CuriousScientist why we will need rotary encoder with a build-in switch? for SD writting start stop?
@johnfrancis923
@johnfrancis923 7 ай бұрын
I am using the STM32C011F6U6 controller, MAX31855 chip and I am facing issues with the clock and data signals not being received correctly. Upon examining Adafruit's schematics, I noticed they have pull-up resistors on the SO (Slave Out) and clock pins. Should I include pull-up resistors to ensure proper reception of data and clock signals? My SPI Configuration PA5 ------> SPI1_SCK PA6 ------> SPI1_MISO PB7 ------> SPI1_Chip_Select /**SPI1 GPIO Configuration GPIO_InitStruct.Pin = GPIO_PIN_5 | GPIO_PIN_6; GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; GPIO_InitStruct.Alternate = GPIO_AF0_SPI1; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); /*Configure GPIO pin : CHIP_SELECT_Pin */ GPIO_InitStruct.Pin = CHIP_SELECT_Pin; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Pull = GPIO_PULLUP; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; HAL_GPIO_Init(CHIP_SELECT_GPIO_Port, &GPIO_InitStruct); /* SPI1 parameter configuration*/ hspi1.Instance = SPI1; hspi1.Init.Mode = SPI_MODE_MASTER; hspi1.Init.Direction = SPI_DIRECTION_2LINES_RXONLY; hspi1.Init.DataSize = SPI_DATASIZE_8BIT; hspi1.Init.CLKPolarity = SPI_POLARITY_LOW; hspi1.Init.CLKPhase = SPI_PHASE_1EDGE; hspi1.Init.NSS = SPI_NSS_SOFT; hspi1.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_32; hspi1.Init.FirstBit = SPI_FIRSTBIT_MSB; hspi1.Init.TIMode = SPI_TIMODE_DISABLE; hspi1.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE; hspi1.Init.CRCPolynomial = 7; hspi1.Init.CRCLength = SPI_CRC_LENGTH_DATASIZE; hspi1.Init.NSSPMode = SPI_NSS_PULSE_ENABLE; // Main Logic while (1) { // Read temperature data from the slave MAX31855KASA Thermocouple Chip HAL_GPIO_WritePin(GPIOB, GPIO_PIN_7, GPIO_PIN_RESET); ret = HAL_SPI_Receive(&hspi1, buf, 4, 1000); HAL_GPIO_WritePin(GPIOB, GPIO_PIN_7, GPIO_PIN_SET); HAL_Delay(1000); } I am consistently receiving a buffer value of 1, except in cases of error status(short circuit, open circuit and so on...) where it is always 0."
@CuriousScientist
@CuriousScientist 7 ай бұрын
Do you receive garbage data, for example, wrong temperature values, or you actually checked the SO and SCK pins with an oscilloscope and saw funny signals? Have you tried the suggestion that I wrote in the video description?
@johnfrancis923
@johnfrancis923 7 ай бұрын
​@@CuriousScientistI am analyzing the SCK and chip select using a logic analyzer. When the chip select becomes low, I only get 13 to 15 clocks instead of 32 clocks. Additionally, the MISO pin is consistently high, but it eventually goes low just before the chip select becomes high.
@CuriousScientist
@CuriousScientist 7 ай бұрын
I don't know what the issue can be. It works perfectly for me. Maybe you have a faulty module!?
@johnfrancis923
@johnfrancis923 7 ай бұрын
@@CuriousScientist When I review the Adafruit datasheet, they pull up the SO and SCK lines. Should I follow the same approach?
@CuriousScientist
@CuriousScientist 7 ай бұрын
If your board doesn't have pull-up resistors, you might try it, yes.
MAX31865 - Pt100 RTD module
23:10
Curious Scientist
Рет қаралды 26 М.
Arduino, Thermocouples, MAX31855K (vs MAX6675) and SPI - The Fine Points
38:26
Robert's Smorgasbord
Рет қаралды 16 М.
This Dumbbell Is Impossible To Lift!
01:00
Stokes Twins
Рет қаралды 37 МЛН
When you discover a family secret
00:59
im_siowei
Рет қаралды 23 МЛН
Or is Harriet Quinn good? #cosplay#joker #Harriet Quinn
00:20
佐助与鸣人
Рет қаралды 14 МЛН
طردت النملة من المنزل😡 ماذا فعل؟🥲
00:25
Cool Tool SHORTS Arabic
Рет қаралды 24 МЛН
AS5600 magnetic position encoder - best encoder for stepper motors
48:18
Curious Scientist
Рет қаралды 105 М.
Op-Amps  - Using Operational Amplifiers
44:21
DroneBot Workshop
Рет қаралды 280 М.
Making my own reflow hot plate - Part 1 - Prototype
34:13
Curious Scientist
Рет қаралды 14 М.
Power For Your Electronics Projects - Voltage Regulators and Converters
37:26
DroneBot Workshop
Рет қаралды 1,2 МЛН
ADS1256 - Improved code for faster acquisition
49:30
Curious Scientist
Рет қаралды 10 М.
I2C and SPI on a PCB Explained!
15:34
Altium Academy
Рет қаралды 145 М.
Arduino, Thermocouples, MAX6675 and SPI - The Fine Points
37:34
Robert's Smorgasbord
Рет қаралды 28 М.
Fast serial communication with Arduino
46:22
Curious Scientist
Рет қаралды 6 М.
Useful gadgets for stepper motor projects
33:03
Curious Scientist
Рет қаралды 8 М.
How LoRa Modulation really works - long range communication using chirps
27:38
This Dumbbell Is Impossible To Lift!
01:00
Stokes Twins
Рет қаралды 37 МЛН