usb-адаптер для передатчика

Vad64
boroda_de:

Посадил fuses - HID опознаются, но только с питанием +5В на Vcc.
нет питания (внешнего; +5в от USB не катит)- нет девайса (вернее неопознан).

Скорее всего, при низком питании не запускается задающий генератор. Попробуйте запрограммировать fuse CKOPT. Это изменит к лучшему режим тактового генератора. На моем экземпляре нижний порог питания составляет 2.8В при CKOPT=1 (не запрограммирован) и 1.9В при CKOPT=0 (запрограммирован). У меня стоит кварцевый резонатор и емкости по 12 пФ.

А вот тот факт, что Dell не захотел иметь дела с нашим девайсом, я пока объяснить не могу. Известно, что некоторые хосты не работают, если частота шины отличается от 12 МГц, причем даже на допустимые по стандарту 1.5%. boroda_de, у Вас нет возможности измерить тактовую частоту процессора?

boroda_de
Vad64:

Скорее всего, при низком питании не запускается задающий генератор. Попробуйте запрограммировать fuse CKOPT. Это изменит к лучшему режим тактового генератора. На моем экземпляре нижний порог питания составляет 2.8В при CKOPT=1 (не запрограммирован) и 1.9В при CKOPT=0 (запрограммирован). У меня стоит кварцевый резонатор и емкости по 12 пФ.

А вот тот факт, что Dell не захотел иметь дела с нашим девайсом, я пока объяснить не могу. Известно, что некоторые хосты не работают, если частота шины отличается от 12 МГц, причем даже на допустимые по стандарту 1.5%. boroda_de, у Вас нет возможности измерить тактовую частоту процессора?

Извиняюсь, конденсатор 4,7 на стабилизаторе отпаялся (холодная пайка) был, теперь HID опознаётся (Нашел, когда увидел, что с выключеным блоком питания от програматора тоже работает; прикинул, что ему выключеный блок питания может такого дать и стал искать отсутствующий кондер). Осталось передатчик подсоединить для проверки.

А в Dellе наверное просто другой контроллер USB стоит, который требовательнее к уровню сигнала.

Спасибо за быстрый ответ.
С уважением Юра aka boroda_de

Vad64
boroda_de:

А в Dellе наверное просто другой контроллер USB стоит, который требовательнее к уровню сигнала.

Уровни сигналов у нас в норме. Так что скорее всего причина - в частоте.

boroda_de
Vad64:

Уровни сигналов у нас в норме. Так что скорее всего причина - в частоте.

Я поставил из fuse только SPIEN т.к. внешний кварц больше 8MHz, может здесь чего напутал. В Ponyprog fuses все галочки нужно убрать, тогда в yaap их нужно все поставить?

Vad64
boroda_de:

Я поставил из fuse только SPIEN т.к. внешний кварц больше 8MHz, может здесь чего напутал. В Ponyprog fuses все галочки нужно убрать, тогда в yaap их нужно все поставить?

SPIEN к частоте никакого отношения не имеет. И вообще его нельзя изменить через последовательную загрузку.

Что такое уаар, я не знаю. В PonyProg все галочки нужно убрать. Можно попробовать поставить галку в CKOPT. На выбор источника частоты это не повлияет, но режим генератора изменит.

boroda_de
Vad64:

Что такое уаар, я не знаю. В PonyProg все галочки нужно убрать. Можно попробовать поставить галку в CKOPT. На выбор источника частоты это не повлияет, но режим генератора изменит.

Спасибо за информацию.
Попробовал сейчас с передатчиком, около часа летал без сбоев 😲 .

Спасибо огромное за статью и прошивку 😃

В yaap можно использовать простейший интерфейс и опознавание AVR лучше чем в PoniProge, в остальном такой-же как десятки других программеров.

7 days later
dimik

Всем доброго времени суток!
А че кнопки никому не нужны? Как же с ними быть? А еще может у кого исходник есть 😇 ?

toxa
dimik

А че кнопки никому не нужны? Как же с ними быть?

Хардварные кнопки можно вывести - читай третье сообщение в теме. Софтварные - ждем апдейт.

dimik

А еще может у кого исходник есть?

Полагаю, что лучше об этом сразу забыть. 😃

Vad64
toxa:

Софтварные - ждем апдейт.

В пристегнутой прошивке v2 кнопки 1-3 - хардверные, кнопки 4-8 - софтверные на последних пяти каналах. Из-за отсутствия передатчика нет возможности полноценно проверить. Если обнаружатся проблемы - сообщайте.

usb_ppm_v2.zip

HOmA

Здравствуйте товарищи.
…собрал всё по схеме, подключил.
ХП пишет:
-Найдено новое оборудование.
-Неизвестное устройство.
-Установлено и готово к работе.
-Одно из подключенных к этому компьютеру USB устройств работает неправильно, и Windows не удаётся распознать его.

…подключил ISP прошил, проверил, удалил драйвер неизвестного устройства, переподключил…
ХП опять пишет:
----Одно из подключенных к этому компьютеру USB устройств работает неправильно, и Windows не удаётся распознать его.

Проверил схему, номинал R1, поменял кварц на такойже ZTT 12.0MT.
ХП пишет: ----тоже самое.

…Кажися, 😃 что-то не так делаю, кажися…

dimik

А питание меги от 5 или 3.3В?
У меня от 3.3 тоже так ХП писал пока я стабилизатор не выкинул, и вход/выход с проца на USB через резисторы как на нижней схеме, но без стабилитронов. Да и еще резистор R1 можеш этот оставить. А так как выход с передатчика у меня 5В то VT1,R3 я тоже исключил из схемы, тока при этом надо немного уменьшить R2, а то передатчик не видится! Итак схема получилась шикарная проц, четыре резистора (SMD), кварц и каондер по питанию 😃

то Vad64: когда update?

Vad64
HOmA:

…собрал всё по схеме, подключил.
…Кажися,  😃  что-то не так делаю, кажися…

Необходимо убедиться, что конфигурационные биты стоят, как на рисунке. Следует тщательно проверить монтаж и прозвонить кабель USB. Очень часто удлинители USB - битые. Желательно проверить, что генератор возбуждается на частоте 12 МГц. Резистор R1 указанного номинала абсолютно необходим для работы устройства.

НОВАЯ ВЕРСИЯ ПРОШИВКИ

В версию v3 добавлена возможность маппинга кнопок. Таблица маппинга занимает 8 байт EEPROM, начиная с адреса 0х010 (в редакторе PonyProg - 002010). Каждый байт таблицы - канал РРМ, назначенный на кнопку. Каналы нумеруются с 0 по 8. Если номер канала превышает 8, то соответствующая кнопка обрабатывается как хардверная.

usb_ppm_v3.zip

dimik

Отличный девайс, отличный софт. Все работает все мапится 😃
ОГРОМНОЕ спасибо

10 days later
dimik

Возник такой вопрос:
а можно ли вместо меги8 поставить мегу16? соответственно без переделок?

Vad64
dimik:

а можно ли вместо меги8 поставить мегу16? соответственно без переделок?

Без перекомпиляции проекта - нет.

17 days later
NailMan

Извиняюсь конечно если глупость спрашиваю, завтра в чип-дип еду за детальками для адаптера и есть вопросы по схеме(оригинальной):

  1. C1 на 0.1мкФ - это керамический кондер? они бывают не SMD форм-фактора? несли все SMD как он на приведенном в статье примере припаивался на макетку?
  2. С2 на 4.7мкФ - как я понимаю электролит. У меня залежи различных кондеров спаянных феном с материнок дохлых и тому подобного хлама. Можно номинал не 4.7мкФ, а чуть больший использовать(10мкФ)? Жалко добро это не использовать в народном деле 😕

Самый главный вопрос. Чем заливать прошивку через X2? LPT-кабельком что тут в топике выкладывался?

ЗЫ: Скоро ByteBlasterMV доделаю. Им можно программить ATMega что пользуется в этом адаптере? (все равно кроватку буду делать на всяк пожарный, не люблю намертво впаивать впринципе заменяемые вещи).

ЗЗЫ: Еще раз звиняюсь - в пайке таких девайсов еще очень новичок. 😃

spark
Vad64:

Мы можем организовать производство этих интерфейсов. Опыт подобного мелкосерийного производства есть. Если сейчас будет достаточно заказов, сможем выпустить первую партию через 3-5 недель.

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

“Пришел, увидел и купил” - народу было бы счастье - купить готовое изделие, и не тратить время в поисках всего необходимого 😲

NailMan

Господа!

Платку адаптера спаял, остался вопрос с прошивкой. Просветите как и чем?

Скачал PonyProg, сделал вот такой “программатор” и собственно КАК!?

Что в PonyProg настраивать и вообще какой тип интерфейса в нем выбирать на parallel port?

Не дайте помереть! 😃

boroda_de
NailMan:

Скачал PonyProg, сделал вот такой “программатор” и собственно КАК!?

Что в PonyProg настраивать и вообще какой тип интерфейса  в нем выбирать на parallel port?

Не дайте помереть!  😃

Я помучавшись с PonyProg скачал yaap+DLportIO, спаял аналогичный “Jaspers Original” на четырёх резюках и всё пошло.
Говорят, что у пони бывают траблы с опознаванием чипа, тем более что “интерфейс” на резюках на совсем то, чего Пони ожидает.
Выводы у програматора или ISP подписаны так-же как ноги 1,17,18,19 на схеме, я подпаивался прямо к ногам (кроватки подходящей не было)
Ставил LPT1 и тип интерфейса. Главное при прошивании Fuses не забыть и правильно поставить.
Успехов!

Vad64
NailMan:

Что в PonyProg настраивать и вообще какой тип интерфейса  в нем выбирать на parallel port?

Очевидно, в меню Setup надо выбрать тип интерфейса Parallel. Я лично с ним не работал, использую COM порт. Думаю, на сайте lancos можно найти исчерпывающую информацию по этому поводу. В самой программе следует выбрать группу девайсов (AVR micro) и девайс (ATmega8).

Конденсаторы: номинал 0.1 мкФ, конечно, бывает не SMD (как советского производства, так и импорт). С2 можно электролит, 10 мкФ - нормально. Номиналы С1 и С2 не критичны.

Пришел-увидел-купил: интереса к устройству не наблюдается. Организовывать производство, чтобы запустить партию в несколько штук - невыгодно. Печатных плат нужно запускать хотя бы штук 50-100.

Вадим

NailMan

Ну все, девайс подключен, вроде не сгорел 😊 Осталось зашить…

Vad64
У Вас в статье написано:

Важно не забыть запрограммировать конфигурационные биты контроллера (fuses). Для данного устройства все биты должны быть установлены в “1” (не запрограммированы). Для этого в PonyProg необходимо снять все флажки в диалоговом окне “Configuration and Security bits”.

Я немного запутался, если флажок в поле конкретного бита сброшен, значит бит установлен в “1” или в “0”?

А для yaap что выставлять? Для новой атмеги yaap выставляет(как сделаю чтение FUSES из чипа) некоторые биты галочками(скажем CKSEL1…CKSEL3, SUT0, BOOTSZ0…BOOTSZ1, SPIEN), а остальные выключены.

Судя по вышеприведенному высказыванию в статье мне все галочки сбросить?

Кстати что будет если FUSES будут неправильно выставлены?

boroda_de
NailMan

Ну все, девайс подключен, вроде не сгорел  😊  Осталось зашить…
Vad64
Судя по вышеприведенному высказыванию в статье мне все галочки сбросить?

Да[quote;171617]Кстати что будет если FUSES будут неправильно выставлены?
[/quote]

Не запустится и перепрошить не сможешь

NailMan

Что-то у меня проблемы с нормальной работой устройства. 😦

прошил yаap-ом, fuses и значения в EEPROM залил какие надо, подключаю адаптер к usb и появляется неопознанное устройство. Более ничего не происходит.

Но! Если подключить шлейфиком к программатору(jesper original), то появляется девайс vjoy и появляется джойстик в игровых устойствах. Если потом отключить шлейфик от программатора(они у меня пока на одной макетке спаяны), то джойстик не пропадает.

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

Если повыключать/включать несколько раз передатчик то положение оси “газ” попрыгает, но возвращает его обратно.

В чем проблема могет быть?

Vad64
NailMan:

Ну все, девайс подключен, вроде не сгорел  😊  Осталось зашить…

Я немного запутался, если флажок в поле конкретного бита сброшен, значит бит установлен в “1” или в “0”?

В Atmel AVR незапрограммированный бит - “1”, запрограммированный - “0”. Установленный флажок соответствует запрограммированному биту, т.е. “0”. С завода ИМС поставляется в определенной конфигурации, т.е. некоторые биты уже запрограммированы (подробности см. в даташите). В нашем случае нужно все биты (кроме СКОРТ - см. мои комментарии в этом топике) установить в “1”, т.е. убрать флажки. С программированием битов лучше не промахиваться, т.к. можно изменить режим тактового генератора так, что он не запустится с кварцем на 12 МГц. А без работающего генератора перепрограммировать биты будет невозможно.

Добавлено

NailMan:

то появляется девайс vjoy и появляется джойстик в игровых устойствах. Если потом отключить шлейфик от программатора(они у меня пока на одной макетке спаяны), то джойстик не пропадает.

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

Неопознанное у-во при питании от USB:

  1. Проверьте напряжение питания на контроллере при питании от кабеля USB.
  2. Попробуйте запрограммировать бит CKOPT.

Нет движения осей:
Необходимо убедиться, что РРМ сигнал с достаточной амплитудой присутствует на ноге 14 контроллера.

dimik

TO Vad64: А вы пробовали свой девайс в 98 винде? А то у меня на ХР нормально работае, а на 98 😦 калибровка косячит