| Автор | Сообщение |
ankosten Новичок Сообщения: 25
|
Помогите пожалуйста написать программу под данную схему на 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 КБ Скачано: 1710 раз(а)
atmega8.jpg 73,28 КБ Скачано: 3018 раз(а)
|
|
pavel-pervomaysk Your editor Сообщения: 8043
|
Я бы начал для начала со схемы. Или плату уже развели и спаяли ?
Индикацию можно делать и таким макаром как на моей схеме ( смотреть вложение ).
После этого остается куча ног , которые можно использовать по назначению
, в том числе и апаратный SPI .
Глянул дш MAX1062 14 бит вполне реальные показания будут в отличии от 10 бит меги. То есть мега сможет показать всего лиш 1024 , а MAX1062 - 16384 , результат можно разделить на 2 , 4 , 8 и получится не дергающийся вольтметр.
На Си я не силен , но на асме пример индикации могу скинуть.
Индикация.GIF 10,05 КБ Скачано: 2803 раз(а)
|
|
ankosten Новичок Сообщения: 25
|
Собрано только на макетке, буду благодарен если поможете с программой. |
|
pavel-pervomaysk Your editor Сообщения: 8043
|
ankosten, если соберете на макетке схему индикации от меня - помогу програмой без проблем. Или же могу дать готовый проэкт свой. |
|
ankosten Новичок Сообщения: 25
|
pavel-pervomaysk, можете помочь с частью программы для МАХ1062, чтоб привинть к уже мною написанному? |
|
pavel-pervomaysk Your editor Сообщения: 8043
|
Я бы не против , но нужен образец для того чтобы проверить. А поскольку у меня его нет , могу помочь только с АЦП самой меги и все. |
|
ankosten Новичок Сообщения: 25
|
pavel-pervomaysk, Хорошо давай под внутреннюю (максимальную битность, согласно принципиальной схеме), буду благодарен. |
|
pavel-pervomaysk Your editor Сообщения: 8043
|
.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
|
pavel-pervomaysk, спасибо большое завтра разбирусь и буду пробовать, о результатах отпишу!  |
|
ankosten Новичок Сообщения: 25
|
pavel-pervomaysk, Подскажите пожалуйста как данные с АЦП поместить в переменную voltage моей программы.
Как выставить Fuse Bit(s), FLASH Lock Bits, Boot Lock Bit 0 и Boot Lock Bit 1. Правильно ли я выставлял для 8МГц генератора в atmeg8 (скрин прилагаю)

|
|
pavel-pervomaysk Your editor Сообщения: 8043
|
Фузы трогать не нада , работает от 1 мгц вполне нормально ! Переменная хранится в регистрах 28 29 , затем заносите ее в рам и потом дергайте от туда. |
|
ankosten Новичок Сообщения: 25
|
pavel-pervomaysk, помогите пожалуйста написать часть программы для управления АЦП МАХ1062 (на основе документации). 28-CS, 27-SCLK, 26-DOUT
max1062.pdf 377,74 КБ Скачано: 870 раз(а)
|
|
pavel-pervomaysk Your editor Сообщения: 8043
|
Судя по документации нужно считать 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
|
pavel-pervomaysk, спасибо, частота CSLK какая ? и куда считываются данные? |
|
pavel-pervomaysk Your editor Сообщения: 8043
|
Частота зависит от тактовой частоты.
Если лень читать исходники вообще ничего писать не буду  |
|
ankosten Новичок Сообщения: 25
|
pavel-pervomaysk, Читать не лень, вникаю с трудом времени разбираться небыло |
|
xfriend Новичок Сообщения: 7
|
Ребята а кто поможет с вольтамперметром на меге8,есть мега в инете есть схемы,но увы опыта с микроконтролерами =000. Хочу сделать для лабораторного бп. Буду признателен и благодарен. |
|
Jael.Dace Участник Сообщения: 511
|
xfriend, а что конкретно требуется?
Выбери схему и повторяй, будут возникать вопросы - пиши, подскажем.
ЗЫ: щас делаю свой ампервольтметр на тини13 и семисегментниках, управляемых двумя регистрами.. Плату уже стопятсотый раз перерисовываю с нуля, в стремлении к лучшему  |
|
Konstantin_18 Участник Сообщения: 3394
|
Jael.Dace, В стремлении к лучшему может стоит отказаться от регистров ?
Мега 48я нычне дешева. |
|
alex6636 Новичок Сообщения: 17
|
|
Валера12 Участник Сообщения: 40
|
xfriend,
http://12val12.livejournal.com/2023.html
под 9 рязрядный 7сегментник 16 мега
схему не рисовал но там и по программе видно .
разрешающая способность при токах до 100 ма 1 ма (стоит ОУ с оос (100к/4.7к)+1)
если ток выше меряется без усилителя
ловится 0.1 мВольт на шунте 0.12 .
тяните процедуры |
|
pcb432 Участник Сообщения: 244
|
Валера12. Вещь интересная. Но большинству трудно будет разобраться по программе.
Вот если бы в виде статьи почитать. |
|