"управление файлами" ниже окна набираемого текста посмотри
"управление файлами" ниже окна набираемого текста посмотри
Кнопку жму - ничего не происходит. Может в опере не работает?
Еще вопрос к MeanDog: можно ли выложить подробное описание чего в понипрог делать? (ну там загружаем такой-то файл, нажимаем такую-то кнопочку...) Посмотрел - ничего не понял.
Заранее спасибо.
Определенно! Тщеславие - мой самый любимый из грехов.
Попробую изложить...
1. Присоединяеш программатор с присоединеной АТМега к LPT1. При этом микросхема должна иметь питание +5В. Я ее програмирую просто включенную в УСБ.
2. Запускаеш PonyProg. При первом запуске он предлагает сделать калибровку по скорости твоей машины. Делаеш это. Или Setup->Calibration.
3. Делаеш Setup->Interface Setup... как было показано выше.
4. Делаеш Device->ATMega8 как было показано выше.
5. Открываеш mjoy.hex с File->Open Program(FLASH) File...
6. Програмируеш микросхему с Command->Write Program (FLASH)
7. Програмируеш биты с Command->Security and Configuration bits... Там ставиш опции как показано на скриншоте и жмеш Write.
8. Закрываеш PonyProg, отсоединяеш программатор и включаеш свой мегаджойстик в USB (или выключаеш и снова втыкаеш обратно).
Крайний раз редактировалось MeanDog; 08.07.2004 в 19:40.
MeanDog, спасибо, сегодня сделаю платку - завтра буду пробовать програмить.
Определенно! Тщеславие - мой самый любимый из грехов.
Сегодня закончил делать контроллер - ВСЕ РАБОТАЕТ. Резюки пока не подключал (спатки хоцца), но Винда видит ЭТО УСТРОЙСТВО!!!. :p
MeanDog, аггромное спасибо за твое творение. Восхищен и преклоняюсь.
По свободе сделаю фотки и запостю.
Определенно! Тщеславие - мой самый любимый из грехов.
А у нас контроллеров таких нет... Мне привезут только через неделю-другую.
...чего уж тигру лишняя полосочка... (© - не помню)
Подключил резюки (100 кОм), хорошие, к X,Y. Заметно дрожание осей (смотрел в конфиге NewView) примерно в пределах сотни/полутора положений (из 16000), в свойствах игрового устройства (Винда) тоже заметно.
У меня не стоят кондеры по питанию, может в этом дело? Или все-таки в резюках? Попробую поставить 50 кОм, а потом другие резюки. О результатах доложу.
И еще хочу спросить: 10-разрядные оси сколько могут дать положений? 1792?
Определенно! Тщеславие - мой самый любимый из грехов.
10 двоичных разрядов = 2^10 = 1024 отсчета. Питание фильтровать в любом случае нужно, тут не скупятся.
Я бы попробовал снизить сопротивление резисторов до 5..15 кОм (тут хорошо бы знать входное сопротивление или ток по аналоговым входам микросхемы контроллера - так оно правильнее для грубой прикидки).
...чего уж тигру лишняя полосочка... (© - не помню)
По питанию хоть один конденсатор должен стоять обязательно.Сообщение от Submer
Колебания могут быть наводки от сети и т.п. Уменшение сопротивления потенциометра должно помогать. Также сильно помогает подсоединение резисторов экранированным проводом. Я подключил свои микрофонным проводом с двумя проводами внутри. Экран - земля, провод1 - +5В, провод2 - сигнал от резюка.
10 бит это 1024 значений как говорил Rik. Реально будет меньше так как реально неиспользуеш весь диапазон 0-5В. В моем варианте получилось ~750. Конечно возможно добится полного диапазона поставив операционный усилитель. Но это усложнило бы схему и настройку.
Посмотрел в Платане, там их немало всяких. Какой надо (полную маркировку)?
Я использовал ATMega8-16PI. В принципе можно любой с частотой не менее 12МГц. Здесь цифра 16 указывает что он 16МГц. PI - DIP корпус легче всего паять.
Крайний раз редактировалось MeanDog; 14.07.2004 в 11:14.
Да еще.
Maxix мудро предлагал делать контроллер на другом корпусе так как тогда будут 8 АЦП, а не 6 как сейчас. Или можно взять АТМега16.
Но в то время был барьер 64 бита. Потому я и не работал над этим.
А сейчас это было бы весьма кстати. Может быть незадолго сделаю вариант на ATMega16 с 8 осями и тучей кнопок. Он хотя и стоит дороже, но все равно дешево по сравнению с тем какая вещь получается.
Я планар заказал
2Mean Dog
ты не против если я на своем контроллере добавлю на плату разводку чтоб можно было перешить твоим USB вариантом? а то уже несколько раз спрашивали "а нельзя ли?"
а свой с нормальным Usb я пока не доделал
2Maxix
Давай, нет проблем. Может и я потом платку попрошу А то мне как-то неохота с ними возится.
Советы примешь ?
Перевод комбинаций нажатий кнопок в положения хатки, не через условия, а через 15-ти элементную таблицу (невалидные значения - в 0) ускорит эту часть в несколько раз.
А RC - цепочка для AREF из ПДФ-а - резко уменьшит шумы.
ЗЫ: Намек - осталось найти человека, который УСБ-сниффером снял бы дескрипторы с реального когуара и можно будет спокойно использовать его ПО.
Если кто-то в Грузии думал что русские простят 20.09.07 - он был категорически неправ !!!
Хорошие советы. Приму во внимание для следующего релиза. Спасибо. Этот вариант хатки просто остался от стадии налаживания. А оптимизацию оставил на потом
Рад что заглянул в код
Про RC цепочку или какой другой филтр думал в начале, но чтобы сделать контроллер как можно более доступный в изготовлении даже для непосвященных решил не нагружать схему необязательными деталями.
В новом релизе (наверное АТМега16) собираюсь сделать более грамотное схематическое решение.
Кугар проанализировать было бы неплохо. Я его никогда живьем и не видел...
И еще вопрос всем замешенным - чего бы больше хотелось от этого контроллера? Больше кнопок, хаток, что-то другое или больше ничего ненадо?
не поверишь 8) я хотел заняться выдумыванием схемы с контролером и решил для этого почитать форум 8) .... и на свё большое удивление обнаружил эту ветку.
Я когда планировал созадать свою електронику сразу начал периберать в памяти доступ к каким отладочным платам у меня имеется .... и из подходящего оказалась только отладочная плата с МС68НС11. Так как я не имею опыта создания реальных устройств с полного нуля то я не имел понятия что впринципе можно обойтись без отладочной платы.
Вот собственно меня интересует вопрос , пользовался ли ты какимито специальными средствами. так как мне кажется написав ПО для незнакомого контролера ,и отладив его в эмуляторе , на реальном обьекте оно врятли нормально запуститься сразу .... и вообще нужно же както было смотреть что делает контролер и находить ошибки ПО для реального обьекта??
Сейчас засел за изучение твой статьи 8) .... мне очень интересно 8)
ПС , а почему ты не исспользовал внешний например 2х канальный 16ти разрядный АЦП ?? (Сори я ещё не прочитал твою статью и не разобрался со спецификацией контролера)
вот по ходу дела я тут слышал ты писал что можно обойти ограничение в 64 бита тоесть можно сделать пакет больше 8ми байт ... что интересно для этого нужно и впринципе насколько кртично время опроса контролера, Если например оно будет равно 30мс тоесть 3 пакета по 64 бита. Сильно ли это ухудшит качество ????
На мой взгляд дальше морочить что-то смысла еще большого не будет.Сообщение от MeanDog
Дело в том, что насколько я понимаю все мыши, клавы и прочее под джои делаются через виртуальные хид-девайсы фильтрами верхнего уровня. Для этого 16 кнопок (+2 хата) за глаза.
Большее количество кнопок имеет смысл на чем-то типа "приборной доски", но ее дешевле завести через другой УСБ порт. Тем более народ сразу захочет выводит туда и данные из ломачной LUA.
Хардварная же калибровка на домашних джойстиках вещь очень спорная по алгоритмам и вариантам и лучше ее тоже отдать софту наружу.
Т.ч. на мой взгляд, единственная доработка - это эмуляция различных джоев, чтобы можно было использовать их штатный софт. Для этого хватает даже Мега8 (пусть и в PLCC корпусе). Остаются вопросы с копирайтами производителей - но кого в России тем более на некомерческой разработке они волнуют.
Дальше - просто вылизывание схемы, печатки и прошивки.
ЗЫ: И еще. Никто вроде не заставляет отдавать пакеты в режиме ID1-ID2-ID1-ID2. Можно отдавать как ID1-ID1-ID2-ID1-ID1, т.е. пакеты с осями в два раза чаще пакетов с кнопками.
Тогда до ФПС=60 у джойя будет достаточно информации чтобы передавать измененную инфу каждый фрейм отрисовки.
Крайний раз редактировалось LazyCamel; 19.07.2004 в 07:37. Причина: вдогонку:
Если кто-то в Грузии думал что русские простят 20.09.07 - он был категорически неправ !!!
Могу снять протокол обмена с кугара,сайтека 45(есть), msffb2(есть ) и логитеха ffb(тоже есть)
если интересно.
вот тока расписывать что там где я не очень могу ...
PS добавил то что под рукой оказалось
PPS
смотреть прогой snoopypro
Крайний раз редактировалось Maxix; 19.07.2004 в 08:12.
А смысл - кто тебе мешает прицепить на порт 7-разрядный светодиодный индикатор и сразу валить на него информациюСообщение от BAG
В зависимости от необходимости. В простейшем алгоритме можно проверить в АВР-Студио (это симулятор) , чуть более сложном - повесить индикаторы и выводить на них, в еще более сложном - зацепить через JTAG-интерфейс полноценный эмулятор, т.к. в новых Мегах встроен внутрикристальный отладчик и можно гнать прямо по тактам смотря изменения.Сообщение от BAG
Гм.Сообщение от BAG
Начальные данные - полное отклонения ручки джой ~90-100 градусов.
Полный диапазон 10бит встроенного АЦП - 1024 отсчета.
Итого минимальный угол хода ручки ~0.1 градуса.
Точность ограниченная АЦП = +\- половина последнего разряда или 1/(2^9.5)~0.14%
Вам еще нужен 16-бит АЦП (все цифры поделить на 64) для магниторезисторов с точностью 1-3 % или обычных резисторов с 5% ?
Если кто-то в Грузии думал что русские простят 20.09.07 - он был категорически неправ !!!
Для отладки контроллера я использую светодиод подключенный к какой нибудь I/O ножке, а в програме в нужном месте ставлю код чтобы зажигать или гасить его.Сообщение от BAG
Я думал об этом. Но еще ненашел широкодоступный и дешевый АЦП для этого. Уже подметил пару микросхем от Analog Devices. Но для начала я делал все как можно проще.Сообщение от BAG
Я думаю что уменшение частоты даже до 20 раз в секунду нечувствовалась для пользователя. Конечно это еще нужно проверить. Так что наверное можно посылать и 5 репортов. И при том можно делать обновление данных не поочередно, а посылать наыболее важные репорты чаще как говорит LazyCamel. Например ID1 - ID2 - ID1 - ID3 - ID1 - ID4 - ID1 - ID5 - ID1 - ID2...Сообщение от BAG
Посмотрю в свободную минутку.Сообщение от Maxix
Точно, я еще забыл сказать что использовал внутренний софтовый эмулятор AVR Studio 4. Там вручную ставиш биты на входах и смотриш что делает програма. Очень удобно. И ничего нестойтСообщение от LazyCamel