Файлы  •  Ссылки  •  Прошивки  •  Правила  •  Архив  •   FAQ  •  Участники  •  Поиск
Регистрация  •  Вход

Вольтметр на Atmega8

Список форумов » Программное обеспечение » Микроконтроллеры
АвторСообщение
ankosten
Новичок
Сообщения: 25




22-11-2009 17:40

Помогите пожалуйста написать программу под данную схему на Atmega8, т.к у меня плоховато с программированием.
По сути это схема вольтметра 2х режимов с внешним АЦП MAX1062.
Информация выводится на 8ми сегментный индикатор, младший разряд управляется транзистором VT1. Режимы работы переключаются кнопкой S1 (одно нажатие-1й режим, второе нажатие-2й режим и т.д). В зависимости от режима зогорается св.диод HL1 либо HL2.

1й режим: на входе АЦП от 0 до Uref=4,096V,горит HL1. На выходе индикатора горят 3 младших разряда (Вывод показаний от 0 до 999 с шагом 1).

2й режим: на входе АЦП от 0 до Uref=4,096V, горит HL2. На выходе индикатора горят все разряды (Вывод показаний от 0 до 999,9 с шагом 0,1).

Передача данных от АЦП к Atmega8 по шине SPI (порт С).
По возможности можно отказаться от внешней АЦП и задействовать АЦП Atmega8 (вх. ADC3).
Заранее благодарю.

  test.rar  42,58 КБ  Скачано: 1711 раз(а)
  atmega8.jpg  73,28 КБ  Скачано: 3020 раз(а)

pavel-pervomaysk
Your editor
Сообщения: 8043




23-11-2009 08:50

Я бы начал для начала со схемы. Или плату уже развели и спаяли ?
Индикацию можно делать и таким макаром как на моей схеме ( смотреть вложение ).
После этого остается куча ног , которые можно использовать по назначению
, в том числе и апаратный SPI .
Глянул дш MAX1062 14 бит вполне реальные показания будут в отличии от 10 бит меги. То есть мега сможет показать всего лиш 1024 , а MAX1062 - 16384 , результат можно разделить на 2 , 4 , 8 и получится не дергающийся вольтметр.

На Си я не силен , но на асме пример индикации могу скинуть.

  Индикация.GIF  10,05 КБ  Скачано: 2804 раз(а)

ankosten
Новичок
Сообщения: 25




23-11-2009 10:26

Собрано только на макетке, буду благодарен если поможете с программой.
pavel-pervomaysk
Your editor
Сообщения: 8043




23-11-2009 20:12

ankosten, если соберете на макетке схему индикации от меня - помогу програмой без проблем. Или же могу дать готовый проэкт свой.
ankosten
Новичок
Сообщения: 25




24-11-2009 06:34

pavel-pervomaysk, можете помочь с частью программы для МАХ1062, чтоб привинть к уже мною написанному?
pavel-pervomaysk
Your editor
Сообщения: 8043




24-11-2009 09:25

Я бы не против , но нужен образец для того чтобы проверить. А поскольку у меня его нет , могу помочь только с АЦП самой меги и все.
ankosten
Новичок
Сообщения: 25




24-11-2009 22:10

pavel-pervomaysk, Хорошо давай под внутреннюю (максимальную битность, согласно принципиальной схеме), буду благодарен.
pavel-pervomaysk
Your editor
Сообщения: 8043




24-11-2009 22:55

.equ lcd_port = PORTD

// ADC_INIT
//ldi tmp,0xC3 // ADC_3
//out ADMUX,tmp //
//ldi tmp,0x87 //
//out ADCSRA, tmp //

Это в начале прграммы


read_adc: //
sbi ADCSRA,6 //
ADC_W: //
sbic ADCSRA,6 //
rjmp ADC_W //
in yl, ADCL //
in yh, ADCH //
ret //

Читаем данные АЦП , затем перекодировка и сохранение в оперативке

display:
cli
in tmp,portb
andi tmp,3
out portb,tmp
cpi loop,0
breq seg_3
cpi loop,1
breq seg_2
cpi loop,2
breq seg_1
cpi loop,3
brsh seg_0
seg_3:
lds tmp,dig_3
out lcd_port,tmp
sbi portb,3
inc loop
rjmp ok
seg_2:
lds tmp,dig_2
out lcd_port,tmp
sbi portb,2
inc loop
rjmp ok
seg_1:
lds tmp,dig_1
out lcd_port,tmp
sbi portb,1
inc loop
rjmp ok
seg_0:
lds tmp,dig_0
out lcd_port,tmp
sbi portb,0
clr loop
ok:
sei
reti

Это крутится в прерывании от таймера 0 и является динамической индикацией.
ankosten
Новичок
Сообщения: 25




24-11-2009 23:15

pavel-pervomaysk, спасибо большое завтра разбирусь и буду пробовать, о результатах отпишу! улыбка
ankosten
Новичок
Сообщения: 25




26-11-2009 14:11

pavel-pervomaysk, Подскажите пожалуйста как данные с АЦП поместить в переменную voltage моей программы.
Как выставить Fuse Bit(s), FLASH Lock Bits, Boot Lock Bit 0 и Boot Lock Bit 1. Правильно ли я выставлял для 8МГц генератора в atmeg8 (скрин прилагаю)

выставленные Fuse Bit(s)



pavel-pervomaysk
Your editor
Сообщения: 8043




26-11-2009 14:38

Фузы трогать не нада , работает от 1 мгц вполне нормально ! Переменная хранится в регистрах 28 29 , затем заносите ее в рам и потом дергайте от туда.
ankosten
Новичок
Сообщения: 25




30-11-2009 22:27

pavel-pervomaysk, помогите пожалуйста написать часть программы для управления АЦП МАХ1062 (на основе документации). 28-CS, 27-SCLK, 26-DOUT

  max1062.pdf  377,74 КБ  Скачано: 871 раз(а)

pavel-pervomaysk
Your editor
Сообщения: 8043




01-12-2009 13:05

Судя по документации нужно считать 3 байта с АЦП .

Примерно так:
Но нужно прверять на чипе , без чипа на месте точный код не смогу написать.
.equ dat = PC0
.equ clk = PC1
.equ cs = PC2

// Подтяжки
cbi portc,dat
sbi portc,clk
sbi portc,cs
// Настройка вход-выход
sbi ddrc,dat
sbi ddrc,cs
cbi ddrc,dat

read_max:
cbi portc,cs
rcall read_byte
rcall read_byte
sts h_byte,tmp
rcall read_byte
sts l_byte,tmp
sbi portc,cs
lds yl,l_byte
lds yh,h_byte
lsl yh
rol yl
lsl yh // наши старшие 6 бит ацп
rol yl // наши младшие 8 бит ацп
ret


read_byte:
ldi loop,8
cycle:
sbi portc,clk
nop
sbic pinc,dat
ori, tmp,0x01
lsl tmp
cbi portc,clk
dec loop
brne cycle
ret
ankosten
Новичок
Сообщения: 25




01-12-2009 15:00

pavel-pervomaysk, спасибо, частота CSLK какая ? и куда считываются данные?
pavel-pervomaysk
Your editor
Сообщения: 8043




01-12-2009 15:17

Частота зависит от тактовой частоты.
Если лень читать исходники вообще ничего писать не буду злость
ankosten
Новичок
Сообщения: 25




01-12-2009 21:17

pavel-pervomaysk, Читать не лень, вникаю с трудом времени разбираться небыло
xfriend
Новичок
Сообщения: 7




13-07-2015 23:41

Ребята а кто поможет с вольтамперметром на меге8,есть мега в инете есть схемы,но увы опыта с микроконтролерами =000. Хочу сделать для лабораторного бп. Буду признателен и благодарен.
Jael.Dace
Участник
Сообщения: 512




15-07-2015 03:37

xfriend, а что конкретно требуется?
Выбери схему и повторяй, будут возникать вопросы - пиши, подскажем.

ЗЫ: щас делаю свой ампервольтметр на тини13 и семисегментниках, управляемых двумя регистрами.. Плату уже стопятсотый раз перерисовываю с нуля, в стремлении к лучшему гы-гы
Konstantin_18
Участник
Сообщения: 3397




17-07-2015 12:59

Jael.Dace, В стремлении к лучшему может стоит отказаться от регистров ? улыбка
Мега 48я нычне дешева.
alex6636
Новичок
Сообщения: 17




20-07-2015 20:36

Вот ссылка для вольтметра, рабочий проект http://articles.greenchip.com.ua/3-0-28-0.html я сам пробовал.
Валера12
Участник
Сообщения: 40




11-08-2015 09:42

xfriend,
http://12val12.livejournal.com/2023.html
под 9 рязрядный 7сегментник 16 мега
схему не рисовал но там и по программе видно .
разрешающая способность при токах до 100 ма 1 ма (стоит ОУ с оос (100к/4.7к)+1)
если ток выше меряется без усилителя
ловится 0.1 мВольт на шунте 0.12 .
тяните процедуры
pcb432
Участник
Сообщения: 244




03-09-2015 11:20

Валера12. Вещь интересная. Но большинству трудно будет разобраться по программе.
Вот если бы в виде статьи почитать.
Список форумов » Программное обеспечение » Микроконтроллеры » Вольтметр на Atmega8
Перейти:  
Текущий раздел » Программное обеспечение » Микроконтроллеры (Микроконтроллеры - AVR-ы, PIC-и и другие)


Похожая информация:
  • вольтметр следящего уравновешивания
  • Вольтметр + Амперметр атмега8 + BC1602B2
  • ATMega8
  • ATmega8-16AU
  • AtMega8 - брак?







  • Электроника
    Прошивки и схемы на телевизоры, мониторы, dvd, телефоны. Schematic, Service Manual (mode), eeprom dumps Информация по ремонту для специалистов - справочники, инструкции, энциклопедия, советы и секреты ремонта,  настройка, сервисные режимы поиск и продажа электронных компонентов, магазины, datasheet, pdf, размещение в интернете рекламы на сайтах электронной тематики
    Powered by phpBB 2.0.18 © 2001, 2002 phpBB Group!