-
Постов
4 848 -
Зарегистрирован
-
Победитель дней
3
Сообщения, опубликованные Xenia
-
-
4 минуты назад, HardEgor сказал:
UG надо менять
Ну, а что произойдет на линии, если я раньше срока запишу единичку в EGR? Инвертируется ли в этот момент сигнал на выходном пине или нет?
-
49 минут назад, HardEgor сказал:
(including when the counter is cleared through UG bit of TIMx_EGR register or through trigger controller when configured in “reset mode”).
В этом месте не поняла смысла. Скажем, если я сделаю так:
TIM1->EGR |= TIM_EGR_UG;
то PSC и ARR обновятся, но изменится ли от этого CNT? (ведь он тоже "counter")
И вообще, что случится, если после обновления PSC и ARR, записью бита в EGR, окажется так, что CNT превышает новую величину ARR?
-
Столкнулась со странным поведением таймера, хотя не исключаю того, что это поведение кажется странным только мне по неведению.
Дело в том, что при попытке изменить частоту генерации на выходе таймера "на лету" с помощью задания таймеру новых значений:
TIM1->PSC = новый_делитель;
TIM1->ARR = новая_планка_сброса;его частота изменялась не сразу, а лишь после того, так счетчик TIM1->CNT доберется до TIM1->ARR и сбросится. И лишь после этого начинается генерация новой частоты.
Например:
Положим, что изначально таймер работал с длинным периодом 25 секунд:
TIM1->PSC = 36000-1; // 36000/72 MHz = 0.5 ms
TIM1->ARR = 50000-1; // 50000 * 0.5 ms = 25000 ms = 25 sИ вот, где-то внутри этого 25-секундного интервала я задаю частоту 1 МГц:
TIM1->PSC = 0; // 72 MHz
TIM1->ARR = 72-1; // 72 MHz / 2 = 1 MHzТем не менее, получаю тот эффект, что мне приходится ждать, пока не истекут все 25 секунд предыдущего периода, прежде чем частота таймера увеличится до 1 МГц.
Что это? Нормальная работа таймера или я что-то делаю не так?
Чтобы удалить эффект задержки, пыталась занулить счетчик:
TIM1->CNT = 0;
но от этого стало только хуже - теперь приходится ждать все 25 секунд, пока частота не изменится.
А вот этот приём сразу же помог:
TIM1->CNT = TIM1->ARR - 1;
по-видимому из-за того, что на следующем тике таймер сбросится.
Заодно задам и такой вопрос: сбросится ли таймер, если задать CNT больше, чем ARR? Или же таймер сбрасывается лишь при их точном совпадении?
-
41 минуту назад, megajohn сказал:12 часов назад, Xenia сказал:
достаточно много и таких, каких я у китайцев никогда не видела.
например ?
Например те, чьё название начинается с PLD.
-
12 минут назад, vov4ick сказал:
На плате надпись DMA860AH. По ней находится чисто китайский блок управления ШД. Да и на вид оно какое-то не наше, что внутри что снаружи.
Те, у которых название на DM начинается, действительно сильно похожи на китайские. Однако среди драйверов компании Purelogic достаточно много и таких, каких я у китайцев никогда не видела.
-
Может ли кто-то из здесь присутствующих отозваться относительно компании Purelogic?
Она интенсивно торгует шаговыми двигателями и драйверами к ним (мои знакомые там покупают). Это здесь:
https://purelogic.ru/catalog/elektronika/drayvery_shagovyh_dvigateley/
Вопрос такой: насколько эту компанию можно считать отечественной, а ее товар произведенным в России?
Про элементную базу даже не спрашиваю - не верю, что внутри этих драйверов нет импортных комплектующих.
Ну, и пусть топикстартер выскажется, годятся ему драйверы от Purelogic или не подходят по каким-то его специфическим требованиям.
-
14 минут назад, Plain сказал:
Да просто обленились эти метрологи — сделать стенд из подножного корма и пусть каждый раз приносят свои эталоны.
Я хоть не и гуру в метрологии :), но соглашусь с мнением Plain'а. Действительно, если требования к стенду настолько высоки, то надо не бумагами от его производителя перед носом трясти, а самим провести с ним метрологические тесты, измеряя эталонные напряжения. Хотя с добычей последних тоже могут возникнуть проблемы.
-
1 час назад, byRAM сказал:
Вы, уважаемая сударыня, видимо не понимаете сложность ситуации - прибор мне нужен в основу стенда. Причём в качестве метрологической основы, все плюшки до и после совсем не принимаются, будь то делитель или оптический изолятор.
А вы, сударь, твердо уверены, что вожделенный вами Leonardo-II от компании Р&Ш использует в своей конструкции нечто иное, чем резистивный делитель?
Входной усилитель с высоким входным сопротивлением там, конечно стоит, однако ОУ уменьшать напряжение не умеют, а стало быть, там тоже установлен делитель.
-
В 11.03.2023 в 08:19, byRAM сказал:
24-разрядный АЦП "Руднев-Шиляев" не подошли по диапазону напряжений, +/-2,5В не хватает, нужно минимум +/-5В, лучше +/-10В. Кто-нибудь ещё знает похожие приборы? Я знаю кроме них только "L-Card".
Поставьте на входе делитель из двух резисторов (1:2 или 1:4), которые уменьшат измеряемое напряжение до приемлемого.
Тем более что АЦП-микросхем с напряжением питания свыше 5V не бывает, а стало быть, любой АЦП-прибор со входным диапазоном, превышающим 5V, содержит на входе перед АЦП-микросхемой такой делитель.
Но если требуется высокое входное сопротивление, то сперва ставят повторитель на ОУ, а резисторный делитель ставят уже вслед за ним.
Лично мне приходилось использовать плату ADS1672EVM-PDK, где стоит АЦП-микросхема ADS1672 (24-bit, 625 kHz):
https://www.ti.com/lit/ug/sbau147a/sbau147a.pdf
Так у него на плате специально оставлены "дырочки" для отсутствующих резисторов (R4, R13 и др.) видимо для того, чтобы при желании можно было добавить такие делители.
-
1 час назад, tgruzd сказал:
Почему какая-то программа решает, где в исходниках мне писать код, а где не писать, и, при этом, называет меня пользователем?
Если STM32Cube генерирует код с нуля, а вы используете этот код лишь единожды, модифицируя его под свои вкусы, то конфликт между его кодом и вашим никогда не возникнет.
Проблема возникает лишь в случае, если вы произвели модификацию автокода на свой лад, а затем на тот же проект запустили STM32Cube вторично для того, чтобы он переделал свой код под изменившиеся параметры и/или добавленные интерфейсы. Очевидно, что в последнем случае STM32Cube вынужден отличать тот код, который он в праве заменять на новый, от кода, которой добавили вы. Именно для этой цели внутри кода выделена защищенная область для пользовательского кода между /*USER_CODE_BEGIN*/ и /*USER_CODE_END*/, код внутри которой STM32Cube обязан сохранить в неприкосновенности. Соответственно этому, добавленный вами код при повторном запуске STM32Cube (при повторной генерации автокода) никуда не пропадет, если вы напишете его в защищенной области. Но если вы разместите свой код в других областях автокода или произведете его модификацию, то при повторной генерации автокода STM32Cube ваши правки не сохранятся.
Короче говоря, при повторной генерации автокода весь прежний код заменяется на новый, за исключением пользовательской области между комментами /*USER_CODE_BEGIN*/ и /*USER_CODE_END*/. Т.е. при этом STM32Cube не модифицирует ранее написанный им автокод, а пишет его заново (и потому не может сохранить правку автокода, совершенную пользователем).
-
1
-
-
В 09.12.2016 в 00:37, MiklPolikov сказал:
Мой код для перевода в режим команд.
Подскажите, как выйти из командного режима? Т.е. если я хочу не командовать модулем, а просто пересылать с его помощью какой-то буквенный текст (не содержащий в себе последовательности из букв "AT") в default-режиме. Достаточно ли для этого просто пустить на линию поток ASCII-символов таким, каким он есть в тексте, или же требуется оформлять его в виде какой-то из AT-команд?
Тогда как по существу темы мне сказать нечего, т.к. во-первых, у меня другой модуль - HC06, а во-вторых, нет никакого опыта по использованию Bluetooth. Но сильно хочется :).
-
Zoltrix, А не подумываете ли вы завести подобную тему (про установку старой операционной системы на современный компьютер), только посвященную не Windows XP, а Windows 7? На мой взгляд, это было бы актуально. Вот и я сама недавно ставила Windows 7 и обнаружила уйму проблем с установкой, с которыми провозилась почти неделю, хотя Windows 7 была лицензионная.
-
Я заметила, что какой вопрос на форуме не задай - в ответ получишь не ответ на заданный вопрос, а список альтернатив.
Т.е. постоянно получаю отклик того типа, как если бы спрашивала "где можно купить рыбу пеленгас?", а мне отвечают, что лучше бы я поела селёдки. 🙂
-
11 минут назад, Obam сказал:
А вот не припоминается, что в теме проскакивали схемы JLink-а на STM32F205. В основном-то AT91SAM7S64...
Вы совершенно правы - мне тоже схемы на AT91SAM7S64 часто попадаются. Тогда как J-Link'и на STM32F205 очень быстро вышли из моды, сменившись на варианты, выполненные целиком на FPGA.
1 минуту назад, Zig сказал:Я писал не про Saleae Logic 16, а про Saleae Logic 8. Пример.
Поняла. Однако и тут "проклятая неопределенность" (С) - неясно, что у него внутри.
-
2 минуты назад, x893 сказал:
Jlink V9 (STM32F205) на github три варианта лежит.
А вы ссылочки дать можете? А то я с github'ом не дружу - боюсь его :).
-
-
1 минуту назад, x893 сказал:
У богатых свой причуды
Боюсь, что и в этом случае внешние параллельные линии можно только читать, но нельзя выдавать на них напряжение.
Причем обычно все логические анализаторы таковы - их дело только читать внешние импульсы.
-
49 минут назад, _pv сказал:
оно тоже в разном исполнении бывает,
https://www.aliexpress.com/item/4001278638301.html
любой каприз за ваши деньги.
буфера на выход правда нет, и один резистор перепаять надо чтобы 6й бит нормальным стал вместо открытого коллектора, но зато с нескучной подсветкой 🙂
Китайская поделка по вашей ссылке отвечает моим требованиях, однако она почти вдвое дороже того J-Link'а, которого я купила.
А если сравнивать по возможностям, то J-Link оказывается лучше, т.к. его можно запрограммировать (STM32F205 внутри!) под собственный протокол, чтобы он имел из компьютера вид виртуального COM-порта, выполняя заодно кое-какие "интеллектуальные" функции, тогда как FT2232HL в этом смысле тупая :).
Но главное, что склонило меня к выбору J-Link, это 5-вольтовые выходы, поскольку используемые в них микросхемы 2Т45 и 74ALVC164245 - не только буферы, то и преобразователи уровня с 3.3V до 5V.
2 часа назад, Zig сказал:Тогда может клоны Saleae Logic 8 на FX2 за 5$ с Али?
Не верю, что такие клоны бывают по цене $5. Я сама когда-то покупала такой клон
https://aliexpress.ru/item/32965188886.html
но он обошелся мне в 3.5 тысячи рублей.
Тем более что "Cypress CY7C68013A" я программировать не умею, а STM32F умею. Да и не надо мне 100 МГц.
Не говоря уже о том, что здесь внешняя шина подключена на чтение/вход, а мне надо на выход.
-
1 час назад, x893 сказал:
Про вариант с BluePill даже стесняюсь сказать
А вы корпуса для BluePill когда-нибудь видели? Полагаю, что в природе их не существует. И изготавливать такой корпус под заказ обойдется мне раз в 100 дороже цены за BluePill, т.к. одиночный корпус никто делать не согласится, а если и давить корпуса из пластика, то в количестве не менее 50 штук в партии. Т.е. ваш вариант тоже вылился бы для меня в необходимость раскочегаривания собственного производства.
-
19 минут назад, x893 сказал:
А чем не устроила простейшая FT2232 с кучей gpio хоть на вход, хоть на выход ?
Такого рода решение не устроило меня тем, что вариант микросхемы, висящей на проводках, меня категорически не устраивает. Т.е. требование, чтобы конструкция имела корпус и товарный вид стоит предельно жестко и пересмотру не подлежит. Тогда как если я стану заказывать изготовление печатной платы под FT2232, включая USB-разъем для соединительного кабеля с компьютером и разъем для внешней параллельной шины, включая кабель к нему, а затем стану заказывать изготовление корпуса под эту плату, причем такого, в котором для разъемов были бы предусмотрены сквозные отверстия, то я буквально разорюсь, всё это заказывая. Т.к. обойдется оно мне уже не в 1000 руб, как китайский программатор, а порядок дороже. И то это еще был бы минимум. На советы что-то заказать я больше ни клюю с тех пор, как мне пришлось заплатить 1000 руб только за то, чтобы мне проделали одно единственное квадратное отверстие (под USB-B) в алюминиевом корпусе (толщина стенки 1.5 мм).
-
15 часов назад, Vaikiz сказал:
А у вас Hlink с LCD 128x64 и кнопкaми?
Нет, у меня дешевый J-Link вообще без LCD и кнопок. Вот такой:
Когда покупала, думала, что внутри стоят двухбитные 2Т45 - для такого программатора схема у меня есть, а когда вскрыла корпус, то обнаружила подмену - все 2Т45 заменили на SN74ALVC164245 - а для такого программатора схему нигде не сыщешь.
И вот что еще удивительно - у того экземпляра, для которого схема есть, на плате установлено 6 штук даухбитных 2Т45, что в сумме дает 12 бит (6х2=12). Тогда как в экземпляре неизвестной конструкции установлены 2 штуки SN74ALVC164245, у каждой (!) из которых по 16 бит, что в сумме дает 32 бита. Нафига так много-то? Почему одной штуки SN74ALVC164245 для этих целей не хватило? А если уж две отдельных микросхемы захотелось поставить, то почему бы не выбрать скажем 8-битные, которые дешевле и не так много места на плате занимают, как эти гиганты?
Собственно и моя проблема отчасти заключается именно в том, что 12 бит я бы уж как-нибудь вручную прозвонила, а когда перед мной две микросхемы с 48-ю ногами каждая, то искать, куда каждая из 96-ти дорожек идет, работенка не малая.
P.S. Мне это устройство нужно не как программатор, а как средство вывести 1 байт из компьютера наружу в виде шины. Была идея сделать это через LPT-порт, но нынче LPT-портов днем с огнем не сыщешь, да и программировать ныне через LPT-порт удовольствие ниже среднего, т.к. нынешние операционки прямой доступ к портам запрещают. В итоге я прикинула и решила, что купить эту штуку будет дешевле, чем маяться, стараясь переупрямить операционную систему.
-
Просмотреть все картинки, выложенные в этой теме, мне не по силам, а потому рискну задать вопрос, который может вызвать у кого-нибудь раздражение:
У кого-нибудь есть принципиальная схема на китайский J-Link V9 (но с версией старше чем V9.7)? Т.е. меня интересуют изделия выполненные на базе STM32F205, но при этом содержащие в себе две большущие микросхемины SN74ALVC164245:
Эти изделия заметно дешевле предыдущих версий (например V9.3), однако распиновку больших микросхем мне проследить трудно, тем более, что их соединительные дорожки к контроллеру глубоко запрятаны во внутренние слои печатной платы. А если все это прозванивать тестером, то займет очень много времени.
-
В 04.01.2023 в 16:32, ogapurina сказал:
Надо все это срастить и наладить.
Советую вам обратиться на форум cnc3018.ru - там вопросы вашего типа широко обсуждаются.
Причем не исключено, что с тамошними советами вы справились бы с этой задачей самостоятельно.
Т.е. я вижу проблему не в том, как присоединить к станку блок питания и управляющую плату, а в том, какую программу следует зарядить в компьютер для того, чтобы этим станком можно было управлять. А для этой цели требуется не умелые руки иметь, а быть сведущим в программном обеспечении с уклоном в ваши интересы. Скажем, печатные платы вы собрались на этом станке тачать или шахматные фигуры из дерева.
-
Зачем закрывать тему? Ведь эта тема ... вечная! 🙂 Подобно тому, как поэты, исчерпав свой интерес к миру, начинают сочинять стихи про поэтов и поэзию, так и электронщики спустя какое-то время обнаруживают тягу к конструированию блоков питания, частотомеров и ... осциллографов. Порой заходишь на страницу сайта какого-то заслуженного деятеля отечественной электроники, чтобы полюбопытствовать - чего такого нового/необычного он сочинил? - И с разочарованием видишь там описание конструкции очередного частотомера. Я полагаю, что такое случается потому, что за свою долгую жизнь разработчик электроники теряет ощущение ценности всего того, что он делает на заказ, поскольку интересы заказчиков от него довольно далеки, но ощущение ценности используемого им инструментария со временем не угасает, а только усиливается. Отсюда появляется подсознательное стремление этот инструментарий совершенствовать.
Особенно тяга к конструированию осциллографов усилилась после распространения USB-осциллографов, для которых нет необходимости где-то доставать дефицитную в наше время осциллографическую трубку. Отсюда и тяга каждого, у кого есть АЦП, ведомый микроконтроллером, сделать из этой связки осциллограф. А уж частотомер и вовсе из любого микроконтроллера сделать можно, и такое желание обычно появляется сразу же после изучения работы таймеров.
С другой стороны, осциллограф и/или логический анализатор в работе действительно нужен. Причем для работ в области цифровой электроники полосы пропускания 10-20 МГц порой бывает вполне достаточно. Другое дело радиолюбители - там контингент особый, как и требования к осциллографии.
Лично меня чаша сия тоже не минула (хотя я, скорее, программист, чем электронщик) - логический анализатор и USB-осциллограф пришлось тоже купить - без этого инструментария отлаживать программу на железе невозможно. Причем сильно ошибаются те, кто считает, что для этой цели достаточно дебаггера и пошагового прогона программы. А как только лезешь в железо, то сталкиваешься с ценообразованием на соответствующий инструментарий (если, конечно, не работаешь в богатой конторе, где тебе такой инструментарий выдают бесплатно). А если покупаешь за свои деньги (а тем паче в Китае), то непременно любопытствуешь, что находится внутри этого инструментария, и стоит ли оно тех денег, которые ты за него заплатила. Поэтому со временем становишься эрудированным покупателем, находящимся в курсе того, как эти инструменты устроены, и какой из вариантов имеет лучшее отношение качества к цене. Ну, а сперва я купила себе Hantek6022BE (до 20 МГц), на что-то лучшее денег пожалела. Вовнутрь немедленно залезла и выяснила, что АЦП можно было бы поставить и более быстрый (ныне с этим нет проблемы), а проблема не в нем, а в "отсосе" оцифрованных данных в компьютер. Ибо если держать внутри буфер для данных, то цена взлетит на порядок, а то и более. Тогда как ценовой оптимум приходится на идею оцифрованные данные внутри не хранить, а немедленно отсылать их в компьютер по USB3. Отсюда и применение такого "недоконтроллера", как CY7C68013A, у которого рабочая программа загружается в ОЗУ. Именно поэтому протокол USB3 он тянет, а скажем, STM32 за ним не угонится, как и большинство микроконтроллеров, хранящих свою программу во flash. После чего душой я успокоилась :), смирившись с тем, что следующий шаг к совершенству будет стоит очень дорого: во-первых, потребуется FPGA для обслуживания АЦП, а во-вторых, потребуется буфер, куда FPGA будет данные от АЦП складывать. То и другое вместе сделают USB-осциллограф слишком дорогим, хотя буфер по-видимому обойдется значительно дороже, чем FPGA.
Самодельный драйвер биполярного шагового двигателя. Контроль тока
в Электрические машины, Электропривод и Управление
Опубликовано · Пожаловаться
Я вообще-то двумя руками за то, чтобы что-то мастерить своими руками. Однако случается и так, что дешевле купить нужный компонент в сборе, чем собирать его в ручную из рассыпухи. Особенно вариант "купить готовое" хорош тогда, когда готовые "велосипеды" широко представлены на рынке и стоят недорого, в то время как его "изобретение" отнимает массу времени.
В данном случае драйверы для шаговых двигателей представляют собой ходовой товар, которые стал еще более ходовым после распространения 3D-принтеров. Вместе этим появились даже целые компании, специализирующиеся на выпуске микросхем для управления шаговыми двигателями (например, Trinamic), на базе которых китайцы делают и продают законченные изделия.
В данном случае, на мой взгляд, купить готовый драйвер было бы лучшим решением, т.к., помимо всего прочего, у покупного драйвера удобно (через микровыключатели) задается число микрошагов на оборот, благодаря чему вибрация при вращении двигателя (на которую жаловался топикстартер) сводится к минимуму. К сожалению, топикстартер утаил величину рабочего тока своего шагового двигателя, но если у него двигатель типа Nema23, то этот ток не превышает 4 А (мой Nema23 требует 3 А, но и при токе 2 А отлично тянет).
Например, у китацев через Aliexpress можно за 500 рублей (доставка в Москву бесплатна) купить это (сделано на микросхеме от Toshiba):
https://aliexpress.ru/item/1000001730872.html
У меня у самой тоже такой есть, но только выполненный в безкорпусном варианте (так он дешевле и радиатор лучше винтилятором охлаждается):
https://aliexpress.ru/item/1005004227535073.html
Тот же самый драйвер можно купить и в России, но тут он обойдется дороже. Например: здесь: https://zona-3d.ru/catalog/elektronika/drayvery_dlya_shagovykh_dvigateley/drayvery_shagovykh_dvigateley/drajver-shagovogo-dvigatelya-tb6600-4-0a-v-korpuse