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

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


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

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

Никогда не спорьте с дураком - люди могут не заметить между вами разницы

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

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

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

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

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

Это понятно , что МК не знает что с наружи , но я же включаю внутренний подтягивающий резистор , а он подтягивает к плюсу , следовательно должна быть 1. Я может чего не догоняю ?
Ссылка на комментарий
Поделиться на другие сайты

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

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

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

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

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

следовательно должна быть 1

Но ведь он может быть внешне подключён к нулю? В этом симуляторе внешние цепи не рассматриваются.

Никогда не спорьте с дураком - люди могут не заметить между вами разницы

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

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

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

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

Но ведь он может быть внешне подключён к нулю?

Этого симулятор как раз и не знает и знать это ему не зачем , но он точно знает как сконфигурирован порт и что к пину 1 подключен внутренний резистор . Если этот резистор ни на что не влияет , тогда зачем он нужен

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

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

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

Ругался на отсутствие форматирования исходного кода (включая отсутствие осмысленных комментариев и наличие неубранного после конфигуратора мусора) не менее 15 раз.

Часть моих наработок.

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

и знать это ему не зачем

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

Изменено пользователем Григорий Т.

Никогда не спорьте с дураком - люди могут не заметить между вами разницы

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

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

Значит подключение внутреннего резистора pul-up , симулятор считает внешней цепью , хоть и подключается внутри , я правильно вас понял ? Я по простоте душевной , просто подумал - ведь симулятор симулирует МК , и уж коли подтягивающее сопротивление внутри МК , то и симулятор как бы дожЁн и его просимулировать . А то что в процессе симуляции надо изменять значения регистра PIN я знаю , просто думал что по дефолту должна быть 1 и уж потом можно её менять так как нужно . Мне и узнать то надо было , так должно быть или может со студией какие неполадки . Спасибо вам мужики !
Ссылка на комментарий
Поделиться на другие сайты

Это правило работает в схемном симуляторе, в студии только логический симулятор. Поэтому там никаких пул-апов, и даже АЦП не реализован.

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

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

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

с чем может быть связано?

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

мега от внутреннего тактируется на 8 мгц
А если от кварца на 8 мгц затактировать. Фузы павда придется перешивать...

Попробуйте "часовой" кварц с ненужной матери поставить.

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

Владею лабораторией производящей синий "лед".

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

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

кода под рукой сейчас нет, могу потом скинуть если надо, но суть такова:в обработчике прерывания по переполнению инкрементируются секунды.если секунды >59, то сек = 0, и инкрементируем минуты.с часами тоже самое.т.е вроде все как надо.

а уже в основной программе выполняется функция вывода на экран

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

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

____________________________________________________________________________________________________

У меня есть вопрос о работе с WinAVR. Где прописываются ключи при прошивке?

В Makefile примерно таким текстом:

PROGRAMMER=usbasp

BitClock=20

PORT=usb

AVRDUDE_BAUD = -F -D .....

Или где то в Avrdude?

Хочу попробовать прошить атмегу328 о которой писал на прошлой странице с ключeм -F. Если не поможет - соберу доктора для сброса фузов. Если и доктор не поможет значит атмега328 труп.

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

Владею лабораторией производящей синий "лед".

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

измерь частотомером на какой частоте у тебя работает кварцевый генератор.

И убедись что коэффициент деления счетчика установлен на необходимое значение.

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

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

в обработчике прерывания по переполнению инкрементируются секунды.если секунды >59, то сек = 0, и инкрементируем минуты.с часами тоже самое.т.е вроде все как надо.

А какой период возникновения прерывания? В отладчике проверяли или все настроено по счислению?

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

в обработчике прерывания по переполнению инкрементируются секунды.если секунды >59, то сек = 0, и инкрементируем минуты.с часами тоже самое.т.е вроде все как надо.

А какой период возникновения прерывания? В отладчике проверяли или все настроено по счислению?

по расчетам период одна секунда,а в реальности получается немногим меньше на столько, что за одну минуту часы спешат секунды на 3-4.

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

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

Скорее всего неправильно модуль счета задан. То есть считается меньше чем надо импульсов тактового сигнала.

Если не ошибаюсь, обычные часовые кварцы рассчитаны на 3 В, а для контроллеров типичное напряжение 5 В. Если это не учтено, кварц может быть перегружен, что может сказаться как на долговечности, так и на точности.

Ругался на отсутствие форматирования исходного кода (включая отсутствие осмысленных комментариев и наличие неубранного после конфигуратора мусора) не менее 15 раз.

Часть моих наработок.

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

понижение напряжения ни к чему не привело, нашел другой решение, ламерское конечно да и это не выход

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

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

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

или может таймер часовой сбрасываешь когда это не нужно?

Ты подключил частотомер к выходу часового генератора?

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

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

приложил файл с кодом

там видно, что изменение переменных есть в обработчике прерывания по таймеру

также в обработке нажатия кнопок(в основном цикле), эти переменные можно увеличивать/уменьшать, но только минуты и часы, т.е. оно не может влиять на счет

и чтоб не возникало сомнений, баг присутствует даже когда не нажимаю кнопки,

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

возможно просто я криворукий

Новый текстовый документ.txt

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

Как же, разрабатывать такие вещи и не иметь частотомера? Это же просто необходимый прибор. Причем нужен именно счетный частотомер, а не то что встроено в китайские приборы.

Узел подключения кварца какой? А то я сталкивался с такой ситуацией, когда кварц набирал заряд и поляризовался - напряжение на нем накапливалось выше 4 вольт и никуда не уходило, естественно генератор в таких условиях работать не может, приходилось вставить резистор на 20МОм параллельно кварцу.

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

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

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

кварц подключен просто напрямую одной ногой к выводу 9 второй к выводу 10 (мега 8).может в этом косяк?а то никогда еще не применял асинхронный режим, поэтому подключил по первому попавшемуся гайду

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

Для мега8 низкочастотный кварц применяется без внешних конденсаторов, если установлен фьюз CKOPT. В противном случае между выводами 9,10 и землей должны быть установлены внешние конденсаторы по 36 пф

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

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

1. Запретить прерывания от таймера/счетчика.

2. Переключить его в требуемый режим.

3. Записать новые значения в регистры TCNTaj, OCR/i (OCRnx) и

TCCRn (TCCRnx).

4. В случае переключения в асинхронный режим дождаться сброса

флагов TCNaiUB, OCR/jUB (OCR2xUB) и TCR/zUB (TCR2xUB).

5. Сбросить флаги прерываний таймера/счетчика.

6. Разрешить прерывания (если требуется).

В моделях ATmega8515x/8535x и ATmega8x/16x/32x/64xl28x конденсаторы емкостью 36 пФ подключаются при записи 0 в конфигурационную ячейку СКОРТ
char sec=0;                        //секунды
char min=0;                        //минуты
char hour=0;

Переменные изменяются в прерывании, но не объявлены volatile.
    if (d==1)
       {d=0;
       }
       else{d++;}   

Проще делать d++; а для проверки if(d & (1<<1)){...} либо просто d=!d;

Ругался на отсутствие форматирования исходного кода (включая отсутствие осмысленных комментариев и наличие неубранного после конфигуратора мусора) не менее 15 раз.

Часть моих наработок.

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

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

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

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

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

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

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

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

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

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

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

  • Сообщения

    • У меня написано в клетке 50 вольт для графика на трансформаторе. На транзисторе в базе амплитуда не более 3.5 вольт в минус, в плюс примерно 0.7 вольт. Последний график с нагрузкой это запитка уже напрямую от сети без нагрузочной лампы.  Спасибо за ответ. 
    • Ничего серьезного в вопросе не вижу. Соленоиды миллионами в мире работают не сутками и не неделями А ГОДАМИ. Все что работает всегда греется., и должно. А вот какая температура это другой вопрос. А эта штучка вообще  смешная. Система отталкивающей магнитной левитации.docx
    • Ну на плате с смд деталями, всё компактно, всё рядышком и  проводники конечно уже но и значительно короче. Если конечно не тянуть связь с одного конца платы на другой.
    • Почему нигде нет масштаба по оси Y ? График напряжения на базе - какая амплитуда в минус на базе ключа при пробое ? Он держит не более 8..9 вольт, больше -7 вольт не должно быть ни при каком раскладе. Транзисторы раскачки - проверьте ОБА на пробой. Проверьте базовые цепи обоих ключей на одинаковость. на первой осциллограмме не вижу никаких проблем. Колебания в паузах от индуктивности намагничивания первичной обмотки трансформатора. Это всегда будет в режиме холостого хода. Чтобы был прямоугольник, необходимо, чтобы через дроссель ток не падал до нуля - то есть, режим неразрывного тока дросселя. Для этого необходимо увеличить его индуктивность. нагружать источник, запитанный от резистора - нельзя ! ключи должны быть из одной партии, убедитесь что ничего не пробито. Емкости высоковольтных электролитов тоже должны быть одинаковыми. Проверьте на высыхание. Схема выпрямления должна быть двухтактной - это на всякий случай
    • @READART Согласен, некорректно выразился. Батарейно-зависимое хранилище вот совсем без внешнего резерва не припомню, как правило какой-то модуль хранения есть хотя бы как докупаемая опция. Опция дублирования программы на карту памяти есть у большинства ПЛК со слотом для карты, DELTA и Allen-bradley точно умеют. Да, и все же есть разница ионистор или АКБ/батарейка. С последними и пара лет хранения не проблема. З.Ы. А нет вспомнил. ОВЕН, будь он не ладен. И еще вроде кто-то ругался на PLC Saia-Burgess.
    • Стоваттный резистор в колоночку - и можно обходиться без отопления.
    • Не совсем так. Батарейка в ПЛК - весьма распространенное явление, причем нередко в ПЛК отсутствует карта памяти или иное хранилище рабочей программы, в результате чего после исчерпания батарейкой своего ресурса станок уходит в небытие. В этом плане приятен omron - в части его ПЛК рабочая программа хранится и в SRAM, и на карте, а пользователь с помощью микрика может выбирать откуда ему загружаться. 
  • Похожий контент

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