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


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

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

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

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

Re: Данные: что передавать и как регулировать

Сообщение CraCk » 13 дек 2012, 16:11

null писал(а):Но есть ли в этом смысл и готовы ли остальные к этому?

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

Re: Данные: что передавать и как регулировать

Сообщение null » 13 дек 2012, 16:36

CraCk писал(а):Я готов перейти на новый контролер. Склонен к созданию копии Arduino Nano. Самый простой как в сборке, так в ремонте. На нем нет ничего лишнего.

Я не против, у меня даже заводская печатка для нее валяется уже год - подарил друг за ненадобностью, контроллер только надо купить.

Ale
Как по твоему, получится перенести программу на atmega328p?
Русский X-Simulator
Изображение
За пределами форума. Мой инстаграмм.
Аватара пользователя
null
SIMER
 
Сообщения: 1041
Зарегистрирован: 03 мар 2010, 18:42
Откуда: Ростов-на-Дону
Благодарил (а): 219 раз.
Поблагодарили: 160 раз.
Баллы репутации: 138
ТехнарьТехнарь

Re: Данные: что передавать и как регулировать

Сообщение AlexVr » 13 дек 2012, 17:39

null писал(а):AlexVr
Какой контроллер установлен на твоей плате ардуино?

ATMEGA 328P-PU
Аватара пользователя
AlexVr
SIMER
 
Сообщения: 449
Зарегистрирован: 05 апр 2010, 20:48
Благодарил (а): 23 раз.
Поблагодарили: 32 раз.
Баллы репутации: 71
Технарь

Re: Данные: что передавать и как регулировать

Сообщение Ale » 13 дек 2012, 21:31

null писал(а):Ale
Как по твоему, получится перенести программу на atmega328p?

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

Re: Данные: что передавать и как регулировать

Сообщение null » 14 дек 2012, 12:49

Ale писал(а):нет проблем.

Прекрасно! тогда вопрос по поводу кварца. Мы будем использовать стандартный кварц с нестандартной скоростью порта или будем менять кварц на подходящий? Я бы наверное впаял сразу правильный - 14.7456 МГц или 18.4320 МГц. Так?
Русский X-Simulator
Изображение
За пределами форума. Мой инстаграмм.
Аватара пользователя
null
SIMER
 
Сообщения: 1041
Зарегистрирован: 03 мар 2010, 18:42
Откуда: Ростов-на-Дону
Благодарил (а): 219 раз.
Поблагодарили: 160 раз.
Баллы репутации: 138
ТехнарьТехнарь

Re: Данные: что передавать и как регулировать

Сообщение Ale » 14 дек 2012, 14:54

null писал(а):18.4320 МГц.

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

Re: Данные: что передавать и как регулировать

Сообщение taran_ob » 17 дек 2012, 11:59

Ale писал(а):Порядка 10 кгц. Вообще в прошивке опрос энкодеров происходит по таймеру, период опроса = 20 кГц.

Ale, на сколько можно поднимать частоту опроса? а то выбор заводских энкодеров с малой дискретностью очень не велик, но в принципе не проблема

Объясни пожалуйста, в чем подвох такого короткого алгоритма опроса по сравнению с твоим?

взято с http://elm-chan.org/docs/tec/te04.html
Код: Выделить всё
signed int position; //позиция

void encoder_pos(void)
{
static signed char dir[] = { 0,1,-1,0,-1,0,0,1,1,0,0,-1,0,-1,1,0 };
static char i;                           
static signed char n;
i = (i << 2) + (PINC & 3);  // ноги энкодера PINC.0  PINC.1
n = dir[i & 15];                   
if (n) {position += n;}
}
taran_ob
Комсорг
 
Сообщения: 137
Зарегистрирован: 27 окт 2012, 22:05
Откуда: Ukraine
Благодарил (а): 5 раз.
Поблагодарили: 11 раз.
Баллы репутации: 19
Новичок

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

Сообщение Ale » 18 дек 2012, 19:43

taran_ob писал(а):Ale, на сколько можно поднимать частоту опроса? а то выбор заводских энкодеров с малой дискретностью очень не велик,

Ну, раза в два еще наверное можно поднять. Только есть ли смысл?
taran_ob писал(а):Объясни пожалуйста, в чем подвох такого короткого алгоритма опроса по сравнению с твоим?

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

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

Сообщение null » 02 янв 2013, 19:23

Всех с наступившим!

Несмотря на огромное желание провести новогодние праздники провести пузом к верху у телевизора, у меня есть огромное желание что-нибудь поделать.
Чего и другим искренне желаю :)

В общем я хочу предложить развить прозвучавшую ранее здесь идею о сборке электроники для сима из готовых модулей. Несколькими постами выше, мы решили в качестве базовой платформы использовать arduino uno nano. В качестве готового Нмоста, вполне можно использовать ранее упомянутого в соответствующей теме китайца. Одна проблема - гальваническая развязка. Я и раньше осознавал ее необходимость, но после постов Ale и тестов AlexVR стало понятно что без нее никак :!:. К сожалению готового подходящего модуля для ардуино я не нашел (поправьте меня если это не так). Поэтому эту несложную, но важную часть придется изготовить самостоятельно. Кроме того есть и другой плюс - это позволит на самодельной плате применить более надежные и удобные разъемы (по сравнению со штырями на ардуино) для подключения периферии.

Ale ранее предлагал две схемы. Первая с использованием 6n137, а вторая ISO7220. Мне лично понравился второй вариант из-за меньшего количества микросхем и если я правильно понял, отсутствием необходимости инвертировать ШИМ при помощи микросхемы 7405. Немного погуглив я понял, что ISO7220 найти вовсе не проблема. В крайнем случае эту микросхему можно заказать из Китая вместе с ардуиной и мостом, сэкономив при этом некоторую сумму денег. Разводку и тестирование я могу сделать сам и поделиться результатами со всеми.

В связи с этим у меня есть несколько вопросов к сообществу:

1. А оно надо? :)
2. Какой использовать регулятор напряжения вместо 7805 для смд версии платы? Склоняюсь к LD1117 ....
3. Какие разъемы использовать для датчиков обратной связи? Сейчас я использую мини джек 3.5мм (в этом есть минус).
4. Вопрос скорее к Ale, как к главному разработчику :). Я ни в коем случае не тороплю с портированием на мегу328, но предлагаю обсудить - какие ноги МК будут использоваться для подключения потенциометров, жк экрана, моста и т.п. Без этого начинать разводить плату бессмысленно.

Пока что поток сознания иссяк :), жду ваших предложений!
Русский X-Simulator
Изображение
За пределами форума. Мой инстаграмм.
Аватара пользователя
null
SIMER
 
Сообщения: 1041
Зарегистрирован: 03 мар 2010, 18:42
Откуда: Ростов-на-Дону
Благодарил (а): 219 раз.
Поблагодарили: 160 раз.
Баллы репутации: 138
ТехнарьТехнарь

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

Сообщение AlexVr » 02 янв 2013, 21:43

С Новым Годом, Друзья!
Поддерживаю вариант заняться делом! :)
ISO в моем городе в наличии не было, но под заказ привезли через 3 дня.
Мини-платку под них тоже продают:
Изображение
http://fotki.yandex.ru/users/alex-vr/view/591021/
Завтра подключу!
Пытаюсь второй день приладить энкодеры и концевики - задача не из легких.
Но вроде начало получаться - трезвею :D .
Самому очень интересно запустить СИМ на энкодерах, с оптической развязкой! А если еще с Ардуинкой дела заладятся 2013 будет счастливым! :)
Аватара пользователя
AlexVr
SIMER
 
Сообщения: 449
Зарегистрирован: 05 апр 2010, 20:48
Благодарил (а): 23 раз.
Поблагодарили: 32 раз.
Баллы репутации: 71
Технарь

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

Сообщение null » 02 янв 2013, 21:58

Ждем результатов! Мне лично энкодеры мегаинтересны, так что ты там поподробней фоткай! :)

И да, хватит уже алкоголя ;)
Русский X-Simulator
Изображение
За пределами форума. Мой инстаграмм.
Аватара пользователя
null
SIMER
 
Сообщения: 1041
Зарегистрирован: 03 мар 2010, 18:42
Откуда: Ростов-на-Дону
Благодарил (а): 219 раз.
Поблагодарили: 160 раз.
Баллы репутации: 138
ТехнарьТехнарь

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

Сообщение Ale » 02 янв 2013, 22:30

С Новым!!!
null писал(а):Я ни в коем случае не тороплю с портированием на мегу328, но предлагаю обсудить - какие ноги МК будут использоваться для подключения потенциометров, жк экрана, моста и т.п. Без этого начинать разводить плату бессмысленно.


Спасибо kuzevan, благодаря которому у меня появилась платка arduino duemilanove на atmega328P. Правда я ее еще даже не включал - все новогодние праздники занимаюсь софтом? вернее попытками наладить его под WinXP связь с IL-2. Пока не очень получается, прямо скажем. Так что, пожалуй, стоит передохнуть и переключиться. Так что есть резон как раз продумать проект контроллера.

И у меня в этой связи есть два предложения по общему построению системы (все это тут уже обсуждалось, просто изложу то, что отложилось) Предположим, что за основу берем atmega328. На ней вполне можно сделать управление двумя каналами. Более сложные системы потребуют модульного наращивания.

1 - Система на основе покупных плат ардуино - гальваническая развязка ставится между контроллером и мостом. А модульное наращивание производится за счет использования USB- разветвителей...

2 - Система "самопальная" на базе контроллера atmega328. Тут можно реализовать подход с одной платой преобразователя USB-RS232(или даже RS485) сразу с гальванической развязкой, к которой уже подключаются платы контроллеров, гальванически связанных с мостами.

Поэтому пока погоди разводить плату. Давай утрясем схемотехнические решения. Я попробую свои предложения в течении нескольких дней оформить.

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

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

Сообщение null » 02 янв 2013, 22:46

Ale писал(а):И у меня в этой связи есть два предложения по общему построению системы (все это тут уже обсуждалось, просто изложу то, что отложилось) Предположим, что за основу берем atmega328. На ней вполне можно сделать управление двумя каналами. Более сложные системы потребуют модульного наращивания.

Вполне нормальный вариант на мой взгляд. Один вопрос - будет ли поддержка энкодеров?
Ale писал(а):1 - Система на основе покупных плат ардуино - гальваническая развязка ставится между контроллером и мостом. А модульное наращивание производится за счет использования USB- разветвителей...

Как раз такой вариант я сейчас предлагаю. В общем здесь вопросов лично у меня - нет.
Ale писал(а):2 - Система "самопальная" на базе контроллера atmega328. Тут можно реализовать подход с одной платой преобразователя USB-RS232(или даже RS485) сразу с гальванической развязкой, к которой уже подключаются платы контроллеров, гальванически связанных с мостами.

И здесь "ЗА", т.к. такой вариант даст огромное поле для усовершенствований.
Русский X-Simulator
Изображение
За пределами форума. Мой инстаграмм.
Аватара пользователя
null
SIMER
 
Сообщения: 1041
Зарегистрирован: 03 мар 2010, 18:42
Откуда: Ростов-на-Дону
Благодарил (а): 219 раз.
Поблагодарили: 160 раз.
Баллы репутации: 138
ТехнарьТехнарь

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

Сообщение Ale » 02 янв 2013, 22:56

null писал(а):Один вопрос - будет ли поддержка энкодеров?


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

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

Сообщение Ale » 03 янв 2013, 10:57

Подключил ардуину и прошил в нее HEX файл минуя ее среду разработки (используя ее бутлодер, т.е. просто подключив по USB к компу). http://xloader.russemotto.com/ Все работает и все готово к портированию прошивки.


Что касается периферии - у контроллера для использования свободно 18 ног (это максимум)
(вот тут схема моей платы)
http://arduino.cc/en/uploads/Main/arduino-duemilanove-schematic.pdf

Бюджет ног для контроллера с потенциометрами / датчиками Холла:
4 ноги - два канала ШИМ (PWM1+DIR1, PWM2+DIR2)
2 ноги - два канала АЦП (датчики обратной связи аналоговые)
6 ног - LCD дисплей (опционально, так как прошивка содержит возможность контроля параметров на компе)
1 нога служебная - включение/выключение передатчика RS485 для многоплатных систем
вроде укладываемся

Бюджет ног для контроллера с энкодерами
4 ноги - два канала ШИМ (PWM1+DIR1, PWM2+DIR2)
8 ног - два канала ЭНКОДЕРОВ ((2 линии энкодера + 2 концевика) * 2)
6 ног - LCD дисплей (опционально, так как прошивка содержит возможность контроля параметров на компе)
1 нога служебная - включение/выключение передатчика RS485 для многоплатных систем
не укладываемся, чем то надо жертвовать. В многоплатных системах на основе покупной платы ардуино не используется RS485

Проверьте, может я чего упустил?

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

Пред.След.

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

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

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

cron
x

#{title}

#{text}