Главное меню
Мы солидарны с Украиной. Узнайте здесь, как можно поддержать Украину.

Arduino

Автор sasza, октября 28, 2015, 19:48

0 Пользователи и 1 гость просматривают эту тему.

antic

Цитата: Yougi от августа 27, 2016, 23:29
Вы, "профессионалы", делаете абсолютно то же самое.
Для нас радиоэлектроника не игра, а тяжкий труд
— Боже мой, боже мой, чем вы вынуждены заниматься! Но я спрашиваю вас, кто-то все-таки летит ведь к звёздам! Где-то строят мезонные реакторы! Где-то создают новую педагогику! Боже мой, совсем недавно я понял, что мы даже не захолустье, мы — заповедник! В глазах всего мира мы — заповедник глупости, невежества и порнократии.
АБС «Хищные вещи века»

Тайльнемер

Цитата: mnashe от августа 17, 2016, 09:30
А ведь я три раза проверял‼
Надо было проверять чётное число раз  ;D

Karakurt


Yougi

ЦитироватьДля нас радиоэлектроника не игра, а тяжкий труд
может стоит подумать о смене профессии?
Сам электронщик, но в упор не понимаю, где там тяжёлый труд...

antic

Любая работа - это тяжкий труд. Труд дан нам в наказание за грехи наши
— Боже мой, боже мой, чем вы вынуждены заниматься! Но я спрашиваю вас, кто-то все-таки летит ведь к звёздам! Где-то строят мезонные реакторы! Где-то создают новую педагогику! Боже мой, совсем недавно я понял, что мы даже не захолустье, мы — заповедник! В глазах всего мира мы — заповедник глупости, невежества и порнократии.
АБС «Хищные вещи века»

Bhudh

Цитата: Yougi от августа 29, 2016, 13:35Сам электронщик, но в упор не понимаю, где там тяжёлый труд...
Потаскали бы блоки от «Сетуни»...
Пиши, что думаешь, но думай, что пишешь.
MONEŌ ERGŌ MANEŌ.
Waheeba dokin ʔebi naha.
«каждый пост в интернете имеет коэффициент бреда» © Невский чукчо

Yougi

ЦитироватьПотаскали бы блоки от «Сетуни»...
Николай Филипыч Дубровский, который у нас телевидение преподавал, любил говаривать, что если инженер-электронщик не способен в одиночку затащить на 10 этаж УЛПЦТ-61, то это и не инженер вовсе...



mnashe

Цитата: Lodur от августа 30, 2016, 14:42
Что это? :o
Автор «Справочника инженера» так прикалывается. Я ж ссылки сохранил.
Адепт единственного числа и безродового склонения
שָׁלוֹם עֲלֵיכֶם!

Lodur

Цитата: mnashe от августа 30, 2016, 14:58
Цитата: Lodur от августа 30, 2016, 14:42
Что это? :o
Автор «Справочника инженера» так прикалывается. Я ж ссылки сохранил.
Не, я по ним сходил, но так и не понял, что это и откуда взялось. Теперь понял, то у выкладывавшего обострённое чувство юмора. Спасибо за пояснение.
8-й Девственник Лингвофорума

If the doors of perception were cleansed, everything would appear to man as it is: infinite. (W. Blake)
Какая потребителю разница, какой продукт лучше не работает?.. (Awwal12)

mnashe

Цитата: Lodur от августа 30, 2016, 15:54
Теперь понял, то у выкладывавшего обострённое чувство юмора.
Я так понял, что не у выкладывавшего, а у автора бумажной книги, а выложена она как есть.
Адепт единственного числа и безродового склонения
שָׁלוֹם עֲלֵיכֶם!

Yougi

Ну што, приехали китайские гешенки...
На ВинХР с полгига памяти можно среду программирования для ардуино накрячить? Сильно тормозить не будет?
Есть лаптоп неходовой, как раз пристроить для эмбеддерских экзекриций.

mnashe

Цитата: Yougi от сентября 13, 2016, 08:30
На ВинХР с полгига памяти можно среду программирования для ардуино накрячить? Сильно тормозить не будет?
Нормально, должно работать.
На всякий случай сразу предупрежу: под WinXP есть какой-то баг в линкере, начиная с 1.6.какой-то версии среды; вылазит при каких-то непонятных условиях, если столкнёшься с неожиданными ошибками компиляции с упоминанием «ld» в сообщении об ошибке — нужно будет заменить ld.exe на такой же из архива старой версии среды arduino.
Адепт единственного числа и безродового склонения
שָׁלוֹם עֲלֵיכֶם!

Yougi

 А не появился ли в околоардуинном мире какой-нибудь прогресс, связаный с отладкой?
Или кроме как в последовательный порт цыфики пулять и потом над ними медитировать - ничего лучше так и не придумали?

Andrey Lukyanov

Цитата: Yougi от июля 25, 2021, 17:48
А не появился ли в околоардуинном мире какой-нибудь прогресс, связаный с отладкой?
Или кроме как в последовательный порт цыфики пулять и потом над ними медитировать - ничего лучше так и не придумали?
Эмулятор надо использовать.

mnashe

Цитата: Yougi от июля 25, 2021, 17:48
А не появился ли в околоардуинном мире какой-нибудь прогресс, связаный с отладкой?
Или кроме как в последовательный порт цыфики пулять и потом над ними медитировать - ничего лучше так и не придумали?
Хороший вопрос.
У Microchip и то есть возможность отладки. Правда, я до сих пор ею ни разу не пользовался: это надо, во-первых, схему спроектировать так, чтобы линии прошивки свободны были (я обычно вешаю туда кнопки: во время прошивки они не нужны, а вот при отладке — наверняка потребуются), а во-вторых, на совсем старых мк отладки нет.
Недавно кучу времени потратил на отлаживание простой программы на PIC12F675. В симуляторе всё работало идеально, а на реальном мк — не работало. После попыток что-то индицировать единственным светодиодом, я решил временно пожертвовать кнопками и прицепил на их место четырёхразрядный индикатор на 74HC595 (благо был готовый). Это мне не сильно помогло, но хотя бы я исключил часть вариантов. В итоге я просто догадался, где может быть проблема: я включал АЦП в цикле непосредственно перед измерением, и оказалось, что он не успевал запуститься и поэтому выдавал неправильный результат. Предположение, что АЦП требует некоторого времени на инициализацию, у меня было с самого начала, но в Datasheet на мк об этом не было ни слова. И только после того, как я потратил кучу времени в попытках отловить ошибку, и убедился в отсутствии каких-либо ошибок в алгоритме, — я подумал в этом направлении ещё раз и специально открыл Application Note по АЦП — и моё предположение подтвердилось. Тогда я просто перестал выключать АЦП. Включаю его при инициализации программы и оставляю постоянно включённым.
Адепт единственного числа и безродового склонения
שָׁלוֹם עֲלֵיכֶם!

mnashe

Цитата: Andrey Lukyanov от июля 25, 2021, 18:13
Эмулятор надо использовать.
Эмулятором я пользуюсь очень много, но часто сталкиваюсь с ситуацией, когда в эмуляторе всё замечательно, а в железе не работает.
(Я всё ещё про PIC, но вряд ли есть существенная разница).
Адепт единственного числа и безродового склонения
שָׁלוֹם עֲלֵיכֶם!

mnashe

Кстати.
Хотя программа в принципе сейчас работает исправно, есть одна странность, которую мне не удаётся объяснить.

Покажу схему (разрезал пополам, чтобы уместить в 1000 пикселей, сохранив читабельность).


Силовая часть: повышающий DC-DC преобразователь (чтобы можно было использовать обычные сетевые блоки питания на 12 В 2 А, которых у меня много), на выходе которого драйвер светодиода.


К линиям VSS, GP0, GP1 микроконтроллера подключается потенциометр. 30 раз в секунду GP1 включается на выход (логическая единица), а с GP0, к которому подключён ползунок потенциометра, АЦП считывает напряжение (относительно VDD). Затем программа преобразует измеренное положение потенциометра в относительную яркость по такой формуле:
y=exp(ln(5000)·exp(ln(x)·1.25))
(экспонента с предварительной «гамма»-компенсацией; 1:5000 — это максимальный допустимый уровень понижения яркости для светодиодного драйвера PT4115)

Offtop
Конечно, 8 битный мк, в котором даже операции умножения нету, не считает по формуле, а использует таблицу, и у меня был интересный challenge уместить таблицу соотношений duty cycle / period для 1024 значений, которые могут получиться на выходе АЦП, в 1 кБ памяти мк вместе с программой. Но у меня получилось :). Таблица заняла около трети его памяти.

Если нажать кнопку, то программа переходит в кнопочный режим управления. Покрутив потенциометр на ⅛ оборота в любую сторону, можно перейти обратно в «аналоговый» режим.

Так вот, в чём вопрос: провода, на которых прицеплен потенциометр, довольно длинные, порядка 40см. Естественно, они ловят помехи (несмотря на то, что скручены). Но помехи эти странные какие-то. Не постоянные колебания, а время от времени, совершенно хаотически, на мгновение лампа слегка тускнеет. Как будто муха пролетела. Иногда через 5–10 секунд, иногда через полминуты, никакой закономерности я не нашёл.
Помеха явно ловится этими проводами, потому что если нажать кнопку, помехи исчезают (пока не вернёшься в аналоговый режим).
Откуда может идти такая помеха? :???
Адепт единственного числа и безродового склонения
שָׁלוֹם עֲלֵיכֶם!

Andrey Lukyanov

Цитата: mnashe от июля 25, 2021, 18:22
Эмулятором я пользуюсь очень много, но часто сталкиваюсь с ситуацией, когда в эмуляторе всё замечательно, а в железе не работает.
Значит, эмулятор плохой.

mnashe

Цитата: Andrey Lukyanov от июля 25, 2021, 19:24
Значит, эмулятор плохой.
Ну, я не знаю таких эмуляторов, которые учитывают все эти особенности, типа той, что я упомянул.
В другой ситуации в эмуляторе программа работала, потому что все порты (про которые в datasheet не указано значение после сброса) там инициализировались в ноль, тогда как в железе в них может быть что угодно (я перепутал, думая, что тот конкретный порт инициализируется, и не трогал его в программе).
Адепт единственного числа и безродового склонения
שָׁלוֹם עֲלֵיכֶם!

Yougi

ЦитироватьПомеха явно ловится этими проводами, потому что если нажать кнопку, помехи исчезают (пока не вернёшься в аналоговый режим).
пару дросселей в провода; первая мысль - наводка от сотового.
ЦитироватьЭмулятор надо использовать.
Протеус денег хочет, а больше никто, ИМХО, ардуину не умеет.

mnashe

Цитата: Yougi от июля 25, 2021, 19:38
пару дросселей в провода; первая мысль - наводка от сотового.
Спасибо!
А пару дросселей — это на какие линии? Вход и выход (GP0 и GP1)?
Или две штуки на концах одного провода?

Ой, проблема. Если поставить дроссели, то нужно будет значительно увеличить задержку между включением GP1 и запуском АЦП.
Сейчас она совсем небольшая, 12 мс (подобрал опытным путём и чуть увеличил для надёжности).
По большому счёту, можно было бы вообще не заморачиваться, а держать потенциометр постоянно висящим между VSS и VDD. Всего треть миллиампера (она всё время остаётся включённой). Это ж не фонарик на батарейном питании.
Но у меня всё равно был лишний выход мк, и я его задействовал для минимизации потребления. Включаю потенциометр только на время измерения (30 раз в секунду), и сразу выключаю.
Адепт единственного числа и безродового склонения
שָׁלוֹם עֲלֵיכֶם!

Yougi

 Да на все три можно поставить. Взять ферритовое колечко небольшое, тремя сложенными вместе проводами намотать 5-7 витков ( сколько влезет ) и подключить потенциометр ( дроссель ближе к контроллерной части).
С картинками на форуме засада, а то бы нарисовал. 30 герц для такого дросселя - тьфу, ничего. Задержка незаметна будет. А всякую ВЧ-дрянь он отсечёт.
Ну или совсем просто - намотать с небольшим шагом провод на хвост потенциометра и посадить его на землю. Но дроссель эффективнее.

ivanovgoga

Чуствительность у ацп какая? 8 бит это вроде 48 дб входных сигналов. Опорное напряжение какое 2вольта? Сколько там милливольт 15 получается чувствительность?  Возможно блоки питания от других импульсников пролазят по сети и и по эфиру и просто вызывают кучу биений в проводниках. А любые нелинейные элементы, вроде ограничивающих диодов станут смесителями и создадут еще кучу биений. Импульсники вообще зло.
Дроссель может поможет, а может у вас пульсации вообще с самого блока питания. Попробуйте сначала с аккумулятора запитать.
Мозг состоит на 80 процентов из жидкости, и мало того, что она тормозная, так многим еще ее конкретно не долили...

Быстрый ответ

Обратите внимание: данное сообщение не будет отображаться, пока модератор не одобрит его.

Имя:
Имейл:
Проверка:
Оставьте это поле пустым:
Наберите символы, которые изображены на картинке
Прослушать / Запросить другое изображение

Наберите символы, которые изображены на картинке:

√36:
ALT+S — отправить
ALT+P — предварительный просмотр