Необходим совет по работе с AVR и proteus

Есть следующая задача — нужен коммутатор UART (1 ком порт раскидать на 11 портов).
Использую Atmega16 + max232 (1 на входе и 6 на выходе).
Выбрал atmega16 потому, что необходимо 24 пина под I/O — 2 пина (RX TX ком порта) и 22 пина (11-RX и 11-TX ) для подключения периферии (сервера с консолью по ком порту).
Итак цель — получить возможность коммутировать один COM порт на 11 COM потребителей.
Первое что пришло в голову — просто соединить передающие пины с принимающими портами. По i2c приходит команда переключить порт
и вызывается макрос который в зависимости от состояния пина ставит требуемый порт. Библиотека для работы с i2c — сторонняя (Pascal Stang — Copyright (C) 2002-2003).


Читать дальше

Использование цифрового мини сенсора PIR AM612 и сенсорной кнопки для управления освещением

PIR

В статье расскажу об использовании цифрового пироэлектрического смарт сенсора для обнаружения движения — AM612 фирмы Nanyang Senba Optical Electronic.

По размеру он как обычный PIR сенсор, только выводов больше, внутри схема для обработки сигнала и на выходе информация о срабатывании в виде логического нуля или единицы.

Задействован этот датчик в схеме управление светодиодной лентой с использованием микроконтроллера AVR ATtiny13A.
Также в этой схеме используется сенсорная кнопка.


Читать дальше
  • +9
  • 21 октября 2013, 15:59
  • vad7
  • 1

Превращаем китайский программатор USBISP в USBASP

Всё началось с того, что купил себе на aliexpress.com вот такой, якобы usbasp программатор:

Дешево и сердито, в среднем по 3 бакса за штуку. Но тут всплыла одна особенность этого девайса, он работает как HID устройство, что есть не совсем хорошо.
[ 2597.780102] usb 3-2: new low speed USB device number 2 using ohci_hcd
[ 2597.952186] usb 3-2: New USB device found, idVendor=03eb, idProduct=c8b4
[ 2597.952189] usb 3-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 2597.952191] usb 3-2: Product: USBHID
[ 2597.952192] usb 3-2: Manufacturer: zhifengsoft
[ 2597.978533] generic-usb 0003:03EB:C8B4.0004: hiddev0,hidraw3: USB HID v1.01 Device [zhifengsoft USBHID] on usb-0000:00:13.0-2/input0

Было не совсем понятно, как его использовать. При работе с avrdude, ни один из программаторов из списка «дудки» не подходил.
После мытарств по просторам интернета и усиленного гугления, был обнаружена страничка www.sciencetronics.com/greenphotons/?p=938 на которой один заморский товарищ столкнулся с такой же проблемой и успешно её решил, поэтому было принято решение последовать его путём.
Путь сводится к тому, что по сути это обычный usbasp, и его можно легко в него превратить, просто перешив микроконтроллер в нём, что и было мною сделано.
Итак, последовательность действий такова:
  1. Разбираем этот «свисток»(со стороны usb разъёма выковыриваем пластиковую заглушку, вытаскиваем алюминиевый корпус)
  2. На плате есть два переходных отверстия, помеченные словом «UP», их нужно замкнуть(включаем возможность самопрограммиирования)
  3. Подключаем к этому свистку другой программатор(я использовал свой старый добрый usbasp) и заливаем в неё прошивку от usbasp-а из приложенного архива


После заливки прошивки, вместо красного светодиода, загорится синий, всё, на этом процесс преобразования завершён. Убираем перемычку с «UP» и далее работаем с ним, как с обычным usbasp-ом :)

P.S. Во вложении находится архив с прошивкой(в папке default лежит уже собранный hex). Также этот архив можно скачать на страничке www.sciencetronics.com/greenphotons/?p=938
  • +5
  • 07 октября 2013, 21:21
  • xterro
  • 3

Управление GSM модулем с AVR (часть 2)

AVR
В предыдущей части мы отправляли команды на модуль.



Теперь о получении команд с модуля.


Читать дальше
  • +2
  • 23 сентября 2013, 17:00
  • ilus
  • 4

Управление GSM модулем с AVR (часть 1)

AVR
Идея проекта: спроектировать устройство на базе микроконтроллера AVR для управления готовым GSM модулем (я выбрал модуль TC35 от SIEMENS, но можно использовать любой другой, если используется связь через последовательный порт RS232). Устройство должно быть компактным, минимально простым и надёжным.

Отправка заранее записанного в память сообщения на указанный номер должна выполняться после нажатия кнопки. Всего нужно было 6 кнопок для отправки на 6 различных номеров. Для индикации процессов были выбраны 3 светодиода (Ready, Send, Error), но в последствии был добавлен алфавитно цифровой LCD 16x2 (скорее, для отладки устройства, чем для обычного использования).

Проектировалось всё дело на плате Pinboard II (Rev 2) со стандартным процессорным модулем на ATmega16. На готовом устройстве схема была немного другой (и микроконтроллер использовался ATmega8). Программа писалась в AVR Studio 4.19. В проекте были использованы различные заголовочные файлы (#include) для переключения между Pinboard и готовым устройством.

Общая схема системы:



Читать дальше
  • +6
  • 23 сентября 2013, 15:10
  • ilus
  • 1

Отладчик-программатор для Pinboard2

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


Читать дальше
  • +3
  • 19 сентября 2013, 22:45
  • MCDFV
  • 1

AVRASM: Шпаргалка по стандартным инструкциям ассемблера AVRASM. Система команд AVR (идея)

На основе оригинального документа Atmel: «AVR Instruction Set Manual (Rev.0856H–AVR–07.2009) (ENG).pdf» (это не самая последняя ревизия документа, но она содержит 99% всей информации и более компактна, чем последняя)

Скомпоновал только нужные страницы, с самой необходимой информацией, и распечатал себе такой некий «Quick Reference Guide»: «Celeron — Шпаргалка по AVRASM. Система команд AVR (распечатать на А4 двухстороннем, скрепить в левом-верхнем углу).pdf»


Читать дальше
  • +1
  • 15 сентября 2013, 22:05
  • Celeron
  • 2

Включение и выключение света с помощью одной кнопки на AVR (использование токового трансформатора)

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


Читать дальше
  • +4
  • 12 сентября 2013, 17:44
  • vad7
  • 1

Таймер на tiny13 и STLED316

AVR
Надоело мне бегать и следить за часами при засветке фоторезиста или паяльной маски. Да и вообще… И сделал для себя таймер в корпусе от Pilot. Может, кто помнит, был такой тройник. Там как раз много места под фильтр есть.


Читать дальше

AVR готовые решения ,заготовки для проектов

Универсальный измерительный прибор (база: atmega8\atmega8l )
У меня был на панельке микроконтроллер.
www.ebay.com/sch/i.html?_from=R40&_sacat=0&_nkw=TRANSISTOR+TESTER+NPN+PNP+MOSFET&LH_BIN=1

Вариант с ESR (ATmega168)
www.ebay.com/sch/i.html?_from=R40&_sacat=0&_nkw=TESTER+CAPACITOR+ESR&LH_BIN=1

Автоперевод со странички автора:
translate.google.com/translate?hl=en&sl=de&tl=ru&u=http%3A%2F%2Fwww.mikrocontroller.net%2Farticles%2FAVR-Transistortester&sandbox=1

Особенности

Автоматическое обнаружение NPN и PNP транзисторы, N-и P-канальных МОП-транзисторов, диодов (в том числе двойные диоды), тиристоры, симисторы и резисторов и конденсаторов.
Автоматический расчет и отображение контактов компонента для тестирования
Обнаружение и отображение защитные диоды для транзисторов и МОП-транзисторов
Определении прибыли и база-эмиттер прямого напряжения на транзисторах
Измерение порогового напряжения затвора и емкость затвора МОП-транзистора
Отображения значений на текстовом ЖК-дисплей (2 * 16 символов)
Продолжительность тестирования компонентов: менее 2 секунд (за исключением больших конденсаторов)
Управление одной кнопкой, автоматическое отключение
Потребляемая мощность в выключенном состоянии: <20 нА

Есть прошивки с измерением ESR конденсаторов. (требуется atmega168)
translate.google.com/translate?hl=en&sl=de&tl=ru&u=http%3A%2F%2Fwww.mikrocontroller.net%2Farticles%2FAVR_Transistortester&sandbox=1

Введение

Оригинальный дизайн: www.mikrocontroller.net/articles/AVR-Transistortester

Дальнейшее развитие в работах Карла-Хайнца Kübbeler

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

Здесь я хочу перечислить наиболее важные свойства

Работает с ATmega8, ATmega168 и ATmega328 процессоров.
Отображение результатов измерений на ЖК-2x16 характер.
Управление одной кнопкой с автоматическим отключением.
Устройство имеет три универсальных Meßports (тест PIN).
Автоматическое обнаружение NPN, PNP, N-и P-канальный МОП-транзистор, JFET, Импульсные диоды малой мощности и тиристорные и тиристорные.
Автоматическое распознавание выводов компонентов, компоненты могут быть подключены в любом случае.
Измерение коэффициента усиления по току и напряжение база-эмиттер для биполярных транзисторов, включая Дарлингтон.
Автоматическое обнаружение защитный диод для биполярных транзисторов и МОП-транзисторы.
До двух резисторов измеряется в измерения с разрешением до 0,1 Ом, диапазон простирается на более чем 50 МОм. Значения сопротивления менее 10 Ом отображаются для ATmega168/328 С помощью ЭПР-метода измерения с разрешением 0,01 Ом.
Подключенным конденсатором может быть измерено в диапазоне 35pF к 100mF с разрешением до 1 пФ.
Резисторов и конденсаторов показаны с их символами окружении соответствующие им номера контактов разъема.
Резистор и конденсатор значения могут отображаться до четырех знаков после запятой в правильном измерении.
До двух диодов также показаны flußrichtungsrichtig с его символическое представление, окруженный номера разъема и дополнительную информацию прямого напряжения.
Кроме того, отдельные значения емкости диода и версия 1.08k тока в обратном направлении измеряется.
ATmega168/328 для калибровки нулевой емкости, нулевого сопротивления и других параметров в самотестирования филиал возможно.
Для ATmega168/328 также индуктивности о 0.01mH могут быть обнаружены и измерены до 20H.
Для ATmega168/328 измерения ESR (эквивалентное последовательное сопротивление) интегрирован более 0:18 мкФ с разрешением 0,01 Ом.
ATmega168/328 VLOSS для потери напряжения рассматривается коллегией из зарядного импульса около 5 конденсаторов нФ. Таким образом, качество конденсаторов может быть оценена.

Более подробную информацию с примерами измерений можно прочитать в PDF документацией на немецком и английском языках.

Отступление…
Тут есть некоторое количество тупиц и оленей, поэтому сразу скажу:
1) Статья-заметка информативная, если надо и хотите узнать больше, кликайте по ссылкам, там есть все ответы.Моя задача — первичная информация.
2) Приведены описания взятые из автопереводчика гугла, да есть такая штука.
3) Если что-то не ясно читайте пункт 1)
  • -16
  • 30 августа 2013, 08:38
  • selevo