Описание устройства
В этом разделе будет разобран проект, в котором AVR придется решать такие характерные для микроконтроллера задачи, как измерение и контроль температуры, кнопочный ввод и индикация показаний, хранение данных в архиве, передача информации в компьютер и т.д. Все операции производятся под управлением ОСРВ. Вместе с этим будут рассмотрены примеры использования шины TWI (на примере EEPROM AT24C512) и однопроводного интерфейса 1-Wire (датчик температуры DS18B20). Отдельно рассмотрена терминальная программа со стороны компьютера (на языке Delphi), которая производит считывание архива и ряда других параметров устройства через COM-порт.
Рис.1 Принципиальная схема термометра
Принципиальная схема устройства приведена на рис.1. Его основное назначение – это сбор и передача показаний температуры в компьютер для их дальнейшей обработки. Дополнительно имеется функция поддержание температуры на одном уровне.
Для измерения температуры используется цифровой датчик DS18B20 с однопроводным интерфейсом 1-Wire. Он подключается к линии PB1 микроконтроллера через разъем X2. Архив данных размером 64 кб хранится во внешней EEPROM–памяти AT24C512. Обмен данными с микросхемой ведется через шину TWI (выводы SCL, SDA). Для взаимодействия с пользователем предусмотрены индикатор MT-10T на 10 знакомест и 4 кнопки управления. Кнопки подключены непосредственно к выводам PD2…PD5, а индикатор для своей работы задействует еще 6 линий (управляющие сигналы PD6, PD7 и 4-разрядные данные PC0…PC3). Подстроечный резистор R6 служит для регулировки контрастности изображения. Связь с компьютером осуществляется по двум линиям канала RS-232 (разъем X1). Это выход передатчика RXD и вход приемника TXD. Микросхема MAX232 необходима для согласования ТТЛ-уровней микроконтроллера с логическими уровнями стандарта RS-232 (3…12 В лог.1, -3…-12 В лог.0). В случае если устройство используется как термостат, с вывода PB0 через разъем X4 снимается управляющий сигнал для коммутации теплового элемента. Он имеет высокий уровень, когда нагрузка должна быть подключена и низкий, если ее необходимо обесточить. Защитные сопротивления R2 и R3 служат для снижения последствий короткого замыкания на линиях PB0, PB1. На X4 подается напряжение 4…5 В от внешнего источника питания, способного обеспечить ток до 30 мА (собственное энергопотребление прибора без нагрузки на X4 не превышает 8…10 мА). Резервный источник питания VB1 (3.6…4.8 В) позволяет сохранить работоспособность и не потерять ход времени при перебоях напряжения. Разъем X2 служит для внутрисхемного программирования.
Рис.2 Алгоритм работы
Сразу после включения устройство переходит к измерению температуры. В этом режиме с периодичностью 1 с считываются показаний датчика и отображение их на индикаторе вместе со временем (рис.2а). Предел измерения температуры -55…+125 С. Нажатие на кнопку SB4 запускает самописец. Каждый замер температуры, при этом, переносится в буфер архива. По истечению 1 минуты (собрано 60 замеров) содержимое буфера переносится во внешнюю память DD2. В режиме самописца с частотой 1 Гц мигает символ градуса в крайнем правом разряде индикатора. Повторное нажатие SB4 останавливает процесс записи.
В течение всего времени постоянно ведется контроль попадания температуры в интервал, ограниченный верхним и нижним значениями величины. При достижении верхнего предела на выходе PB0 DD3 формируется низкий логический уровень (сигнал отключения нагрузки). Далее температура падает до того момента, пока не достигнет нижнего предела и на выход PB0 снова будет подано напряжение. Десятичная точка в крайнем правом разряде индицирует состояние вывода управления нагрузкой (отображается, когда на выводе PB0 уровень лог.1).
Нажатие кнопки SB1 заставит устройство перейти в режим меню, где можно настроить верхний “thi” (рис.1б) и нижний “tlo” (рис.2в) пределы температуры, а также текущее время “tmr” (рис.2г). Значения пределов “thi” и “tlo” изменяютсья кнопками SB2, SB3 в сторону уменьшения и увеличения соответственно. В момент отображения “tmr” кнопка SB2 отвечает за установку часов, а SB3 за установку минут. Нажатие и удержание SB2 и SB3 в течение примерно 2 с приводит к увеличению скорости перебора параметра до 12 изменений в секунду. Значения “thi”, “tlo” могут находиться в диапазоне -50…+120 С (шаг 1 С), “tmr” – от 0ч00м до 23ч59м.
Когда происходит сеанс связи с компьютером и терминальная программа берет управление на себя, на дисплее выводится надпись соединения “CONNECt” (рис.2д). Измерение и контроль температуры прекращаются, опрос кнопок не производится до тех пор, пока не произойдет переход к обычному режиму работы.
Управляющая ОСРВ
Операционная система размещается в основном файле проекта “TermoRTOS.asm”. ОСРВ распределяет процессорное время и разделяет ресурсы памяти между пятью задачами, которые и обеспечивают логику работы устройства. Все задачи находится в отдельных файлах, и подключаются с помощью директивы .include в начале программы.
После сброса микроконтроллера, происходит отчистка SRAM и инициализация стека для каждой задачи. Глубина стека выбрана для всех задач одинаковой и составляет 30 б. Текущий указатель стека каждой задачи сохраняется в ячейках памяти sp1:sp1+1…sp5:sp5+1. Переключение задач происходит в обработчике прерывания service_TOVF0 по переполнению счетного регистра таймера-счетчика TCNT0. Сам таймер-счетчик 0 работает в единственно возможном для него режиме Normal. Интервал времени TTOV0, оставшийся до следующего переполнения при этом:
TTOV0 = ((256-TCNT0 )*N)/Fclk,
где N-коэффициент деления предделителя частоты таймера-счетчика 0.
При Fclk = 3686400 Гц и N=1024, получим TTOV0 ≈ 277,8*(256 -TCNT0) мкс. Изменяя значения TCNT0 в диапазоне 0…0xFF можно отмерять различные интервалы в пределах 71111,1…277,8 мкс.
Во время переключения контекста ОСРВ определяет также длительность следующей задачи. Из ячеек tmr1… tmr5 извлекается числа, которые необходимо загрузить в TCNT0, чтобы получить необходимую длительность времени до следующего прерывания.
Рассмотрим подробнее, как происходит переключение задач. Допустим, прерывание возникает в процессе выполнения задачи 1. В этом случае после сохранения SREG и рабочих регистров в стеке задачи 1, производится сохранение самого указателя стека задачи 1 в ячейки sp1:sp1+1 (SPH копируется в sp1, а SPL в sp1+1). Далее из ячеек sp2:sp2+1 извлекается 2-байтовое значение указателя стека следующей в списке задачи 2 и загружается в SPH:SPL. С этого момента программа находится в адресном пространстве новой задачи. Перед выходом из прерывания восстанавливаются рабочие регистры и SREG задачи 2, а в регистр TCNT0 заносится значение из ячейки tmr2=184. Задача 2 будет выполняться 277,8*(256-184) = 20000 мкс, пока не наступит очередное прерывание по переполнению таймера-счетчика 0 и ОСРВ произведет переключение на задачу 3 и т.д.
Сведения о проекте приведены в табл.1. Каждая из 5 задач занимается обслуживанием собственного интерфейса и не оказывает прямого влияние на остальные задачи системы. Взаимодействие между компонентами программы происходит через глобальные переменные ОСРВ, размещенные в регистрах R5…R21. Для обработки данных все задачи получают в распоряжение свой собственный комплект РОНов R22…R31. Номер текущей задачи (1…5) хранится в регистре tsknum.
Табл 1. Сведения о проекте:
Задача |
Описание |
Место расположения |
Время выполнения, мс |
Объем |
- |
Операционная система с переключением задач. |
TermoRTOS.asm |
- |
640 |
1 |
Вывод информации на дисплей. |
DisplayMT10T.asm |
5 |
550 |
2 |
Интерфейс с компьютером. |
ComPort.asm |
20 |
218 |
3 |
Работа с внешней памятью данных. |
Eeprom24C512.asm |
20 |
244 |
4 |
Опрос кнопок. |
ButtonPolling.asm |
5 |
228 |
5 |
Опрос датчика температуры. |
TermoDS18B20.asm |
20 |
388 |
Использованный объем FLASH, байт |
2268 |
|||
Использованный объем SRAM, байт |
247 |
|||
Использованный объем EEPROM, байт |
4 |
Рис.3 Выполнение задач в ОС
а - во время основного режима работы
б - во время сеанса связи с компьютером
Система может находиться в трех состояниях, которые определяются битами регистра state. Если устройство отображает температуру (установлен бит TERMO) или находится в меню (установлен бит MENU), то задачи используют процессор так, как показано на рис.3а. В этом случае период повторения каждой задачи 70 мс. На диаграмме не учтены незначительные затраты времени на переключение контекста, что в среднем составляет 20 мкс (73 машинных цикла) на одну задачу. Во время сеанса связи с компьютером (установлен бит CONNECT в state) опрашивать кнопки и датчик температуры ненужно. Поэтому для увеличения скорости обмена данными задачи 4 и 5 исключаются, а задачи 1…3 выполняются с периодом 45 мс (см. рис.3б).
Кроме прерывания от таймера-счетчика 0, в программе используется еще и прерывание по совпадению OCR2 и TCNT2 таймера-счетчика 2 для отчета временных интервалов. Таймер- счетчик 2 работает в режиме CTC (сброс при совпадении). Прерывание возникает каждый раз, когда содержимое счетного регистра TCNT2 становится равным содержимому регистру совпадения OCR2, после чего TCNT2 обнуляется. Период следования прерываний TOCR2:
TOCR2 = (OCR2+1)*N/Fclk,
где N-коэффициент деления предделителя частоты таймера-счетчика 2. В программе выбрано TOCR2= 50 мс (N=1024, OCR2=179).
В обработчике service_OC2 каждую секунду вызывается подпрограмма счета времени time, а также устанавливается флаг начала очередного измерения температуры CONVER в регистре flag. Еще один бит этого регистра PULSE используется для мигания символа градуса в момент записи в архив и разделительной черты при отображении часов и минут. В прерывании PULSE=1 в течении 0.25 с (черта отображается) и PULSE=0 в течении 0.75 с (черта погашена).
В файле “TermoRTOS.asm” размещены также две подпрограммы записи в EEPROM микроконтроллера save_tmpr и save_eadr, которые используются различными задачами ОС. Подпрограмма save_tmpr сохраняет значения верхнего th и нижнего tl пределов регулирования температуры, а save_eadr сохраняет двухбайтовый указатель текущего адреса eadrh: eadrl в микросхеме памяти AT24C512. Каждый раз после включения устройства содержимое регистров th, tl, eadrh, eadrl восстанавливается из соответствующих ячеек энергонезависимой памяти _th, _tl, _eadrh, _eadrl.
Для уменьшения энергопотребления термометра в цикл каждой задачи включена команда sleep, переводящая микроконтроллер в спящий режим Idle. После ее выполнения ЦПУ останавливает свою работу, но функционировании остальных модулей продолжается. Выход из спящего режима происходит при возникновении прерывания от одного из таймеров-счетчиков, либо после аппаратного сброса.
Для защиты от зависания программы включен сторожевой таймер с периодом сброса 125 мс. При нормальном режиме работы его сброс происходит каждые 50 мс в обработчике прерывания от таймера-счетчика 2.
Вывод информации на дисплей
Код задачи 1 размещен в файле “DisplayMT10T.asm. Алгоритм работы приведен на рис.2. Эта часть программы отвечает за вывод информации на дисплей ЖКИ MT10T-8T.
Под видеопамять отведено 10 ячеек SRAM, начиная с метки ind. В цикле задачи непрерывно проверяется содержимое регистра picter, биты которого отвечают за отображение различных фрагментов программы. После этого видеопамять заполняется соответствующими кодами, а ее содержимое выводится на индикатор.
В самом начале работы линии шины адреса/данных DB3…DB0 и управляющих сигналов A0, WR1 предварительно настраиваются на вывод и примерно на 3 с на экране высвечивается тестовое изображение в виде символов с 0 по 9.
Интерфейс с компьютером
Код задачи 2 размещен в файле “ ComPort.asm”. Алгоритм работы приведен на рис.4. Задача отвечает за взаимодействие микроконтроллера с прикладным программным обеспечением компьютера.
Рис.4 Алгоритм работы задачи 2
После запуска термометра модуль приемопередатчика USART инициализируется на работу в полнодуплексном режиме (одновременно задействованы линии RXD и TXD). Параметрами связи: скорость обмена 115200 бит/c, длина слова 8 бит, 1 стоп-бит. Контроль четности не производится.
Затем программа ожидает поступления от компьютера команды в виде символа "D". Если запрос был получен, то в ответ отсылается строка подтверждения "Termostat AVR" и устройство переходит к сеансу связи. В регистре state устанавливается флаг CONNECT (переход к сеансу связи), а в picter устанавливается бит CON (отображение надписи на рис.2д). Текущий адрес страницы архива памяти eadrh:eadrl, который может быть модифицирован в процессе обмена данными, временно сохраняется в регистровой пар еtmph:etmpl.
Во время сеанса связи программа все время находится в цикле ожидания приема очередных управляющих команд, каждая из которых представляет собой принятый от компьютера символ ASCII. В ответ на запрос о получении основной информации об устройстве по команде "I", устройство передает 8-байтовый ID-код датчика температуры DS18B20 и установленные верхний th и нижний tl пределы регулирования температуры. Команда "E" приводит к стиранию 64-байтовой страницы памяти в архиве термометра. За командой следует двухбайтовый адрес страницы, а после окончания операции устройство передает в компьютер символ подтверждения "!". Для считывания страницы архива управляющая программа со стороны компьютера передает команду "R" и двухбайтовый адрес страницы. После этого устройство передает 64 байта данных и символ подтверждения "!".
Выход из сеанса связи происходит поле приема символа "O". Перед переходом к нормальному режиму работы в state устанавливается флаг TERMO (режим отображения температуры) и в регистр picter устанавливается бит TEM (отображение надписи на рис.2а). Текущий адрес eadrh:eadrl восстанавливается из еtmph:etmpl.
На любую принятую команду, кроме "D", "I", "E", "R", "O", микроконтроллер отвечает символом ошибки "?".
Работа с внешней памятью данных
Код задачи 3 размещен в файле “ Eeprom24C512.asm”. Алгоритм работы приведен на рис.5. Задача реализует интерфейс с микросхемой памяти AT24C512.
Рис.5 Алгоритм работы задачи 3
В микросхеме EEPROM AT24C512 размещается архив данных размером 64 кбайт. AT24C512 имеет страничную организацию. Размер страницы 64 байта. Все операции записи и чтения ведутся через страничный буфер, размещенный в памяти SRAM начиная с метки tbuf.
Рис.6 Формат данных страницы архива памяти
Если запись в архив разрешена (установлен флаг ARCHIVE в регистре flag), то каждую секунду в страничный буфер заносится результат очередного измерения температуры. После того как будет накоплено 60 замеров (т.е. пройдет 1 минута), содержимое буфера копируется в микросхему памяти. Формат данных каждой страницы архива памяти приведен на рис.6. Первые 4 байта (ячейки 0…3) составляют заголовок. В них фиксируется начальное время замера: часы, минуты, секунды. Ячейка 3 остается не задействованной. В нее можно будет поместить дополнительную служебную информацию такую как, например, состояние вывода управления нагрузки, положение кнопок и т.д. Следом за заголовком в ячейках 4…63 идут данные замеров. Архива объемом в 1024 64-байтовых страниц хватает на 1024*60 = 61440 ежесекундных замеров или на 17ч4м непрерывных измерений.
EEPROM AT24C512 подключается к микроконтроллеру посредством двухпроводного интерфейса TWI. AVR выступает в качестве ведущего передатчика при записи и ведущего приемника при чтении данных. Таким образом, перед началом работы необходимо произвести инициализацию контроллера скорости передачи данных (Bit Rate Generator), входящего в состав TWI и отвечающего за частоту тактовых импульсов FSCL на линии SCL. Значение FSCL определяется как
FSCL = Fclk/(16+2*TWBR*4TWPS),
где TWBR – содержимое регистре TWBR, TWPS – значение битов TWPS1: TWPS0 в регистре TWSR.
В данном приложении FSCL≈17кГц (TWBR=100, TWPS1:TWPS0=00), что значительно ниже максимально возможной скорости обмена данными с AT24C512 (до 1000 кб/с при напряжении 5 В).
В цикле задачи программа проверяет состояние битов EERASE, EREAD, EWRITE в регистре flag. Если установлен флаг стирания EERASE, то все ячейки tbuf заполняется значением 0xFF, после чего содержимое страничного буфера копируется в соответствующую страницу памяти архива. При флаге чтения EREAD=1 страница архива переписывается в tbuf, а при флаге записи EWRITE=1 результат каждых 60 замеров сохраняется AT24C512. На время выполнения любой из трех операций устанавливается флаг EBUSY во flag.
Текущей двухбайтовый адрес в памяти архива размещается в регистрах eadrh:eadrl. После записи очередной страницы содержимое eadrh:eadrl увеличивается на 64 (размер страницы). Естественно, что если не принимать ни каких мер, то после отключения питания устройства значение eadrh:eadrl будет утеряно, а после очередного запуска устройства запись в архив снова начнется с нулевого адреса. Поэтому после записи каждых пяти страниц eadrh и eadrl сохраняется в ячейках _eadrh, _eadrl EEPROM-памяти микроконтроллера. С учетом того, что ресурс EEPROM составляет порядка 100000 циклов записи, - его хватит примерно на год непрерывной работы.
Рис.7 Временные диаграммы чтения микросхемы AT24C512
a - одного байта
б - последовательности байтов
Временные диаграммы чтения и записи данных в AT24C512 приведены на рис.7 и рис.8 соответственно. Микросхема допускает обращение как к отдельным ячейкам EEPROM (рис.7а и рис.8а), так и к 64-байтоввм страницам памяти (рис.7б и рис.8б). В данном приложении используется второй способ адресации.
Рис.8 Временные диаграммы записи микросхемы AT24C512
a - одного байта
б - последовательности байтов
Подпрограмма twi_read_page считывает страницу в буфер tbuf, а twi_write_page копирует данные из tbuf во внешнюю память. Две задокументированные подпрограммы twi_read_byte и twi_write_byte можно использовать для чтения и записи байта EEPROM, расположенного по произвольному адресу. Подпрограмма twi_read_byte возвращает прочитанный байт в edata; в twi_write_byte байт для записи передается в том же регистре в качестве входного параметра. Во всех случаях адрес текущей ячейки памяти (первой ячейки страницы памяти) размещается в eadrh:eadrl.
Опрос кнопок
Задача 4 размещена в файле “ ButtonPolling.asm”. Алгоритм работы приведен на рис.9. Задача занимается опросом кнопок и оказывает соответствующее воздействие на ход выполнения программы.
Рис.9 Алгоритм работы задачи 4
После запуска устройства, линии кнопок SB1…SB4 (MD,MI,PL и TM соответственно) настраиваются на ввод, и задача входит в цикл обработки пользовательских команд, приходящих от клавиатуры.
Кнопка считается нажатой, если в течение двух циклов опроса (≈140 мс) на соответствующей линии был зафиксирован низкий логический уровень. Программа считает длительным нажатие при удержании кнопки в течение 15 циклов (≈1050 мс). Код нажатой кнопки находится в регистре btn. В случае отсутствия нажатых кнопок либо при одновременном нажатии более чем одной кнопки btn=0.
Программа интерпретирует нажатие различных кнопок по разному, в зависимости от информации, отображаемой на индикаторе (определяется содержимым регистра picter). При отображении верхнего и нижнего пределов температуры кнопки MI, PL отвечают за уменьшение и увлечение параметра соответственно. При отображении времени кнопкой MI устанавливают минуты, а кнопкой PL – секунды. Кнопка MD позволяет войти и передвигаться в меню устройства. Кнопка TM запускает и останавливает запись температуры в архив.
Опрос датчика температуры
Задача 5 размещена в файле “TermoDS18B20.asm”. Алгоритм работы приведен на рис.10. Задача занимается отвечает за взаимодействие микроконтроллера с цифровым датчиком температуры DS18B20.
Рис.10 Алгоритм работы задачи 5
Датчик DS18B20 (производства Dallas Semiconductor) имеет однопроводный интерфейсом 1-Wire. Он позволяет измерять температуру в пределах -55…+125 С при максимально-допустимой погрешности на границах диапазона ±2 С (не более ±0.5 C в диапазоне -10…+85 С). Время преобразования и разрешающая способность регулируются программно.
Рис.11 Расположение выводов и блокнотная память DS18B20
Программный интерфейс DS18B20 представлен в виде 9 регистров блокнотной памяти (Scratchpad), как показано на рис.4 (регистры 5…7 не используются). В первых двух регистрах находится результат измерения температуры в градусах C. Это знаковое дробное число с фиксированной запятой, где под целую часть отводятся 7 битов, включая знаковый разряд S, а под дробную 1…4 бита, в зависимости от выбранного разрешения. Установка разрешающей способности датчика производится через биты R1 и R0 регистр управления 4. Самой высокой разрешающей способности соответствует наибольшее время преобразования и наоборот. Выбор разрешающей способности ни как не влияет на точность результата измерения. Основным назначением регистров 2 и 3 является хранение установок максимального и минимального пределов температуры соответственно, но в них может быть размещена и любая другая пользовательская информация.
DS18B20 имеет 3 байта памяти EEPROM. По команде записи в блокнотную память в нее копируется содержимое регистров 2…4. Эта же информация восстанавливается в регистры сразу после включения. Однако практика показывает что у датчиков, по крайней мере раннего времени выпуска, энергонезависимая память практически не работоспособна. Поэтому настройку управляющего регистра надо производить каждый раз заново, а данные из регистров 2,3 лучше хранить в EEPROM микроконтроллера.
Для контроля достоверности данных во всех устройствах шины 1-Wire введен генератор циклического избыточного кода, формирующий контрольную сумму CRC (Cyclik Redundancy Checksum). Контрольная сумма (однобайтовое число) вычисляется для блока данных по специальному алгоритму, использующему образующий полином X8+X5+ X4+X5+1. Для защиты 8 байтов блокнотной памяти CRC находится по адресу регистра 8.
Рис.12 Временные диаграммы сигналов шины 1-Wire
Датчик имеет одну линию ввода/вывода DS данных и два вывода питания VCC и GND. Возможна также двухпроводная схема подключения в которой вывод линию DS совмещает функции ввода/вывода и питания, но здесь она не рассматривается. Все запросы на линии формирует ведущий микроконтроллер. Временные диаграммы на уровне чтения и записи информационных битов (слотов) приведены на рис.12. Детальное описание работы 1–Wire выходит за рамки данной книги, поэтому ниже ограничимся только практической стороной вопроса.
На стадии инициализации, микроконтроллер вызывает подпрограмму read_rom, которая выдает на линию команду сетевого уровня Read ROM (Чтение ПЗУ) и считывает 64-разрядный ID-номер датчика, записанный во внутреннем ПЗУ, в буфер dsnum. В дальнейшем запись и чтение DS18B20 будет происходить с помощью команды Skip ROM (Пропуск ПЗУ). Эту команду формирует подпрограмма skip_rom. Однако, если на линии будут находится сразу несколько датчиков, то обращаться к ним придется только по индивидуальному номеру через команду Match ROM (Совпадение ПЗУ). Подобное обращение формирует задокументированная подпрограмма match_rom.
В цикле задачи программа посылает датчику команду запуска преобразования с параметрами разрешения 11 бит, 375 мс, и через каждую секунду считывает показания температуры. За запуск преобразования и чтение показаний отвечают подпрограммы termo_convert и termo_result соответственно. Для синхронизации временных интервалов служит флаг CONVER (устанавливается с периодом 1 с) в регистре flag. В случае если показания температуры считаны успешно, программа сигнализирует об этом установкой флага готовности результата EWRITE из flag.
Каждое считанное значение температуры постоянно сравнивается с диапазоном регулирования температуры (нижнее значение в tl, верхнее - в th). В случае превышения верхней границы, выход POV порта B отключается и возвращается в исходное состояние только, когда температура упадет до нижнего предела. Если в ходе опроса DS18B20 возникнет ошибка, то выход будет отключен принудительно. Код ошибки находится в регистре error (0-нет ошибки, 1-датчик отсутствует, 2-короткое замыкание).
Перейти к следующей части: Дополнение А
Список радиоэлементов
Обозначение | Тип | Номинал | Количество | Примечание | Магазин | Мой блокнот |
---|---|---|---|---|---|---|
DD1 | ИС RS-232 интерфейса | MAX232 | 1 | Поиск в магазине Отрон | ||
DD2 | Микросхема | AT24C512 | 1 | Поиск в магазине Отрон | ||
DD3 | МК AVR 8-бит | ATmega8 | 1 | ATmega8L-8PU | Поиск в магазине Отрон | |
Датчик температуры | DS18B20 | 1 | Поиск в магазине Отрон | |||
D1 | Диод Шоттки | 1N5817 | 1 | Поиск в магазине Отрон | ||
С1-С4 | Электролитический конденсатор | 1 мкФ 16 В | 4 | Поиск в магазине Отрон | ||
С5, С6 | Конденсатор | 27 пФ | 2 | Поиск в магазине Отрон | ||
R1, R4, R5 | Резистор | 4.7 кОм | 3 | Поиск в магазине Отрон | ||
R2 | Резистор | 100 Ом | 1 | Поиск в магазине Отрон | ||
R3 | Резистор | 220 Ом | 1 | Поиск в магазине Отрон | ||
R6 | Подстроечный резистор | 220 кОм | 1 | Поиск в магазине Отрон | ||
ZQ1 | Кварцевый резонатор | 3.6864 МГц | 1 | Поиск в магазине Отрон | ||
HG1 | LCD-дисплей | МТ-10Т8 | 1 | Поиск в магазине Отрон | ||
SB1-SB4 | Тактовая кнопка | 4 | Поиск в магазине Отрон | |||
VB1 | Батарея питания | 4.8 В | 1 | Поиск в магазине Отрон | ||
X1 | Разьем | RS-232 | 1 | Поиск в магазине Отрон | ||
X2 | Разьем для программатора | ISP | 1 | Поиск в магазине Отрон | ||
Х3 | Разьемная пара для датчика температуры | 1 | Поиск в магазине Отрон | |||
Х4 | Разьем для входа сигнала | 1 | Поиск в магазине Отрон | |||
Х5 | Разьем для подключения питания | 1 | Поиск в магазине Отрон | |||
Скачать список элементов (PDF)
Прикрепленные файлы:
- TempLogger.rar (230 Кб)
Комментарии (1) | Я собрал (0) | Подписаться
Для добавления Вашей сборки необходима регистрация