Обсуждаем контроллеры компании Atmel.
Ответить

3-х разрядный ампервольтметр на атмега

Вс дек 20, 2020 16:31:31

Здравствуйте коты! я, к сожаленью, полнейший нуль в программировании. Помогите скрестить ежа и ужа. Нашёл в Сети видео вольтметра на семисегментном 3-х индикаторе
мк атмега_8 или атмега_16. предел 0...100в с точностью 0,1в... и амперметр 0...100а с точностью 0,1а. шунт 100а 75мВ. Вопрос как правильно скрестить две программы,
чтобы атмега оцифровывала поочерёдно эти переменные на входах PA0 и PA1 и выводила на два 3-х разрядных 7-индикатора ОА. программа для вольтметра и амперметра одна.
А вот как запихнуть эти две функции в одну микру?
Вложения
voltmeter_0_100v.png
(171.44 KiB) Скачиваний: 483
ampermeter_0_100a.png
(181.51 KiB) Скачиваний: 442
av_meter.zip
(45.77 KiB) Скачиваний: 387

Re: 3-х разрядный ампервольтметр на атмега

Вс дек 20, 2020 16:56:28

Вот есть готовая проверенная схема на пике https://vrtp.ru/index.php?act=categorie ... ticle=2792 там прошивка до 99,9А есть.

Re: 3-х разрядный ампервольтметр на атмега

Вс дек 20, 2020 18:52:08

А вот как запихнуть эти две функции в одну микру?

Вариант 1 - написать свою программу (прошивку), если умеете.
Вариант 2 - ОПЛАТИТЬ написание своей прошивки
Вариант 3 - Тщательнее искать нужную схему
Вариант 4 - купить готовый AV метр -
https://aliexpress.ru/item/1005001356302861.html

Re: 3-х разрядный ампервольтметр на атмега

Вс дек 20, 2020 18:58:50

5. Раз два индикатора, то ставить две атмеги и ничего никуда не запихивать (раз сам не можешь)...

Re: 3-х разрядный ампервольтметр на атмега

Вс дек 20, 2020 20:19:05

5 вариант не лучший...и да я ранше тоже сам паял на 7107 сначала дип а потом QFP
щас тупа заказали мешок разных с алехи и ставлю не парясь..
123 конечно возможен но толка из любви к трудностям=садо маза...
автору пока 4 вариан такого добра наштампованано на любой вкус и цвет ка с жидами так и на LCD

Re: 3-х разрядный ампервольтметр на атмега

Вс дек 20, 2020 22:39:30

Александр здравствуйте!
Вариант 2 - ОПЛАТИТЬ написание своей прошивки
если сможете написать, то дайте знать. такие головки я покупал в Китае и они у меня есть. но не подходят.

Re: 3-х разрядный ампервольтметр на атмега

Вс дек 20, 2020 22:55:11

Если бы я умел писать прошивки, то у меня проблем было бы намного меньше.. А так- приходится пользоваться тем, что кто- то написал :facepalm:

А чем вас китайские ампервольтметры не устраивают?
У меня тоже пара таких валяется, когда я их проверял, там амперметр, даже после попытки его настроить, врал раза в 1,5.. Но как- бы, проблемы с их использованием нет.. :dont_know:

Re: 3-х разрядный ампервольтметр на атмега

Пн дек 21, 2020 20:15:24

На AREF лучше опорник на TL431.
Естественно, программа в живую не проверялась.

Re: 3-х разрядный ампервольтметр на атмега

Ср дек 23, 2020 16:58:19

:o вах... так щаз мы её и проверим :solder: а там опорное +5в0 предполагается? а чем опорное питание с 7805 не нравиться?

Re: 3-х разрядный ампервольтметр на атмега

Сб дек 26, 2020 16:18:48

не компилирует код атмелстудия... ошибки какие-то... я такое починить не смогу :o :shock:
Вложения
av_meter.rar
(9.11 KiB) Скачиваний: 300

Re: 3-х разрядный ампервольтметр на атмега

Сб дек 26, 2020 19:24:54

Про атмел-студию ничего не могу сказать, т.к. не пользуюсь ей. Может быть, местные обитатели подскажут, как в ней собрать.
Я в командной строке make-ом собираю, avr-gcc компилятор.
Приложил собранный проект.

Re: 3-х разрядный ампервольтметр на атмега

Вс дек 27, 2020 09:44:57

8)
charchyard писал(а):не компилирует код атмелстудия... ошибки какие-то... я такое починить не смогу :o :shock:
Изображение

скопировал


вставил Atmel Studio 7.0 все, ничего там собирать не надо.

Re: 3-х разрядный ампервольтметр на атмега

Пн дек 28, 2020 13:00:43

да код рабочий :beer: теперь осталось понять куда в шпротеусе подключать вход делителя вольтметра и выход усилка амперметра и как индикаторы к меге подключать :shock: ну вот же тупой бл :?

Re: 3-х разрядный ампервольтметр на атмега

Пн дек 28, 2020 19:05:33

Вход делителя вольтметра и выход усилка амперметра - PA0, PA1.
Катоды (сегменты) всех индикаторов - как и в оригинальной схеме, через токоограничительные резисторы к порту PB.
Общие аноды 1-го 3-х разрядного индикатора - как в оригинальной схеме, через транзисторные ключи, старший PD7, средний PC0, младший PC1.
Общие аноды 2-го 3-х разрядного индикатора - так-же через транзисторные ключи, старший PС2, средний PC3, младший PC4.

Подключение сегментов жестко задано - порт PB с привязкой каждого сегмента к конкретному пину.
Код:
uint8_t code_numbers_indicator[11] ={40, 235, 49, 161, 226, 164, 36, 233, 32, 160, 255 };

Подключение общих анодов задано массивом
Код:
// 2 индикатора 6 цифр по-сегментно
typDigit aDisp[NumDigits] = {
  {&DDRD, &PORTD, 7, 10}, // общий анод старшего разряда 1-го индикатора
  {&DDRC, &PORTC, 0,  0}, // общий анод среднего разряда 1-го индикатора
  {&DDRC, &PORTC, 1,  0}, // общий анод младшего разряда 1-го индикатора
  {&DDRC, &PORTC, 2, 10}, // общий анод старшего разряда 2-го индикатора
  {&DDRC, &PORTC, 3,  0}, // общий анод среднего разряда 2-го индикатора
  {&DDRC, &PORTC, 4,  0}  // общий анод младшего разряда 2-го индикатора
};

Re: 3-х разрядный ампервольтметр на атмега

Вт дек 29, 2020 07:11:21

Подключение сегментов жестко задано - порт PB с привязкой каждого сегмента к конкретному пину.
Код:
uint8_t code_numbers_indicator[11] ={40, 235, 49, 161, 226, 164, 36, 233, 32, 160, 255 };
Меня както ARV научил как это писать правильней...
Чтобы изменить порядок ног сегментов теперь достаточно переписать их номера в первых 8ми строках и весь знакогенератор будет пересчитан автоматически.
Не спорю, наверно можно ещё правильней написать, например для ОА/ОК дисплеев автоматизировать перерисовку...

Re: 3-х разрядный ампервольтметр на атмега

Вт дек 29, 2020 09:46:47

Берете ардуину, пишете 10 строк, готово)
при условии AREF =5В
Код:
Напряжение на ноге= float(map(AnalogRead(A0),0, 1023, 0,500)/100)
Вывести на индикатор какой у вас там,
все тоже самое для тока

Re: 3-х разрядный ампервольтметр на атмега

Вт дек 29, 2020 11:16:55

Ivanoff-iv, вы, наверное, не смотрели 1-ый пост темы. Этот массив определен в приложенной к нему исходному коду программы в соответствии с приципиальной схемой. Предложенное вами решение, конечно-же, более универсальное. Что я и постарался сделать с ОА.
Но, "лишние" 44 строки текста при текущих 147 всей программы???

Рязанцев Владислав, а что готово-то?

Re: 3-х разрядный ампервольтметр на атмега

Вт дек 29, 2020 12:33:20

а что готово-то?

А что не готово? :)))
В среде ардуино все делается обычно подключением готовых библиотек. Можно за индикатор тот же TM1637 взять готовым модулем. Добавить библиотеку одна строка, вывести на него еще одна строка)

Re: 3-х разрядный ампервольтметр на атмега

Вт дек 29, 2020 13:19:01

этот код не усложнит чтение кода (т.к. лежит в отдельном файле) и не утяжеляет прошивку (т.к. обсчитывается на этапе компиляции)...
Ну... если проект окончательный и обжалованию... изменению не подлежит, то и ладно...
(в конце концов - кто код пишет, тот имена переменным и придумывает :))) :))) :))) )

Re: 3-х разрядный ампервольтметр на атмега

Вт дек 29, 2020 13:21:09

charchyard киньте пожалуйста ссылку на первоисточник откуда вы взяли эти схемы и код.
Ответить