Технический форум
Вернуться   Технический форум > Электроника, самоделки и техника > Форум по электронике > Микропроцессоры


Ответ
 
Опции темы Опции просмотра
Старый 19.12.2014, 09:58   #1 (permalink)
alex117
Member
 
Регистрация: 14.07.2014
Сообщений: 627
Сказал(а) спасибо: 13
Поблагодарили 22 раз(а) в 11 сообщениях
Репутация: 9966
По умолчанию Вольтамперметр на ATtiny13

Здравствуйте.
Есть кучка Attiny13 дисплей на контроллере HD44780 2х16 и желание собрать вольтамперметр для зарядного стройства. Вроде нашел схему АмперВольтметр на attiny13 » Меандр - занимательная электроника, но там непонятно, как подключать дисплей, куда подавать измеряемое напряжение и цеплять шунт для измерения тока.
Может кто-то повторял схему?
alex117 вне форума   Ответить с цитированием

Старый 19.12.2014, 09:58
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Советую посмотреть эти ссылки, там похожие на вашу темы

ATtiny13
Вольтамперметр ВА-140
Управление на ATtiny13

Старый 19.12.2014, 16:05   #2 (permalink)
korsaj
Member
 
Регистрация: 13.05.2011
Сообщений: 401
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 274
По умолчанию

Там все понятно. Питается устройство от акума, вывод V+ к плюсу аккума, V- к минусу, шунт 0,1 Ом между выводами GND-In и GND-Out. Дисплей подсоединять в той же последовательности что и на схеме, притом JP3 - это D7, D6, D5, D4, а JP4 - это E, R/W, RS, VLS, Vcc, Vss (все расписано с лева на право как в схеме).
Схему не проверял, можешь проверить в протеусе.
korsaj вне форума   Ответить с цитированием
Старый 12.03.2015, 11:22   #3 (permalink)
alex117
Member
 
Регистрация: 14.07.2014
Сообщений: 627
Сказал(а) спасибо: 13
Поблагодарили 22 раз(а) в 11 сообщениях
Репутация: 9966
По умолчанию

А не в курсе, как поправить прошивку, чтобы вместо LCD 16x2 использовать LCD 08x2 ?
Мне нужно убрать датчик температуры и сделать так, чтобы на первой строке выводилось напряжение, а на второй - ток.
Есть похожая схема для LCD 08x2, но там attiny26, которая дико дорогая, в отличие от 13-й тиньки.
alex117 вне форума   Ответить с цитированием
Старый 12.03.2015, 15:58   #4 (permalink)
alex117
Member
 
Регистрация: 14.07.2014
Сообщений: 627
Сказал(а) спасибо: 13
Поблагодарили 22 раз(а) в 11 сообщениях
Репутация: 9966
По умолчанию

Вот его исходник (жирным выделил, как я думаю, то, что касается дисплея):
Цитата:
'------------------------------------------------------------------------------'
'Program: miniaturowy miernik do zasilacza na attiny13 i LCD '
'Wersja z 64 próbkami i wyœwietlaniem œredniej '
'kompilator: bascom 1.11.9.0 data: 23.12.2009 autor: Manekinen '
'strona domowa projektu: mdiy.pl | wolno? wariacie w swoim warsztacie '
'wszelkie modyfikacje dozwolone, publikuj¹c nale¿y zachowaæ ten nag³ówek '
' WY£¥CZNIE DO U¯YTKU NIEKOMERCYJNEGO '
'------------------------------------------------------------------------------'

Const Pullup = 6 'ile mV b³êdu wprowadza pullup wyœwietlacza pod³¹czony do gnd poprzez 100ohm... troche nieeleganckie ale proste i skuteczne

$regfile = "attiny13.dat"
'$regfile = "m8def.dat"
$crystal = 1200000
'$crystal = 2000000
$hwstack = 8
$swstack = 16
$framesize = 16

'$noramclear
'$sim

Dim Pomiar As Word
Dim Pokaz As String * 4
Dim Pokaz2 As String * 4
Dim Znak As Byte
Dim Licz As Byte
Dim Petla As Byte

Declare Sub Mierz
Declare Sub Formuj
Declare Sub Wyswietl

Config Adc = Single , Prescaler = Auto , Reference = Internal 'off
Start Adc

Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Portb.4 , Db6 = Portb.3 , Db7 = Portb.5 , E = Portb.1 , Rs = Portb.0

Cursor Off
Cls


Do

Upperline 'od nowa dla napiêcia i pr¹du
Licz = 1 'adc dla napiecia
Mierz 'mierzy i formuje napiêcie
'Moc = Pomiar 'kopia dla obliczeñ mocy
Znak = 86 'znak dla napiêcia
Wyswietl 'wyœwietla napiêcie

Licz = 3 'adc dla pr¹du ------- ??????
Mierz 'mierzy i formuje pr¹d
'w pomiar zostaje pr¹d
Pokaz2 = Format(pokaz , "0.00") 'forumje pr¹d drugi raz
Znak = 65 'znak dla pr¹du
Wyswietl 'wyœwietla pr¹d

'Lowerline 'od nowa dla temperatury i mocy
'Mnozenie
'Pomiar = Moc * Pomiar 'liczy moc
'Pomiar = Pomiar / 100
'Formuj
'Znak = 87 'znak dla mocy
'Wyswietl 'wyœwietla moc

Licz = 0 'adc dla temperatury
Mierz 'mierzy i formuje temperaturê
Znak = 42 'znak dla temperatury
Wyswietl 'wyœwietla temperaturê


Loop
'_______________________
Mierz:
Pomiar = 0
Petla = 0

Do
Incr Petla
Pomiar = Pomiar + Getadc(licz) 'sumuje pomiary
Pomiar = Pomiar - Pullup 'za ka¿dym razem odejmuje napiêcie pullupa
Loop Until Petla = 64 '64 próbki

Shift Pomiar , Right , 6 '6/64
If Pomiar > 999 Then Pomiar = 0 'granica do 99.9


Formuj:

Pokaz = Str(pomiar)
Pokaz2 = Format(pokaz , "00.0")
Return


Wyswietl:
Ddrb = &B111111
Lcd Pokaz2 ; Chr(znak) ; Chr(32)
Ddrb = &B010011
Return
Нужно сделать вот так:
Миниатюры
aacuiyiiue.png  

Последний раз редактировалось alex117; 12.03.2015 в 16:06
alex117 вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

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

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




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

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.