Абырвалг, абырвалг, абырвалг!
А лоадер через COM-порт ни как не катит? Я применял его. Во-первых маленький - 256 байт. Во-вторых, один раз сделал на MAX232 преобразоваетель уровней. Используются RXD и TXD ноги меги. В схеме MeanDogа именно они и выведены на USB.
Я повыбрасывал с платы програматорную часть и теперь чтобы перепрошить нужно Мегу выковыривать.
Подскажите пожалуйста, как правильно запитать мджой 16 от батарейки?
У меня жесткое дрожание всех осей, мне народ посоветовал проверить питание - запитать от батарейки, где ток уж точно постоянный. Так вот, я взял спаял этакую фиговину с "кроной", которую подрубил последовательно через реостат, чтобы напряжение правильное в итоге было. При помощи реостата и мультиметра добился того, чтобы напряжение между питанием датчиков и массой было равно тому, что получается, если плата запитана от usb кабеля.
Так вот, в итоге получается такая петрушка- если массу от кабеля закоротить на минус батарейки - то пишет "виндовс не может опознать usb-устройство", если не закорачивать - вообще никак не реагирует на подключение.
Пожалуйста, объясните мне, как это сделать правильно, и чего я там накосячил?
Не очень хорошо подключать реостат последовательно батарейке, ибо напряжение будет прыгать от потребляемого тока. Хотя, там конечно потреблениие маленькое... Все равно лучше уж делитель резистивный сделать.
Насчет дрожания. Я подключал питание датчиков не на AVCC, а на AREF. Т.е. получается что: 5В USB подключены к VCC и AVCC. Далее, т.к. в проге выставлен конфиг - брать опору АЦП от AVCC, то внутри Меги коммутиться AVCC на AREF. На AREF кроме того стоит кондер. И вот это, уже слегка изменившееся напряжение (из-за внутренней коммутации) подавал на датчики (Холлы, резисторы). В общем, у меня дрожания нет вообще.
Да, забыл отметить - я не делал печатку, собрал все на макетке.
Я использовал схему, которую придумал Fred Kaa. А подключал батарейку примерно так, как ты и сказал. Но без разрезов, а сделав этакий переходник на провод.
Крайний раз редактировалось Razum; 30.04.2008 в 09:12.
- стр. 209 даташита. Я думаю, что не лучший способ вешать на опору внешние цепи.In
either case, the external AREF pin is directly connected to the ADC, and the reference
voltage can be made more immune to noise by connecting a capacitor between the
AREF pin and ground. VREF can also be measured at the AREF pin with a high impedant
voltmeter. Note that VREF is a high impedant source, and only a capacitive load should
be connected in a system.
Картинка для Razum - тебе нужно сделать примерно так. Микросхема типа 7805 (или 78L05) - это дешевый стабилизатор на 5 вольт. Красный провод в usb кабеле резать, хвост его, который идет к компьютеру изолировать и не трогать. Питание от Кроны подается на вход стабилизатора (1 нога), с 3 ноги - снимается +5 вольт для питания контроллера, между 2 и 3 ногами желательно включить керамический конденсатор 0,1 мкФ, остальное дофильтрует то, что у тебя уже есть на плате. 2 нога - обязательно земля.
Это если денег на батарейки не жалко. Вообще же, не настолько USB поганое питание имеет, чтобы было "жесткое дрожание всех осей". Кстати, не исключено, что оно у тебя заработает не от Кроны, а просто от 3 последовательно включенных пальчиковых - тогда стабилизатор выкинь и "плюс" батареек включи прямо вместо 3 ноги микросхемы (т.е. к правой части красного провода).
PS Осторожно с цветами проводов - как правило, питание и земля так и есть, но мало ли что. Перед резкой и пайкой обязательн опроверить, что это именно земля и именно питание, а то мало ли что. Китайцы, например, очень любят путать цвета сигнальных.
Крайний раз редактировалось USSR_Rik; 30.04.2008 в 12:11.
...чего уж тигру лишняя полосочка... (© - не помню)
Спасибо большое всем.
Теперь скажу, чего у меня вышло до того, как я прочитал ваши советы. Итак, результат эксперимента таков:
Без замыкания земли на провод от компа не работает. Сначала я подумал, что причина этого кроется в моей криворукости, но посмотрев на схему USSR_Rik, я так понял, что без этого никак... Далее, я добился, чтоб моя схема с реостатом правильно определилась и заработала. Так вот, результат, конечно, лучше, но, черт его дери, опять не идеал... Дрожание уменьшилось значительно, но не исчезло, оно примерно в районе 200-300 отсчетов стало (в джойтестере). Особо приятным для меня моментом стал тот факт, что теперь значение precision на всех (ну, может и не на всех, но на трех мною проверенных точно) осях стало в районе положенных 1024 значений, а не то что раньше, от питания от провода - самое лучшее было в районе 700, а наиболее убогое в районе 300-400.
Но что дрожание даже при питании от батарейки не исчезло - это для меня есть очень прискорбный факт. Если питание тут уже не причем - в чем может быть причина? Или это у меня земля, которая по-прежнему соединена с компом, как-то фонит?
И еще такой вопрос - как можно попытаться устранить дрожание без использования батарейки, а то иметь проводной джой, да еще и с батарейкой лично мне как-то не улыбается.
Наверно, на днях по-новой все закуплю и сделаю еще одну плату. Если опять результат тот же будет - значит, дело в компе...
Кстати, сейчас провел еще тест - с батарейкой и без. Только теперь не датчик холла использовал, а обычный резюк. Резюк дрожит ощутимо меньше в обоих случаях, и, главное, у него частота дрожания меньше. Посему еще вопрос - датчики холла, они не способствуют дрожанию?
У тебя наверняка ошибка или в монтаже, или в подключении. Давать заочные советы трудно без информации. Попробуй хотя бы нарисовать рукой, как у тебя включено все, отсканить и положить сюда - может, что и прояснится. "реостат" твой для снижения питания - в топку.
...чего уж тигру лишняя полосочка... (© - не помню)
Эээ, ну, если в монтаже ошибки дествительно могут быть, то в подключение- то какие? Насколько я знаю, если провода перепутать то все просто погорит к чертовой бабушке, либо просто виндой не определится.
З.Ы. А чего сканить-то надо? Саму плату? Сосканю, как до сканера доберусь.
Нет, плату сканировать не надо- нарисуй как у тебя все подключено - плата, датчики (резисторы, в частности, как включал). Потому что дрожание на 200..300 единиц при шкале 1024 - это не просто много, это ОЧЕНЬ МНОГО. Это явная ошибка где-то - или в монтаже платы, или во внешних соединениях. Проверяй в первую очередь везде землю и питание - разъем usb платы, ноги микросхемы, разъемы датчиков, непосредственно датчики. Для начала лучше заземлить все аналоговые входы кроме одного, к нему подключить не холл, а переменный резистор - и так проверять.
...чего уж тигру лишняя полосочка... (© - не помню)
Все, это та штука, с помощью которой подключается батарейка, я правильно понял?нарисуй как у тебя все подключено
Для внесения ясности - 200-300, это при том, что минимальное ноль, максимальное - 65535. А в пересчете на 1024 получается где-то 5-6.200..300 единиц при шкале 1024
Сейчас подключен один резюк и один холл. Все остальные ноги микросхемы, отвечающие за сигнал с датчиков, замкнуты на землю.
Комрады, разъясните пожалуйста как грамотно прошить mj16 с другим id или vendor что б двух иметь без путаницы , или достаточно просто имя поменять , что просто , а вот все эти цифири в битах для меня китайская грамота , в мануале ничего конкретного нет , типа открыть "епром" и всё , а дальше то чё ? что на что поменять что б читался как "vasia pupkin 16" и по порядку загрузки стоял ниже mj16 , но в первых , так сказать , рядах джоевого семейства.![]()
В принципе в доке есть все, я уже отвечал на подобный вопрос.
Повторяю:
1) "vasia pupkin 16" - не получится. Длина названия ограничена 4-мя символами. Посему можно сделать например MRUS, MRUD, MPED
2) Изменения производятся в файле mjoy_16.eep
3) открываем его обычным текстовым редактором, например блокнотом и наблюдаем примерно следующее:
:100000004D4A31360000020003FF000003FF0000EC
:1000100003FF000003FF000003FF000003FF0000D8
:0800200003FF000003FF0000D4
:00000001FF
Нам нужно править только первую строчку:
:10000000_4D4A3136_0000_02000_3FF000003FF0000EC
Я выделил жирным и разделил подчеркиваниями те байты которые надо править. В реальном файле их разделять не надо.
Итак, первая группа 4D4A3136 - название джоя в системе. Название представлено в виде 16-ричных кодов символов. 4D - "M", 4A - "J", 31 - "1", 36 - "16". Итого - "MJ16". Меняете на нужное и получаете иное название.
Следующая группа - 0000 -Vendor ID.
Далее 0200 - Product ID. Обращаю внимание, что байты переставлены местами, т.е. 0200 на самом деле является 0002, и обозначает Product ID = 2
В совокупности Vendor ID и Product ID определяют последовательность устройств в системе. Чем меньше Vendor ID и Product ID тем на "более первых" позициях будет устройство.
Т.о. есть у Вас MJ16 с указанными байтами. Хочется подключить отдельный РУД с именем MRUD и так, чтобы он располагался после MJ16
Для этого нужно поменять указанные 3 группы байтов в первой строке на следующее:
4D525544_0000_04000
Вот собственно и все![]()
Чукча не писатель, чукча - читатель.
Спасибо , мил человек, теперь хоть что-то понятно , увы в мануале такого нет , тем более примера , по поиску было выдано 408 сообщений - попробуй найди , ещё раз благодарю.
Казалось бы чего проще комраду "миндогу" выложить для примера пару вариантов и вопросов бы не было , а так для меня что шестнадцатиричный , что двоичный код - на уровне начальных, основных понятий , видно мало кому эта тема нужна с несколькими контроллерами , ещё раз сэнкс за разяснения.
Сделал как доктор прописал и нифига , контроллер определяется как :100 , правда работает , открыл еер всё правильно , а в "понни" вот такая шняга , прицеплю мож кто диагноз поставит мне или прошивке![]()
Сейчас с товарищем бодаемся над тем же самым. И с тем же результатом
Проблема что он с программатором на другом конце города, а с компом он "на вы"...
Есть вариант, открыть стандартный eeprom в понипроге и в нем же отредктировать нужные байты перед записью.
Байты расположены с адреса 4000...
Чукча не писатель, чукча - читатель.
Формат очень простой :
http://en.wikipedia.org/wiki/.hex
http://www.keil.com/support/docs/1584.htm
а вот и редактор:
http://www.betarun.com/Pages/HexEditor/