Перейти к содержанию

crazz

Рекомендуемые сообщения

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

Помигайте светодиодами, занимательное занятие. :)

Воспользуйтесь, прежде всего, поиском по форуму. Из "разжевывающих" источников мне нравятся сайты: pcports.ru и http://ikarab.narod.ru/. Особенно первый источник. Ваш чип, судя по названию, какой-то древний, но это не помешает, если сконцентрироваться на даташите. А вот с программатором, на первых порах, я бы не возился, а тупо попросил у знакомых.

Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Особенности хранения литиевых аккумуляторов и батареек

Потеря емкости аккумулятора напрямую зависит от условий хранения и эксплуатации. При неправильном хранении даже самый лучший литиевый источник тока с превосходными характеристиками может не оправдать ожиданий. Технология, основанная на рекомендациях таких известных производителей литиевых источников тока, как компании FANSO и EVE Energy, поможет организовать правильный процесс хранения батареек и аккумуляторов. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Я как раз и говорю о том что счетчик во время прерываний считает, и основная программа никогда не сможет получить его значений непосредственно при возникновении переполнения 8-ми или 16-ти битного счетчика. Такая ситуация: основная программа приступает к считыванию значения счетчика но её прерывает событие - переполнение таймера! При этом отрабатывает прерывание и программа благополучно пропускает некоторое количество входных импульсов...

Затем это будет выражаться в том что если постепенно повышать частоту(в режиме частотомера) показания каждые 255 единиц будут проскакивать определенную область.

ситуация вторая ... программа приступила к считыванию значения счетчика запретив прерывания(это естественно) но сам таймер был на грани переполнения. Естественно программе надо считать значение нескольких байт из памяти, и значение таймера ... но таймер уже переполнился а прерывание по переполнению еще не отработано - значение счетчика будет неверным на 256 единиц.

Это лишь очевидные проблемы, а сколько их еще скрыто?

И самое интересное, что такие глюки будут возникать достаточно редко, что затруднит их отлов если не продумать все хорошенько заранее и не рассмотреть все возможные ситуации.

Учение - изучение правил. Опыт - изучение исключений.

Ссылка на комментарий
Поделиться на другие сайты

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Раскрываю ситуацию полностью. Возникла необходимость заменнить "УЦИ" в которой используется часть устройства, а именно индикация перемещения координаты станка. Перемещение координаты происходит в ручную, т.е. "УЦИ" не управляет перемещением, а только отображает текущее положение координаты. Исходне устройство имеет 7 значащих разрядов, плюс знак (например "-0841,521"мм), от сюда 27 разрядов в двоичной. Да действительно для данной системы такая точность не нужна, но для устройчтва, в перспективе, есть и другое применение.

Что касается быстродействия. Для определения положения координаты используется датчик положения с круглой линейкой (энкодер), расположеный на вылу двигателя. Частота оборотов двигателя может достирать 15 об/сек, а это 15*2500=37500Гц (2500 - количество рисок) Так как датчик имеет два вывода (sin, cos) и схема подсчета импульсов может распозновать 4 импульса на каждый период одного из сигналов, то в результате получаем 37500Гц*4=150кГц.

То есть, если использовать прерывания, то на их обработку потребуется (например при 20 МГц) (20/4)/0,15=33 цикла между прерываниями. А туда есче по мимо счетчика и динамическую индикацию воткнуть надо, хотя это не проблемма, но в пиковых ситуациях возможны сбои.

Сейчас обдумываю можно ли изменить исходные данные.

Изменено пользователем Bugrim
Ссылка на комментарий
Поделиться на другие сайты

А у меня на руакх PIC16c66.
Если бы ты поинтересовался что это за контроллер... буква С - означает что он однократно программируемый, и если он где-то уже стоял то его можно просто выкинуть - с ним ты уже ничего не сделаешь.

Учение - изучение правил. Опыт - изучение исключений.

Ссылка на комментарий
Поделиться на другие сайты

.........................

Это лишь очевидные проблемы, а сколько их еще скрыто?

.........................

И самое интересное, что такие глюки будут возникать достаточно редко, что затруднит их отлов если не продумать все хорошенько заранее и не рассмотреть все возможные ситуации.

Сначала Вам, Alexeyslav. Я так и не понял, почему импульсы будут пропущены? В 18 пиках возможно чтение на лету в один прием, а в 16-х можно читать в два приема с подтверждением. Алгоритм известен и он типовой, никаким ноу-хау не является. В любом случае счетчик не останавливается и пропустить он ничего не может. Для решения вопроса о прерывании процедуры чтения используется ЭЛЕМЕНТАРНЫЙ алгоритм. ПОСЛЕ чтения проверяют факт отсутствия его прерывания, например флагом... Вообще не проблема. Если такого рода вопросы считать существенными, то и за программирование браться не стоит...

Раскрываю ситуацию полностью. ................

...............................................................

Сейчас обдумываю можно ли изменить исходные данные.

Ваще то контроллеры , например PIC18F25K20, имеют максимальную частоту задающего осциллятора 64 МГц (кварц 16 и включена учетверяющая PLL), что соответствует частоте циклов 16 МГц. Во вторых, есть МК со встроенными квадратурными энкодерами, они правда стоят подороже упомянутой выше микросхемы (она стоит 70 руб.), но в таких легко реализуется энкодер двигателей с датчиком положения ротора, а это совсем другие частоты... Есть и 24-ые пики, там вообще можно сигналы обрабатывать в реальном времени для формирования шестифазного синус-ШИМа.

Но применение МК в станках - это профессиональное, а не любительское действо. Читайте аппликухи микрочипа, там есть готовые решения для разых семейств...

ЗЫ. Куртуазно слепить Вашу схему на МК со встроенным драйвером ЖКИ. Никакой динамической индикации. Только однодолларовая подсветка под индикатор. Но это если не нужен встроенный энкодер...

Изменено пользователем my504

戦う前に相手のベルトの色に注目

Ссылка на комментарий
Поделиться на другие сайты

Сначала Вам, Alexeyslav. Я так и не понял, почему импульсы будут пропущены?

Импульсы пропущены не будут, программа на лету не сможет получить конкретные значения счетчика, что будет выражаться в "проскакивании" некоторых значений.

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

Учение - изучение правил. Опыт - изучение исключений.

Ссылка на комментарий
Поделиться на другие сайты

И что с того, что будут пропущены некоторые значения на индикатор? Это же индикация... Да хоть три четверти не уйдут на индикацию, что с того... Инерция зрения на изменяющиеся цифры около четверти секунды. Более того, их чаще и нельзя изменять, иначе при быстрых сменах параметров(вращении суппорта) все сегменты будут гореть одновременно..., что очень некрасиво...

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

Весь алгоритм такой.

В прерывании по переполнению ставим флаг.

В мейне:

Загасили флаг. Сняли показания в буфер. Проверили флаг. Если стоит, повторяем процесс съема данных со счетчика сначала, пока флаг после съема в буфер не будет опущен.

Изменено пользователем my504

戦う前に相手のベルトの色に注目

Ссылка на комментарий
Поделиться на другие сайты

Но применение МК в станках - это профессиональное, а не любительское действо.

Да, но по сложности и по коду, который на данный момент мне кажется, это наверняка можно отнести к любительской конструкции, а вот преминение, это другое.

Ваще то контроллеры , например PIC18F25K20,........

На данный момент я осваиваю PIC16F628A, когда покупал в "Гамме" PICKT -2 заказал сразу несколько штук. При правильном подходе сия микросхема должна обеспечить, надеюсь, нужный результат. А осваивать новое семейство, на мой взгляд, пока рановато и необходимости пока не возникает.

По поводу ЖКИ - я склонен к динамической индикации на семисегментных индикаторах. И стоимость, наверное, поменьше и ударов не так боиться, ведь уст-во будет орентировано на работу на производстве, а там, к оборудованию, не очень относятся.

Да кстати в Proteus есить импульсый энкодер, а то я не нашел.

Спасибо всем за советы.

Ссылка на комментарий
Поделиться на другие сайты

В принципе... если использовать статичную индикацию(всмысле не отображения информации на физическом уровне, а отображение самого числа как такового фиксируемого каждые 250мс к примеру) то проблем быть не должно - для человеческого глаза такие огрехи будут незаметны, но если вдруг надо будет куда-то подключить?

Но есть еще одна идея - использовать 4-битный реверсивный счетчик, а контроллер будет следить за его значением - как в мышке и определять приращение. Но чтобы не сбится со счета - разность между соседними выборками не должна превышать +-7 единиц. т.е. за период выборки на вход счетчика должно поступить не более 7 импульсов. если взять 8-битный счетчик, допустимо будет 128 импульсов и контроллер применить на более низкой частоте.

Учение - изучение правил. Опыт - изучение исключений.

Ссылка на комментарий
Поделиться на другие сайты

  • 4 недели спустя...

Вопрос по PIC16F84A:

если настроить вывод порта (неважно какой) на работу на вход и оставить этот вывод висеть в воздухе

затем входе исполнения программы обратиться к нему чтобы считать что на нем находится (ноль или еденица). PIC считает с него НОЛЬ??

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

С уважением, Дмитрий

Ссылка на комментарий
Поделиться на другие сайты

На этот вопрос тебе ответит даташит. И вот что он тебе скажет: в качестве входов используется полевик с изолированным затвором и триггер шмидта, неопределенного состояния у него быть не может - только 1 или 0. а это будет определятся напряжением на выводе, а в области переключения триггера еще и предыдущим состоянием. напряжение у вывода висящего в воздухе и имеющем огромное входное сопротивление будет определятся скорей наводками или токами утечки с соседних выводов. Чтобы такого не происходило, для этого предусмотрены подтягивающие резисторы которые можно включить в специальном регистре, и тогда все входы подключаются к +шине через источники тока около 2мА.

Учение - изучение правил. Опыт - изучение исключений.

Ссылка на комментарий
Поделиться на другие сайты

Даташит на буржуйском, а языками я к сожелению не владею )

Подтяжка есть только у порта B порт А подтяжки не имеет. Можно использовать внешнюю подтяжку, правильно? Каким должен быть номинал резистора?

И еще вопрос, чем рукаводствоваться при выборе емкостей опорного генератора? Просто видел схемы с емкостями 15 пик и 22 пик (может есть еще и генераторы с другими номиналами, незнаю...)

С уважением, Дмитрий

Ссылка на комментарий
Поделиться на другие сайты

ищи лучше, есть и на русском.

емкости ... ставь какие рекомендуют, от них зависит стабильность работы кварцевого генератора во всем диапазоне питающих напряжений и температур и скорость раскачки при подаче питания или выхода из энергосберегающего режима.

Можно использовать внешнюю подтяжку, правильно? Каким должен быть номинал резистора?

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

Учение - изучение правил. Опыт - изучение исключений.

Ссылка на комментарий
Поделиться на другие сайты

Благодарю Alexeyslav!

"ищи лучше, есть и на русском."

Искал, но не нашел, видать плохо искал... Если у тебя имеется, выложи пожалуйста сюда.

С уважением, Дмитрий

Ссылка на комментарий
Поделиться на другие сайты

Я не очень понимаю мазохистов, готовых платить по 100 и более рублей за старинный и примитивный 16F84, если есть превосходные новые чипы за 40...50 руб.

Русский даташит на 12F629(675) , а также универсальный даташит по разделам на всю 16-ую серию есть в разделе документация на сайте www.microchip.ru

戦う前に相手のベルトの色に注目

Ссылка на комментарий
Поделиться на другие сайты

Искал, но не нашел, видать плохо искал...

На PIC16F84 полно литературы на руском.

А по поводу:

также универсальный даташит по разделам на всю 16-ую серию

прочитай сообщение от error2 на 3-й странице этого форума, Там не только ссылки на русские доки, но и другая полезная информация.

Ссылка на комментарий
Поделиться на другие сайты

Ага, вот здесь там есть описание по разделам для каждого модуля в отдельности на РУССКОМ.

Учение - изучение правил. Опыт - изучение исключений.

Ссылка на комментарий
Поделиться на другие сайты

это значит, что в команде пропущен адрес назначения результата и по умолчанию будет соответствовать адресу источника.

пример:

addwf temp эквивалентен addwf temp, f (результат будет помещен в temp)

или нужно указать назначение: addwf temp, w (результат будет помещен в w)

Изменено пользователем my504

戦う前に相手のベルトの色に注目

Ссылка на комментарий
Поделиться на другие сайты

Спасибо, понятно!

my504, вы писали про мазохизм... ) Просто я учился програмированию МК на примере PIC16F84A, поэтому сейчас хочу написать пару-тройку программ именно под этот контроллер и проверить их работу в железе. А потом конечно нужно переходить на другой контроллер. Кстати, подскажите на какой лучше...?

И еще вопрос, можно ли програмно устранить дребезг контактов, или сделать это на внешних элементах?

С уважением, Дмитрий

Ссылка на комментарий
Поделиться на другие сайты

Применять нужно ОПТИМАЛЬНЫЙ для данного случая контроллер.

Т.е. сосчитать количество точек управления/входных сигналов, прикинуть внутренние ресурсы: наличие нужных периферийных модулей или возможности их программно-аппаратной замены, производительности и т.п. После этого сделать небольшой резерв (это необязательно, в крайнем случае камень можно поменять в процессе проектирования) и все.

Пример.

Спидометр для велосипеда на ЖК индикаторе. один вход с датчика импульсов. питание.общий.три интерфейсных линии на индикатор.два на кварц. Итого 8 выводов. Значит можно сделать на 12F629.

Тоже самое на светодиодном, но без кварца (точности хватит и при калибровке встроенного генератора) - 14 выводов (16F630).

И в таком же духе можно выбирать на другие задачи.

Иногда быстрый АЦП определяет выбор МК с избыточной производительностью.

Скажем я сейчас делаю проект, где выбор PIC24 обусловлен 500 килосемпловым АЦП. А разрядности хватило бы и 8 (у 24-го 16 разрядов)...

И самое главное - цена. Конечно нужно брать самый дешевый из возможных...

Изменено пользователем my504

戦う前に相手のベルトの色に注目

Ссылка на комментарий
Поделиться на другие сайты

Дребезг контактов можно устранить програмно.

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

Я обслуживал кнопки так.

Ссылка на комментарий
Поделиться на другие сайты

можно ли програмно устранить дребезг контактов, или сделать это на внешних элементах?

Самый простой способ - проверять состояние защелки порта с частотой 20-50Гц, этого вполне хватает чтобы устранить эффект дребезга без дополнительных мер. будь то аппаратных или программных.

Принцип действия заключается в том что если проверка состояния кнопки происходит между её переключениями - то собственно все это и так будет работать, а если выборка произойдет во время дребезга - результат выбора будет случайным, но самое главное заключается в том что это произойдет лишь один раз - предыдущая выборка относится еще до переключения а следующая выборка будет заведомо уже после нажатия когда процесс дребезга давно закончился. Как нетрудно догадаться при таких условиях возможны только такие варианты: для включения 0 0 1 или 0 1 1 для выключения 1 0 0 или 1 1 0. в любом случае получаем в результате только один переход.

Учение - изучение правил. Опыт - изучение исключений.

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Сообщения

    • Мне больше нравятся в жёстком корпусе, которые собираются с помощью двух винтов.  Кстати, они тоже отечественные. 
    • А я о чём написал в начале темы  ? beggar, вы сами пишите - сделали не мало амперметров. Уменьшая пульсации, вы помогаете ампермерметру показать средне - действующее значение. Не ? У вас каждый тиристор плеча управляемого выпрямителя режет свой полупериод, Оставляя обрезок от него. Чем больше иголок в синусоиде, тем тяжелее амперметру с его магнитоэлектрической системой. Она инерционная. Зато самая верная, на мой хилый взгляд. На мотоцикле, китайский аккумулятор проходил 7 лет. Авто аккум. б.у с 2015 года ходит. Правда уже в ИБП. На компьютере. После 8 лет снял. Не хочется рисковать.   А я его купил уже после года эксп. На Авито.
    • Формулу синуса написать? Или где его взять? Если занимаетесь акустическими системами, то таких вопросов быть не должно. В жилом помещении, без подготовки, с кучей мебели так всегда будет. В инструкции к усилителю, на задней панели тоже иногда указывается. Но в данной ситуации эта информация ничего не изменит.
    • По ходу нет. Возможно не сталкивался. Столкнусь, изучу. Значит не попадались.. Принцип всё один, ограничить ток ламп.
    • Б5-43...45 не импульсные, а вот Б5-46...50 это ужас, летящий на крыльях имеющихся комплектух тех лет. И не смотря на более низкие частоты работы, пульсации у них тоже неприятные, поскольку линейник после импульсника скорректирован "вдупель", его АЧХ не позволяет гасить всякие там сотник килогерц- мегагерцы со входа, они через него насквозь летят, и гасятся в основном емкостями по выходу. Усложнение - есть, согласен. Но его последствие - практически не греющийся проходной транзистор, т.е. потери минимальны. Задача гибридника - обеспечение скорости реакции на нагрузку линейника с мщностью и  компактностью импульсника. Я являюсь ярым ненавистником коммутатора обмоток на  реле, и считаю, что уж лучше пререг, чем коммутатор, если речь за мощный БП. Для относительно малых мощностей (пара сотен ватт), согласен, что имеет смысл многоступенчатая система выходного  каскада как в PSL3604. Накидать LC фильтров и всё будет  хорошо. А вот помехи самого переключения "изнутри", не по выходным проводам, устранит только заземленный корпус из пары кило пермаллоя. Так или иначе, приходится выбирать из двух зол - греющийся "не шумящий" блок или свистящий импульсник, который надо заземлять. На эту тему интересно, делают  ли современные производители трансиверов БП на 12в импульсными, или по-старинке, на трансформаторе и кипятильнике из пары штук 3055 в параллель.     Возникает несколько вопрос - почему сигнал для 431 не формируется от ШИМа МК? Можно было  бы выбросить все подстроечники и плавно коммутировать напряжение на выходе. Хотя тогда логичным развитием схемы было бы выбросить МК и просто поставить имеющийся оптрон на поддержание постоянного напряжения на регулирующем транзисторе... Для этого обычно и вводят экранную обмотку которую надо вместе с корпусом заземлять. Вы никак не заземляли схему?
    • Дроссель -укажите точно цвет полос  как я рассмотрел то так 
    • Смотрите куда включена деталь. Отсюда выводы о номинале. Прямо по плате, не стесняйтесь. 
  • Похожий контент

×
×
  • Создать...