30.04.2009

Freeduino MaxSerial

Оригинальный Arduino Serial, печатную плату которого все еще можно купить на сайте авторов проекта, увы, не лишен недостатков.

1) Расположение стабилизатора +5В L7805CV - вертикальное. На практике это означает, что будут проблемы с установкой Shield-плат. Не помогут даже т.н. pin-экстендеры - межплатные соединители, которые могут приподнять подсоединяемый Shield на 5-7 мм. Единственный разумный выход - установить стабилизатор на обратной стороне платы: эксцентрично, но проблема будет хоть как-то решена.





2) Необходимость установки неполярного электролита C8: он стоит в цепи эмиттера Т2, где изменяется полярность сигнала, а значит, обычному электролиту рано или поздно поплохеет. Найти неполярный электролит под выводное исполнение сложно, но можно - я нашел единственный вариант, но он имеет высоту 7 мм и мы снова упираемся в п.1 (проблемы с Shield-платами). Намного проще найти неполярный конденсатор в smd-исполнении и, при должной сноровке, припаять его на посадочное место выводного.



3) Некая ненадежность ключей на транзисторах как таковых: говорят, к ним есть претензии. Я слишком мало работал с приложениями Arduino по последовательному порту, поэтому комментировать эти слухи не буду.

4) Нет функции автосброса, как в Delicima и более старших платах. А ведь так удобно не тянуться к Reset-у при очередном заливании sketch-а.

5) Мелочи и придирки :) На колодку POWER не выведен reset (опять же, актуально для shield-плат) и, тем более, нет источника 3.3В (обычно около 50 мА можно взять с USB-чипа  FT232RL). И даже светодиод - всего один, питания. А хотелось бы видеть хотя бы стандартный, на pin-е digital 13.

В поисках платы для самостоятельного изготовления, лишенной хотя бы некоторых из вышеперечисленных недостатков, я наткнулся на Freeduino MaxSerial:



Автор - небезызвестный Spif, решил все проблемы довольно просто: установил в качестве преобразователя COM-TTL микросхему MAX232. В одном корпусе этой микросхемы четыре конвертора на две приемных и две передающих линии, поэтому хватило не только на Tx/Rx, но и на DTR для автосброса. Из схемы сразу "улетели" резисторы в цепях транзисторов, сами транзисторы, зато добавились коденсаторы (Spif щедро повесил на питание ATmega аж два 100пФ-конденсатора). Мало того, есть возможность установить вместо двух конденсаторов 22пФ и кварца 16МГц трехпиновый керамический резонатор, слегка сэкономив на компонентах и числе паек.

Я заказал печатную плату (версия 2.5), подобрал компоненты, и... Вот результат:



Вполне надежно работает, я доволен. По стоимости получается почти столько же, сколько и "оринигальный" Arduino Serial.

Придраться можно только к одному моменту: расстояние для ножек конденсаторов - 2,5 мм, а хотелось бы 5 мм - такие проще достать. Впрочем, это легко решается аккуратным подгибанием ножек.

Выложил Kit с ATmega328P на "молоток", в ближайшее время опубликую подробное руководство по сборке с картинками.

Да, чуть не забыл:

Название: Freeduino MaxSerial
Процессор: ATmega168/328
Тактовая частота: 16MHz
Совместимость с Sheild-платами: есть
Совместимость с Arduino IDE: есть

Веб-страница проекта: spiffie.org/electronics/archives/microcontrollers/Build%20a%20MaxSerial%20Freeduino.html
Блог автора: spiffie.org/electronics/
Дата первого упоминания: 08.03.2008

Схема:

24.04.2009

Хак Arduino Mega и Ethernet Shield

И действительно, Ethernet Shield не будет работать с Arduino Mega. Всё из-за того, что для общения с чипом W5100 используется аппаратный SPI, а он уехал в Mega на пины 50..53.

Но умные люди в этом разобрались: надо освободить нужные пины Ethernet Shield:



И подключить их в нужное место:



Коряво, конечно, но - работает. Придется еще поправить номера пинов в Ethernet Library, это подробно расписано на страничке автора хака (nkcelectronics):

http://mcukits.com/2009/04/06/arduino-ethernet-shield-mega-hack/

23.04.2009

Соединители Shield-плат

При стыковке Shield-плат с помощью разъемов PLS / PBS периодически приходится сталкиваться с двумя проблемами:
  1. Высокие компоненты в межплатном пространстве;
  2. Необходимость "многоэтажного" соединения плат.
В первом случае зазор между платами должен быть не более 10.5 мм - именно столько получается после соединения вилки PLS (2.5 мм) и розетки PBS (8.5 мм). В свою очередь, это накладывает ограничение на высоту элементов в межплатном пространстве - например, надо позаботиться о том, чтобы высота электролитов была 7 мм.

Если нельзя понизить высоту компонентов, можно использовать вместо обычной PLS межплатный соединитель PLH:



Он добавляет 8 мм к межплатному расстоянию, и в сумме вы получите уже 8 + 10.5 = 18.5 мм! (на фото вверху - PLS, внизу - PLH).

Правда, растут габариты конструкции, да и сам соединитель довольно редкий и недешевый - стоит в 8-10 раз дороже обычной вилки.

Вторая проблема возникает в том случае, когда надо соединить не две, а три или четыре платы в эдакий многослойный бутерброд. Необходимость в этом возникает довольно часто: каждая Shield-плата выполняет свою законченную функцию, а на все случаи жизни не заложишь ;) Но вот беда - в один ряд дырок не напаять одновременно и PBS, и PLS.

Тут приходят на помощь т.н. пин-экстендеры, специальные колодки типа PBS, но с удлиненными выводами:



После установки на плату, это выглядит так, как будто бы в одних и тех же отверстиях поселились и PLS, и PBS стандартных размеров:



От такого решения сплошные плюсы, но сам разъем не очень стандартный, и я его встречал только в специализированных иностранных магазинах.

Однако, самое нестандартное решение применено в Arduino Ethernet Shield: пин-экстендеры с длиной ножек, как в PLH!



Где купить такие - понятия не имею, если вы знаете - буду благодарен за коммент ;)

22.04.2009

21.04.2009

BoArduino

Название: BoArduino
Процессор: ATmega168/328
Тактовая частота: 16MHz
Совместимость с Sheild-платами: нет
Совместимость с Arduino IDE: есть

Веб-сайт проекта: www.adafruit.com
Блог проекта: www.adafruit.com/blog/

ladyada - довольно известный в электронно-инженерных кругах автор, именно она первой прикрутила ATmega328 к Arduino.

BoAdruino, также как и sanguino, ориентирован на комплект с макетной платой, поэтому розетки PBS заменены на штыри PLS. Есть два варианта исполнения: с USB на борту и без.

Вариант BoArduino DC:



Схема:



Вариант BoArduino USB:



Схема:




Есть интересная идея по поводу того, что вместо PLS можно поставить клеммник:







Оба варианта можно купить в виде KIT-ов, при этом USB-чип напаян (но только в ките, если брать только печатную плату - увы, нет).

Немного отклоняясь от темы: ladyada любит вести свой блог, и тут вы можете просмотреть забавное учебное видео по поводу того, как она напаивает FT232RL на BoArduino USB. Однако, не принимайте близко к сердцу :) Ради справедливости заметим, что управление "сковородкой" необязательно делать именно на основе motor shield (это такая своеобразная реклама сконструированного ladyada устройства): достаточно транзисторного ключа. А по большому счету, можно обойтись флюсом ЛТИ-120, у нас на работе именно так и распаивают ;)

Важные моменты:
  1. ручной выбор питания (джампер);
  2. применен трехпиновый керамический резонатор 16 MHz - не такой точный, как кварцевый (будет сказываться на наносекундных задержках);
  3. есть неотключаемый автосброс на DTR;
  4. влезло два светодиода - PWR и led13.
Резюме: можно посоветовать тем, кто не переживает о совместимости с Shield-платами и любит возиться с беспаечными макетками: еще компактнее, чем sanguino ( 75 на 20 мм ).

О цене: PCB стоят по 5 USD, а киты - 25 USD и 17.50 USD за USB- и DC-варианты соответственно. К последнему необходим USB-to-TTL кабель.