Радиоуправление. Переходим на МК.

Обсуждаем приемники, передатчики, радиомикрофоны, жучки, генераторы, ВЧ-усилители, антенны и прочее радиохозяйство
MASIK
Грызет канифоль
Сообщения: 291
Зарегистрирован: Пн авг 12, 2013 21:24:55

Re: Радиоуправление. Переходим на МК.

Сообщение MASIK »

Вы как всегда правы, вместо концевиков предлагаю датчики хола или герконы. Конструкция должна быть простой и надежной. Буржуйских пультов мы тоже не ведали :shock: в нашем колхозе таких игрушек нет , не по карману. Соберем свой пульт в посылочном ящике. На счет аккомы и антенн то я кораблик на луну собрался запускать. Вся конструкция будет самодельной, из подручных средств, но вид должен быть маломальски эстетичным.
roman.com
Друг Кота
Сообщения: 9147
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Re: Радиоуправление: делаем сами.

Сообщение roman.com »

ну накидайте тогда простенькую программку )))
Вообще частоту можно измерить разными методами:
1- измерить количество импульсов (количество периодов) за определенное время (время постоянное)
2- измерить длительность одного периода.
3- измерить длительность импульса положительной полуволны одного периода.
Изображение
Последний вариант самый простой для МК. Хотя и менее точный. Программа получается несколько строчек. :)
Аватара пользователя
mixon46
Говорящий с текстолитом
Сообщения: 1644
Зарегистрирован: Сб фев 18, 2012 15:42:29
Откуда: Курск

Re: Радиоуправление: делаем сами.

Сообщение mixon46 »

да я не умею ((( программы состовлять. могу алгоритм написать)) по логике вещей. с этим у меня вроде проблем нету. измерять длинну положительной полуволны я почему то сразу откидывал. я же размышлял. по моему самая точность будет в подсчете положительных полуволн за определенное время. потом можно это число сравнивать с опорным. и к тому к которому ближе выдавать нужный ответ. вот только пока не решил как сделать так что бы можно было две команды или три посылать. если это генератор на не555 то нажимая две кнопки сразу мы получим среднее арифметическое сопротивление и частота будет немного не та. но я решил сейчас эту задачу. переключая сами кнопки по очереди мы получим на выходе нужные частоты в виде импульсов. график потом нарисую для наглядности
Аватара пользователя
SM898
Вымогатель припоя
Сообщения: 631
Зарегистрирован: Вс июл 21, 2013 16:24:58
Откуда: Юг Руси.

Re: Радиоуправление. Переходим на МК.

Сообщение SM898 »

roman.com писал(а): Для этого не нужно покупать специальную сервомашинку.

"Специальные сервомашинки" с усилием 3 кг/см стоят в Китае от 2-3$,с пересылкой 3-4$/
Более мощные,до 10 кг/см - от 7-8 $.Абсолютная непроблема. И рукоблудием заниматься
не требуется.Наши братья-китайцы уже обо всём позаботились.
Посмотрите,например на Hobby King.com .
http://www.hobbyking.com/hobbyking/stor ... _50g_.html
http://www.hobbyking.com/hobbyking/stor ... 1_49g.html
roman.com
Друг Кота
Сообщения: 9147
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Re: Радиоуправление: делаем сами.

Сообщение roman.com »

mixon46 писал(а):да я не умею программы состовлять...

Тогда идём и читаем "основы". Например тут http://www.123avr.com/05.htm
Вот например накидал "на ходу" простейшую программу специально для тебя ))) на Си (универсальный язык программирования) для измерения длительности импульсов на МК:
Изображение
Вот так вот можно заставить МК измерять длительность импульсов входного сигнала. Аналогично можно считать периоды и количество периодов ... и всё что угодно, добавив ещё несколько строчек )))) :)
Настройка заключается в установки времени опроса ножки МК. Для этого можно менять тактовую частоту МК или установить задержки между опросами.
Вложения
rx1.txt
(1.21 КБ) 229 скачиваний
roman.com
Друг Кота
Сообщения: 9147
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Re: Радиоуправление. Переходим на МК.

Сообщение roman.com »

Можно купить готовую сервомашинку. Это не принципиально. :tea:

Итак, делаем проект "Кораблик". Для этого берём в левую руку машинку... в правую руку молоток. И делаем из "машинки" "кораблик" :)))
Единственный недостаток МК - это мало выводов. Поэтому нужно точно их распределить...
Изображение
Аватара пользователя
Ser60
Друг Кота
Сообщения: 3780
Зарегистрирован: Ср дек 24, 2008 09:58:58

Re: Радиоуправление. Переходим на МК.

Сообщение Ser60 »

Роман, а почему Вы не используете радиомодули? Точнее, кроме как "делаю все сам" есть иные причины? Это упростило-бы радиоуправление существенно.
roman.com
Друг Кота
Сообщения: 9147
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Re: Радиоуправление. Переходим на МК.

Сообщение roman.com »

Других причин нет. Мне интересно всё делать самому. Задача: разобраться во всех тонкостях работы радиосистем. Когда всё собираешь сам, то можно всё измерить и понять как всё работает.
Тех. задание: :)))
Изображение
Схема пульта будет такая:
Изображение
Делать автоматический регулятор мощности при дальности 200 метров не вижу смысла. Экономия будет не более 20...30 mA. Это только усложнит схему. Хотя сделать можно. :tea:
Вложения
пульт.JPG
(218.26 КБ) 364 скачивания
Аватара пользователя
mixon46
Говорящий с текстолитом
Сообщения: 1644
Зарегистрирован: Сб фев 18, 2012 15:42:29
Откуда: Курск

Re: Радиоуправление: делаем сами.

Сообщение mixon46 »

спасибо за разьяснение языка программирования. )) тут его надо изучать и изучать. )) много же тонкостей всяких))


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

вот допустим как бы сделал я. запустил бы проц от внутреннего генератора. а 16 битный таймер от часового кварца. каждую секунду он бы сосчитал за 32768 гц правильно. но секунда это же много. тоесть поставил бы таймер на более маленький момент времени. тоесть с положительным входным импульсом запускаем таймер. считаем сколько испульсов за это время работы таймера насчитает импульсов. определяем частоту и сравниваем с двумя частотами верхней и нижней что является диапазоном. и в случае схождения с двумя частотами выдаем нужный сигнал на выход и оставляем до следующего подсчета. если подтвердится то оставляем сигнал если нет то убираем. ну както так заумно)))
MASIK
Грызет канифоль
Сообщения: 291
Зарегистрирован: Пн авг 12, 2013 21:24:55

Re: Радиоуправление. Переходим на МК.

Сообщение MASIK »

Может убрать контроль аккомы пульта с меги, а сделать его отдельно, памяти с операциями меньше нужно и порта освободятся. Кораблик вышел по высшему разряду. :P
roman.com
Друг Кота
Сообщения: 9147
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Re: Радиоуправление: делаем сами.

Сообщение roman.com »

mixon46 писал(а):а что если длина ипмульса 1 мгц и частота мк тоже 1 мгц.
Вот поэтому МК могут работать как от внутреннего тактового генератора, так и от внешнего. Например к МК Atmega можно припаять резистор и вручную крутить частоту тактового генератора:
Изображение
Но лучше выбирать стандартные частоты. А задержку между импульсами опроса задавать программно. Например так:
Изображение
Т.е. МК проверил напряжение на ножке PORTС.0, затем подождал например 478 микросекунд delay_us(478) и опять проверил... и опять подождал... и так бесконечно, пока на ножке будет "1" (т.е. "+"). Потом посчитал и сделал вывод))
Подсчёт и вывод информации занимает несколько тактов ЦП МК... т.е. быстро 8)
roman.com
Друг Кота
Сообщения: 9147
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Re: Радиоуправление. Переходим на МК.

Сообщение roman.com »

А вот схема кораблика:
Изображение
Зачем убирать? Памяти в МК ещё более чем достаточно. Можно два кораблика подключить к одному МК)) И портов пока хватает.
Вариант 2: Моторная лодка. ))ИзображениеКрнструкция проще. если Если взять шаговый двигатель от старого принтера, то конструкция получится вообще без редукторов.
Не знаю какаю точность индикатора делать. Зависит от аккумулятора. Напряжение заряда и разряда. МК может измерять напряжение 0...5 V, с точностью до 0,005 V.
Вложения
кораблик.JPG
(254.02 КБ) 542 скачивания
Аватара пользователя
mixon46
Говорящий с текстолитом
Сообщения: 1644
Зарегистрирован: Сб фев 18, 2012 15:42:29
Откуда: Курск

Re: Радиоуправление: делаем сами.

Сообщение mixon46 »

как он определит 489 мксек? это примерно пол секунды. я не могу вкурить. я запутался. надо идти спать голова уже не варит))) задержка я так понял просто съедает определенное количество тактов процессора при этом проц просто пропускает такт и ничего не делает
roman.com
Друг Кота
Сообщения: 9147
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Re: Радиоуправление: делаем сами.

Сообщение roman.com »

МК с завода идет уже с настроенным внутренним генератором. МК читает нашу программу... дойдя до команды delay_us(478) МК ничего не делает, а просто сидит и отсчитывает "в уме" 478 микросекунды :roll: ))) ... затем читает нашу программу дальше. 8)
Объяснение работы МК "на пальцах" :)))
Аватара пользователя
mixon46
Говорящий с текстолитом
Сообщения: 1644
Зарегистрирован: Сб фев 18, 2012 15:42:29
Откуда: Курск

Re: Радиоуправление: делаем сами.

Сообщение mixon46 »

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


для частоты 1 кгц частота выборок (опросов порта) 2 кгц или же 500 мксек слишком маленькая частота. она должна быть хотя бы в 10 раз больше. тоесть задержка 100 мксек. 10 кгц. но не меньше. для точности
roman.com
Друг Кота
Сообщения: 9147
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Re: Радиоуправление: делаем сами.

Сообщение roman.com »

Открываем cvavr... забиваем delay_ms(1000000000000000000); - работает))) Забиваем delay_ms(10000000000000000000); - пишет "перегрузка" - не работает )))
Значит максимальная задержка 1.000.000.000.000.000.000 милисекунд. Т.е. 1.000.000.000.000.000 секунд. 277.777.777.777 часов. Т.е. 31.709.791 лет ))) :))) Мало? Тогда пишем подряд...
delay_ms(10000000000000000000);
delay_ms(10000000000000000000);
delay_ms(10000000000000000000);
....
и так около 10000 раз. Пока память МК не закончится. ))))

Да 478 микросеккунд - это я просто для примера написал. Задерка может начинатся от 2-х микросекунд. Меньше МК не успевает сосчитать.))) А максимум ... я никогда не считал.

каждый второй такт будет проверять? нет. Я специально написал: while (PINC.0==1) { };. Это значит что МК будет считать до тех пор, пока на ножке PINC.0 будет "1". МК будет бесконечно в этом месте программы сидеть, пока мы не снимем питание с ножки. :idea:
Последний раз редактировалось roman.com Вт ноя 25, 2014 00:18:31, всего редактировалось 1 раз.
Аватара пользователя
mixon46
Говорящий с текстолитом
Сообщения: 1644
Зарегистрирован: Сб фев 18, 2012 15:42:29
Откуда: Курск

Re: Радиоуправление: делаем сами.

Сообщение mixon46 »

да ну неужели. сколько там разрядов то что он до стольки считает. не 64 ли? как бы не больше))))

каждые 478 мксек будет +1 прибавлять? все похоже замучаю вас вопросами xD
roman.com
Друг Кота
Сообщения: 9147
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Re: Радиоуправление: делаем сами.

Сообщение roman.com »

delay_ms - это не разряды. Это кусок программы. Можно написать свою программу задержки. Типа счётчик в счетчике. Счётчик 1000 в степени 1000 в степени 1000... )))) миллионы лет ))
Но это не суть вообще. Зачем это вообще?

Да. Через каждые 478 мксек МК будет +1 прибавлять... пока регистр не переполнится. Главное чтобы импульс закончился быстрей чем переполнится регистр - 255 - это максимум.
Аватара пользователя
mixon46
Говорящий с текстолитом
Сообщения: 1644
Зарегистрирован: Сб фев 18, 2012 15:42:29
Откуда: Курск

Re: Радиоуправление: делаем сами.

Сообщение mixon46 »

ааа это я знаю про 255. есть еще внутренний ацп тоже 256 значений. и регистр идет рабочий толи с 16 до 32. меньшие не рабочие или что то в этом роде. не помню уже
roman.com
Друг Кота
Сообщения: 9147
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Re: Радиоуправление: делаем сами.

Сообщение roman.com »

внутренний ацп... чёто я в тини2313 не наблюдаю вообще АЦП... в ATmega8 10-ти разрядный (0...1024). Щас её мучаю. :solder:
Надо нормальные даташиты качать и смотреть что там есть вообще...
Ответить

Вернуться в «Радиотехника: приемники, передатчики, антенны»