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

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


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

Тарапунька, что является "сигналом" импульс или только фронт? Точно ли для этой задачи нужен контроллер или достаточно одновибратора? Если все же хотите на контроллере, стоит освоить таймеры. Например, при появлении "сигнала" устанавливаем для нужного канала переменную-счетчик и включаем диод. Потом по таймеру уменьшаем переменную и, когда она достигнет нуля, гасим диод. Например, если считать "сигналом" фронт (нарастающий) импульса, код может выглядеть так

Надо обеспечить 4 канала, и прибор критичный по свободному месту внутри и потреблению тока. Установка 1 на выходе по переднему фронту на входе, после установки 0 на входе, задержка 20 сек и 0 на выходе.

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

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

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

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

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

Изучайте таймеры.

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

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

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

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

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

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

Сколько помню, размер char'а не стандартом не оговаривается, хоть 5 бит, хоть 32. Что помешало увеличить его до 4 байт я не знаю.

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

Так все-таки, что на счет варианта перевода шестнадцатеричной цифры?

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

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

Прерывание_таймера:
1. Если на PB0 лог.1, устанавливаем счетчик0 в некоторое значение (в моем прошлом примере TIME_MAX) и включаем диод
2. Если на PB1 лог.1, устанавливаем счетчик1 в некоторое значение
3,4. То же для PB2, PB3 и счетчиков 2,3.
5. Если счетчик0 еще не досчитал до 0 (его значение положительно), уменьшаем его на 1
5а. После чего снова проверяем на 0, и если совпал - гасим диод.
6. То же для счетчиков 1, 2, 3.
7. Конец прерывания.

Ну и еще раз рекомендую посмотреть в сторону одновибраторов. Пока сигнала нет, они тока почти не потребляют (своего тактирования у них, в отличие от контроллера, нет), а пока держат диод - он все равно потребляет больше, чем логика. Преимущества: никакого программирования (и риска зависаний), меньшее потребление. Недостатки: меньшая точность (хотя для данной задачи не думаю что это важно), немного большие размеры (2 корпуса микросхем, 4 резистора, 4 конденсатора вместо 1 контроллера).

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

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

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

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

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

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

Здравствуйте, возникла такая проблема. Имеется микроконтроллер ATmega8515 для его питания специально купил блок питания китайский 5 вольтовый на 2 ампера. В устройстве имеется также дисплей который отлично работает, показывает квадратики, как если бы не было подключенного микроконтроллера. От батареек микроконтроллер тоже не хочет работать. Блок питания выдает 5 вольт, на моем стрелочном стрелка стоит на 5 вольтах у мужика который мне продавал на тестере электронном показывало 5.12-5.13 вольт. Тобиш вполне достаточно для питания меги. У ATmega8515 рабочее напряжение составляет 4.5-5.5 вольт. тобиш все сходится микроконтроллер должен работать. От USB с компьютера все работает отлично дисплей исправно показывает температуру и выключает обогреватель, а вот от блока питания ни в какую мб кто то подкажет что можно сделать с блоком питания?

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

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

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

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

Попробуйте на выход БП поставить конденсатор электролит микрофарад на 100 - 1000 и керамический на 0.1 мкф , может в этом БП и фильтра нет совсем .

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

я то пробовал кстати, правда использовал то что было, 1 конденсатор на 4.7 микрофарад, второй на 10 микрофарад и 1 пленочный на 0.1 микрофарад результата ноль. Надо значит будет найти/купить микрофрад на 100 попробовать.

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

От батареек микроконтроллер тоже не хочет работать. Блок питания выдает 5 вольт,

От USB с компьютера все работает отлично

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

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

От батареек микроконтроллер тоже не хочет работать. Блок питания выдает 5 вольт,

От USB с компьютера все работает отлично

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

Да уж очень сомнительно, я от USB шнура оставил 2 провода которые пошли на питание микроконтроллера, навряд уж комп через 2 провода из 4 может обмениваться данными с микроконтроллером.

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

Дело не в батарейке или блоке питания, вы что-то перепутали в подключении.

Подключи батарейки, измерь какой ток потребляет схема? Прямо в батарейном блоке.

Потом измерь какое напряжение НА контроллере, прямо на его выводах!

Мистики не бывает. Контроллер вообще очень терпим к напряжению питания, и от 3-х вольт работать будет и от 6-ти...

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

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

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

На схеме не показано соединение минуса источника питания GND с общим проводом МОС3061, 18В20, LCD1602. Забыли нарисовать или забыли соединить?

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

Подключение МОС не правильное , управляющий сигнал подается на 1 и 2 ногу , а не как у вас 1 и 3 , откройте даташит и посмотрите .

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

На схеме не показано соединение минуса источника питания GND с общим проводом МОС3061, 18В20, LCD1602. Забыли нарисовать или забыли соединить?

Я не совсем правильно видать нарисовал. Заземление там нарисовано как бы подсоединено к минусу. Я думал так для простоты восприятия рисуют. А так да все подсоединено на общий минус.

Подключение МОС не правильное , управляющий сигнал подается на 1 и 2 ногу , а не как у вас 1 и 3 , откройте даташит и посмотрите .

И то верно, неправильно нарисовал. Хотя главное конечно что спаял правильно). Просто когда картинку нужно переворачивать сразу теряюсь.

Вроде все верно картинка номер 2.

post-198196-0-61290400-1459082796_thumb.png

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

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

Не понятно , от USB ноутбука работает , а от USB зарядки от телефона не хочет , Может от бука по USB идет 3.3В , а зарядка выдает 5В , из-за разницы в питающем напряжении меняется контрастность LCD Резистор контрастности крутить пробовали ?

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

Очень мутная схема. Где номера выводов контроллера? Питание ему правильно подключил? там, кажется, по два вывода на + и - питания. Потом, покажи как именно ты подаёшь питание от USB, батареек и блока питания. Это ведь не одни и те же провода, или всё в параллель завязано?

Всё же, измерь напряжение на контроллере, когда он работает от батареек.

Потом, какова необходимость отключать напряжение контраста от индикатора кнопкой/переключателем? Да еще таким страннейшим способом...

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

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

Не понятно , от USB ноутбука работает , а от USB зарядки от телефона не хочет , Может от бука по USB идет 3.3В , а зарядка выдает 5В , из-за разницы в питающем напряжении меняется контрастность LCD Резистор контрастности крутить пробовали ?

Да нет USB стандартно выдает 5 вольт, и тестер имеется да и работает термостат от бука и от персонального компа.

USB как подключается?

Очень мутная схема. Где номера выводов контроллера? Питание ему правильно подключил? там, кажется, по два вывода на + и - питания. Потом, покажи как именно ты подаёшь питание от USB, батареек и блока питания. Это ведь не одни и те же провода, или всё в параллель завязано?

Всё же, измерь напряжение на контроллере, когда он работает от батареек.

Потом, какова необходимость отключать напряжение контраста от индикатора кнопкой/переключателем? Да еще таким страннейшим способом...

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

Почему кнопкой сделано отключение контраста? Все просто, не знаю уж почему но если отключить питание подсветки дисплея, и оставить включенным питание дисплея VCC и VDD то подсветка начинает питаться от контраста дисплея, светодиод не так ярко уже горит причем интенсивность подсветки начинает зависеть от поворота ручки контраста. Проверял проверял я не понял в чем причина все напаяно без склеивания контактов, провода оголены только в местах пайки и не двигаются. Дабы не мучится с этим феноменом сделал выключатель. Ну а подсветку дисплея тоже как бы надо выключать. Номера выводов даже не знаю зачем, написано цифровое обозначение портов. Ну например напишу С0-С7 соответствует выводам 21-28, А0 это 39 вывод, А1 соответственно 38 вывод, GND 20, VCC 40. Вот картинка есть

post-198196-0-81089700-1459109114_thumb.png

И да в меги8515 в дип корпусе только 2 пина для питания, в других корпусах вполне возможно больше, я без понятия.

Завтра если не поможет LC фильтр для китайского блока питания полезу тестером промерять.

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

При чем тут LC фильтр, если от батареек не работает? Вообще, мутно вы как-то изъясняетесь, может покажете фото этого волшебного устройства?

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

Однозначно есть замыкания. Светодиод подсветки ВООБЩЕ НИКАК не связан со схемой индикатора, и если подсветка светится от контраста, то это УТЕЧКА тока которой быть не должно!

Очень часто причиной таких приколов становится активный флюс...

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

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

При чем тут LC фильтр, если от батареек не работает? Вообще, мутно вы как-то изъясняетесь, может покажете фото этого волшебного устройства?

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

Однозначно есть замыкания. Светодиод подсветки ВООБЩЕ НИКАК не связан со схемой индикатора, и если подсветка светится от контраста, то это УТЕЧКА тока которой быть не должно!

Очень часто причиной таких приколов становится активный флюс...

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

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

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

Alexeyslav

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

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

Ну а фотки волшебного устройства такие :P Хотя я думаю таких оригиналов как я немного. Верхняя розетка на свет будет когда кварц куплю. А нижняя на обогреватель. Большая ерунда возле розеток спрятанный симистор с радиатором. А большая коробка потому что буду доделывать помалеху, больше функций хочу сделать на будущее в идеале контроль температуры, влажности, CO2, оборотов вентилятора. Причем только датчиком влажности, в которых как я заметил всегда есть датчик температуры не обойтись. Вот такое чудище.

post-198196-0-15464000-1459197421.jpg

post-198196-0-94250100-1459197429.jpg

post-198196-0-99140600-1459197436.jpg

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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