Микроконтроллеры и Технологии каталог схем и прошивок
Имя пользователя
Пароль
Запомнить меня
HD44780 ATtiny13 Амперметр Вольтметр
Этот проект возник из любопытства – что мы можем сделать на таком маленьком микроконтроллере? Оказывается, много чего. В этом проекте микроконтроллер будет измерять напряжение, ток и температуру, пересчитывать их и выводить на ЖК дисплей формата 16×1. Несмотря на необычные решения, и несколько недостатков, его также можно использовать как измеритель напряжения питания. Размеры печатной платы составляют 35 × 16 мм.
Дисплей использует 6 контактов, поэтому вывод RESET придется сконфигурировать как обычный порт ввода/вывода. Это следует делать ПОСЛЕ программирования. Измерение напряжения осуществляется с помощью резистивного делителя. Измерения в диапазоне от 0 до 99.9 В выполняются с точностью 0.1 В. Ток измеряется путем измерения падения напряжения на шунтирующем резисторе сопротивлением 0.1 Ом. Диапазон измерения составляет от 0 до 9.99 А, точность 0.01 А. Температура измеряется с помощью аналогового датчика LM35 в диапазоне от 0 до 99.9 °С с точностью 0.01 °С. В качестве о напряжения для АЦП используется внутренний источник опорного напряжения микроконтроллера ATtiny13, его напряжение составляет 1.
1 В. Таким образом, для измерения тока нам не придется использовать операционный усилитель (и отрицательное напряжение питания для него), а вычисления становятся гораздо проще.
Такому простому устройству свойственны небольшие недостатки. Измерение происходит на тех же самых выводах, по которым передаются данные для ЖК-дисплея, а выводам дисплея требуется ток около 80 мкА, чтобы подтянуть их к земле. Резистор сопротивлением 100 Ом в резистивном делителе плохо справляется с этой функцией, и на нем остается около 7 мВ относительно земли. Эти 7 мВ просто вычитаются из результата измерений, из за чего возникает погрешность и результат измерений получается нелинейным. Эта погрешность наиболее сильно проявляется в диапазоне измеряемых напряжений от 0 до 5 В.
Помните, что для измерения больших токов и напряжений мощности шунтирующего и добавочного резисторов должны быть соответствующими. Устройство калибруется с помощью двух подстроечных потенциометров. Контраст ЖК дисплея не регулируется, он задан с помощью двух резисторов, получаемое напряжение равно приблизительно 1 В. Большинство ЖК дисплеев хорошо работают с этим напряжением, но при желании вы можете установить свое значение. Ток измеряется относительно шины земли. Земля источника питания соединяется с землей на плате. Шунтирующий резистор подключается между землей (на схеме GND) и входом -V. Если вы захотите запитать это устройство от источника измеряемого напряжения, просто подключите вход стабилизатора напряжения ко входу +V. Не забывайте, что максимальное напряжение, которое вы можете подать на вход стабилизатора 7805, составляет 30 В. Таким образом, если вы захотите измерять более высокие напряжения или измерять напряжение в диапазоне от 0 В, понадобится отдельный источник питания для устройства. В этом случае перережьте дорожку под потенциометром калибровки напряжения, измеряемое напряжение подключите к контакту +V, а затем подключите источник питания к контакту ZAS на плате.
Плата спроектирована так, чтобы разместить на ней стабилизатор 7805 в корпусе TO252, но на ней можно без проблем поставить микросхему 78L05 в корпусе TO92. Общий ток, потребляемый устройством, включая подсветку ЖК-дисплея, составляет около 30 мА, так что стабилизатора 78L05 вполне хватит.
Диапазон измеряемых напряжений : 0 — 99 Вольт, с дискретностью 0,1 Вольт
Диапазон измеряемого тока : 0 — 9,9 Ампер (С шунтом 0,1 Ом)
Диапазон измеряемых температур : 0 — 99° С, с дискретностью 0,1° С
Программирование: порт сброса (reset) микроконтроллера должен быть запрограммирован как обычный порт (fuse RSTDISBL). Внимание! При установке бита RSTDISBL=0, дальнейшее программирование микроконтроллера с помощью ISP будет невозможным. Восстановить заводскую конфигурацию микроконтроллера можно с помощью этого устройства. Остальные FUSE — биты по умолчанию.
В архив добавлен файл tiny13lcd_9_64-sample, это обновленная версия программы для микроконтроллера, производящая 64 измерения и отображающая их среднее значение.
Источник: elektroda.eu
Архив для статьи «АмперВольтметр на attiny13» | |
Описание: | |
Размер файла: 74.18 KB Количество загрузок: 6 241 | Скачать |
Понравилась статья? Поделиться с друзьями:
У Вас недостаточно прав для добавления комментариев. Возможно, Вам необходимо зарегистрироваться на сайте.
от admin
Что можно сделать на основе небольшого микроконтроллера Attiny13? Много чего. Например измеритель напряжения, тока, температуры, с выводом результатов на дисплей типа HD44780. Так давайте и соберём это универсальное устройство, которое можно успешно использовать в качестве модуля в блоках питания, зарядках, УМЗЧ и в тех местах, где не требуется очень высокая точность. Размер платы всего 35 х 16 мм.
Прежде всего надо знать, в каком диапазоне напряжения прибор будет работать. Чтобы это установить, необходимо рассчитать делитель напряжения. Например, для получения измерения 10 В, делитель должен составлять 1/10 (мы умножаем x 10 потому что напряжение будет в 10 раз больше от базового 1 В), для 30 В будет 1/30 и так далее. Затем необходимо настроить программу, для данного диапазона. Эти 30 В умножаем по 640, а результат разделим на 1023. Полученное число приблизительно записывается в начале программы, постоянной напряжения и надо скомпилировать программу (для диапазона 100 В, 8,2к).
Измерение тока также мы можем настроить подобным образом, дать другой делитель, другой диапазон, и перечислить, но не буду этого описывать. Здесь нет аналоговой калибровки температуры, потому что она показалась совершенно лишней.
Температуру корректируем экспериментально в программе, за это отвечает константа const temp. Резистор 1К между массой и выходом датчика устанавливает напряжение, снизить его можно даже до 100 Ом.
К точкам V и V+ на плате приложено напряжение, которое мы хотим измерить, к точке GND присоединяемся входом массы блока питания, а к точке В — выход массы (измерение происходит на массе). Между точками GND и V — присоединяется шунт. Питание измерителя осуществляется от точки V и V+ через стабилизатор 7805. На плате есть место на стабилизатор в корпусе TO252, но с успехом можно использовать и более крупный стабилизатор 78L05 в корпусе TO92. Максимальное напряжение, которое можно указать для точки V и V+, для обычной 7805 будет до 35В, для 78L05 будет, конечно, меньше, но не больше 30. Для того, чтобы измерять большие напряжения, чип необходимо пополнить отдельно — на стороне печати, следует прервать путь под потенциометром регулировки напряжения, а питание подать до точки А. Система работает с дисплеем 16х1 с контроллером HD44780 или 16х2.
При прошивке микроконтроллера необходимо задать pin reset как обычный pin (включить fusebit RSTDISBL). Перед выполнением этой операции убедитесь, что все хорошо установили, что после выключения сбрасывается, и нет доступа к процессору обычным программатором! Исходники, а также вся остальная документация и файлы, размещены в общем архиве.
Originally posted 2018-10-18 06:43:49. Republished by Blog Post Promoter
7 сентября 2020 — 0 комментариев
ATtiny13 представляет собой высокопроизводительную технологию с низким энергопотреблением. 8-битная архитектура AVR RISC. Микроконтроллер на основе , который имеет 8 контактов, из которых 6 контактов могут использоваться в качестве контактов ввода/вывода. Он имеет мощную архитектуру инструкций, которая обеспечивает скорость обработки 1 MIPS на МГц, балансируя энергопотребление и в то же время обеспечивая высокую производительность. Скорость может достигать 20 MIPS, если используется максимальная частота 20 МГц.
Конфигурация контактов ATtiny13
Номер контакта | Название контакта | Описание |
1 | (PCINT5/СБРОС/ADC0/dW)PB5 | Контакт порта B, бит 5, или входной канал АЦП 0, или ввод/вывод debugWIRE, или прерывание смены контакта 0, источник 3 или контакт сброса, в основном используемый для программирования |
2 | (PCINT3/CLKI/ADC3) PB3 | Контакт двунаправленного ввода-вывода порта B, бит 3, или входной канал АЦП 3, или вход внешнего тактового сигнала, или прерывание смены контакта 0, источник 3 |
3 | (PCINT4/ADC2) PB4 | Двунаправленный контакт ввода-вывода порта B, бит 4, или входной канал АЦП 2, или прерывание смены контакта 0, источник 4 |
4 | ЗЕМЛЯ | Контакт заземления MCU |
5 | PB0 (MOSI/AIN0/OC0A/PCINT0) | Двунаправленный ввод-вывод порта B, бит 0 или SPI MOSI, используемый для программирования, или аналоговый компаратор +, или прерывание по изменению контакта 0, источник 0 или таймер/счетчик 0, сравнение Match A Out |
6 | PB1 (MISO/AIN1/OC0B/INT0/PCINT1) | Двунаправленный ввод/вывод порта B, бит 1 или вход аналогового компаратора — или внешний вход 0, или вход Timer/Counter1 Compare Match B Out или изменение контакта Прерывание 0, источник 1 или SPI MISO, используемый для программирования |
7 | PB2 (SCK/ADC1/T0/PCINT2) | Контакт двунаправленного ввода-вывода порта B, бит 2, или входной канал АЦП 1, или таймер/счетчик 0, источник тактового сигнала, или последовательный вход тактового сигнала, или прерывание по смене контакта 0, источник 2 или вход внешнего тактового сигнала, используемый для программирования |
8 | ВКК | Положительный контакт MCU (+5 В) |
Характеристики и характеристики микроконтроллера ATtiny13
ATtiny13 — упрощенные функции и спецификации | |
ЦП | 8-битный AVR |
Количество контактов | 8 |
Рабочее напряжение (В) | 1,8-5,5 В |
Количество контактов ввода/вывода | 6 |
Модуль АЦП | 10-битный (4-канальный) |
Модуль таймера | 8-битный(1) |
Компараторы | 1 |
Модуль ЦАП | нет |
Периферийные устройства связи | 1- СПИ |
Внешний осциллятор | Да |
Внутренний осциллятор | 9,6 МГц |
Память программ (КБ) | 1 КБ |
Скорость процессора (MIPS) | 20 миллионов операций в секунду |
байт ОЗУ | 64 |
ЭСППЗУ данных | 64 байта |
Примечание : Полную техническую информацию можно найти в техническом описании ATtiny13 , ссылка на которое находится внизу этой страницы.
Альтернатива для ATtiny13
Альтернативные продукты для микроконтроллера ATtiny13 перечислены ниже:
Знакомство с ATtiny13
ATtiny13 представляет собой высокопроизводительную технологию с низким энергопотреблением. Он имеет мощную архитектуру инструкций, которая обеспечивает скорость обработки 1 MIPS на МГц, балансируя энергопотребление и в то же время обеспечивая высокую производительность. Скорость может достигать 20 MIPS, если используется максимальная частота 20 МГц.
ATtiny13 также поставляется с функцией отладки на кристалле debugWIRE, внутрисистемным программируемым портом SPI, режимами ожидания с низким энергопотреблением, отключением питания и режимом ожидания. Он также использует программируемую схему обнаружения пониженного напряжения.
Имеет широкий диапазон рабочего напряжения от 1,8 В до 5,5 В. Таким образом, его можно использовать в операциях логического уровня 1,8 В, 3,3 В или 5,0 В. Однако работа в диапазоне 0-4 МГц поддерживается входным напряжением 1,8 В для ATtiny13V. Для частоты до 10 МГц требуется минимальное напряжение 2,7 В для ATtiny13, а для работы на частоте 20 МГц требуется минимальное напряжение 4,5–5,5 В.
На изображении ниже показана подробная схема выводов ATtiny13.
Подробные характеристики ATtiny13
ATtiny13 – подробные характеристики | |
ЦП | 8-битный AVR RISC |
Архитектура | 8 |
Размер памяти программ (Кбайт) | 1 |
ОЗУ (байт) | 64 |
ЭСППЗУ/HEF | 64 |
Количество выводов | 8 |
Макс. Частота процессора (МГц) | 20 |
Выбор периферийного контакта (PPS) | № |
Внутренний осциллятор | 9,6 МГц |
Количество компараторов | 1 |
№ операционного усилителя | 0 |
Количество каналов АЦП | 4 |
Максимальное разрешение АЦП (бит) | 10 бит — 15 тыс/с |
АЦП с вычислением | 0 |
Номер преобразователя ЦАП | 0 |
Максимальное разрешение ЦАП | — |
Внутреннее опорное напряжение | № |
Обнаружение пересечения нуля | № |
Количество 8-битных таймеров | 1 |
Количество 16-битных таймеров | 0 |
Таймер измерения сигнала | 0 |
Аппаратный таймер ограничения | 0 |
Количество выходов ШИМ | 2 |
Макс. разрешение ШИМ | 1024 |
Угловой таймер | 0 |
Математический ускоритель | № |
№ модуля UART | 0 |
№ модуля SPI | 1 |
№ модуля I2C | 0 |
№ USB-модуля | 0 |
Оконный сторожевой таймер (WWDT) | № |
CRC/скан | № |
Осциллятор с числовым программным управлением | № |
Крышка. Сенсорные каналы | 6 |
Сегментный ЖК-дисплей | 0 |
Минимальная рабочая температура (*C) | -40 |
Максимальная рабочая температура (*C) | 85 |
Минимальное рабочее напряжение (В) | 1,8 / (2,7 до 10 МГц) / (4,5 до 20 МГц) |
Максимальное рабочее напряжение (В) | 5,5 |
Возможность работы с высоким напряжением | № |
Программирование микроконтроллера AVR
Микроконтроллеры AVR можно программировать с помощью различного программного обеспечения, доступного на рынке. Есть люди, которые до сих пор используют язык ассемблера для программирования микроконтроллеров AVR. Приведенная ниже информация относится к наиболее продвинутому и распространенному программному обеспечению и компилятору, разработанному самой компанией Atmel (теперь Microchip).
Для программирования микроконтроллера AVR нам понадобится IDE (интегрированная среда разработки), где и происходит программирование. Компилятор, в котором наша программа преобразуется в удобочитаемую форму MCU, называемую HEX-файлами.
IDE: Atmel Studio 7
Компилятор: AVR и ARM Toolchains
Компания Microchip предоставила все эти два программного обеспечения бесплатно. Их можно скачать прямо с их официальной страницы. Я также предоставил ссылку для вашего удобства. После загрузки установите их на свой компьютер. Если у вас есть какие-либо проблемы с этим, вы можете опубликовать их в комментарии ниже.
Чтобы выгрузить или загрузить наш код в AVR, нам понадобится устройство под названием ATAtmel-ICE. Программатор/отладчик ATAATmel — ICE представляет собой простой внутрисхемный отладчик, которым управляет ПК с установленным программным обеспечением Atmel Studio на платформе Windows. Программатор/отладчик ATAAtmel-ICE является неотъемлемой частью набора инструментов инженера-разработчика. Схема программирования ATtiny13 показана ниже.
Помимо этого официального программатора, пользователи также используют устройство программирования USB ASP AVR для недорогих программных решений. В дополнение к этому нам также потребуется другое оборудование, такое как плата Perf или макетная плата, паяльная станция, микросхемы AVR, кварцевые генераторы, конденсаторы и т. д.
Компоненты, связанные Микроконтроллер ATtiny13
USB Программатор ASP AVR, Отладочная плата AVR, Кварцевые генераторы, Конденсаторы, Адаптер 12 В, Регулятор напряжения 7805.
2D-модель
Размеры ATtiny13 показаны ниже —
Микроконтроллер AVR
8-битный микроконтроллер
спросил
Изменено 2 года, 1 месяц назад
Просмотрено 125 раз
Я намереваюсь подключить три микросхемы ATTiny45 (каждая из которых требует около 3,5 В) параллельно с двумя батареями-таблетками (а именно, Maxwell CR2032 ) последовательно (что составит около 6 В). Каждый из них воспроизводит звук пьезо-зуммером при нажатии кнопки.
Теперь, возможно, я ошибаюсь, но я думаю, что разделение мощности между тремя чипами может привести к тому, что на каждый чип будет подаваться только около 2 В? Другие компоненты играют роль?
Итак, мой вопрос таков:
На всякий случай добавил схему того, что задумано.
[Раньше эта схема содержала резисторы для вытягивания переключателя, но эта необходимость была устранена с помощью комментария jsotola 15 Если вы подключите микросхемы AtTiny параллельно, все они получат полное напряжение от вашей батареи. input_pullup
]0357 attiny