Универсальный внешний накопитель для всех iOS-устройств, совместим с PC/Mac, Android
Header Banner
8 800 100 5771 | +7 495 540 4266
c 9:00 до 24:00 пн-пт | c 10:00 до 18:00 сб
0 Comments

DDS генератор на ATmega16 – Микроконтроллеры и Технологии

  1. Главная|
  2. Устройства|
  3. AVR
Просмотров: 79601

DDS Генератор HD44780 ATmega16

В этой статье рассматривается схемотехническое решение, устройство и конструкция DDS генератора (генератор с прямым цифровым синтезом формы сигнала) на микроконтроллере ATmega16 фирмы Atmel. В приборе, кроме синтеза сигнала различной формы и частоты, реализуется возможность регулировки амплитуды и смещения выходного сигнала.

Основные характеристики прибора:

– простое схемотехническое решение, доступные компоненты;
– односторонняя печатная плата;
– сетевой источник питания;
– специализированный выход частоты от 1 МГц до 8 МГц;
– DDS выход с регулировкой амплитуды и смещения;
– форма выходного DDS сигнала: синусоида, прямоугольные импульсы, пилообразные импульсы, треугольные импульсы, ЭКГ, шум;
– для отображения текущих параметров используется двухстрочный ЖК дисплей;
– пятикнопочная клавиатура;
– шаг перестройки частоты: 1, 10, 10, 1000, 10000 Гц;
– восстановление последней конфигурации при включении;
– регулировка смещения: –5 В … +5 В;
– регулировка амплитуды: 0 … 10 В;
– регулировка частоты: 0 … 65534 Гц.

За основу прибора, а точнее алгоритм работы микроконтроллера, была взята разработка DDS генератора Jesper Hansen. Предложенный алгоритм был немного переработан и адаптирован под компилятор WinAVR-GCC

Сигнальный генератор имеет два выхода: выход DDS сигнала и выход высокочастотного сигнала (1 – 8 МГц) прямоугольной формы, который может использоваться для «оживления» микроконтроллеров с неправильными установками Fuse-битов или для других целей.

Высокочастотный сигнал поступает непосредственно с микроконтроллера, с вывода OC1A (PD5). DDS сигнал формируется микроконтроллером с использованием цепочки резисторов R2R (ЦАП), регулировка смещения и амплитуды возможна благодаря использованию низкопотребляющего операционного усилителя LM358N.

Блок-схема DDS генератора

Как видно, для питания устройства необходимо три напряжения: +5 В, +12 В, –12 В. Напряжения +12 В и –12 В используются для аналоговой части устройства на операционном усилителе для регулировки смещения и амплитуды.

Принципиальная схема источника питания.

В источнике питания используются стабилизаторы напряжения LM7812, LM7805, LM7912 (стабилизатор отрицательного напряжения –12 В).

Принципиальная схема прибора

Рисунок печатной платы

Вид со стороны установки элементов

Внешний вид платы с установленными компонентами

Список использованных элементов

Обозначение
в схеме
Номинал
R1 470 Ом
R2, R6, R8, R10,
R12, R14, R16, R18
10 кОм
R3, R21 100 кОм
R4, R5, R7, R9, R11,
R13, R15, R17, R19
20 кОм
R20 100 Ом
R22 12 кОм
R23 150 Ом
POT1 Потенциометр 1 кОм
POT2 Потенциометр 47 кОм
POT3 Пдстроечный резистор 10 кОм
C1, С2 100 нФ
C3, С4 18 пФ
Q1 Кварцевый резонатор 16 МГц
IC1 Микроконтроллер Atmel ATMEGA16P
IC2 Операционный усилитель LM358N
BNC1 – BNC2 Коннектор типа BNC
S1 – S6 Кнопки
LCD Header 16-выводный коннектор
для подключения дисплея
LCD Module ЖК модуль на базе контроллера HD44780
ISP Коннектор 2×3 для внутрисхемного
программирования
POWER Коннектор для подключения питания
LED1 Светодиод зеленого цвета свечения, 3 мм
ON/OFF Миниатюрный выключатель

Изменения в программном обеспечении микроконтроллера

Изменения в исходном коде связаны лишь с назначением кнопок подключенных к порту D микроконтроллера:

1. Кнопки «влево» и «вправо»

#define LEFT 3 //PORTD 
#define RIGHT 1 //PORTD 

2.Кнопки «вниз» и «вверх»

#define DOWN 4 //PORTD 
#define UP 0 //PORTD 

Кроме того для последних версий компилятора AVR-GCC необходимо внести изменения в следующие строчки кода:

struct signal{
  volatile uint8_t mode;  //signal
  volatile uint8_t fr1;   //Frequency [0..7]
  volatile uint8_t fr2;   //Frequency [8..15]
  volatile uint8_t fr3;   //Frequency [16..31]
  volatile uint32_t freq; //frequency value
  volatile uint8_t flag;  //if 0 generator is OFF, 1 is ON
  volatile uint32_t acc;  //accumulator
  volatile uint8_t ON;
  volatile uint8_t HSfreq;     //high speed frequency [1...4Mhz]
  volatile uint32_t deltafreq; //frequency step value
}SG;

Fuse-биты микроконтроллера ATmega16: HIGH = 0×59, LOW = 0×CF – это соответствует тому, что будут запрограммированы следующие биты: OCDEN, SPIEN, BOOTSZ1, BOOTSZ2, SUT1, SUT0.


Архив для статьи “DDS генератор на ATmega16”
Описание: Исходный проект AVR GCC, схема и плата в формате Eagle
Размер файла: 168.74 KB Количество загрузок: 5 108 Скачать

Понравилась статья? Поделиться с друзьями:

  • Назад
  • Вперед

Генератор сигналов ATmega16

Генератор сигналов ATmega16 Путь: Главная => AVR-RU => Приложения => Генератор сигналов Diese Seite на немецком языке:
Приложения AVR

Генератор синусоидальных/треугольных/прямоугольных/пилообразных сигналов с ATmega16
Оборудование, монтаж, использование и программное обеспечение для генератора сигналов

  1. Характеристики
  2. Оборудование
  3. Крепление
  4. Программное обеспечение
Эти страницы в формате PDF (62 страницы, 2,2 МБ). Аппаратные свойства этого генератора сигналов:
  • Генерирует синусоидальные, треугольные, пилообразные или прямоугольные волны в звуковой диапазон от 2,0 Гц до 20 кГц,
  • Четыре выбираемых диапазона частот:
    1. от 2 до 20 Гц,
    2. от 20 до 200 Гц,
    3. от 200 до 2000 Гц,
    4. от 2 000 до 20 000 Гц,
  • Линейная регулировка частоты с помощью потенциометра путем расчета коэффициент делителя (с умножением 8 на 16 бит позиции и деление 32 на 24 бита от тактовой частоты),
  • Генерация частоты до 2500 Гц за 256 одиночных шагов и 1 на 1 копия значений R / 2R-8-Bit-DAC выше 2,500 Гц в 2/4/8 раз умножение частоты с уменьшенным разрешением,
  • Фильтрация синусоидальных гармоник в двух каскадах RC с 16-ступенчатым переключением конденсаторы, поэтому очень высокое затухание гармоник по всему диапазон частот,
  • Генерация частоты, полученная от генератора xtal с делителем и точным расчет частоты,
  • ЖК-дисплей 1 на 8 для отображения формы сигнала и частоты,
  • Аналоговый и цифровой сигнальный выход с 3 Vpp = 1 Veff,
  • Цифро-аналоговый преобразователь с быстрой и недорогой резисторной сетью R/2R, поэтому питание только от простого источника 5 В, без отрицательного питания требуемое напряжение,
  • Работает со стандартными компонентами, никаких специальных схем, кроме ATmega16,
  • программируется в системе со стандартным интерфейсом ISP6,
  • 9Программное обеспечение 0017 свободно доступно с исходным кодом на ассемблере для скачивания, обширно задокументирован, может быть изменен в соответствии с собственными потребностями.
Начало страницы Особенности Оборудование Крепление Программное обеспечение

2.1 Контроллер и обработка сигналов

Это обеспечивает обзор всех внешних компонентов, которые подключены к контроллеру.

Источники ввода

  • потенциометр для регулировки частоты (использует канал АЦП),
  • четыре переключателя для выбора формы сигнала и диапазона частот, а
  • интерфейс программирования ISP.
Выходные данные через порты контроллера следующие:
  • 8-битный ЦАП (с программным управлением разрешением),
  • 4-битное управление аналоговыми переключателями для выбора конденсатора два фильтра RC и
  • двунаправленный 8-битный порт данных и три контакта управления ЖК.

2.2 Схема

Это полная схема со всеми компонентами.

ЖК-дисплей подключается через стандартный 16-контактный разъем, поэтому его можно подключить в сверху. Шина данных шириной 8 бит подключена к порту C. Биты управления подключены к порту А (биты 5, 6 и 7). Электрический ток для подсветки можно питаться от стабилизированного источника питания 5 В или от нерегулируемое напряжение 9 или 12 В источника питания. Резистор может быть рассчитывается по формуле

R LCD-LED = (U средний – 4,1) / I LCD-LED (мА) * 1000

(при 9 В и 150 мА сопротивление составляет, например, 33 Ом).

Потенциометр 100k для регулировки частоты подключен к Контакт ADC0/PA0. Внутренний АЦП питается через дроссель 22 мкГн. и керамический конденсатор. Опорное напряжение АЦП находится внутри подключен к источнику питания АЦП и заблокирован на выводе AREF конденсатором.

Переключатели S1 и S2 для частотного диапазона и S3 и S4 для формы волны подключены к портам PA1 до PA4. Все входные контакты переключателя внутренне соединены с подтягивающим резистором и имеют высокий потенциал когда переключатель разомкнут.

Цифро-аналоговый преобразователь R/2R состоит из девяти резисторов номиналом 2k20. и восемь 1к10 (1% металопленка) на порт D. Выход ЦАП подключен по 10к к первому аналоговому свитчу 4066 и через другой 10к до второго аналогового коммутатора. Оба переключателя управляют конденсаторами 470 пФ, 1 нФ, 10 нФ и 100 нФ и добавляет их к сеть РК. Подключаемые конденсаторы контролируются контакты порта с PB0 по PB4.

Отфильтрованный RC-сигнал подключается к положительному входному контакту Операционный усилитель FET CA3140, его отрицательный вход соединен с выходной сигнал (усиление = 1). Это буферизирует сигнал с амплитудой 3 Vpp соотв. 1,0 Вэфф и обеспечивает его напрямую или через электролитический конденсатор к выходному разъему.

ATmega16 работает на частоте 16 МГц xtal и двух 18 пФ конденсаторы на входе XTAL1 и выходе XTAL2.

На контактах порта с PB5 по PB7, а также на контакте Reset (через 10k на плюс) подключен стандартный разъем для программирования ISP6, с помощью которого ATmega16 можно запрограммировать в системе.

2.3 ЖК-интерфейс

Распространенные ЖК-дисплеи с 14 (без подсветки) или 16 контактами (с подсветкой). светодиоды) можно подключить непосредственно к 16-контактному разъему на печатной плате. Если ЖК-дисплей 14-контактный, вам не нужен резистор и 15-контактный. и 16 не связаны.

Если используется ЖК-дисплей типа DIP081, который имеет более крупные символы, чем стандартные ЖК-дисплеи, взаимодействие с разным расстоянием контактов необходимый. Необходимы следующие изменения:

  • Размер штифта DIP081 составляет 2 мм, а не 2,54 мм. Этот ЖК-дисплей имеет 18 (2 на 9) вместо обычного 16-контактного штекера.
  • Площадь поверхности DIP081 немного больше из-за больший размер символов. Непосредственное размещение этого ЖК-дисплея на печатной плате потребовалось бы больше места на печатной плате.
  • Для работы с DIP081, а также с другими ЖК-дисплеями полезно соединить DIP081 с адаптером, который может располагаться поверх штекера.
Это схема интерфейса.

Для подсветки DIP081 можно выбрать два варианта:

  1. Работа с током 150 мА через светодиоды (как указано в техпаспорте), или
  2. работа с 60 мА (опция экономии тока).
В обоих случаях имеет смысл использовать источник подсветки напрямую. от выпрямленного переменного тока источника питания, поскольку для этого не требуется постоянное напряжение. В этом случае необходим небольшой регулятор 78L05. для питания контроллера и его периферийных устройств. Избыточное тепло есть затем несет резистор, а не регулятор. В 9В и 150 мА тепло 735 мВт, при 60 мА 294 мВт. Используйте это для определения размеров резистора.

При 9 В и 60 мА требуется резистор 82 Ом, который должны быть рассчитаны на тепловую мощность 400 мВт (например, стандартная металлическая пленка). Если используется вариант 2, резистор 15 Ом необходимый.

2.4 Блок питания

Конструкция блока питания во многом зависит от выбранного ток подсветки. Без подсветки трансформатор с менее чем Можно использовать 1 ВА или работу от батареи. С повышенным течением для подсветки (например, для DIP081) можно выбрать два варианта:
  1. ток, как указано, с 150 мА для подсветка: необходим трансформатор 3,6 ВА или
  2. половинный ток с 60 или 70 мА: 1,2 ВА требуется.
2.4.1 Опция 3,6 ВА
Это сильноточный вариант 3,6 ВА, который может обеспечить подсветка постоянным током 150 мА. Поставки регулятора контроллер и его периферийные устройства.

Это напряжения и токи при нагрузке 170 мА. (имитируется с это программное обеспечение). Среднее напряжение на электролитическом конденсаторе составляет 12 В. Следовательно, токоограничивающий резистор должен быть

R = (12 – 4,1) / 0,15 = 53 Ом
(практически E12: 56 или 47 Ом; E48: 53,6 Ом)

Резистор должен иметь мощность нагрузки 2 Вт.

Это напряжения без нагрузки. Напряжение на конденсаторе превышает 16 В, и должны использоваться конденсаторы на 25 или 35 В.

2.4.2 Опция 1,2 ВА
Это блок питания с уменьшенным током светодиода.

Это напряжения и токи при нагрузке 100 мА. При среднем напряжении чуть выше 9 В ограничение тока резистор должен быть

при 60 мА: R = (9 – 4,1) / 0,06 = 82 Ом
при P = (9 – 4,1) * 0,06 = 294 мВт
при 80 мА: R = (9 – 4,1) / 0,08 = 61 Ом
при P = (9 – 4,1) * 0,08 = 392 мВт

Из-за более высокого сопротивления катушек трансформатора напряжение ток без нагрузки даже выше, чем в случае 3,6 ВА. При выборе конденсаторов необходимо учитывать, что во избежание превышения пределы спецификации.
К началу страницы Особенности Оборудование Крепление Программное обеспечение

3.1 Компоновка печатной платы и размещение компонентов

3.1.1 Контроллер и обработка сигналов
Это фотомаска для печатной платы размером 80 на 80 мм.

Соответствующее размещение компонентов находится здесь:

Все мосты изготовлены из эмалированной меди, пригодной для пайки. провода во избежание короткого замыкания.

3.1.2 ЖК-интерфейс Вот макет платы интерфейса DIP081.

Обратите внимание на более чем необычную нумерацию контактов DIP081 и два не соединенных контакта.

Обратите внимание, что 16-контактный разъем припаян вверх ногами. чтобы поместиться в гнездовой контактный разъем на печатной плате.

3.2 Изображения

Это все компоненты, размещенные на печатной плате. Внешние соединения для потенциометра, четыре переключателя, а также аудио и цифровой выходы, а также блок питания представляют собой штырьки под пайку 1 мм.

Трансформатор 1,2 ВА и 78L05 смонтированы на матричная доска.

3.3 Коробка

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

Все помещается в красивую маленькую пластиковую коробку с отверстием для встроенный ЖК-дисплей и с переключателями и разъемами типа «тюльпан».

Начало страницы Особенности Оборудование Крепление Программное обеспечение

4.1 Предохранители ATmega16

Для правильной работы необходимо заменить предохранители ATmega16. При работе с частотой 1 МГц по умолчанию предохранитель для часов должен быть заменены, и предохранитель JTAGEN. Слева предохранители по умолчанию видны, справа требуемые изменения.

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

4.2 Обзор программного обеспечения

Программное обеспечение подразделяется на три соответствующих функциональных блока:
  1. определение значения потенциометра и четыре переключения с последующим расчетом следующего параметра набор,
  2. принятие следующего набора параметров во время следующего пересечение нуля генерируемой волны и
  3. частотный выход.
4.2.1 Определение значений потенциометра и переключателей
Чтение значений потенциометра инициируется АЦП. прерывать.

Таймер TC0 запускает преобразования AD. С предделителем 1024 и значение сравнения A 243, с которого начинается преобразование AD 64,04 Гц соотв. время повторения 15,6 мс. сравнение совпадений инициирует преобразование AD и очищает флаг T чтобы предотвратить чтение результатов во время текущих преобразований.

По завершении через 128*13=104 мкс преобразование AD Прерывание по готовности устанавливает флаг T в регистре состояния. Этот удерживает время задержки этим прерыванием чрезвычайно коротким, чтобы не мешать быстрой генерации частоты с соответствующими задержками.

Вне процедуры обслуживания прерывания результат преобразования AD считывается, и 16 из этих измерений суммируются. После всего Проведено 16 измерений (примерно каждые 250 мс) считываются положения переключателя диапазона частот курса и желаемая частота вычисляется 8-на-16 бит умножение. Отсюда следующее значение CTC для частоты генерация с TC1 рассчитывается делением 32 на 24 бита. Если выбрана синусоида, необходимый конденсатор выводится от значения потенциометра и диапазона частот.

В зависимости от переключателей и частоты 2500 Гц или выше, результирующая форма волны (пилообразная, синусоидальная, треугольная или прямоугольник с одной, двумя, четырьмя или восемью волнами за цикл) определенный. Если эта форма кривой отличается от предыдущей используется форма бит флага bSetR2R установлен. Если желаемый частота изменяется, устанавливается бит флага bSetCtc . Дальше обработка этих флагов откладывается до тех пор, пока бит флага bStart сигнализирует о пересечении нуля сгенерированной волны. Пока эта передача не начнется, значения хранятся в SRAM.

4.2.2 Пересечение нуля и перенос сохраненных значений
Если при выводе частоты достигнут 256-й шаг, флаг bStart установлен и пересечение нуля формы волны произойдет на следующем шаге. Вне службы прерывания обычно этот флаг проверяется. Это позволяет синхронизировать изменений параметров в процессе генерации частоты.

Если bStart сигнализирует о пересечении нуля флагом bSetR2R консультируется. В этом случае таблица формы кривой в флэш-память копируется в SRAM. Согласно частотные параметры либо

  1. по отдельности или
  2. каждую секунду или
  3. каждый четвертый или
  4. каждый восьмой
копируется табличное значение из флэш-таблицы. Во втором к копирование четвертого случая начинается с начала, если оригинал заканчивается, так что несколько волн записываются в таблицу SRAM.

После передачи значений или если бит флага bSetCtc значение CTC TC1 устанавливается в соответствии с сохраненным значением. С этого момента выводится новая частота. Оба флага очищается, и новые параметры перезаписывают предыдущие.

Из значений CTC и десятичного числа, зависящего от частоты. цифр отображаемая частота рассчитывается с помощью Разделение 40 на 16 бит. Результат оформляется десятичной дробью. точка и с разделителем тысяч и отображаются на ЖК-дисплее, вместе с характером формы волны .

4.2.3 Частотный выход
Выход производится таймером TC1, который работает в режим PWM-CTC и, по прерыванию сравнения соответствия A, считывает следующая запись волновой таблицы считывается из SRAM и записывается в порт, к которому подключен ЦАП.

В зависимости от установленной частоты TC1 производит прерывание запрос на сравнение соответствия A между 512 и 640 000 раз за во-вторых, потому что значения сравнения варьируются от 31 249 до 25. Следующее табличное значение для генерации частоты считывается из таблица в SRAM и записывается в порт DAC. Если последний значение таблицы было прочитано, установлен флаг bStart и таблица начинается сначала.

4.3 Описание и подробности программного обеспечения

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

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

Начало страницы Особенности Оборудование Крепление Программное обеспечение

5 Моделирование приложений

Вот две смоделированные кривые:

Синусоидальная кривая с частотой 2 кГц и разрешением 256 шагов на цикл, без прилагаемых RC-фильтров.

А вот и пила на 5кГц с 64шагами на цикл.

Оба выглядят нормально.

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

©2018 http://www.avr-asm-tutorial.net

Атмега16 | Хакадей

25 февраля 2020 г. Дженни Лист

Лучше всего забыть: мой ужасный генератор функций 2018 года.

Всю жизнь, когда я собирал случайные образцы испытательного оборудования, у меня в арсенале образовалась брешь, а именно то, что у меня нет генератора низкочастотных функций. С этим можно было бы легко справиться, если бы не два момента. Я люблю исследовать более дешевую часть экспортируемой электроники, и моя потребность в функциональном генераторе меньше, чем мое желание тратить значительные деньги. В прошлом я пытался сбалансировать эти конкурирующие силы, взяв поразительно дешевый инструмент; в тот раз я оказался с лимоном, но ударит ли молния дважды в одно и то же место? Я потратил 10 фунтов (13 долларов) на другой дешевый генератор функций и отправился выяснять. Читать далее «Обзор: безымянный китайский генератор функций DDS» →

Posted in ReviewsTagged atmega16, dds, генератор функций

23 ноября 2013 г., Джеймс Хобсон

[Мартин Стромер] сделал эти великолепно выглядящие часы с жестким диском около 12 лет назад и, наконец, решил поделиться ими со всем миром. С тех пор “тикает”.

Это красивые часы, и если вы думаете, что диск может выглядеть немного странно, это, вероятно, потому, что ему больше 20 лет! Мы не слишком уверены в емкости, но она не могла быть больше нескольких десятков мегабайт.

Чтобы узнать время, диск поворачивается на 30 градусов за час. Головка чтения-записи перемещается по диску, чтобы отображать минуты. Каждая из черных линий представляет собой четверть часа. Все это контролируется ATMega16, который поддерживает почти все оригинальное оборудование. В блоге есть отличная статья о том, как все это работает.

Мы упоминали, что также легко установить время? Просто поверните диск рукой и вставьте головку чтения-записи на место, а затем нажмите кнопку сброса. Проверьте часы в действии после перерыва.

Продолжить чтение «Часы жесткого диска ATMega16» →

Posted in Часы хакиTagged atmega16, часы на жестком диске

21 октября 2013 г. Брайан Бенчофф

Совершенство достигается не тогда, когда больше нечего добавить, а тогда, когда нечего ломать. Судя по этому показателю, трехчиповый домашний компьютер 6502 [Стиана] является воплощением совершенства. Это настоящий работающий самодельный ретрокомпьютер, использующий всего три микросхемы: центральный процессор, немного оперативной памяти и микроконтроллер для начальной загрузки компьютера и обеспечения вывода видео.0012

Ключом к этой минималистичной сборке является то, что весь процесс загрузки контролируется микроконтроллером ATMega16. Он взаимодействует с 6502 через двухпортовую SRAM, Cypress CY7C130 объемом 1 килобайт. Эта двухпортовая оперативная память позволяет ЦП и микроконтроллеру получать доступ к одному и тому же биту памяти, что упрощает загрузку компьютера из фрагмента кода AVR.

Выход обеспечивается с помощью генератора видеотекста ATMega [Stian] , который передает 37 × 17 символов на любой телевизор с разъемом RCA. Хотя ввод еще не обработан, [Стиан] говорит, что это должно быть возможно с его клавиатурой AVR PS/2.

В то время как другие домашние компьютеры 6502, такие как [Quinn Dunki] Veronica, могут достигать беспрецедентных высот сложности, можно многое сказать о минимализме трехчипового компьютера [Stian]. При грамотном кодировании и измененном списке деталей вполне возможно дать ретрокомпьютер в руки каждому с минимальными затратами и комплектующими.

Posted in МикроконтроллерыTagged 6502, atmega16, AVR, доморощенный, доморощенный компьютер, ретрокомпьютер

17 августа 2013 г., Майк Щис

Это грубо выглядящее приспособление представляет собой скейтборд, управляемый жестами рук, который [Адитья] построил из подручных деталей. Пока датчик жестов рук подключен проводом управления, но он надеется перейти на радиочастотный блок в какой-то момент в будущем.

Наличие доступа к паре бесколлекторных двигателей с высоким крутящим моментом привлекло его к проекту. Он связался с парой своих друзей-механиков, чтобы они помогли собрать шасси, а затем занялся электроникой. Плата для ATmega16 установлена ​​в углу деки. Он контролирует акселерометр, который действует как рулевое управление, а также дроссель. В предыдущем проекте акселерометром злоупотребляли, поэтому ему пришлось добавить дополнительный переключатель, чтобы усилить его доступные входы. Мы были рады услышать, что он также включил аварийный выключатель, поскольку передача управления этими двигателями в руки поврежденного акселерометра немного схематична.

Мы помним, что видели похожий трайк несколько лет назад. Тот приводил в движение одно заднее колесо, а этот приводил в движение два колеса и использовал ролик для третьего.

Posted in Transportation HacksTagged акселерометр, atmega16, скейтборд

3 апреля 2013 г. Майк Щис

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

Проект был создан как часть курса по встроенным интернет-системам, который посещает [Эндрю]. На плате установлен микроконтроллер ATmega16, и он использует когда-либо популярный ENC28J60 на этой плате адаптера Ethernet. Стек TuxGraphics TCP/IP обеспечивает связь с сетью.

Одно ограничение, которое [Эндрю] наложил на себя, заключалось в том, чтобы использовать только один ответ, размер доступной оперативной памяти которого ограничен примерно  700 байтами. Любая приличная веб-страница должна иметь хотя бы немного графики, но это сложно из-за ограничений по размеру. Ему удалось отобразить логотип AVR, оптимизировав SVG в Inkscape, а затем убрав все остальное с помощью VIM (объяснено в демо после перерыва). С этим кусочком линукс-фу в кармане он принялся за оптимизацию файла CSS. Веб-страница не просто статична. Он отображает время работы сервера и даже позволяет управлять реле и светодиодами на плате Olimex.

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

Продолжить чтение «Встроенный веб-сервер — это умное форматирование» →

Posted in МикроконтроллерыTagged atmega16, AVR, enc28j60, olimex, server

28 июня 2012 г., Майк Щис

Последнее творение [Ачу Уилсона] — это доска сообщений VGA, на которую записываются текстовые SMS-сообщения. Сначала это звучит не слишком интересно, пока вы не узнаете, что он делает это с микроконтроллером, а не с ПК. Вся сложность заключается в коде, управляющем VGA. Ему удалось сделать это без какого-либо дрожания при использовании 8-битного микроконтроллера.

Но сначала сотовая связь. GSM-модем позаботится о подключении. Для связи с модемом [Ачу] использовал ATmega8. Он упоминает, что мог бы использовать uC гораздо меньшего размера, например ATtiny, но это то, что у него завалялось. Когда сообщение получено, ATmega8 передает символы на ATmega16, который управляет VGA-монитором. Вместо того, чтобы иметь дело с аналоговыми напряжениями, необходимыми для работы цветного дисплея, он просто объединил три цветные линии вместе и подает их на один из выводов микроконтроллера. Это приводит к белому и черному, которые соответствуют напряжению или отсутствию напряжения.

Вы можете увидеть, как он хвастается системой в ролике после перерыва.

Продолжить чтение «Доска сообщений VGA отображает SMS без компьютера» →

Опубликовано в Взломы мобильных телефонов, Видео хакипомеченный atmega16, atmega8, gsm, sms, текстовое сообщение, vga

9 марта 2012 г. Майк Натан

[Раду Мотисан] написал, чтобы поделиться классным проектом, над которым он работал в последнее время, импульсным аппаратом для микроточечной сварки/резки.

Устройство способно точечно сваривать тонкие металлы, такие как фольга и клеммы аккумуляторов, посылая пару импульсов сильного тока между двумя электродами всякий раз, когда [Раду] нажимает кнопку запуска. Режущая часть его устройства использует тот же общий механизм, хотя для выполнения работы требуется гораздо большее количество импульсов.

Процесс сварки/резки контролируется ATMega16, в задачи которого также входит прием данных от пользователя и отображение информации на ЖК-панели.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *