Тестер машинок
При вращении резистора в положение 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 и старше)
…Ещё в новой прошивке есть возможность менять как среднее положение импульса, так и амплитуду, что удобно для выявления проблемного места машинки. Если есть интерес, то обращайтесь, а то лень все описывать. Возможно, позже напишу описание, …
По стандарту среднее положение импульса для 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), которые были выложены в предыдущем посте.
Хотя у меня теперь уже есть и такой программатор, с опторазвязкой, шьёт по ISP и по JTAG (от ATmega16 и старше)
Очень интересная и красиво выполненная конструкция. Ссылочку на него не дадите?
Очень интересная и красиво выполненная конструкция. Ссылочку на него не дадите?
Тут материалы по програматору IsoJtagISP (ATmega16)
Только ВНИМАНИЕ !!!
если будете распечатывать из pdf-файла рисунок печатки “под утюг”, то надо предварительно рисунок масштабировать, т.к. не совпадает с истинными размерами микросхем, получается сдвиг-набег, примерно, на одну ногу. И микрухи SMD уже не припаять. Масштабировать у меня толком не получилось, да и микрухи опторазвязки у меня были в другом корпусе, поэтому я разводил плату в Eagle заново, одностороннюю с перемычками.
Спасибо за ссылку и полезные советы.
Могет пригодится, у Гипериона табличка по временным параметрам по фирмам изготовителям media.hyperion.hk/dn/at-ser/ATLAS-MAN-EN-PG2.pdf
Подскажите пожалуйста что я зделал неправино!
собрал все по схеме из первого архива, спаял програматор "пять проводков все настроял как в руководстве к этому программатору!
прошил мегу! и все бы хорошо но вот такая история светодиоды загорелись, реагируют на нажитие кнопок, а вот машинка рывками двигается до упора доходит до края и продолжает дергатся!
Подскажите в чем моя ошибка? мегу пошиваю первый раз!
P.S. мега -8 одноразовая? при попытке стереть пони выдал ошибку и схема ваще замолчала!
Поигрался поисковиком, понял что я чето зделал с фузами меги!
Подскажите пожалуйста самый простой способ как сделать чтоб понипрог снова увидел мегу?
И еще вопрос по понипрогу когда я раставил все фузы нужно нажать конпку OK или прошить?
P/S извините за ламерские вопросы я новичек в программировании!
Поигрался поисковиком, понял что я чето зделал с фузами меги!
Подскажите пожалуйста самый простой способ как сделать чтоб понипрог снова увидел мегу?
И еще вопрос по понипрогу когда я раставил все фузы нужно нажать конпку OK или прошить?P/S извините за ламерские вопросы я новичек в программировании!
Если при программировании фьюз SPIEN не был выставлен - то через SPI больше запрограммировать не получится. лечится только заменой. Чтобы не иметь таких проблем- фьюзы надо всегда считывать с меги, потом менять те что нужно и прошивать. SPIEN при этом будет выставлен и недоступен для редактирования
чтобы прошить - надо нажать кнопку “ок” в окне “конфиграционные и настроечные биты”, а потом кнопку прошить. Прошьется выбранный файл и установленные фьюзы.
И всеже что я неправильно зделал!
1-Загрузил NEX
2-раставил фьюзы, нажал OK
3-нажал програмировать!
все прошилось замигали светодиды выбираются режимы но машинка оклонилась до упора и дергается!
что же я всетаки неправильно сделал? 😃
P.S. и еще один вещь заметил! в окошке “конфиграционные и настроечные биты”, фьюз SPIEN неактивен и первые две галочки! при считываниии меги эти биты должны сами выставится я правилино понял?
Ура теперь и у меня есть тестет машинок! 😁
Только вот такой еще вопросик: после прошики опять нечитается мега понипрогом это сработала защита от чтения или опять чтото неправильно делаю?
фьюз SPIEN активировал!
Не ОК нужно нажимать при прошивки битов, а Write (Записать).
Не читается мега, может быть что то не правильно делаешь, а может быть в битах, выставленны галочки защиты от чтения, может быть контакт отошёл где то.
Прошивать проц, желательно в такой последовательности: Загружаем HEX в программу Пони-прог. Стираем проц. Нажимаем кнопку, “Записать память программ Flash”. Проверяем, как записалось, сравниваем. Если всё ОК, то открываем окно битов концигурации. Выставляем биты как указывается в рекомендациях к той прошивке что прошили в проц. И нажимаем кнопку “Записать” (Write). Можно нажать “Считать” (Read), должны считаться те же биты что и записались.
Всё, после этого программа в проце должна работать.
Если есть файл eep. То его прошивают после HEX, потом биты. Но в вашем случае последовательность такая: HEX, потом Биты конфигурации.
Не читается мега, может быть что то не правильно делаешь, а может быть в битах, выставленны галочки защиты от чтения, может быть контакт отошёл где то.
Если бы бит защиты был выставлен, то мега бы читалась, но мусором… Т.е. процесс чтения идет, а в файле “0123456789asdfghjkklzxcvbnnmm…” - весь алфавит по порядку. 😉
Если вобще признаков жизни не подает, то скорее фьюзами выбрали работу от кварцевого резонатора, а его нет или от внешнего источника колебаний… Собственно оживить ее можно подав внешние такотовые импульсы. Вроде бы avreal это умеет и усб авр910 от протоса. Можно на какой-нибудь лн1 тактовый генератор сделать, или от другого девайса\проца импульсы взять.
Получеется какая история: с пиками полностью разобрался, решил с АВРами игратся хочу собрать зарядку с этого форума не меге! решил сначала попробовать девайс на меге попроще! собрал схемку тестера на меге -8!
Пошагово что делал:
1.Спаял пять проводков!
2.собрал схемку!
3.все правильно подключил(проверял 3 раза)
4.прошил(загрузил НЕКС фаил, раставил фузы как на картинке, прошилось девайс работает! но мега нечитается, при попытке стереть схема перестает работать и с мегой ниче нельза сделать, пони невидет ее “ошибка24”, запорол 2 меги! потом купил еще 2 одни резерв одна работает! я так понимаю то если бы намутил до девайс не работал! Но по чему работает и больше нечитьается?
Просто мега многоразовая! А у меня получается всего на одитн раз! Впринцыпе нормально но всеже!
На других форумах люди хорошо одзываются о AVreal но она у меня нехочет с XP работать мож у кого есть рабочая поделитесь! pashka-84@ list.ru!
😃 Разобрался! Теперь вместо понипрог буду юзать CodeVisionAVR !!! класная прога!!! то что нечитал пони ета прога легко все прочитала!!!
😃 Разобрался! Теперь вместо понипрог буду юзать CodeVisionAVR !!! класная прога!!! то что нечитал пони ета прога легко все прочитала!!!
а у меня пони всё читает и пишет 8,16,128 Мегу 😃 ,CodeVisionAVR тоже всё читает.
а у меня пони всё читает и пишет 8,16,128 Мегу 😃 ,CodeVisionAVR тоже всё читает.
А что за девайс паяли на 128 меге? Несочтите за флуд просто интересно!
А что за девайс паяли на 128 меге? Несочтите за флуд просто интересно!
На 8 меге кабель для передатчика, на 16 зарядка, на 128 кодер для передатчика. 😒
Уважаемый reccer, очень бы хотелось посмотреть на исходник версии V001 😎 . Хотя бы базовый функционал. Просто тупо использовать чужое не интересно, хочется понять и внести что-то своё 😒
подскажите как можно зделать чтобы при включении в режиме UP и DOWN кнопками, машинка находилась не в среднем положении а в начальном положении. А то не особо удобно в регуляторах хода. Если можно прокоментируйте самую первую прошивку, где при включении включаеться именно этот режим.
Заранее спасибо.