Тестер сервоприводов RC-моделей

Форум, с конкретными примерами и реальными задачами и их решением.
Пишите в личку (admin, LEV-PRAV, mim) ссылки на темы, достойные быть скопированы сюда.

Модератор: Иван Николаевич

Тестер сервоприводов RC-моделей

Сообщение admin (Alex Braun) » 04 дек 2014, 14:27

Предлагаю для ознакомления небольшой тестер для проверки работы сервоприводов и драйверов моторов радиоуправляемых моделей.
На видео я практически все объясняю, если будет у кого интерес, спрашивайте, отвечу.
Flowcode v5, Proteus 7.8 SP2, PicKit2(full)
Аватар пользователя
Ник: admin
Имя: Alex Braun
(Киев)
Администратор
Администратор
Информация о пользователе

Re: Тестер сервоприводов RC-моделей

Сообщение Enigm (Enigm) » 04 дек 2014, 15:12

Тоже занимаюсь моделями.
Вопрос.
Импульсы формируете через модуль ССР (в режиме сравнения ) или другим способом ?
Аватар пользователя
Ник: Enigm
Имя: Enigm
(Сочи)
Суперконсульт
Суперконсульт
Информация о пользователе

Re: Тестер сервоприводов RC-моделей

Сообщение admin (Alex Braun) » 04 дек 2014, 15:19

У 684-го нет внутреннего ШИМ-а. Это простенький контроллер. Хотя конечно есть еще проще. В принципе с одним каналом можно и в 630-й всунуться. На два канала, мне чуток места не хватило.
Импульсы формирую по прерыванию tmr0, и в макросе просто задаю задержку на 1.......2мс. С шагом в 10 мкс. (1%)
Flowcode v5, Proteus 7.8 SP2, PicKit2(full)
Аватар пользователя
Ник: admin
Имя: Alex Braun
(Киев)
Администратор
Администратор
Информация о пользователе
Вернуться наверх

Re: Тестер сервоприводов RC-моделей

Сообщение Enigm (Enigm) » 04 дек 2014, 15:32

Спасибо.
Так и предполагал .
Не путаете случайно с другим камнем ?
Я работаю именно с 684, в нем и захват и шим все есть.
Мне он и нравится именно тем что в нем все есть и ног не много , как и 683 камень.
Так что он не так прост .
Изображение
Аватар пользователя
Ник: Enigm
Имя: Enigm
(Сочи)
Суперконсульт
Суперконсульт
Информация о пользователе
Вернуться наверх

Re: Тестер сервоприводов RC-моделей

Сообщение admin (Alex Braun) » 04 дек 2014, 18:53

Да, сорри. Таки есть там PWM. :roll:
Но он ни чем бы мне не помог. :o
Во-первых он всего один, а на простом прерывании и задержке, выходов может быть до 10-ти.
Во-вторых скорость его очень большая, получить медленный шим с периодом целых 20мс, нужно опустить частоту контроллера до 800кгц.
При такой частоте, да еще и деленной в контроллере на 4 все остальные инструкции будут выполняться очень медленно, ни о каком софтовом SPI для регистров сдвига не может быть и речи. Все будет просто кашей на индикаторах.
И в третьих, даже при 10-ти битном шиме, шаг приращения ширины импульса 19.5мкс. А в моем варианте , да хоть 1мкс. Что соответствует 0,1% от всего диапазона импульса в 1мс (2-1).
Мне же вполне было достаточно 1%, что соответствует 10мкс.
Не говоря уж о количестве дополнительного кода для организации хардового PWM.
Flowcode v5, Proteus 7.8 SP2, PicKit2(full)
Аватар пользователя
Ник: admin
Имя: Alex Braun
(Киев)
Администратор
Администратор
Информация о пользователе
Вернуться наверх

Re: Тестер сервоприводов RC-моделей

Сообщение Enigm (Enigm) » 04 дек 2014, 22:02

Шим тут и не нужен.
Сам я пользую ССР в режиме сравнения.
Загружаю длину импульса в микросекундах и понеслась.
Да возможно сложнее и на крученее .
Но чет у меня к компоненту задержки, негативное отношение (нет доверия почему то), поэтому стараюсь его использовать как можно реже.
Хотя для проверки сервоприводов и прочего, компонент задержки думаю оправдан своей простотой, и плюс минус несколько микросекунд, роли не играют.
Аватар пользователя
Ник: Enigm
Имя: Enigm
(Сочи)
Суперконсульт
Суперконсульт
Информация о пользователе
Вернуться наверх

Re: Тестер сервоприводов RC-моделей

Сообщение admin (Alex Braun) » 05 дек 2014, 17:26

К сожалению у меня нет осциллографа. Пока только мечтаю и присматриваюсь. ;)
Но протеус показывает, что во всем диапазоне в 20мс, на всех каналах точность задержки идеальная.
И что примечательно, что такая точность появляется именно с кварцем в 12МГц. Я сначала логически принял решение, что поставлю 19.6608
С ним можно точно отсчитывать 50Гц тактирования tmr0. Но с ним пришлось бы играться с nop(), что бы подогнать длину импульса к приемлемой точности.
Простая задержка давала бы набегающую погрешность в пару процентов.
Динамическая индикация у меня подвешена тоже на прерывание, но от tmr2, она и вносит поправки в прерывание импульсов.
Я прочел, что в принципе серво приводы прекрасно работают от 40 до 60Гц, так что точность именно следования импульсов не столь важна. Главное точность длины этого импульса. Именно ее замеряет сервопривод или драйвер мотора. Я даже для эксперимента отключал импульсы от драйвера во время работы. Мотор останавливался не сразу, а где то через секунду. Т. е. он ждет пропавшие импульсы, и если они не появляются 1 секунду, отрубает мотор. Если в течении этой секунда обратно подключить импульсы, мотор даже не замечает их пропадания и продолжает работать. Отсюда напрашивается вывод, что период следования импульсов не столь критичен, только бы они не пропадали на длительное время.
Flowcode v5, Proteus 7.8 SP2, PicKit2(full)
Аватар пользователя
Ник: admin
Имя: Alex Braun
(Киев)
Администратор
Администратор
Информация о пользователе
Вернуться наверх

Re: Тестер сервоприводов RC-моделей

Сообщение Enigm (Enigm) » 25 янв 2015, 20:22

А не подскажите где взять пример вывода на индикацию как у вас, хотя бы на пример который был взят за основу и доработан ?
А то уже по несколько раз пересматриваю длинные темы по регистрам и не могу найти нормальный пример динамической индикации через регистры.
Нашел один то что надо, но он аппаратный, а нужен софтовый.
У вас как раз вроде софтовый .
Аватар пользователя
Ник: Enigm
Имя: Enigm
(Сочи)
Суперконсульт
Суперконсульт
Информация о пользователе
Вернуться наверх

Тестер сервоприводов RC-моделей

Сообщение admin (Alex Braun) » 26 янв 2015, 10:07

Да, там софтовый SPI.
Устранение мерцания добивался через подбор параметром тактовой скорости SPI и прескаллером TMR2.
"Запачканный" 4-й символ устранил запуском "пустоты". Это хорошо видно в логическом анализаторе протеуса. Зачем, я объясню потом, если будет нужда.
В архиве есть протеус. В схеме на транзисторах, между базами и эмиттерами стоят перемычки, потому, что моделей транзисторов BC-817 в протеусе нет и не видно симуляции дисплея. Перед разводкой платы я их убирал.
У вас нет доступа для просмотра вложений в этом сообщении.
Flowcode v5, Proteus 7.8 SP2, PicKit2(full)
Аватар пользователя
Ник: admin
Имя: Alex Braun
(Киев)
Администратор
Администратор
Информация о пользователе
Вернуться наверх

Re: Тестер сервоприводов RC-моделей

Сообщение admin (Alex Braun) » 11 ноя 2015, 21:38



Видео второй версии серво тестера.
Поделка тестировалась несколько месяцев. Проблем нет.
Есть широкие возможности для усовершенствования, особенно в софтовой части. :)
Flowcode v5, Proteus 7.8 SP2, PicKit2(full)
Аватар пользователя
Ник: admin
Имя: Alex Braun
(Киев)
Администратор
Администратор
Информация о пользователе
Вернуться наверх

След.

Вернуться в Готовые решения и примеры

Кто сейчас на форуме

Пользователь просматривает форум: нет зарегистрированных пользователей