Архив метки: avr

Больше гламура в текстолите: Базовая платка для Android TV стиков

Что-то я как-то давно не постил сюда ничего гиканутого, надо срочно исправляться. Впрочем, у меня был важный повод – запиливал базовую платку для Android TV стиков, которая приведена на картинке ниже. А под катом можно вычитать целую кучу вкусных подробностей. IMG_2585   Читать далее Больше гламура в текстолите: Базовая платка для Android TV стиков

USB-машинка для ЛУТа с Web-интерфейсом

Заюзать ламинатор для ЛУТа у меня было в списке запланированных дел очень и очень давно. К сожалению, ламинатора с ручной регулировкой температуры в продаже я так и не нашел, потому взял что было. И, разумеется, это “то что было” тонер даже расплавить не осилило, не то что перевести на медь.

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

Читать далее USB-машинка для ЛУТа с Web-интерфейсом

uISP Tool

Давненько надо было описать эту тулу, да вот никак руки не доходили. В общем, история такая. Хотелось мне иметь в кармане компактный мультитул, который и отладочную плату юзать можно. Готового не оказалось. И я решил сделать свой. За основу взял самое доступное и дешевое, что было под рукой – atmega8, добавил на борт usb через vusb, после прошелся по всем основным проектам, созданным на основе vusb и адаптировал их под созданную железку. В этом-то и плюс avr – много готовых проектов, которые надо было просто собрать в кучу.


Читать далее uISP Tool

proof-of-concept: 13 сервомашинок по усб с attiny2313

Недавно кое кто жаловался, что на ардуйне на mega1280 можно шевелить малым количеством серв по USB (пан и тилт для нескольких камер).
Решив сварганить подобное на спор, я взял мк, у которого не было ни аппаратного USB для связи с ПК, ни 13ти хардварных каналов сравнения (attiny2313), далее сварганил платку, написал пару сотен строк кода и вуоля:
Attiny2313 рулит 13 сервомашинками 16-битным ШИМом по USB при практически отсутствующих внешних компонентах. Опция выставлять все каналы в Z-состояние из командной строки расслабляя сервомашинку в комплекте.
Читать далее proof-of-concept: 13 сервомашинок по усб с attiny2313

Добавляем управление по USB к настольному БП

Наконец-то! Траванул несколько платок на attiny2313, закину vusb стек и вуоля! Теперь трешовый советский настольный блок питания управляется по усб. Пруф:

Читать далее Добавляем управление по USB к настольному БП

Прошиваем AVR удаленно от ARM’a

Ладно, признаюсь, делаем робота, достаточно умного и большого. Настолько, что для мозгов потребовался ARM (SmartQ7) И микроконтроллер для грязной работы (чтобы рулить движками, собирать данные с датчиков и все это скармливать ARM’у на обработку) Но бегать за роботом с программатором или сидеть на конце пяти метрового усб шнура как-то “не комильфо”
Читать далее Прошиваем AVR удаленно от ARM’a

MegaDog, продолжаем доводить клиента до кондиции

Начнем с небольшой сказки. О текстолите.

Был у меня текстолит. Часть – который я сам купил, часть – который дед мне отдал из старых запасов, когда сам он этим безобразием занимался. Односторонний миллиметровый пошел хорошо и скоро трофейного однослойного не осталось – только тот, что я впоследствии прикупил. Но вот встала надобность травить двуслойку и достал я трофейный дедов двуслойный текстолит.

Создается впечатление, что он трофейный аж из германии в 45м, ну либо просто провалялся долго: мало того что поверхность от окисла час тер, так когда уже протравил при пайке он вонял, словно тухлая селедка приправленная не менее тухлыми носками. Ну и дороги после этого как-то подозрительно отрываются легко… В общем, трофей пришлось отложить в сторону, и достать однослойный полумиллиметровый текстолит, купленный на днях в “кварце”. Хотя основную роль в необходимости перетравки платы здесь сыграло то, что я по дури навалял пару косяков в разводке, которые всплыли потом и пока паял оторвал энное количество дрожек.

Впрочем, оно и к лучшему.

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

(Слота под карту не видно, он снизу.)

Ну а дальше уже дело навыка – V-USB, CDC-ACM реализация, и бутлоадерHID

Девайсина содержит бутлоадер (растрепанированный BootLoderHID (Не влезало в 2кб, местами пришлось напильником допиливать)). Так что ISP может отдохнуть на полочке. Коли перед стартом накинуть джампер, то можно будет его обновить. Ну и если будет целевая аудитория – могут спокойно обновляться без ISP. Автор BootloaderHID’a приспособил его даже для работы под мерзопакостной виндой.

В штатном же режиме все плугнплей. Втыкай, находи в /dev файлик ttyACM0, ну а дальше кому и чем удобнее. Хоть миникомом, хоть чатом, хоть из кода – открывай и рули АТ командами.

–cut–

AT

OK

ATV

MegaDog Prototype I rev. 1.2a CoDeName: maniac

FW: 0.1-pre; ldr: BootLoadHID-md 0.9

S/N: lilith-0000

MEPHI Science Session 2010; Party Build. Kaf 27/Mephi

–cut–

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

Суть проста. Первые байты, не считая нулевого (его частенько затирает, потому выкидываем его), являются массивом из N указателей на NULL-trminated стринги в еепроме. Дефайним константы с номерами строк по мере надобности, и делаем хитрую функцию которая по номеру выдает нам стринг. желательно сразу в виртуальный уарт. Ну а далее я соорудил несколько AT команд и функций, которые потом можно исключить из проши дефайном.

ATSI – инициализирует нулями таблицу строк.

ATSA TEXT – добавляет текст в ближайшую свободную ячейку. фейлит если кончились ячейки или еепром.

ATSD – начинает поочередный дамп строк еепрома. выводит первую строку.

ATSN – дампит следующую строку из еепрома. Для сброса в начало используем ATSD

В принципе, то что надо, чтобы заполнять еепром скриптом на баше уже после прошивки. Конечно, реализация не самая красивая, зато зараза работает и сэкономит до 512 байт кода, если будем этот текст писать в PGMSPACE. ну и оперативы.

А вот с дисплеем вышел полный облом. mt6116, который я думал использовать по причине, что олед дисплейчик так и не дошел до меня, имеет минимальный уровень логической единицы – 3.6 вольт. а у меня питание 3.3. Первой мыслью было быренько соорудить на 74hc244 конвертер уровня (пока там придет заказ из элитана с готовым решением?) – читать из дисплея мне все равно не надо, но потом я эту затею оставил, ибо лень. Будем ждать OLED’a из раделя… ну и когда приедут из элитана запчасти можно будет собрать до кучи экстеншн с эзернетом… слотов под экстеншны через SPI я предусмотрел 2. Ну один еще можно добавить, перебросив проволочку на ISP коннекторе.

Necromant’s Hack-o-Kit, v 0.1

(см. картинку под катом)
Идея эта витала у меня в голове достаточно давно, но за реализацию я взялся недавно. Итак, ТЗ является таким: портативный комплект со всем необходимым хардварьному хакеру. Программатор биосов и еепромов, анализатор логики, конвертер ттл уровня, сканер баудрейтов и находильщик пинов жтага в одном флаконе. Звучит страшно? а по мне в самый раз.
Итак, реализация.
Имея на руках acer n311, о котором я писал ранее, с проблемой отваливающегося проца, по причине которой им едва ли можно пользоваться не зафиксировав его в какому-нибудь ином корпусе, я решил его использовать как интерфейс управления всем этим добром. Соответственно, линукс, QT embedded, и управление самопайками по последовательному порту, который так кстати можно распаять из кредла. Кредл я разобрал, и электронику с батарейкой вмуровал в новый корпус. Кредл не только случит для заряда батареи кпкшника, но и заряжает вторую батарею, которая используется для питания самопальной обвязки. На картинке одна из первых фоток этого треша:

асер, кредл с батарейкой, max232a на куске макетки, платка на базе авр, которая должна будет служить походным i2c интерфейсом, программатором авров и детектором баудрейта неизвестных уартов. Еще на маленькой платке 7 светодиодов с назначением которых я не определился – просто гпио незаюзанные оставались.
Так как SD карты воткнуть будет проблематично – в дело вступает одна из первых версий моего SD extender’a. Его назначение – сделать возможным втыкать SD карты не отрывая кпк от коробке, к которой он будет приклеен.
Ну и hires картинка, конечно:
смотреть
И вот небольшой апдейт (напаял свитчер питания, закрепил и напаял экстендер.)
смотреть

Елка AVR фрика

Думаю, начнем с картинки.


Составляющие – медная проволока, attiny2313, светодиоды для поверхностного монтажа. Забавно, но на фотке оно выглядит красивее, чем в реальной жизни. Сейчас, когда покрыл все диоды лаком буду изощряться с софтварной частью. Добавлю управление миганием по уарту + программное pwm для плавных переходов.