Бывает, что вам необходимо быстро разработать какое-то электронное устройство для управления какими либо агрегатами или сбора какой либо информации от этих агрегатов. Для этой задачи идеально подходят либо какие либо готовые устройства наподобие Arduino, либо железка собственной разработки на основе микроконтроллера. В данной статье я решил рассмотреть небольшую самодельную плату, которая и будет сердцем любого подобного устройства.
![](https://habrastorage.org/r/w780q1/storage1/e9fbe1aa/8409aad6/b7a6cfe1/3ee4f70b.jpg)
На фото изображено получившееся устройство (слева), подключенное к программатору (справа)
Итак, для создания подобной железки нам понадобится микроконтроллер Silicon Labs C8051F320, несколько SMD резисторов и конденсаторов, USB кабель с разъемом типа А, паяльник и прямые руки.
Начнем, пожалуй, с описания микроконтроллера. Данный МК имеет в своем составе USB контроллер, позволяющий подключить его к ПК, а также запитать схему от USB, если общее потребление не будет превышать 400мА, 10-разрядный АЦП, около 20 портов ввода/вывода, встроенный тактовый генератор, а также встроенный отладчик, что позволяет проще отлаживать прошивки. МК имеет форм-фактор SMD, условное изображение показано на рисунке:
![](https://habrastorage.org/r/w1560/storage1/c2741827/adb8e9a3/2cda28a8/7895bc35.png)
Для того, чтобы с МК можно было работать, его необходимо обвесить на плате нужными элементами, подключить питание и вывести ноги портов ввода/вывода наружу устройства. Сделаем это таким образом:
![](https://habrastorage.org/r/w1560/storage1/22b3dc1a/a36b4b2d/400ccf16/359d2f5d.png)
Раъем J1 — разъем USB type A. Джампер JP3 переключает питание устройства от USB на внешний источник, подключаемый через JP4. Для питания от USB джампер JP3 необходмо замкнуть, для питания от внешнего источника — разомкнуть, замкнув JP4. Кнопка SW1 осуществляет «сброс» устройства, т.е. перезапускает выполнение прошивки.
Разъем JP2 — разъем программатора, через него осуществляет прошивка и дебаг прошивки МК. Порты ввода/вывода с P0 по P2 выведены наружу через два разъема JP5 и JP1.
Перечень элементов, использованных для схемы:
![](https://habrastorage.org/r/w1560/storage1/ff70483a/3e6e071c/b7f8ad60/e58f4b53.png)
Итак, все это необходимо разместить на печатной плате. Так как все элементы на плате SMD, размещать их будем на обеих сторонах платы, для экономии места. Увы, сама разводка платы у меня потерялась, но это не проблема, так как развести ее можно по-разному. Вот, что получилось в моем случае.
Условные изображение платы:
![](https://habrastorage.org/r/w1560/storage1/1b4bbf1c/74754ad2/3e1caff4/582481c8.png)
Как видно из изображения, платка получилась довольно небольшой, что весьма удобно — воткнул в USB порт и все, можно работать. Для удобства вместо статичного USB порта, припаянного к плате, был использован USB кабель, отрезанный со стороны B и припаянный вместо разъема.
Обратная сторона платы:
![](https://habrastorage.org/r/w780q1/storage1/cfaae88f/e336f3e7/6a5d2b1e/66b1f98d.jpg)
Передняя сторона платы:
![](https://habrastorage.org/r/w780q1/storage1/306a9826/36a3d00e/4d6a6160/6e707917.jpg)
Извиняюсь, что на фотографии кабель USB немного оторван, плата доставалась из ящика после месяца лежания.
Получилась годная рабочая железка, с помощью которой можно рулить какими-то удаленными устройствами с компа, измерять какие-то параметры с помощью встроенного АЦП и еще много чего.
![](https://habrastorage.org/storage1/e9fbe1aa/8409aad6/b7a6cfe1/3ee4f70b.jpg)
На фото изображено получившееся устройство (слева), подключенное к программатору (справа)
Итак, для создания подобной железки нам понадобится микроконтроллер Silicon Labs C8051F320, несколько SMD резисторов и конденсаторов, USB кабель с разъемом типа А, паяльник и прямые руки.
Начнем, пожалуй, с описания микроконтроллера. Данный МК имеет в своем составе USB контроллер, позволяющий подключить его к ПК, а также запитать схему от USB, если общее потребление не будет превышать 400мА, 10-разрядный АЦП, около 20 портов ввода/вывода, встроенный тактовый генератор, а также встроенный отладчик, что позволяет проще отлаживать прошивки. МК имеет форм-фактор SMD, условное изображение показано на рисунке:
![](https://habrastorage.org/storage1/c2741827/adb8e9a3/2cda28a8/7895bc35.png)
Для того, чтобы с МК можно было работать, его необходимо обвесить на плате нужными элементами, подключить питание и вывести ноги портов ввода/вывода наружу устройства. Сделаем это таким образом:
![](https://habrastorage.org/storage1/22b3dc1a/a36b4b2d/400ccf16/359d2f5d.png)
Раъем J1 — разъем USB type A. Джампер JP3 переключает питание устройства от USB на внешний источник, подключаемый через JP4. Для питания от USB джампер JP3 необходмо замкнуть, для питания от внешнего источника — разомкнуть, замкнув JP4. Кнопка SW1 осуществляет «сброс» устройства, т.е. перезапускает выполнение прошивки.
Разъем JP2 — разъем программатора, через него осуществляет прошивка и дебаг прошивки МК. Порты ввода/вывода с P0 по P2 выведены наружу через два разъема JP5 и JP1.
Перечень элементов, использованных для схемы:
![](https://habrastorage.org/storage1/ff70483a/3e6e071c/b7f8ad60/e58f4b53.png)
Итак, все это необходимо разместить на печатной плате. Так как все элементы на плате SMD, размещать их будем на обеих сторонах платы, для экономии места. Увы, сама разводка платы у меня потерялась, но это не проблема, так как развести ее можно по-разному. Вот, что получилось в моем случае.
Условные изображение платы:
![](https://habrastorage.org/storage1/1b4bbf1c/74754ad2/3e1caff4/582481c8.png)
Как видно из изображения, платка получилась довольно небольшой, что весьма удобно — воткнул в USB порт и все, можно работать. Для удобства вместо статичного USB порта, припаянного к плате, был использован USB кабель, отрезанный со стороны B и припаянный вместо разъема.
Обратная сторона платы:
![](https://habrastorage.org/storage1/cfaae88f/e336f3e7/6a5d2b1e/66b1f98d.jpg)
Передняя сторона платы:
![](https://habrastorage.org/storage1/306a9826/36a3d00e/4d6a6160/6e707917.jpg)
Извиняюсь, что на фотографии кабель USB немного оторван, плата доставалась из ящика после месяца лежания.
Получилась годная рабочая железка, с помощью которой можно рулить какими-то удаленными устройствами с компа, измерять какие-то параметры с помощью встроенного АЦП и еще много чего.