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

STM32F103 не пишет в TIM4->DIER

1 час назад, MPetrovich сказал:

А что, если нижние диоды подпереть смещением на те же 0,6В, т.е. подставить под них еще один такой же диод в прямом включении. Ну, вроде стабилитрона наоборот - Vcc->R=1k-> DIODE->GND  и параллельно диоду емкость 2...10мкФ.

Вполне рабочее решение, применял когда-то такое, когда еще аналоговый коммутатор был внешний и диоды шоттки были в дефиците.
Вам такой вариант не предлагал, решил не грузить лишней информацией :smile:

Поделиться сообщением


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

5 hours ago, haker_fox said:

Не забывайте про антиалиасинговый фильтр перед АЦП, который обязателен.

А для чего он всегда обязателен?

Поделиться сообщением


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

1 час назад, Aleksandr Baranov сказал:

А для чего он всегда обязателен?

Чтобы не было переноса высокочастотного спектра в низкочастотный, читать Алиасинг

Часто проявляется в звуковом сигнале "бульканьем" - это недодавленные высокочастотные составляющие чуть выше частоты Fdiscr/2 были перенесены в начало основного спектра и получились паразитные низкочастотные колебания.

Поделиться сообщением


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

1 hour ago, HardEgor said:

Чтобы не было переноса высокочастотного спектра в низкочастотный, читать Алиасинг

Часто проявляется в звуковом сигнале "бульканьем" - это недодавленные высокочастотные составляющие чуть выше частоты Fdiscr/2 были перенесены в начало основного спектра и получились паразитные низкочастотные колебания.

Ну, это понятно. Зачем нужен этот фильтр всегда?  Насколько я понял, ТС не собирается восстанавливать непрерывный сигнал из дискретных выборок.

Поделиться сообщением


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

18 минут назад, Aleksandr Baranov сказал:

Ну, это понятно. Зачем нужен этот фильтр всегда?  Насколько я понял, ТС не собирается восстанавливать непрерывный сигнал из дискретных выборок.

И как он будет ловить ноль, если там накладывается помеха низкочастотная?

Поделиться сообщением


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

20 minutes ago, HardEgor said:

И как он будет ловить ноль, если там накладывается помеха низкочастотная?

Ну, что ж - видимо, я не понял замыслов. Пардон.

Поделиться сообщением


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

1 час назад, Aleksandr Baranov сказал:

Ну, что ж - видимо, я не понял замыслов. Пардон.

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

Поделиться сообщением


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

5 hours ago, Aleksandr Baranov said:

ТС не собирается восстанавливать непрерывный сигнал из дискретных выборок

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

Поделиться сообщением


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

Хочу высказаться по поводу библиотеки SPL. Накипело, ей богу! Это ж надо было насочинять таких ребусов! Ну ни фига невозможно отыскать без геморроя. Я задолбался разбираться в хитросплетениях инициализации RCC. И главное, ну зачем такая карусель, если за всё отвечает ОДИН регистр RCC->CFGR?

Короче, плюнул я на эту библиотеку, считал регистр напрямую и вывел в терминал. Результат: 0x001D040A. 

Меня интересовала прежде всего частота тактирования АЦП и по вышеуказанному состоянию регистра конфигурации, она равна 36МГц. Как то много получается, а?

Поделиться сообщением


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

2 часа назад, MPetrovich сказал:

Хочу высказаться по поводу библиотеки SPL. Накипело, ей богу! Это ж надо было насочинять таких ребусов! Ну ни фига невозможно отыскать без геморроя. Я задолбался разбираться в хитросплетениях инициализации RCC. И главное, ну зачем такая карусель, если за всё отвечает ОДИН регистр RCC->CFGR?

Короче, плюнул я на эту библиотеку, считал регистр напрямую и вывел в терминал. Результат: 0x001D040A. 

Меня интересовала прежде всего частота тактирования АЦП и по вышеуказанному состоянию регистра конфигурации, она равна 36МГц. Как то много получается, а?

Я тут могу припомнить вам ваши же слова из этой темы:
 

В 22.04.2020 в 14:31, MPetrovich сказал:

Если уж совсем станет тошно и не смогу заставить АЦП нормально работать, то поставлю внешние компараторы. Но это не путь джедая.

На мой взгляд, джедаю вообще положено программировать на ассемблере карандашом на бумажке :dirol: (Кстати, я с этого начинал, только это был не АРМ, а советский Intel 8080 :smile: )

А теперь я предпочитаю пути полегче, о них уже упоминал:
1. Что мне в CubeMX сразу понравилось (кроме распределения пинов), то это графическая конфигурация системы тактирования. Все сразу видно, наглядно и говорит что нельзя делать. И не нужно рыться в десятках битов.
2. Отладчик-дебаггер. Если уж нужно посмотреть что в регистрах, то просто взял и посмотрел в реальном запущенном МК тот-же RCC->CFGR и не только в виде 0x001D040A, но и каждое поле с его именем по паспорту в отдельности. Да и еще и поменять можно на ходу любой бит.

И не нужно даже быть джедаем.
А АЦП по паспорту работает нормально только до 14 МГц, это да...

Поделиться сообщением


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

15 minutes ago, Baser said:

Я тут могу припомнить вам ваши же слова из этой темы:
 

On 4/22/2020 at 2:31 PM, MPetrovich said:

Если уж совсем станет тошно и не смогу заставить АЦП нормально работать, то поставлю внешние компараторы. Но это не путь джедая.

А Вы, однако, язва))) 

 

15 minutes ago, Baser said:

А АЦП по паспорту работает нормально только до 14 МГц, это да...

Да уж. Однако, несмотря на всё вышеизложенное, АЦП довольно точно считывает значение питающего напряжения(порядка 12В) до стабилизатора. До десятков милливольт совпадает - проверял цифровым тестером MASTECH. Значение питающего напряжения в милливольтах вывожу в терминал в начале работы контроллера.

Изменено пользователем MPetrovich
дополнение

Поделиться сообщением


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

7 hours ago, MPetrovich said:

Хочу высказаться по поводу библиотеки SPL. Накипело, ей богу!

А зачем вы её используете? Кто мешает взять и прочитать необходимые документы, и не парится с левыми библиотеками?

4 hours ago, MPetrovich said:

проверял цифровым тестером MASTECH.

Поверенным? Не забывайте, что у цифрового мультмитра есть погрешность.

Поделиться сообщением


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

12 часов назад, MPetrovich сказал:

А Вы, однако, язва))

Да ладно вам, все же правда! Не обижайтесь, ибо во первых я сам Петрович, а во вторых когда-то тоже был таким же джедаем, который не искал легких путей. Этот путь хорош тем, что позволяет напороться на максимальное количество граблей и получить необходимый опыт. :smile:

12 часов назад, MPetrovich сказал:

Да уж. Однако, несмотря на всё вышеизложенное, АЦП довольно точно считывает значение питающего напряжения(порядка 12В) до стабилизатора. До десятков милливольт совпадает - проверял цифровым тестером MASTECH. Значение питающего напряжения в милливольтах вывожу в терминал в начале работы контроллера.

АЦП вполне может работать на частотах выше заявленных производителем. Но не обязан. Поэтому в профессиональных разработках такое не делают.
Измерения стабильного напр. и быстроменяющегося могут проходить по разному.
Могут быть разные настройки времени выборки разных каналов - какие они у вас, нам неизвестно.
Напр.питание шунтировано большими емкостями - имеет низкое выходное сопротивление.
Как идет сигнал с обмоток - нам тоже неизвестно. Вход АЦП имеет импульсную нагрузку из-за УВХ, поэтому при малом времени выборки на емкость УВХ может попадать только эта начальная "шпилька" и мерять АЦП будет неизвестно что.

Поделиться сообщением


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

16 minutes ago, Baser said:

Как идет сигнал с обмоток - нам тоже неизвестно.

Напрямую идет на вход АЦП. Только снимается он во время, когда обмотка не запитана - на 3-х фазном BLDC две обмотки всегда подключены, а одна "плавает". Вот с плавающей обмотки и снимается напряжение обратной ЭДС на АЦП.

Форма сигнала ожидается вот такая:

blob.thumb.png.b6483e950cae3cffdb1312daa9960769.png

23 minutes ago, Baser said:

Вход АЦП имеет импульсную нагрузку из-за УВХ

А что есть УВХ?

Я, кстати понизил частоту тактирования АЦП до 12МГц

RCC->CFGR |= (1<<15);//ADCPRE=10: PCLK2 divided by 6; ADCCLK=72/6=12MHz

Поделиться сообщением


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

30 минут назад, MPetrovich сказал:

А что есть УВХ?

Устройство выборки и хранения - sample and hold circuit
 

30 минут назад, MPetrovich сказал:

Напрямую идет на вход АЦП.

100к поменяли?
RC фильтр на входе прикинули, чтобы он успевал следовать за напр.обмоток, но фильтровал помехи и снижал выходное сопротивление источника при коммутации УВХ ?
Параметры настройки выборки АЦП проверили? Чтобы за время выборки емкость УВХ успевала зарядиться.

з.ы. а по методике управления BLDC - не помогу. Никогда их не крутил :pardon:

Поделиться сообщением


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

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

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

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

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

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