Связь микроконтроллера с компьютером через RS232

Почти все микроконтроллеры имеют на борту последовательный порт — UART. Работает он по стандартному последовательному протоколу, а значит его можно без проблем подключить к компу на COM порт. Но есть тут одна проблема — дело в том, что комповый RS232 он за логические уровни принимает +/- 12 вольт, а UART работает на пятивольтовых уровнях. Как их совместить? Для этого существует несоколько вариантов схем преобразователей уровня, но самая популярная это все же на специальном преобразователе RS232-TTL. Это микросхема MAX232 и ее аналоги.
Практически каждая фирма делает свой преобразователь, так что тут сгодится и ST232, и ADM232, и HIN232. Схемка простая как три копейки — вход, выход, питание и обвязка из пяти конденсаторов. Конденсаторы обычно ставятся 1uF электролиты, но в некоторых модификациях ставится 0.1uF керамика. Я везде впаивал 0.1uF керамику и обычно этого хватало. :) Работает как часы. Если же на высоких скоростях будет глючить, то надо будет повышать емкость.
 

Схема
 

Кстати, существует еще и MAX3232 это то же самое, но на выходе у него не 5вольт TTL, а 3.3 вольта TTL. Её используют для низковольтных контроллеров.
 

Я себе сделал один такой универсальный шнурочек, чтобы к контроллерам цепляться было удобно по UART. Для общей компактности всю схему запихал прям в разъем, благо у меня были ST232 в soic корпусе. Получилась платка не больше рублевой монеты. Так как под рукой не было мелких SMD конденсаторов, то пришлось напаять кондеры сверху, кто во что горазд. Главное работает, хоть и не очень красиво вышло.
 

Плата снизу
 

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

Плата сверху
 

После сборки проверяется просто:
Втыкается в разъем COM порта. Подается 5 вольт питания на схему, а затем замыкаешь Rx на Tx (у меня это зеленый и желтый провода).
 
Дальше открваешь любую терминалку, хоть Hyper Terminal, цепляешься к порту и начинаешь посылать байты, они должны тотчас возвращаться обратно. Если этого не произошло — проверяй схему, где то косяк.
 

Если работает, то дальше все просто. Тот провод который идет от ножки 9 микросхемы MAX232 это передающий вывод, его заводи на ногу RxD контроллера. А тот который с ножки 10 — принимающий, его смело сажай на вывод TxD контроллера.
 

В собранном виде
 

Плата сделана была методом ЛУТ, в одном месте по моему недосмотру толщина просвета оказалась 0.05мм, протравилась, но со спайками, пришлось процарапывать. А в целом с первого раза ать и никаких проблем. Аж сразу захотелось сделать что нибудь маленькое маленькое, нафаршированное нафаршированное :)
 

Печатная плата. Тонер не смыт.
 

Все, аппаратная часть для связи микроконтроллера с компом готова. Ждите следующего поста в котором я расскажу как конфигурировать и использовать UART в микроконтроллерах AVR. В будущем я буду через UART осуществлять отладочную связь с компом. Может быть даже ради этого соберу отдельный модуль с LCD экранчиком. Для отладки в железе. Посмотрим как попрет.
 

Печатная плата в формате Sprint Layout. Два варианта маленький и большой
 

Та же бодяга, но для работы через USB
 

Read More »

Минимальный набор

Минимальный набор
Минимальный набор
Итак, ты начитался, заинтересовался и у тебя прям зачесались руки начать экспериментировать в области радиоэлектроники. Сразу же возникает разумный вопрос, а что для этого нужно. Минимальный перечень того, что нужно закупить в первую очередь я накидаю тебе ниже. Это стандартный набор который всегда можно найти в моей квартире. Он подходит для экспериментов с микроконтроллерами. Если собираешься вкуривать и в аналоговую электронику, то туда нужен куда более подробный перечень. Куда войдут почти все номиналы резисторов, конденсаторов, а также разные усилки и прочая аналоговая братия.

(далее…)

Read More »

Ахтунг!

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

Особое внимание хочу обратить на datasheetcatalog.com запомните этот адрес наизусть! Это огромная база по поиску тех документации на компоненты. Причем работающая без заморочек и геморроя. Ввел в поиск название детальки или лишь часть и получил результат. Рулез!

Приглашаю тематические ресурсы к линкообмену.

Также решил внести еще одно нововведение. Два раза в месяц я буду публиковать пост в комментах к которому вы можете задавать мне вопросы по вашим конкретным проблемам. На краткие вопросы я постараюсь ответит тут же, на интересные и сложные отвечу в кратце и постараюсь написать развернутую статью. Разумеется глобальные вопросы вроде «Как мне сделать человекоподобного робота?» рассматриваться не будут :). Это позволить как улучшить обратную связь, так и я не буду страдать от отсутсвия идей и материалов. Эти идеи еще не сформировались окнчательно, поэтому вопросы и предложения пишите в комменты.

Да, и еще, чтобы не плодить сущности данный пост можно считать первым из серии «Вопросы» =)

Read More »

Управление мощной нагрузкой переменного тока

Тиристор
Тиристор
Иногда нужно слабым сигналом с микроконтроллера включить мощную нагрузку, например лампу в комнате. Особенно эта проблема актуальна перед разработчиками умного дома. Первое что приходит на ум — реле. Но не спешите, есть способ лучше :)

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

Если речь идет о переменном токе, то лучше использовать симисторы или тиристоры. Что это такое? А сейчас расскажу.

(далее…)

Read More »

Евстифеев А.В. «Микроконтроллеры AVR»

Евстифеев
Автор:		Евстифеев А.В. 
Название: 	Микроконтроллеры AVR семейств Tiny 
		и Mega фирмы Atmel
Издательство: 	Додэка
На данный момент моя настольная книга. Фактически это почти дословный перевод родной документации на AVR контроллеры. Если свободно читаешь по английски, то тебе эта книга может и не потребоваться. Я этим похвастаться не могу, поэтому периодически заглядываю сюда, чтобы разобраться в каком либо тонком моменте.
Конкретно в этой книге указаны весьма старые модели Mega и Tiny так что с более современными AVR, вроде ATmega88 данная книга дружит только частично — в этих контроллерах куда более развесистая периферия.
Впрочем, я видел и более позднее переиздание от того же автора со схожим названием, возможно там уже рассматриваются более поздние модели.

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

Read More »

Ответный удар по Китаю!

AVR Dragon
   Как то раз компания Atmel провела в Китае среди разработчиков опрос, на тему каким они видят отладочные средства для контроллеров AVR, что они от него требуют и какую стоимость ожидают. В результате опроса был разработан и выпущен дивный девайс AVR Dragon, представляющий из себя программатор (как ISP так и High Voltage) и debugWire/JTAG отладчик, позволяющий вести внутрисхемную отладку программы. И стоило это чудо всего 50 баксов. Мечта да и только.

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

Хе хе хе, ну прям как «нате, захавайте и вы глючного дерьмеца, ускоглазые утырки» получилось. =))))

В целом, не считая этого косяка, выглядит девайсина многообещающе, особенно при ее цене. Правда где ее можно отхватить за 50$ я не нашел, говорят была в ЭФО, но ныне у них на складах нету. В Чип и Дип он лежит по 116 баксов, а это уже перебор. Если найду за приемлемую цену то прикуплю.

Если у кого есть какие мнения по поводу этого девайса поделитесь.

Read More »

Резка текстолита

Ножницы по металлу
Ножницы по металлу
Одно время меня сильно докучала проблема — чем резать текстолит. Я перепробовал и лобзик, и ножовочку, даже электрогравер с дисковой пилой использовал. Но проблема не становилась менее актуальной. Диски от гравера ломались, ножовкой трудно отрезать ровно — потом приходилось напильником выравнивать. Ножовка с лобзиком тоже не панацея — долго и муторно.
Но самое главное не это, самое главное это пыль, мерзкая стеклянная пыль которая сопровождает процесс резки текстолита. А ведь она еще и жутко вредная!
Вскоре я нашел способ как быстро кроить текстолит на нужные куски — ножницы по металлу! Быстро, удобно, бесшумно, ровно, а главное без пыли и грязи. Чик-чик и готово.
Конечно, круче всего, резать гильотинными ножницами, но они громоздкие и дорогие и не везде их можно запихать. А ножницы по металлу можно сунуть в любой ящик. При выборе надо в первую очередь обращать внимание на лезвия, чем тоньше и длинней они будут тем лучше. Слегка зазубренное лезвие также хорошо способствует резке. Идеальными ножницами, из всех какие видел, я считаю те, что на картинке — лезвия тонкие и длинные. Они же, кстати, и самые дешевые — всего 100 рублей в нашем хозмаге :)

Read More »

AVR. Учебный курс. Использование ШИМ

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

Вкратце, Широтно Импульсная Модуляция (в буржуйской нотации этот режим зовется PWMPulse Width Modulation) это способ задания аналогового сигнала цифровым методом, то есть из цифрового выхода, дающего только нули и единицы получить какие то плавно меняющиеся величины. Звучит как бред, но тем не менее работает. А суть в чем:
 

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

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

Чем больше продолжительность включения двигателя в минуту, тем быстрей будет крутится маховик.
При ШИМ мы гоним на выход сигнал состоящий из высоких и низких уровней (применимо к нашей аналогии — включаем и выключаем двигатель), то есть нулей и единицы. А затем это все пропускается через интегрирующую цепочку (в аналогии — маховик). В результате интегрирования на выходе будет величина напряжения, равная площади под импульсами.
 

Меня скважность (отношение длительности периода к длительности импульса) можно плавно менять эту площадь, а значит и напряжение на выходе. (далее…)

Read More »

Контроллер шасси

Шасси в сборе
Шасси в сборе

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

Блок питания.
У нас же стоит свинцовый аккумулятор на 12 вольт, а контроллеру нужно 5 вольт. Вот я и сварганил импульсный блок питания. Можно было, конечно, поставить какой нибудь LM7805 (как у меня на макетке) и на нем сбросить напряжение, но это тупой метод. Дело все в том, что разницу напряжений LM7805 отрыгнет в виде тепла. Так что КПД данного девайса будет ниже 50%, а питание у нас батарейное. Так что выход один — это DC-DC преобразование. В качестве контроллера взял проверенный временем, популярный, доступный и дешевый MC33063A. Изобретать ничего не стал и взял типовую понижающую схему (Step — Down) из его даташита. Как работает схема этого блока питания я расскажу несколько позже, отдельным постом. После выхода статьи в «Хакер», где я толкнул статью про источники питания.

(далее…)

Read More »

It’s a live!!! It’s a live!!!

Так камрады, сварганил таки контроллер шасси. Пока он практически на 100% повторяет макетную плату. Оно и понятно, макетка делалась для отладки шасси. Теперь вместо унылых лампочек драйвер L293, питание от аккумулятора с DC-DC преобразователем 12->5 вольт. Вроде бы все работает, кроме одометров. Буду разбираться где косяк, когда все отлажу выложу схему, печатную плату и подробнейшее описание каждого элемента схемы. Ориентировочно, это будет сегодня вечером или завтра днем.

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

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

Read More »

П. Хоровиц, У. Хилл. «Искусство схемотехники»

Хоровец Хилл Искусство схемотехники
Автор:			П. Хоровиц, У. Хилл. 
Название: 		Искусство схемотехники
Издательство: 		Мир

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

Вердикт: Обязательная к неоднократному прочтению всем, кто хоть изредка включает паяльник.

Read More »

AVR. Учебный курс. Таймеры

С счетчиком итераций главного цикла мы разобрались и выяснили, что для точных временных отсчетов он не годится совершенно — выдержка плавает, да и считать ее сложно. Что делать?

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

И такой счетчик есть, даже не один — это периферийные таймеры. В AVR их может быть несколько штук да еще с разной разрядностью. В ATmega16 три, в ATmega128 четыре. А в новых МК серии AVR может даже еще больше, не узнавал.

Причем таймер может быть не просто тупым счетчиком, таймер является одним из самых навороченных (в плане альтернативных функций) периферийных девайсов.

Что умееют таймеры

  • Тикать с разной скоростью, подсчитывая время
  • Считать входящие извне импульсы (режим счетчика)
  • Тикать от внешнего кварца на 32768гц
  • Генерировать несколько видов ШИМ сигнала
  • Выдавать прерывания (по полудесятку разных событий) и устанавливать флаги

Разные таймеры имеют разную функциональность и разную разрядность. Это подробней смотреть в даташите.
(далее…)

Read More »

Паяльная станция ZD-929C

ZD-929C
ZD-929C

Более полутора лет назад обзавелся я паяльной станцией. Эта была ZD-929C. Отличная штука! За полтора года случился только один косяк — переломился провод на входе в ручку, пришлось его чуть втянуть внутрь и распаять по новой. Стала как новая. По работе нареканий никаких. Температуру держит точно, практически без погрешности — замерял внешним термодатчиком, а главное регулятор весьма оперативно реагирует на охлаждение жала, добивая нагрев до кондиции. Мощность порядка 50Вт, что позволяет паять довольно массивные детали без какого либо напряга.

Паяльник удобный — в руке лежит как родной. Шнур мягкий и ничуть не мешается. Жало, естественно, заземлено.

Радует большой ассортимент жал под эти паяльники. И стоят копейки. А еще он мне конструктивно очень нравится. Дело в том, что нагреваетель, вместе с термоэлементом, запрессован в мощный стальной стержень, а уже на этот стержень, довольно туго, надевается жало. Можно, конечно, из жала выкинуть прокладку из фольги и тогда она будет одеваться легко, но я не стал это делать. В отличии от многих других паяльников, в частности у Lukey жало одевается прямо поверх керамической трубки нагревателя. Нагреватель болтается в жале как дерьмо в проруби.

(далее…)

Read More »

Добавился раздел.

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

Если тебе есть что порекомендовать в данный раздел, то добро пожаловать в комменты.

Read More »

Борисов В. Г. «Юный радиолюбитель»

Автор:		Борисов Виктор Гаврилович
Название: 	Юный радиолюбитель. Издание 7-е.
Издательство: 	Радио и связь

Борисов это классика. На его книгах выучились многие электронщики. По этой книге я, будучи во втором классе, сам, без посторонней помощи, изготовил свой первый простейший радиоприемник. Разобрался в том как работает радио лампа, транзистор, а также усилительные каскады, фильтры, колебательные контуры. Главное достоинство книги — доступность. Написано все так, что даже перечитывать не приходится, доходит мгновенно. Долгое время была настольной книгой.
Конечно, она уже устарела и очень сильно. Большая часть схем, приведенных в книге, уже совершенно неактуальна. Там нет ни намека на цифровые микросхемы, не говоря уже о микроконтроллерах, но вот самые основы, работу на дискретных компонентах, эта книга ставит сразу и надолго. Короче, на нее можно смело лепить печать «обязательно к прочтению». Шедевр!

Read More »

Использование осциллографа

▌Старая статья о аналоговом осциллографе
Рано или поздно любой начинающий электронщик, если не бросит свои эксперименты, то дорастет до схем, где нужно отслеживать не просто токи и напряжения, а работу схемы в динамике. Особенно это часто нужно в различных генераторах и импульсных устройствах. Вот тут без осциллографа делать нечего!

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

На самом деле тут все просто — осциллограф, грубо говоря, это всего лишь… вольтметр! Только хитрый, способный показывать изменение формы замеряемого напряжения.
 
(далее…)

Read More »

USB программатор AVR — USBAsp

Вид сверху
Вид сверху

!!! ЭТЕНШН !!!
Появилась схема USB программатора которая НЕ требует предварительной прошивки управляющего микроконтроллера.

Так как у многих уже давным давно нет ни COM ни LPT порта, то я решил выложить схему USB программатора для AVR. Это будет широко известный в узких кругах USBASP. Схема простая как три копейки, но COM или LPT порт все же потребуется — для того, чтобы прошить управляющий контроллер. Так что можешь сходить к другану. Программатор строится на контроллере ATMega48 или ATMega8. Нужна именно 8 или 48, без всяких индексов L. Так как у нас требуется частота выше чем 8 Мгц. (далее…)

Read More »

Практическая робототехника.

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

Итак, что у нас имеется.
Для начала шасси. Здоровенное тридцати сантиметровое гусеничное корыто. В нем пока только редукторный блок и двигатели с таходатчиками.
Шасси
Шасси
 

(далее…)

Read More »

Аналоговый реобас

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

Пропорциональное управление – залог тишины!
Какая задача ставится перед нашей системой управления? Да чтобы пропеллеры зря не вращались, чтобы зависимость скорости вращения была от температуры. Чем горячее девайс — тем быстрей вращается вентилятор. Логично? Логично! На том и порешим.
Заморачиваться с микроконтроллерами конечно можно, в чем то будет даже проще, но совершенно не обязательно. На мой взгляд проще сделать аналоговую систему управления — не надо будет заморачиваться с программированием на ассемблере.

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

(далее…)

Read More »

Ликбез по пайке

Мой любимый припой.
Мой любимый припой.
Тонкая проволочка для точных паек.
Тонкая проволочка для точных паек.

И вот ты решил окунуться в электронику с головой, затарился паяльником, купил припой и… А что дальше? Если худо бедно, то как надо паять представляют все, а вот тонкости технологии известны далеко не многим и приходят с опытом. Чтож, ускорю этот пагубный процесс и расскажу тебе парочку хитростей.

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

Припой.
Это специальный сплав, который плавится при температуре порядка 200 градусов. Самый распространенный это 60/40 Alloy, он же ПОС-61. Сплав в котором 60% олова и 40% свинца. Температура плавления у него 183-230 градусов. Обычно продается в виде проволоки, намотанной на катушки.
Для мелкого монтажа лучше брать тот, где диаметр проволочки поменьше — легче дозировать. У меня две катушки, одна с проволокой припоя 0.3 мм, вторая 0.6 мм. Ну еще есть с полутора миллиметровой, но я ей почти не пользуюсь. Только если массово паяю массивные детали, где надо много припоя.
Покупать припой лучше импортный, к сожалению российский продукт сплошь и рядом отстой. Может и есть качественный, но обычно мне попадался низкопробный шлак. Катушка припоя, как на картинке, должна стоить от 150-200 рублей, дороже можно, дешевле не желательно. Лучше один раз потратиться, зато потом иметь красивую и качественную пайку и не париться. А катушки обычно хватает года на полтора-два это минимум.
Ещё полезно купить себе немного сплава Розе. Это тоже вроде припоя, но температура плавления у него совсем смешная — где то в районе 90-100 градусов. Этот сплав иногда полезен при демонтаже, но об этом позже будет отдельная статья.

(далее…)

Read More »