Коновалов Дмитрий Александрович

  • Применение интегральных датчиков магнитного поля

    SS49 - бюджетный, аналоговый, биполярный, фиксированный диапазон ± 1000Gs. 
    AD22151 - прецизионный, аналоговый, диапазон от ±50Gs до ±6000Gs.
    HMC1053 - магниторезистивный 3-х осевой магнитометр, диапазон ±6Gs по каждой оси.
    HMC5883L - магниторезистивный 3-х осевой магнитометр с цифровым выходом, диапазон ±8Gs по каждой оси.

  • Конструкции на микроконтроллерах

    Atmel:  ATtiny13A, ATtiny2313, ATmega8A. 
    STMicroelectronics:  STM32F100RBT6B, STM32L152RBT6
    Arduino

  • 3D принтер с кинематикой Delta

    За основу взяты размеры конструкции Kossel. Каркас собран из алюминиевого профиля 20х20 с V-образным пазом. Вертикальные стойки одновременно являются направляющими для кареток с роликами mini POM Dual V slot Delrin. Приводные зубчатые ремни GT2 спрятаны в пазы профилей. Шарниры диагоналей магнитные. 

  • Устройство для разработки локтевого сустава

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

  • Пассивный ретранслятор радиосигналов дистанционного датчика температуры для погреба

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

  • НБК из стандартных узлов

    НБК собрана из стандартных узлов (куб, царга с СПН, узел отбора, повороты, холодильники и т.п.)

  • Универсальный узел отбора

    Из узла отбора по пару Wein легко сделать универсальный узел отбора.

  • Инициализация M48T08 (DS1643)

    Очень древняя микросхема часов реального времени с оперативной памятью 8 K x 8 SRAMs на борту.
    Но до сих пор производится и продаётся как запчасть, так как использовалась в большом количестве разнообразного компьютеризированного оборудования.

Реализация AVR309_USB в среде Algorithm Builder

Программная реализация протокола USB.
Может работать в составе AVR-микроконтроллеров с малым объемом памяти, от 2 кбайт.


AVR-309 "Программная реализация универсальной последовательной шины (USB)" - это довольно старая разработка словацкого инженера Игоря Чешко. Программный код написан целиком на ассемблере и может работать в составе AVR-микроконтроллеров с малым объемом памяти, от 2 кбайт.

USB ATtiny2313

Исходный файл прошивки USBtiny2313.asm был построчно перенесён в среду Algorithm Builder (AB) с учётом её синтаксиса и особенностей. Перенесены также все оригинальные комментарии Игоря.

В этой прошивке реализованы функции:

- Непосредственное управление линией ввода-вывода;

- Преобразователь USB - RS232;

- Запись – чтение EEPROM.

Более подробно все описано в оригинальном документе AVR309 (имеется перевод: http://www.gaw.ru/html.cgi/txt/app/micros/avr/AVR309.htm).

Схема устройства, на которой проверялась работоспособность прошивки, представлена на рис.1.


Рис. 1 Принципиальная схема для тестирования AVR309.

По шине VBUS от порта USB подаётся напряжение 5 В. Светодиод HL1 уменьшает напряжение питания микропроцессора до 3.5 В. Это необходимо для совместимости с уровнями напряжения на информационных шинах USB. Резистор R1 нужен только для внутрисхемного программирования. Если микропроцессор будет программироваться в программаторе, то R1 можно заменить перемычкой.

К сожалению драйверы имеются только для Win98/ME/2000/XP. Драйвера для Windows 7 отсутствуют, но в режиме XP-Mode все прекрасно работает.

USB ATmega8A

В ATtiny2313 прошивка AVR309 занимает почти всю программную память и для дополнительных функций места практически не остаётся. Микропроцессор ATmega8A в этом смысле более интересен, так как имеет 8 Кбайт программной памяти, 512 байт EEPROM и 1 Кбайт оперативной памяти SRAM при одинаковой стоимости. Для этой микросхемы Игорь Чешко также разработал прошивку. От прошивки для ATtiny2313 она отличается увеличенным буфером FIFO RS232, порт RS232 работает в режиме Double speed (тактируется удвоенной частотой), а для дополнительных функций остаётся более 2/3 программной памяти.

Прошивка для ATmega8 была портирована в среду AB, скорректирована для тактовой частоты 16 МГц и дополнена функцией вывода на LCD. На LCD выводятся символы, посылаемые на RS232 (в функции DoRS232Send).


Рис. 2 Принципиальная схема AVR309 ATmega8A + LCD.


Рис. 3 Модуль Evolution light SEM0010M-8A на ATmega8A (кварц 16 МГц) + USB + LCD (WH0802).


Рис. 4 Скриншот AVR309USBdemo.exe. Передача текста на RS232 и LCD.

Замечание. Для кварцевого резонатора на 16 МГц исходная прошивка была слегка модифицирована. При этом оригинальная AVR309.DLL будет выставлять завышенную скорость порта RS232, так как вычисляет значение регистра UBRR для частоты 12 МГц. Для получения корректной скорости в AVR309.DLL надо передавать значение требуемой скорости, умноженной на 0.75. Например, если нужна скорость 57600, то устанавливать надо 57600*0.75 = 43200. Другой путь – перекомпилировать AVR309.DLL, внеся исправления в исходный текст.

Приложение USB-AVR309-AB.zip:
AVR309 - Algorithm Builder/ AT90S2313/ - прошивка для AT90S2313 12МГц (АВ)
AVR309 - Algorithm Builder/ ATtiny2313/ - прошивка для ATtiny2313 12MГц (АВ)
AVR309 - Algorithm Builder/ ATtiny2313_16MHz/ - прошивка для ATtiny2313 16МГц (АВ)
AVR309 - Algorithm Builder/ ATmega8_16MHz/ - прошивка для ATmega8 16МГц (АВ)
AVR309 - Algorithm Builder/ ATmega8_LCD_16MHz/ - прошивка для ATmega8 16МГц c LCD (АВ)


Возврат к списку