ARM. Учебный Курс. Подключение контроллера и демоплата

Выбор контроллера
Контроллеров на ядре ARM Cortex множество. И мне пришлось поломать голову чтобы выбрать и взять за основу. В народ уверенно идут две линейки это LPC1xxx от NXP и STM32 от ST. Остальные дорогие и/или труднодоставаемые, либо в неадекватных для домашнего применения корпусах. Решил если брать, то из этой серии. Но какую именно? В результате поковырял и те и другие.

И вот мои соображения:

NXP
Берут низкой ценой. Реально многие из них продаются рублей по 50-80р за микруху. И это в розницу! Может это, конечно, маркетинговая акция и скоро все изменится. Но ситуация такая есть. С другой стороны, у NXP три линейки процов. LPC1000, LPC1300, LPC1700 (про LPC2xxx речь не идет, там ARM7 TDMI ядро).

  • LPC1000 закастрированные донельзя (но дешевые). Там от всех вкусняшек ARM ядра только таймер да 32 разряда. Корпуса от 33 до 48 выводов. Есть даже PLCC, но обычно LQFP.
  • LPC1300 уже интересней, но тоже нет ряда полезных фич вроде DMA или быстрого доступа к портам. Корпус от также от 33 до 48 выводов. Самый адекватный LQFP.
  • LPC1700 уже как в лучших домах — есть полный фарш, но камни там с 80ю и более ногами. И куда их такие здоровые?

Причем все три линейки весьма сильно отличаются друг от друга. Т.е. код с LPC1300 копипастой хрен перетащишь на LPC1700. Будут отличаться и имена регистров, и способы доступа к периферии. По разному будет выполняться конфигурация портов. В общем, хочешь перелезть на линейку послабже — изучай даташит с нуля. Конечно библиотека CMSIS сильно все сглаживает, но тем не менее от лишнего чтения доков не избавляет. Ну и документация у NXP тот еще аббадон. Давно я такой каши не видел. Бррр…

STM
Стоят дороже. Пока самый дешевый STM32F103C8T6 видел за 150р штука. Где найдете дешевле свистните. Но зато у них одна линейка F10x и один даташит на всех. Более того, ходят слухи, что периферия очень похожа и на STM8, так что при случае параллельно раскурим и эти камни :)

Процессоры в линейке отличаются только количеством ног и наличием на борту тяжелой периферии вроде USB/Ethernet/CAN. Причем в том же STM32F103C8T6 есть уже и DMA и полноценный BitBanding и все это в корпусе LQFP48 т.е. вполне компактный и паяемый в домашних условиях. Сами камни внутри выглядят более продумаными чтоль. Нет зоопарка периферии на разных линейках. Хорошо расписанные библиотеки CMSIS (о том что это такое расскажу попозже). Т.е. изучил его один раз и можешь уже смело программировать хоть 36 ногих козявок, хоть 100 выводных монстров. Плюс очень многие выводы у STM32F103 имеют 5V Tollerance т.е. их можно смело заводить на пятивольтовую периферию.

В общем, мне STM32 понравился больше. Хотя от применения LPC я не отказываюсь, но подробно на них останавливаться не буду, в лучшем случае вскользь упоминать.
Читать далее

Рубрика: ARM. Учебный курс | Метки: , , , , , | Комментарии (137)

Управление множеством сервомашинок

При построении разных роботов порой приходится использовать несколько сервоприводов. А если это какой-нибудь шестиногий паук, то приводов там этих просто тьма. Как ими управлять? На форуме кое кто даже сокрушался, что ему бы для этих целей плисину применить. Хотя на кой черт там ПЛИСка, когда с рулением даже трех десятков сервоприводов справится самый рядовой микроконтроллер, затребовав под это дело всего один таймер.

Итак, кто не помнит как управляются сервы может прогуляться в старую статью и освежить знания.

Возьмем, для начала, 8 сервомашинок. На каждую серву идет вот такой сигнал:

На каждую серву со своей ноги контроллера должна идти такая вот последовательность. Итого подобие ШИМ’a на 8 каналов. Как сгенерировать эту бодягу? Да проще простого. Принцип тут простой. Импульсы медленные — всего то 50Гц, меняются тоже нечасто — серва штука инерционная, поэтому даже сто раз в секунду ей не подергаешь. Так что времени на обработку у нас вагон и маленькая тележка.

Сами импульсы будут генерироваться одним таймером, в фоновом режиме. Принцип генерации прост: Все импульсы стартуют одновременно, выставляя свои уровни в 1.
Затем в таймер, в регистр сравнения, заносится время длительности первого импульса. По прерыванию сравнения происходит:

  • Сброс бита на порту первого канала
  • Загрузка в регистр сравнения таймера значения длительности второго импульса

Читать далее

Рубрика: AVR. Учебный курс, Робототехника | Метки: , , , | Комментарии (98)

Приспособление для вертикального сверления отверстий

Иногда, хотя я это и очень не люблю, мне приходится делать двусторонние платы. Обычно это редко происходит, все часто удается раскидать по одному слою. В худшем случае с перемычками-пофигисторами. Но когда делаешь двусторонку, то сразу же возникает проблема. Нет, совмещение слоев при травлении это задача элементарная. Я травлю сначала одну сторону, потом, совместив по трем отверстиям, накатываю второй слой и вытравливаю его.
Главная проблема тут в сверловке. Практически нереально ручной дрелькой просверлить идеально перпендикулярное плате отверстие, а малейший перекос, хотя бы на 10 градусов даст расхождением порядка 0.5мм, а то и больше. Что черевато несовпадением переходных отверстий (которые я делаю диаметром около 1.3мм, при отверстии в 0.5мм), а то и площадок. Не говоря уже о том, что выглядит в высшей мере убого.

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

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

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

А дальше, придерживая козлика рукой и нацеливая ушком на нужное место, борзо сверлим отверстия, Не волнуюясь на счет перекоса сверла. Красота!

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

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

Рубрика: Радиолюбительские Технологии | Метки: , | Комментарии (77)

Работа в Eagle CAD. Часть 3. Автоматическая трассировка плат

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

Расставляем компоненты
Один из главных недостатков Eagle CAD — отсутствие авторасстановщика компонентов. Это минус, т.к. от оптимальной расстановки зависит очень много. Но не беда, расстановку можно делать и вручную, главное делать это сразу же, по мере добавления деталей на схему. Словно мы хотим развести все вручную. Если сначала нарисовать схему, а потом пытаться расставить, то получится такая каша, что понять что то там будет совсем нереально. А так мы сожрем этого слона по кусочкам, сильно облегчив автороутеру жизнь.

Был у меня вот такая схема:

зазырить в полный рост

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

Рубрика: Софт | Метки: , , | Комментарии (81)

ARM. Учебный Курс. Вводная

Intro
Потихонечку, дабы не выпадать из модных течений, решил я запилить обучалку по ARM контроллерам.

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

Disclaimer
Информация будет не столько для тех кто начал с нуля, а тех кто уже наигрался с 8ми битными контроллерами и решил полезть выше.
И я буду отталкиваться от этого уровня, не сильно упираясь в разжевывание подробностей и мелочей (т.к. сам их еще не знаю ;) ), а действуя по индийской методике, где часто доказательство теоремы выглядит в виде одного слова «смотри».

Также, по дефолту, буду считать, что читатель, раз освоился на PIC/AVR/C51, умеет читать даташиты и ковырять инфу сам.
Это не значит, что я не буду отвечать на вопросы в комментариях. Буду, но знайте, что для этого мне придется вместо вас лезть в даташит и разбираться. Я могу это делать — знаете как быстро в таком режиме идет самообразование! Метод «Я гуру и вам щас все вжую» пинает круче любой сессии, т.к. в отличии от сессии не кончается никогдааа :) А могу не делать. В зависимости от моего свободного времени и желания общаться :) Да, у меня есть преимущество — освоив несколько разных архитектур я уже задницей чую где и что надо искать в даташите, но свою голову никто не отменял :)
Читать далее

Рубрика: ARM. Учебный курс | Метки: | Комментарии (170)

Работа с портами ввода-вывода микроконтроллеров на Си++

При разработке программ для микроконтроллеров (МК) работа с внутренний и внешней периферией является очень важной частью (а иногда и единственной) программы. Это своего рода фундамент, на котором основывается более высокоуровневая логика программы. От эффективности взаимодействия с периферией напрямую зависит эффективность программы в целом. Под эффективностью здесь следует понимать не только скорость выполнения и минимальный размер кода, но и эффективность написания и сопровождения кода.
Многие внешние устройства подключаются к МК через порты ввода-вывода общего назначения (GPIO). Эффективность взаимодействия с этими устройствами во многом зависит от способа работы с портами ввода-вывода.

Тут возникают два, на первый взгляд, противоречивых требования:

  • 1)Драйвера внешней периферии хочется писать максимально абстрагировавшись от конкретного способа подключения к микроконтроллеру, а ещё лучше независимо от типа микроконтроллера. Переписывать «библиотечный» код для каждого проекта не очень хорошо.
  • 2)Скорость и размер кода в большинстве случаев имеют большое значение.

Читать далее

Рубрика: AVR. Учебный курс | Комментарии (59)

Простейший индикатор расхода топлива на инжекторный двигатель

Сразу же после покупки автомобиля (Mitsubishi Lancer, 2003) озадачился установкой индикатора расхода топлива. Японцы сильно сэкономили на этом авто и не установили некоторые полезные функции — пришлось исправлять ситуацию.
Первой мыслью было или покупка готового — существуют множество промышленных устройств, в том числе заточенных под Lancer 9, или самостоятельная сборка какой-нибуть любительской конструкции — и таких немало. Поизучав немного тему выяснил, что все предложенные девайсы обладают избыточностью функций — а мне-то всего навсего нужен расходомер. Поэтому и было решено делать самому. Единственное место на панели куда-бы приборчик вписывался — на место штатных часов, поэтому хочешь-не хочешь он должен и время показывать. Ну и так как при применении 2-х строчного ЖК в этом случае остается незаполненный угол — значит и туда надо что-нибуть более-менее полезное вставить, например индикацию температуры. Кстати говоря, поначалу задумывалась индикация и некоторых других параметров — зарядка аккумулятора, расход на 100 км, мгновенный расход в цифрах и т.д. уже и не припомню — и почти все задумки были реализованы в первой версии индикатора.

Читать далее

Рубрика: Автоэлектроника | Метки: , | Комментарии (97)

Питерцы, минуточку внимания

Есть в СПб такое место — Аничков Дворец, он же дворец творчества юных. А в нем есть отличный детский радиокружок (с 12 до 16лет), где бесплатно обучают нашей премудрости. От мультиметра до программировани МК и ПЛИС. Сам курс кружка рассчитан на три года, вот, кстати, его обучающая программа. Думаю не стоит говорить насколько это важно и полезно для радиоэлектроники вообще. Я, например, был сильно удивлен тому факту, что данный кружок вообще существует.

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

Адрес:
Санкт-Петербург, Невский пр., д.39. Отдел «Техника». Лаборатория радиоэлектроники.

На все вопросы по работе кружка вам с удовольствием ответят по телефону:
(812) 310-79-40

Ну и сайт кружка radiostudy.ru

З.Ы.
От себя прошу донести эту инфу дальше, глядишь благое дело не загнется.

Рубрика: Новости | Комментарии (36)

Кибермашинки VIAC уже в Челябинске

Судя по трэкингу, они сейчас где то в районе Труда/Васенко. А завтра, если я правильно понял сообщение из блога, будет презентация/демонстрация. Где пока неизвестно. Обещали сообщить.

Челябинцы, айда туда толпой! =) Скоординироваться можно тут. Я сильно постараюсь добраться до них и поглядеть на эти автобусы. Заодно можете оставлять заявки на то, что сфоткать подробней.

О чем это я? Читать далее

Рубрика: Новости | Метки: | Комментарии (22)

Работа в Eagle Cad. Часть 2

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

Теперь возьмемся за редактор компонентов. Т.к. библиотеки хоть и обширные, но нельзя обьять необьятное. Так что рано или поздно попадется тебе такая деталька которой нет в библиотеках. Либо библиотечная не понравится. И придется рисовать свою. Что до меня, так я постоянно то готовые правлю, то новые создаю.

Создание своего компонента в Eagle cad
Когда я впервые сел за орла, мне это покзалось очень запутанным и сложным, но на деле, если отбросить мишуру, все будет очень и очень просто. Давайте-ка создадим, для примера, что нибудь несложное. Например линейный стабилизатор LM-1117-3.3 в разных корпусах. Его я не нашел в библиотеках.

Итак, вначале даташит на LM1117

Задача ясна, будем творить. Открывай главное окно Орла и в меню выбирай File—New—Library
Читать далее

Рубрика: Софт | Метки: , , , | Комментарии (90)

Работа в Eagle Cad Часть 1.

В гнезде орла
На 90% мои нужды по разводке печатных плат удовлетворял Sprint Layout. Развожу я обычно вручную, без исходной схемы и все вполне умещается в голове. Но прогресс не стоит на месте и меня давно уже зовут ретроградом :) И решил я переползти на другую систему. Главная причина — поддержка принципиальных схем и подсветка связей в схемотехническом редакторе, чего мне сильно не хватало порой в Sprint Layout. Перед этим я перепробовал несколько разных и остановился на Eаgle cad.

Почему Орел?
В выборе я руководствовался следующими параметрами в порядке важности:

  • Редактор с поддержкой принципиальной схемы и подсветкой связей.
  • Удобство работы в трассировщике. У Eagle тут есть ряд специфичных моментов из-за которых разработчиков хочется убить лопатой (особенно после Sprint Layout), но в целом все очень неплохо.
  • Интерактивная связь схемы и платы (Forward annotate, вроде так зовется). Т.е. добавил ты на схему элемент, а он тут же появился на печатной плате и его остается только развести. Это позволяет разводить схему по кусочкам, в ручном режиме. По одному добавляя компоненты на принципиальную схему и прописывая соединения. По этой причине отсеялся Dip Trace — там это делается только через повторное открытие файла с разводкой. Неудобно.
  • Удобное создание и работа с библиотеками. Тут тоже Eagle мне сильно понравился. Особенно тем как там делается компонент и то что можно выборочно подключать библиотеки, обновляя их на лету.
  • Кроссплатформенность. Я многое делаю не только для себя, но и для вас. Много народу сидит на линухах/маках и терять их как целевую аудиторию я не хочу. Игл есть на этих платформах в родном виде. Без шаманства. Есть еще KiKad… Выглядит неплохо, но (как и многий опенсорц продукт, гыгыг) не юзабелен. Там, например, в редакторе PCB я не нашел Undo, а ловить соединения в схематике? Тот еще гемор. Лет через пять-десять может допилят до вменяемого состояния, если не забьют :)
  • Относительная бесплатность. Жутко ломает ковыряться с патчами-кряками, а орел имеет вполне функциональный деморежим. Позволяет разводить по двум слоям, на площади 100х80мм. Для дома вполне нормально. Кому мало всегда можно спиздить найти лекарство от жадности. Игл популярен и найти кряк совсем не проблема. Вот только хочу предупредить — у игла хитрая защита и она любит палить контору и шифровать проекты сделанные в крякнутой программе. По крайней мере про такую засаду я слышал. Так что бэкапьте проекты дабы они внезапно не оказались недоступными. Ну и рекомедую юзать в этом случае четвертую версию Орла. Для нее был нормальный кряк. Мне же хватает деморежима почти всегда. Может потом и куплю его =))))
  • Наличие автороутера и возможность срыгнуть нетлист в другую систему трассировки. Вон, например, Шура Люберецкий, трейсил Топором. Получалось очень торчково. Особенно вставляло тех, кто не привык к теплым ламповым схемам с плавной кривизной дорожек :)
  • Легковесность. В отличии от всяких монстров вроде Mentor Pads или Altuium Designer Орел не тупит даже на моем древнем ноуте, не говоря уже о атомном нетбуке на котором я пишу этот текст.
  • Простота использования. Читать сто тыщь мануалов по тому как сделать то или это в мои планы не входило. Игл оказался очень простым.

Плюс у Eagle есть мощный скриптовый язык, позволяющий творить много вуду :) Я туда пока еще не лез, но судя по тому, что творят всякие ulp скрипты, может он очень многое.
Читать далее

Рубрика: Софт | Метки: , , | Комментарии (228)

Источники энергии. Потенциал и падение напряжения

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

Начало начал. Ноль.
Итак, начну с самого начала. Со дна. То есть с земли. Точки нулевого потенциала. Эта точка совершенно произвольная. Просто нам так удобно, что мы приняли ее за ноль. Надо же с чего то начинать. В однополярном питании это, обычно, минус питания. В двуполярном — нечто посредине, впрочем от конструкции зависит.
Читать далее

Рубрика: Начинающим | Метки: , | Комментарии (88)

Колеса… колеса… Ноги! Во!

Главное его не красить в зеленый цвет, а то монтировками загасят.

Рубрика: Робототехника | Метки: , | Комментарии (37)

Кибергусеница

Дабы отдать дань уважения сайту решил написать данную статью о своем роботе-самоделке. Это была моя магистерская и инженерная работа и теперь хочется поделиться ею со всем просвященным миром)

Итак, несколько слов об устройстве. Ниже приведена 3d моделька девайсины.

В основе робота сервомашинки Futaba S3003 — самые простые и дешевые, что удалось раздобыть на нашей кафедре (кафедра ТМ и М ЮЗГУ(КурскГТУ)). О том, что такое сервомашинка и как она работает у Вас есть отдельная статья на данном сайте, поэтому останавливаться на этом я не буду.
Читать далее

Рубрика: Робототехника | Комментарии (54)

Робоконструктор Velleman Robotic Arm KSR10

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

Это очередной робоконструктор — механическая рука с пятью степенями свободы. Velleman Robotic Arm KSR10
Штука довольно редко встречающася, т.к. на Ebay я нашел всего одного продавца и в exUSSR эта редиска слать не желает. Встречается в нескольких буржуйских магазинах и вроде бы была в ЧиД, но оттуда была выкуплена нами :) Цена вопроса от 60…100 баксов.

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

Рубрика: Робототехника | Метки: , , | Комментарии (78)

Точка сбора

В общем, я в Евпатории, уже второй день. Сергей с Андреем встретили меня аки министра какого, аж не ожидал. Спасибо огромное :) Пять дней отдохну (пока Сергей с вахты не вернется), а там надо замутить тусовочку.

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

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

Рубрика: Новости | Метки: | Комментарии (23)

Автоэлектрика и автоэлектроника. Курс молодого бойца.

DI HALT
Надумал тут замутить еще одну рубрику — Автоэлектроника

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

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

Часть первая, обзорная. Общий принцип работы бензинового двигателя внутреннего сгорания

Для удобства разделим мотор на три концептуальные части:

  • Железки (ШПГ, КШМ, ГРМ)
  • Система питания
  • Система зажигания

Читать далее

Рубрика: Автоэлектроника | Метки: , | Комментарии (96)

Пульт дистанционного управления для фотоаппаратов Canon и Nikon

Сильмаллирион
Случилось так, что примерно в одно и то же время у одних знакомых появился фотоаппарат Nikon, у другой знакомой — Canon, а в интернете я наткнулся на замечательную статью про пульт ДУ к ним.

Паять я люблю, а ещё больше я люблю делать подарки людям, а что может быть лучше действительно полезного подарка?
Но, поскольку с PIC-ами я не дружу, то пульт я переделал под маленькую tiny2313, благо их везде навалом, и они весьма недорогие. Плюс, хотелось поставить рекорд скорости по сборке устройства.

Братство Кольца
Немного теории, найденной на просторах интернета:
для фотоаппаратов марки Canon собирается пульт RC-1 (RC-5 это такой же пульт, только без «моментального спуска»)

-Несущая частота 33 кГц:
-команда «Спуск»: посылка 480 мкс, пауза 7324 мкс, посылка 480 мкс
-команда «Спуск с 2 сек. задержкой»: посылка 480 мкс, пауза 5371 мкс, посылка 480 мкс

Важно!
Не у всех фотоаппаратов Canon есть ИК приёмник (обычно расположен на ручке, под спусковой кнопкой). Смотрите инструкцию к своему фотоаппарату!

Nikon выбрал себе алгоритм похитрее, но всё равно мы и его скопируем:

-Несущая частота 40 кГц:
-команда «Спуск»: посылка 2250 мкс, пауза 27600 мкс, посылка 650 мкс, пауза 1375 мкс, посылка 575 мкс, пауза 3350 мкс, посылка 650 мкс. Потом пауза в 63 мс (милли- не микро-!!!) и повтор всей последовательности еще один раз

Читать далее

Рубрика: Готовые устройства | Метки: , , | Комментарии (38)

Организация древовидного меню

Почти для всех проектов на микроконтроллере с экранчиком требуется система меню. Для каких-то проектов одноуровневое, для других — многоуровневое древовидное. Памяти, как обычно, мало, поэтому хочется запихнуть все во флэш.

Попутно, из проекта в проект, развивалась своя псевдоОС — таймеры, события, диспетчеры.
Я ее полностью писал на си, оптимизацией и вылизыванием еще не занимался.

Перебирая разные системы, наткнулся на MicroMenu:

Попробуем разобрать ее на части и прикрутить к системе.
Читать далее

Рубрика: AVR. Учебный курс | Метки: , , | Комментарии (86)

Разведение питания

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

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

Вообще, грамотная разводка это та еще черная магия. Толковых подробных мануалов по сему предмету я не встречал, а все что знаю — продукт собственных умозаключений и обрывки толковых мыслей с разных форумов. В общем, если есть что добавить — добавляйте. Читать далее

Рубрика: Начинающим | Метки: | Комментарии (55)