Arduino
|
Ответ: Статика
О! Ардуинщикам привет =) потом покажу кому интересно, что у меня получилось ))
|
Ответ: Статика
Цитата:
По теме: а что насчёт флешек, внешних HDD? |
Ответ: Статика
Цитата:
|
Ответ: Статика
Получается, что после заливики программа будет выполняться всегда при наличии питания. Таким образом, чтобы "успокоить" подключённую плату нужно залить "пустышку" или есть кнопка стенд-бай?
|
Ответ: Статика
либо пустышку да, либо самому врезать в цепь питания кнопку ее отключающую. Может и еще способы есть.
|
Ответ: Статика
Ну, на AVR (да и многих других МК, возможно на всех) есть ножка Reset. Дёргая её можно перезагружать МК, а если просто подать постоянную логическую единицу - МК по факту будет в состоянии недо-stand-by. Но лучше программно повесить одну ножку на кнопку и этой кнопкой основную часть программы включать/выключать.
|
Ответ: Статика
Большинство моих поделок дальше макетки не уходят.
Платы нигде не заказываю и не травлю, если чо-то и паяю, то вот на таких макетках: Можно залочить кристал, чтобы прошивку нельзя было считать, но я никогда этого не делал, потому что не было такой нужды. Про реализации USB хоста я не слышал, да и USB флешки никто в здравом уме подключать не будет, а вот SD карты без проблем, но опять же без аппаратной поддержки (реализуется программно путём дёрганья ног по специальному протоколу).Ну точнее, есть аппаратный SPI, который обычно и используют для подключения к SD картам, но он отвечает лишь за отправку и приём одного байта по проводам, а сам протокол реализуется программно. Но ничто не мешает и SPI сделать программно (многие, я в том числе, делают так на микроконтроллере ATtiny85, у которого нет аппаратного SPI). Прошивки пишу на чистом Си, ардуиновские среду и либы не использую. Программа, если писать на Си, выполняется как обычно, точка входа - функция main, как только она закончилась, контроллер перестаёт что-либо делать (ну кроме прерываний, наверно). Прерывания - это что-то вроде отдельных функций, которые вызываются по определённому событию. То есть если сейчас выполнялся основной поток программы, то он останавливается на текущей инструкции, выполняется прерывание, а потом программа продолжает выполнение с того момента, где остановилась. Нужно постоянно следить за атомарностью и отключать прерывания во время выполнения операций, для которых важна целостность. Если где-то в основном потоке программы делаем counter++; и в то же время где-то в прерывании есть counter = 0; то всё обязательно в какой-то непредсказуемый момент пойдёт не так, потому что инкремент занимает несколько инструкций процессора и прерывание может вклиниться где-то между ними. Прерывания есть разные, например: через каждые N тактов процессора, приём байта по SPI или UART, при смене логического уровня на ножке (повесь туда кнопку и будешь иметь событие нажатия этой кнопки, которое мгновенно реагирует). Впрочем кнопки обычно обрабатывают в основном цикле программы, потому что кнопки часто объединяют в матрицы (как в клавиатурах) и нужно производить их опрос. |
Ответ: Статика
Кстати реверс прошивки их HEX несложен, ибо инструкций у МК немного и алгоритмы там обычно применяются достаточно простые.
Есть еще один подводный камень с питанием МК. Если плавно снижать питание (например подключив к параллельно кондесатор на 2000 мкФ), то при достижении некоторого напряжения МК не может быть в каком-то определенном состоянии и начинает рандомно выполнять инструкции, иногда дело доходит до того, что повреждается прошивка. Я сам с этим столкнулся несколько раз. Теперь использую схему со стабилизатором напряжения (7805) и парочкой керамических конденсаторов маленькой емкости (1-2 мкФ) - это обеспечивает резкое выключение питания процессора при пропадании напряжения на входе стабилизатора. |
Ответ: Статика
Офигеть, не сталкивался с таким. У меня пока только у одной ATtiny85 ножка сгорела.
|
Ответ: Статика
Цитата:
Цитата:
Цитата:
|
Ответ: Статика
Вроде бы там уже есть на плате стабилизатор.
Кстати, платы делать не столько сложно, сколько долго. Сначала рисуешь плату в Sprint Layout, потом печатаешь на лазерном принтере, подготавливаешь текстолит (пошкурить нулевкой, прокипятить в воде со стиральным порошком для обезжиривания). Далее переводишь рисунок на плату утюгом, потом начинаешь химичить по вкусу - хлорид железа (III) или персульфат аммония или лимонная кислота + соль + перекись. Медь травится довольно медленно, поэтому надо подогревать раствор и постоянно перемешивать его. Потом идет сверление отверстий, залуживание платы, и наконец пайка деталей. В итоге только на технологическую часть уходит около двух часов при наличии опыта, а на рисование платы в несколько раз больше (в зависимости от сложности, конечно). Так что да, макетка с пятачками это выход, но собранное устройство выглядит как правило неказисто. |
Ответ: Статика
Отвечаю на вопросы Импера.
Вот смотри: Сборка на макетной плате разной степени убогости. В своё время, когда жил с родителями, купил лазерный принтер с задумкой, что может буду травить платы, но на то время это были только идеи, на деле я электроникой почти не занимался. Сейчас у меня принтера нет и ставить его некуда, поэтому изготовлением плат даже не пытаюсь заниматься. Но даже перед тем как паять что-то на макетке с пятачками, я теперь рисую схему в Sprint-Layout, чтобы более компактно разнести все детали па площади платы и правильно развести землю. Ну а на пластиковой макетке собираю прямо на лету из головы. Написание прошивки занимает гораздо большее время, чем собирание деталек на макетке. Поэтому сначала как лего собираешь, а потом уже сидишь за ноутбуком и кодишь. Последнее время задумываюсь сделать беспроводной программатор и UART, потому что провода USB от ноутбука мешают, так как сижу обычно на диване, а ноутбук на коленях. Синхронизация осуществляется при помощи манипуляции битов в различных регистрах. Есть бит, которым можно разрешить или запретить все прерывания одним махом, но кроме того есть биты в разных регистрах для манипуляции каждым прерыванием по отдельности. По умолчанию в компиляторах Си предлагается к использованию макрос при объявлении функции-прерывания, который блокирует все прерывания при входе в прерывание и разрешает при выходе. Таким образом все прерывания будут выполняться последовательно (прерывание непрерывно, лол). Но при желании можно добиться поведения, когда прерывания будут вклиниваться в другие прерывания, но говорят, что это может привести к проблемам. Я с ассемблером знаком мало, но вроде бы для компилятора вызов каждого прерывания - это довольно напряжная ситуация, потому что это происходит в непредсказуемый момент времени и нужно правильно эти ситуации разруливать. А при нескольких вложенных прерываниях, то ли регистров общего назначения на всё может не хватить, то ли ещё чо-то там. Может кто-то из булочников разъяснит подробнее. В ардуиноподобных платах ставят стабилизатор на 3.3 или 5 вольт, смотря что требуется. При 3.3 вольт производителем микроконтроллеров не гарантируется стабильная работа на максимальной частоте. Кстати сказать, если вы не делаете систему управления ракетами, то нефиг делать завести ардуину хоть на 25 мегагерцах, хотя производитель рекомендует максимум 16. А если использовать внешний генератор тактовых сигналов, то мне кажется можно и выше. Только при разгоне учитывайте, что микросхема, реализующая UART (это как COM порт в компе, только с 5 вольтами на контактах), не будет работать с некоторыми значениями скорости (как правило слишком высокими). То есть если разгоняемое приложение предполагает работу с UART на высоких скоростях, то тестируйте заранее - будут проблемы 100%. Хотя может если брать не китайскую ардуину с нормальным UART, может проблем и не будет. |
Ответ: Статика
Олсо вот такого типа макетки — малаца, если по-быстрому проверить что-то. Но конечно не может быть и речи, чтобы потом на практике такое устройство юзать. Можно так ещё, максимум-колхоз. |
Ответ: Статика
Ни одна моя поделка не выглядела так страшно :-D
|
Ответ: Статика
я пока изучаю базу, пока с китая едут части моей будущей "умной розетки" )) хочу попробовать сделать свой вариант с блекджеком и остальным на базе модуля ESP-01
Ардуинку использовать буду только как RX-TX переходник по сути )) |
Ответ: Статика
Цитата:
У меня валяется горстка ESP модулей, но чо-то пока ничего не придумал, что с ними сделать. |
Ответ: Статика
Цитата:
Из фич, которые не реализованы в обычных розетках хочу сделать режим работы по часовым/суточным/сезонным/годовым графикам с обновлением графика на сервере. Управлять все это будет электрическим отоплением. Как то так |
Ответ: Статика
Цитата:
|
Ответ: Статика
Цитата:
И что насчёт питания платы не от USB - нужно внешний блок питания готовый приобрести или самому чего собирать выгоднее? |
Ответ: Статика
Цитата:
|
Ответ: Arduino
Ну вот случай: собрал я, предположим, схемку на макетке - хочу ПроЭкт обкатать на практике. А в месте использования из питания - только 220v. Что лучше: блок батарей (но ведь там ещё надо обвязку?), понижающий трансформатор от электросети или адаптер для USB от бытовой розетки?
|
Ответ: Arduino
Цитата:
|
Ответ: Arduino
Цитата:
UPD: Еще, кстати не рекомендуют ардуинку питать от 5 вольт - это по поводу USB. Стабильно работает в диапазоне от 7 до 12В, при пяти может начать логика сбоить при длительной работе. Я бы понижал трансом с 220 до 9 вольт (хотя так как руки из жопы, то в моем проекте идет все равно транс 220/5, а затем еще понижение 5/3.3 для двухступенчатой логики) |
Ответ: Arduino
|
Ответ: Статика
Цитата:
Для питания подключай любую современную телефонную зарядку, они уж не меньше одного ампера выдают, даже для перифирии хватит. Но только если у тебя не Raspberry PI или что-то в этом роде, она у меня при нагрузке жалуется на недостаток питания даже при подключении к двухамперному заряднику от Nexus 7. |
Ответ: Arduino
Цитата:
UPD: Хотя в принципе логика тут есть, потому что в документации к стабилизатору AMS1117 фигурирует значение в 6.5 вольт при котором на выходе будет 5. То есть, я так понимаю, на входе должно быть не менее 6.5 вольт для стабильных пяти на выходе. А если уж на входе будет меньше, то на выходе вообще как повезёт. Но кстати, ничто не мешает при большом желании запитать ардуину ПОСЛЕ стабилизатора. Вдруг в используемом блоке питания уже стоит свой стабилизатор и это заведомо известно. В общем да, надо рассматривать каждый вариант отдельно, если важны стабильность и оптимальность. |
Ответ: Arduino
Цитата:
На мой взгляд выбирать продавца по рейтингу и отзывам нужно если покупаешь что-то более дорогое, чем ардуины, типа одежды, кухонной утвари и т. п. Либо если наличие брака в товаре будет потом сложно доказать (например, покупаете аккумулятор, но при этом не имеете в руках каких-либо приборов для проверки его ёмкости, чтобы снять на видео). Или ещё вариант: нужно получить товар как можно скорее. Мне обычно на скорость пофиг. Я всё хочу получить уровень А4 на Али, но пока никак, не хватает 740 очков на данный момент. Сложно зарабатывать очки, когда большинство твоих покупок - это всякая ардиуноподобная фигня, стоимостью до двух-трёх долларов (за покупки ниже двух долларов очки не дают). |
Ответ: Arduino
Забейте на дуины, конечно проект уровня Hello led оно потянет, но уже скоро захочется сконнектить ее с чем то более крупным ( интернетом например), и тут начнутся проблемы.
Лучше сразу брать Esp8266. Тут тебе и pwm и gpio и шины i2c uart итд, а самое главное что ее можно кодить из под arduino ide! Проц там конечно дикий, за счет чего эта малютка тащит Wifi стек, крутит сервера (веб, веб сокетс итд) и еще время остается. ps http://mysku.ru/blog/china-stores/48213.html |
Ответ: Arduino
Цитата:
Вот делал я самодельный эмбилайт. За каким фигом там нужна ESP8266? А для некоторых интересных штук никакой микроконтроллер и вовсе не нужен. Вот, например, левитатор. К сожалению на ютубе нет, поэтому как видео в посте не могу выложить. |
Ответ: Arduino
Цитата:
А на счет портов - были бы деньги :-D У меня давно лежит по сути готовый проект esp8266 в формате Arduino UNO с полностью импульсным питанием, контроллером для лития, с поддержкой шима на всех gpio и полноценными 8шт ацп 16бит. (цена такого девайса выходит не многим больше, +-280р) Цитата:
Для эмбилайта конечно пойдет, но если ты задумаешь как то связать свою поделку с миром то есп тут лучшее решение, а там где не нужно 1001 Gpio так вообще идеально заходит. А вообще https://vimeo.com/125238491 (только с wifi) |
Ответ: Arduino
Солидарен с Phantom. В большинстве штуковин с мк, больше ATtiny или ATMega совершенно не нужно. Кому не хватает выводов, используйте динамическую адресацию.
Я очень рад тому, что мк отсеивает желающих говнокодить на нем используя js или python - человек натыкается на си и бросает свои потуги, ну или говнокодит на ардуино и жалуется что ему не хватает 8-32 кб ппзу и <2 кб озу для своей поделки. И самое главное что мк до сих пор сохраняют высокий порог вхождения, что делает экосистему чище. Обратный пример тому современный геймдев с юнити и уе - все засрано настолько, что крупицы золота приходится вытаскивать из кучи говна. |
Ответ: Arduino
Цитата:
Мы же обсуждаем разницу между ESP8266 и Ардуино. Если нужен Wi-Fi, то безусловно надо брать ESP, если Wi-Fi не нужен, то ATmega (или даже ATtiny) или STM32 (с ним я пока не работал, потому что как правило возможностей ATmega328 хватает). |
Ответ: Arduino
Цитата:
Цитата:
(сам переезжал на stmf32, но никаких больших преимуществ между ней и стариком Atmega328 я не заметил) |
Ответ: Arduino
Цитата:
|
Ответ: Arduino
Цитата:
|
Ответ: Arduino
Цитата:
P.S. Жена моя и не скрывается ни от кого, как и я. |
Ответ: Статика
Цитата:
|
Ответ: Статика
Я вообще для рисования использую Fritzing, это конечно извращение, но в принципе для моих нужд пойдет. В чем плюсы:
1) Можно визуализировать схемы подключения в том числе и на макетной плате 2) Есть вариант посмотреть собранное в принципиальной схеме 3) *для извратов* можно трассировать дорожки для подготовки печатной платы, не пробовал но сама возможность радует. Использую для визуализации собранных схем в своих уроках Из минусов - не всегда присоединения корректно рисуются, есть много мелких необязательных действий (типа дополнительные нажатия кнопок для разворота элемента). Трассировка иногда работает по непонятным законам и вместо прямой линии может выдать адскую загогулину с левыми отпайками. В целом, потенциал есть. Прога заточена под разработку макетов |
Ответ: Arduino
Использую Proteus (ISIS и ARES) для создания схемы, её симулирования и разводки для последующего создания готовой платы. Пока что не встречал инструмента мощнее, в котором попутно ещё и обкатать всё сходу (при этом можно даже для МК писать прошивки не выходя из симулятора, крутотень же!).
Последним вот чего наваял (забыл ещё написать, что есть экспорт 3d модели): Это плата для сервоприводов моего робота (в 3d показана "эволюция" разработки от большой к маленькой). Родные почти на всех сервах погорели, потому пришлось придумывать свою, с портвейном и куртизанками (в лице, как минимум, отдачи в "сеть" робота текущего положения качалки и вообще - общения серв друг между другом и с пижевикой). Размер платы мизерный, потому такое расположение элементов и стрёмная разводка дорожек. Осталось всё это дело сбацать для теста, а потом сбацать 20 таких рабочих плат... И надеяться на то, что не погорят моторчики в сервах, иначе все старания будут напрасны :-D но если они погорят, то тогда будет реализован полный потенциал платы - найду 12в моторы (что бы тока хавали в 2.5 раза меньше), тогда не нужно будет изобретать блок питания на 5В 40А (200 ВТ минимум, при размерах с кредитку) для питания всех серв :-D |
Ответ: Статика
Цитата:
Но там ещё с версиями путаница какая-то, вот цитата с cxem.net: Цитата:
|
Ответ: Статика
Цитата:
Видел такие картинки, даже было интересно как их делают, но не настолько, чтобы лезть гуглить. А что за уроки? |
Ответ: Arduino
Цитата:
P.S. Жаль у меня осциллографа нет. Бывает нужен редко, поэтому как-то жаба душит его покупать. Да и хз какой выбрать. |
Ответ: Статика
Цитата:
На канале кроме ардуино много и другого, если что ) |
Ответ: Arduino
Цитата:
|
Ответ: Arduino
Я постоянно на алиэкспрессе заказываю детали и комплектующие, на почте уже паспорт не спрашивают, в лицо знают. Постоянно приходит не одно, так другое, так что постоянно есть с чем новеньким поиграться. Но вообще понятное дело, каждому своё. Если пилишь какой-то глобальный проект и детали нужны здесь и сейчас, то эмулятор, наверное, выход. А на радиорынке местном я только МГТФ провод покупаю.
|
Ответ: Arduino
Да, осциллограф очень важен для мк и работой шим. Я в свое время собирал ИК станцию на Atmega16, писал отдельный софт на ПК для управления станцией. И все это работаеь через com порт. Станция была собрана, верхний и нижний подогрев, регулеровка мощности верхнего и нижнего подогрева. Установка термопрофилей. Термопары использовал K типа уже с компенсацией холодного спая, на микросхеме max6675. Их три штуки стояло. Верх, низ ну и сама плата соответственно которую жарим. Времени на сборку и написания прошивки потратил много, но результатом очень доволен остался. :) вообщем атмега очень нужная вещь :)
|
Ответ: Arduino
В общем с прогами - только платные варианты?
|
Ответ: Arduino
А зачем вообще ардуину использовать? Проще уже сам кристал купить, программатор и варганить, что душе угодно :) прошивку я писал на атмел студио. И она бесплатная.
|
Ответ: Arduino
Цитата:
|
Ответ: Arduino
Цитата:
|
Ответ: Arduino
Цитата:
|
Ответ: Arduino
Загрузчиком тоже ни разу не пользовался, так как не вижу смысла обновлять прошивку с ПК. Мне проще программатор ципануть и прошить. Но если собранный девайс идёт куда то на продажу и в дальнейшем будут выходить обновления для прошивки, вот тогда стоит задуматься о бутлоадере.
|
Ответ: Статика
Цитата:
Цитата:
Где то видео видел тип управлял 760 светодиодами на атмеге 16 вроде бы :-D вот это да, я даже боюсь на код взглянуть))) |
Ответ: Статика
Цитата:
В большинстве микроконтроллеров AVR 8-битный ШИМ работает максимум на 62.5 килогерц. Согласно википедии в усилителях D класса используется ШИМ на частоте 500 килогерц, но я подозреваю, что бывает и больше. Если реализовать программный ШИМ, то частота будет в разы меньше 62.5 килогерц. Ну а если вспомнить рекомендации товарища Найквиста, то мы поймём, что максимальная частота воспроизводимого звука будет в два раза ниже, чем частота дискретизации (а частота дискретизации не может быть выше, чем частота ШИМ, в идеале частота ШИМ должна быть в разы выше). И в итоге мы не получим никаких стандартных 44100 герц дискретизации, да даже 8000 герц не получим! В предыдущем посте я упоминал микроконтроллер ATtiny85 (есть варианты: ATtiny25/45/85), в котором есть уникальная фича (среди микроконтроллеров Atmel по крайней мере) умножения частоты. Это позволяет использовать восьмибитный ШИМ на частоте 250 килогерц, что уже теоретически может дать неплохое качество воспроизведения звука. Чтобы не быть голословным, вот вам таблица: извиняюсь за качество, хостинг картинок такой В самой последней колонке находим разрешение 8 полных бит, а в самой левой колонке смотрим частоту. Но у этого микроконтроллера проблема в том, что несмотря на умножитель частоты, он урезан по всем остальным фронтам: он восьмивыводной, пинов катастрофически ни на что не хватает, нет аппаратного SPI. Я не понимаю, почему Atmel не реализовал эту фичу в популярных моделях ATmega, наверно, здесь скрывается какой-то маркетинг. Но на самом деле, как показывают мои эксперименты, даже частота 62.5 килогерца обеспечивает очень приличный звук, который сгодится для многих целей. А на дешёвых колонках я даже разницу особо не услышал между внешней звуковухой саундбластер и ШИМом AVR (подробности ниже). Но есть нюанс. 8-битный звук звучит очень паршиво, тут дело уже не в ШИМ, а просто в потере информации об амплитуде. Можно увеличить разрядность путём уменьшения частоты ШИМ, но на каждый выигранный бит разрядности мы теряем в частоте вдвое. Мы не можем себе позволить потерять в частоте даже в два раза, так как 62.5 / 2 = 31.25 килогерц, а это меньше стандартных 44.1 (а ведь мы стремимся хотя бы к минимальным стандартам). Поэтому можно использовать два ШИМ канала для теоретического увеличения разрядности вдвое! На практике невозможно добиться точного 16-битного звука из-за существующего сопротивления переходов выходных ключевых транзисторов внутри микроконтроллера, разброса параметров и прочего несовершенства этого мира, но тем не менее при помощи многооборотного подстроечного резистора мне удалось получить достаточно чистый звук без артефактов, пусть с точностью не в 16 бит, но по крайней мере в 13-14 я так думаю. Вы думаете, что это всё? Нифига подобного, если разогнать микроконтроллер путём подключения внешнего генератора или заменой резонатора эдак на 24-25 мегагерц, то получится реализовать В соседней теме я рассуждаю о том, что хочу попробовать воспроизводить звук ЦАПом MCP4725. Он дешёвый, но 12-битный. В этом варианте я вижу плюсы в том, что не потребуется точная настройка конечного устройства по сравнению с двумя 8-битными ШИМ каналами, и кроме того здесь вообще не будет ШИМ, а значит не нужно фильтровать несущую частоту, да и настоящий ЦАП - это всегда лучше, чем ШИМ. Начинал пост как ответ, а в итоге почти статья получилась. :cool: |
Ответ: Arduino
Вот, кстати, нашёл свой архив с аудиозаписями экспериментов. Там три записи.
1) Пример 8-битного звука, конвертирован в моно из flac. 2) Пример 16-битного звука, конвертирован в моно из flac. 3) Пример звучания файла из пункта 2 при помощи двух ШИМ выходов AVR по технологии, описанной в предыдущем посте. Звук передавался с компа по UART при помощи node.js. Запись велась через линейный вход звуковухи Саундбластер. На третьей записи можно услышать тихий цифровой шум на фоне, но как в последствии оказалось, это была земляная петля, которую я нещадно в последствии истребил, и звук стал чистым. К сожалению примеров записи самого конечного варианта нет, а поделку эту я уже с макетки разобрал. Надеюсь кого-то заинтригует и побудит проводить собственные эксперименты. ;) |
Ответ: Arduino
а мне вчера приехал стабилизатор AM1117, который наконец дает мне возможность подключить ESP к ардуино без проблем с питанием для первых экспериментов.
Я конечно не такой знаток в микроконтроллерах, но интересно блин ))) |
Ответ: Arduino
Цитата:
|
Ответ: Arduino
А как прицепить 24 вольтовый шаговик к ардуине?
|
Ответ: Arduino
Попробуй через L293d. http://arduino-diy.com/arduino-shagovyy-dvigatel-osnovy.
Главное чтобы шаговик не ел более 400мА на обмотку. Для мощных движков можно использовать L298n. На ардуину конкретно код не писал, но примеров уйма на эти микрухи. |
Ответ: Arduino
Или транзисторами от материнки как я, они в пиках до 50 ампер выдерживают, судя по даташиту. При температуре 100 градусов по Цельсию до 35 ампер.
|
Ответ: Arduino
Цитата:
P.S. А так при полупроводники достаточно чувствительны к температуре, до 100 градусов я бы не доводил :) |
Ответ: Arduino
Все это конечно хорошо, только двигло у меня на 24 вольта
|
Ответ: Arduino
Цитата:
|
Часовой пояс GMT +4, время: 12:41. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot