MAL4X Научно-технический форум разработчиков симуляторов и автоматики


Симуляторы перегрузок. DIY электроника. ЭВМ. Компьютерные сети.
Up

Разработка нового контроллера

Строим реалистичный симулятор перегрузок своими руками. Рекомендации. Советы.

Модераторы: Death_Morozz, null, Ale

Сообщение Ale » 09 сен 2012, 21:04

CraCk писал(а):Можно сделать несколько прошивок? Например только 3-ШИМ 10-и битных. 6-ШИМ 8-и битных.

Не совсем так. 10-битных канала можно реализовать только 2 в любом случае. Всего один таймер из трех может работать в таком режиме. Остальные два таймера могут дать только 8-битный ШИМ. Так что возможны следующие комбинации (но одной МЕГЕ):
- 2 канала по 10 бит, или
- 2 канала по 10 бит + 2 канала по 8 бит, или
- 2 канала по 10 бит + 4 канала по 8 бит (этот вариант пока спорный, но не безнадежный... Просто интересная задача для программиста)

Что касается кол-ва прошивок - можно все в одной реализовать. Просто смотреть, сколько данных на входе, и столько каналов регулировать...

CraCk писал(а):Частотники имеют точность АЦП? Для них тоже будет разница количество бит в ШИМа?

Частотники управляются аналоговым напряжением. ШИМ - это просто способ получения аналогового напряжения чисто цифровыми (ключевыми) средствами. По хорошему, перед подачей ШИМ на частотник его нужно пропустить через RC цепочку (фильтр), которая превратит ШИМ в аналоговое напряжение. Но точность установки напряжения все равно будет зависеть от точности формирования интервалов ШИМ. И для 8-битного она так и будет равна 0.4% от всего диапазона...
Альтернативой ШИМу в случаях с частотниками может служить ЦАП. Но поскольку в МЕГЕ ЦАПа нет, а внешнюю схему цеплять неохота, приходится выкручиваться тем же ШИМом

Что касается выбора МК - то я свои предложения уже высказал. В корпусе DIP40 мег не так уж много
Контроллер - любой из серии atmega164/324/644/1284 в корпусе DIP40

Фактически для всего семейства прошивка будет одна и та же, ну может с самыми небольшими правками.
Если же "упасть" на arduino, то лучше выбрать для домашнего контроллера процессор - аналог тому, что используется а аурдуине. Тогда прошивку можно было бы сделать практически универсальную и для ардуино (для лентяев ) и для самодельного контроллера. Но я этот вопрос еще не прорабатывал.

(...пятью минутами позже...)
Повнимательнее посмотрел Arduino UNO - контроллер Atmegа328. В принципе можно на ее основе сделать и свой контроллер. У него те же три таймера. И если не связываться с дисплеем (а мы это сможем), то ног должно хватить (6 ног шима + 6 ног АЦП для резисторов обратной связи + 6 ног для направления вдижков + 2 ноги для USART (rs232))
Аватара пользователя
Ale
Разработчик
 
Сообщения: 1477
Зарегистрирован: 01 фев 2011, 20:48
Откуда: Дубна
Благодарил (а): 570 раз.
Поблагодарили: 595 раз.
Баллы репутации: 277
ТехнарьТехнарьТехнарь

Сообщение CraCk » 09 сен 2012, 22:41

Ale писал(а):В принципе можно на ее основе сделать и свой контроллер.

Atmegа328 в DIP сложно найти и снова вылазит TQFP32. Складываться такое мнение что скоро DIP вообще не будет в производствеИзображение
Ресурсов этого контролера Atmegа328 хватит для нашей задачи?
Ale писал(а):то ног должно хватить

И для подключение енкодера с концевиками тоже хватит?
Ale писал(а):- 2 канала по 10 бит, или

Думаю того хватит. Каждый симостроитель хочет иметь качественное железо для своей игрушки. Одна из целей симостроение в том чтобы по максимуму достичь точности симулятора по отношению к действиям в гонке. Не спорю что в авиа симуляторе 8бит вполне хватит.
До этого времени практически никто не задавался вопросом почему нет еще двух 8-ми битых шим на контролере Таноса 1.5 хотя там все для этого есть.
P.S.
Где то читал что можно реализовать программный UART для любого МК AVR. Хочется полностью закрыть или продолжать разговоры о соединение нескольких МК на одной плате для достижение 6-ти ШИМ по 10бит.



Аватара пользователя
CraCk
SIMER
 
Сообщения: 371
Зарегистрирован: 31 мар 2010, 21:25
Откуда: Made in Ukraine
Благодарил (а): 67 раз.
Поблагодарили: 104 раз.
Баллы репутации: 112
ТехнарьТехнарь

Сообщение Ale » 10 сен 2012, 08:59

CraCk писал(а):И для подключение енкодера с концевиками тоже хватит?

Нет. Для энкодеров на один канал регулирования нужно минимум 2 вывода (если без концевиков), максимум 4 (с двумя концевиками). Так что только на 6 энкодеров нужно 24 вывода... На 2 канала - 8 выводов

CraCk писал(а):Каждый симостроитель хочет иметь качественное железо для своей игрушки. Одна из целей симостроение в том чтобы по максимуму достичь точности симулятора по отношению к действиям в гонке. Не спорю что в авиа симуляторе 8бит вполне хватит.

Что касается 10 или 8 бит на ШИМ - вопрос открыт. Если порассуждать, то нафига делать 10-битный ШИМ, если позицию задаем 8-и битную и с потенциометров обратной связи тоже данные 8-битные? Теперь по точности симулятора... Точность установки оси сима зависит от совокупности данных - точности обратной связи, "шумности" обратной связи, точности ШИМ. На фоне того, с чем мы имеем дело, точности ШИМ далеко не определяющий момент, ИМХО.

А если не рассуждать, то я могу сделать прошивку для AMC 1.5, в которой ДИП переключателем можно будет устанавливать 8 бит или 10 бит на два канала управления, которые сейчас используются. И можно на живом симе (у кого он есть) сравнить...
Аватара пользователя
Ale
Разработчик
 
Сообщения: 1477
Зарегистрирован: 01 фев 2011, 20:48
Откуда: Дубна
Благодарил (а): 570 раз.
Поблагодарили: 595 раз.
Баллы репутации: 277
ТехнарьТехнарьТехнарь

Сообщение CraCk » 14 сен 2012, 15:59

А как такой вариант?
Разводим плату на Atmegа328 корпус TQFP-32, делаем 6 каналов шим на потенциометрах плюс два выхода на енкодеры если не хватает выводом берем их из 4 каналов шим.
От прошивки требуется робота только 2-х 10 битных шим на резисторах, при переключение дип переключателя робота 6-ти 8 битных шим тоже на резисторах. Если нужно все жирных 6-шим 10-бит тогда уже паяем еще две платки, а так обходимся бюджетными 8-бит.

А чуть не забыл за енкодеры. Делаем прошивку только на два 10-бит шим канала.

Практически техзадание уже естьИзображение
Аватара пользователя
CraCk
SIMER
 
Сообщения: 371
Зарегистрирован: 31 мар 2010, 21:25
Откуда: Made in Ukraine
Благодарил (а): 67 раз.
Поблагодарили: 104 раз.
Баллы репутации: 112
ТехнарьТехнарь

Сообщение Ale » 16 сен 2012, 17:20

CraCk писал(а):азводим плату на Atmegа328 корпус TQFP-32

Не совсем понятно, зачем все же брать "проблемный" корпус? Ради полной совместимости с arduino uno? Или он не проблемный? Голосование, что ли, устроить. Как народ считает?
Я совсем не против. Программировать мне все равно для какого контроллера. Разводить плату - тоже. Изготавливать вручную все равно не будуИзображение .
Именно поэтому хочется услышать мнение сообщества.

Кстати, у платы arduino есть одна проблема - кварц 16МГц. Не потому, что медленный (я совсем не считаю, что надо разгоняться до 22 МГц), а потому, что для такого кварца неустойчиво будет работать канал связи на частоте 115 кБод. Лучше в любом случае перепаять кварц на 18.320 МГц
Аватара пользователя
Ale
Разработчик
 
Сообщения: 1477
Зарегистрирован: 01 фев 2011, 20:48
Откуда: Дубна
Благодарил (а): 570 раз.
Поблагодарили: 595 раз.
Баллы репутации: 277
ТехнарьТехнарьТехнарь

Сообщение CraCk » 16 сен 2012, 17:35

Ale писал(а):Не совсем понятно, зачем все же брать "проблемный" корпус?

Трудно приобрести в наших кустарниках в dip корпусах практически любую атмегу. Если и можно то под заказ доставка 3-4 недели. А в TQF корпусе есть все в наличии.
Вариант возвести в двух вариантах чтобы не создавать дискуссий по мелочах.
Аватара пользователя
CraCk
SIMER
 
Сообщения: 371
Зарегистрирован: 31 мар 2010, 21:25
Откуда: Made in Ukraine
Благодарил (а): 67 раз.
Поблагодарили: 104 раз.
Баллы репутации: 112
ТехнарьТехнарь

Сообщение CraCk » 16 сен 2012, 20:30

Ale писал(а):Лучше в любом случае перепаять кварц на 18.320 МГц

Тогда нужно уже проверять, будет ли вообще работать после перепайки arduino.

Аватара пользователя
CraCk
SIMER
 
Сообщения: 371
Зарегистрирован: 31 мар 2010, 21:25
Откуда: Made in Ukraine
Благодарил (а): 67 раз.
Поблагодарили: 104 раз.
Баллы репутации: 112
ТехнарьТехнарь

Сообщение AlexVr » 16 сен 2012, 20:32

Ale писал(а):Программировать мне все равно для какого контроллера. Разводить плату - тоже. Изготавливать вручную все равно не буду .

Лично я из этих же соображений за UNO!Изображение
Аватара пользователя
AlexVr
SIMER
 
Сообщения: 449
Зарегистрирован: 05 апр 2010, 20:48
Благодарил (а): 23 раз.
Поблагодарили: 32 раз.
Баллы репутации: 71
Технарь

Сообщение CraCk » 16 сен 2012, 21:57

AlexVr писал(а):Лично я из этих же соображений за UNO!

Это будет актуально пока UNO еще производится. За год может быть снимут с производства. И все, потеха на этом окончиться
Аватара пользователя
CraCk
SIMER
 
Сообщения: 371
Зарегистрирован: 31 мар 2010, 21:25
Откуда: Made in Ukraine
Благодарил (а): 67 раз.
Поблагодарили: 104 раз.
Баллы репутации: 112
ТехнарьТехнарь

Сообщение Ale » 27 сен 2012, 07:46

Присмотрелся повнимательнее к новой плате Таноса

http://x-sim.de/forum/viewtopic.php?f=39&t=132

Собственно, развитие AMC1.5 с новым контроллером и USB вместо RS232. Так вот - раньше я не обращал внимания, но использование микросхемы FT232R (пусть в составе готового модуля) кроме возможности избавиться от COM-порта дало еще возможность избавиться от... программатора. FT232R есть дополнительные ноги - которые могут быть запрограммированы с компьютера.

И сами разработчики FTDI написали небольшую утилитку,
http://procyonengineering.com/embedded/avr/ftisp/index.html
которая заливает прошивку в мегу (при соответствующем соединении ног FT323R и меги).

Думаю, разумно будет сделать у себя так-же. Но тогда возникает законный вопрос - может просто использовать AMC1.6 и не париться? Думаю, как вариант - вполне катит

Ну а если нужно больше каналов, тогда можно попробовать использовать atmega64 (у нее 2 16-битных таймера, т.е 4 канала ШИМ по 10 бит легко) . Да, она в корпусе TQFP64 - но по расстояниям между ногами он ни чем не отличается от TQFP32 - Сложно, конечно, плату будет сделать одностороннюю, но можно.

Кстати, FT232R тоже в SOIC корпусе. Миниатюризация. Даже не знаю, можно ли "утюжным" методом такие платы делать...

ЗЫ: У arduino есть два неоспоримых преимущества - то, что ее можно готовую купить, и то, что в нее встроен BootLoader для заливки программ. И если с первым тягаться сложно, то без бутлодера вполне можно обойтись, используя FTISP...
Аватара пользователя
Ale
Разработчик
 
Сообщения: 1477
Зарегистрирован: 01 фев 2011, 20:48
Откуда: Дубна
Благодарил (а): 570 раз.
Поблагодарили: 595 раз.
Баллы репутации: 277
ТехнарьТехнарьТехнарь

Сообщение Ale » 27 сен 2012, 10:34

Ale писал(а):Ну а если нужно больше каналов, тогда можно попробовать использовать atmega64 (у нее 2 16-битных таймера, т.е 4 канала ШИМ по 10 бит легко)

Даже не так - у меги64 два 16-битных таймера, каждый из которых имеет по ТРИ выхода ШИМ - вот вам и 6 каналов сразу
Аватара пользователя
Ale
Разработчик
 
Сообщения: 1477
Зарегистрирован: 01 фев 2011, 20:48
Откуда: Дубна
Благодарил (а): 570 раз.
Поблагодарили: 595 раз.
Баллы репутации: 277
ТехнарьТехнарьТехнарь

Сообщение AlexVr » 27 сен 2012, 10:54

Возможно я заблуждаюсь, но кто будет собирать СИМ на 6 приводах для домашнего использования? Сомнительная затея для дома.
А для коммерческих целей все давно уже сделал Павел 155.
Аватара пользователя
AlexVr
SIMER
 
Сообщения: 449
Зарегистрирован: 05 апр 2010, 20:48
Благодарил (а): 23 раз.
Поблагодарили: 32 раз.
Баллы репутации: 71
Технарь

Сообщение Ale » 27 сен 2012, 10:58

AlexVr писал(а):Возможно я заблуждаюсь, но кто будет собирать СИМ на 6 приводах для домашнего использования? Сомнительная затея для дома.
А для коммерческих целей все давно уже сделал Павел 155.

Оно, конечно, верно. Но я, к примеру, хочу для дома 4dof собирать.
Аватара пользователя
Ale
Разработчик
 
Сообщения: 1477
Зарегистрирован: 01 фев 2011, 20:48
Откуда: Дубна
Благодарил (а): 570 раз.
Поблагодарили: 595 раз.
Баллы репутации: 277
ТехнарьТехнарьТехнарь

Сообщение CraCk » 27 сен 2012, 12:47

Ale писал(а):Но тогда возникает законный вопрос - может просто использовать AMC1.6 и не париться?

Убивает то что Танос делает корявые выходи для подключение ОС и куча еще ненужных штырков. Вот например подключения датчика ос если подключать потенциометр то проблем нет, а если подключит датчик Холла, получаем сразу Аминь. То есть не хватает разъемов против "дурака"
Можно повторить и AMC1.6 но сделать все намного лучше продумать и дать возможность выбора какой использовать FT323R модульный или само пайка. добавить возможность подключение енкодеров. И убрать все что связано с дисплеем.
Ale писал(а):Да, она в корпусе TQFP64 - но по расстояниям между ногами он ни чем не отличается от TQFP32 - Сложно, конечно, плату будет сделать одностороннюю, но можно.

Я веду к тому что корпус TQFP32 при замене возможно выпаять, хоть и с кучей матов. А TQFP64 это будет очень жестоко. Конечно хочется иметь универсальный МК на одной плате.
Ale писал(а):Частотники управляются аналоговым напряжением. ШИМ - это просто способ получения аналогового напряжения чисто цифровыми (ключевыми) средствами. По хорошему, перед подачей ШИМ на частотник его нужно пропустить через RC цепочку (фильтр), которая превратит ШИМ в аналоговое напряжение. Но точность установки напряжения все равно будет зависеть от точности формирования интервалов ШИМ. И для 8-битного она так и будет равна 0.4% от всего диапазона...
Альтернативой ШИМу в случаях с частотниками может служить ЦАП. Но поскольку в МЕГЕ ЦАПа нет, а внешнюю схему цеплять неохота, приходится выкручиваться тем же ШИМом

А как это понимать?
Изображение
Аватара пользователя
CraCk
SIMER
 
Сообщения: 371
Зарегистрирован: 31 мар 2010, 21:25
Откуда: Made in Ukraine
Благодарил (а): 67 раз.
Поблагодарили: 104 раз.
Баллы репутации: 112
ТехнарьТехнарь

Сообщение AlexVr » 27 сен 2012, 16:18

CraCk писал(а):А как это понимать?


По моим скромным расчетам:
10 бит - 1024 точки на диапазон.
т.е. шаг 1 мВ по напряжению и 0,2 мм при диапазоне актуатора 200 мм.

Минимальная RC цепочка 1 кОм и 1 мкФ.
t=RC=0,001 сек. За время RC происходит зарядка от 0 до 63% (1 - 1 / e)
При скорости перемещения 200 мм/сек задержка 0,2 мм, а это и есть погрешность.
Т.е. даже при такой минимальной RC цепочке позиционирование ухудшится в 2 раза!
Использование 10 битного разрешения не оправдано.
И это не учитывая помехи, активную и реактивные составляющие сопротивлений кабеля.
Если нам нужен цифро-аналоговый преобразователь вполне можно обходится 8 битами, а мы спорим про 16...
Аватара пользователя
AlexVr
SIMER
 
Сообщения: 449
Зарегистрирован: 05 апр 2010, 20:48
Благодарил (а): 23 раз.
Поблагодарили: 32 раз.
Баллы репутации: 71
Технарь

Пред.След.

Вернуться в X-SIMULATOR и RU-SIMULATOR & SimTools

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 150

cron
x

#{title}

#{text}