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

rav38

Участник
  • Публикаций

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

  • Посещение

Репутация

0 Обычный

Информация о rav38

  • Звание
    Участник
  • День рождения 06.08.1986

Контакты

  • Сайт
    http://

Информация

  • Город
    Москва

Старые поля

  • skype
    avrskype151
  1. Добрый день! Требуется сделать преобразователь напряжения из сетевого 220VAC на три выхода: 1) 36В - 200мА (должно быть максимально точно) 2) 24В - 500мА 3) 5В - 200мА (минимальные требования по точности - будет стоять LDO для питания цифровой части схемы) Мысли вслух. Преобразователь на TNY280, обратная связь с выхода 36В. Трансформатор рассчитывается и мотается со всеми экранирующими обмотками по софтине PowerInt. Какими путями можно уменьшить взаимное влияние токов по трем выходам? Был совет сделать стабилизацию среднего напряжения между 24В и 36В - в цепи обратной связи с двух каналов по резистору и один общий резистор на землю. Подскажите еще пути решения и какие грабли следует учесть?
  2. UP Кроме поиска разовых работ, готов принять участие в разработке перспективных тем и проектов (в том числе первичная проработка идей) в составе команды. Регион не приниципиален. Возможность релокации рассматривается.
  3. stm32f407 + uSD (SDIO) + FAT

    Цитата(Ruslan1 @ Jan 8 2017, 17:24) Форматирование- это самая сложная из возможных функций и, по-моему, самая редко применяемая. То есть мало кто использует и еще меньше кто расскажет о глюках если они не у каждого встречаются. Начните с простого 0. Чтение служебной информации диска и файла 1. Чтение из файла 2. Создание файла 3. Добавление в файл 4. Удаление файла (1-4) в произвольном порядке, несколько раз, ну скажем раз сто. Работает стабильно? Теперь переходите к форматированию. Для того чтобы понять что не так, советую поставить программу, которая показывает сектора и прочее, сырые данные диска, и стандартные структуры тоже. Мне WinHex нравится. Огромное спасибо! Вопрос решился. Посыпаю голову пеплом. Была ошибка в портировании библиотек в части определения размера карточки. Карточка считывалась верно, но была лишняя локальная переменная в SD_ioctl, из которой подставлялось мусорное значение емкости карты. В любом случае было даже полезно - изучил досконально интерфейс и библиотеки)))
  4. stm32f407 + uSD (SDIO) + FAT

    Прикрутил, Новый год, новая библиотека - форматирование старое кривое. Код проходит вроде без ошибок, но карта виндой по-прежнему не читается. Форум смотрел, вроде все настройки DMA и SDIO вроде учел и надо ковырять файл stm32f4xx_hal_sd.c Отсюда вопрос - ни у кого нет исправленной библиотеки или хотя бы подсказки что править?
  5. stm32f407 + uSD (SDIO) + FAT

    Продолжил возьню с картой. Перевел обмен на DMA, вылет по флагу исчез. Программа вроде бы как полностью отрабатывает - форматирует, записывает строку на карту, что-то там считывает и говорит ОК. На это хорошее заканчивается, начинается интересное При проверки карты виндой требуется форматирование. Если карту вставить сразу форматированной и писать на нее строку все норм. Под отладчиком обратил внимание на особенность с количеством блоков, записываемых функцией mkfs. Их количество неуклонно растет, хотя вроде бы должно быть постоянным. Сейчас уже порядка 360 000, хотя при первых попытках было меньше 200 000. Сам процесс форматирования идет минут 20. Скачал библиотеку от Чена, буду ее прикручивать.
  6. stm32f407 + uSD (SDIO) + FAT

    Здравствуйте все! Осваиваю работу stm32f4 с uSD, используя STM32F4-DISCOVERY (stm32f407vgt6) + плата STM32F4DIS-BB Проект собрал, взяв библиотеки из STM32Cube_FW_F4_V1.14.0 и оттуда же из примеров вытащил библиотеки FatFs. Используется работа в полинге. Из примеров оставил main, где сначала форматируется карта, а потом идет запись текстового файла. В процессе форматирования на n-ном блоке происходит вылет по флагу SDIO_FLAG_TXUNDERR. Если поставить паузы между блоками по 1 мс, вылетов нет, но после завершения работы программы карта при подключении к винде требует форматирования. Если убрать вызов ф-ции f_mkfs на уже отформатированной карте успешно создается текстовый файл. Добавил проверку флага ReadyForData перед каждой записью блока (не нашел к ф-циях HAL такого) -ситуация не изменилась. Выкинул FreeRTOS, оставил только инициализацию контроллера, проблема осталась. В настройках SDIO: SDIO_CLOCK_BYPASS_DISABLE SDIO_HARDWARE_FLOW_CONTROL_DISABLE Что не так делаю?
  7. RESET ADuC836 и WSD

    Проблема была в монтаже периферии на портах последовательного порта. Смутила непривычная работа схемы сброса.
  8. RESET ADuC836 и WSD

    Здравствуйте все! Задача стояла переработать существующее устройство на ADuC836 в другой корпус не меняя схемы и прошивки. Схема на словах (обе платы одинаково): PSEN через 1к подключается к нулю через разъем программатора - перемычка в разъеме. RESET подтянут к нулю через 20к и стоит конденсатор 2,2мкф между RESET и +5В Логика работы: подключил программатор, включил питание При подключении к WSD микросхема не определяется на новой плате, но благополучно определяется на старой без всяких проблем и шаманства. На новой схеме если пинцетом хаотично закорачивать +5В и RESET и при этом подключаться через WSD ADuC периодически определяется. если просто замкнуть и разомкнуть RESET при PSEN подтянутым к 0 - не определяется. Как вообще оно должно быть? Каким образом микросхема сбрасывается? я понимаю что микросхеме для сброса нужен высокий уровень на RESET (рабочий низкий)
  9. Клон PicKIT3 и PIC16F690

    Внутренний генератор используется, верно. Ножки тоже чет там делают как выходы в схеме, сейчас их не использую в своем коде. А то что было зашито -там вполне могло использоваться. Почти написал требуемое приложение, проблемы вроде не возникало. Посмотрим как дальше. Тем более что пока работаю с одной платой, а их несколько десятков спаяно. Если буду перерабатывать железку всерьез, учту замечания.
  10. Клон PicKIT3 и PIC16F690

    В общем странно все это, но тем не менее. После того как обнулил микросхему Тритоном, проблема ушла. Накидал тестовую моргалку светодиодом, успешно записал и успешно стер своим программатором. Вот запустить дебагер не смог, но это и не особо нужно, приложение небольшое. Более чем уверен что старая программа стояла с защитными фьюзами, но мешало ли это стиранию с помощью PicKitа хз. Я озадачен, но в общем-то надеюсь что проблема решена.
  11. Клон PicKIT3 и PIC16F690

    про конденсатор на vdd странно. стоит танталовый рядом с керамикой.
  12. Клон PicKIT3 и PIC16F690

    Тритон стирает и программирует. Обнулил проц, буду завтра своим пробовать шить Цитата(Ruslan1 @ Dec 15 2016, 14:44) C PICkit-3 раньше большой напечатанный плакат поставлялся (не знаю как сейчас) на тему "что можно и что нельзя делать с ногами если нужно сохранить внутрисхемное программирование на плате", наверняка где-то на сайте майкрочипа рядом с описанием программатора лежит этот файл. Правил немного, но они все важные. Если разработчики платы что-то недосмотрели, то запросто может быть проблема из-за этого Оно?
  13. Клон PicKIT3 и PIC16F690

    Висит там всякое, есть такое. Одолжу сейчас тритон, попробую им стереть. Vpp есть на плате, сигналы доходят. Опять процессор определяется.
  14. Клон PicKIT3 и PIC16F690

    Здравствуйте все! Имею чужую железку (чем шилась и когда неизвестно, исходников и зашитых конфигов нет, тактирование от внутреннего генератора). Потребовалось переделать. В качестве программатора используется клон PicKIT3 от Olimex и последний MPLAB X. Собственно суть в заголовке. Микросхема определяется, но при попытке перезаписи выдает ошибку. При попытке стереть старая программа точно сохраняется (в MPLAB сообщение, что стирание прошло успешно). Aplly Vpp before Vdd или Vdd before Vpp не меняет дела. Питание и от внешнего источника 3,3В и от программатора - эффект тот же. Куда копать? У себя конфиги ставлю такие: #pragma config FOSC = INTRCIO // Oscillator Selection bits (INTOSCIO oscillator: I/O function on RA4/OSC2/CLKOUT pin, I/O function on RA5/OSC1/CLKIN) #pragma config WDTE = OFF // Watchdog Timer Enable bit (WDT disabled and can be enabled by SWDTEN bit of the WDTCON register) #pragma config PWRTE = ON // Power-up Timer Enable bit (PWRT enabled) #pragma config MCLRE = OFF // MCLR Pin Function Select bit (MCLR pin function is digital input, MCLR internally tied to VDD) #pragma config CP = OFF // Code Protection bit (Program memory code protection is disabled) #pragma config CPD = OFF // Data Code Protection bit (Data memory code protection is disabled) #pragma config BOREN = ON // Brown-out Reset Selection bits (BOR enabled) #pragma config IESO = OFF // Internal External Switchover bit (Internal External Switchover mode is disabled) #pragma config FCMEN = OFF // Fail-Safe Clock Monitor Enabled bit (Fail-Safe Clock Monitor is disabled
  15. Здравствуйте! Попробовал применить решение, основанное на АЦП от TI ADS131E04. http://www.ti.com/product/ADS131E04 Выбор обусловлен достойными характеристиками и относительно невысокой ценой. В итоге поимел непонятные проблемы с зависанием АЦП. Либо пропадает сигнал готовности данных DRDY, либо считываю непонятные цифры, пропадает опорное напряжение. Создал ветку на форуме e2e.ti https://e2e.ti.com/support/data_converters/...s/f/73/t/524589 Указали на недочеты по питанию - с опорным вопрос кажется отпал. Попробовал постоянно аппаратно сбрасывать АЦП после каждой серии измерений, так как первое измерение проходит корректно. Логика сейчас такая: Если удалось считать данные 16 раз подряд (не пропал сигнал DRDY) и слово STATUS не равно нулю (первые 4 бита 1100 - не всегда так бывает даже если данные верны), выдаю данные наверх. После RESET микросхемы и перенастройка АЦП - все в кучу 10 мс. Такая цепочка может не проходить в течение нескольких секунд. Если и проходит - примерно каждая 10 серия измерений с непонятными цифрами. Стабилизация параметров, исправление разводки земли и различные танцы с бубном ничего не меняет. Грешу впервую очередь на кривизну своей платы и кода, но вдруг все же для этой микросхемы критично необходим внешний генератор тактовой частоты или источник опорного напряжения, а не внутренние. Или еще нюансы.... Пока понял, что однозначно лучше было команду использовать START аппаратнно, но не особо критично. Относительно схемы во вложении - оптрон DRDY изменён на другой. У того что в схеме не хватает быстродействия. Если у кого-то есть опыт применения АЦП серии ADS131 прошу поделиться рабочей конфигурацией этого АЦП. Пока не понимаю в какую сторону двигаться с переделками и в чем ошибка.