Например TDA7294

Форум РадиоКот • Просмотр темы - Датчик температуры (ds18b20) в Atmega32
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Чт мар 28, 2024 11:51:23

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Датчик температуры (ds18b20) в Atmega32
СообщениеДобавлено: Вт апр 20, 2021 09:59:26 
Родился

Зарегистрирован: Сб апр 17, 2021 03:49:16
Сообщений: 2
Рейтинг сообщения: 0
Доброго времени суток! Подключаю к портуB микроконтроллера Atmega32(16Мгц) датчик температуры, написал код, чтобы в зависимости от температуры на сервомоторы подавались 1 или 0 , но всегда на сервомоторы подаются единицы при любой температуре.Что я делаю ни так ?


Вложения:
Комментарий к файлу: Изображение схемы
Снимок.PNG [14.72 KiB]
Скачиваний: 101
Комментарий к файлу: Код микроконтроллера
42.c [6.13 KiB]
Скачиваний: 89
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Датчик температуры (ds18b20) в Atmega32
СообщениеДобавлено: Вт апр 20, 2021 10:22:45 
Друг Кота
Аватар пользователя

Карма: 46
Рейтинг сообщений: 2030
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Сообщений: 6618
Откуда: Сердце Пармы
Рейтинг сообщения: 4
Медали: 1
Получил миской по аватаре (1)
1) справа на контакты энкопривода подано питание... это для чего?

Добавлено after 6 minutes 8 seconds:
2) не стоит инициировать 1вире ДО настройки внутренней периферии, в частности портов... (состояние регистров может затереться)

Добавлено after 2 minutes 18 seconds:
поставь проект на паузу и глянь, что у тебя в переменной темпер...

_________________
Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством :)
Безграмотно вопрошающим про силовую или высоковольную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Датчик температуры (ds18b20) в Atmega32
СообщениеДобавлено: Вт апр 20, 2021 11:46:56 
Друг Кота
Аватар пользователя

Карма: 81
Рейтинг сообщений: 1377
Зарегистрирован: Пн май 11, 2009 14:15:00
Сообщений: 3059
Откуда: СПб
Рейтинг сообщения: 0
Медали: 1
Мявтор 3-й степени (1)
Библиотека 1-Wire в CVAVR работает некорректно, если разрешены прерывания (т.к. задержки там отсчитываются по числу тактов МК, как в delay_us() и delay_ms()). На время работы с 1-Wire прерывания нужно запрещать.

Проще всего написать #asm("cli") и #asm("sei") перед и после измерения температуры. Более правильно будет модифицировать библиотеку для работы с DS18B20, запрещая прерывания только тогда, когда вызываются функции из 1wire.h.

Также, хоть это и не относится к проблеме с измерением температуры, нужно позаботиться об атомарном доступе к двухбайтовой переменной с результатом измерения АЦП.

_________________
Этот пост оказался полезен? Не поленись, нажми Изображение слева!
:) :)) :)))
Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 15


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y