Pull to refresh

Comments 131

А зачем хардовые ЦАП, АЦП, ШИМ и Флэш?
Потому что проц не мощный и этих штук в нем нет, но зато есть аппаратная поддержка USB2.0
Не будет ли цена этих модулей + разводка дороже второй АВР-ки, в которой все эти модули есть?
Вот это — крутой дипломный проект!

А то сейчас всё чаще можно встретить дипломные работы «Об особенностях использования тега в современных языках гипертекстовой разметки»… :)
Только если в комплекте идёт паяльник, прямые руки и ясность мысли :)
И такое часто бывает? Ужас!
Смотря где. В ИТМО с совсем уж хреновыми темами заворачивают ещё на стадии заявки.
Довольно часто, как ни печально.
И такую работу засчитывают? Её бы в трубочку свернуть и вставить в защитничка.
Да, я посмотрел в вашем профиле и удостоверился — вы не в России живёте :)
Вы бы еще рассказали о том пути, который вы прошли до мелкосерийного производства, тоже было бы интересно.
Да, очень интересно было бы посмотреть и на процесс производства
А где проблема? Заказываешь в китае платы, а потом паяешь на коленке. Дешево и сердито. Или отдаешь сборщикам которые будут тебе паять за зарплату. При партиях меньше сотни других вариантов нет. Еще можно платы заказывать на месте, но как правило это заметно дороже.
плат такой сложности особо не напрягаясь 5-6 штучек успевал паять за вечер.
www.adslclub.ru/upload/img/2012-06/18-20400795271.jpg
я вот себе переходнички делал: dangerousprototypes.com/forum/viewtopic.php?f=56&t=3389&p=37131#p37051
Еще делал часы из винта (писал тут на хабре) и мобильное питание для роутера.
Вот тут ребята делают модули для роботостроения (те, которые OR-): shop.roboforum.ru/category/elect/
2012 год. Уже все делается достаточно просто в плане логистики. Уже дело только за идеями.
ЦАП в AVR с USB не бывает, а встроенный в контроллер АЦП может выдавать максимум 200 kSPS, а здесь внешний АЦП с 350 kSPS. Размер флэша обычно ограничен в районе 32кб (есть больше, но не на много), а здесь установлена микросхема DataFlash емкостью 4 МБ. Поэтому такую аврку, в которой есть все эти модули просто не купить.
1) Отвечайте ПЛЗ в ветке комментов, я пока догадываюсь, что Вы дискутируете со мной, но в какой-то момент это может стать неочевидным
2) Обратите внимение на платы от ST. Там стоит на входе маленькая СТМ-ка, которая занимается USB, за ней стоит уже нормальный камень с АЦП, ЦАП, таймерами и прочими няшками. То же самое, если мне никто не изменяет, делают и на новых дунях — вместо ft232 ставят маленькую авр-ку с ЮСБ и основной камень занимается уже всякой нужной конкретному проекту лабудой.
Так делают, но это делает плату все равно дороже, здесь простой камень, и немного периферии.
Для того чтобы начать — в самый раз.
От работы на duino платформе отказались из-за языка на котором происходит работа с ардуино. Важно, чтобы пользователь понял, что здесь практически обыкновенный ansi C и ничего сложного в нем нет чтобы начать.
о, прикольно :-) вы не понимаете, что такое ардуино :-) А что мешает на асме под ардуино писать?
под ардуину вполне можно писать на си и зашивать код в контроллер используя стандартные средства разработки и ихний редактор вообще не открывать.
а можете поподробнее об этом? в частности, меня интересует протокол для работы c Arduino Mega 2560 (там написано что в нем есть four hardware UARTs for TTL (5V) serial communication). Как я понимаю, что все общение проходит через COM порт. Есть ли описание команд? Можно конечно попробовать реверс-инжиниринг библиотек, но буду рад, если дадите ссылку на доку. Заранее спасибо!
Прошивка любой атмеги (или почти любой) осуществляется по SPI. Для этих целей на плате есть 6-пиновый разъем. Купите программатор за 8 баксов и прошивайте атмегу как хотите и чем хотите. Для разработки можно использовать любую удобную вам среду.
В случае с ардуиной, там есть бутлоадер, который эмулирует STK*** по UART. Так и шьют. А в оригинале да, SPI и пишем.
возможно мы говорим о разных вещах, но как тогда заливают простенькие программы в контроллер? там же используются только USB и IDE
«обычный» контроллер серии atmega умеет прошиваться только по SPI.
некоторые имеют на борту УСБ и умеют прошиваться через него (их достаточно немного).
ардуина же содержит загрузчик(бутлоадер), который занимает пару килобайт памяти. и имеет на борту COM/Serial/uart порт. на этой же плате распаян преобразователь usb-com.
когда надо обновить прошивку, то через ком порт дергают пин reset. контроллер начинает грузиться и сначала передается управление загрузчику. загрузчик пару секунд ждет на КОМ порту данных. если данные пришли, и сигнатуры совпали то начинается прошивка, загрузчик перезаписывает оставшуюся память новой прошивкой.

другие среды разработки могут не знать про заргузчик ардуины, однако любые среды разработки умеют прошивать про SPI. потому я и говорю про внешний программатор.
man mega bootloader
man mega datasheet
На платах от ST «маленькая СТМ-ка» на входе стоит для возможности прошивки и отладки. Через нее, к сожалению, никак нельзя общаться с компьютером вне IDE.
кстати, надо это пофиксить :-)
Ничего не напутали? STM32 и LPCxxx ARM процы от разных контор.
не, ничо. семихостинг вроде есть в stm32. по крайней мере в CooCox я видел подключаемые модули semihosting для стм-ок. А вы про то, что STM32 и LPC — разные процы в какой-то книжке прочитали?
«вроде»? вы всегда когда в чем то не уверен предпочитаете грубить?
оба проца конечно cortex-m3, но они от разных контор, я же говорю, одинаковое ядро, разная периферия.
какая атака, о чем вы? мне очень приятно, что вы потратили на комментирование моего топика несколько часов своего ЛИЧНОГО времени, только побольше бы советов конструктивных, раз вы в теме, а не комментов в стиле:
«Это отстой, все отстой, плата лажа!!!» ок?
Да блин, зрите в корень — вопросы заданы, альтернативы указаны, слабые места подсвечены, удачи в бизнесе «пожелано». Ну вам что, в книжку это все оформить, чтобы вы восприняли? Это же не последнее, что вы делаете. Будут еще ревизии, новые платы. Чем раньше вы из оборонительной позиции «ах, мне нагрубили» перейдет к позитиву, тем богаче будете к пенсии, я так считаю.
Хо хо хо
работает блин
спасибо автору за провоцирующий холивар топик — каменты рулят.
а, переосмыслил камент. будем думать дальше :-)
Плате, как мне кажетс, не хватает отверстий для крепления. Особенно в районе USB гнезда. И опять же, интересует, как вы дошли до мелких серий, если это не на коленке делается. Патентовали что-либо?
Отверстий действительно не хватает, исправим в след. ревизии. Здесь нечего патентовать, схема открыта, любой по принципиальной схеме сможет собрать на коленке, свою такую же.
До мелкой серии дошли мелкими шагами, а самая первая версия была сделана ЛУТ.
Блин, я угадал влет :-) полторы.
А что под AVR архитектуру можно купить дешевле? Со сравнимым функционалом. Мне правда интересно, я как-то ничего не встречал. Только ардуина с конскими ценами на шилды. Ну или самому ЛУТить.
мега стоит меньше тысячи даже
а ардуино про я себе сам залутил. кстати, 328 мега стоила совсем негуманных денег — 300 что ли рублей или 350. и еще еле нашел блин на митинском рынке.
И где там переферия? Ни усб, ни ЦАП/АЦП, ни памяти,…
USB есть, ADC/DAC напроцессорный, памяти родной в общем-то вагон :)

А вообще, я уверен что если начинать — надо с STM. Зачем начинать с геморроя?!
Увы, но DACа там нет, а ADC с гораздо более низкими параметрами. Да и усб мягко говоря не полноценный.

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

А AVR против STM это все-таки холивар. На свете полно задач на которые AVR хватит за глаза. А использование / выбор архитектуры для начинающего определяется скорее объемом доступной документации и примеров. А если вспомнить как в наших учебных заведениях преподают иностранные языки, то желательно чтоб документация была еще и на русском.
Увы, STM решили выйти на рынок жестким демпингом — и этим решают.
Когда на кристалле есть всё нужное, и по цене ниже, чем просто кристалл без этого всего конкурента — я не вижу смысла париться с этим добром.

Если надо DAC/ADC — прекрасно решает ADuC847 — недорого, 8мибитный, но очень шустрый (12мГц, однотактное ядро). AVRы нервно курят в сторонке…
Для массового производства (от тысяч штук) да, демпинг решает, Т.к. стоимость разработки незначительна на фоне объемов.
Но если делать 10-100 штук, то цена контроллера уже значения не имеет. А имеет значение навыки программиста и доступность документации, примеров, готовых библиотек,…
надо ультрабюджетное? тогда пожалуйста — PICи. весь рынок ультрабюджетных зохапан ими.
pic16f1827 — 37 рублей! :-)
STM32F100C8T6B * 10шт = $18.93.
61.50 руб/штука.

А теперь сравните возможности.
Я атмега8 по 0.9бакса брал последний раз. Для мигалок/пищалок за глаза :)
Devboard стоит ~ $500, так что недорого
посмотрите на STMF4-Discovery. посмотрите, что есть на борту. посмотрите на цену. ну и на коменты выше. Я думаю: плата красивая, с ней можно играться и делать на ней замечательные вещи, в большую серию пускать не стоит, потому что дорого, не гибко (ну зачем мне за ЦАП и память платить, если я хочу мигать светодиодиком, например?). В общем, игрушка для себя.
Начинать знакомство с ARM сложнее, чем с легких восьмибитников,
и стоит это все не так дешево, как кажется $45 + доставка самая дешевая EMS $40, получается уже 2760р. Не дешево для макетки.
«Бесплатная доставка» — это когда покупаешь что-то в пределах 10 баксов, потому что не жалко, часто ведь совсем не приходит, вы бы знали, если бы часто заказывали вещи с китая.

То, что вы предлагаете это STM32, ARM Cortex-M3, новичку будет сложно.
Ну что вы в бутылку лезете?
1) Если не приходит — высылают заново или возвращают деньги. Проблем никаких. Заказываю часто.
2) А USB-стек в проект интегрировать новичку не сложно? А с таким количеством внешней периферии новичку не сложно работать?
3) А сколько места остается в вашем камне после того, как туда прописаны необходимые библиотеки для работы с тем же USB?
4) С темы с ардуиной вы соскочили. но я все-таки повторю вопрос — что мешает писать на Си или АСМ-е для дуни?
5) Зачем новичку семплинг рейт для АЦП? Новичку бы понять сперва что такое вообще АЦП, куда ему скорость? Сможет ли он обрабатывать данные с АЦП эффективно на таком камне?
ну и т.д. и т.п.
там нечего интегрировать, все работает через CDC-устройство, есть примеры, данные отправляются и получаются через виртуальный com-порт или hid-устройство.
Библиотека на которой все основана называется LUFA.

полная работающая программа управление ЦАП через виртуальный сом-порт USB занимает 19 % флеша.

ардуино — это модули, не нужен паяльник, писать можно на чем угодно.
Я заказываю много и часто, проблем с тем чтоб не пришло пока не было ни разу — если есть, возвращают деньги без проблем — escrow защита платежа работает прекрасно.
доставка реально бесплатная, я заказываю и за 35$ макетную плату, и за 250$ планшет — всё пришло, никаких проблем, и доставка реально бесплатная.
с платной доставкой тоже заказывал, тоже приходило.

Что сложного в ARM'е? Наоборот! Это просто си, готовые библиотеки, готовые примеры, и всё это легко собирается и можно пощупать тут же на устройстве — в разы проще чем keil-c для 8мибиток.
www.terraelectronica.ru/catalog.php?ID=1162&Search=1&Text=discovery&Gde=2&PageS=1 — 8-ми битники
www.terraelectronica.ru/catalog.php?ID=1162&Search=1&Text=discovery&Gde=2&PageS=1 — 32-х битники (Посмотреть на STM23VLDiscovery и на Ф4 (800 рублей — приезжаете в офис и забираете или доставка по России — но вы же за доставку тоже деньги берете?)
Ну как, моя критика конструктивна?
STM8 предлагаете?
Дайте хоть одну ссылку по этим МК на русском.

Их нет, и материалов мало, обучаться на STM8 в настоящее человеку без опыта сложно.
Ну и что, плат стоит 800 рублей, что вы с ней делать будете, если нет книг и нет статей-то?
Тем более эти платы — демпинг чистой воды, они продаются ниже своей себестоимости в ущерб фирме производителю МК с одной лишь целью — подсадить народ на свои камни.
Кстати, основной трабл со всеми этими МК — программирование. Мне как не программисту, сложнее всего писать код. Хабр — не то место, где стоит ныть по поводу «сложности написания кода». Если код сложно пистаь — надо не с вайринга на си пересаживать людей, а наоборот.
Я же вам говорю, что вся соль в том, что нет книг по STM8, а вы мне опять ссылку на макетку STM8.

Повторюсь, дайте ссылку на книгу по STM8 на русском, которая бы помогла начинающему разобраться с этими МК.
Есть одиночные источники, форумы, где делятся своими проблемами, но ни одной книги нет. Это показательно.
ваш комментарий очень показателен, к сожалению. удачи в бизнесе.
Что бы там ни говорили, но у атмела есть один неоспоримый плюс: это просто офигенная документация. В силу простоты и незамысловатости архитектуры есть возможность всё поместить в один хорошо структурированный PDF. А кроме того, тыщщи AN на кучу случаев из реальной жизни. Всё-таки, начинать программировать микроконтроллеры гораздо проще с простых архитектур. Тут вот давеча пару дней назад наблюдал ситуацию как из-за по-разному в разных местах описанной системы приоритетов STM-овского Cortex-M3 немолодые дядьки впадали в ступор. В случае AVRов же проблема не стоит, т.к. приоритеты там фиксированные. Да, Cortex-M3 быстрее и гибче, тут не поспоришь, но… всегда ли она нужна, гибкость-то эта?
А мне больше доки микрочипа нравятся. Но я тут делал драйвер bldc на stm32 и вполне сносно срисовал конструкцию с аппнота атмела. Какая разница, кто его написал, если дока годная?
Ну а про начинать я уже писал — проще, чем ардуино вряд ли выйдет.
Собственно, о чём и речь :) Просто крики «атмеловские изделия не нужны, давайте все дружно строчить на армах» несколько оторваны от реальности.
Не было таких криков, перечитайте комменты. Были крики — зачем плодить зоопарк из периферии, если можно поставить один камень. И были крики про негуманную цену. и прочие. про атмеловские изделия не нужны криков не было.
Я не говорю, что они были здесь. Просто часто раздаются в последнее время.
хотя крик хороший и годный, надо крикнуть все-таки. посмотрите на цены армов и на цены пик-ов и авр-ов.
Не знаю, как где, а в наших краях как-то авры и подешевле, и подоступнее. Не говоря уже о простоте разработки печатных плат под них.
У ST Microelectronics тоже документация на их STM32 не куриной лапой писана (:
Не куриной лапой, но у Атмела таки лучше. Читал и тех, и других, так что я в курсе :)
Это все круто, но, к сожалению, слишком далеко от начинающего.
Почему выбран, скажем прямо, не самый популярный AT90USB162?
Потому что он самый дешевый из AVR поддерживающих USB 2.0.
Ок, я так понимаю расчет шел на то, что будут разрабатываться устройства USB, а не только эмуляция COM порта(Для этого проще поставить копеечный CP2102). Тогда не понятно, чем вызвана необходимость добавить столько внешнего фарша. Логичнее выглядел бы небольшой девайс типа такого: www.pjrc.com/teensy/
Не подумайте что я придираюсь, просто пока не уяснил назначение макетки.
Опять же, поставьте себя на место новичка:
В интернете полно документации и примеров по arduino — фиг с ними.
Но большинтво примеров идет для Tiny/Mega.
Далее, я изучил как работает купленная демоборда, что я буду делать дальше? Делать на ней девайс — плата большая и дорогая. Делать свою плату? корпс TQFP32(или какой там применен) не особо располагает к пайке новичком.
Я понял Вас, после того, как вы изучили работу платы вы можете собрать свое устройство по принципиальной схеме, можете заменить проц под ваши нужды и тд. То что корпус не располает к пайке — это только в первый раз может не получиться. В любом случае если вы серьезно станете работать с микроконтроллерами в стартапе, придется сталкиваться и с куда меньшими корпусами.
DIP используется только в домашних условиях.
сверлить столько? нафик-нафик :-)
Просто до сих пор не очевидно, какой смысл мне брать плату за 1.5К, на не самом распространенном МК, если я могу взять попсовую arduino за 1000, поиграться с ней и клепать свои девайсы на том же Atmega328 в DIP корпусе, или, если захочу, научусь паять TQFP?
При том, что пимеров в интернете для arduino или голой mega я найду в разы больше?
Он может выиграть только одним — готовыми качественными библиотеками под запаянную переферию.
А пайка TQFP зря вас пугает, ниче сложного (если нормальное зрение и нормальное освещение)
Лично меня пайка TQFP не пугает, вполне паябельно :)
Мы же о новичках говорим? Не понимаю, почему все прицепились к arduino'вскому IDE?
Можно и не пользоваться, а писать в cvAVR или там AVRSTUDIO.
Зато обучение идет с кучей примеров, шилдов, либ и прочего. При том, что МК идет более популярный и распространенный, в куче разных корпусов.
Я просто оставлю это здесь: ATmega16U2/U4.
Да, это хороший вариант, есть планы делать именно на этом проце следующие платы.
Только вот у меня не очень получилось его купить. Поставщик меня кормил завтраками полгода, после чего я тупо на это дело забил. Когда понадобилось делать USB, взял ATmega32 и V-USB.
Мы на LUFA сидим, хорошая документация, много примеров.
V-USB хорош, если скорость не критичная и флеша достаточно.
LUFA предназначен для хардварного USB, насколько я помню. V-USB же представляет собой достаточно неплохой USB софтовый.
Хватит гнобить автора. Каждому продукту своя ниша. Сделано вполне качественно, а уж тем более зупущенно в серию. Зуслуживает уважения, я считаю.
Российский снобизм опять побеждает. Надо поддерживать автора, как человека, который сделал что-то не связанное с нефтегазовой иглой.

Респект, чувак тебе, успехов на данном поприще!!! Чуток бы пораньше сию новость и взял бы, но у меня уже ардуинка есть, а мне ее хватает для хобби.
В целом, это не в DIY а в «Я пиарюсь».
А нельзя на такую вот платку засунуть MIPS или ARM и мегабайт 256 RAM?
нет, к сожалению, нельзя. У АВР нет интерфейса для подключения RAM такого объема.
Мы просто со знакомым ищем платку для управления фрезерным станком. Там нужно уметь и Linux гонять, чтобы сложные модели подготавливать для вырезания, и иметь хорошие АЦП/ЦАП, для верчения моторами. Поэтому и вопрос. Было бы хорошо, если была бы аналогичная платка, с возможностью на ней нечто монтировать, но с более мощной вычислительной частью.
Посмотрите в сторону TI
например есть плата BeagleBone
нужен будет ddr, а это многослойка и необходимость в понимании, как его разводить.
цена с учетом типовой наценки в 30 раз вырастет до нескольких тысяч. примеры гуглить где-то в районе терраэлектроники.
А других типов памяти нет? А вообще, интересно тогда, чтобы можно было просто развести, на какой максимальный объём можно расчитывать?
Есть еще статическая память SRAM, она обычно бывает меньшего объема, и стоит дороже, это связано с технологическими особенностями. Если нужно больше 256МБ, то смотрите на DDR2 или 3 уже.
Просто развести DDR никак, там много слоев и много головной боли, автоматическому трассировщику такое не доверяют :)
а можно и самому собрать, хотя лучше наверно купить на ebay за 9 баксов.
Мне кажется все незаслуженно забывают про TI MSP430 и их лаунчпад. Взял в Самаре примерно за 350 руб и горя не знаю-понять что такое программирование МК и сделать пару полезных проектов можно легко и в лет
очень шаткое положение занимает MSP430. Потому что 16 бит, простые проекты можно делать на простых аврках, а проекты по-сложнее на ARM, а MSP430 вроде как и не при делах. Хотя камень хороший, с этим не поспоришь.
MSP430 вроде как и не при делах.

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

у msp430 огромная ниша — разберите настоящий мультиметр какой-нибудь, типа Fluke, угадайте что там стоит.
А плата с датчиком температуры только текущие данные показывает или может их как либо накапливать?
Данные можно сохранять в памяти, если например данные с датчика температуры снимаются 1 раз в 2 секунды, то памяти хватит на работу в течении 76 суток, прежде чем она заполниться. Другой вопрос — нужно найти хорошую батарею.
Хех. А я как-то подсел на ПЛИС в бытово-эксплуатационном плане. Тем более, с VHDL работаю только уж года как четыре.
Проект интересный. Неплохо было бы только еще дополнить магазин на сайте какими-то модулями (типа приведенных в статье) по приемлимым ценам. Это поспособствует начинающим. А то я помню как-то хотел сделать приемопередачу по Ethernet на плате Marsohod и был впечатлен ценой на Ethernet-board в Чип-и-Дипе. Пришлось самому делать в ПЛИСе приемопередатчик да еще и модуляцию физического уровня туда упихать. Как результат — передача кое как заработала, а прием, конечно, нет — согласующий трансформатор нужен как минимум )))
Модулями будем расширяться, это конечно, имел знакомство с плис, буквально помигался, ip ядро uart скачал, запустил — сложно, это более высокий уровень по сравнению с процессорами общего назначения.
Если не секрет, кто делал дизайн упаковки и кто ее производит?
Студия Артемия Лебедева :)
Sign up to leave a comment.

Articles