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

electrotehnik

Участник
  • Постов

    30
  • Зарегистрирован

  • Посещение

Весь контент electrotehnik


  1. подскажите как надо разводить, основные нюансы, на которые стоит обратить внимание в этой схеме
  2. Разводка не дорожками, а толстыми участками, близко к Appnote. Единственно, что обнаружил ошибку в зеркальности футпринтов на транзисторах, попробовал на весу подключить его короткими тонкими проводниками. Но единственное, что произошло, так это - LM3150 начала нагреваться. Есть ли какие-либо комментарии на этот счет?
  3. диод как в EVM установили, контроллер как-будто сделал один импульс, который зарядил выходной конденсатор, конденсатор держал зярад до подключения нагрузки.
  4. Всем привет подскажите, пожалуйста, что еще проверить? Не запускается LM3150: - питание на микросхеме есть - ключи живы - обвязка как по схеме от производителя Вывод о том, что микросхема не заводится, делаю по тому, что отсутствуют управляющие сигналы на ключах. Пробовал менять микросхему - эффект одинаковый. Схемы моя и от TI во вложении. webench_design_6V_10A.pdf
  5. А, ну вообще да, согласен. Конечно, все правильно. Пока опытный образец - для проверки концепции, поэтому это не принимал во внимание еще.
  6. Питание устройства предполагается от свинцового АКБ 12В. 14.4В - номинальное значение автомобильного генератора, чтобы возможность такого подключения была предусмотрена. Потребителю требуется 7.2В, значение представляет собой половину входного напряжения - это просто совпадение. По совету Ydaloj сейчас смотрю в сторону синхронных понижающих стабилизаторов, у них, я так понял КПД выше, и схемы такого типа более распространены там, где токи порядка от 10 Ампер и больше. Сам производитель не показывает в даташите примера более 6А на 2,5В, при этом замечает, что такой ток уже достаточно сложно реализовать. Как считаете, вообще имеет смысл вытягивать из MAX1627 10А?
  7. а как же торы из материала, обеспечивающим распределенный зазор? Речь идет о заказе пробного образца? Какую микросхему вы бы посоветовали?
  8. Краткое описание преобразователя: Стабилизатор на базе MAX1627 Vin=14.4 V (max) Vout=7.2 V Iout = 10 A (max) f=300kHz По рекомендации производителя Maxim сердечник дросселя должен быть ферритовый. Порошковое железо не рекомендуется. В даташите на MAX1627, который приложен к этому посту, представлена методика расчета подходящей индуктивности. По моим расчетам, мне нужен дроссель, способный выдержать Ipeak=16.1A, и имеющий индуктивность Lmin=2microH. Нашел подходящие дроссели заводского исполнения фирмы CoilCraft SER2009-202ML, однако найти в продаже их очень сложно. Гораздо проще и дешевле собрать дроссель самостоятельно на ферритах Epcos - бюджетно и легкодоступно. Прочитал уже кучу статей, посмотрел несколько программ, но понял, что начинаю запутываться в этом многообразии информации. В связи с этим прошу наставить меня на путь истинный. Сейчас у меня три вопроса: Какой конструкции дроссель выбрать: хотелось бы тор, но витков под такую индуктивность совсем мало, похоже тор по всей окружности не заполнить? Как правильно посчитать сечение провода для Ipeak? На какие параметры обращать внимание при выборе материала сердечника? Мю - чем больше, тем лучше? max1626_max1627.pdf
  9. Подскажите, пожалуйста, как узнать текущую частоту тактирования проца (где прочитать)? Вывод MCO конфигурировать не вариант, так как осциллограф максимум воспримет 30 МГц. Используются настройки SPL по умолчанию. Везде в статьях по STM32 пишут, что по умолчанию на шине APB1 тактовая частота 24МГц. Но мне удалось получить длину импульсов 1 секунда только когда поставил следующие значения в инициализации: void InitTimer(void) { TIM_TimeBaseInitTypeDef base_timer; TIM_TimeBaseStructInit(&base_timer); RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM6, ENABLE); base_timer.TIM_Prescaler = 36000 - 1; base_timer.TIM_Period = 2000; TIM_TimeBaseInit(TIM6, &base_timer); TIM_ITConfig(TIM6, TIM_IT_Update, ENABLE); TIM_Cmd(TIM6, ENABLE); NVIC_EnableIRQ(TIM6_DAC1_IRQn); }
  10. Попробовал Cube - все заработало, схема значит рабочая. Но Cube использует HAL драйверы. Я же привык кодить на Standart Peripherial Library (SPL), судя по тому, что код рабочий, затык у меня в недоподключенной библиотеке SPL. Дерево файлов моего проекта (кроме всех файлов в папке MDS-ARM) можно посмотреть во вложении к этому посту. По непонятным для меня причинам код из первого поста заработал сам собой. По осциллографу заметил, что код-то заработал, да не на той частоте, на какой нужно. При этом работает только если подключать программатор SWD. Если подавать питание без подключенного программатора, то проц не исполняет код вообще. Сдается мне в тактировании проблема. CortexM4_F37x.zip
  11. Cube громоздкая тема. Но ради проверки работоспособности схемы попробовать можно..
  12. Смотрел example на STM32F37x - там нет отличий по инициализации портов, все как Cortex-M4. Вообще уже не знаю что делать. Может кварцевый резонатор ерундить, если операции с чтением и записью прошивки проходят всегда успешно?
  13. STM32F373 GPIO

    Добрый день Не работают GPIO. Все перепроверил, использую CMSIS и Standart Peripherial Library, вот код: #include "stm32f37x.h" #include "stm32f37x_gpio.h" void InitPort(void) { GPIO_InitTypeDef GPIO_InitStructure; /* Разрешить тактирование GPIOx */ RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOB, ENABLE); /* Конфигурирование ножки PB7, туда подключен светодиод */ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; GPIO_Init(GPIOB, &GPIO_InitStructure); return; } int main(void) { InitPort(); GPIO_SetBits(GPIOB, GPIO_Pin_7); //светодиод горит while (1) { } } Может чего-то не хватает? Подскажите, ткните пальцем пожалуйста. На других MCU Cortex-M4 такой код работает... вот и думаю, может проц запитал не до конца, но он ведь видится, прошивка льется и читается ST-Link. Программирую в Keil.
  14. В моем случае речь может идти об ACS716, так как на плате низковольтная цепь с напряжением 3,3В. А это уже SOIC16 корпус и ценник от 700 руб/шт, с временем поставки от 20 дней. Если по другому никак, то, конечно, вполне рабочий вариант. Кто-нибудь может посоветовать ОУ с высоким синфазным напряжением (350-500 В) или с гальванически развязанными входами? Стоит ли городить ОУ на транзисторах, способных держать такое напряжение + гальваническую развязку? Здесь уже становятся просто очевидными преимущества микросхем серии ACS7xx...
  15. Токи необходимо ловить от 0,1А до 1,8А. Точность 0,1А. Холловские сенсоры обычно оптимальны для токов на порядок больших, есть, конечно, у них варианты на диапазон до 6А, но боюсь, что дрейф нуля у него будет как раз в пределах 0,1А. Реализация с шунтом кажется на много проще, особенно если бы можно было использовать специализированные усилители под шунты. Или в случае с напряжением моего порядка иначе уже никак?
  16. господа, подскажите, пожалуйста: мне нужно мерить силу постоянного тока в цепи с напряжением от 190 до 500В. Хочу использовать метод с шунтирующим сопротивлением и операционный усилитель (ОУ) (как альтернативу - current sense omplifier), но все они максимум поддерживают напряжение на входе не более 70...100В. Начала приходить мысль использовать делители напряжения между шунтом и ОУ. Подскажите, пожалуйста, как принято поступать в таких случаях?
  17. Спасибо, разобрался! diskio.c переписал по образу и подобию старой версии, при этом поглядывая на diskio.h. Последний - остался без изменений. Остальные файлы тоже просто копируются общим скопом. Так и получается обновление.
  18. Похоже при переходе к новой версии файл diskio.c остается неизменным, так как в нем описываются функции взаимодействия библиотеки с драйвером. Разве что эти функции необходимо поправить для соответствия нововведениям в библиотеке. В поставке с библиотекой этот файл представляет собой лишь пример. Поправьте меня, если я ошибаюсь, или мое предположение не точно.
  19. Добрый день Программирую на отладочной плате HY-MiniSTM32V. Карта памяти подключена по SDIO. Попался мне проект, где версия FatFS 0.08b уже отконфигурирована под работу с SDIO. Но на данный момент уже вышла версия FatFS 0.10b. Обновил аккуратно файлы FatFS, добавил где надо необходимые инклуды, по аналогии с рабочим проектом. Драйвер SDIO в отдельном файле реализован. Однако компилер (Keil4) продолжает ругаться таким образом: ... .\Project_firmware.axf: Error: L6218E: Undefined symbol ATA_disk_initialize (referred from diskio.o). .\Project_firmware.axf: Error: L6218E: Undefined symbol ATA_disk_read (referred from diskio.o). ... .\Project_firmware.axf: Error: L6218E: Undefined symbol USB_disk_initialize (referred from diskio.o). .\Project_firmware.axf: Error: L6218E: Undefined symbol USB_disk_read (referred from diskio.o). ... .\Project_firmware.axf: Error: L6218E: Undefined symbol MMC_disk_initialize (referred from diskio.o). .\Project_firmware.axf: Error: L6218E: Undefined symbol MMC_disk_read (referred from diskio.o). ... .\Project_firmware.axf: Error: L6218E: Undefined symbol get_fattime (referred from ff.o). ... Я собираюсь работать только с SD. Драйвер подключен только для SD и, соответственно, драйверов для ATA и USB у меня нет, поэтому в файле diskio.c сделал так: #include "diskio.h" /* FatFs lower layer API */ //#include "usbdisk.h" /* Example: USB drive control */ //#include "atadrive.h" /* Example: ATA drive control */ //#include "sdcard.h" /* Example: MMC/SDC contorl */ #include "sdio_sd.h" Упомянутые необъявленные символы встречаются почти в каждой функции файла diskio.c. Это что же, эти функции нужно переписывать с учетом отсутствующих драйверов, или искать драйвера? Как сделать правильнее и проще? StudyProject_v2.rar
  20. аргумент функции отправки на дисплей, содержащий текст, должен быть типом uint8_t. а функция: sprintf(tpre,"%5.2f",temp); работает только с типом char. Вот и возникает вопрос как быть в таких случаях. И хоть uint8_t и есть переназванный char typedef unsigned char uint8_t; но все же является уже оригинальным типом данных.
  21. Здравствуйте подскажите начинающему, как конвертировать числовой тип данных в строчный, если типы данных в используемых мной библиотеках объявлены не стандартно. Существует функция вывода текста на экран: typedef unsigned char uint8_t; typedef unsigned short int uint16_t; void GUI_Text(uint16_t Xpos, uint16_t Ypos, uint8_t *str,uint16_t Color, uint16_t bkColor) { uint8_t TempChar; do { TempChar = *str++; PutChar( Xpos, Ypos, TempChar, Color, bkColor ); if( Xpos < MAX_X - 8 ) { Xpos += 8; } else if ( Ypos < MAX_Y - 16 ) { Xpos = 0; Ypos += 16; } else { Xpos = 0; Ypos = 0; } } while ( *str != 0 ); } И есть переменная, значение которой необходимо вывести на экран: float temp; temp = 345/16; Пробовал так: #include "stdlib.h" #include "string.h" float temp; uint8_t tpre; temp = 345/16; sprintf(tpre,"",temp) strcat(tpre, " C"); GUI_Text(10, 10, &tpre,White, Black) Результат отрицательный. Помогите советом, как сделать правильно?
  22. А есть какой-нибудь простенький пример проекта с этой библиотекой на STM32?
  23. Это ведь актуально для подключения LCD к MCU по примеру демоплаты от ST (32F429IDISCOVERY)? А для подключения, имеющегося сейчас у меня на руках, в текущей компиляции библиотеки STemWin режима работы шины данных нет.
×
×
  • Создать...