Поиск

Подключаю DS18S20 к ИК-контроллеру


Работать на STM32 с DS18x20 я уже научился. Теперь вот перенес код в блок ИК-контроллера. Сначала было обрадовался, что все работает, но, проверив, что там с АЦП происходит (его тот же канал 1 ПДП1 пинает) понял, что радовался рано. Благо, решилось все элементарно добавлением двух строчек после завершения работы ПДП 1-wire:

			adc_start_conversion_regular(ADC1);
			adc_start_conversion_direct(ADC1);


Я уже писал про DS18S20. Вот что сейчас получается. После «устаканивания» в течение пяти минут датчики показывают:

Readed temperature for sensor 0: 275/10 degrC
Readed temperature for sensor 1: 275/10 degrC
Readed temperature for sensor 2: 280/10 degrC
Readed temperature for sensor 3: 280/10 degrC
Readed temperature for sensor 4: 280/10 degrC
Readed temperature for sensor 5: 280/10 degrC
Readed temperature for sensor 6: 280/10 degrC
Readed temperature for sensor 7: 280/10 degrC

Теперь грею №3 пальцем (на макетке датчики близко натыканы, так что соседние тоже немного греются):

Readed temperature for sensor 0: 275/10 degrC
Readed temperature for sensor 1: 275/10 degrC
Readed temperature for sensor 2: 280/10 degrC
Readed temperature for sensor 3: 305/10 degrC
Readed temperature for sensor 4: 290/10 degrC
Readed temperature for sensor 5: 280/10 degrC
Readed temperature for sensor 6: 285/10 degrC
Readed temperature for sensor 7: 280/10 degrC

Буквально через минуту:

Readed temperature for sensor 0: 275/10 degrC
Readed temperature for sensor 1: 275/10 degrC
Readed temperature for sensor 2: 280/10 degrC
Readed temperature for sensor 3: 280/10 degrC
Readed temperature for sensor 4: 280/10 degrC
Readed temperature for sensor 5: 280/10 degrC
Readed temperature for sensor 6: 280/10 degrC
Readed temperature for sensor 7: 280/10 degrC

Ну и для контроля работы АЦП я воткнул прямо в разъем один HEL-705, вот как меняется его сопротивление при нагреве пальцем: 1104, 1115, 1117, 1118, 1120 (в °C это 27.4, 30.3, 30.9, 31.1, 31.7). Пока я запускал октаву и пересчитывал сопротивление в температуру, показания термодатчика опять вернулись к исходной температуре.

Теперь остается добавить идентификацию датчиков, сохранение их номеров во флеш-памяти МК и интеграцию показаний в систему команд контроллера (по команде [ A ] помимо восьми температур с «холодных» терморезисторов будут еще выплевываться температуры, снятые с «горячих»).
eddy-em.livejournal.com

Добавить комментарий