Тестер машинок

Ricaro
ubd:

Пяти проводкам в LPT порт, я не очень доверяю. Вот программатор STK-200, то же самое, но гораздо надёжнее. Я им очень давно пользуюсь, всегда всё ОК!

Вообще-то я уже спаял на ЛПТ порт, и все прошил (и тестер, и УСБ кабель). Прошиваю не часто (только в случае крайней необходимости), но на будущее вопрос по вашей схеме - там две микросхемы, или одна с использованием разных ножек? И что означают цифры 10, 11, 12, 13 в каждой микросхеме (части)?

PigTail

Там одна микруха с двумя регистрами в одном корпусе, а обозначения не 10, 11, 12, 13, а I0, I1, I2, I3, это обозначение входов регистров и они повторяются благо регистров два.

1 month later
Texnik

При вращении резистора в положение low (зеленый светодиод) происходит срабатывание на 1/2 положения резистора. нельзя ли расширить диапазон до полного ? комментирование а1=а1/2 желаемого результата не дало.

Texnik

Ошибочка. Не комментировать строку а1=а1/2, а добавить ещё одну а1=а1/2 . Только до нижнего диапазона всё одно не дотягивает.

ЗЫ Пиво меньше надо пить, такие элементарные ошибки допустил.

AVK

Я уже сам толком не помнь как там све сделано (давно это было)
Но! крайние точки меняются изменением значений
#define MIN 0x83
#define MAX 0x03
Если к мину еще можно добавить то к максу не убавишь особо 😃
Надо частоту счетчика менять.
Я то делал на стандартные значения 1-2 миллисекунды (про двойные расходы тогда не знал)

4 months later
reccer
Texnik:

При вращении резистора в положение low (зеленый светодиод) происходит срабатывание на 1/2 положения резистора. нельзя ли расширить диапазон до полного ?

Всем привет. Всё началось с того, что тоже обратил внимание - резюк работает “в пол силы”. Решил слегка, на скорую руку подправить код, а в итоге переписал прогу заново, хотя всё-таки кое-что позаимствовал у автора темы, надеюсь, он не будет обижаться, за что ему поклон…
Итак:

-отказался от использования двух таймеров Т0 и Т1, а построил схему на ШИМ таймера Т1. И теперь выход на машинку идет с PB1, а не с PB0. Порт PB0 теперь просто висит как вход и не используется. Поэтому, тем, кто уже собрал плату, в схеме надо впаять резистор примерно от 100 до 220 Ом (на рисунке в архиве нарисован красным). Можно и без резистора обойтись, просто закоротив ноги 14(PB0) и 15(PB1) у mega8. Но с резистором надёжнее, вдруг в сервомашинке будет “коротыш” на землю и тогда порт у микрухи может подгореть.

-В новую прошивку “st.v001.hex” (лежит в архиве v001.rar), добавил следующее:
v001.rar
При включении mode работают в следующем порядке:
mode 1 - вращение переменным резистором,
mode 2 - циклическое движение – авторотация,
mode 3 - управление кнопками больше(Up) - меньше(Down),
mode 4 - кнопками среднее/крайние положения.

В режиме авторотация (mode2) скорость перемещения “качалки” сервы зависит от положения ручки переменного резистора, а в mode3 также от резюка зависит на сколько шажков будет перемещаться “качалка” при каждом нажатии кнопками Up или Down.

Ещё в новой прошивке есть возможность менять как среднее положение импульса, так и амплитуду, что удобно для выявления проблемного места машинки. Если есть интерес, то обращайтесь, а то лень все описывать. Возможно, позже напишу описание, если кому надо будет.

А вообще-то хочу подцепить к этому тестеру LCD-индикатор в две строки по 16 символов, типа такого и на LCD показывать mode, амплитуду и текущий угол отклонения “качалки” и прочее. Есть задумка подцепить на АЦП разъем для измерения напряжения на балансирном разъёме Li-Po, чтоб LCD просто так не простаивал и тестер получится более универсальным. Но это не сейчас буду делать, а в осеннее-зимний сезон. Для этого надо схему немного изменить, а именно перевести кнопки на другие порты, чтобы освободить PORTD для LCD. И еще лучше использовать ATmega8 в корпусе TQFP-32, т.к. у неё 8 полноценных портов для АЦП, вместо ATmega8 в корпусе PDIP-28 (как у автора) с пятью портами. Один порт уже занят переменным резистором, остаётся только четыре свободных порта. Для 2, 3, 4-ёх баночных Li-Po хватит, а вот для 5-ти или 6-ти баночных будет нужна ATmega8 в корпусе TQFP-32. Архив “v003.rar” именно для этого и выкладываю, под новую схему под прошивку “st.v003.hex”, но предупреждаю, что пока LCD и АЦП под Li-Po не работают. То есть сейчас прошивки “st.v001.hex” и “st.v003.hex” функционально идентичны, отличие только в используемых портах для кнопочек. Вот прошивка под “st.v003.hex”
v003.rar
А с программатором не заморачивался, шил PonyProg, пять проводков и четыре резистора по 200…300 Ом на LPT порт, всё ОК. Главное проводки не километровые, а покороче.

Хотя у меня теперь уже есть и такой программатор, с опторазвязкой, шьёт по ISP и по JTAG (от ATmega16 и старше)

reccer
reccer:

…Ещё в новой прошивке есть возможность менять как среднее положение импульса, так и амплитуду, что удобно для выявления проблемного места машинки. Если есть интерес, то обращайтесь, а то лень все описывать. Возможно, позже напишу описание, …

По стандарту среднее положение импульса для Futaba, JR (1500=1,5ms) и амплитуда(отклонение) импульса от средней точки для Futaba, JR (0,5ms), назовём это UNI.
Среднее положение импульса для Multiplex (1600=1,6ms) и амплитуда(отклонение) импульса от средней точки для Multiplex (0,55ms), назовём это MPX.
Т.к. у меня пульт Multiplex, то я сделал следующее, если при включении сервотестетера удерживать нажатой кнопку MODE (а после включения отпустить кнопку), то тестер включится в режиме MPX, а если ничего не удерживать при включении, то UNI.
Дополнительно, и для UNI и для MPX, если при включении ещё удерживать Up или Down, то амплитуда увеличиться (Up) / уменьшиться (Down) на 0,1 ms. Хотя Multiplex очень прогрессивная аппаратура и может легко генерить и как UNI.
Еще, если в mode2 (авторотация) нажать и придержать кнопку Up, то “качалка” остановиться и будет показывать новое среднее положение импульса. И это новое среднее положение можно менять, вращая резистор. Поворачивая резистор, качалка будет перемещаться и наглядно указывать на новое среднее положение импульса. После отпускания кнопки Up, тестер снова возвратиться в авторотацию и надо будет резистором вернуть желаемую скорость движения “качалки”.
Если в mode2 (авторотация) нажать и придержать кнопку Down, то “качалка” изменит амплитуду. И аналогично, вращая резистор, будет видно какая установлена амплитуда, как сильно отклоняется “качалка”. После отпускания кнопки Down, тестер снова возвратиться в авторотацию и надо будет резистором вернуть желаемую скорость движения “качалки”.
Если в mode2 (авторотация) быстро одновременно нажать Up и Down, то амплитуда и середина импульса вернутся к исходным величинам, как при включении (сброс в исходное). Если “сброс в исходное” не делать, то при переходе в другие “моды” новые амплитуда или середина импульса сохранятся.
Рекомендую перед изменением амплитуды или середины импульса делать скорость движения “качалки” не слишком высокой, а то при больших скоростях качалки простеньких машинок, например FUTABA 3003, не поспевают за тестером и кажется, что амплитуда движения уменьшается.
Фича с изменением амплитуды и середины импульса удобна для выявления проблемного места машинки. И надо помнить, меняя амплитуду и середину импульса можно достичь изменения импульса в диапазоне, примерно, от 0,4 ms до 2,6 ms. Для сервы это не смертельно, а со своего пульта всё равно таких импульсов не получить. Максимальное отклонение “качалки” где-то 90 градусов, если управлять пультом. А если перемещать “качалку” рукой, то где-то 180 градусов, тестером тоже можно достичь отклонения 180 градусов. Я просто не стал делать ограничения в программе, т.к. просто лень, да и для сервы это не страшно.

Все написанное выше работает с прошивками “st.v001.hex” (лежит в архиве v001.rar) и “st.v003.hex” (лежит в архиве v003.rar), которые были выложены в предыдущем посте.

AlexN
reccer:

Хотя у меня теперь уже есть и такой программатор, с опторазвязкой, шьёт по ISP и по JTAG (от ATmega16 и старше)

Очень интересная и красиво выполненная конструкция. Ссылочку на него не дадите?

reccer
AlexN:

Очень интересная и красиво выполненная конструкция. Ссылочку на него не дадите?

Тут материалы по програматору IsoJtagISP (ATmega16)
Только ВНИМАНИЕ !!!
если будете распечатывать из pdf-файла рисунок печатки “под утюг”, то надо предварительно рисунок масштабировать, т.к. не совпадает с истинными размерами микросхем, получается сдвиг-набег, примерно, на одну ногу. И микрухи SMD уже не припаять. Масштабировать у меня толком не получилось, да и микрухи опторазвязки у меня были в другом корпусе, поэтому я разводил плату в Eagle заново, одностороннюю с перемычками.

AlexN

Спасибо за ссылку и полезные советы.

INQURY

Подскажите пожалуйста что я зделал неправино!
собрал все по схеме из первого архива, спаял програматор "пять проводков все настроял как в руководстве к этому программатору!
прошил мегу! и все бы хорошо но вот такая история светодиоды загорелись, реагируют на нажитие кнопок, а вот машинка рывками двигается до упора доходит до края и продолжает дергатся!
Подскажите в чем моя ошибка? мегу пошиваю первый раз!

P.S. мега -8 одноразовая? при попытке стереть пони выдал ошибку и схема ваще замолчала!

INQURY

Поигрался поисковиком, понял что я чето зделал с фузами меги!
Подскажите пожалуйста самый простой способ как сделать чтоб понипрог снова увидел мегу?
И еще вопрос по понипрогу когда я раставил все фузы нужно нажать конпку OK или прошить?

P/S извините за ламерские вопросы я новичек в программировании!

Алксандр
INQURY:

Поигрался поисковиком, понял что я чето зделал с фузами меги!
Подскажите пожалуйста самый простой способ как сделать чтоб понипрог снова увидел мегу?
И еще вопрос по понипрогу когда я раставил все фузы нужно нажать конпку OK или прошить?

P/S извините за ламерские вопросы я новичек в программировании!

Если при программировании фьюз SPIEN не был выставлен - то через SPI больше запрограммировать не получится. лечится только заменой. Чтобы не иметь таких проблем- фьюзы надо всегда считывать с меги, потом менять те что нужно и прошивать. SPIEN при этом будет выставлен и недоступен для редактирования
чтобы прошить - надо нажать кнопку “ок” в окне “конфиграционные и настроечные биты”, а потом кнопку прошить. Прошьется выбранный файл и установленные фьюзы.

INQURY

И всеже что я неправильно зделал!
1-Загрузил NEX
2-раставил фьюзы, нажал OK
3-нажал програмировать!

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

INQURY

P.S. и еще один вещь заметил! в окошке “конфиграционные и настроечные биты”, фьюз SPIEN неактивен и первые две галочки! при считываниии меги эти биты должны сами выставится я правилино понял?

INQURY

Ура теперь и у меня есть тестет машинок! 😁

Только вот такой еще вопросик: после прошики опять нечитается мега понипрогом это сработала защита от чтения или опять чтото неправильно делаю?

фьюз SPIEN активировал!

ubd

Не ОК нужно нажимать при прошивки битов, а Write (Записать).

Не читается мега, может быть что то не правильно делаешь, а может быть в битах, выставленны галочки защиты от чтения, может быть контакт отошёл где то.

Прошивать проц, желательно в такой последовательности: Загружаем HEX в программу Пони-прог. Стираем проц. Нажимаем кнопку, “Записать память программ Flash”. Проверяем, как записалось, сравниваем. Если всё ОК, то открываем окно битов концигурации. Выставляем биты как указывается в рекомендациях к той прошивке что прошили в проц. И нажимаем кнопку “Записать” (Write). Можно нажать “Считать” (Read), должны считаться те же биты что и записались.

Всё, после этого программа в проце должна работать.

Если есть файл eep. То его прошивают после HEX, потом биты. Но в вашем случае последовательность такая: HEX, потом Биты конфигурации.

Aleksey_Gorelikov
ubd:

Не читается мега, может быть что то не правильно делаешь, а может быть в битах, выставленны галочки защиты от чтения, может быть контакт отошёл где то.

Если бы бит защиты был выставлен, то мега бы читалась, но мусором… Т.е. процесс чтения идет, а в файле “0123456789asdfghjkklzxcvbnnmm…” - весь алфавит по порядку. 😉

Если вобще признаков жизни не подает, то скорее фьюзами выбрали работу от кварцевого резонатора, а его нет или от внешнего источника колебаний… Собственно оживить ее можно подав внешние такотовые импульсы. Вроде бы avreal это умеет и усб авр910 от протоса. Можно на какой-нибудь лн1 тактовый генератор сделать, или от другого девайса\проца импульсы взять.

INQURY

Получеется какая история: с пиками полностью разобрался, решил с АВРами игратся хочу собрать зарядку с этого форума не меге! решил сначала попробовать девайс на меге попроще! собрал схемку тестера на меге -8!
Пошагово что делал:
1.Спаял пять проводков!
2.собрал схемку!
3.все правильно подключил(проверял 3 раза)
4.прошил(загрузил НЕКС фаил, раставил фузы как на картинке, прошилось девайс работает! но мега нечитается, при попытке стереть схема перестает работать и с мегой ниче нельза сделать, пони невидет ее “ошибка24”, запорол 2 меги! потом купил еще 2 одни резерв одна работает! я так понимаю то если бы намутил до девайс не работал! Но по чему работает и больше нечитьается?
Просто мега многоразовая! А у меня получается всего на одитн раз! Впринцыпе нормально но всеже!

На других форумах люди хорошо одзываются о AVreal но она у меня нехочет с XP работать мож у кого есть рабочая поделитесь! pashka-84@ list.ru!

INQURY

😃 Разобрался! Теперь вместо понипрог буду юзать CodeVisionAVR !!! класная прога!!! то что нечитал пони ета прога легко все прочитала!!!