Easyelectronics.ru

Электроника для всех
Текущее время: 16 ноя 2018, 13:13

Часовой пояс: UTC + 5 часов



    • JLCPCB - Прототипы 10 PCBs всего за 2$ (100*100mm, 2-layer)
    • Как мы делаем платы, смотрите на YouTube
    • Крупнейшая китайская фабрика прототипов. 300000+ заказчиков и 10000+ заказов в день!
    • LCSC - Крупнейший китайский онлайн магазин комплектующих.

Начать новую тему Ответить на тему  [ Сообщений: 18979 ]  На страницу Пред.  1 ... 725, 726, 727, 728, 729, 730, 731 ... 760  След.
Автор Сообщение
 Заголовок сообщения: Re: Мелкие вопросы
СообщениеДобавлено: 29 июн 2018, 12:22 
Старожил
Аватара пользователя

Зарегистрирован: 23 сен 2012, 20:35
Сообщения: 2474
axill писал(а):
evsi готовые неудобно

Зато не надо считать и мотать. К тому же готовые трансы получаются компактнее, чем самопал. Производители индуктивностей/трансов часто делают сердечники под свои нужды и не ограничены ассортиментом готовых сердечников.
axill писал(а):
Не реально нафти расчет?

Вполне реально. Насколько я помню, программы Старичка тоже позволяют посчитать транс для флайбека.
axill писал(а):
Если брать например от linkswitch там кроме токов, напряжений и частоты что должно совпасть, чтобы расчет можно было бы применить для ncp10xx?

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Мелкие вопросы
СообщениеДобавлено: 29 июн 2018, 15:06 
Старожил

Зарегистрирован: 20 мар 2013, 11:27
Сообщения: 5137
evsi писал(а):
Зато не надо считать и мотать.


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

мне например интересны каркасы/сердечники формата EE8.3 EE10 EE13
то есть весьма компактные

можно и linkswitch прикрутить, только не нахожу там компактных корпусов, в основном DIP8/SMD8 - они громадные
а ncp101x есть в sot223 со встроенным ключом и без потребности в VCC обмотке
должно было бы компактно получаться


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Мелкие вопросы
СообщениеДобавлено: 29 июн 2018, 15:22 
Старожил
Аватара пользователя

Зарегистрирован: 23 сен 2012, 20:35
Сообщения: 2474
axill писал(а):
как бы да, но не представляю где этот коилкрафт покупать тем более за адекватную цену

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

А вообще, если нужна маленькая мощность (1-3Вт), то проще взять готовый блок питания на али. Типа таких или таких.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Мелкие вопросы
СообщениеДобавлено: 29 июн 2018, 16:07 
Старожил

Зарегистрирован: 20 мар 2013, 11:27
Сообщения: 5137
evsi писал(а):
На сайте коилкрафта можно заказать семплы. Если пойдет в продакшн, то можно у самого коилкрафта напрямую купить.

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

evsi писал(а):
А вообще, если нужна маленькая мощность (1-3Вт), то проще взять готовый блок питания на али. Типа таких или таких.


эти оба жутко дорогая экзотика, есть куда более адекватные и проверенные https://ru.aliexpress.com/item/HLK-PM12 ... autifyAB=0
есть фирменные от IR которые даже в Москве дешевле ваших примеров

но все они как один мне под текущую задачу не подходят по размерам
втискиваю в DIN-1P корпус, там 14.7мм ширина, предпочтительная высота не более 16мм
для меня есть вполне рабочий вариант на LNK306, но отсутствие развязки сильно ограничивает

мне вот такие попались https://ru.aliexpress.com/item/50pcs-lo ... 33edTmdYyt
по идее то что надо


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Мелкие вопросы
СообщениеДобавлено: 29 июн 2018, 16:25 
Старожил
Аватара пользователя

Зарегистрирован: 23 сен 2012, 20:35
Сообщения: 2474
axill писал(а):
на сэмплах пива не сварить
а продакшина не будет, любительство
нужен сейчас десяток

А заказать по три штуки несколько раз, не?
axill писал(а):
эти оба жутко дорогая экзотика

Это были примеры, а не самые дешевые лоты.
axill писал(а):
но все они как один мне под текущую задачу не подходят по размерам
втискиваю в DIN-1P корпус, там 14.7мм ширина, предпочтительная высота не более 16мм
для меня есть вполне рабочий вариант на LNK306, но отсутствие развязки сильно ограничивает

Есть физический предел миниатюризации на данном этапе развития технологии. То, что вы хотите сделать, врядли впишется в эти размеры. Как вариант - взять блок без изоляции и нагрузить его на модульный (или самодельный) DC-DC 12В/12В. Кстати, для NCP10xx есть схема похожая на LNK306. А вообще для подобных применений, лучше всего, видимо, подойдет MP157GJ (https://www.monolithicpower.com/pub/med ... _r1.04.pdf). Он компактнее и изначально делался для таких задач. Хотя и обычный флайбек на нем вполне можно сделать.
axill писал(а):
мне вот такие попались

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Мелкие вопросы
СообщениеДобавлено: 29 июн 2018, 17:54 
Старожил

Зарегистрирован: 20 мар 2013, 11:27
Сообщения: 5137
Я понимаю, что ваши ссылки на товары были примерами, но али так устроен, что цена на один и тот же товар примерно одна.

Если китаец не врет, то 12в 3ватт то что надо
И по размеру он влезает. С LNK306 у меня влезло два 4.7мкф 400в
А здесь нужен один


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Мелкие вопросы
СообщениеДобавлено: 03 июл 2018, 11:19 
Заглядывает иногда

Зарегистрирован: 20 апр 2017, 09:13
Сообщения: 121
Откуда: Копейск
приветствую всех !

собрал ЗУ для 18650 АКБ по такой схеме
Изображение
все здорово, работает
захотел подключить выходы CHRG и STDBY к МК и вот тут возникла проблемка
если подключаю к МК через R1 и R2, ну т.е. STDBY->R1->PC0 и CHRG->R2->PC1 то состояние SYDBY и CHRG МК прекрасно ловит (PC0 и PC1 вход с подтяжкой), а вот если оставляю светодиоды как на схеме и ноги МК подключаю между резисторами и светодиодами то все становится плохо (на SYDBY и CHRG присутствует ~2.6v)

я понимаю что светодиоды состояния можно и с МК вывести но хотелось-бы чтоб и на ЗУ светодиоды сигнализировали о его состоянии и МК тоже об этом знал
подскажите если не трудно как этого добиться ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Мелкие вопросы
СообщениеДобавлено: 03 июл 2018, 11:43 
Старожил

Зарегистрирован: 20 мар 2013, 11:27
Сообщения: 5137
Подключайте МК напрямую к выходам tp4056


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Мелкие вопросы
СообщениеДобавлено: 03 июл 2018, 12:24 
Заглядывает иногда

Зарегистрирован: 20 апр 2017, 09:13
Сообщения: 121
Откуда: Копейск
axill писал(а):
Подключайте МК напрямую к выходам tp4056

спасибо !

промерял сейчас напряжение на 6,7 ногах tp4056
3.6в и 1в при зарядке и 0.9в и 3.2в по её окончании
доберусь до паяльника проверю в железе


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Мелкие вопросы
СообщениеДобавлено: 04 июл 2018, 10:31 
Старожил

Зарегистрирован: 20 мар 2013, 11:27
Сообщения: 5137
Кто нибудь знаком с MT7201?

Какое макс напряжение на входе?
Здесь сказано 30в http://magearu.ro/Ftp/Datasheet_1/MT720 ... 1.1_EN.pdf
Здесь сказано 50в http://www.maxictech.com/uploads/soft/2 ... 160102.pdf


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Мелкие вопросы
СообщениеДобавлено: 04 июл 2018, 11:01 
Старожил
Аватара пользователя

Зарегистрирован: 06 авг 2014, 22:46
Сообщения: 307
axill писал(а):
Кто нибудь знаком с MT7201?

Какое макс напряжение на входе?
Здесь сказано 30в http://magearu.ro/Ftp/Datasheet_1/MT720 ... 1.1_EN.pdf
Здесь сказано 50в http://www.maxictech.com/uploads/soft/2 ... 160102.pdf


Ну какбэ микрухи разные))))

MT7201 - 7...30в
MT7201С+ - 6...60в


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Мелкие вопросы
СообщениеДобавлено: 04 июл 2018, 17:32 
Старожил

Зарегистрирован: 20 мар 2013, 11:27
Сообщения: 5137
типа разные только я не нахожу разницы в маркировке чипа
MT7201С+ маркирутся как MT7201
что и вызвало вопрос


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Мелкие вопросы
СообщениеДобавлено: 04 июл 2018, 18:30 
Старожил
Аватара пользователя

Зарегистрирован: 06 авг 2014, 22:46
Сообщения: 307
axill писал(а):
типа разные только я не нахожу разницы в маркировке чипа
MT7201С+ маркирутся как MT7201
что и вызвало вопрос

Ну если верить ДШ то при маркировке MT7201С+ во 2 строке быть должно С1 в шифре продукта (XXXXC1).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Мелкие вопросы
СообщениеДобавлено: 07 июл 2018, 00:10 
Заглядывает иногда

Зарегистрирован: 16 мар 2015, 19:22
Сообщения: 100
Подскажите, плз, как лучше в С "флагами махать"?

Раньше я для каждого флага делал отдельную переменную и присваивал ей 1 или 0, в зависимости от ситуации, когда надо проверял ну и т.д...
Сейчас мне кажется, что целую переменную для этого тратить - расточительство. Хочу попробовать использовать одну переменную 8 бит и использовать каждый её бит, код, для примера, ниже. Покритикуйте? Адекватно или бред?
С, AtmelStudio, для AVR. Код только суть мысли показать, смысловой нагрузки не несет.

Код:
volatile unsigned char      flag_set_1;

#define FLAG_1_0   0   

#define CASE_1_UP   flag_set_1   |=   (1 << FLAG_1_0)
#define CASE_1_DN   flag_set_1   &=  ~(1 << FLAG_1_0)
#define CASE_1_CH   ((flag_set_1 && (1 << FLAG_1_0)) >> FLAG_1_0)

while (1)
   {
      if (CASE_1_CH)   
         {   CASE_1_DN;   }
      else         
         {   CASE_1_UP;   }
   }


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Мелкие вопросы
СообщениеДобавлено: 07 июл 2018, 00:21 
Старожил

Зарегистрирован: 20 мар 2013, 11:27
Сообщения: 5137
Zuley если флаги взаимоисключающие то это я называю "статус" и под него объявляю typedef enum в котором перечисляю все возможные состояния
дальше объявляю нужное число переменных (иногда нужно хранить предыдущее значение статуса, чтобы ловить переходы) этого типа
и уже их отрабатываю в switch
плюс тут в компактности, читаемости и заодно компилятор в atmel studio генерит форнинги если мы попытались использовать не описанное значение статуса или забыли перечислить все значения


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Мелкие вопросы
СообщениеДобавлено: 07 июл 2018, 00:55 
Заглядывает иногда

Зарегистрирован: 16 мар 2015, 19:22
Сообщения: 100
Axill, спасибо, интересно. Но сам я этого не умею. Есть возможность код показать?
У меня сейчас флаги не ислючающие друг-друга, каждый сам.

А по моему подходу негатива нет? Просто я его понимаю и если ок, то применю его


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Мелкие вопросы
СообщениеДобавлено: 07 июл 2018, 02:22 
Старожил

Зарегистрирован: 10 окт 2014, 00:48
Сообщения: 5111
На поддержку битовых операций уйдет прорва кода. Не стоит оно такой экономии. ))


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Мелкие вопросы
СообщениеДобавлено: 07 июл 2018, 08:56 
Старожил
Аватара пользователя

Зарегистрирован: 22 июл 2017, 11:48
Сообщения: 2450
Zuley писал(а):
Подскажите, плз, как лучше в С "флагами махать"?

А можно еще и так:
Код:
typedef struct{
    uint8_t flag1  :1;
    uint8_t flag2  :1;
    uint8_t flag3  :1;
    uint8_t flag4  :1;
    uint8_t flag5  :1;
    uint8_t flag6  :1;
    uint8_t flag7  :1;
    uint8_t flag8  :1;
}flags_t;

int main(void)
{
   flags_t status;
   
   status.flag1 = 1;
   status.flag2 = 0;
   
   if(status.flag1) {
      
   }
   if(status.flag2) {
      
   }
}


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Мелкие вопросы
СообщениеДобавлено: 07 июл 2018, 10:35 
Старожил
Аватара пользователя

Зарегистрирован: 28 дек 2011, 11:24
Сообщения: 3765
Откуда: г. Липецк
u37 писал(а):
На поддержку битовых операций уйдет прорва кода. Не стоит оно такой экономии. ))

Ошибочное представление, система команд AVR включает достаточно битовых операторов. Пример флагового автомата на ассемблере - "Среднечастотный частотомер на AVR. Часть 1, динамическая индикация."
Другое дело, если переписать тот же код на С, размер кода неизбежно вырастет в 2 раза, а то и более. Неизвестно как он оптимизируется.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Мелкие вопросы
СообщениеДобавлено: 07 июл 2018, 13:41 
Старожил

Зарегистрирован: 08 авг 2013, 09:43
Сообщения: 1186
BusMaster писал(а):
Zuley писал(а):
Подскажите, плз, как лучше в С "флагами махать"?

А можно еще и так:
Код:
typedef struct{
    uint8_t flag1  :1;
    uint8_t flag2  :1;
    uint8_t flag3  :1;
    uint8_t flag4  :1;
    uint8_t flag5  :1;
    uint8_t flag6  :1;
    uint8_t flag7  :1;
    uint8_t flag8  :1;
}flags_t;


Поддерживаю вариант с битовыми полями. Он имхо более удобен к использованию, к тому же позволяет любое кол-во бит выделить на переменную. К примеру вам нужен счетчик до 50 и 2 булевых флага:
Код:
typedef struct {
    uint8_t counter  :6;
    bool flag1  :1;
    bool flag2  :1;
} flags_t;

flags_t flags;

int main() {
    flags.counter = 0;
    while (flags.counter < 50) {
        flags.counter++;
        if (flags.counter >= 10)
            flags.flag1 = true;
        if (flags.counter >= 30)
            flags.flag2 = true;
    }
    flags.counter = 0;
}


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Мелкие вопросы
СообщениеДобавлено: 07 июл 2018, 14:09 
Старожил

Зарегистрирован: 20 мар 2013, 11:27
Сообщения: 5137
битовые поля хороши когда нам нужно именно упаковать данные
чаще всего когда речь идет или об интерфейсах передачи где общая длина пакета критична или если речь о больших массивах где экономия существенна

но если речь про одну статусную переменную.... то это как покупать экскаватор для того чтобы выкопать одну маленькую лунку
даст экономию пару байт памяти, но сожрет при этом сотню другую байт флэш
смысл может быть только академический типа "я умею и так"
практический смысл в минусе
ИМХО

тем более когда речь о статусе, т.е. о взаимоисключающих флагах
там enum единственно оптимальное решение


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Мелкие вопросы
СообщениеДобавлено: 07 июл 2018, 14:49 
Старожил

Зарегистрирован: 08 авг 2013, 09:43
Сообщения: 1186
Да ну, откуда там "сотня другая байт флэш"??? Во всяком случае когда 1 битные значения в полях стоят вообще никаких накладных расходов нет. Как уже сказали, на большинстве процов есть инструкции для установки и снятия одного бита. Посмотрите асм листинг вывода как компилятор работает с такими структурами.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Мелкие вопросы
СообщениеДобавлено: 07 июл 2018, 15:12 
Старожил

Зарегистрирован: 20 мар 2013, 11:27
Сообщения: 5137
NStorm писал(а):
Да ну, откуда там "сотня другая байт флэш"??? Во всяком случае когда 1 битные значения в полях стоят вообще никаких накладных расходов нет. Как уже сказали, на большинстве процов есть инструкции для установки и снятия одного бита. Посмотрите асм листинг вывода как компилятор работает с такими структурами.


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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Мелкие вопросы
СообщениеДобавлено: 07 июл 2018, 15:45 
Заглядывает иногда

Зарегистрирован: 16 мар 2015, 19:22
Сообщения: 100
axill писал(а):
битовые поля хороши когда нам нужно именно упаковать данные
чаще всего когда речь идет или об интерфейсах передачи где общая длина пакета критична или если речь о больших массивах где экономия существенна

но если речь про одну статусную переменную.... то это как покупать экскаватор для того чтобы выкопать одну маленькую лунку
даст экономию пару байт памяти, но сожрет при этом сотню другую байт флэш
смысл может быть только академический типа "я умею и так"
практический смысл в минусе
ИМХО

тем более когда речь о статусе, т.е. о взаимоисключающих флагах
там enum единственно оптимальное решение


Я одну статусную переменную для примера нарисовал. А так у меня их получается больше - штук 7-8, поэтому и задумался, что это может быть не здорово.
То есть получается экскаватор должен не одну, а 7-8 ямок выкопать :)

Спасибо всем за участие! Просветился :)
Попробую освоить предложенный подход.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Мелкие вопросы
СообщениеДобавлено: 08 июл 2018, 01:46 
Заглядывает иногда

Зарегистрирован: 16 мар 2015, 19:22
Сообщения: 100
Помогите в UART вывести значение переменной?
Казалось бы простая задача, много примеров нашел, но не полетело... Везде встречаю функцию printf, но у меня она ничего не выдает.
AtmelStudio, Atmega88, C
ADC и UART работают (выдезал их инициализацию, что бы компактнее было)

Вот этот код выдает только "world":
Код:
#include   <avr/io.h>
#include   <util/delay.h>
#include   <stdio.h>
      while(1)
      {
         adc_value = read_adc(5);
         printf("\r Hello");
         UART_send_st("\r world");
         printf("\r ADC = %4u", adc_value);
         
      }


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 18979 ]  На страницу Пред.  1 ... 725, 726, 727, 728, 729, 730, 731 ... 760  След.

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: Cthulhu


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB