Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
24.01.2017, 07:59
|
|
Временная регистрация
Регистрация: 14.11.2011
Адрес: г. Хабаровск
Сообщений: 71
Сказал спасибо: 18
Сказали Спасибо 59 раз(а) в 17 сообщении(ях)
|
Пропорциональное управление
Долгое время не мог себя заставить заняться вновь, любимым раннее в детстве делом, электроникой и конструированием моделей. Всё можно купить готовое и оно дешёвым будет и заведомо лучше, чем ты сможешь сделать сам, не имея кучи соответствующего оборудования.
В общем в очередной раз достал коробочки с деталями. Последние несколько лет заказывал с Китая разное, кое-что разбирал из хлама. Есть несколько игрушек старых неисправных и несколько совсем новых.
Вот модель Фольксвагена Гольф 1/12 на радиоуправлении. Все колёса подпружинены, есть дифференциал на заднем мосту. Но радиоуправление простейшее не пропорциональное, в итоге в квартире на ней не поездишь, расколотить можно влёт.
Есть задача, переделать управление на пропорциональное. Пусть будет для начала неказистая коробочка управления, главное пока сам процесс Для этого нужны кодер и декодер PPM, на микроконтроллере. Вместе с регулятором хода и прочими необходимыми функциями.
Нашёл несколько публикаций в интернете с уже готовыми решениями и на ПИКах и на АВР.
http://www.parkflyer.ru/ru/blogs/view_entry/12063/
на PIC12F683 которые стоят копейки, но месяц будут идти из Китая.
http://www.radiokot.ru/lab/controller/24/
это на ATiny2313, на форуме у Кота можно найти вариант с Mega8 которых у меня много.
Проблема обоих публикаций, программа для прошивки делалась на Асме и я так и не нашёл исходников. Если бы я делал какой-то узел автоматики и была бы проверенная, отлаженная схема с прошивкой, то понятно можно было бы просто повторить её. Но во-первых, для хобби что-то делать, не добавив кое-что от себя не правильно как-то. Во-вторых отсутствие понятного исходника убивает весь интерес, как обезьяна копируешь, не понимая до конца что и как работает. Не обижайтесь, пожалуйста те, кто примет последнюю фразу близко к сердцу.
Таким образом хочу написать новую программу на Си (поучившись это делать заодно) вместе с вами.
Одно из условий задачи, некоторый универсальный код, который можно будет использовать под разные контроллеры с небольшими дополнениями и исправлениями. Думаю, что это возможно.
Соответственно в развитии проекта сделать некоторый набор кодеров/декодеров для разных возможных применений.
Последний раз редактировалось PavelZX; 24.01.2017 в 08:37.
Причина: Изменение фото
|
|
|
|
24.01.2017, 08:15
|
|
Временная регистрация
Регистрация: 14.11.2011
Адрес: г. Хабаровск
Сообщений: 71
Сказал спасибо: 18
Сказали Спасибо 59 раз(а) в 17 сообщении(ях)
|
Re: Пропорциональное управление
PPM SUM сигнал в радиоуправлении
Название "PPM" появилось исторически, на самом деле более корректно эта модуляция называется PDM или PLM, соответственно Pulse Duration или Pulse Length. Но названия эти крайне плохо распространены.
Отличительной чертой такого сигнала является наличие синхропаузы (промежуток времени между наборами импульсов). Минимальная длительности синхропаузы для частоты 50Гц - 4мс. Импульсы имеют фиксированную ширину - 0,1мс, а длительность кодируемых ШИМ импульсов находится в пределах 0,9-2,1мс.
|
|
|
|
24.01.2017, 08:38
|
|
Заблокирован
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,220 раз(а) в 1,319 сообщении(ях)
|
Re: Пропорциональное управление
Сообщение от PavelZX
|
хочу написать новую программу на Си (поучившись это делать заодно) вместе с вами.
|
Переводя на наш язык - "напешыте, пжлста, а я буду говорить, нормально заработало или нет". Серьезно, между прочим, так и будет.
Хотите сделать - делайте. Будут конкретные вопросы - конкретно спрашивайте - конкретно и ответим.
Пока что от вас только весьма общее описание хотелки.
Сообщение от PavelZX
|
на самом деле более корректно эта модуляция
|
Хотя вообще-то РРМ - это фообще-то фазово-импульсная модуляция, когда длительность импульса одинакова, а сам импульс смещен относительно некоторой точки. Фактически, в РРМ кодируется аналоговый сигнал и его легко преобразовать в выходной ШИМ.
PPM SUM представляет собой простой интерфейс передачи аналогового сигнала, он не защищены от помех и требователен синхронности передатчика и приёмника по фазам импульсов
С этим все понятно.
Если да, тогда параметры сигнала известны, что нужно передать известно, и хотелка изветна. Берете и делаете.
Еще есть трансиверы на 433 МГц - готовые простые модули приема-передачи, это на случай если из игрушки трансивер выдрать не получится.
Микроконтроллер можете выбрать вообще любой, какой знаете и какой есть. Главное, чтобы хватило ножек для всех кнопок и джойстиков в пульте и выходов для управления сервоприводами в машинке. На дальнейшее можете прикрутить в машинку ультращвуковые датчики приближения к препятствию
Последний раз редактировалось NewWriter; 24.01.2017 в 10:56.
|
|
|
|
24.01.2017, 09:18
|
|
Почётный гражданин KAZUS.RU
Регистрация: 16.02.2010
Сообщений: 1,411
Сказал спасибо: 0
Сказали Спасибо 128 раз(а) в 114 сообщении(ях)
|
Re: Пропорциональное управление
Могу только согласиться.
Делайте !!!
Дорогу осилит идущий.....
Да и не так это сложно, в принципе.
Есть аналого-цифровые входы, есть выходы ШИМ......
Программа получается довольно простой.
Исходите из того, что период команд 20 mS, сама команда. обычно 0.5 - 1.5 mS.
Ещё надо добавить возможность подстройки с запоминанием.
Можно и дисплейчик добавить для визуального контроля .....
И всё это "счастье" можете даже посмотреть и отладить в Протеусе....
Хотя можно и ещё улучшить.
Сделать цифровое управление.
С цифровыми сервомашинками и драйверами ......
Оно точнее и от помех более защищёно......
Последний раз редактировалось petr5555; 24.01.2017 в 09:28.
|
|
|
|
24.01.2017, 12:04
|
|
Временная регистрация
Регистрация: 14.11.2011
Адрес: г. Хабаровск
Сообщений: 71
Сказал спасибо: 18
Сказали Спасибо 59 раз(а) в 17 сообщении(ях)
|
Re: Пропорциональное управление
Сообщение от NewWriter
|
Переводя на наш язык - "напешыте, пжлста, а я буду говорить, нормально заработало или нет". Серьезно, между прочим, так и будет.
|
Да я ленив, порой даже через чур.
Сообщение от petr5555
|
Да и не так это сложно, в принципе.
Есть аналого-цифровые входы, есть выходы ШИМ...
|
Это получается мы напряжение в АЦП превращаем в цифру, потом цифру в ШИМ? Зачем так сложно?
Как я помню, когда школьником ещё сочинял подобное, мне в кодёре надо получить последовательность импульсов, в количестве равном числу каналов, с синхропаузой большей значительно, по времени, чем возможен самый длинный импульс. Тогда это я делал мультиплексором (вернее счётчик с дешифратором к561ие8 или 9) и парой мультивибраторов (вроде бы). В одном длительность импульса зависела от подключенного счётчиком переменного резистора либо кнопки зашунтированной постоянным сопротивлением. Второй работал с постоянной частотой и скважностью, формируя синхропаузы.
Кстати надо глянуть, может есть где под руками такие м/с или аналоги. По крайней мере декодёр на двух цифровых м/с я делал для кодового замка и проводного телефона, оно работало сто пудов.
Если использовать контроллер, то наверное лучше использовать не АЦП, а компаратор. (Плохо работают у меня мозги в последовательных алгоритмах -- подавай параллельные, поэтому так тяжко всё это сформулировать.) Соответственно выходы с контроллера, также по очереди, подключают потенциометры к одному из входов компаратора, на второй подаётся сигнал с счётчика и ЦАПа формирующих нарастающее на конденсаторе напряжение. Перезапуск счётчика осуществлять по срабатыванию компаратора с одновременным переключением потенциометра.
Синхропаузу формировать отдельным счётчиком (программным скорее всего проще будет в данном случае). Если от передатчика других функций не требуется кроме кодера, то программа проще простого получается.
|
|
|
|
24.01.2017, 12:14
|
|
Временная регистрация
Регистрация: 14.11.2011
Адрес: г. Хабаровск
Сообщений: 71
Сказал спасибо: 18
Сказали Спасибо 59 раз(а) в 17 сообщении(ях)
|
Re: Пропорциональное управление
Сообщение от petr5555
|
Хотя можно и ещё улучшить.
Сделать цифровое управление.
С цифровыми сервомашинками и драйверами ......
Оно точнее и от помех более защищёно.
|
Цифровых серв у меня сейчас нет в наличии, как простых вроде бы. Буду делать пока на чём есть, то есть воткну в игрушку потенциометр на обратную связь в редукторе рулевого управления. Так же как в статье с РадиоКота.
Аналоговый сигнал менее требователен к качеству связи, а главное ширине радиоканала. Точности большой не нужно пока.
Сообщение от NewWriter
|
На дальнейшее можете прикрутить в машинку ультразвуковые датчики приближения к препятствию
|
А вот на счёт датчиков как раз думаю, но их надо покупать во первых (долго ждать), во вторых как их прикрутить не испортив внешний вид?
|
|
|
|
24.01.2017, 12:40
|
|
Временная регистрация
Регистрация: 14.11.2011
Адрес: г. Хабаровск
Сообщений: 71
Сказал спасибо: 18
Сказали Спасибо 59 раз(а) в 17 сообщении(ях)
|
Re: Пропорциональное управление
С декодером, в приёмнике, всё намного сложнее. Во первых, не знаю, используется ли в практике цифровая фильтрация на контроллере, чтоб упростить схемотехнику приёмника и повысить его селективность. Потом надо сигнал демультиплексировать и либо оцифровать пропорциональные каналы, раскидав их по регистрам счётчиков выходных ШИМов (как выше предлагалось), что позволит делать с ними что угодно, либо выкинуть их в том же грязном виде, какие они пришли, но тут пока не соображу, можно ли работать с сигналом с такой большой скважностью
|
|
|
|
24.01.2017, 12:43
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: Пропорциональное управление
Почему такие невероятные усилие предполагается затратить на решение столь элементарной задачи? Тут явно просится МК. Будет вам и ускорение, и торможение, и объезд препятствий.
|
|
|
|
24.01.2017, 13:25
|
|
Временная регистрация
Регистрация: 14.11.2011
Адрес: г. Хабаровск
Сообщений: 71
Сказал спасибо: 18
Сказали Спасибо 59 раз(а) в 17 сообщении(ях)
|
Re: Пропорциональное управление
Сообщение от Easyrider83
|
Тут явно просится МК.
|
Так я как раз и занимаюсь изобретением велосипеда Пытаюсь на словах сформулировать что должен делать МК, прежде чем писать писать программу. По ходу, возможно, кто и поправит, может быть, если сильно буду заблуждаться.
Впрочем кодёр, в передатчике, можно и без МК сделать, на 2-ух цифровых м/с.
Объезд препятствий, это уже логика в "мозгах" передатчика, в нём точно без контроллера не обойтись. Поэтому и писал об некоей универсальной программе, чтоб её можно было в усечённом виде воткнуть в ПИК или АВР, а в расширенном уже использовать STM32.
|
|
|
|
24.01.2017, 21:25
|
|
Почётный гражданин KAZUS.RU
Регистрация: 16.02.2010
Сообщений: 1,411
Сказал спасибо: 0
Сказали Спасибо 128 раз(а) в 114 сообщении(ях)
|
Re: Пропорциональное управление
Сообщение от PavelZX
|
Да я ленив, порой даже через чур.
Это получается мы напряжение в АЦП превращаем в цифру, потом цифру в ШИМ? Зачем так сложно?
Как я помню, когда школьником ещё сочинял подобное, мне в кодёре надо получить последовательность импульсов, в количестве равном числу каналов, с синхропаузой большей значительно, по времени, чем возможен самый длинный импульс. Тогда это я делал мультиплексором (вернее счётчик с дешифратором к561ие8 или 9) и парой мультивибраторов (вроде бы). В одном длительность импульса зависела от подключенного счётчиком переменного резистора либо кнопки зашунтированной постоянным сопротивлением. Второй работал с постоянной частотой и скважностью, формируя синхропаузы.
Кстати надо глянуть, может есть где под руками такие м/с или аналоги. По крайней мере декодёр на двух цифровых м/с я делал для кодового замка и проводного телефона, оно работало сто пудов.
Если использовать контроллер, то наверное лучше использовать не АЦП, а компаратор. (Плохо работают у меня мозги в последовательных алгоритмах -- подавай параллельные, поэтому так тяжко всё это сформулировать.) Соответственно выходы с контроллера, также по очереди, подключают потенциометры к одному из входов компаратора, на второй подаётся сигнал с счётчика и ЦАПа формирующих нарастающее на конденсаторе напряжение. Перезапуск счётчика осуществлять по срабатыванию компаратора с одновременным переключением потенциометра.
Синхропаузу формировать отдельным счётчиком (программным скорее всего проще будет в данном случае). Если от передатчика других функций не требуется кроме кодера, то программа проще простого получается.
|
Господи, а Вы вообще то знаете как работает МК и что
такое PPM ?
По-моему Ваши знания остались на уровне функционирования пульта от телевизора.
Да, видимо Вам проще сделать всё на простой логике !!!
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 12:20.
|
|