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

Jul 27, 2015 17:12

Работать на 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 ] помимо восьми температур с "холодных" терморезисторов будут еще выплевываться температуры, снятые с "горячих").

железяки, stm32

Previous post Next post
Up