Arduino - современные технологии в радио.

Модератор: Radiomann

Ответить
Аватара пользователя
Radiomann
Сообщения: 8043
Зарегистрирован: Чт мар 03, 2011 11:02 pm

Arduino - современные технологии в радио.

Сообщение Radiomann » Пн ноя 30, 2015 11:26 pm

Уважаемые коллеги! Понемногу жизнь движется вперёд. На смену старым
технологиям в радио приходят всё новые и новые.
Эта тема и открыта как раз для того, чтобы постараться идти в ногу со временем.
Наш уважаемый коллега Игорь (IG_58), думаю любезно согласится нам рассказать о новшествах в мире радиотехнических технологий и в частности о Arduino.
Последний раз редактировалось Radiomann Вт дек 01, 2015 7:04 pm, всего редактировалось 1 раз.
Кутник Фёдор Фридрихович.
Ищу заднюю крышку VEF-Spidola или Spidola. Можно корпус-донор.

https://www.youtube.com/watch?v=65jaKGOuNs0
https://www.youtube.com/watch?v=ovkn_8sFfes

IG_58
Сообщения: 2231
Зарегистрирован: Вт дек 25, 2012 5:36 pm
Откуда: Германия

Сообщение IG_58 » Вт дек 01, 2015 12:40 am

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

Сначала о том, что такое вообще за зверь такой - программируемый контроллер, и зачем он нужен. Вообще, слово контроллер - англ. controller - происходит от глагола to control, т.е., управлять. Заметьте, не контролировать, а именно управлять. Т.е., контроллер - это устройство управления чем-нибудь, причем управления автоматического. А программируемый контроллер - это такое устройство управления, которое может быть запрограммировано так, чтобы автоматически управлять механизмом или прибором.

В соседнем топике про спортивный приемник, например, маленький програмируемый контроллер Arduino стоимостью пару долларов управляет генерированием частоты DDS VFO, S-метром, автоматическим переключением диапазонов, да еще и предоставляет человеку возможность визуализации своей деятельности и управления процессом.

О том, как это делается, чуть позже, а пока немного истории и теории.
Тут нам без теории не обойтись, т.к. нужно договориться о терминах и одинаково понимать, что и зачем делает контроллер. Но теории будет мало и просто.

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

Представьте себе, что Вам нужно автоматизировать какой-нибудь механизм. Например, эскалатор. Сейчас мы опишем его логику работы, т.е., алгоритм, по которому работает система управления эскалатором:
1. Если на эскалаторе никого нет, он должен стоять.
2. Эскалатор должен автоматически включаться, если в поле зрения фотоэлемента попадает человек.
3. Эскалатор должен автоматически выключаться, если на нем уже какое-то время никого нет.

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

Эта система построена по так называемой жесткой логике. Эту логику можно изменить только перекоммутировав контакты, катушки реле, а если нужно, то придется добавить еще реле и т.п.

Представьте себе, что вы изготавливаете эскалаторы на заказ, причем заказы, как правило, отличаются друг от друга (тут нужно поставить еще кнопку, останавливающую эскалатор аварийно, а еще нужно предсумотреть датчик тепловой защиты двигателя, а еще нужно предусмотреть блокировку от самопроизвольного пуска эскалатора, если на фотоэлемент сядет птичка, или нужно сделать реверсивный эскалатор, который при появлении человека внизу или вверху включается, соответственно, вверх или вниз, если на эскалаторе больше никого нет, и т.п.) В общем, куча вариантов и их комбинаций. А если это не эскалатор, а, скажем, фрезерный станок или прокатный стан? Тогда количество реле может исчисляться десятками и сотнями, и нужны сотни метров дорогого кабеля, меди, много дорогих реле. Всё это хозяйство располагается в шкафах, занимает кучу места, щёлкает, всё это нужно обслуживать, заменять вышедшие из строя реле, а если нужно изменить логику работы схемы, то это всё сложно, очень сложно.

И вот американцы придумали, каким образом перейти от "жёсткой логики" к "мягкой", программируемой и изобрели программируемое устройство управления, логика работы которого меняется путем
загрузки в него той или иной программы.

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

Логика работы системы, т.е. алгоритм управления, описывается на специальном формализованном языке программирования, а затем через коммуникационный порт загружается в память контроллера.

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

Почитать:
1. Минаев И. Г. Программируемые логические контроллеры. Практическое руководство для начинающего инженера

2. Мишель Ж. Программируемые контроллеры: архитектура и применение. — М.: Машиностроение, 1986

3. Программируемые контроллеры: руководство для инженера. Парр Э., пер. с 3-го англ. изд., М.: БИНОМ. Лаборатория знаний., 2007
Последний раз редактировалось IG_58 Вт дек 01, 2015 10:33 pm, всего редактировалось 1 раз.
Игорь.

Аватара пользователя
Александр Хрисанов
Сообщения: 1197
Зарегистрирован: Вс май 01, 2011 9:24 pm
Откуда: Санкт-Петербург

Сообщение Александр Хрисанов » Вт дек 01, 2015 1:32 am

А я работаю с другими контроллерами. Это примерно те же самые ардуины, но для промышленности и российской разработки:

http://www.segnetics.com/

Мне очень нравится. Я за 10 лет купил примерно 300 штук и практически все они работают.
Александр Хрисанов
Россия, Санкт-Петербург, Краснопутиловская 15-23
+7 921 882 16 96
desoto53@mail.ru
http://www.rt20.getbb.ru

Михась
Сообщения: 2577
Зарегистрирован: Чт янв 05, 2012 1:05 pm

Сообщение Михась » Вт дек 01, 2015 9:44 am

из написанного получается, что синтезатор частоты можно можно без всех этих ардуинов сделать, на православных контакторах . и перекоммутировать я не буду :-D

IG_58
Сообщения: 2231
Зарегистрирован: Вт дек 25, 2012 5:36 pm
Откуда: Германия

Сообщение IG_58 » Вт дек 01, 2015 9:53 am

Александр Хрисанов,
Я тоже работаю с другими контроллерами, тоже промышленными, но американскими, от одного из лидеров в мире промышленной автоматизации - компании Rockwell Automation.

Михась,
Ты удивишься, но все контроллеры в мире, как и вся цифровая логика, построены на маленьких реле. Правда, это реле не электромагнитные, а твердотельные, в них нет никаких движущихся частей, кроме элементарных частиц, и они такие маленькие, что миллионы таких реле помещаются на одном кристалле кремния, но принцип действия устройства логического управления, тем не менее, остается прежним :)
Игорь.

IG_58
Сообщения: 2231
Зарегистрирован: Вт дек 25, 2012 5:36 pm
Откуда: Германия

Сообщение IG_58 » Вт дек 01, 2015 10:17 am

Итак, программируемые контроллеры.
Первый в мире программируеумый логический контроллер был представлен на рынок американской компанией Modicon в 1968г. Термин Programmable Logic Controller, или PLC, ввел один из ведущих сотрудников другой американской компании Allen-Bradley в 1971г. Именно компания Allen-Bradley, являющаяся в наши дни одним из самых знаменитых производителей проргаммируемых устройств промышленной автоматизации, сыграла ключевую роль в разработке не только передовых программируемых контроллеров, но и в разработке и стандартизации языков программирования этих контроллеров, терминологии, инфраструктуры, вообще их идеологии. Таким образом, ведущие специалисты Modicon и Allen-Bradley являлись в свое время отцами современного оборудования промышленной автоматизации.

Фирмы Modicon больше нет, ее в 1976г. поглотил французский концерн Schneider Electric, а Allen-Bradley, которая до середины 80-х годов прошлого века входила в состав ВПК США, и деятельность которой была закрыта от посторонних глаз, существует и процветает до сих пор, входя в состав крупнейшего американского концерна Rockwell Automation (деятельность которого до 1986г. также была скрыта от посторонних глаз, он назывался тогда Rockwell International и в его состав входили такие подразделения, как Rockwell Space Systems, Rockwell Defense Systems, Rockwell Collins, Rockwell Automation, Rockwell Semiconductor и др).

Но хватит истории, сейчас будем больше о наших делах, об Arduino и DDS.

Продолжение следует.
Игорь.

Михась
Сообщения: 2577
Зарегистрирован: Чт янв 05, 2012 1:05 pm

Сообщение Михась » Вт дек 01, 2015 10:27 am

Игорь, я хоть и прикалываюсь, но читаю внимательно и вникаю со всей серьезностью. Так что не обращай внимания. Продолжай

IG_58
Сообщения: 2231
Зарегистрирован: Вт дек 25, 2012 5:36 pm
Откуда: Германия

Сообщение IG_58 » Вт дек 01, 2015 10:36 am

Сперва о DDS.

В соседнем топике описывается VFO, построенный по принципу прямого цифрового синтеза частоты. Устройство, формирующее синусоидальный сигнал, называется синтезатор. На языке оригинала это устройство называется Direct Digital Synthesizer, или сокращенно DDS.

Синтезатор буквально лепит синусоиду из множества маленьких точек, выдавая с огромной скоростью в каждый момент времени такой уровень положительного или отрицательного напряжения, который соответствует тому или иному значению фазы, причем зависимость уровня напряжения от времени (точнее, от фазового угла) носит синусоидальный характер. Это называется прямой цифровой синтез. Естественно, что чип синтезатора должен работать под управлением какого-то алгоритма, который обеспечивает этому чипу задание периода генерируемого напряжения.

В VFO, о котором идет речь, синтезом частоты занимается маленький китайский модуль DDS, построенный на чипе AD9850:

Изображение

Стоимость такого модуля на aliexpress - порядка 8- 10 евро.

Управлением (заданием нужной частоты, обеспечением выдачи визуальной информации на дисплей, а также восприятием команд оператора и внешних сигналов и логикой обеспечения сервисов для оператора) занимается другой модуль - модуль програмируемого контроллера Arduino Nano:

Изображение

Стоимость такого модуля на aliexpress - примерно 2-3 евро.

Для индикации используется двухстрочный дисплей LCD1602:

Изображение

Его стоимость на aliexpress - тоже примерно 2-3 евро.

Для того, чтобы понять, как это всё вообще работает, давайте начнем с Arduino.
Последний раз редактировалось IG_58 Вт дек 01, 2015 10:37 pm, всего редактировалось 2 раза.
Игорь.

IG_58
Сообщения: 2231
Зарегистрирован: Вт дек 25, 2012 5:36 pm
Откуда: Германия

Сообщение IG_58 » Вт дек 01, 2015 11:38 am

Arduino - это обычный программируемый контроллер, построенный по тем же принципам, что и все программируемые контроллеры в мире:
- центральный процессор
- память для программы и данных
- средства ввода-вывода дискретных и аналоговых сигналов
- коммуникационный порт

Существует множество вариантов этого контроллера - Arduino Uno, Arduino Mega, Arduino Leonardo, Arduino Micro, Arduino Diecimilla и др, а также их клонов - Microduino, Freeduino иже с ними. Тыць.

Лично я купил китайский клон Arduino Nano, который работает точно так же, как и оригинал, только отличается чипом USB (скачал и поставил драйвер этого чипа, и всё).

Деталями устройства Arduino я вас грузить не буду, если интересно - задавайте вопросы. Давайте сосредоточимся на прикладных аспектах.

Вот Arduino Nano:

Изображение

Как вы видите, плата имеет чип центрального процессора, разъём USB, через который вдувается рабочая программа, контакты внешних цепей (питание, дискретные и аналоговые входы-выходы), кнопка перезапуска, контрольные светодиоды. С обратной стороны платы расположен коммуникационный чип, обслуживающий USB. В отверстия выводов обычно впаиваются контактные гребенки соответствующей длины, а на несущей "материнской" плате устанавливаются соответствующие ответные части - так удобнее.

Изображение

Изображение

Обычно схему с Arduino рисуют в виде картинки, на которой изображена контактная панель, так называемая bredboard, "хлебная доска", и в нее воткнут контроллер, его обвязка, и показано, куда подходят какие провода. Вот как-то так:

Изображение

Очевидно, эти Мурзилки сделаны так, чтобы детям, занимающимся техническим творчеством, и людям, далеким от электроники, было понятно. чего куда втыкать. Ведь проект Arduino изначально имел именно такую целевую аудиторию. Лично мне эти картинки не нравятся, я привык к более взрослым принципиальным схемам. Но что делать...
Кстати у меня не очень хороший опыт с такими монтажными панелями - вечно что-то не контачит, начинаешь разбираться что, ковыряться. Так что, я такую панель закинул и больше не использую.
Последний раз редактировалось IG_58 Вт дек 01, 2015 10:39 pm, всего редактировалось 3 раза.
Игорь.

IG_58
Сообщения: 2231
Зарегистрирован: Вт дек 25, 2012 5:36 pm
Откуда: Германия

Сообщение IG_58 » Вт дек 01, 2015 1:30 pm

Почитать об Arduino можно на вот этом русскоязычном сайте.

Вкратце, для того, чтобы попробовать работать с Arduino, нужны три вещи:
1. Сам контроллер
2. Програмное обеспечение Arduino IDE
3. Кабель USB.

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

Программное обеспечение находится здесь. Его нужно скачать и установить. Я использовал предыдущую версию v1.6.5.
Игорь.

Аватара пользователя
Radiomann
Сообщения: 8043
Зарегистрирован: Чт мар 03, 2011 11:02 pm

Сообщение Radiomann » Вт дек 01, 2015 1:42 pm

Ну Игорь, супер! Даже не ожидал!
Материал описываешь исключительно доходчиво и крайне интересно.
Ждём с нетерпением продолжения увлекательной лекции.
Кутник Фёдор Фридрихович.
Ищу заднюю крышку VEF-Spidola или Spidola. Можно корпус-донор.

https://www.youtube.com/watch?v=65jaKGOuNs0
https://www.youtube.com/watch?v=ovkn_8sFfes

Михась
Сообщения: 2577
Зарегистрирован: Чт янв 05, 2012 1:05 pm

Сообщение Михась » Вт дек 01, 2015 1:59 pm

мурзилки не дешевые.
10 евро для Германии - конечно копейки.
Здесь - другая история... тут весь приемник столько не стоит.

IG_58
Сообщения: 2231
Зарегистрирован: Вт дек 25, 2012 5:36 pm
Откуда: Германия

Сообщение IG_58 » Вт дек 01, 2015 3:06 pm

Михась писал(а):тут весь приемник столько не стоит.
Какой это весь приемник стоит у вас меньше 8-10 евро? Мыльница FM?
Игорь.

Аватара пользователя
VASILI
Сообщения: 3621
Зарегистрирован: Сб сен 18, 2010 10:00 pm
Откуда: Молдова

Сообщение VASILI » Вт дек 01, 2015 4:00 pm

Чуть больше 300 гривен...не так уже и дорого, с дополнительными прибамбасами гривен под четыреста...???. Примерно столько уходит на покупку хлеба в месяц...но ведь не хлебом единым...
Два-три месяца понемногу отлаживать и можно и купить.
Куплю клавиатуру для ноутбука
ASUS Eee PC1015BX

IG_58
Сообщения: 2231
Зарегистрирован: Вт дек 25, 2012 5:36 pm
Откуда: Германия

Сообщение IG_58 » Вт дек 01, 2015 4:05 pm

VASILI, или бросить курить. За месяц накопите, будет стимул.

Продолжаем.

Для загрузки программы в контроллер поднадобится драйвер виртуального порта COM для чипа USB. Его нужно скачать по вот этой ссылке и установить, после чего посмотреть в менеджере устройств Windows, какой порт COM появился. У меня он оказался под номером COM11.

Теперь можно соединить контроллер кабелем с портом USB и запустить оболочку программирования:
Изображение

Открывается окно с пустой заготовкой программы контроллера. В терминах проекта Arduino программа для этого контроллера называется скетч. К вопросу о том, что написано в заготовке скетча, и для чего, мы вернемся позже.

Убедитесь, что на рамке окна программы внизу справа написано название чипа Вашего процессора (в нашем случае ATmega328) и указан именно тот виртуальный порт COM11, который появился в Windows после установки драйвера CH340d. Загляните также в меню"Инструменты" и убедитесь, что выбрана правильная плата: "Плата: Arduino Nano" или, если выбрана другая плата, установите ее в этом же меню. Убедитесь также, что в меню "Инструменты" -> "Порт" выбран правильный порт COM11 (у Вас может быть другой номер):
Изображение

Теперь пора убедиться в том, что контроллер работает, и связь с ним установлена. В комплекте с программным обеспечением идет множество примеров скетчей, изучая которые можно понять, как выглядит рабочая програма контроллера, из каких секций состоит, и как строится. Ничего сложного там нет, и тот, кто когда-нибудь что-нибудь программировал на каком-нибудь языке, очень быстро разберется, а тот, кто никогда не программировал, быстро научится.

Задавайте вопросы!

Итак, открываем меню "Файл" -> "Образцы" -> "01. Basics" и тыкаем на образец с названием "Blink":

Изображение

В окне открывается готовый скетч, который умеет, как это можно заключить из его названия, мигать расположенным на плате контроллера светодиодом:

Изображение

Давим на кнопку со стрелкой и грузим программу в контроллер:

Изображение

Наблюдаем внизу экрана за протоколом компиляции и загрузки, а затем, когда весь процесс завершится, наблюдаем мигание светодиода на плате контроллера.

Поздравляю, Ваш контроллер работает.

Задавайте вопросы!
Последний раз редактировалось IG_58 Вт дек 01, 2015 10:41 pm, всего редактировалось 1 раз.
Игорь.

Ответить

Вернуться в «Hot Rod Radio»