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

Вопросы от начинающих по МК


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

есть и на 5 и на 3.3. Зависит от того какой чип стоит в голове

Ардуино понятие вообще очень растяжимое

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

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

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

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

  • Ответов
  • Создана
  • Последний ответ

Топ авторов темы

STM-ки да, они максимум 3.3В, но обычная 5-вольтовая ардуина способна работать от 2.7В до 5.5В ниже 3.3В её стабильная работа зависит от тактовой частоты на которой она работает, на штатных 8Мгц она прекрасно работает от 3.3В.

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

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

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

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

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

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

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

Hongfa для различных применений в Компэл. Большой выбор в наличии!

Компания HONGFA - это не только крупнейший в мире производитель электромеханических реле, но также производитель конденсаторов, вакуумных прерывателей, трансформаторов и низковольтного коммутационного оборудования. На складе КОМПЭЛ регулярно поддерживаются около 100 самых популярных позиций электромеханических реле. Реле Hongfa могут заместить многие изделия производства недоступных брендов. Подробнее>>

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

Секреты депассивации литиевых батареек FANSO EVE Energy

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

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

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

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

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

Ну, в следущий раз будешь предусмотрительней. И сколько там того лета осталось...

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

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

Скажите,почему первый раз выполняется прерывание,а потом нет.

Если sei убрать из прерывания,все работает.Кроме прерывания в программе ничего нет while(1);

ISR(TIMER0_OVF_vect)

{

cli();

PORTD=0b11111011;

PORTB=cif[x];

_delay_us(1025);

PORTD=0b11110111;

PORTB=cif[y];

_delay_us(1025);

PORTD=0b11101111;

PORTB=cif[z];

_delay_us(1025);

sei();

}

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

Если sei убрать из прерывания,все работает.

Дак уберите, и пусть работает :)

К чему вообще все эти эксперименты ? Вы делаете как не нужно делать и спрашиваете почему не работает ? :)

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

После того как вы входите в прерывание, остальные прерывания запрещаются. Вы дополнительно с помощью cli() их повторно запрещаете (это не страшно, но бесполезно).

Перед выходом из прерывания вы разрешаете прерывания с помощью sei(), но так как в прерывании большие задержки (что не желательно), то до окончания выполнения кода в прерывании успевает взвестись флаг вашего же прерывания. И получается, что до выхода из прерывания (первый раз), между командами sei и reti (на asm) вы снова попадаете в своё же прерывание. Т.е. вы не можете выйти из прерывания, что в конечном итоге приведёт к переполнению стека.

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

Когда вы убираете sei() и у вас всё работает, это значит, что sei() выполняется контроллером автоматически при выходе из прерывания, т.е. после команды reti (asm). Вы возвращаетесь в основной цикл и тут же попадаете обратно в прерывание. Таким образом у вас неправильно инициализирован таймер (время очень маленькое) либо неправильное построение программы (задержки нужно из прерывания убрать).

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

Всем привет. На сайте есть вот эта http://cxem.net/comp/comp174.php статья. Начал разбираться в исходниках, они на Си. С передатчиком разобрался, там все просто. А вот с приемником.... Не могу понять в какой промежуток времени он считает импульсы. Кому не сложно, гляньте исходники, подскажите как работает счётчик импульсов в приемнике. Там идёт инкремент в обработчике прерывания по входу int0, это понятно, а потом в бесконечном цикле это все обрабатывается, вот там я запутался в 5ти строчках кода. Автору написал, молчит пока что, а мне срочно нужно.

Не знаеш как? Спроси у Google'а !!!

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

Ну... там всё сделано очень топорно - просто отображает насчитанные импульсы т.е. работает как аппаратный счётчик.

Он считает количество импульсов за 8мс интервал. Правда без какой-либо синхронизации, скорей всего на индикаторе будут мерцать изредка другие значения. Видимо считается что вероятность попадания пачки импульсов на границу этого интервала достаточно мала, и пофиг что изредка будут проскакивать неверные значения - они будут задерживаться на дисплее не дольше периода опроса... а если на входе не будет импульсов за 8мс интервал, то значение дисплея обновляться не будет - на нём будет гореть прежняя цифра. Вот и вся логика работы.

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

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

Нагородить чтоли 20 программных уартов или spiев? Хотелось бы что нить такое, чтоб полностью исключить ошибку. Ничего а голову не приходит.

+ хочется сделать чтоб сразу можно было 100 пар прозванивать.

Не знаеш как? Спроси у Google'а !!!

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

А в чём собственно заключается проблема, что её непременно надо решить? Введи в программу синхронизацию - после того как прошли 8мс данные обработаны и выведены на индикатор - вводи контроллер в режим активного сна - первое же прерывание по внешнему сигналу выведет его из спячки и он будет считать импульсы 8мс затем покажет.

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

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

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

...Хотелось бы что нить такое, чтоб полностью исключить ошибку. Ничего а голову не приходит.

+ хочется сделать чтоб сразу можно было 100 пар прозванивать.

Victor26, без проблем. Каждым событием внешнего прерывания обнуляешь счетный регистр таймера и инкрементируешь счетчик импульсов. В паузе таймер переполнится - конец пачки. Пара-тройка пачек с одинаковым значением имеет право быть выведена на индикатор. Для ста(двухсот) пар достаточно одного порта и "кучки" 74HC595 (перед ULN2003) или же "кучки" TPIC6B595 (вместо 74HC595 и ULN2003 вместе взятых).

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

Вообще там и защита от статики не помешает, бывает так что перепутаешь пары а там 110-220В откуда-то просочилось - и трындец прибору.

Для 50 пар и больше нужно расширять индикатор до 3-х разрядов, 2 разряда могут отобразить только 99 значений(0 - не считается, это отсутствие импульсов) или переходить на 16-ричную систему исчисления, тогда можно взять до 127 пар, или вовсе на двоичную - 16 диодов позволит отобразить 65536 комбинаций или 32767 пар.

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

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

Какие могут возникнуть проблемы при следующем алгоритме( чисто теоретически):

Перевести выводы передатчика на вход,

Приёмник будет посылать импульс и переводим этот вывод на вход, ожидаем приём импульсов от передатчика,

Тот пин на передатчике, на который пришёл импульс переводим в состояние на выход и отправляем пачку импульсов (код),

Приёмник их принимает обрабатывает,

И так по кругу.

Это для 15-20 пар.

Не, ну ладно шестнадцатиричная, но двоичная это садомазо уже)))

Дядь Гена как всегда на высоте, я почемуто и рядом не мог подумать что можно таймер использовать как флаг конца передачи))

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

Не знаеш как? Спроси у Google'а !!!

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

Перевести выводы передатчика на вход,

Приёмник будет посылать импульс и переводим этот вывод на вход, ожидаем приём импульсов от передатчика,

Тот пин на передатчике, на который пришёл импульс переводим в состояние на выход и отправляем пачку импульсов (код),

Приёмник их принимает обрабатывает,

А зачем этот весь гемор, если можно просто тупо передатчиком посылать, а приёмником принимать ? :)
Ссылка на комментарий
Поделиться на другие сайты

Синхронизация, для уменьшения вероятности ошибки.

Я когда писал этот алгоритм, страницу не обновил, поэтому не видел два предыдущих поста. Мне уже алгоритм с таймером понравился))

Не знаеш как? Спроси у Google'а !!!

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

С таймером - обычный ход с таймаутом, который должен присутствовать при любом приёме.

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

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

Я видел обучайку на этом сайте, как с помощью одного транзистора сделать согласование уровней. Вот подумал что можно этим способом пойти, чтобы в линию можно было подавать 9-12 вольт. Чтоб наверняка подтягивало, а то 5 вольтей может и не дойди через километр-другой

Не знаеш как? Спроси у Google'а !!!

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

На такие расстояния не делают "вольты", делают "амперы" :)

На приёмной стороне стоит подтягивающее сопротивление к плюсу (аля шунт), на передаваемой - коммутирование на минус.

Чем меньше сопротивление, тем лучше помехозащищённость, но возрастает ток коммутации.

И пофиг какое там напряжение будет, важен ток в цепи. Течёт - лог. единица, не течёт - лог. ноль.

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

Li-Po маленькие и сердитые. )

А приемную сторону удобно изготовить как и в статье, с использованием оптопары.

да и дело то не в амперах и вольтах, я просто хотел понять как лучше сделать в плане "ошибкозащищенности" (с) , ответы получил, очень исчерпывающие. а схему можно и не менять, она меня вполне удовлетворяет

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

Не знаеш как? Спроси у Google'а !!!

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

Сделай кучу программных УАРТов на низкой скорости (что не составит никакого труда) и передавай 2 байта - номер провода и инверсия первого байта.

На приёмной стороне - аппаратный УАРТ + таймаут. И никакого гемороя с подсчётом всяких импульсов.

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

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

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

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

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

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

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

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

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

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

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

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