Универсальная отладочная плата PinBoard v1.0

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


В качестве контроллера взята Mega16, как дешевое, доступное, многоногое и популярное решение. Дальше навесил на нее следующее барахло, пронумеровал все:
1 — сброс
2 — шина питания, просто пины, пригождаются
3 — шина Земли, тоже пины
4 — все выводы генерящие ШИМ могут подключаться джамперами либо к светодиоду (синий кружок) , либо к RC фильтру, либо быть сами по себе. Убиваем два зайца одним джампером — если чо по быстрому реализуем в проекте LED и фильтр под рукой.
5 — дип переключатели (можно заменить на джамперы) дающие подтяг до +1. Очень важная и удобня фича когда отлаживаешь всякие сторонние модули и там надо подать + туда, сюда, ногой подергать чтобы в конфиг режим зайти, в общем, для этих целей
6 — дип переключатели для подачи земли. Из той же оперы (кстати, их бы обьединить… точно!)
7 — RC фильтр с настраиваемой R составляющей. Позволит сделать небольшую фильтрацию при юзании АЦП. На АЦП заводится с фильтра сразу джампером.
8 — тумблер подающий питание на дополнительные пины. Например, чтобы обесточить половину девайса. Бывает нужно
9 — переменный резистор. просто распаян с торчащими пинами.
10 — потенциометр, можно джампером подключить к входу АЦП.
11 — I2C выход, при желании джамперами делается подтяжка до 1 (стандарт!)
12 — те самые дополнительные пины питания.
13 — четыре кнопки. Обычные кнопки.
14 — JTAG выход.
15 — можно повесить часовой кварц, получится RTC
16 — можно повесить кварц на XTAL и подключить его джамперами если надо
17 — линейка светодиодов, просто так, может пригодится
18 — ISP разьем. (рядом еще выведен SPI) Вообще все интерфейсы SPI, I2C, UART имеют рядом пины земли и питания, чтобы можно было одним шлейфом сразу же утащить на другую плату и там куда нибудь подключиться.

19 ?????

PROFIT

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

50 thoughts on “Универсальная отладочная плата PinBoard v1.0”

      1. DI, извини, дорогой за не тему, просто иначе никак. в чат меня почему — то как гостя пускают, голоса нет…. не был на нем около трех недель, и пипец. потом… пока логинился на сайте, форма сообщала, что пароль не верный, но выяснилось, что — все — таки я зашел. ПУСТИТЕ В ЧАТ, Я ПО СЕРКОНУ СОСКУЧИЛСЯ И ПЛЮМБУМУ!!!!!!! АААААААААААААААААААААААААААА если поменялись правила, условия, выложи хотябы на сайте.

  1. Неплохо! Я вот когда думал AVR помучать, вот такую отладочную нашёл в ИНете: http://www.electronics-lab.com/projects/mcu/014/index.html

    Правда, потом решил что MSP430 будет помучать интересней :)

    http://rapidshare.com/files/251547482/DEMO-BOARD.zip — тут если кому надо моя отладочная плата на PIC16F628A, первая моя плата с контроллером, потому есть некрасивости (дорожка между ногами кварца и слишком большая плата вышла ИМХО), но работает стабильно до сих пор :)

    1. Посмотрел ATmega48/88/168 Development Board, понравилась. Сделать, что ли? Ей бы еще часы, память, да индикатор на пару строчек, а так даже программатор встроенный есть. И разводка красивая. Опять же земли много, что повышает помехоустойчивость. А то на столе от компа и монитора идет такой срач…
      Еще мне вот такая нравится (для PIC): http://www.oshonsoft.com/picdevboard.html
      Там же и симулятор отличный.

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

      1. Я правильно понимаю, что ISP — это просто провода от обычного программатора?
        Или чем ISP отличается от SPI?

      2. еще надо глобальный светодиод наличия питания. чтобы не лезли отлаживать паяльником включенную плату.
        И я не понял, UART выведен? Если нет — тоже надо.

    1. я думаю из-за миниатюрности конечного девайса
      да в планаре оно как-то киберкорней выглядит))

  3. Щас спою…
    На мой взгляд, несколько замечаний.
    1. Неудобно подключать питание (+ и — на разных сторонах платы). Удобней сделать отдельный разьем. Желательно на плату поставить стабилизатор, например LM2931, чтобы можно было питать от аккумулятора 6 или 12в (я для отладки предпочитаю не связываться с сетью, меньше наводок и статики).
    2. Общий выкл. питания и индикация наличия питания не помешают.
    3. Все — таки желательно с краю платы вывести стандартный 16к разьем для индикатора 16х2, удобно для отладки, да и вообще они используются довольно часто.
    4. К отладочной плате подключается куча проводов, поэтому ее надо делать помассивней, иначе она постоянно будет болтаться по столу и падать на пол. Да и рассмотреть на маленькой плате трудно, где что. Желательно размер порядка 100х150 и более. Неплохо еще прикрутить к массивному основанию.
    5. Микросхему лучше бы взять в ДИП — проще менять, если сдохнет, кроме того, можно менять, используя разные, но в одинаковом корпусе.
    6. Желательно разьемы выводов сгруппировать по портам, меньше будет путаницы при подключении.
    7. Также неплохо бы вывести на отдельный разьем входы, подключаемые на АЦП.
    8. Отладочная плата должна быть самодостаточной (содержать почти все, что может понадобиться), иначе ее область применения резко сужается. Поэтому нежелательно вешать на нее дополнительные платы. Зато желательно бы поставить панельки под DS1307, 24С512.
    Правда, это все может сильно усложнить разводку. Но не очень, если использовать обычные (не SMD) детали. Не вижу смысла мельчить на такой плате. Не в карман же ее совать. Она должна быть в первую очередь удобной для отладки. (Хоть и модно сейчас все делать мелким, в ущерб удобству).

    1. >>Микросхему лучше бы взять в ДИП — проще менять, если сдохнет

      Эт кому как. По мне, корпус 44a тоже на ура меняется — погрел малость, он и отпал. Потом новый на место приставил и пропаял. А вот лампочек и вправду не хватает.

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

      2. Не, он прав. Мне то DIP громоздко сильно, а вот если делать для масс, то лучше именно DIP, а то залочит чел фузы и чо делать? ;) А так клац микруху в ящик, новую воткнул и дальше играться

        1. Шо делать, шо делать. Сухари суш… от параллельного программатора хвосты накинул, и вперёд. У меня уже пару раз бывало, с фузами доигрывался.
          А так, что-то я дип корпуса разлюбил, да.

    2. 1 это так, дополнительные пины. Куча выводов питания еще и рядом с интерфейсами и есть еще отрубаемый разьем. У меня обычно питалово приходит от программатора, а отдельный разьем я тоже поставил.
      2 стабилизатор поставлю, общий выключатель питания с индикатором тоже уже поставил
      3 Хм. в принципе можно, на худой конец его можно не распаивать до поры до времени.
      4 Много места на столе она тоже не должна занимать, где то 10х12 самое то.
      5 Можно и в DIP сделать. Разные же не получится, у всех отличается распиновка.
      7 а оно так почти и сделано, правда не на отдельный вход, а на одну сторону.
      8 может просто поставить панельку а в нее уже можно будет воткнуть что угодно?

      1. Можно просто поставить панельку DIP8 и вывести ноги на штыри. Коммутировать потом проводами куда угодно. Можно будет ставить любую память (24,93), часы, термостат DS1620, и еще много чего.
        Еще неплохо бы поставить пищалку, полезно иногда при отладке пикнуть, чтобы привлечь внимание. Подключать джампером или проводком на какую — нибудь редко используемую ногу (или выход таймера).

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

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

          1. Так точно, вся периферия там на модулях, про которые мне напомнила предыдущая заметка и дискуссия под ней — http://easyelectronics.ru/texnologicheskaya-melochevka-shtyrevye-razemy.html.

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

            Золотые слова.

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

            И занимаются ведь:

            http://hackaday.com/category/arduino-hacks/

            1. Их заслуга не в разработке платы, а именно в очень простой среде в которой можно с нуля разобраться за считанные минуты. Этакий вариант Lego Mindstorm для бедных и рукастых. Собственно не будь там оболочки никто бы на нее внимание и не обратил и популярности бы не было.
              Ну и стандартизация интерфейса тоже естественно на пользу пошла.

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

          1. плата кошерна, но переключатели в моей версии полное гавно

            порадовало в ней наличие отдельного тактового генератора со сменным кварцем
            встроенный программатор и питание платы от усб или внешнего бп, причем даже от переменного тока

            лишними вижу только графический индикатор с контроллером тачскрина и флешку
            и 7 сегментных маловато

            софт у этого программатора самый продуманный из всего мной юзаемого
            выключить спи нельзя и в битах не запутаешся
            программатор выполнен на пике 18й серии с железным усб 2.0 и поэтому пишет очень быстро

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

    1. Сторонникам ARDUINO я бы посоветовал вот эту вещь: http://www.cqham.ru/tbcgroup/index.htm
      Программируемый на Бэйсике контроллер, программа заливается в любой момент с компа через COM порт, затем хранится в энергонезависимой памяти. Есть несколько вариантов разной сложности: от Мега 8 до Мега 128. Полная документация, схемы, разводка, прошивки, даже исходники. Есть вариант в виде модуля со штырями, вставляемого в панель DIP 40. В отличие от аналогичных разработок имеет большую длину хранимой программы и более мощный набор команд, а также удобные утилитки — терминал, обработчик программы, вырезающий из нее лишнее перед заливкой, и много чего еще.
      Сам пару лет назад хотел сделать себе, побаловаться…

  4. Не мешало бы еще UART сразу через MAX232 пропустить и на разьем DB25. Чтобы сразу втыкать на COM порт компьютера без дополнительных заморочек, стандартным шнуром. Чтобы не цеплять еще дополнительный преобразователь уровней, специально делать шнур…

    1. > и на разьем DB25
      А зачем такой огромный? DB9 всегда хватало.. И места меньше занимает, и так же стандартен он — кабели есть.

      1. Да, конечно же, DB9. DB25 сейчас только на LPT остались. Просто что — то руки сами автоматом ляпнули. Ночью обычно мозги плохо контролируют то, что руки пишут, и на клаву я не гляжу, «вслепую» тыркаю…

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

    например вот тут очень хорошо показано последовательно, как и чего навесить на з80
    http://stor.altervista.org/z80/z80.htm

    вот собственно http://www.nedopc.org/nedopc/85/a_r.shtml

    1. Полистай журналы Радио 83-88гг и попробуй собрать компьютер Микро 80. Там очень подробно все описано, потом с 86г — упрощенный вариант (РК 86), выпускавшийся промышленно как «Микроша». Получишь массу информации и море удовольствия. Я собрал свой первый комп, совместимый с Микро 80, в 84г. Процессор достал в мае, 2 ноября 1984 уже заработал (сначала с отладочного пульта, с памятью 4кб). Через месяц памяти было уже 64к, работал Бэйсик, ассемблер, редактор, и куча своих программ, а также программы из «Радио». В 86г уже поставил дисковод и операционную систему CPM/80. Аппаратно делал по — своему, исходя из тех деталей, что были под рукой, но программно, по адресам и сигналам системной шины был совместим с Микро 80. Постоянно наращивал возможности, добавляя платы (с 85г — электронный квазидиск на 512кб, из них 64кб — ПЗУ, потом контроллер дисковода на ВГ93, контроллер прерываний, COM порты, самодельный принтер, считыватель перфоленты, и много еще чего). Тот комп и сейчас жив, только лет 15 не включал, с 91г перешел на IBM — совместимые.
      Году в 86-87 я сделал аналогичный комп на работе, использовал как отладочную кроссистему для написания и отладки программ для контроллеров на КР1816ВЕ35, КР1815ВЕ48 (Intel MCS 48 — I8035, I8048), до того делал на работе контроллеры на КР580ВМ80А (I8080A).
      Хорошее было время… Перестройка еще только начиналась, и никто еще не знал, к чему она приведет.

        1. Если хочешь сделать универсальную, модульную конструкцию — лучще Микро 80, она удобнее для сборки по кускам и наращивания. Если попроще, сразу, с минимумом возни — тогда РК 86. Там все на одной плате, всего 26 микросхем, но нет возможностей для расширения. Программно они во многом совместимы.
          В то время (да и сейчас) большие обьемы памяти легче и дешевле получались у динамической памяти. 1 транзистор на ячейку против 6 транзисторов у статической памяти. Заряд хранится на емкости затвора, раз в 1-2 мсек требуется регенерация. Причем при обращении к одной ячейке регенерирует целая строка (256 шт). В Микро 80 была отдельно схема регенерации, в РК 86 ее делал контроллер дисплея (580ВГ75). Сейчас найти 64к статической памяти — не проблема, с ней регенерация не нужна.
          Основное ОЗУ современных компов — тоже динамическое (SDRAM, DDRAM, DDR2, DDR3…)
          Я в своем компе сделал корзину с 56 конт. разьемами, платы делал размером 155х90мм с вытравленными по нижнему краю контактами, которыми плата вставлялась прямо в разьем. Некоторые платы, например, процессорный модуль, были высотой 150мм. Разьемы распаивались между собой кусочками провода МГТФ, в основном параллельно (8бит данных, 16 бит адреса, по краям — по 2 земли (всего 4) и по 2 контакта +5в (тоже 4), на процессор еще +12, -5в, на СОМ порты +12 и -12). Основные контаты — для сигналов управления, прерывания и тд. 56 на все хватало. Всего в корзине было около 20 разьемов, но плат было всего штук 12. Из них некоторые можно было убирать (например, у меня было 3 платы для инженерного пульта, которые при нормальной работе не требовались). Минимальный набор — платы 4-5.

        1. Отличная вещь эта отладочная плата.
          НЕ встречал ктото такуюже но под мегу 8 или еще более (простой\дешевый камень)ато я только пытаюсь делать первые шаги в програмировании МК и надо начинать с чегото по проще чем мега16?

          Знаю что есть симуляторы , но это не то ( не столько достоверность результатов сколько тот факт что если ты чтото сам делаешь тебе интересней это завершить , а с симулятором если не получилось то просто закрыл окно и забыл) .

          1. Мега8 и Мега16 да хоть мега128 — у них один уровень сложности. Различия тут количественные. Т.е. Мега16 это более фаршированная мега, только и всего

            1. Значит стоит сразу собирать эту, под мегу16?
              Весь ее фарш я всеравно не смогу пока освоить .

              С какого тогда контроллера лучше начинать ?

              1. Ну так освоите потом, постепенно. Много денег на этом все равно не сэкономить, а вот когда, добравшись до определенных «высот», придет понимание, что «вот мне бы еще вот эту фиговину сюда и был бы шоколад», то делать новую плату будет.. ну не то чтобы обидно, но в общем не вижу смысла в этом :)
                Собирайте на этой, не использовать часть того что есть можно, а вот использовать то, чего нету — уже никак нельзя :)

                П.С. Я бы вообще CAN128 или MEGA32L распаял бы, чтоб уж полный набор был :) Но если первая просто дорогая, то вторую вообще фиг найдешь…

  6. Скажу насчет светодиодов и кнопок- я юзаю такую схему (за неумением пихать картинки опишу словами)- от пина канала (на моей плате их 4) идет резистор в 330 ом, от которого 2 пути- тактовая кнопа на общий провод и анод светодиода (катод на общий провод через ещё один резистор 330 ом). Итого получаем универсал- любой канал может быть выходом (по лог «1» вылетит птичка), и входом (жмем кнопу- прижимаем пин к земле, резистор защитит от КЗ, светодиод индицирует нажатие). 4 светодиода, 4 кнопки, 8 резисторов (на 4 канала). Дип- переключателя, я думаю, хватит одного восьмипинового, прижимающего к земле, плюс каждый провод через резистор 330 ом, от кривых, шаловливых ручек.

    Идея номер два- не тащить так далеко выводы под кварц, развести поближе к контроллеру пятачки под кварц и конденсаторы (если кварц не надо к ним просто припаять соед. провода).

    А-ля стк500 дебагборда- штырьевые выводы от всех портов, дабы было можно удобно воткнуться в любой, кстати, таким макаром можно и дисплей подключать, если надо, да и потенциометр втыкать в АЦП или компаратор, ну или…

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

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

    Не могу не согласиться с SWG насчет шины питания- удобнее двухштырьковые разьемы (только подписать маркером сверху где + где -, сам путал пару раз на своей плате); массы и габаритов платы- лучше всё- таки на обычных компонентах (да и народу повторить будет проще), плюс фанерная основа такого же размера, плата к ней прикручивается сверху винтами по углам, так, чтобы был зазор миллиметра 3-5 между платой и фанерой. Надежно и устойчиво. Продуктивного кодинга и удачного дебаггинга, как говорится.

    Панель 8dip со 8 штырями от всех пинов- офигенно, спасибо за идею! Гораздо проще, чем городить кучу панелей под разные микрухи, да и вряд ли они все сразу будут нужны. Сюда я бы добавил джамперы (либо 4- канальный дип- переключатель) питания на пин8, общего провода на пин4, плюс два до IIC шины микроконтроллера на пины 5 и 6- будет экономия 4 проводков при включении DS1307 или 24C512.

    Втыкать контроллер платой расширения- думаю, плохая идея, разьемы и их разводка много места займут, и вопрос, надо ли плата с кучей соединенных между собой штырей? В панель под мегу16 можно и 32-ю засунуть. Панель хорошо бы цанговую. А насчет перепаивать каждый раз- НАРОД, ПОЖАЛЕЙТЕ КОНТАКТНЫЕ ПЛОЩАДКИ!!! поотваливаются ведь рано или поздно…

    Ну, и на закуску распаять адаптер усб- ком (отладочная плата, таки, связь с компом нужна, а шнурок втыкать- вытыкать каждый раз… Не хочу. Воткнул усб шнур и пользуй.). Только связь контроллера с адаптером через джамперы. Поставил- соединил, снял- у тебя 4 штыря, одна пара от компа, другая от контроллера, главное Tx и Rx не перепутать.

    1. Понятия не имею. Пока сделаю, пока протестирую, может еще пару ревизий проведу. Ориентировочно скоро. В конце концов, идея понятна, возьми да сам нарисуй. =)

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

Добавить комментарий

Ваш e-mail не будет опубликован.

Перед отправкой формы:
Human test by Not Captcha