Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 22.02.2013, 14:26  
EXIS
Прописка
 
Регистрация: 20.02.2006
Сообщений: 284
Сказал спасибо: 9
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
EXIS на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

АЦП у STM32 12 битное т.е. 2^12=4096 значений.
Подпаял к VDDA VSSA источник опорного напряжения TL431.
Снимаю показания с переменного резистора но показания прыгают на +-10 значений. Т.е. около 0,01 В. Можно ли как-то с АЦП STM32 получить более высокую точность, чтобы значения были более стабильные?

Мой код:

Код:
// инициализация

 	ADC1-›SMPR2 |= ADC_SMPR2_SMP0;
	RCC-›CFGR &= ~RCC_CFGR_ADCPRE;
	RCC-›CFGR |= RCC_CFGR_ADCPRE_DIV2;
	RCC-›APB2ENR |= RCC_APB2ENR_ADC1EN;

	ADC1-›CR1  = 0;
	ADC1-›SQR1 = 0; 
	ADC1-›SQR2 = 0;
	ADC1-›CR2 = ADC_CR2_EXTSEL | ADC_CR2_EXTTRIG;

	ADC1-›CR2 |= ADC_CR2_TSVREFE; 
	ADC1-›CR2 |= ADC_CR2_ADON;

	ADC1-›CR2 |= ADC_CR2_CAL;
	while ((ADC1-›CR2 & ADC_CR2_CAL) == ADC_CR2_CAL)
	{
	}

// замер

int Adc1Shot(u32 cannel)
{
   	ADC1-›SQR3 = cannel;		
   	ADC1-›CR2 |= ADC_CR2_SWSTART;  
   	while(!(ADC1-›SR & ADC_SR_EOC)){};
	return ADC1-›DR;
}
Реклама:
EXIS вне форума  
Непрочитано 22.02.2013, 17:04  
polyname
Прописка
 
Регистрация: 19.05.2012
Сообщений: 99
Сказал спасибо: 0
Сказали Спасибо 10 раз(а) в 8 сообщении(ях)
polyname на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

можно, путем фильтрации (сделайте хотя бы накопление N измерений и вычислите среднее)
polyname вне форума  
Непрочитано 22.02.2013, 17:10  
tempora
Почётный гражданин KAZUS.RU
 
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
tempora на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от EXIS Посмотреть сообщение
Снимаю показания с переменного резистора но показания прыгают на +-10 значений.
А если заменить резистор на постоянный, величина ошибки остается той же?
И какой амплитуды основной сигнал?
__________________
There's always more than one way to skin a cat.
tempora вне форума  
Непрочитано 22.02.2013, 17:34  
_Слон_
Прописка
 
Аватар для _Слон_
 
Регистрация: 25.02.2011
Сообщений: 122
Сказал спасибо: 61
Сказали Спасибо 23 раз(а) в 19 сообщении(ях)
_Слон_ на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Бодрого времени суток всем.
Купил себе для исследований платку STM32L DISCOVERY.
Не получается разобраться с программатором STLink на ней.
Скачал фирменную утилиту STM32 STLink Utility, драйвера... Всё самой последней версии. При подключении платы, утилита выдала мне что мол требуется обновить ПО. И выбор там был- JTAG, SWD и еще что-то... Прочитал мануал к плате, вроде бы там используется только SWD интерфейс. Ну я и выбрал SWD-› обновить. Теперь плата у меня видится этой утилитой как V2.J0.S4 SWIM Debugger. Естественно, программатор не работает. Но почему SWIM ? Свим - это же вроде интерфейс для STM8 ?
Можно ли как-то исправить ситуацию? У меня есть еще один программатор STLink, рабочий. В чем отличия между SWIM и SWD ?
Если здесь уже этот вопрос обсуждался, прошу не пинать ногами
_Слон_ вне форума  
Непрочитано 22.02.2013, 17:49  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Вы правы, SWIM под STM8. Почему-то путаница получилась. Не то вы скачали и зачем-то не туда нажали.
В общем, у меня тоже STM8 и STM32 одновременно по ST-Link'у не отлаживаются.
Easyrider83 вне форума  
Непрочитано 22.02.2013, 18:04  
_Слон_
Прописка
 
Аватар для _Слон_
 
Регистрация: 25.02.2011
Сообщений: 122
Сказал спасибо: 61
Сказали Спасибо 23 раз(а) в 19 сообщении(ях)
_Слон_ на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

На всех платах STM DISCOVERY в программаторе STLink стоит контроллер STM32F103T6 (поправьте, если я ошибаюсь). Уверен, что его можно перепрограммировать с помощью внешнего программатора STLink. Вот только где взять эту прошивку? Возможно ли считать её с другой платы дискавери? Я так понял, что другого выхода нет?
_Слон_ вне форума  
Непрочитано 22.02.2013, 18:20  
EXIS
Прописка
 
Регистрация: 20.02.2006
Сообщений: 284
Сказал спасибо: 9
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
EXIS на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от polyname Посмотреть сообщение
можно, путем фильтрации (сделайте хотя бы накопление N измерений и вычислите среднее)
Ну это конечно можно сделать. А у вас например не получалось без программного сглаживания получать с АЦП VLDiscovery измерения без скачков? Я кстати специально для PA0 поставил 16 семплов, чтобы повысить точность но толку мало: ADC1-›SMPR2 |= ADC_SMPR2_SMP0;

Сообщение от tempora Посмотреть сообщение
А если заменить резистор на постоянный, величина ошибки остается той же?
И какой амплитуды основной сигнал?
Только в понедельник смогу попробовать. Думаете на переменник можно грешить? Я вот думаю может USB порт помехи дает. Или я VLDiscovery подпалил.

Я просто кручу ручку произвольно резистора и отпускаю ее. По идее показания должны остановиться тоже, но они прыгают и ладно бы на +-2 (это еще можно понять), но там скачки на +-15 значений. Если это нормально то ладно. Но если можно повысить точность АЦП буду пытаться дальше. А то получается вроде 12-битный АЦП, а точность как у 8-ми битного из-за помех.

Судя по видео на 1:55 минуте, АЦП в STM32F10x уступает даже китайским мультиметрам ( Там как раз предлагают применить программное сглаживание.

Последний раз редактировалось EXIS; 22.02.2013 в 18:44. Причина: дополнение
EXIS вне форума  
Непрочитано 22.02.2013, 18:31  
L_0_R
Вид на жительство
 
Регистрация: 30.07.2009
Адрес: SPb, RU
Сообщений: 382
Сказал спасибо: 81
Сказали Спасибо 119 раз(а) в 92 сообщении(ях)
L_0_R на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от EXIS Посмотреть сообщение
около 0,01 В
Это больше на наводки похоже...
L_0_R вне форума  
Непрочитано 22.02.2013, 18:35  
tempora
Почётный гражданин KAZUS.RU
 
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
tempora на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от EXIS Посмотреть сообщение
Я вот думаю может USB порт помехи дает.
Так я потому и спрашивал какова амплитуда основного сигнала, чтоб понять, сколько эти 10-15 означают. А переменники бывают разные, в том числе и весьма паршивые.
__________________
There's always more than one way to skin a cat.
tempora вне форума  
Непрочитано 22.02.2013, 19:23  
EXIS
Прописка
 
Регистрация: 20.02.2006
Сообщений: 284
Сказал спасибо: 9
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
EXIS на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от tempora Посмотреть сообщение
переменники бывают разные, в том числе и весьма паршивые.
По поводу переменника, вычитал, что АЦП имеет External input impedance 50КОм. А я как раз использовал для тестов переменный резистор 50Ком. Наверное это много, может нужно взять с сопротивлением поменьше, например 10К, тогда и точность будет выше.
EXIS вне форума  
 

Закладки
Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Школа АRMрестлинга Uragan90 Микроконтроллеры, АЦП, память и т.д 54 22.08.2011 16:13
ARM Cortex M3 + Linux SiMiLya Микроконтроллеры, АЦП, память и т.д 10 17.06.2011 17:20
Помогите с STM32 - очень нужно... yakuzaa Микроконтроллеры, АЦП, память и т.д 60 04.08.2010 11:04
Как добавить поддержку для STM32 SFHK Микроконтроллеры, АЦП, память и т.д 11 18.12.2009 18:09


Часовой пояс GMT +4, время: 21:24.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot