Например TDA7294

 Форум РадиоКот • Просмотр темы - Управление сервомашинками через COM порт ПК
Форум РадиоКот
Здесь можно немножко помяукать :)



Текущее время: Сб фев 24, 2018 05:05:45



Часовой пояс: UTC + 3 часа [ Летнее время ]


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 24 ]  На страницу 1, 2  След.
Автор Сообщение
Не в сети
 Заголовок сообщения: Управление сервомашинками через COM порт ПК
СообщениеДобавлено: Ср дек 07, 2016 06:40:26 
Грызет канифоль

Зарегистрирован: Чт мар 05, 2009 06:31:16
Сообщений: 282
Откуда: г. Кемерово
Рейтинг сообщения: 0
Задумалось мне сделать управление сервомашинками от компьютера, для новогодней аниматроники, и желательно попроще.
В результате получилась схемка на «голом» контроллере.
Как думаете , будет достаточно или что то все же надо добавить ?


Вложения:
Комментарий к файлу: Контроллер сервомашинок на PIC12F629
SERV_629.GIF [14.24 KiB]
Скачиваний: 109
Вернуться наверх
 Профиль WWW  
 
Не в сети
 Заголовок сообщения: Re: Управление сервомашинками через COM порт ПК
СообщениеДобавлено: Ср дек 07, 2016 12:59:03 
Друг Кота
Аватар пользователя

Карма: 31
Зарегистрирован: Чт янв 26, 2012 17:44:29
Сообщений: 3505
Откуда: Таксимо
Рейтинг сообщения: 0
лучше с оптопарой сделать. а то коротнешь и спалишь и порт на компе и свое устройство.
а по схеме на GP4 стабилитрон 5 вольт


Вернуться наверх
 Профиль  
 
JLCPCB Prototype, Бесплатная доставка первого заказа + $2 на прототип ПП!

Крупнейший производитель печатных плат в Китае, 290,000+ заказчиков, 8,000+ он-лайн заказов в день.

Цена за 10 плат: $2 за 2-х слойную, $15 за 4-х слойную, $74 за 6-ти слойную.

LCSC Parts: Экономия до 50%, большой выбор компонентов в наличии, отправка заказа в день оплаты.

Не в сети
 Заголовок сообщения: Re: Управление сервомашинками через COM порт ПК
СообщениеДобавлено: Ср дек 07, 2016 16:52:19 
Грызет канифоль

Зарегистрирован: Чт мар 05, 2009 06:31:16
Сообщений: 282
Откуда: г. Кемерово
Рейтинг сообщения: 0
Не... оптрон тут точно не пойдет, связь то двухсторонняя. Разновидность LIN шины. А стабилитрон зачем ?


Вернуться наверх
 Профиль WWW  
 

Не в сети
 Заголовок сообщения: Re: Управление сервомашинками через COM порт ПК
СообщениеДобавлено: Ср дек 07, 2016 17:46:25 
Друг Кота
Аватар пользователя

Карма: 31
Зарегистрирован: Чт янв 26, 2012 17:44:29
Сообщений: 3505
Откуда: Таксимо
Рейтинг сообщения: 0
на всякий случай. у ком порта же +12 и -12 уровни


Вернуться наверх
 Профиль  
 

Не в сети
 Заголовок сообщения: Re: Управление сервомашинками через COM порт ПК
СообщениеДобавлено: Ср дек 07, 2016 18:15:03 
Грызет канифоль

Зарегистрирован: Чт мар 05, 2009 06:31:16
Сообщений: 282
Откуда: г. Кемерово
Рейтинг сообщения: 0
А.... нет необходимости. Уровни ограничиваются до уровней источника питания через встроенные на входе контроллера защитные диоды.
В целом все получилось, жаль что при использовании внутреннего 4 мГц генератора, точность позиционирования 2 градуса.
Хотя при 2 машинках можно получить и 1 градус. Быстродействия чуток не хватает :)


Вернуться наверх
 Профиль WWW  
 
Не в сети
 Заголовок сообщения: Re: Управление сервомашинками через COM порт ПК
СообщениеДобавлено: Ср дек 07, 2016 18:20:49 
Друг Кота
Аватар пользователя

Карма: 31
Зарегистрирован: Чт янв 26, 2012 17:44:29
Сообщений: 3505
Откуда: Таксимо
Рейтинг сообщения: 0
а что за проект? интересно бы посмотреть, мож и повторить


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Управление сервомашинками через COM порт ПК
СообщениеДобавлено: Ср дек 07, 2016 18:28:29 
Грызет канифоль

Зарегистрирован: Чт мар 05, 2009 06:31:16
Сообщений: 282
Откуда: г. Кемерово
Рейтинг сообщения: 0
Пока только видео https://www.youtube.com/watch?v=D5SoTyg71BA
Описание думаю завтра сделаю, выложу вместе с исходниками и прошивками.

Планируется для анимации игрушек, НГ на носу :)


Вернуться наверх
 Профиль WWW  
 
Не в сети
 Заголовок сообщения: Re: Управление сервомашинками через COM порт ПК
СообщениеДобавлено: Ср дек 07, 2016 18:54:42 
Друг Кота
Аватар пользователя

Карма: 31
Зарегистрирован: Чт янв 26, 2012 17:44:29
Сообщений: 3505
Откуда: Таксимо
Рейтинг сообщения: 0
блюпуп прикрутить, и можно с телефона управлять


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Управление сервомашинками через COM порт ПК
СообщениеДобавлено: Ср дек 07, 2016 19:01:44 
Грызет канифоль

Зарегистрирован: Чт мар 05, 2009 06:31:16
Сообщений: 282
Откуда: г. Кемерово
Рейтинг сообщения: 0
Можно. Можно и любой радио модуль, можно и просто алгоритм вшить. Там половина памяти свободна осталась, при том что программа не оптимизирована, многое решено прямо в лоб, тяжело и громоздко :)


Вернуться наверх
 Профиль WWW  
 
Не в сети
 Заголовок сообщения: Re: Управление сервомашинками через COM порт ПК
СообщениеДобавлено: Ср дек 07, 2016 19:59:01 
Мудрый кот
Аватар пользователя

Карма: 15
Зарегистрирован: Пн окт 11, 2010 20:00:08
Сообщений: 1754
Рейтинг сообщения: 0
Alexey1969 писал(а):
жаль что при использовании внутреннего 4 мГц генератора, точность позиционирования 2 градуса.
Надо было вместо PIC12F629 поставить STM32F030F4P6 (у которого тактовая частота не 4, а 48 МГц :) ). Задействовать 4 канала ШИМ одного из таймеров и получить гораздо большую разрешающую способность. :)
У него USART может работать с полудуплексном режиме используя один вывод для приема и передачи. :)


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Управление сервомашинками через COM порт ПК
СообщениеДобавлено: Ср дек 07, 2016 20:23:01 
Грызет канифоль

Зарегистрирован: Чт мар 05, 2009 06:31:16
Сообщений: 282
Откуда: г. Кемерово
Рейтинг сообщения: 0
Этот тоже может работать быстрее, но встроенный генератор именно 4 мГц, а для большей скорости нужен внешний резонатор, а это лишняя обвязка. Люблю минимализм в железе :)

Опять же разные архитектуры, так что быстродействие исходя из тактовой сравнить не получится. Да и по привык я к Гарвардской :)

Полудуплексе тут тоже реализован.


Вернуться наверх
 Профиль WWW  
 
Не в сети
 Заголовок сообщения: Re: Управление сервомашинками через COM порт ПК
СообщениеДобавлено: Ср дек 07, 2016 20:56:59 
Мудрый кот
Аватар пользователя

Карма: 15
Зарегистрирован: Пн окт 11, 2010 20:00:08
Сообщений: 1754
Рейтинг сообщения: 0
Alexey1969 писал(а):
но встроенный генератор именно 4 мГц
STM32 может на встроенном RC генераторе работать на частоте 48 МГц, т. е. кварц не нужен.

Alexey1969 писал(а):
Полудуплексе тут тоже реализован.
Программно? Речь про аппаратную реализацию.


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Управление сервомашинками через COM порт ПК
СообщениеДобавлено: Ср дек 07, 2016 21:03:22 
Грызет канифоль

Зарегистрирован: Чт мар 05, 2009 06:31:16
Сообщений: 282
Откуда: г. Кемерово
Рейтинг сообщения: 0
Вроде по датшиту только 8 встроенным, хотя я не знаком.

Программно. Какая разница , что внутри ящика , если он делает то что нужно ?:)


Вернуться наверх
 Профиль WWW  
 
Не в сети
 Заголовок сообщения: Re: Управление сервомашинками через COM порт ПК
СообщениеДобавлено: Ср дек 07, 2016 21:32:15 
Мудрый кот
Аватар пользователя

Карма: 15
Зарегистрирован: Пн окт 11, 2010 20:00:08
Сообщений: 1754
Рейтинг сообщения: 0
Alexey1969 писал(а):
Какая разница
Разница в надежности. Программный UART и программный ШИМ для сервоприводов могут не всегда дружить друг с другом. Или UART что-то не то примет или передаст, или стабильность частоты/скважности ШИМ может "поплыть".


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Управление сервомашинками через COM порт ПК
СообщениеДобавлено: Чт дек 08, 2016 08:11:23 
Грызет канифоль

Зарегистрирован: Чт мар 05, 2009 06:31:16
Сообщений: 282
Откуда: г. Кемерово
Рейтинг сообщения: 0
Большая надежность аппаратной реализации, это на мой взгляд, из области верований :) Ни в одном мануале не встречал рекомендаций использовать аппаратную периферию исходя из ее большей надежности. А вопрос надежности программной реализации исключительно вопрос прямизны рук программиста :)

Добавлено after 2 hours 35 minutes 20 seconds:
Все файлы тут http://autobills.ru/kusc1.html


Вернуться наверх
 Профиль WWW  
 
Не в сети
 Заголовок сообщения: Re: Управление сервомашинками через COM порт ПК
СообщениеДобавлено: Чт дек 08, 2016 08:38:49 
Собутыльник Кота
Аватар пользователя

Карма: 51
Зарегистрирован: Чт мар 20, 2008 02:06:40
Сообщений: 2503
Откуда: Севастополь
Рейтинг сообщения: 0
Возможно, стоит попробовать PIC12F1822.
Аппаратный UART, четыре PWM и частота внутреннего генератора до 32 MHz.

_________________
>(*.*)<


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Управление сервомашинками через COM порт ПК
СообщениеДобавлено: Чт дек 08, 2016 13:20:10 
Мудрый кот
Аватар пользователя

Карма: 15
Зарегистрирован: Пн окт 11, 2010 20:00:08
Сообщений: 1754
Рейтинг сообщения: 0
Посмотрел исходник...
Во первых, на сервопривод нужно подавать импульсы с частотой 50 Гц и длительностью импульса от 1 до 2 мс. А у вас сколько?
Во вторых, где гарантия что при 500 микросекундной задержке или выполнении цикла формирующего импульсы для сервомашинок не придут данные с COM порта и они частично или полностью будут пропущены по той причине что в этот момент не выполняется функция SERIN? Есть 100% уверенность что такого не может произойти?

Alexey1969 писал(а):
А вопрос надежности программной реализации исключительно вопрос прямизны рук программиста
Ваш вариант мягко говоря не самый надежный и правильный. Выше написал почему.


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Управление сервомашинками через COM порт ПК
СообщениеДобавлено: Чт дек 08, 2016 13:43:04 
Грызет канифоль

Зарегистрирован: Чт мар 05, 2009 06:31:16
Сообщений: 282
Откуда: г. Кемерово
Рейтинг сообщения: 0
Что касается длительности импульса, то не верно, она 450-2450 , смотрим датшит.
В реальности, частота следования импульсов может не обязательно должна быть строго 50 герц, она совершенно спокойно может меняться в достаточно широких пределах и влияет только на скорость позиционирования, но не на положение.

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

Собственно все и выложено, что возможно будет предложен лучший вариант :)


Вложения:
Hextronik_HXT900_datasheet.pdf [144.11 KiB]
Скачиваний: 45
Вернуться наверх
 Профиль WWW  
 
Не в сети
 Заголовок сообщения: Re: Управление сервомашинками через COM порт ПК
СообщениеДобавлено: Чт дек 08, 2016 19:37:14 
Мудрый кот
Аватар пользователя

Карма: 15
Зарегистрирован: Пн окт 11, 2010 20:00:08
Сообщений: 1754
Рейтинг сообщения: 0
Alexey1969 писал(а):
что возможно будет предложен лучший вариант
Ну я предлагал. :)
Мурик писал(а):
Надо было вместо PIC12F629 поставить STM32F030F4P6
В чем преимущество STM32F030F4P6 в данном случае?
Во первых, аппаратный USART с поддержкой полудуплексного режима с приемом и передачей по одной линии. Это гарантирует отсутствие пропуска данных из-за занятости процессора. При приеме байта произойдет прерывание. Более того, если настроить использование DMA то можно принимать и передавать не по байтно, а по множеству байт не отвлекая процессор, т. е. аппаратно.
Во вторых, есть 32-ух битный таймер которого больше чем достаточно по разрядности для генерации ШИМ для 4-ёх сервоприводов.
И в третьих, стоимость PIC12F629 и STM32F030F4P6 примерно одинаковая, но если сравнить их характеристики, то становится понятно что PIC12F629 даже близко не сравнится с STM32F030F4P6 по возможностям.


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Управление сервомашинками через COM порт ПК
СообщениеДобавлено: Чт дек 08, 2016 19:50:59 
Грызет канифоль

Зарегистрирован: Чт мар 05, 2009 06:31:16
Сообщений: 282
Откуда: г. Кемерово
Рейтинг сообщения: 0
Не... не приемлемо. Во первых железка собрана, во вторых там архитектура другая, пока нет времени, да и желания на изучение. Ну и самое главное , поскольку задача чисто спортивная, интересно выжать из минимального железа максимальные возможности. Так что вопросы только по алгоритму :)

Добавлено after 6 minutes 1 second:
Вот например главный цикл:

;циекл для задержки
ASM
MOVLW D'100' ;загружаем количество циклов
MOVWF _I
MMM
CLRWDT ;незабываем очищать сторожевой таймервдлинном цикле ASM
;канал 0
MOVF _I, W ;переменную цикла в W
XORWF _Serv_0, W ;маскируем переменной,если 0,совпало
BTFSC STATUS, Z ;пропускаем следующую если не совпало
BCF GPIO, 0 ;завершим импульс

;канал 1
MOVF _I, W ;переменную цикла в W
XORWF _Serv_1, W ;маскируем переменной,если 0 то совпало
BTFSC STATUS, Z ;пропускаем следующую еслине совпало
BCF GPIO, 1 ;завершим импульс

;канал 2
MOVF _I, W ;переменную цикла в W
XORWF _Serv_2, W ;маскируем переменной,если 0 то совпало
BTFSC STATUS, Z ;пропускаем следующую еслине совпало
BCF GPIO, 2 ;завершим импульс

;канал 3
MOVF _I, W ;переменную цикла в W
XORWF _Serv_3, W ;маскируем переменной,если 0 то совпало
BTFSC STATUS, Z ;пропускаем следующую еслине совпало
BCF GPIO, 5 ;завершим импульс

DECFSZ _I,F
GOTO MMM

ENDASM

Установки каждой машинки сравниваются с переменной цикла, на сравнение каждой 4 команды. Что занимает много времени. Вот если бы удалось сократить... можно повысить разрешение установки


Вернуться наверх
 Профиль WWW  
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 24 ]  На страницу 1, 2  След.



Часовой пояс: UTC + 3 часа [ Летнее время ]


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

Сейчас этот форум просматривают: Bing [Bot] и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y