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

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


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

@ARV , оригинально. Да, в описании структуры.

А если вне структур я захочу определить булевую переменную, придется байт выделять, или можно тоже как-то выделить 1 бит?

 

В тему своего предыдущего вопроса: как вы обычно запитываете МК от сети 220В? Какие типовые решения используете?

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

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

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

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

Напрямую с однобитовыми (и другими некруглыми) переменными Си работать не умеет. Для булевых типов можно применить как минимум 3 варианта

1. Занять байт на переменную. Проигрыш по памяти, зато выигрыш по скорости и понятности.

2. Выделить 1 байт на структуру, содержащую 8 отдельных битовых переменных. Или 16-битную структуру на 16 фагов, или 32...

struct{
  char flag1:1;
  char flag2:2;
...
}flags;
if( flags.flag1 )flags.flag2 = 0;

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

3. Выделить 1 байт на переменную и использовать битовые маски

#define FLAG1 (1<<0)
#define FLAG2 (1<<1)
...
unsigned char flags;
if( flags & FLAG1 )flags &=~(FLAG2);

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

В зависимости от предпочтений скорость-память я бы выбрал 1 или 3 варианты.

Цитата

как вы обычно запитываете МК от сети 220В? Какие типовые решения используете?

Чаще всего USB-разъем и питание либо от компа, либо от телефонного зарядника, без дополнительных стабилизаторов. Либо низкочастотный трансформатор + диодный мост + стабилизатор.

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

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

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

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

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

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

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

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

Цитата

С них я могу запитать свое устройство без всяких стабилизаторов?

Шило на мыло, однако. По схемотехнике это 1 в 1 китайский зарядник... только без корпуса.

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

Цитата

А чем же он такой специфичный? Очень распространенный датчик.

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

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

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

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

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

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

16 часов назад, Alexeyslav сказал:

Шило на мыло, однако.

Хорошо, тогда такой вариант: есть импульсный БП от платежного терминала 9В 4А. Могу запитаться от него через L7805.

Из нагрузки у меня блок на 4 реле и 8 индикаторных светодиодов. Т.е. суммарный ток вряд ли превысит 0,4А.

0,4*(9-5)=1,6Вт будет рассеиваться на стабилизаторе. Это много? Радиатор нужен?

 

P.S.: Я что-то понять не могу, зачем я заново изобретаю колесо? Неужели все питаются от ЮСБ?

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

Это уже надо ставить стабилизатор 7805 и радиатор к нему. Пол вата уже способны через пару лет почернить плату...

А так да, можно использовать. Избыточно только, но если не жалко...

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

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

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

А почему не запитать от зарядника напрямую?
Да я вот понять не могу: от дешевого китайского зарядника напрямую будет нормально работать? У меня осциллографа нет, но мне кажется, что они фонят по питанию жутко…


Отправлено с моего Lenovo K50-t5 через Tapatalk

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

С чего бы им фонить? телефоны же как-то заряжают... Там частоты преобразования за 100кГц, тех электролитов даже 100мкф хватает за глаза. Не нравится что может фонить? Добавь элементарный LC-фильтр, зашунтируй керамикой на 0.1мкф. В нормальной зарядке видел что в сеть они включены через два дросселя выполняющих роль предохранителей и с обоих концов конденсаторы. Там ещё и на выходе дроссель был, 10мкф электролит и TNYxx в качестве контроллера. В китае экономят, но это не значит что нельзя добавить дополнительный фильтр при необходимости.

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

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

16 часов назад, Alexeyslav сказал:

С чего бы им фонить? телефоны же как-то заряжают...

На таких дешевых зарядниках во время зарядки как правило проявляются фантомные нажатия и тупизна экрана. Проверено на многих зарядниках и нескольких телефонах.

На качественных зарядниках такого эффекта нет. Значит, что-то там не так.

 

17 часов назад, Alexeyslav сказал:

Не нравится что может фонить? Добавь элементарный LC-фильтр, зашунтируй керамикой на 0.1мкф.

Керамику на 100нФ я и так ставлю перед МК. А вот чтобы подобрать LC-фильтр надо знать частоту гармоники, разве не так? А у меня померить нечем. :(

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

3 часа назад, Lerik-Co сказал:

...проявляются фантомные нажатия и тупизна экрана. Проверено на многих зарядниках и нескольких телефонах.

Это больше проблемы телефонов, чем зарядников.

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

4 часа назад, Lerik-Co сказал:

чтобы подобрать LC-фильтр надо знать частоту гармоники, разве не так?

А разве не частоту среза? Это куда проще, поскольку частоты импульсных преобразователей обычно 10 - 100 кГц.

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

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

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

Фантомные нажатия - это проблема телефона, в нём нет фильтра и сенсор не фильтрует статику... в итоге на работу сенсора влияет даже ёмкость разделительного трансформатора в блоке питания. На выходе высокие частоты срезает конденсатор, особого смысла там что-то фильтровать нет, только если у вас повышенные требования к питанию и наличие пульсаций в пару милливольт по питанию недопустимо(актуально, например, для питания 24-битных АЦП, высокочувствительных приемников с чувствительностью по входу в доли микровольта).
А в вашем случае... схема не критична к чистоте питания, смысла что-то городить нет никакого.

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

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

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

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

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

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

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

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

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

Друзья, не будем спорить. [emoji3]
Проект подходит к своей практической фазе, скоро всё узнаем на практике. [emoji5]

Отправлено с моего Lenovo K50-t5 через Tapatalk

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

В 24.01.2017 в 23:53, Alexeyslav сказал:
Специфичный он тем что рассчитан на сильноточную нагрузку. В слаботочном режиме могут быть проблемы с чрезмерным затягиванием фронтов и как следствие низкое быстродействие.

(Речь идет о цифровых датчиках холла) Мало того, они еще и не хотят нормально работать при напряжении питания в 5 вольт, хотя в даташите заявлена работоспособность от 4 до 20 вольт. При подтяжке выхода датчика к плюсу (резистром в 1кОм) получаю на нем при работе чуть ли не плавные колебания примерно от 2В до 1В, что похоже маловато. Ибо при питании от 9В получаю четкое срабатывание 6-1В.

Отсюда вопрос: или я все-таки не так его подтягиваю, или надо кардинально менять схему.

Например, на такую (как я понимаю, схема с открытым коллектором это позволяет?): f2d8eee14d08a10e71383a991e4c50f3.jpg

Или есть мысли поинтереснее?

ЗЫ: Или по транзистору на каждый датчик поставить?

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

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

Относительно минуса данные такие:

При питании от 5В и резисторе подтяжки 1кОм: 3.33 - 3.17В (практически не видно срабатывания)

При питании от 5В и резисторе подтяжки 51Ом: 4.85 - 3.20В

При питании от 9В и резисторе подтяжки 1кОм: 7.00 - 3.24В

При питании от 9В и резисторе подтяжки 51Ом: 9.01 - 3.24В

(Это измерено, естественно, сейчас в схеме без раздельного питания)

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

@Lerik-Co вы что-то не то меряете. А осциллограф у вас есть?

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

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

[mention=194789]Lerik-Co[/mention] вы что-то не то меряете. А осциллограф у вас есть?
Да что тут можно не то померить? [emoji5]

e25511ed76cfda9e719c33ae26094f85.jpg
Нет, осциллографа нет, не обзавелся еще, пока мультиметр рулит..
Ссылка на комментарий
Поделиться на другие сайты

Мультиметр покажет среднее значение, если сигнал импульсный.

Кстати, у вас же были AN277?

А у ES211 первая ножка - не питание. Там вообще нет ножки питания.

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

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

Мультиметр покажет среднее значение, если сигнал импульсный.
Кстати, у вас же были AN277?

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

Отправлено с моего Lenovo K50-t5 через Tapatalk

Могу, наверное, датчики опрашивать не как кнопки, а при помощи АЦП измерять напряжение на них…

Отправлено с моего Lenovo K50-t5 через Tapatalk


А у ES211 первая ножка - не питание. Там вообще нет ножки питания.
Блин, пойду ка я даташит посмотрю.[emoji3]


Отправлено с моего Lenovo K50-t5 через Tapatalk

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

7 минут назад, Lerik-Co сказал:

думаете это принципиально?

Вы  последнюю строчку предыдущего поста прочли?

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

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


Кстати, у вас же были AN277?
А у ES211 первая ножка - не питание. Там вообще нет ножки питания.
Вы оказались совершенно правы: проблема в модели 211. Поставил 277 - все встало на свои места. Жаль что у меня нету двух 277, пошел искать. [emoji3]


Отправлено с моего Lenovo K50-t5 через Tapatalk

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

Здравствуйте,

Подключил ко всем пинам Attiny13 светодиоды через резисторы. В общем проблема с PB5 если он подключен (через резистор и диод на общий) код не выполняется. Как только PB5 отсоединяю от диода. Код выполняется. И да, когда PB5 подключён светодиод еле светится. А мультиметром меряю на нём 4.4 вольта и выполнение кода при касании мультиметром сбивается на начало. Почему так?

Программировал черех Arduino IDE и USBasp. Не пинайте только начал)

 

Скрытый текст

void setup() {
pinMode (0, OUTPUT);
pinMode (1, OUTPUT);
pinMode (2, OUTPUT);
pinMode (3, OUTPUT);  
pinMode (4, OUTPUT);
pinMode (5, OUTPUT); 
}
void loop() {
   digitalWrite (0, HIGH);
  delay(300);
   digitalWrite (0, LOW);
  delay(300);
  digitalWrite (1, HIGH);
  delay(300);
   digitalWrite (1, LOW);
  delay(300);
   digitalWrite (2, HIGH);
  delay(300);
   digitalWrite (2, LOW);
  delay(300);
   digitalWrite (3, HIGH);
  delay(300);
   digitalWrite (3, LOW);
  delay(300);
   digitalWrite (4, HIGH);
  delay(300);
   digitalWrite (4, LOW);
  delay(300);
    digitalWrite (5, HIGH);
  delay(300);
   digitalWrite (5, LOW);
  delay(300);
}

 

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

Здравствуйте,

Подключил ко всем пинам Attiny13 светодиоды через резисторы. В общем проблема с PB5 если он подключен (через резистор и диод на общий) код не выполняется.

А pb5 это случайно не ножка ресет? Если так, то фьюзами надо переключить эту ножку с ресета на pb5. Только надо иметь ввиду, что после этого будут проблемы с прошиванием.
Ссылка на комментарий
Поделиться на другие сайты

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

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

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

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

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

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

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

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

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

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

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