Конструкции на atmega8 своими руками

Конструкции на atmega8 своими руками

Рисунок 1 — Схема управления электродвигателем микроконтроллером ATmega8

Мост и система управления в схеме на рисунке 1 подключены к разным источникам с одинаковым напряжением 5В. Светодиоды VD1 -VD4 показывают какая пара транзисторов моста работает VT1 и VT4 или VT2 и VT3. В мостовой схеме из предыдущей статьи в цепях коллекторов транзисторов VT3 и VT4 были резисторы с сопротивлением 56 Ом, в этой схеме на рисунке 1 этих резисторов нет так как из за них уменьшается мощность передаваемая двигателю но резисторы в цепях коллекторов транзисторов VT1 и VT2 оставлены для ограничения тока. Ниже приведен исходный код программы на языке C++ для микроконтроллера:

int main(void) // начало основой программы
<
DDRD = 0xff; /* все выводы порта D сконфигурировать как выходы */
DDRC &=

switch(sw)
<
case 0:
DDRD |= 1 3)j=0;
break;
case 1:
DDRD |= 1 3)j=0;
break;
case 3:
DDRD &=

(1 260 то ей снова присваивается значение 20 и период миганий резко уменьшается (частота увеличивается).

Исходный код компилировался в hex файл программой WinAVR. hex файл записывался в микроконтроллер программой PonyProg

Счётчик на ATmega16.

Подсчёт количества импульсов может применяться для решения множества разных практических задач (например приём сигнала для управления чем либо (реле например) или определение показаний датчика). Для подсчёта количества импульсов и использования результатов, этого подсчёта, можно использовать микроконтроллер. Для начала можно попробовать сделать систему для подсчёта нажатий кнопки а в случае её работоспособности на её основе делать более сложные устройства. Схема простого счётчика нажатий кнопки приведена на рисунке 1:

Рисунок 1 — Счётчик на ATmega16

Резистор R1 и конденсатор C1 предназначены для сглаживания пульсаций напряжения возникающих в результате дребезга контактов при нажатии и отпускании кнопки SB1. Резистор R2 предназначен для ограничения вытекающего из микроконтроллера тока. На светодиоды VD1-VD8 должно выводиться двоичное число (светодиод горит это 1, светодиод не горит это 0).

В микроконтроллер записывалась программа:

#include //порты ввода-вывода
#include //прерывания
#define F_CPU 8000000UL // 8 MHz тактовая частота

ISR(INT0_vect)//вызывается при возникновении прерывания по фронту int0
<
i++;
if(i>0xff)
<
i=0x00;
>
PORTA=i;
>

int main(void) // начало основой программы
<
//конфигурация портов ввода/вывода
DDRA = 0xff;//0xff = 0b11111111 все выводы порта A сконфигурировать как выходы
DDRD = 0x00;//0x00 = 0b00000000 все выводы порта D сконфигурировать как входы
PORTD = 0xff;//включить подтягивающие резисторы на все выводы порта D
//инициализация прерывания
GICR |= 0x40;//0x40 = 0b01000000 разрешить прерывания на int0
MCUCR |= 0x3;//0x3 = 0b00000011 прерывания по фронту int0
sei();//разрешить все прерывания, cli()- запретить

while (1)//основной цикл
<

Для подсчёта количества импульсов используется прерывание по фронту импульса напряжения на выводе INT0 для этого в регистр MCUCR записано шестнадцатеричное число являющееся результатом операции логического сложения числа 0x3 (3 — само число 0x — приставка обозначающая то что это число шестнадцатеричное) и числа которое там до этой записи было, а там, скорее всего, был ноль по умолчанию. В MCUCR можно было бы записать это число в двоичном виде (т.е. логического сложения) так: MCUCR = 0b00000011, это было было бы проще и нагляднее но так не принято делать. Так как прерывание возникает при приходе фронта импульса (т.е. при переходе из низкого (0) уровня напряжения в высокое (1)) а нажатие кнопки делает ноль на выводе INT0 то прерывание будет возникать при отпускании кнопки и в момент подачи питания на микроконтроллер (но это на данном этапе не очень важно), при возникновении этого прерывания вызывается функция ISR с параметром INT0_vect и выполняется код в её теле. Для того чтобы прерывание возникало при нажатии на кнопку можно в регистр MCUCR записать число 0b00000010 вот так:

MCUCR = 0b00000010;
или в шестнадцатеричном виде:
MCUCR = 0x2;
для реакции на любое изменение (по фронту и по спаду):
MCUCR = 0x1;
Можно использовать вывод INT1, при этом будет вызываться ISR с параметром INT1_vect, в этом случае:

для реакции на любое изменение (по фронту и по спаду (нажатие и отпускание)):
MCUCR = 0x4;

по спаду (нажатие кнопки):
MCUCR = 0x8;

по фронту (отпускание кнопки):
MCUCR = 0xс;
Если записать MCUCR = 0x0; то INT0 и INT1 будут реагировать на низкий уровень напряжения.
При использовании INT2 (ISR вызывается с параметром INT2_vect)
по спаду:
MCUCSR = 0x0;
по фронту:
MCUCSR = 0x40;
Можно настроить прерывания и на INT0 и на INT1 например для обоих по фронту:
MCUCR = 0x0;
MCUCR |= 0x3;
MCUCR |= 0xc;

INT0 по спаду, INT1 по фронту и спаду:
MCUCR = 0x0;
MCUCR |= 0x2;
MCUCR |= 0x4;
Регистр GICR для разрешения внешних прерываний или их запрещения.
Разрешить на INT0:
GICR = 0x40;
Разрешить на INT1:
GICR = 0x80;

Разрешить на INT2:
GICR = 0x20;

hex файл создавался программой WinAVR, записывался в микроконтроллер он программой PonyProg через LPT порт и программатор на резисторах.

Источник:
http://www.junradio.com/blog/konstrukcii_na_atmega8_i_atmega16/2013-11-14-118

Конструкции на atmega8 своими руками

Очень маленькое, но очень полезное устройство.

Автор: ELcat
Опубликовано 31.08.2012
Создано при помощи КотоРед.

Здравствуй, дорогой Кот! Позволь поздравить тебя с Днём рождения и от всей души пожелать рабочего вдохновения, творческих успехов ну и чтоб, как говорится, «всё Коту было Масленица»! А также преподнести тебе очень маленький скромный подарочек. Ой, а где же он? В кармане затерялся? Мяу-миу-рауж… О! Вот же он, «МИРАЖ».

Надеюсь, он тебе понравится и станет твоим верным спутником.

Каждый день мы куда-то торопимся, не успеваем, опаздываем. К сегодняшнему дню человечество изобрело массу всевозможных хронометров. От примитивных песочных и солнечных часов, до сложнейших, основанных на процессах квантовых переходов элементарных частиц, сверхточных атомных. Человечество даже научилось «из времени делать деньги», но, к сожалению, так и не освоило обратный процесс. Одним словом время – это то, чего нам всегда критически не хватает. И особенно для того, чтобы просто, никуда не спеша, свернуться калачиком и от всей души «придавить хорька». Конечно же, данный прибор не «растянет» вам время, но поможет его подсчитать, а значит экономно и с умом его использовать, с пользой для себя и окружающих.

Итак, что же за хронометр сегодня у нас? Идея систем отображения с механической развёрткой, отнюдь, не нова. Данные часы были разработаны чуть больше полугода назад, когда один из приднестровских котов опубликовал здесь свою статью с подобным прибором. Целью моей разработки было создать некое совершенное во всех отношениях устройство подсчёта времени, основанное на подобных принципах, но лишённое всех недостатков модели приднестровского товарища. Во избежание «переноса недостатков» как принципиальная схема, так и программный код разрабатывались с нуля. Да и не было желания «ковыряться» в чужом коде, хотелось разработать что-то своё, новое и совершенно отличное. Так, после двух месяцев творческих поисков и двух неудачных образцов появился «МИРАЖ». Уникальность данного устройства счёта времени заключается в его неимоверной простоте, дешевизне и столь модных сегодня минималистических тенденциях. Как говорят: «Всё гениальное должно быть просто!». Но, не смотря на это, данный хронометр умеет считать секунды, минуты, часы, числа, месяцы, годы, вычисляет дни недели по дате и добавляет по дню в високосные годы. Кроме того этот «малыш» довольно точен и экономичен. За полгода его работы уход времени составил не более двух минут, а элемент питания до сих пор не требует замены.


Из чего же он состоит? «Сердцем» устройства является излюбленный посетителями данного сайта 8-ми битный Flash микроконтроллер фирмы Atmel – ATmega8. Секрет сверхнизкого энергопотребления устройства заключается в том, что большую часть времени МК, как и положено всем порядочным котам, «дрыхнет»! Причём столь глубоко, что его ток потребления составляет при этом немногим более 8мкА! «А кто же тогда время считает?» – спросите вы. А всё дело в том, что в его составе имеется хитрый таймер-счётчик TC2, имеющий в своём составе независимый генератор тактовых импульсов с предделителем и возможностью подключения внешнего кварцевого резонатора. Вот он-то как раз и считает генерируемые генератором импульсы с частотой 32 786Гц, которая задаётся внешним опорным «часовым кварцем». Один раз в секунду происходит переполнение таймера и по данному событию он формирует сигнал прерывания, способный «разбудить» вычислительное ядро микроконтроллера. При пробуждении запускается внутренний калиброванный RC-осциллятор с делителем на 8, от которого и происходит тактирование ядра частотой порядка 1,2 МГц. При этом ток потребления скачком возрастает до полутора миллиампер. Ядро производит математические действия и снова уходит в спящий режим. Переполнение таймера – не единственное условие для пробуждения МК. Это также происходит и по нажатию кнопки «Wake». При этом МК в течение 5 секунд не уходит в спящий режим, ожидая действий пользователя, и выполняя алгоритмы пользовательского интерфейса. Если по истечению 5 секунд никаких действий не последует, МК снова уйдёт в режим сна.

Читайте также  Автотрансформатор своими руками: как сделать, схемы, пошаговая инструкция

Как пользоваться данным устройством? Элементарно! Держите устройство в руке горизонтально батареей к себе. Кратковременно нажмите кнопку «Wake» и начните совершать взмахи влево-вправо с частотой от 3 до 5 взмахов в секунду. Перед вами появится «виртуальное табло» с отображением текущего времени.

Ещё одно кратковременное нажатие, и на «табло» появится текущая дата.

И, наконец, эмблемка «МИРАЖ».

Для установки времени необходимо в режиме отображения времени нажать и удерживать не менее 2 секунд кнопку «Wake» до засвечивания нижнего светодиода. При взмахах появится:

Каждое кратковременное нажатие будет увеличивать отображаемый параметр на единицу. Ещё одно нажатие с удерживанием переключит в режим установки минут:

Отображаемый параметр изменяется аналогично. Следующее нажатие с удержанием сохранит установленное время и переключит в режим отображения времени. Если вы не желаете сохранять установленное время – просто не производите с устройством никаких действий в течение промежутка времени длительностью не менее пяти секунд. Устройство без сохранения перейдёт в спящий режим.

Аналогично устанавливается и дата. Необходимо перейти в режим отображения даты, далее нажатием с удержанием войти в режим установки даты. Далее производятся действия, аналогичные описанным выше как и при установке времени:

Ну чтож, без внимания остался лишь самый загадочный элемент устройства – это «датчик взмахов». Для удобства назовём его «акселерометр», хотя это и не совсем корректно.

Данный компонент изготавливается вручную. Для этого вам понадобятся напильник, паяльник, шило, кусачки-бокорезы ну и, конечно же, пара не очень кривых рук. За основу корпуса берётся планка штыревая типа PLD-80. От неё очень аккуратно откусываются 2 отрезка по 8 штырей. Все штыри вынимаются. В результате получается 16 штырей и 2 пластиковые детали. Далее 4 штыря изгибаются под прямым углом с отступом около 2мм от края и вставляются в одну из пластиковых деталей со стороны без углубления (см. фото).

Из тонкой медной жести вырезается маленький прямоугольник, прокалывается шилом в двух точках так, чтобы при помощи полученных отверстий надеть его на одну из пар штырей. Надевается до упора, вдавливается, облуживается и припаивается к штырям.

Сам чувствительный элемент «акселерометра» представляет собой грузик-контакт удерживаемый пружинкой. Под действием сил, вызванных ускоренем, он должен свободно двигаться между двух штырей-контактов и быть подпружиненным к контакту, расположенному по направлению взмаха, то есть влево, если представить плату в руке (на фотографии нижний справа).

В качестве грузика используется кусочек медной или латунной проволоки сечением около 1,5мм с золотым или серебряным покрытием – идеально подходят кусочки контактов некоторых старых «совковых» разъёмов. В качестве пружинки применена струнка, выпаянная из оптической головки лазерного CD/DVD привода. На таких струнках подвешиваются подвижные пластиковые рамки с обмотками и микролинзами. Пружинка должна иметь 1-1,5 витка (подбирается экспериментально), навивается на оправке диаметром около 1мм (вывод какого-нибудь выводного элемента с соответствующим сечением). Одним кончиком пружинка припаивается к грузику, на другом формируется «петелька», которая припаивается к медному прямоугольнику. Далее на штыри надевается вторая пластиковая деталь углублением вниз, образуя таким образом «крышечку коробочки» со всей «механикой» внутри. Далее «крышечку» необходимо снять, аккуратно подгибая пружинку тонким пинцетом, необходимо добиться, чтобы груз не касался верхней или нижней стенки коробочки, а был слегка прижат к левому контакту («крышечка» для проверки периодически устанавливается на место). Таким образом в собранной конструкции при взмахах грузик будет ударяться только о боковые штыри-контакты.

После регулировки и сборки верхние выступы штырей обкусываются кусачками и стачиваются напильником. Далее акселерометр ставится всеми четырьмя контактами на напильник и производится стачивание контактов до толщины не более 0,3-0,5мм, после чего он готов к пайке на плату. После пайки акселерометр необходимо самым тщательным образом промыть средством для удаления флюса и грязи. При определённой сноровке пластиковые детали корпуса также можно очень сильно утонить, получив акселерометр почти крохотных размеров.

Жёсткость пружинки и сила прижима грузика окончательно доводятся после сборки и прошивки устройства по корректности развёртки изображения. При очень мягкой пружинке левая или правая сторона растра «сминается», при слишком жёсткой акселерометр перестаёт реагировать на взмахи, растр появляется не при каждом взмахе или не появляется вообще.

Номинал резисторов R1-R8 выбирается в соответствии цвета устанавливаемых светодиодов (точнее от заявленного напряжения их переходов). Для синих, белых, и ultra bright зелёных – 8-16 Ом, для красных, жёлтых и зелёных обычных – порядка 47-56Ом. Также хочу обратить ваше особое внимание на то, что микроконтроллер ATmega8A-AU по ряду его архитектурных особенностей в данной конструкции не применим. Устройство будет корректно работать только с МК ATmega8-16AU и ATmega8L-8AU.

Также напомню об обязательном соблюдении правил антистатической безопасности при работе с микроэлектроникой. После сборки и монтажа не забывайте тщательно мыть платы специализированными средствами для удаления флюса и грязи. Перед включением проверьте плату на наличие непропаев, обрывов и закороток. Готовую плату можно покрыть лаком, например «Цапонлак» или «Plastik». Следите, чтобы остатки паяльного материала и лак не попали в акселерометр.

Всем желаю удачи, хорошего настроения и побольше свободного времени!

Фузы, прошивка и плата(SL5.0) находятся в архиве.

Источник:
http://www.radiokot.ru/circuit/digital/game/27/

Тег ATmega8

Стробоскопическая открытка с POV-эффектом на ATmega8

В этой статье я хочу представить проект открытки с механической разверткой (похоже на часы Боба Блика, но здесь нужно махать рукой). Такая открытка отлично подойдет в роли подарка кому-нибудь либо её можно носить с собой как брелок. Подобные схемы отлично подходят для тех, кто только начал изучать микроконтроллеры и осваивать smd-монтаж.

Радиоуправление на ATmega8 и радиомодулях NRF24L01+PA+LNA. Передатчик

Данная система радиоуправления имеет 4 цифровых (дискретных) и 4 аналоговых каналов, что позволяет ее использовать для управления моделью любого типа: воздушной, наземной или водной. Кроме того, она имеет обратную связь, что особенно удобно при управлении воздушной или водной моделью (на дисплей пульта выводится информация о состоянии заряда батарей, уровне сигнала и температуре двигателя).

Цифровой люксметр (измеритель освещённости) своими руками

Цифровой люксметр разрабатывался и изготавливался как бюджетное демонстрационное устройство, имеющее при этом достаточно хорошие показатели качества. Прибор разработан на основе микроконтроллера Atmega8.

Радиоуправление на ATmega8 и радиомодулях NRF24L01+PA+LNA. Приемник

Данная система радиоуправления имеет 4 цифровых (дискретных) и 4 аналоговых каналов, что позволяет ее использовать для управления моделью любого типа: воздушной, наземной или водной. Кроме того, она имеет обратную связь, что особенно удобно при управлении воздушной или водной моделью (на дисплей пульта выводится информация о состоянии заряда батарей, уровне сигнала и температуре двигателя).

Тестер сигнала DMX-512 и двухканальный диммер

Простенький тестер для линии DMX-512 с отображением данных на канале и двухканальный димер на его основе.

Паяльная станция на ATmega8 и дисплее LPH8731-3C

Паяльная станция с поддержкой нескольких профилей, LCD дисплеем, звуковой индикацией завершения нагрева и режимом ожидания (сна). Устройство выполнено на микроконтроллере ATmega8 и LCD LPH8137-3C.

Низкочастотный DDS генератор на ATmega8

Данный прибор предназначен для генерирования сигналов треугольной, прямоугольной, синусоидальной и произвольной формы с частотой до 1,6 кГц. Устройство может найти применение при настройке звуковой аппаратуры.

Универсальная основа для контроллера с графическим интерфейсом на ATmega8 c OLED дисплеем

Рассмотренное устройство представляет собой несложную, компактную и относительно универсальную основу для контроллеров с самым разнообразным назначением. При незначительной доработке представленное устройство может стать уникальной и высокопроизводительной не избыточной микроконтроллерной схемой. При этом несомненное достоинство состоит в доступности компонентной базы и соответственно невысокой стоимости конечного изделия.

Читайте также  Из чего сделать коврик для виброплиты?

Люксметр на ATmega8 и цифровом датчике BH1750

Разработка люксметра на микроконтроллере ATmega 8, рассмотрена работа шины TWI и работа с дисплеем WH1602

Новогодняя елка на умных светодиодах

В статье описан процесс подключения RGB-светодиодов с интегрированной схемой управления WS2812B к микроконтроллеру ATmega8 на примере новогодней ёлки.

1999-2020 Сайт-ПАЯЛЬНИК ‘cxem.net’

При использовании материалов сайта, обязательна
ссылка на сайт ПАЯЛЬНИК и первоисточник

Источник:
http://cxem.net/tags/ATmega8/

Частотомер-тестер кварцев на atmega8

Частотомер — полезный прибор в лаборатории радиолюбителя (особенно, при отсутствии осциллографа). Кроме частотомера лично мне часто недоставало тестера кварцевых резонаторов — слишком много стало приходить брака из Китая. Не раз случалось такое, что собираешь устройство, программируешь микроконтроллер, записываешь фьюзы, чтобы он тактировался от внешнего кварца и всё — после записи фьюзов программатор перестаёт видеть МК. Причина — «битый» кварц, реже — «глючный» микроконтроллер (или заботливо перемаркированый китайцами с добавлением, например, буквы “А» на конце). И таких неисправных кварцев мне попадалось до 5% из партии. Кстати, достаточно известный китайский набор частотомера с тестером кварцев на PIC-микроконтроллере и светодиодном дисплее с Алиэкспресса мне категорически не понравился, т.к. часто вместо частоты показывал то ли погоду в Зимбабве, то ли частоты «неинтересных» гармоник (ну или это мне не повезло).

  • Подробнее о Частотомер-тестер кварцев на atmega8
  • Войдите или зарегистрируйтесь, чтобы отправлять комментарии

Тестер микросхем

Устройство предназначено для тестирования логических микросхем, операционных усилителей, оптопар, и некоторых других элементов. Из логических микросхем поддерживаются отечественные (серии 155, 555, 1531, 1533, 176, 561, 1561, 1564, 580, 589 и др.) и импортные (74ххх, 40ххx, 45xxx) ИМС ТТЛ и КМОП. Меню и результаты проверки отображаются на цветном дисплее 128х128. Так же тестер умеет проверять микросхемы DRAM, SRAM, считывать EPROM и показывать, есть ли в них записанные данные. Кроме того, прибор можно использовать при отладке различных цифровых устройств как интерфейс с 40 каналами ввода-вывода управляемыми по USB.

Тестер питается через miniUSB-порт, также через этот порт его можно подключить к компьютеру. Программное обеспечение позволяет разрабатывать, запускать и пошагово отлаживать тесты, считывать содержимое ПЗУ и обновлять прошивку устройства.

Программное обеспечение написано на Java и является кроссплатформенным (Windows, Linux, MacOS X).

  • Подробнее о Тестер микросхем
  • Войдите или зарегистрируйтесь, чтобы отправлять комментарии
  • English

Доработка питания 3D-принтера

3D-принтеры бывают разные, но электроника подавляющего большинства любительских аппаратов делается на основе связки плат Arduino + RAMPS, либо одной платы MKS Gen. В качестве блока питания обычно служит БП для светодиодных лент. Он служит источником для питания электроники, шаговых двигателей, нагревателя(лей) экструдеров и термостола. И тут возникает ряд проблем, связанных с тем, что импульсные помехи от БП + помехи, создаваемые ШИМ-контроллером нагревателя экструдера прилетают на управляющий микроконтроллер. В результате возможны сбои и перезагрузка программы, появление мусора на экране, а также большие ошибки при измерении температуры экструдера (что может приводить к тому, что управляющая программа не может стабилизировать температуру нагревателя экструдера).

Для решения этой проблемы схема питания принтера была доработана: питание цифровой части отделено от питания нагревателей и подаётся через двойные LC-фильтры, эфективно снижающие уровень шума ИБП. Для питания нагревателей была добавлена плата управления на мощных полевых транзисторах.

Доработка позволила полностью избавится от проблем с питанием — после исправлений температура экструдера стала нормально устанавливаться, исчезли перезагрузки и мусор с экрана.

  • Подробнее о Доработка питания 3D-принтера
  • Войдите или зарегистрируйтесь, чтобы отправлять комментарии

Цветной дисплейный модуль 128×128

Данный проект является результатом эволюции дисплейного модуля на LCD Nokia 5110 и МК ATMega8. Вместо монохромного дисплея 5110 используется цветной экран с диагональю 1.44″, разрешением 128х128 и возможностью отображать до 64K цветов, а в качестве управляющего микроконтроллера — ATMega328.

Источник:
http://trolsoft.ru/ru/sch

Конструкции на atmega8 своими руками

Это устройство задумывалось как маленький помощник тем, кто любит побродить по лесу — грибникам, лыжникам и другим любителям природы. Хотя в большинстве телефонов уже есть GPS, для работы навигации требуется подгрузка карт через интернет, что в глуши является проблемой. Не меньшей проблемой является короткое время работы смартфонов без подзарядки, что в один момент может оставить человека не только без навигации, но и без связи. Поэтому иметь отдельное навигационное устройство в таких случаях будет весьма полезно.

В интернете полно разных инструкций как собрать световой меч из «Звездных войн», которые сводятся к тому чтобы напихать в длинную трубку цветных светодиодов; имитируя, таким образом, лазерный луч. Но никто не идет дальше и не имитирует звуки этого самого луча. Возможно, сказывается отсутствие простой для повторения схемы, которая будет под силам новичку (ведь серьезные дядьки с опытом программирования не бегают с игрушечными лайтсайберами, правда?:)) Ну, как бы то ни было, сейчас исправим ситуацию.

Тут ко мне все чаще пользователи обращаются с жалобой на спам в личных сообщениях. Сначала были роботы, которые гадили спамом на форуме, после ужесточений правил при регистрации, их число поубавилось. Но те кто регистрируется в ручном режиме, их отсеить невозможно. Поэтому хочу всех уведомить, что к этим сообщениям я никакого отношения не имею, и прошу обо всех случаях сообщать мне через форму обратной связи. Пишите с какого аккаунта идет спам и я заблочу гада.

В портативных устройствах, как известно, важной составляющей является время автономной работы. Кому понравится пользоваться устройством, которое приходится очень часто заряжать? Поэтому к различным способам снижения энергопотребления полезно добавлять еще одну функцию — автоматическое отключение питания, которое поможет спасти заряд батареи если пользователь забыл отключить устройство. А для того чтобы это реализовать, нужно чтобы устройство включалось и выключалось от кнопки без фиксации. Мне как раз понадобилось реализовать подобное и испытав несколько схем найденных в интернете, остановился на самом интересном решении. Поэтому сейчас покажу, как можно включать и выключать устройство на микроконтроллере одной кнопкой без фиксации и реализацию такого алгоритма в Bascom-AVR.

Не так давно, ко мне обратились с просьбой собрать охранное устройство, которое включает в себя датчик движения и возможность передавать по радиоканалу сигнал об его срабатывании. У меня как раз имелась парочка радиомодулей HC-12, и датчик движения hc-SR501 поэтому решил помочь с изготовлением.

Прикупил на пробу парочку новых беспроводных модулей HC-12. Эти модули работают на частоте 433 МГц и, если верить описанию, работают на дистанции до 1,8 км. при максимальной мощности передатчика 100 мВт. Но самый смак в том, что они подключаются к устройству по стандартному протоколу UART, также присутствует поддержка AT-команд, для кое-каких настроек. И все это по 4$ за один модуль.

Тема такого устройства как минитерминал, поднималась на этом сайте уже пару раз: первая версия, вторая версия. И за время использования второй версии, устройство показало себя отличным помощником при отладке во многих проектах. Единственное чего иногда не хватало, это возможности отправлять в отлаживаемое устройство своих команд. Поэтому разобравшись с работой большого цветного дисплея на контроллере ILI9325, решил сделать новую версию минитерминала на нём. К тому-же на этом дисплее уже есть сенсорная панель, благодаря которой можно организовать все управление, а также набор текста, не прибегая к подключению внешней клавиатур ы.

Выполняя небольшой проект, столкнулся с необходимостью вести в устройстве подсчет количества пройденных суток. Время и дата брались с микросхемы DS1307, а сам период подсчета был небольшой (не больше 30 дней) и счетчик был организован на суммировании отработанных часов. Каждый час данные сохранялись в EEPROM на случай перебоя с питанием. И конечно же во время отсутствия питания часы не прибавлялись, что приводило бы к неточностям подсчета. В принципе все устраивало, так как питание устройства предусматривает наличие генератора, который запускается в течении пары минут. Но стало интересно как организовать программно расчет пройденного времени по разнице дат. Это сразу решило бы много проблем, в том числе и заморочки со стабильным питанием, да и ресурс EEPROM не безграничный. Результатом своей работы я и хочу сегодня поделиться с вами.

Читайте также  Универсальная делительная головка токарного и фрезерного станка: как ее сделать своими руками

Наконец-то заполучил в свои руки один интересный датчик-пирометр MLX90614. Это инфракрасный датчик, позволяющий определять температуру бесконтактным методом. Такой датчик позволяет практически моментально считывать температуру тела, измеряя инфракрасное излучение объекта. Сейчас познакомимся с ним поближе и разберем работу в Bascom-AVR.

Тут старый наш камрад и друг сайта pchela5 решил попробовать перейти на темную сторону силы и взяться за программирование контроллеров от Microchip, а в качестве подопытного пошла шестиногая крошка PIC10F200. Оказалось, что и для контроллеров семейства PIC есть вполне годные Basic-компиляторы. С одним из них нас сейчас и познакомит автор, за что ему большое спасибо, а также в качестве примера будет небольшой проект диммера с сенсорным управлением.

Источник:
http://avrproject.ru/

Страница ГребенюкА АА

Навигация сайта

Главное меню

Поиск по сайту

Частотомер на АТ90S2313

Виртуальный частотомер это «комплект» из программы для PC и простого измерительного прибора, который подключается к COM порту компьютера. Виртуальный прибор позволяет измерять частоту, период, временные интервалы и вести подсчет импульсов.

Подробности : http://home.skif.net/

Рекомендую собрать простая конструкция не требует настройки и главное работает! Микроконтроллер программировал программатором PonyProg -отличный программатор, простой, большая номенклатура программируемых микроконтроллеров, работает под Windows, интерфейс русский.

Журнал «Радио» N1 2002г. Для Ni-Cd аккумуляторов. Позволяет заряжать 4 аккумулятора.

Технические характеристики частотомера:

— максимальная измеряемая частота. 30 МГц;

— максимальное разрешение измеряемой частоты .. .10 Гц.

— чувствительность по входу. 250 мВ;

— напряжение питания. 8. 12 В:

— потребляемый ток . 35 мА

Паяльная станция на Atmega 8

Схема (для полноформатной схемы сохраните изображение себе на компьютер).

Переключение паяльника и фена осуществляется переключателями ПК. Управление феном осуществляется тиристором, т.к. фен на 110в вместо R1 диод катодом к в.6.

Цифровой измеритель емкости без выпайки из схемы

Описание дано в журнале «Радио» №6 2009 г. Конструкция собрана на AT90S2313, без изменений в прошивке применил Tiny2313. В Поньке выставил галки для SUT1, CKSEL1, CKSEL0, остальные пустые. MAХ631 не ставил, она что то у нас дорогая, решил запитать от блока питания через стабилизатор 7805, R29, R32 , R33 посадил на плюс питания. Кроме измерителя емкости в корпусе смонтирован пробник, для проверки транзисторов без выпайки и генератор НЧ ВЧ сигналов.

Измеритель параметров полупроводниковых приборов на ATmega8

— определять выводы полупроводников;
— определять тип и структуру;
— измерять статические парамеры.
Измеряет диоды, биполярные транзисторы,полевые транзисторы JFET и MOS, резисторы, конденсаторы.

Измеритель выполнен в одном корпусе с измерителем FCL, индикатор переключается между приборами переключателем ПК.

Частотометр, измеритель ёмкости и индуктивности — FCL-meter

Описываемый ниже прибор позволяет в широких пределах измерять частоты электрических колебаний, а также ёмкость и индуктивность электронных компонентов с высокой точностью. Конструкция обладает минимальными размерами, массой и энергопотреблением.

Напряжение питания, В: 6…15

Ток потребления, мА: 14…17

L 0,001 мкГн…5 Гн

Схема выносной головки

Миниатюрный вольтметр на микроконтроллере ATmega8L

Здесь рассматривается конструкция вольтметра на одном лишь микроконтроллере ATmega8L и индикаторе от электронного медицинского термометра. Диапазон измеряемых напряжений постоянного тока ±50 В. Как дополнительная функция – реализован режим звукового пробника для проверки целостности проводов, ламп накаливания. Устройство автоматически переходит в дежурный режим при отсутствии измерений. Питание микроконтрллера осуществляется от двух миниатюрных щелочных элементов (элементы питания для наручных часов), я поставил 1 элемент на 3в. Необходимости часто менять элементы питания не будет: потребляемый ток в активном режиме составляет всего 330 мкА, в дежурном режиме – менее 300 нА. Благодаря своей миниатюрной конструкции и возможностям устройство полезно и практично. В корпус от термометра не влезла у меня плата, и я сделал в корпусе от фламастера. Плату делал свою, резисторы R5-R7 установил ветикально на шинах. Прошивку из исходника помог сделать VADZZ спасибо ему. Выводы индикатора с лево на право, выводы внизу и лицом к себе.

Схема (для полноформатной схемы сохраните изображение себе на компьютер).

ЗУ с функцией измерения емкости

Захотелось померять емкость аккумуляторов, импортные измерители достаточно дорого стоят, нашел интересную схему и собрал. Работает нормально, заряжает, измеряет, но с какой точностью затрудняюсь сказать — нет эталона. Мерял аккумуляторы довольно приличных фирм 2700 ма/ч — намерял 2000. Аккумуляторы от игрушек 700 ма/ч -350, заказывал на EBAY китайские аккумуляторы BTY 2500 ма/ч — 450 ма/ч, но при этом достаточно приличные, неплохо работают в игрушках, гораздо выгоднее батареек.

Устройство предназначено для зарядки NiMH аккумуляторов и контроля их емкости. Переключение режимов заряд/разряд осуществляется кнопкой SА1. Режим работы отображается с помощью светодиодов и десятичными точками двух первых разрядов семисегментного индикатора.
Сразу после включения питания устройство переходит в режим заряд. На индикаторе отображается время заряда. После истечения запрограммированного промежутка времени заряд прекращается. Об окончании заряда (и разряда то же) свидетельствует зажженная точка четвертого разряда. Ток заряда определяется как С/10 где С — емкость батареи, выставляется подстроечником R14.
Принцип действия измерителя основан на подсчете времени за которое напряжение аккумулятора снизится до1,1 В. Ток разряда должен быть равен 450 ма, выставляется R16. Для того чтобы измерить емкость, надо вставить аккумулятор в отсек для разряда и запустить процесс нажатием на кнопку! Устройство способно разряжать только один аккумулятор .

Универсальная печь радиолюбителя

Печка для пайки SMD деталей, имеет 4 программируемых режима.

Схема блока управления (для полноформатной схемы сохраните изображение себе на компьютер).

Блок питания и управление нагревателем

Собрал данную конструкцию для управления ИК паяльной станцией. Может когда нибудь и печкой управлять буду. Была проблема с запуском генератора, поставил конденсаторы 22 пф с выводов 7, 8 на массу, и стала нормально запускаться. Все режимы нормально отрабатывает, нагружал 250 вт керамическим нагревателем.

Подробнее: http://radiokot.ru/lab/hardwork/11/

Пока печки нет, сделал вот такой нижний подогрев, для небольших плат:

Нагреватель 250 вт, диаметр 12 см , прислали из Англии, покупал на EBAY.

Цифровая паяльная станция на PIC16F88x/PIC16F87x(a)

Паяльная станция с двумя одновременно действующими паяльником и феном. Можно использовать разные МК (PIC16F886/PIC16F887, PIC16F876/PIC16F877, PIC16F876a/PIC16F877a). Применен дисплей от Nokia 1100 (1110). Обороты турбины фена регулируются электронно, так же задействован встроенный в фен геркон. В авторском варианте применен импульсный блок питания, я применил трансформаторный БП. Всем мне нравится эта станция, но с моим паяльником: 60вт, 24в, с керамическим нагревателем, большое забегание и колебание температуры. При этом паяльники меньшей мощности, с нихромовым нагревателем имеют меньшие колебания. При этом мой паяльник, с описаной выше паяльной станцией от Михи-Псков, с прошивкой от Volu, поддерживает температуру с точность до градуса. Так что нужнен хороший алгоритм нагрева и поддержания температуры. В качестве эксперемента сделал ШИМ регулятор на таймере, управляющее напряжение подал с выхода усилителя термопары, отключение, включение от микроконтроллера, Колебание температуры сразу уменьшилось до нескольких градусов, это подтверждает что нужен правильный алгоритм управления. Внешний ШИМ это конечно порнография при наличии микроконтроллера, но хорошую прошивку пока не написали. Заказал другой паяльник если с ним не будет хорошей стабилизации, продолжу свои эксперементы с внешним ШИМ управлением, а может хорошая прошивка появится. Станцию собрал на 4 платах, соединяются между собой на разъемах.

Схема цифровой части устройсква представлена на рисунке, для наглядности показаны два МК: IC1 — PIC16F887, IC1(*) — PIC16F876. Другие МК подключаются аналогично, на соответствующие порты.

Для изменения контрасности нужно найти 67 байт, его значение «0х80» , для начала можно поставить «0х90». Значения должны быть от «0х80» до «0х9F».

По поводу дисплея 1110i (текст отображается зеркально), если не китай, а оригинал,открываем ЕЕПРОМ, ищем 75 байт, меняем его с A0 на A1.

Источник:
http://xn—-8sbabjmb4b0a0a2n.xn--p1ai/index.php/radioelectr/10-microcontrol/11-microcntrsxem?showall=1&limitstart=