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

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

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

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

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

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

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 26.04.2013, 16:30  
Svat-SV
Частый гость
 
Регистрация: 17.04.2012
Сообщений: 27
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Svat-SV на пути к лучшему
По умолчанию Переделать РН Страж в вольтметр

После выхода из строя силовой части осталась плата с цифровой частью от реле напряжения "Страж". Хочу применить её в качестве вольтметра постоянного напряжения с пределом 0-20В (для автомобиля), но в программировании (написании прошивки), мягко говоря, я не очень силен. Поэтому надеюсь на помощь форумчан в написании кода на Си для CVAVR.
Итак, что имеется на плате:
1. трехразрядный семисегментный индикатор с ОК;
2. мк attiny26;
3. две кнопки без фиксации;
4. три сопротивления.
Т.к. это всё уже запаяно на плате, то хотелось бы всё так и оставить без переделок и подгонять проект под эту плату.
Мои мысли-замечания по поводу платы (я могу и ошибаться):
1. т.к. сопротивления всего 3, то использовалась не поразрядная, а посегментная индикация;
2. вывода vcc и avcc соединены напрямую проводником на печатной плате, вывод aref подключен к индикатору - поэтому в качестве опорного напряжения используется vcc;
3. сигнал с делителя поступает на 7-й пин мк (РВ4, ADC7).

Основные требования к вольтметру: приемлемая точность показаний и индикация напряжения с десятками вольт (т.е. 13,9 или 14,1 и т.п.). В идеале - коррекция измерения (АЦП) двумя кнопками в + и в -.

В архиве выкладываю схему РН "Страж" и предполагаемую схему вольтметра.

Вот такой код пока набросал (начальные настройки, дальше темный лес):
PHP код:
Chip type               ATtiny26
AVR Core Clock frequency
8,000000 MHz
Memory model            
Tiny
External RAM size       
0
Data Stack size         
32
**************************************************  ***/
#include ‹tiny26.h›

#include ‹delay.h›

#define digit3 PORTB.6 //катод 3-й цифры
#define digit2 PORTB.0 //катод 2-й цифры
#define digit1 PORTB.1 //катод 1-й цифры

#define ADC_AVERAGE (50) //среднее по 50-ти замерам
char digit_out[3], cur_dig//переменные для работы с LED

unsigned long indication//переменная для хранения чисел
unsigned int volt;

flash char digits[] = {0xE70x240xAB0xAE0x6C0xCE0xCF0xA40xEF0xEE0x00}; //индикатор с ОК

void recoding(void) { //разделение на сотые, десятые и единичные доли
 
digit_out[0]=indication/100%10;
 
digit_out[1]=indication/10%10;
 
digit_out[2]=indication%10;
 }
 
 
#define ADC_VREF_TYPE 0x00

// Read the AD conversion result
unsigned int read_adc(unsigned char adc_input)
{
ADMUX=adc_input | (ADC_VREF_TYPE 0xff);
// Delay needed for the stabilization of the ADC input voltage
delay_us(10);
// Start the AD conversion
ADCSR|=0x40;
// Wait for the AD conversion to complete
while ((ADCSR 0x10)==0);
ADCSR|=0x10;
return 
ADCW;
}

void main(void)
{
// Port A initialization
// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out 
// State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0 
PORTA=0x00;
DDRA=0xFF;

// Port B initialization
// Func7=In Func6=Out Func5=In Func4=In Func3=In Func2=In Func1=Out Func0=Out 
// State7=P State6=0 State5=T State4=T State3=P State2=T State1=0 State0=0 
PORTB=0x88;
DDRB=0x43;

// ADC initialization
// ADC Clock frequency: 125,000 kHz
// ADC Voltage Reference: AVCC pin
ADMUX=ADC_VREF_TYPE 0xff;
ADCSR=0x86
Вложения:
Тип файла: rar voltmeter.rar (13.1 Кб, 56 просмотров)
Реклама:

Последний раз редактировалось Svat-SV; 26.04.2013 в 16:34.
Svat-SV вне форума  
Непрочитано 29.04.2013, 09:21  
korsaj
Частый гость
 
Регистрация: 12.05.2009
Сообщений: 44
Сказал спасибо: 3
Сказали Спасибо 12 раз(а) в 12 сообщении(ях)
korsaj на пути к лучшему
По умолчанию Re: Переделать РН Страж в вольтметр

Соберите все в протеусе и начните с динамической индикации. Индикация должна быть реализована в прерывании по таймеру (так не будет подмигивать дисплей )) ). Вывод данных поразарядно, 1 разряд обновляется 1 раз в 5мС, весь цикл вывода будет повторятся за 15мС (частота вывода 67Гц). Как научитесь выводить данные на дисплей, тогда уже можете запихивать данные полученные от АЦП в буфер (дополнительные регистры для монопольного дступа) вывода на дисплей.
korsaj вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Расшифровать и переделать оконечник sergei948 Аудиотехника 4 03.09.2009 22:12
Как переделать схему rolka Электроника - это просто 46 27.08.2009 23:54
Электромеханический микроамперметр переделать на вольтметр?? ivan_nick Измерительное оборудование 6 21.05.2009 09:16
Как заставить работать "Страж-SMS 4x4" в Беларуси milt Делимся опытом 2 05.11.2008 11:27
Как переделать Японский а/м TV Serg999 Видеотехника 1 06.10.2006 22:37


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


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