• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Подскажите, в чем может быть проблема с LM35?

  • Автор темы Автор темы VeeL
  • Дата начала Дата начала

VeeL

Ученик
Регистрация
2 Авг 2011
Сообщения
7
Реакции
0
Баллы
0
Подскажите, в чем может быть проблема с LM35?

Приветствую, подскажите знающие и опытные технари)
Собрал схему терморегулятора оборотов кулера на LM35.
Температура скачет невообразимо от 0 до 150 гр - 5 раз в сек.
Ссылки не дает вставить
видео как он себя ведет.
5 датчиков и у всех одинаковая проблема.
PS. прошивки пробовал и другие, проблема не изменилась.
 

Вложения

  • Снимок.webp
    Снимок.webp
    49 KB · Просмотры: 131
Сама схема-то где? Вы все 5 датчиков на одну ногу столь навесили?
 
То есть схема? плюс на левую ногу датчика, минус на правую, средняя на A1 в ардуину.
Нет, 5 датчиков по очереди, они не цифровые, по одной шине данных не работают ( к сажалению)).
 
Попробуйте так
Код:
#include     <Wire.h>
#include     <LiquidCrystal.h>

#define tempPin            A1   // the output pin of LM35
#define fan                11       // the pin where fan is
#define led                8        // led pin
#define tempMin            30   // the temperature to start the fan
#define tempMax            70  // the maximum temperature when fan is at 100%
#define updatePeriod    500

LiquidCrystal lcd(7,6,5,4,3,2);
unsigned long lastUpdateTickCount = 0;

void setup() {
    pinMode(fan, OUTPUT);
    pinMode(led, OUTPUT);
    pinMode(tempPin, INPUT);
    lcd.begin(16,2);  
}

void loop() {  

    if (lastUpdateTickCount + updatePeriod < millis()) {
        byte fanSpeed, fanLCD;
        int temp = analogRead(tempPin) * 0.48828125;
        
        if (temp  > tempMin) {
            fanSpeed = map(temp, tempMin, max(tempMax, temp), 32, 255);
            analogWrite(fan, fanSpeed);
        } else 
            digitalWrite(fan, LOW);

        digitalWrite(led, (temp  > tempMax) ? HIGH : LOW);
        fanLCD = map(temp, tempMin, max(tempMax, temp), 0, 100);
        
        lcd.print("TEMP: " + String(temp) + "C          ");
        lcd.setCursor(0,1);
        lcd.print("FANS: " + String(fanLCD) + "%          ");
        lastUpdateTickCount = millis();
    }
 }


Может датчики нерабочие? Надо бы тестером проверить напругу на выходе.
 
Подскажите, как их проверить?
 
Запитать от 5 В и померить тестером напряжение на выходе относительно минуса на минимальном пределе измерений. Оно должно меняться с расчетом 10 мВ на градус, нагреть и остудить датчик проблем не составит.
 
В общем плюнул я на эти лм35 и сделал на ds18b20
подскажите, достаточно ли добавить библиотеку и изменить тип датчика в коде или надо все переделывать под этот датчик? нужный функционал готовых решений найти не смог с использованием этого датчика.((
 
Назад
Сверху