АЦП криво работает..

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Аватара пользователя
AVT-28
Потрогал лапой паяльник
Сообщения: 378
Зарегистрирован: Вс сен 11, 2011 12:35:11

АЦП криво работает..

Сообщение AVT-28 »

Делаю вот так..

Код: Выделить всё

#include <pic.h>	// Include header file for MCU
#include <lcd887.h>	// Include Library for LCD display
__CONFIG(HS & WDTDIS & LVPDIS);	// Config. High speed clock,Disable watchdog and Disable LVP
void main()
{
int resh;
int resl;
    int maxadc;
	int adc=0;		// Keep ADC value
	TRISA2 = 1;		// Set RA2 input mode
	ANS2 = 1;		// Set RA2 analog port
	ADCON0 = 0b11001001;	// Select RC Mode,ANS2 active,ADON=1
	lcd_init();		// Initial LCD
	lcd_puts(0x80,"ADC(RA2)=");	// Show message at line 1
	while(1)		// Infinite loop
	{
		GODONE = 1;		// Start conversion
		while(GODONE);	// Wait until conversion success
		adc = (ADRESH<<2)+(ADRESL>>6); 	 // Get ADC value
        
        	lcd_puts(0x89,"    ");	// Clear old value
		inttolcd(0x89,ADC);	// Update new value
		delay(100);		// Delay a few time for display
	}
}
Подключаю резюк переменный и начинаю крутить. Останавливаюсь.
Цифры скачат в пределах 50-70. Нестабильные значения.
Вольтметром измеряю напряжение например ровно 3.25 вольт. Никуда не скачет. Цифры как мертвые стоят. В на дисплее дерготня в приличном диапазоне. 50-70 это слишком.
Никакого вольтметра не построишь на таких глюках.
Я оцифровываю датчик давления, думал датчик сперва такое выдает. А как подал фиксированное значение так все так и глючит.
Может кто подскажет как сделать грамотно АЦП?
Реклама
Аватара пользователя
Flasher
Мудрый кот
Сообщения: 1802
Зарегистрирован: Ср сен 07, 2011 21:40:30

Re: АЦП криво работает..

Сообщение Flasher »

поставь кондер между входом ацп и землей в 0,1 мкФ
Реклама
Аватара пользователя
AVT-28
Потрогал лапой паяльник
Сообщения: 378
Зарегистрирован: Вс сен 11, 2011 12:35:11

Re: АЦП криво работает..

Сообщение AVT-28 »

Да я уже и питание все передергал и конденсаторы куда тока не ставил и 0.1 и 1000 и до кренки и после кренки 2200 и все одна и та же дерготня.
Ведь если делают вольтметры с успехом которые измеряют сотые вольта и ничего там не колбасит значит что то у меня не то. Или код кривой или еще что то.
Аватара пользователя
AVT-28
Потрогал лапой паяльник
Сообщения: 378
Зарегистрирован: Вс сен 11, 2011 12:35:11

Re: АЦП криво работает..

Сообщение AVT-28 »

Разобрался в причине.
И что с этим делать не знаю. 16f887
Сигнал аналоговый на оцифровку заходит на ногу RA0.
На ногу RB0 заходит тахосигнал с кулера. То есть там чистый прямоугольник с амплитудой 5 вольт и частотой от 36 герц до 100 герц.
Вот если вентилятор крутится и туда в порт что то жужжит с этой частотой то АЦП начинает дергаться. Тахо снимаешь с RA0 и все идеально!
Как бороться с этим?? У меня кулер управляется шимом и контроллер меряет обороты вентилятора. В зависимости от температуры обороты меняются.
И защита по оборотам вентилятора, если ниже определенных то срабатывает защита.
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Flasher
Мудрый кот
Сообщения: 1802
Зарегистрирован: Ср сен 07, 2011 21:40:30

Re: АЦП криво работает..

Сообщение Flasher »

Еще раз повторюсь- ставь конденсатор куда сказал и не выдумывай.
Реклама
Аватара пользователя
AVT-28
Потрогал лапой паяльник
Сообщения: 378
Зарегистрирован: Вс сен 11, 2011 12:35:11

Re: АЦП криво работает..

Сообщение AVT-28 »

Яж чего писал то вверху. Ставил. Не помогает. Начал с 0.1 как сказали и закончил 2200 по всякому разному питанию всего чего попало. Все кондеями обвешал и толку ноль.
Яж писал это кулер такие заморочки дает. Не уже ли внутрепиковые наводки?
Реклама
eygen
Первый раз сказал Мяу!
Сообщения: 38
Зарегистрирован: Чт янв 29, 2009 22:03:18

Re: АЦП криво работает..

Сообщение eygen »

Схемку давай, и куда лепишь кондюк. Такое ощущение не туда его лепишь :)
BerZerK-ku
Мучитель микросхем
Сообщения: 492
Зарегистрирован: Вт июл 22, 2008 08:10:54

Re: АЦП криво работает..

Сообщение BerZerK-ku »

Выше написано было поставить кондер на вход АЦП, а не по питанию.
Еще можно сделать программное усреднение.
На счет кондеров по питанию, их надо ставить не только до/после кренки, но и возле каждого входа питания микроконтроллера, по возможности как можно ближе + должна быть хорошая земля.
Аватара пользователя
Flasher
Мудрый кот
Сообщения: 1802
Зарегистрирован: Ср сен 07, 2011 21:40:30

Re: АЦП криво работает..

Сообщение Flasher »

AVT-28 писал(а):Не уже ли внутрепиковые наводки?
Вот так и рождаются легенды. Просто из-за того, что люди совершенно не понимают сущность происходящих процессов, занимаясь простым копированием схем и кусков кода.
Аватара пользователя
YS
Друг Кота
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05
Контактная информация:

Re: АЦП криво работает..

Сообщение YS »

Сигнал аналоговый на оцифровку заходит на ногу RA0.
На ногу RB0 заходит тахосигнал с кулера. То есть там чистый прямоугольник с амплитудой 5 вольт и частотой от 36 герц до 100 герц.
1. Фильтровать питание. 0.1мкФ как можно ближе к корпусу обязательно.
2. Разделить цифровую и аналоговую землю.
3. Фильтровать опору АЦП.
4. Кондер на вход АЦП на аналоговую землю.
5. Желателен дроссель по питанию.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»