avatar_enek

Клонирование Watt's Up метра

Автор enek, 27 Дек. 2012 в 23:44

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

enek

Весной 2012 года я стал обладателем замечательного прибора Watt's-Up Meter. Прозрачный корпус все никак не давал мне покоя, не долго думая, я его разобрал. Внутри стоял маленький дисплейчик GDM1602H 16 символов 2 строки, размером 65.5х36.7. К нему я успешно подключил большой OLED дисплей,плату я поместил в контроллер, а дисплей вынес на руль.

На фото: стабилизатор 5В поставил импульсный, шунт в контроллере задействовал от ватт метра, убил сразу двух зайцев, стоит тумблер 3 положения - им я переключаю ограничение мощности 800,1500 и 2800Вт. Плату покрывал автомобильным герметиком, т.к. первое время она болталась на раме.
На плате имеются контакты для прошивки, как оказалось стандартный разьем 6-pin AVR ISP. Микроконроллер tiny26l, я подключил программатор, защиты не было, удалось слить прошивку и eeprom.
Теперь хочу клонировать сей чудо девайс. Покупал я его на ebay.com, отдал около 1700р.
По моим подсчетам можно купить все необходимое в элитане, дисплей с ebay:
ATTINY26L-8SU@ATMEL - 53.3 р
LM2936HVBMA-3.3@TI - 70.3р
1602 hd44780 - ebay.com от US $2.20 - 70,4р
оригинальный резистор 1 мОм 1% в продаже не нашел, но...
аналогичный шунт R1 WSR31L000FEA@VISHAY - 112р
или для больших токов WSR51L000FEA@VISHAY- 314р
Итого получается около 300р, не считая платы и мелких деталей.

Итак, приступим... После жестокого обращения, убеждаюсь в работоспособности, быть может в последний раз... :kidding:

на фото для сравнения мелкий дисплей - тот который был, средний - обычный символьный и огромный OLED.
Плата после очистки от герметика

Сдул микроконтроллер и стабилизатор.

Таким образом можно сделать прибор доступным для самостоятельной сборки. Я хочу поставить такой на зарядку (было очень удобно следить за процесом зарядки, но не удобно постоянно перетыкать коннекторы) думаю можно поставить отдельно на рекуперацию, следить за током и смотреть сколько энергии вернули. А можно шунт поставить на 1 Ом и считать миллиамперы в час.
Пока всё, продолжение следует, как будет время нарисую плату, напишу номиналы всех деталей и выложу прошивку.
Что не убивает мой вел, то делает его сильнее...

zap

Нафиг его клонировать, лучше сделать свой собственный, гораздо лучше.
Я бы сделал, но в голове столько идей - реализовывать не успеваю B-)
С уважением,
Андрей

Поражаю масштабностью некопмпетентность (ц) из лички

TRO

Отлично, прошивку давай сразу, может сообща поковыряем особенно если кода там мало. Если дело выгорит хотелось бы добавить замер и прдсчёт рекуперации и обратного тока, плюс некоторые фишки цикл аналиста.

Wahoo 2012 29er, +собран складной двухосис на раме"Land Rover" 69er с эл. мотором, и и МОНОКОЛЕСО

enek

#3
такая же проблема, тоже идей полно, но начну пока с простого... может у кого-то нет подобного прибора, еще катают на свинце, а тут можно будет самостоятельно собрать и не дорого.
Вот прошивка с eeprom, а также фьюзы.

Думаю фьюзы лучше в hex снять, low и high. Сразу не додумался, давно дело было...
Что не убивает мой вел, то делает его сильнее...

FAS_r7

за прошивку отдельное спасибо!   я когда свой такой пару лет назад зажарил (попало высокое на вход АЦП)  то очень долго переживал из-за отсутствия прошивки.  и даже думать не мог, что нет  защиты в рабочих дивайсах.

andreym

За тему респект!
у меня мой не так давно скопытился - можно будет попробовать его оживить заодно и апнуть немного :)))
может правда есть смысл сделать более умное устройство?
русский вариант аналиста задешево был бы очень в кассу.
тем более с оледом :)

zap

Обратный ток не получится замерить из-за того, что напругу на шунте меньше нуля он не приучен мерять.
Надо схемку чутка менять, вносить смещение, калибровать его...
С уважением,
Андрей

Поражаю масштабностью некопмпетентность (ц) из лички

enek

кстати, калибровки возможно сохраняются в памяти eeprom, выложил в архиве.
Что не убивает мой вел, то делает его сильнее...

acyd

Интересно, первые turnigy 130а, клоны ватсапа,  аппаратно совместимы с watt`up ом?
GT power, его клон пока все еще на тиньке, дешев и доступен, а новые turnigy 130 уже на другой микросхеме или вообще на черной капле и больше 60в не корректно работают.

TRO

#9
У меня щас валяются пара сгоревших ватметров с встроенными балансирами.
Так они на меге 16L собраны.
Была мысля схему разрисовать и софт самому написать (но дела насущные всё откладывают это занятие, купил третий)



Причём он по нажатию двух кнопок калибровался на ноль(ток).

В принцыпе ели делать самому, то меня интересует только входные цепи с шунта, и немножко непонятно как они умудряются встроенным в контроллер ацп мерять напряжение и ток с приемлимой точностью

Wahoo 2012 29er, +собран складной двухосис на раме"Land Rover" 69er с эл. мотором, и и МОНОКОЛЕСО

enek

#10
только что накидал плату, номиналы указал

можно пробовать собирать, займусь позже.
с одним резистором не понятно - на нем написано 49Н, маркировка плохо читаемая. тестером замерил 3.16к. диод MELF с голубой полосой не опознал, он выпрямительный для защиты от переполюсовки. все керамические конденсаторы 100n, танталовый 10мкФ.
Что не убивает мой вел, то делает его сильнее...

zap

Цитата: TRO от 28 Дек. 2012 в 11:33
У меня щас валяются пара сгоревших ватметров с встроенными балансирами.
Так они на меге 16L собраны.
Знакомое дело :) Если это HK-006, то у меня такой же сгорел на ровном месте.

Цитата: TRO от 28 Дек. 2012 в 11:33
В принцыпе ели делать самому, то меня интересует только входные цепи с шунта, и немножко непонятно как они умудряются встроенным в контроллер ацп мерять напряжение и ток с приемлимой точностью
Нет там никакой приемлемой точности. Там даже интегрирующий фильтр не реализован, последите во время зарядки как скачут доли вольт при постепенном увеличении напряжения.

Если сделать обычный цифровой интегрирующий фильтр с длинной историей (а при такой частоте обновления экрана это не проблема) то можно увеличить разрядность до 11, а то и до 12 бит.
С уважением,
Андрей

Поражаю масштабностью некопмпетентность (ц) из лички

enek

Цитата: TRO от 28 Дек. 2012 в 11:33
У меня щас валяются пара сгоревших ватметров с встроенными балансирами.
Так они на меге 16L собраны.
можно мегу сдуть и попробовать прошивку слить.
Что не убивает мой вел, то делает его сильнее...

TRO

Цитата: enek от 28 Дек. 2012 в 12:28
Цитата: TRO от 28 Дек. 2012 в 11:33
У меня щас валяются пара сгоревших ватметров с встроенными балансирами.
Так они на меге 16L собраны.
можно мегу сдуть и попробовать прошивку слить.
Ну на первой дохлый номер, там на мегу высокое пошло, она щас в КЗ.
А вторую я ещё не ковырял, после праздников займусь (хотя судя по дыму из неё, там таже фигня).

Wahoo 2012 29er, +собран складной двухосис на раме"Land Rover" 69er с эл. мотором, и и МОНОКОЛЕСО

VVK

Цитата: TRO от 28 Дек. 2012 в 13:27
Цитата: enek от 28 Дек. 2012 в 12:28
Цитата: TRO от 28 Дек. 2012 в 11:33
У меня щас валяются пара сгоревших ватметров с встроенными балансирами.
Так они на меге 16L собраны.
можно мегу сдуть и попробовать прошивку слить.
Ну на первой дохлый номер, там на мегу высокое пошло, она щас в КЗ.
А вторую я ещё не ковырял, после праздников займусь (хотя судя по дыму из неё, там таже фигня).

А как вы считываете прошивки? Там разве биты защиты не установлены?

enek

я имел ввиду с рабочего слить прошивку, даже сдувать не обязательно, по даташиту посмотреть распиновку для внутрисхемного программирования. проводки подпаять и программатором слить. потом горелую мегу поменять на новую и залить прошивку.
у меня на плате уже есть разьем 6pin ICSP, программатор самодельный, подключил и слил без проблем, как два байта переслать, ни какой защиты не было.
Что не убивает мой вел, то делает его сильнее...

TRO

Третий который я купил другой системы, так что рабочего для слива нетути.

Wahoo 2012 29er, +собран складной двухосис на раме"Land Rover" 69er с эл. мотором, и и МОНОКОЛЕСО

enek

Операция не удалась.
Спойлер
Сделал платку с помощью фоторезиста,

перенес тиньку

поигрался немного

Все работает.
Тини26 у нас в деревне не продают, решил проверить прошивку на рабочей, считал память и решил залить заново. В результате память мк пустая, на дисплее верхняя строка черная.  :pardon:
Потом до меня дошло - защита была. Я не внимательно посмотрел, в конце было написано disabled.

:eureka:Теперь буду писать свою прошивку. Вот так бывает, халявой был сильно увлечен, но освоил фоторезист :-)
Пока выложу плату и тестовую прошивку, выводит надпись TEST. Мне не хватало вывода температуры, теперь есть повод добавить. Продолжение следует, вывод на экран освоил, вкуриваю АЦП...


Что не убивает мой вел, то делает его сильнее...

acyd

#18
Вы молодец, продолжайте!
Модифицированная прошивка на ваттметр turnigy130 (он клон ватсапа), пролетала в теме про него, ею занимался tony16
https://electrotransport.ru/index.php/topic,6740.18.html
А ребята с намецкого сайта спидометр к нему примонстрячили :-D
А тиньку можно взять покруче c той же распиновкой? а то 2к памяти вообще мало. И кстати измеряемый вольтаж нужно минимум 70в а лучше 150, тогда прибор будет очень актуален.
Я обязательно повторю эту схему.
В самом простом варианте он интересен как показометр для зарядного устройства, только тут надо выносные калибровки по напряжению и току

enek

Ну вот, уже веселее, прошивку залил, пишет TURNIGY и висит, читаю дальше... схема один в один как я делал плату, номиналы те же.
Что не убивает мой вел, то делает его сильнее...

enek

Получилось получить рабочие прошивки из исходников от tony16.

А также с pedelecforum.de

Буду тестировать.
Что не убивает мой вел, то делает его сильнее...

acyd

Цитата: enek от 31 Дек. 2012 в 19:17
Получилось получить рабочие прошивки
Это просто подарок! Спасибо! :dance:
Надо будет прикинуть базовый функционал, и список деталей. А также инструкцию по прошивке.

enek

#22
в прошивке v2 максимальное напряжение 65В и макс ток 133А, в watt's up было 70.24V 143.92A
Что не убивает мой вел, то делает его сильнее...

acyd

Цитата: enek от 31 Дек. 2012 в 19:47
в прошивке v2 максимальное напряжение 65В и макс ток 133А, в watt's up было 70.24V 143.92A
Если прошивка компилируется, исходник можно и поправить. На сферах точно была прошивка до 80в.
Можно еще надыбать attiny 861, 8кв против 2-х с заделом на продвинутую версию.

enek

#24
attiny861 хорошая идея, мне сейчас 2кБ в тини26 не хватает. ATtiny167 будет еще лучше - 16кБ. Хочу сделать измерение температуры, точнее уже сделал на BASCOM-AVR, но памяти остается только на вольтметр с термометром. Датчик температуры ds18b20 работает по двум проводам с паразитным питанием, подключен к свободной 11 ноге с подтягивающим резистором 4.7к Ом к питанию. Вот рабочий код.
Спойлер

$regfile = "attiny26.dat"
$crystal = 8000000
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portb.1 , Db6 = Portb.2 , Db7 = Portb.3 , E = Portb.4 , Rs = Portb.6
Config Pinb.5 = Output                                     ' rw Ausgang auf 0
Portb.5 = 0

Initlcd
Cls
Waitms 50
Config Adc = Single , Prescaler = Auto , Reference = Internal
Start Adc
   'Declare Sub Readtemp
  Cursor Noblink

Dim Ds18b20_scratchpad(9) As Byte
Dim Ds18b20_integer_temp As Integer At Ds18b20_scratchpad Overlay
Dim Ds18b20_single_temp As Single
Dim I As Byte

Dim X As Word
Dim Xx As Single
Dim V As Single
' Dim A As Single
'Dim W As Single
'Dim Ah As Single
'Dim Wh As Single
' Dim N As Integer
    Config 1wire = Porta.7
1wreset
1wwrite &HCC
1wwrite &H4E
1wwrite &B00000000
1wwrite &B00000000
1wwrite &B00111111
1wreset

Do

1wreset
1wwrite &HCC
1wwrite &H44

Config Pina.7 = Output
Set Porta.7
Waitms 300
Config Pina.7 = Input                                      ' The pin used for the DQ line is set as input.
Reset Porta.7
1wreset                                                    ' Master issues reset pulse.
1wwrite &HCC                                               ' Master issues the Skip ROM command.
1wwrite &HBE                                               ' Master issues Read Scratchpad command.
For I = 1 To 9                                             'Master reads entire scratchpad including CRC.
    Ds18b20_scratchpad(i) = 1wread()                        ' Master reads entire scratchpad.
    Next I
Ds18b20_single_temp = Ds18b20_integer_temp * 0.0625

Locate 1 , 1
'Lcd "Temp :"
Lcd Ds18b20_single_temp




      X = Getadc(2 )                                        'Spannung V auslesen
     V = X * 0.0635                                         'Umrechnungsfaktor
   '   X = Getadc(0 , 11)                                    'Strom A auslesen
    '  If X >= 14 Then                                       'Offset korrigieren
   '      X = X - 14
   '  Else
    '     X = 0
   '   End If
    '  A = X * 0.134                                         'Umrechnungsfaktor
    '  'W = V * A                                             'Leistung W
      'Xx = A / 6000                                        'xx sind Ah in 500ms
                                                            'Amperestunden Ah
      'Ah = Ah + Xx                                          'Faktor erhohen vermindert Ah
      'Xx = W / 6120                                         'xx sind Wh in 500ms
                                                            'Wattstunden Wh
     ' Wh = Wh + Xx                                          'Faktor erhohen vermindert Wh
      Locate 2 , 1                                          'LCD Ausgabe
      Lcd Fusing(v , "#.##")
     ' Locate 1 , 5
      Lcd "V"

     ' Lcd Ah
     ' Locate 1 , 15
     ' Lcd "Ah"
     ' Locate 2 , 8
      'Lcd A
     ' Locate 2 , 16
     ' Lcd "A "
      'Lcd W
      'Locate 2 , 10
      'Lcd "W "
      'Lcd Wh
      'Locate 2 , 15
      'Lcd "Wh"

      'Waitms 300
Loop
End
сейчас на С пишу, урезаю библиотеку lcd, чтобы освободить память.

acyd, а какие желаемые требования к данному прибору? Напряжение до скольки В? Ток? На нужные диапазоны измерений сделать не проблема, вот только точность пострадает.
Я пока хотел бы выводить V, A, Ah и temp. Чтобы выводить больше данных то думаю удобнее использовать дисплей 20х4, собираюсь прикупить с ebay, или в элитане взять OLED.
Кстати, у меня давно уже лежит без дела датчик тока acs756, с диапазоном от -50 до +50А, хочется на него перейти. На ebay можно приобрести acs758, токи +-50А, +-100А, +-150А, +-200А. Внутреннее сопротивление шунта 0.1мОм. Тут отпадает необходимость подстройки нуля тока и имеем более эффективный "шунт" на основе эффекта холла с гальванической развязкой. у тини26л хороший АЦП (Differential ADC Channel Pairs with Programmable Gain 1x, 20x). вот думаю стоит пробовать на меге8 или нет? У нее АЦП простой (Eight Channels 10-bit Accuracy), есть несколько мег8 в запасе. Программ для микроконтроллеров до этого никогда не писал, но вроде что-то получается... :-)
Что не убивает мой вел, то делает его сильнее...

acyd

Думаю, надо сделать 1-ю версию дико простую и надежную как Калашников с функциями старого ватсапа, напряжением не менее 70в и ток 130а (главно чтобы шунт не самоотпаивался), суперточность не важна, но нужна возможность подстроить показания тока и напряжения.
Это позволит любому переделать или восстановить свой ваттметр до вменяемого состояния, используя от старого шунт и экран или быстро собрать новый из доступных компонентов.

Я бы даже регеном пока в одном устройстве не заморачивался а сделал бы два. Один считает потребление в широком диапазоне, преимущественно от 5 до 70а, а второй реген от 0 до 20а, т.е настроить их соответственно измеряемому диапазону.

А в версии 2 можно уже и другой проц, шунт и большой олед экран, но чем больше наворотов тем ниже надежность. К тому же экран перегружать не стоит, нужна эргономика.
Тут или у других разработчиков подсмотреть, или соцопрос устроить, или делать самому, поскольку всем не угодишь.




enek

Решил писать на Си с нуля, можно сэконимить памяти и местами использовать ассемблер. Алгоритм по исходникам BASCOM-AVR я уловил, но BASCOM-AVR  уж очень прожорлив.
За пару дней освоил инициализацию дисплеев, уже мозги закипают. Вот родной дисплей (контроллер HD44780) и олед (контроллер WS0010) работают вместе.

Начало есть...
Что не убивает мой вел, то делает его сильнее...

enek

потихоньку пишу код, пока на дисплей вывел ток и напряжение. я тут прикинул если АЦП у тиньки26 10 бит, т.е. 1024 значения, решил вольметр сделать до 102.3В. как раз точность будет ровно 0.1В, а не показ попугаев с округлением до сотых.
если сравнить по инициализации дисплея - мой код занимает 9.4%, а bascom-avr 17%. значит уже не зря старался и оптимизировал код. а вот с переменной типа float уже сложнее, если ее использую, то прошивка сразу становится размером 3500 байт, предел у тини26 - 2048.
поэтому переменную типа float не использовал, прошивка занимает 628 bytes 30.7% флеша и 12 bytes данных, должен уложиться.
вот код Си если кому интересно, пишу в AVR Studio 4, это моя первая программа, после мигания светодиодом конечно:  ;-)
Спойлер

#define F_CPU 8000000UL
#include <avr/io.h>
#include <util/delay.h>

   #define LCD_PORT    PORTB
   #define LCD_DDR       DDRB
//   #define DB4       0
//   #define DB5       1
//   #define DB6       2
//   #define DB7       3
   #define EN      4
//   #define RW      5
   #define RS      6
   #define ROW   2
   #define COL   16

#define lcd_e_delay()      __asm__ __volatile__( "rjmp 1f\n 1:" );
#define set_bit(bit)      LCD_PORT  |=  _BV(bit);
#define clear_bit(bit)      LCD_PORT  &= ~_BV(bit);

volatile unsigned int V,V_old,A,A_old,W,W_old;

static void toggle_e(void)
{
    set_bit(EN);
    lcd_e_delay();
    clear_bit(EN);
}

static inline void _delayFourCycles(unsigned int count)
{
    if ( count == 0 )   
        __asm__ __volatile__( "rjmp 1f\n 1:" );    // 2 cycles
    else
        __asm__ __volatile__ (
           "1: sbiw %0,1" "\n\t"                 
           "brne 1b"                              // 4 cycles/loop
           : "=w" (count)
           : "0" (count)
          );
}

#define delay(us)  _delayFourCycles(2*us)   //( ( ( 1*(XTAL/4000) )*us)/1000 )

void lcd (unsigned char data,unsigned char rs)
{
       if (rs) {   /* write data        (RS=1, RW=0) */
            set_bit(RS);
             } else {    /* write instruction (RS=0, RW=0) */
                      clear_bit(RS);
                   }
   unsigned char dataBits;

        /* передаем первый полубайт */
        dataBits = LCD_PORT & 0xF0;
        LCD_PORT = dataBits |((data>>4)&0x0F);
        toggle_e();

        /* передае второй полубайт */
        LCD_PORT = dataBits | (data&0x0F);
        toggle_e();

        /* all data pins high (inactive) */
     //   LCD_PORT = dataBits | 0x0F;
      delay(2000);
}

static void lcd_init()
{
lcd(0x33,0);
lcd(0x32,0);   //function set
lcd(0x28,0);   //function set - 2line 5x8dot 0x2a EN_RU 0x28 EN_JP
lcd(0x08,0);   //0x08 display off cursor off blink off
lcd(0x01,0);   //display clear;
lcd(0x02,0);   //return home
lcd(0x06,0);   //entry mode set
lcd(0x0c,0);   //0x0c display on cursor off blink off
}

unsigned int getADC(void) //Считывание АЦП
{ unsigned int a;
ADCSR|=(1<<ADSC);   //начать преобразование
while ((ADCSR&_BV(ADIF))==0x00); //ждем окончания преобразования
a=(ADCL|ADCH<<8 );
return a;
}

static void lcd_PrintNumber(unsigned int Number)
{
      unsigned int tmp_int;   char tmp_byte;

      tmp_int = Number;

/*
       if (Number >= 10000)
            {
            tmp_byte = tmp_int / 10000;
            lcd('0' + tmp_byte,1);

            while (tmp_byte > 0)
               {
               tmp_int = tmp_int - 10000;
               tmp_byte--;
               }   
            }   else lcd (' ',1);

       if (Number >= 1000)
            {
            tmp_byte = tmp_int / 1000;
            lcd('0' + tmp_byte,1);

            while (tmp_byte > 0)
               {
               tmp_int = tmp_int - 1000;
               tmp_byte--;
               }   
            }
         else lcd (' ',1);
*/
      if (Number >= 100)
      {
         tmp_byte = tmp_int / 100;
         lcd('0' + tmp_byte,1);

         while (tmp_byte > 0)
         {
            tmp_int = tmp_int - 100;
            tmp_byte--;
         }
      }
         else lcd (' ',1);

      if (Number >= 10)
      {
         tmp_byte = tmp_int / 10;
         lcd('0' + tmp_byte,1);
         while (tmp_byte > 0)
         {
            tmp_int = tmp_int - 10;
            tmp_byte--;
         }
      }
         else  {    lcd ('0',1);}

            lcd('.',1);

         lcd('0' + tmp_int,1);
}

int main()
{   
MCUSR=0x00;
DDRB=0x7f;
lcd_init();

//lcd (0x01.0);   //очистка дисплея
//lcd (0x02,0);   //в начало
//lcd (0x04,0);   //справа налево
//lcd (0x06,0);   //слева направо
//lcd (0x80,0); //первая строка
//lcd (0xc5,0); //вторая строка
while (1) {


ADCSR=(1<<ADEN)|(1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0)|(0<<ADFR)|(1<<ADIE);
ADMUX=(1<<REFS1)|(0<<REFS0)|(1<<MUX0)|(1<<MUX1)|(0<<MUX2)|(1<<MUX3);   //A set to adc0+ adc1- 20x
A=getADC()*14/10;
if (A!=A_old) {
   A_old=A;
   lcd(0x80,0);
   lcd_PrintNumber(A_old);
   lcd ('A',1);   //lcd (' ',1);
            }
ADCSR=(0<<ADEN);


ADCSR=(1<<ADEN)|(1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0)|(0<<ADFR)|(1<<ADIE);
ADMUX=(1<<REFS1)|(0<<REFS0)|(0<<MUX0)|(1<<MUX1)|(0<<MUX2)|(0<<MUX3);   //V set to adc2
V=getADC();
if (V!=V_old) {
   V_old=V;
   lcd(0x8b,0);
   lcd_PrintNumber(V_old);
   lcd ('V',1);   //lcd (' ',1);
            }
ADCSR=(0<<ADEN);
/*
W=A*V;
if (W!=W_old) {
   W_old=W;
   lcd (0xc0,0);
   lcd_PrintNumber(W_old);
   lcd (0xc5,0);
   lcd ('W',1);   //lcd (' ',1);
}
*/

_delay_ms(200);

}

}
Что не убивает мой вел, то делает его сильнее...

TRO

Чтобы два младших разряда не плавали, нужно вводить плавающее среднее (повышать точность измерений за счёт количества выборок). Ставить внешнюю высокостабильную опору, отдельный стабилизатор на притание АЦП, и перед измерениями вводить контроллер в спячку. Иначе точность падает до 8 бит. Я уже запарился на 128й меге пытаясь получит более стабильные показания с АЦП. А если использовать встроенный предусилитель, то всё ещё хуже.

Кстати, пару познавательных статеек.
http://chipenable.ru/index.php/programming-avr/item/142-avr121-oversampling-decimation.html
http://chipenable.ru/index.php/programming-avr/item/141-avr121-oversampling-decimation.html

Wahoo 2012 29er, +собран складной двухосис на раме"Land Rover" 69er с эл. мотором, и и МОНОКОЛЕСО

enek

спячку использую ADC Noise Canceler Function - в коде (1<<ADIE)
напряжение замеряет четко, ноль не колеблется. а вот ток АЦП замеряет с 20х усилением, ноль держит, но иногда проскакивает 0.1А.
немцы на бейсике решили проблему таким костылём
Спойлер

X = Getadc(0 , 11)                                    'Strom A auslesen
  If X >= 14 Then                                       'Offset korrigieren
   X = X - 14
  Else
   X = 0
  End If
   A = X * 0.134
TRO, спасибо за статейки, учтём. пока стараюсь не отклоняться от схемы ватсапа, а позже заняться своей версией.
Что не убивает мой вел, то делает его сильнее...

zap

Самое первое, что приходит в голову - сделать стопицот замеров и усреднить.
Это в любом случае идея неплохая. Например, сделав 4 замера вместо 1 мы повысим точность до 11 бит, 16 замеров дадут 12 бит и так далее.
Подробнее здесь: http://www.atmel.com/images/doc8003.pdf
Единственная засада - на протяжении этих стапицот замеров сигнал не должен изменяться, иначе мы получим не совсем ожидаемую точность. То есть, перед входом АЦП надо ставить ФНЧ с соответствующим срезом.

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

Чтобы это побороть, обязательно делайте фильтр с плавающим окном. Увеличит стабильность показаний.
Делается оно по стандартной схеме цифрового фильтра низких частот.

Обозначим MA - скользящее среднее.
X - очередное считанное с АЦП значение

Обновление скользящего среднего выглядит так:
MA = ((MA * (N - 1)) + X) / N
где N - ширина плавающего окна.
Чтобы избежать операции умножения и деления, выберем N значением, являющееся степенью двойки.
Если упростить выражение следующим образом:
MA = MA + (X - MA) / N
Тогда единственное деление на N легко заменяется сдвигом вправо.

Готовая функция для AVR:
void update_moving_average (int16_t x, int16_t *ma, uint8_t period)
{
    // MA = ((MA * (N - 1)) + X) / N
    // ==> MA = MA + (X - MA) / N
    // *ma = ((x - *ma) >> period) + *ma
    uint16_t tmp;
    __asm __volatile (
        "ld     %A0, Z\n"
        "ldd    %B0, Z+1\n"
        "sub    %A1, %A0\n"
        "sbc    %B1, %B0\n"
        "tst    %2\n"
        "breq   2f\n"
    "1:\n"
        "asr    %B1\n"
        "ror    %A1\n"
        "dec    %2\n"
        "brne   1b\n"
    "2:\n"
        "adc    %A0, %A1\n"
        "adc    %B0, %B1\n"
        "st     Z, %A0\n"
        "std    Z+1, %B0\n"
        : "=&r" (tmp), "+r" (x), "+r" (period)
        : "z" (ma)
        : "r0"
    );
}


Параметры:
x - очередное значение, поступающее на вход фильтра
ma - аккумулятор фильтра, оно же плавающее среднее значение
period - степень двойки, ширина фильтра в сэмплах. Например 4 задаёт окно шириной 16 сэмплов итд.

Использовать как-то так:

// глобальная переменная
uint16_t voltage;

...
uint16_t x = read_adc ();
update_moving_average (x, &voltage, 4);
// дальше выводим voltage на экран и т.п.


Надеюсь, кому-то пригодится.
С уважением,
Андрей

Поражаю масштабностью некопмпетентность (ц) из лички

i

Почитал статью о повышении точности измерения (здесь перевод).
Выяснилось, что для повышения разрядности оцифровки необходим шум в сигнале (иногда его даже добавляют специально). Если последовательные выборки отличаются друг от друга и "крутятся" около самого сигнала, то действительно усреднение измерений может повысить точность измерения сигнала.
Чудно, но работает.

enek

Последнее время начал увлекаться ассемблером. Стал много читать исходного кода перед сном...
Пробовал дизассемблировать прошивку от turnigy, IDA pro с этим хорошо справляется, ситуация немного стала проясняться.
На ES выкладывали прошивку с исходником, точнее после дизассемблирования.
Выкладываю рабочую версию прошивки с исходником, почти тоже самое что и у нового ватсапа.

Можно пробовать собрать с нуля, я выкладывал вторую версию платы, ее можно немного упростить, сделать так:

я добавил описание в исходник EEPROM, можно поиграться с переменными и попробовать откалибровать.
Спойлер
    .db   $B4      ; Калибровка осциллятора
   .db   $8B      ; настройка АЦП для I ADMUX = (1<<REFS1)|(0<<REFS0)|(1<<MUX3)|(0<<MUX2)|(1<<MUX1)|(1<<MUX0)
   .db     $10      ;хз
   .db   $15      ;A0
   .db   $51      ;хз
   .db   $04       ;хз
   .db   $00       ;хз
   .db   $7D       ;Akoef
   .db   $82       ;настройка АЦП для U ADMUX = (1<<REFS1)|(0<<REFS0)|(0<<MUX3)|(0<<MUX2)|(1<<MUX1)|(0<<MUX0)
   .db   $E9       ;хз
   .db   $07       ;V
   .db   $2F       ;A
   .db   $04       ;V
   .db   $09       ;хз
   .db   $F7      ;Vkoef
   .db   $FF       ;хз
по фьюзам ставил внутренний осциллятор 8 МГц.
Реанимировал свой девайс, теперь можно считать попугаев, но прошивкой не очень доволен, буду дальше ковырять, термометр хочу встроить.
Что не убивает мой вел, то делает его сильнее...

acyd

Цитата: enek от 02 Фев. 2013 в 19:39
Реанимировал свой девайс, теперь можно считать попугаев, но прошивкой не очень доволен, буду дальше ковырять, термометр хочу встроить.
в качестве датчика планируйте цифру или аналоговый? Просто здесь на форуме много людей, в тч я с Льеновким (Андрейм-а) кристалайтом со встроенным аналоговым термодатчиком.
http://www.nxp.com/documents/data_sheet/KTY81_SER.pdf
В Максконтроллере тоже аналоговый датчик используется.
Линейная зависимость 2КОм-25 градусов,  3.2КОм- 100. Думаю, надо посчитать падение напряжения. Можно на подстроечнике потренироваться.

Заказал себе парочку Attiny, а пока идет, сделаю плату и шнур для прошивки, сам я от программирования далек, но надеюсь воспроизвести девайс удастся.


enek

Планирую подключить ds18b20, на bascom разобрался, под си есть библиотека и есть кусок ассеблерного кода. Эти датчики можно сетью по двум проводам соединять. Я в мк на обмотку приклеил один, добавил через ось +1 провод, очень удобно.
Я десяток заказал, по 30р вышли.

Простейший программатор можно собрать по этой схеме, только нужен LPT порт.
Что не убивает мой вел, то делает его сильнее...

MadMNN

а вот простым пользователям можно вывести единственный нужный параметр ОСТАТОК ЗАРЯДА в левом верхнем углу?
с перемигиванием СКОЛЬКО ИЗРАСХОДОВАНО.
остальные параметры не столько важны.

enek

#36
Для этого нужно знать ёмкость батареи, думаю лучше выводить количество потраченных А*ч или Вт*ч, не очень удобно было периодически отвлекаться от дороги и поглядыать на дисплей чтобы поймать момент когда отображается количество израсходованной энергии. Я тоже об этом думал, попробую сделать.
Мне бы хотелось выводить напряжение, ток, расход Ач и температуру, чтобы показания быстро обновлялись, остальное не так важно.
Еще есть такая идея - если завязать с выводом YBS китайского контроллера (или одного из датчиков холла), то можно расчитать обороты, а это получим пробег и скорость движения, т.о. можно вычислить расход на единицу расстояния  на ходу и поддерживать оптимальный темп езды для максимальной экономии энергии. Эдакий экономайзер :eureka: Незнаю, есть ли подобная функция у CA?
Что не убивает мой вел, то делает его сильнее...

acyd

Цитата: enek от 02 Фев. 2013 в 22:36
Планирую подключить ds18b20, на bascom разобрался, под си есть библиотека и есть кусок ассеблерного кода. Эти датчики можно сетью по двум проводам соединять. Я в мк на обмотку приклеил один, добавил через ось +1 провод, очень удобно.
любой термодатчик  +1 провод в колесо, потому что земля и +5в  всеравно идут на холлы. Но видимо Льену проще было впаять аналоговый, к тому же  можно быстро показания проверить простым мультиметром, сопротивление  в температуру перевести легко.


acyd

Цитата: enek от 02 Фев. 2013 в 23:09
вычислить расход на единицу расстояния  на ходу и поддерживать оптимальный темп езды для максимальной экономии энергии. Эдакий экономайзер :eureka: Незнаю, есть ли подобная функция у CA?
нет, эти оптимальные расчеты от лукавого, мозг е-байкера тоже должен работать.  Надежный показометр , никакого вмешательства в управление байком.

уследить за датчиками как и за напругой сложно, есть потребность в какой-то красной лампочке/пищалке - аварийное состояние, программируемый аларм порт как в селлоге, но боюсь это уже не в рамках мелкого ватсапа.
PS
У меня сейчас три термодатчика.
1.мотор - смотрю мелким мультиметром, когда настраиваю ток.
2.контроллер- недавно поставил speedict, подключил ради интереса.
3.батарея- аквариумный автономный с lcd, для контроля работы термостата в системе подогрева, очень редко смотрю и он в -15 замерзает, ничего не видно

enek

я имею ввиду только показометр, расход Втч/км чтоб показывал. директ драйв на низких оборотах не эффективен, а со скоростью потери возрастают, может такой показометр поможет выбрать золотую середину.
Что не убивает мой вел, то делает его сильнее...

TRO

Этот показометр должен показывать пиковый расход ватчасов на км (и желательно средний за выставляемый последний интервал времени, типа скользящее среднее). Высчитывать может если в него завести скорость с датчиков холла директдрайва или геркона велокомпа.

Wahoo 2012 29er, +собран складной двухосис на раме"Land Rover" 69er с эл. мотором, и и МОНОКОЛЕСО

enek

#41
Подправил инициализацию в прошивке, код универсальный, теперь работает LCD (HD44780) и OLED (WS010).
Вот весь проект AVR Studio 4, с прошивкой

А вот изменения, начиная с 73 строки
Спойлер

   LDI R24,$33
   RCALL L9      ;вывод на дисплей
   RCALL L7      ;задержка
   LDI R24,$32
   RCALL L9
   RCALL L7
   LDI R24,$28
   RCALL L9
   RCALL L7
   LDI R24,$08
   RCALL L9
   RCALL L7
   LDI R24,$01
   RCALL L9
   RCALL L7
   LDI R24,$02
   RCALL L9
   RCALL L7   
   LDI R24,$06
   RCALL L9
   RCALL L7
   LDI R24,$0c
   RCALL L9
   RCALL L7
Код вообще какой-то заумный, кажется со шведскими коментариями. :-)
Ассемблер вообще классная штука, больше нравится чем Си, с командами немного разобрался, код еще компактнее получается, Си много лишнего  мусора добавляет. Из hex можно исходник asm получить и поковырять, вообще здорово. :eureka:
Проверил на родном дисплее и OLED, на OLED показания напряжения немного скачут из-за наводок повышающего конвертора на плате дисплея. С LCD таких проблем нет. У меня платка самопальная, кондера одного по питанию нету, может поэтому.
Добавлю...
По фьюзам - внутрений осциллятор 8 МГц 6CL + 64ms.
Скоро символьные дисплеи 08х02, 20х02, 20х04 получу, попробую заюзать, контроллер тот же.
Нашел у себя старый дисплей Powertip PC1602F дата выпуска 12/28/02, он при напряжении 3.3В не завелся, от 5 вольт его подключал, у него пиксели голубого цвета, похоже древний совсем. Его покупал у себя в городе, это было давно и дорого.
Родной дисплей ватсапа xiamen ocular GDM1602H на контроллее ks0066u %-)
Что не убивает мой вел, то делает его сильнее...

enek

Недавно приятелю Юрию, тоже из Оренбурга, собрал упрощенную версию ваттметра. Код подправил под камень Attiny261A, как более дешевый (около 50р) и современный. Идею позаимствовал у Cycle Analyst'а, т.е. шунт и питание используется от контроллера, огромный старенький дисплей Юра где-то раздобыл и вот что получилось:

Платка получилась маленькая, на фото подключен самодельный программатор STK500 v2 by Petka, делал калибровку по напряжению. От шунта контроллера провел два провода, аналогично инфенеону. Сопротивление шунта около 1.25мОм, что немного завышено, коэффициета деления в прошивке не хватило, пришлось подпаяться ближе к середине шунта.

Вот в работе, потребление такого ваттметра несколько миллиампер.

Конечно откалибровать такой прибор сложновато, но попугаев считать пойдет, лучше чем ничего, себестоимость в пределах 150р. Плата и исходники прошивки во вложении.
Что не убивает мой вел, то делает его сильнее...

VasiliSk

Цитата: enek от 12 Май 2013 в 16:16
Конечно откалибровать такой прибор сложновато, но попугаев считать пойдет, лучше чем ничего, себестоимость в пределах 150р. Плата и исходники прошивки во вложении.
А почему сложно откалибровать?
начальная точка - 0 он и есть 0, добавить еще один поправочный коэф. и две кнопки, чтобы подгонять значение сравнивая с амперметром
и в епром потом записать.

PS жду когда приедут графические LCD 128x64, буду на PIC велокомп собирать/паять/шить

Aleksandr SF777

Вчера брякнулся мой ваттметр, сегодня снял, разобрал, оборвался резистор 27 Ом, который с идет с основного + через диод на стабилизатор. Ради интереса воткнул на 1,3 кОм, при напруге 66 вольт на стабилизаторе 57. Но контрастность появляется где-то от 17 вольт, если не мерить им по одной котлете а использовать на всю батарею то можно так и оставить, млт не греется.
ENEK нужен твой совет. Пробовал подключить LCD (HD44780) и невезуха, нехватает контрастности. Получается вроде как напруги мало ему, со стабилизатора выходит 3 вольта, и я так понял что на 3 ноге дисплея должен быть минус, так как сажу ее целиком на землю и только тогда появляется изображение. Подскажи , ты цеплял дисплей другой после того как заменил стабилизатор на 5-вольтовый? Или еще прошивкой этой  turnigy_high_voltage_OLED.rar дотачивал ? В принципе он у меня нормально все показывает, но днем очень плохо видно будет. Можно еще отдельно ему питание всунуть на 5 вольт, в общем что можешь сказать по этому поводу? И какой тогда лучше стабилизатор поставить ( название микрухи) подскажи.
Рожден в СССР.

enek

3й ногой на дисплее подстраивается контрастность, поставьте переменный 10к между 3 и землей, подстройте контраст и поставьте постоянный резистор. Если 3ю ногу соединить на массу то будет максимальная контрастность. Ну и от дисплея еще зависит, некоторые ниже 3.3В не желают работать, а некоторым 5В подавай.
Лучше возьмите 5В из контроллера, стабилизатору должно хватить. Я вообще без стабилизатора собирал, только тинька и дисплей, шунт использовал встроенный в контроллер.
Что не убивает мой вел, то делает его сильнее...

Aleksandr SF777

#46
Так переменный резистор и ставил, выкручиваеш до упора и тогда появляется изображение, т.е 3 нога на земле. Наверное мой тоже не хочет от 3 вольт работать. От контролера уже ничего не возьмешь, он стоит далеко да и закрыт полностью. Разбирать пол велика теперь надо что-бы до него добраться . Я так понял там и на Тиньку идет 3.3 вольта, получается что-бы поменять на плате стабилизатор придется и Тиньку перепрошивать под 5 вольт? И еще подскажи  в  turnigy_high_voltage.rar фьюзы как выставлять?
Рожден в СССР.

enek

#47
Можно взять с датчиков холла/ручки газа. Без подсветки потребляет несколько миллиампер, возможно даже меньше датчика холла.
Тиньке без разницы от 3.3В и от 5В одинаково будет работать.
По фьюзам, если камень новый, то CKDIV8 сними, вн. 8МГц, больше трогать нечего.
Если работает, то лучше не шить, прошивки новой нету.
Что не убивает мой вел, то делает его сильнее...

Aleksandr SF777

Я же из-за подсветки только и хочу поменять дисплей, в родном ведь ее нет. Ладно, завтра что нибудь придумаю, главное Тиньку прошивать не нужно.  И не понял что за фьюз CKDIV8?
Знаю BOOTRST, BODLEVEL и BODEN, SUT, CKSEL,SPIEN,EESAVE. Такого CKDIV8 не нахожу, может в AVRStudio есть.
Рожден в СССР.

enek

Эт я перепутал, я на тини261а собирал, он более продвинутый...
Подсветку отдельно лучше запитать, встроенный в ваттметр стабилизатор лучше сильно не нагружать, если надумаете, то слабым током. Гораздо эффективнее что-нить импульсное типа хорошей DC-шки, драйвера 220В для светодиода или зарядки от мобилы, после доработки конечно. ;-)
Что не убивает мой вел, то делает его сильнее...

Aleksandr SF777

#50
Значит только  вн. 8МГц, и все? Так DC- ка у меня стоит, 60 - 70V вход и 12 выход. С нее же ваттметр и будет работать. Ладно, завтра попробую LM7805 на подсветку и дисплей всунуть, и вот думаю или выпаять тот 3-х вольтовый стабилизатор что в плате стоит , или резануть дорожку и пусть тот питает одну тиньку, а LM дисплей.
И пока еще не понял как в  AVRStudio те исходники что ты выложил в HEX собрать. Ковыряться в прошивке я не умею, так что мне и одного HEX хватит, тем более что khazama ими не прошьешь.
Рожден в СССР.

enek

На подсветку подберите резистор и подключайте к 12В. Резать думаю не стоит, просто запитайте дисплей (2й контакт) отдельно от 5В через LM78L05. HEX под тини26 в 41 сообщении.
Что не убивает мой вел, то делает его сильнее...

Aleksandr SF777

#52
Ну так 2 контакт и отрезать от внутреннего стабилизатора. Спасибо что пояснил насчет прошивки, получается та прошивка подойдет и к Watt's Up метру и к маленькой платке  turnigy_high_voltage если туда поставлю 26 Тиньку, я правильно понял?
Рожден в СССР.

enek

#53
Да, верно, маленькая платка - упрощенный Watt's Up. Можно также собрать на тини261. Сейчас функцию спидометра и одометра написал на бейсике, позже испытаю, камень тини861а, дисплей 20х4, буду подключать к одному из датчиков холла.
Что не убивает мой вел, то делает его сильнее...

Aleksandr SF777

ENEK скажи, а можно в прошивке сделать запоминание ампер-часов и повесить кнопку сброс на какую нибудь ногу? Я в даташите не смотрел но свободные ноги у Тиньки на маленькой платке есть.
Рожден в СССР.

enek

Можно, делайте! :kidding:
Я работу с EEPROM пока не освоил, но собираюсь это сделать в новых разработках. У тини26 мало памяти, ваттметр почти полностью все занимает.
Что не убивает мой вел, то делает его сильнее...

zap

Разгребал сегодня всякий мусор. Нашёл старый сгоревший ваттметр HK-006. Шина +5В звонится на землю. Снял микроконтроллер - КЗ пропало. Пробило линейный стабилизатор, а за ним и мегу.

Так вот, вопрос. Кто-нибудь слил прошивку с atmega16, которая стоит в этих HK-006? Просто думаю что дальше делать, то ли заказать атмегу, прошить и радовацца жизни, либо выпаять всё что там есть полезного и выкинуть?

Долго возиться с ним некогда, а то можно было бы вникнуть в схему и свою прошивку написать... но нафига, я лучше свой велокомп сделаю :)
С уважением,
Андрей

Поражаю масштабностью некопмпетентность (ц) из лички

TRO

#57
Ессть у меня значит два таких ватметра.


Первый я брал на http://www.buyincoins.com/item/25818.html , а второй на ебей. Близнецы братья.
Вскрытие показало, что первый собран на тиньке26 (плата по расположению деталей немного похожа на первый пост). А второй на квадратной микросхеме о 44 ногах (похожа на мегу, надпись стёрта.) Ведут себя по разному. В том что на тиньке26 с ебея, есть два подстроечника, один выставляет ноль тока, второй напряжение, показания если и скачуть то на еденичку в младшем разряде +-10мА. А вот тот который куплен с бика по ссылке, подстроечников не имеет, и показания тока даже без нагрузки пригают от 10мА до 90мА, вне зависимости от того с какой стороны запитывать (а значит собственное потребление тут не причём). Причём фокус в том, что получателем платежа за ватметр купленный на ебей был тоже buyincoins, судя по почтовому адресу получателя в пайпале, просто он был куплен несколькими месяцами ранее. Так что на бике сейчас ватметр лучше не брать, несмотря на халявную цену.

Wahoo 2012 29er, +собран складной двухосис на раме"Land Rover" 69er с эл. мотором, и и МОНОКОЛЕСО

zap

Цитата: TRO от 22 Сен. 2013 в 10:11
Ессть у меня значит два таких ватметра.
Ну, типичная оптимизация во второй версии :) атмега оказалась избыточной, вот и заменили.
В варианте с атмегой прямо возле микрухи есть шесть дырок для программатора. У Вас есть программатор для AVR? Маркировку дырок выяснить легко.

Правда не исключено, что прошивка залочена. Хотя сам buyincoins как-то ведь сдул прошивку у хоббика (сужу по тому, что в их версии маркировка стëрта). Версия с хоббика идëт с нестëртой маркировкой.
С уважением,
Андрей

Поражаю масштабностью некопмпетентность (ц) из лички

TRO

Ну даже если сдую я эту прошивку, чё толку, походу она глючная, (хотя вычислить опрос ацп и подкорректировать возможно удастся). А вырисовывать топологию и сравнивать с хобиковским мне сильно лениво (тем более хобиковской схемы у меня нету). Если уж так глубоко копать, то наверно проще свою прошивку сваять, а то эта по отображению сакс полный, просто я с дисплеем работать не умею.

И кстати, тот который предположительно на меге я брал задолго до того который на тиньке, думаю это на меге вторая версия(оптимизация).

Wahoo 2012 29er, +собран складной двухосис на раме"Land Rover" 69er с эл. мотором, и и МОНОКОЛЕСО

zap

Не, о перерисовке топологии речи не идёт. Кстати, у меня в HK-006 есть ещё никому не нужная функция балансира (до 6S), у Вас она есть?
Разъём прямо над процессором, слева направо:
SCK MISO MOSI !RESET GND VCC
С уважением,
Андрей

Поражаю масштабностью некопмпетентность (ц) из лички

TRO

#61
Те про которые я писал чуть выше, самые дешовые без кнопок и балансиров. Есть только разъём на три контакта, пока незнаю зачем.

А такие как у вас, с кнопками и балансирами у меня тоже пара трупов валяется, но там походу камни трупы, может починю когда нибудь если прошивка будет. Но прошивки походу тоже разные были немного, у одного даже есть выход управления  (модельный стандарт импульс от 1 до 2х миллисекунд)

Программатор когдато купил с ебея, самый дешовенький, дето дома затерялся, ни разу не пользовался. На работе по старинке через ЛПТ порт чисто прводками прошиваю иногда. Может возьму на работу поиграюсь если руки дойдут.

Wahoo 2012 29er, +собран складной двухосис на раме"Land Rover" 69er с эл. мотором, и и МОНОКОЛЕСО

fondrosel

Собрал я ваттметр,такой получился девайс


подкорректировал схему убрал 1 косяк,лишние детали

настроил точность измерения напряжения добавлением последовательно с R5 подстроечника 100к
для измерения точности тока с шунтом контроллера рекомендую уменьшить сопротивление R3 (можно уменьшить до 1 ома)
тогда нужно просто найти нужное положение провода на шунте идущего к R3
Фиговый литий лучше хорошего свинца)).5 этаж хрущевки вел 45кг
P.S гиря в колесе рулит фуры не сдувают с трассы
Электротранспорт.ру электротранспорт рулит и точка

SERZHON

[user]fondrosel[/user], хороший девайс, умел бы програмировать собрал бы себе такой же, удобно значения расположены

Гагик

Здравствуйте enek. Меня зовут Гагик. Я авиамоделист и радиоэлектронщик. Прошу ответить на некоторые мои вопросы по поводу Вашего ваттметра на tiny26L из темы "Клонирование Watt's Up метра". У нас есть Attiny26-16SU. Насколько я понимаю, разница в максимальных частотах (что для нас не важно), и в напряжениях питания - что уже важно. Питается Attiny26-16SU от 4,5-5,5В. Поскольку Vref Attiny  ни присоединен к питанию 3,3В, думаю спокойно могу применить Attiny26-16SU вместо Attiny26L-8SU, не так ли? Дисплей 5-и вольтовый 1206. И еще, очень нравится расположение надписей на ваттметре Attiny-261А, который Вы разработали для Вашего друга. На прошивке для Tiny26 такое же расположение? Заранее благодарю за ответ. А вообще мне хватит ваттметр на 50В 100А на шунте 0,001ом с индикацией мощности и ампер/часов. Ваш ваттметр отвечает этим требованиям с избытком, жаль только не на Меге 8.
С уважением - Гагик.

Филя

Оживил наконец-то свой девайс:



Питание - LM5008, на отдельной плате.
Макс. Напряжение 82.43В но на 0.5В начинает врать, хотя при 39В показания с тестером совпадают.

Гагик

[user]enek[/user], Здравствуйте, дорогой enek. В посте 42 Вы дали исходники для процессора AtTiny261. Не могли Вы выложить/выслать мне hex файл прошивки для AtTiny261?

Филя

Приветствую. У кого-нибудь сохранились прошивка для Watt's Up метра?
Та что в №3 сообщении темы.
Можете поделиться?