Например TDA7294

Форум РадиоКот • Просмотр темы - Программирование STM8
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Вт апр 16, 2024 19:57:02

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


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 2488 ]     ... , , , 106, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вс янв 23, 2022 18:36:43 
Нашел транзистор. Понюхал.

Карма: 5
Рейтинг сообщений: 21
Зарегистрирован: Вс апр 17, 2011 09:51:26
Сообщений: 192
Откуда: Тула
Рейтинг сообщения: 0
kvn234, 1. Требуется калибровка из-за наличия ошибки смещения.
2. Нестабильность частоты тактового генератора
3. Слишком высокая частота семплирования
4. Недостаточная пауза для стабилизации перед началом конвертации
Пока хватит?


1. Причем тут ошибка смещения. Проблема в том , что показания скачут, а не имеют ошибку смещения.
2. Поменял контроллер - проблема осталась. Да и USART работает без сбоев (принимаю на комп).
3. Частота RC генератора 16МГц. Затем стоит делитель на 8. Итого 2МГц.
4. Посмотрите мое сообщение. Я привел функции инициализации и чтения по ним видно что частоты минимальные, а задержки максимальные. Я так же в цикл вносил задержки, но положительного эффекта не получил.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Пн янв 24, 2022 09:38:40 
Нашел транзистор. Понюхал.

Карма: 5
Рейтинг сообщений: 21
Зарегистрирован: Вс апр 17, 2011 09:51:26
Сообщений: 192
Откуда: Тула
Рейтинг сообщения: 0
kvn234, 1. Требуется калибровка из-за наличия ошибки смещения.


Если Вы не путаете с STM32, хотелось бы посмотреть на функцию калибровки.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Пн янв 24, 2022 21:25:43 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 41
Рейтинг сообщений: 306
Зарегистрирован: Пт сен 07, 2018 20:20:02
Сообщений: 2296
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
kvn234, Я же явно с самого начала озвучил, какой документ почитать. В нем калибровка так же описана. И есть ссылки на исходники.


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Пн янв 24, 2022 22:16:46 
Сверлит текстолит когтями

Карма: -10
Рейтинг сообщений: 93
Зарегистрирован: Вт авг 15, 2017 10:51:13
Сообщений: 1150
Рейтинг сообщения: 0
2. Поменял контроллер - проблема осталась. Да и USART работает без сбоев (принимаю на комп).
Попробуйте почитать температурный сенсор. Если с него показания получаются стабильные (как и с Vref), то возможно что-то не так с питанием или разводкой внешних каналов.


Вернуться наверх
 
Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

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

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вт янв 25, 2022 10:00:34 
Нашел транзистор. Понюхал.

Карма: 5
Рейтинг сообщений: 21
Зарегистрирован: Вс апр 17, 2011 09:51:26
Сообщений: 192
Откуда: Тула
Рейтинг сообщения: 0
2. Поменял контроллер - проблема осталась. Да и USART работает без сбоев (принимаю на комп).
Попробуйте почитать температурный сенсор. Если с него показания получаются стабильные (как и с Vref), то возможно что-то не так с питанием

Но если показания Vref стабильные, разве это не говорит о стабильности питания?

Добавлено after 8 minutes 38 seconds:
kvn234, Я же явно с самого начала озвучил, какой документ почитать. В нем калибровка так же описана. И есть ссылки на исходники.

Вы теоретик или у Вас есть исходники функций? В интернете много информации но не всегда знаешь где искать нужную. Прочитал данную тему 90% общих рассуждений и сообщений "кто круче".


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вт янв 25, 2022 10:23:29 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 41
Рейтинг сообщений: 306
Зарегистрирован: Пт сен 07, 2018 20:20:02
Сообщений: 2296
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
kvn234, я, по Вашему, что-ли должен открывать AN3137 и исходники, на которые он ссылается, и копировать избранное оттуда на этот форум, только потому, что Вам самому лениво?
Пока Вы не поймете, что здесь никто Вам ничего не должен, пользы от общения на этом форуме не получите. Лично я считаю бессмысленным обсуждать ADC в STM8L с человеком, категорически отказывающимся прочитать документ производителя именно об ошибках преобразования ADC в STM8L и о способах их минимизации. Причем ссылки на все исходники этот документ содержит.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вт янв 25, 2022 10:59:17 
Нашел транзистор. Понюхал.

Карма: 5
Рейтинг сообщений: 21
Зарегистрирован: Вс апр 17, 2011 09:51:26
Сообщений: 192
Откуда: Тула
Рейтинг сообщения: 0
kvn234, я, по Вашему, что-ли должен открывать AN3137 и исходники, на которые он ссылается, и копировать избранное оттуда на этот форум, только потому, что Вам самому лениво?

Можно дать ссылку на конкретную страницу.
kvn234,Пока Вы не поймете, что здесь никто Вам ничего не должен, пользы от общения на этом форуме не получите.

Если бы Вы прочитали мое сообщение, а не торопились показать свою крутизну, Вы бы поняли, что вопрос был не о точности измерений, а об их нестабильности. И я привел исходники не очень большие.
kvn234 Лично я считаю бессмысленным обсуждать ADC в STM8L с человеком, категорически отказывающимся прочитать документ производителя именно об ошибках преобразования ADC в STM8L и о способах их минимизации.


С чего Вы взяли, что я не читал данный документ?

Я Вас не просил отвечать. Я хочу получить ответы от человека который сталкивался с данной проблемой и нашел решение.
А такие теоретики засрали весь форум.


Последний раз редактировалось kvn234 Вт янв 25, 2022 11:28:46, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вт янв 25, 2022 11:25:15 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 41
Рейтинг сообщений: 306
Зарегистрирован: Пт сен 07, 2018 20:20:02
Сообщений: 2296
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
kvn234, Вас в гугле забанили?
https://www.google.com/search?client=fi ... d&q=AN3137
Не открывается?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вт янв 25, 2022 11:32:51 
Нашел транзистор. Понюхал.

Карма: 5
Рейтинг сообщений: 21
Зарегистрирован: Вс апр 17, 2011 09:51:26
Сообщений: 192
Откуда: Тула
Рейтинг сообщения: 0
kvn234, Вас в гугле забанили?
https://www.google.com/search?client=fi ... d&q=AN3137
Не открывается?


Кроме ссылке на AN3137, ни какой конкретике.
Посмотрите мои исходники (если Вы разбираетесь в программировании STM8), что там не так.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вт янв 25, 2022 12:54:29 
Сверлит текстолит когтями

Карма: -10
Рейтинг сообщений: 93
Зарегистрирован: Вт авг 15, 2017 10:51:13
Сообщений: 1150
Рейтинг сообщения: 0
Но если показания Vref стабильные, разве это не говорит о стабильности питания?
Нет не говорит. У вас один канал - стабилен, другие - нет. Т.е. - возможно проблема с коммутацией каналов в последовательности преобразований разных каналов.
Я предлагаю проверить случай с несколькими каналами, только внутренними (чтобы дополнительно отсечь проблемы с ногами).
Так же можно изменить порядок последовательности каналов; проверить стабильность при чтении только одного канала и т.д.

Добавлено after 5 minutes 33 seconds:
В интернете много информации но не всегда знаешь где искать нужную. Прочитал данную тему 90% общих рассуждений и сообщений "кто круче".
Не надо копаться в той куче. Для программирования STM8L151 достаточно 2-х документов: "datasheet STM8L151" и "reference manual RM0031". Ну иногда ещё может errata.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вт янв 25, 2022 13:44:02 
Нашел транзистор. Понюхал.

Карма: 5
Рейтинг сообщений: 21
Зарегистрирован: Вс апр 17, 2011 09:51:26
Сообщений: 192
Откуда: Тула
Рейтинг сообщения: 0
Но если показания Vref стабильные, разве это не говорит о стабильности питания?
Нет не говорит. У вас один канал - стабилен, другие - нет. Т.е. - возможно проблема с коммутацией каналов в последовательности преобразований разных каналов.


reference manual RM0031 читал.
Как я понимаю.
У ADC нет отдельного питания и питание подается с ножки питания микроконтроллера(МК).
В МК имеется ИОН к которому можно подключить внутренний канал ADC_IN VREFINT (Vref).
При изготовлении МК в VREFINT_Factory_CONV byte ((uint8_t *)0x4910) записывается значение ADC при подключении ИОН при подачи питания на МК 3000мв +- допуск.
Соответственно измеряя Vref и зная VREFINT_Factory_CONV мы можем вычислить напряжение питания и если измерения Vref стабильны то можно сделать вывод о стабильности питания.

А в чем могут быть проблемы с MUX. Что внутренний, что внешние каналы заведены на один MUX. И я не случайно указал, что 4 внешних канал подключены к батарейке. Это чтобы не было разговора о необходимости подключения к источнику с малым выходным сопротивлением.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вт янв 25, 2022 14:47:51 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 41
Рейтинг сообщений: 306
Зарегистрирован: Пт сен 07, 2018 20:20:02
Сообщений: 2296
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
kvn234, Да скачайте, наконец, исходники. предоставляемые производителем. Вот если с ними ситуацию не удастся исправить - тогда уже спрашивайте здесь.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вт янв 25, 2022 15:26:15 
Нашел транзистор. Понюхал.

Карма: 5
Рейтинг сообщений: 21
Зарегистрирован: Вс апр 17, 2011 09:51:26
Сообщений: 192
Откуда: Тула
Рейтинг сообщения: 0
kvn234, Да скачайте, наконец, исходники. предоставляемые производителем. Вот если с ними ситуацию не удастся исправить - тогда уже спрашивайте здесь.


Скачал, что дальше? Что касается моего вопроса о не стабильности измерений?
Там столько наворочено, какое отношение к моему вопросу имеет LCD?
Если Вы разбираетесь в вопросах программирования STM8 укажите какой кусок исходника мне посмотреть.

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

Я уже писал, какие у Вас замечания к моим функциям?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вт янв 25, 2022 15:46:57 
Сверлит текстолит когтями

Карма: -10
Рейтинг сообщений: 93
Зарегистрирован: Вт авг 15, 2017 10:51:13
Сообщений: 1150
Рейтинг сообщения: 0
Я уже писал, какие у Вас замечания к моим функциям?
Функции написаны красиво - спору нет. Только толку от них столько же, что от исходников винды, на которые вы ссылаетесь.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вт янв 25, 2022 16:36:20 
Нашел транзистор. Понюхал.

Карма: 5
Рейтинг сообщений: 21
Зарегистрирован: Вс апр 17, 2011 09:51:26
Сообщений: 192
Откуда: Тула
Рейтинг сообщения: 0
Я уже писал, какие у Вас замечания к моим функциям?
Функции написаны красиво - спору нет. Только толку от них столько же, что от исходников винды, на которые вы ссылаетесь.

В чем красота? Насколько я разобрался в регистрах ADC это необходимые функции для инициализации и одиночного чтения.
Я их привел не для того чтобы кто то восхищался красотой, а привел критические замечания или предложения.
Возможно я что то упустил и показания скачут. Вначале хотелось получить более или менее стабильные показания, ну а затем применить обработку среднее, медианное ...
Мне бы хотелось получить ответ от человека практически применившего 12 разрядное ADC STM8L151, насколько стабильны показания и имеет ли смысл использовать данный ADC, а не упражняться в словоблудии и кто круче.

Прорабатываю вариант использования STM8L151 с 12разрядными ADC и DAC в универсальном зарядном устройстве.
Имеются два ЗУ одно с INA226 ATMega32 второе с ADS1115 ATMega 328 NANO и внешнее DAC.
Хочу попробовать упростить и сделать на STM8L151 с 12разрядными ADC и DAC или аналогичном STM32.

ЗЫ Зарядка универсальная. В памяти может хранить до 32 алгоритма и при необходимости загружать любые алгоритмы зарядки. Ведется запись зарядки напряжение, ток, температура в течении недели.
Процесс зарядки можно контролировать по WiFi (время, напряжение, токи, температура (в виде графиков и значений), емкость , положение коммутаций). Ну и т.д


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вт янв 25, 2022 18:48:38 
Сверлит текстолит когтями

Карма: -10
Рейтинг сообщений: 93
Зарегистрирован: Вт авг 15, 2017 10:51:13
Сообщений: 1150
Рейтинг сообщения: 0
Я их привел не для того чтобы кто то восхищался красотой, а привел критические замечания или предложения.
Какие "практические замечания" вы ожидаете услышать, не приведя код инициализации? Здесь нет ясновидящих, кто угадает что там внутри ваших красивых функций.

Мне бы хотелось получить ответ от человека практически применившего 12 разрядное ADC STM8L151, насколько стабильны показания и имеет ли смысл использовать данный ADC, а не упражняться в словоблудии и кто круче.
Словоблудием занимаетесь здесь вы, написав кучу сообщений, но так и не приведя инициализации АЦП.
С STM8L151 не вы первый занимаетесь. У меня проект на нём уже больше года вполне себе нормально работает. Правда там используются только 2 канала АЦП: Vrefint и термодатчик. Проблем не замечал - показания стабильны. Более того - показания термодатчика отличаются всего на пару десятых градуса от другого термометра, находящегося в этом же помещении.
Но опять-же - советы посмотреть работу термодатчика совместно с Vrefint, вы проигнорили. И кто после этого словоблудит?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вт янв 25, 2022 20:21:20 
Нашел транзистор. Понюхал.

Карма: 5
Рейтинг сообщений: 21
Зарегистрирован: Вс апр 17, 2011 09:51:26
Сообщений: 192
Откуда: Тула
Рейтинг сообщения: 0
Я их привел не для того чтобы кто то восхищался красотой, а привел критические замечания или предложения.
Какие "практические замечания" вы ожидаете услышать, не приведя код инициализации? Здесь нет ясновидящих, кто угадает что там внутри ваших красивых функций.


Вы не ясновидящей, а вообще не видящей.

Под spoiler находилась функция init_adc. Вы не видите, что это инициализация ADC.

void init_adc(void)
{
CLK_PeripheralClockConfig(CLK_Peripheral_ADC1, ENABLE);

ADC_DeInit(ADC1);

Vrefint = *Factory_VREFINT;
Vrefint += 0x600;

ADC_Init(ADC1, ADC_ConversionMode_Single, ADC_Resolution_12Bit,ADC_Prescaler_2);
ADC_SamplingTimeConfig(ADC1, ADC_Group_SlowChannels, ADC_SamplingTime_384Cycles);
ADC_SamplingTimeConfig(ADC1, ADC_Group_FastChannels, ADC_SamplingTime_384Cycles);

/* Disable the specified ADC DMA request */
ADC1->SQR[0] |= ADC_SQR1_DMAOFF;

ADC1->CR1 |= ADC_CR1_ADON;
}

Если Вы работали с ADC STM8L Вы должны были это понять или нужно было комментировать каждую строчку.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вт янв 25, 2022 21:02:04 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 41
Рейтинг сообщений: 306
Зарегистрирован: Пт сен 07, 2018 20:20:02
Сообщений: 2296
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
kvn234, комментировать не нужно, а, для примера, указать включен ли триггер Шмитта на используемом входе или явно его выключить в коде стоило бы.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вт янв 25, 2022 21:34:42 
Нашел транзистор. Понюхал.

Карма: 5
Рейтинг сообщений: 21
Зарегистрирован: Вс апр 17, 2011 09:51:26
Сообщений: 192
Откуда: Тула
Рейтинг сообщения: 0
kvn234, комментировать не нужно, а, для примера, указать включен ли триггер Шмитта на используемом входе или явно его выключить в коде стоило бы.


Триггер Шмитта выключался в функции чтения. Но сейчас я выключение триггера Шмитта перенес в инициализацию.

Но это как я и предполагал не повлияло на стабильность измерений.

void init_adc(void)
{
CLK_PeripheralClockConfig(CLK_Peripheral_ADC1, ENABLE);

ADC_DeInit(ADC1);

Vrefint = *Factory_VREFINT;
Vrefint += 0x600;

ADC_Init(ADC1, ADC_ConversionMode_Single, ADC_Resolution_12Bit,ADC_Prescaler_2);
ADC_SamplingTimeConfig(ADC1, ADC_Group_SlowChannels, ADC_SamplingTime_384Cycles);
ADC_SamplingTimeConfig(ADC1, ADC_Group_FastChannels, ADC_SamplingTime_384Cycles);

/* Disable the specified ADC DMA request */
ADC1->SQR[0] |= ADC_SQR1_DMAOFF;

ADC_SchmittTriggerConfig(ADC1, ADC_Channel_0, DISABLE);
ADC_SchmittTriggerConfig(ADC1, ADC_Channel_1, DISABLE);
ADC_SchmittTriggerConfig(ADC1, ADC_Channel_2, DISABLE);
ADC_SchmittTriggerConfig(ADC1, ADC_Channel_4, DISABLE);

ADC_VrefintCmd(ENABLE);

ADC1->CR1 |= ADC_CR1_ADON;
}


uint16_t GetChannel(ADC_Channel_TypeDef Channel)
{
uint32_t res;

ADC_ChannelCmd(ADC1, Channel, ENABLE);

ADC1->CR1 |= ADC_CR1_START;

while (!(ADC1->SR & ADC_FLAG_EOC));

res = ADC_GetConversionValue(ADC1);

ADC_ChannelCmd(ADC1, Channel, DISABLE);

return (uint16_t)res;
}

Когда мы наконец разобрались где находились функции, не могли ли Вы высказать конкретные замечания по функциям.
Что нужно учесть в инициализации ADC или чтении?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование STM8
СообщениеДобавлено: Вт янв 25, 2022 22:33:53 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
Я дико извиняюсь: а когда ацп измеряет Vref, что служит опорным? Я как бы предполагаю, что измерение опорного относительно самого себя всегда будет идеальным по определению... Или нет?

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 2488 ]     ... , , , 106, , , ...  

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


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13


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

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


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y