Page 6 of 7

Re: Вольтметр на ATTINY2313

Posted: 15 May 2013 19:19
by Serioga
nicron, По какой печатке делал ?
Каким программатором и программой шил ?
Питание сразу появляеться, какое ?

Re: Вольтметр на ATTINY2313

Posted: 15 May 2013 21:25
by Cry Baby
nicron, фьюзы не забыли запрограммировать? Похоже, с тактовой частотой что-то не то. Кварц в порядке?
И что с разрядом индикатора, где "1" загорается во втором ролике? Яркость слишком мала, или это на видео так получилось?

Re: Вольтметр на ATTINY2313

Posted: 16 May 2013 12:54
by nicron
Serioga, Cry Baby,
Печатку свою разводил, сейчас показать не могу - ноут навернулся :(
Программатор AVR-PG1B, программа PonyProg, attiny2313 она у меня почему-то "не долюбливавет" - часто ошибку "-24" выдает. При первом подключении удалось только флеш залить, фьзы только на следующий день поставил, проверял несколько раз перед тем как зашивать. Кварц должен быть в порядке, новый. Сам индикатор в порядке, там все разряды тускло горели (именно в вольтметре), а "1" хуже всех был.
ДДо включения индикаора питание с 15 до 8-10 В падает, на мк ~3,6 В, потом снова 15 и на мк 5В.

Re: Вольтметр на ATTINY2313

Posted: 16 May 2013 14:37
by Serioga
nicron, Что то мне подсказывает что нужно сделать нормальный программатор
и не иметь в будущем проблем.

Re: Вольтметр на ATTINY2313

Posted: 16 May 2013 17:50
by IYra
nicron wrote: ДДо включения индикаора питание с 15 до 8-10 В падает, на мк ~3,6 В, потом снова 15 и на мк 5В.
Не должно такого быть. Что-то с питанием или коротит где-то. Надо бы токи посмотреть в разных точках.

Re: Вольтметр на ATTINY2313

Posted: 17 May 2013 20:40
by nicron
IYra, Токи, к сожалению померить не могу - китайский мультиметр отказался выполнять эту функцию еще пару месяцев назад.
Вот печатка. Кому интересно, могу весь проект в альтиуме скинуть.
Вольтметр atiiny2313.PNG
P.S. Разобрался с первым вольтметром (там был виноват резистор в делителе), осталось настроить; есть у кого готовая прошивка с измененными константами, где вместо нуля вольтметр показывал 0,030? (Самому как-то не хочется в эти дебри лезть)

Re: Вольтметр на ATTINY2313

Posted: 19 May 2013 17:09
by Cry Baby
Вот. Будет ноль)

Re: Вольтметр на ATTINY2313

Posted: 09 Jun 2013 14:12
by nicron
Всем снова здравствуйте.
Помогите разобраться в принципе работы.
В "Радио" написано следующее: "Как только нарастающее напряжение превысит измеряемое, на выходе компаратора DA3 установится низкий логический уровень. Спад сигнала на входе ISP контроллера DD1 приведет к записи в регистр ICR1 содержимого счетного регистра TCNT1, запрос на прерывание по событию "захват" и вызов подпрограммы обработки прерывания."
Не могу понять, как на 11 (ISP) входе мк может установиться низкий логический уровень, если туда постоянно подается +5 В через резисторную сборку DR1?
Объясните, пожалуйста.

Re: Вольтметр на ATTINY2313

Posted: 09 Jun 2013 15:02
by Serioga
nicron, Даже не знаю сходу что и сказать, такой вопрос...
В статье все правельно написано.
А если представить что со второй стороны не выход компаратора а просто резистор
значительно меньше 2.7к относительно общего (минуса), тогда что будет ?

Re: Вольтметр на ATTINY2313

Posted: 09 Jun 2013 19:08
by Cry Baby
nicron wrote:Не могу понять, как на 11 (ISP) входе мк может установиться низкий логический уровень, если туда постоянно подается +5 В через резисторную сборку DR1?
Компаратор LM393 с "открытым коллектором", ему нужна подтяжка на "+" питания. Для этого используется резистор сборки.

Re: Вольтметр на ATTINY2313

Posted: 09 Jun 2013 20:00
by nicron
Cry Baby, типа резистор сборки является коллекторной нагрузкой выходного транзистора, так что ль?
P.S. Строго не судите. С незнакомыми схемами я в схемотехнике не очень шарю.

Re: Вольтметр на ATTINY2313

Posted: 10 Jun 2013 07:35
by Cry Baby
Именно так.

Re: Вольтметр на ATTINY2313

Posted: 26 Feb 2017 21:16
by Fram_err
Приветствую всех. Тоже собрал вольтметр, весьма неплохо себя проявил. Можно немного модернизировать схему, питая прибор от 5 Вольт. Напряжение +15 В брать от повышающего DC-DC преобразователя, например MT3608, существенно снизив ток потребления и нагрев линейного "кипятильника". Да и 5 Вольт легче найти. Думаю амперметру 15 Вольт не нужно, ведь напряжение, снимаемого с токового шунта едва ли перевалит за вольт.

Re: Вольтметр на ATTINY2313

Posted: 22 Jul 2017 21:16
by Fram_err
Позволил себе чуток изменить разводку. Убрал линейный стабилизатор, для уменьшения перемычек подредактировал дорожки к индикатору. Прошивка пока не полностью готова, напишите если кого заинтересует, постараюсь поскорей закончить. Плата в архиве.
Image
Image

Re: Вольтметр на ATTINY2313

Posted: 20 Sep 2017 09:10
by max64rus
Приветствую формучане. Искал себе в лбп вольтметр и наткнулся на этот а обсуждение его нашел только здесь, собрал на скорую руку на макетке, все на соплях но запустилось почти сразу и даже в таком состоянии его точность меня поразила собственно у меня три цыфры последний разряд мне не нужен. поигрался над ним пытался уменьшить емкость интегрирующего конденсатора за счет уменьшения тока стабилизации lm317 но не вышло пила по осциллографу становится нелинейная, видать не умеет lm такие маленькие токи стабилизировать ну или может я чего не понимаю ну да ладно, самая основная проблема обнаружилась когда стал поднимать яркость индикаторов за счет уменьшения номинала резисторов( индикатор зеленого свечения) в итоге она оставалась все ровно слабой и потом посмотрев осцилом на выводы индикатора понял в чем проблема. Время индикации составляет всего лишь процентов 30-40 остальное время он не светится понятно что так заложено в прошивке но может понимающие люди смогут это подправить или это слишком сложно и надо всю программу переписывать ? Просто аналогов данному вольтметру не нашел а нужен именно яркосветящий зеленый индикатор. А тут такой подвох :( .Чтоб самому в этот асемблер вникнуть наверно пол года уйдет точно.

Re: Вольтметр на ATTINY2313

Posted: 24 Sep 2017 11:00
by Fram_err
Для уменьшения тока LM317 нужно поставить повторитель на ОУ. Более подробно https://cloud.mail.ru/public/DEze/pdCsjzvKi (страница 374). По поводу индикатора: в прошивке можно увеличить время свечения. Схема из статьи? Еще напиши название индикатора, и какого номинала стоят резисторы.

Re: Вольтметр на ATTINY2313

Posted: 24 Sep 2017 13:25
by max64rus
По поводу стабилизатора тока понял, спасибо за ответ. Но в принципе наверно не буду усложнять схему из за уменьшения ёмкости конденсатора. Не сильно критичны гаабариты (я просто поделился своими экспериментами так сказать) а вот яркость для меня критична. А вы пишите что можно увеличить время свечения я правильно понимаю что пауза когда индикаторы не светятся остаётся такой же? И сложно ли это сделать увеличить время свечения? В исходнике смотрел там есть два комментария какие то, общее время свечения и ещё какое то не помню, сейчас глянуть не могу все на работе. Это их что ли менять надо? Да схема из журнала и прошивка от туда же ну изначальная не переделанная так сказать. Резисторы начинал со 120 ом ну и 80 и 30 ставил в итоге вообще напрямую включил я так понял уже сами порты МК ток ограничивают при этом ни МК ни индикатор даже не греются все холодное. До этой схемы собирал на пике с внутренним АЦП так там и МК и индикатор чуть тёплые были и яркость была как мне надо индикатор один и тот же в обоих схемах но там непрерывная так сказать индикация без пауз цифра за цифрой. Марку индикаторов в понедельник напишу под рукой нету.

Re: Вольтметр на ATTINY2313

Posted: 24 Sep 2017 17:43
by Fram_err
Резисторы менее 100 Ом не стоит подключать, тем более напрямую. Вообще сборку DR1 можно исключить, оставить только резистор на 1-ю ногу контроллера. Базы транзисторов VT3-VT6 подключить непосредственно к ногам DD1.

Re: Вольтметр на ATTINY2313

Posted: 25 Sep 2017 17:51
by max64rus
Ну вот на пике в вольтметре у меня как раз сто ом стоит и светится ярко (но там каждая цифра светится одну треть времени) а здесь даже напрямую не на столько ярко. Транзисторы открываются нормально. Ну на счет сборки убрать ее можно если в мк внутренняя подтяжка к плюсу включена. И то не слабая ли это будет нагрузка для выхода компаратора. Так базы транзисторов по схеме и так подключены напрямую там только опять же подтяжка к плюсу через DR1. Кстати индикатор kingbright BA56-12GWA. Так все же не подскажите что в исходнике поменять или хоть в какой области это глядеть для увеличения времени индикации? Вы я так понимаю разбираетесь в этом вотличии от меня.

Re: Вольтметр на ATTINY2313

Posted: 25 Sep 2017 19:31
by Fram_err
Прошу прощенья, про резистор компаратора не доглядел, его тоже оставить :unsure: Для увеличения яркости свечения находим строчку "ldi r21, 0x04" и изменяем значение 0x04 в большую сторону.

Re: Вольтметр на ATTINY2313

Posted: 26 Sep 2017 22:23
by max64rus
Огромное спасибо Fram_err за подсказку по поводу строчки длительности индикации. Попробовал с начало в протеусе увеличил до десяти и по осциллограммам получил то чего хотел ну за исключением что один импульс на четвертую цифру мне не нужен так как использую только три. Прошил мк яркость увеличилась и чуть не начал плату разводить как заметил что в диапазоне от 3в до 3.3в примерно индикатор хаотично моргает, какая то каша, во всем остальном диапазоне норм. начал убавлять и только при значении 6 в этой строчке этот косяк пропадал. длительность индикации уменьшилась и яркость соответственно тоже. Ну видать не судьба мне с этим вольтметром видно там капитально надо переделывать. чтож бум другие схемы пробовать.

Re: Вольтметр на ATTINY2313

Posted: 28 Sep 2017 21:34
by Fram_err
max64rus, если есть желание доделать вольтметр, то могу помочь с прошивкой. Но проблема в том, что у меня сейчас нет железа для отладки. Если что, напишите мне в личку, а после завершения выложим готовый вариант на форум.

Re: Вольтметр на ATTINY2313

Posted: 30 Sep 2017 21:00
by IYra
max64rus wrote:Огромное спасибо Fram_err за подсказку по поводу строчки длительности индикации. Попробовал с начало в протеусе увеличил до десяти и по осциллограммам получил то чего хотел ну за исключением что один импульс на четвертую цифру мне не нужен так как использую только три.
Попробуй заменить функцию disp на

Code: Select all

                        ;вывод на индикатор
DISP:	wdr		;
	in r1, SREG	;
	push r16	;
	push r17	;
	push r18	;
	push r19	;
	push r20	;
	push r21	;
	push r26	;
	push r27	;
	lds r18, 0x0068	;счетчик АЦП
	tst r18		;    Проверить счетчик
	breq d1		;    если 0 перейти на d1
	dec r18		;    иначе -1
	sts 0x0068, r18	;и запись в счетчик
d1:	lds r18, 0x0069	;счетчик тиков 8.1 мс
	tst r18		;
	breq d2		;
	dec r18		;
	sts 0x0069, r18	;
d2:	lds r18, 0x006a	;счетчик тиков
	clc		;
	cpi r18, 0x3e	;Сравнить c константой
	brsh d3		;больше или равно 61
	inc r18		;меньше 61
	sts 0x006a, r18	;счетчик тиков
	ser r18		;    установить все биты регистра 
	sts 0x0060, r18	;установка маски
	rjmp d4		;
d3:	clc		;больше 61
	cpi r18, 0x7a	;
	brsh d8		;больше или равно 122
	inc r18		;меньше 122
	sts 0x006a, r18	;счетчик тиков
	clr r18		;
	sts 0x0060, r18	;сброс маски
	rjmp d4		;
d8:	clr r18		;больше 122        
        sts 0x006a, r18	;сброс счетчика
d4:	ldi r16, 0x04	;кол-во индикаторов

    lds r17, 0x0080	;счетчик индикаторов
    tst r17 ;
    brne d11 ;
    ldi r17, 0x01	;первый индикатор
d11:  lsl r17		;следующий индикатор Логически сдвинуть влево
    cpi r17, 0x10;   
    brlo d10		; меньше 00010000
    ldi r17, 0x01	;первый индикатор
d10:  sts 0x0080, r17	;


	clr r27		;
	ldi r26, 0x61	;начальный адрес ОЗУ индикатора
d7:	in r18, PORTD	;
	andi r18, 0xf0  ;
	or r18, r17	;выделение номера индикатора
	out PORTD, r18	;включение индикатора
	ld r19, X+	;загрузка семисегментного кода
	lds r20, 0x0067	;маска индикаторов
	or r19, r20	;
	out PORTB, r19	;включение сегментов

	pop r27		;
	pop r26		;
	pop r21		;
	pop r20		;
	pop r19		;
	pop r18		;
	pop r17		;
	pop r16		;
	out SREG, r1	;
	reti	
Должна каждая цифра включаться последовательно на 8мс
Итого 32мс на 4 индикатора. Получается 30Гц. Может моргать

Re: Вольтметр на ATTINY2313

Posted: 01 Oct 2017 15:51
by max64rus
IYra, Заменил, скомпилировал, прошил. Мерцания видны не вооруженным взглядом плюс ко всему при инициализации загораются все восьемерки а при работе на всех индикаторах одна и таже цифра из какого именно разряда не понятно. тоесть 111, 222, 333, 444 .... ну и т д как то так.

Re: Вольтметр на ATTINY2313

Posted: 02 Oct 2017 19:52
by IYra
max64rus wrote: Мерцания видны не вооруженным взглядом плюс ко всему при инициализации загораются все восьемерки а при работе на всех индикаторах одна и таже цифра из какого именно разряда не понятно. тоесть 111, 222, 333, 444 .... ну и т д как то так.
Это я подправил. Мерцание пока оставил (30гц). Если сделать вывод на 3 индикатора - то будет 40 гц.

Code: Select all

                        ;вывод на индикатор
DISP:	wdr		;
	in r1, SREG	;
	push r16	;
	push r17	;
	push r18	;
	push r19	;
	push r20	;
	push r21	;
	push r26	;
	push r27	;
	lds r18, 0x0068	;счетчик АЦП
	tst r18		;    Проверить счетчик
	breq d1		;    если 0 перейти на d1
	dec r18		;    иначе -1
	sts 0x0068, r18	;и запись в счетчик
d1:	lds r18, 0x0069	;счетчик тиков 8.1 мс
	tst r18		;
	breq d2		;
	dec r18		;
	sts 0x0069, r18	;
d2:	lds r18, 0x006a	;счетчик тиков
	clc		;
	cpi r18, 0x3e	;Сравнить c константой
	brsh d3		;больше или равно 61
	inc r18		;меньше 61
	sts 0x006a, r18	;счетчик тиков
	ser r18		;    установить все биты регистра 
	sts 0x0060, r18	;установка маски
	rjmp d4		;
d3:	clc		;больше 61
	cpi r18, 0x7a	;
	brsh d8		;больше или равно 122
	inc r18		;меньше 122
	sts 0x006a, r18	;счетчик тиков
	clr r18		;
	sts 0x0060, r18	;сброс маски
	rjmp d4		;
d8:	clr r18		;больше 122        
        sts 0x006a, r18	;сброс счетчика
d4:	ldi r16, 0x04	;кол-во индикаторов

    lds r17, 0x0080	;счетчик текущего индикатора (0-3)
	inc r17 ;        увеличиваем на 1
    cpi r17,0x03 ;   сравниваем с 4
    brlo d10     ;   если меньше - записываем в память
	clr r17      ;   если 4 - присваиваем 0
d10:  sts 0x0080, r17	;
    clr r27      ;   Регистр косвенной адресации X=R27:R26
	ldi r26, 0x61	;начальный адрес ОЗУ индикатора
    add r26, r17	; 
    mov r18, r17    ; Копировать r17 в r18
    ldi r17,0x01    ;
d11:  tst r18 ;
    breq d7   ;
    lsl r17	  ;следующий индикатор Логически сдвинуть влево
	dec r18   ;
    rjmp d11  ; 
	                ;
d7:	in r18, PORTD	;
	andi r18, 0xf0  ;
	or r18, r17	;выделение номера индикатора
	out PORTD, r18	;включение индикатора
	ld r19, X	;загрузка семисегментного кода
	lds r20, 0x0067	;маска индикаторов
	or r19, r20	;
	out PORTB, r19	;включение сегментов

	pop r27		;
	pop r26		;
	pop r21		;
	pop r20		;
	pop r19		;
	pop r18		;
	pop r17		;
	pop r16		;
	out SREG, r1	;
	reti		;

Здесь строчка

Code: Select all

    cpi r17,0x03 ;   сравниваем с 3
выводит 3 цифры