sonyps4.ru

Отладочные платы на базе микроконтроллеров STM32. Вопросы к хабражителям

Зачем нужна отладочная плата?
При изучении программировани микроконтроллеров очень важно не оставлять все в теории, а сразу же реализовывать идеи на практике. Можно делать это по разному, например, гонять в симуляторах или собирать на макетке. Но у этих двух методов есть существенные недостатки.
  1. Работа в симуляторе часто отличается от работе в железе.
  2. При сборке на макетной плате можно совершить ошибку и сжечь контроллер или подключить что-либо не так. А потом долго искать ошибку, пытаясь понять почему не работает код, хотя проблема то вовсе не в коде.
  3. В любом случае потребуется собирать или покупать программатор/интерфейс связи с компьютером
Отличным полигоном для устранения этих проблем является отладочная плата . Это плата где уже все правильно подключено и разведено. Функционирование железа можно проверить на эталонной демопрограмме, а встроенные системы отладки и прошивки позволяют заливать новую прошивку в кристалл одним движением. Остается только экспериментировать, не отвлекаясь на посторонние факторы.
Также отладочная плата служит удобным средством для быстрого прототипирования и обкатки узлов, проверке идей и методов. Собрать на демоплате, проверить, что идея работает, подкорректировать как нужно, а после уже отлаженный код использовать в реальном проекте. Я таким образом и разрабатываю свои устройства. Экономит массу времени.

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

  1. Полная свобода конфигурации контроллера. Выводы контроллера жестко не определены и никуда не подключены по умолчанию. Мы можем проводными перемычками подключать их как угодно и куда угодно. А на самые логичные и очевидные направления подключения можно делать джамперами.
  2. Встроенные средства отладки. В большинстве отладочных плат нет даже программатора. Его надо покупать отдельно. А я же старался реализовать не только прошивку контроллера платы, но и внутрисхемную отладку. Так что моя плата, в перспективе, может служить в качестве программатора-отладчика для ваших самостоятельных устройств.
  3. Начиная с версии II плата становится модульной . Теперь на одну базу можно будет подключать модули под разные контроллеры, изучая сразу несколько семейств контроллеров. А также разные модули расширения, реализующие таки сложные интерфейсы как, например, Ethernet. Модули также разрабатывают самостоятельно пользователи платы и выкладывают на форуме.
  4. Максимальная универсальность элементов платы. Каждую микросхемку, каждую кнопочку, каждый узел я старался подключать так, чтобы его можно было использовать независимо, сам по себе, для своих нужд, а не только для какой то конкретной роли.
  5. Наличие средств ввода и индикации -- кнопки, светодиоды, энкодер, LCD символьные индикаторы, а также обязательный интерфейс для связи с компьютером. Все это уже есть на борту! Одной только платы, без покупки чего либо еще , достаточно для освоения множества возможностей контроллера
  6. Наличие на плате простейших аналоговых цепей. Фильтры, ЦАП, на борту имеются одиночные транзисторы и переменные резисторы, которые могут понадобится при создании простейшего узла. А также небольшая макетная панель для сборки узлов из рассыпухи.
  7. Возможность гибкого управления питанием . Заданием разных напряжений, а также источников питания.
  8. Поддержка платы производителем. Все примеры работы с микроконтроллерами на сайте пишутся с использованием плат серии Pinboard. Под плату существует специализированая ветка форума, где я стараюсь ответить на любой вопрос. Вывести из тупика и найти решение. А также довольно большее сообщество пользователей, способных также дать грамотный совет.
  9. Гарантийное и постгарантийное обслуживание . Даже если вы сами умудритетсь, что то спалить, то я постараюсь максимально помочь вам в ремонте, либо проведу ремонт своими силами по себестоимости (доставка в оба конца + стоимость детали).
Для большего числа подробностей по каждому узлу рекомендую ознакомиться с конкретным набором из ниже предложеных:

Плата отладочная является достаточно полезным инструментом при разработке различных электронных устройств. Но можно ли создать её своими руками? Или же следует рассчитывать только на промышленные аналоги? Какие особенности есть у этого устройства? Об этом мы сегодня и поговорим.

Общая информация

Когда говорят об этой теме, то чаще всего понимается отладочная плата для Atmega8 или иного подобного микроконтроллера, в основе которого лежит 8-ми или 16-битный принцип работы. Но мир идёт вперёд. Наступает пора 32-битных микроконтроллеров. В связи с этим мы рассмотрим то, что может быть доступно нам уже сейчас. Особое внимание следует уделить отладочной плате STM32, хотя в рамках статьи рассматриваются всё же AVR. Но сначала представим общую картину.

Появление 32-битных микроконтроллеров позволило значительно расширить объем задач, которые они могли выполнить. Но необходимо оптимизировать принимаемые решения и создаваемую технику. Хотя и старым образцам будет уделено внимание, ведь не отметить их универсальность и добротность просто нельзя.

Что же собой представляет STM32?

Конечно, наибольший интерес в рамках статьи представляет плата отладочная. Но чтобы разобраться в дополнительном моменте, давайте рассмотрим основной. Допустим, у нас есть STM32F103C8T6. Отладочная плата представляет собой конструкцию с микроконтроллером, что строится на ядре ARM Cortex-M3. Оно обладает значительным количеством преимуществ, главное из которых - универсальность. Кстати, сейчас Cortex-M3 является полноценным индустриальным стандартом. Плата отладочная представляет собой поверхность, на которой могут взаимодействовать все ножки STM32, обеспечивая выполнение имеющихся задач.

Приступаем к подготовке

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

Прежде чем приступать к изготовлению или покупке платы, необходимо первоначально составить её схему. Для этого можно разложить элементы на бумаге и провести линии соединения между ними. Если всё получилось без проблем - отлично, значит, можно приступать к практическим действиям. Тогда нужно просто разместить и припаять все требуемые элементы, и всё - плата готова. Так это выглядит вкратце. А сейчас давайте рассмотрим все более детально.

Планирование

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

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

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

Плата питания

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

Плата микроконтроллера

А вот и самое интересное. Вполне возможно, что отладочные платы для микроконтроллеров и вспомогательных элементов - это сложнейшие составляющие. Ведь они являются «мозгами» технических устройств. Для успешного старта в сфере отладочных плат начинать со сложных 32-битных контроллеров нежелательно. Можно начать с чего-то попроще. Например, с ветерана мехатронных разработок ATmega8. Чтобы не усложнять ситуацию дополнительно, можно обойтись построением односторонней печати.

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

Ручное изготовление печатной платы

Первоначально нам необходима бумага, на которой будет нарисована разводка для печатной платы. Желательно, чтобы она была тонкой. Это важно для достижения точного сверления отверстий. Чтобы не возникло никаких неожиданностей, бумагу можно приклеить к картону с помощью клея. Далее следует вырезать приклеенный рисунок. Что ж, шаблон для сверления уже готов. Подбираем заготовку фольгированного стеклотекстолита необходимого размера. Прикладываем бумажно-картонный шаблон и обрисовываем его по периметру карандашом или маркером. Затем стеклотекстолит режем по нанесённым нами линиям, используя ножницы по металлу, или же пилим ножовкой. Склеиваем части с помощью клея.

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

Сверлим отверстия

Для этой цели наилучшим образом подойдёт специальный мини-станок. Но можно воспользоваться и ручным инструментарием. Для подавляющего большинства целей с лихвой хватает сверла с диаметром 0,8 мм. Следует отметить, что качественная плата может не получиться с первого раза из-за сложности работы и необходимости иметь твердую руку. Если подобные действия будут осуществляться впервые (а так, вероятнее всего, и будет), то можно только посоветовать морально подготовиться к тому, что будут поломаны сверла. После выполнения всего спектра работ, чтобы убедится в их качестве, посмотрите на просвет. Если будут заметны определённые дефекты, их необходимо оперативно устранить.

Наносим топографический рисунок

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

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

Переносим рисунок с бумаги на стеклотекстолит

Это самый ответственный этап. Необходимо бумагу (той стороной, где рисунок) приложить к стеклотекстолиту и прижать с большим усилием. Затем разогреваем полученный «бутерброд» в духовой печи до температуры в 200 градусов. Ждём, пока плата охладится до комнатного значения. После этого остаётся отодрать бумагу - и рисунок останется на печатной плате. Это может показаться довольно сложным, особенно с температурой. Специально для таких сомневающихся людей некоторые умельцы предлагают использовать электроутюг. Но здесь следует сделать одно важное предупреждение: результат получается нестабильный. Конечно, можно попробовать попрактиковаться день-второй, и, возможно, будет не хуже, чем в случае с печью. Но всё же существует проблема сложности обеспечения одновременного нагрева поверхности по всей печатной плате до одной температуры. Поэтому рисунок таким способом переносится не полностью.

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

Заключение

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

Не так давно я начал интересоваться микроконтроллерами. Сперва сделал простой программатор для AVR от LPT порта. Потом начал собирать всякие устройства с их применением. Все бы хорошо, но не покидал вопрос «а как это работает?». Имея немного свободного времени, скачал с интернета пару книг по программированию микроконтроллеров AVR. Сел и начал изучать. Сперва ничего не мог понять. Мозг кипел, и хотел вырваться наружу. Через несколько недель вроде стал понимать суть вопроса. Начал с ассемблера. Попрактиковался в AVR Studio мигать светодиодами. Позже перешел на C . На нем писать легче. Но все же надо начинать с ассемблера - так легче понять, как работает микроконтроллер и что это вообще такое. Тестировал свои прошивки в Proteus . Было интересно, но не то... Хотелось попробовать в железе. Не хочу сказать, что я крутой программист – просто начинающий кодер.

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


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


Еще приделал два дисплея. Один символьный ЖК дисплей, а другой семисегментный индикатор. Подвел к ним питание.


Так же на отдельной плате установил дисплей от мобильного телефона Nokia-1202 .


Библиотеки для работы с этим дисплеем нашел в интернете. Все ножки контролера, дисплеев, кнопок и светодиодов выведены на соединительные штырьки. Соединение проводиться проводами с напаяними на них контактами.

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

Звучит невероятно? Однако, это возможно! Добро пожаловать в мир МИКРОКОНТРОЛЛЕРОВ!

Второй робот - улучшенная версия первого.

Список покупок. Итак, нам понадобятся:

  • Набор для начинающего PICAXE-28X1. Включает в себя отладочную плату, а также все, что может понадобиться для программирования микроконтроллеров. Приобрести надо USB версию программатора, на фотографии изображен похожий, но НЕ соответствующий нашему проекту набор!

  • PICAXE Servo Upgrade Pack. Использовать серводвигатель PICAXE не обязательно, вы можете воспользоваться любым доступным вам серводвигателем, и резистором сопротивлением в 330 Ом вместо желтой микросхемы (см. фото).Значения 3-х проводов: 2 - питание серводвигателя, оставшийся третий - сигнал.

  • Sharp GP2D120 IR Sensor - 11.5" / Аналоговый (!) Внимание! Не покупайте цифровую версию!

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

  • Два моторчика с колесами Чем больше передаточное число - тем сильнее, а значит медленнее, будет ваш робот. Меньшее передаточное число увеличивает скорость, однако уменьшает силу. Я бы рекомендовал что-нибудь между 120:1 и 210:1 для нашего проекта.

  • Немного проводов
  • Изоляционная лента
  • Оборудование для пайки
  • «Кусачки»
  • Отвертка
  • Отсек для элементов питания.

Неплохо было бы к этому списку добавить следующие элементы:

  • Несколько светодиодов, что бы усовершенствовать робота;
  • Крошечный динамик, что бы создать интересные звуковые эффекты.

Теперь, когда вы заказали все необходимые компоненты можно приступать непосредственно к созданию робота. Устанавливаем колеса на моторчики и монтируем «резину».

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

ВНИМАНИЕ! Достаем батарейки, что бы не «сжечь» какой-нибудь дорогой элемент ненароком.

Устанавливаем микросхемы на отладочную плату (см. фотографии). В случае, если вместо рекомендуемого серводвигателя, вы использовали собственный - вместо желтой микросхемы устанавливаем резистор сопротивлением 330 Ом (опять-таки см. фотографию).

Пояснения: черная микросхема (20 выводов) - это наш микроконтроллер, микросхема черная поменьше - драйвер двигателей L293D.

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

Теперь подключаем двигатели (моторчики) к отверстиям 4 "A & B" (пока, порядок не важен). Как их подключить - дело вкуса. Вы можете либо припаять их, либо сделать соединения.

Припаяем провода к моторчикам. Провода А - к первому, провода В - к второму.

Для подключения серводвигателя припаиваем дополнительный вывод (см. фотографии). Подключаем.

Теперь монтируем «голову» ИК сенсор Sharp. Подключаем по следующему принципу: Красный подключается V1, в руководстве -любое обозначенное как "V". Черный к G, где угодно на плате. Белый к Analogue input 1. Три остальных вывода не забываем подключить к V.

Подключаем батарейки к отладочной плате. Внимание! Плюс («+») батарейки должен быть обязательно подключен к V на отладочной плате (не наоборот!). И еще, не пытаетесь «питать» устройство от источника напряжением более 6В, забудьте о «Кронах»!

Устанавливаем ПО Picaxe Programming Editor на вашем ПК. Подключаем ПК к роботу (до сих пор «безголовому», т.е. сенсор еще не должен быть подключен!). Запускаем редактор и пишем (или копируем) следующую строку: servo 0, 150 Нажимаем F5. Ждем. Если что-то пошло не так - попробуйте проверить, правильно ли все подключено. servo 0, 200

Сервомотор должен немного покрутиться и остановится. Что бы вернуться пишем: servo 0, 150 Теперь можно устанавливать ИК сенсор. Финишная прямая.

  • Скинте адресок где все можно все купить в москве спасибо
  • Самое главное тут набор PICAXE-28X1 (хотя может быть все это можно подобрать по отдельности или заменами). Как видим из предыдущей ссылки, поиск по русскоязычным ресурсам мало что дает. Хотя есть фирмы, которые специализируются на доставке из за бугра товаров от 1 штуки на заказ. По роботам есть еще Lego NXT Mindstorms но это будет подороже и (или зато?) паять там не нужно. Цены могут быть здесь http://www..html?q=Mindstorms Подешевле робот-вездеход. Цены на него здесь http://www..html?q=Robopica
  • 28-ми ногий микроконтроллер - PIC16F886, вторая микруха - L293D,жёлтая микруха, насколько я понял - сборка резисторов, не моглибы вы выложить схему их соединений, не отладочную плату PICAXE, а реальную принцыпиальную схему,без лишних разъёмов и дорожек P.S. если это не в ваших силах(нарисовать схему) нарисуйте(сфотографируйте) хоть отладочную плату(с двух сторон), чтоб видно было куда какая дорожка идёт
  • Пожалуйста напишите как усовершенствовать робота с самого первого видео до робота на втором видео
  • Доброго времени суток! Вот прочитал тему: http://www..html?di=45699 Хочу собрать такое. Меня интересует цена на данные детали: 1. Набор для начинающего PICAXE-28X1. 2. Драйвер двигателей (ИС) L293D 3. PICAXE Servo Upgrade Pack 4. Sharp GP2D120 IR Sensor - 11.5 Далее там советуют светодиоды и динамики. Светодиоды, вроде бы, понятно. Но куда лепить динамики? Заранее спасибо.
  • Читайте статью-для создания звуковых эффектов,распиновка на" гребенке"...
  • Цены L293D Цены GP2D120
  • ребята помогите с приводом робота как зделать чтоб он ездил если есть схемку подкинте только без микроконтралеров если не там написал извините?
  • и если на серводвигателях схемы есть то объясните как сделать


Загрузка...