nk@ 0 20 марта, 2011 Опубликовано 20 марта, 2011 · Жалоба Google рулит:) Вот почитайте, насчет выпрямителей. Коротко и понятно. http://de.ifmo.ru/bk_netra/page.php?tutindex=36&index=13 Последняя схемка, кстати, используется в болгарских приводах постоянного тока. Классика :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
azizcheg 0 21 марта, 2011 Опубликовано 21 марта, 2011 · Жалоба Добрый день всем. Хочу сделать подобное. На мк ATMEGA128 построить вольтметр/ваттметр. Выводить на 3 семисегментных элемента. Подскажите где посмотреть. Если кто делал, напишите, пожалуйста, на [email protected]. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
hd44780 0 21 марта, 2011 Опубликовано 21 марта, 2011 (изменено) · Жалоба Я пока в процессе... Долбаное напряжение померить не могу ... Постоянку миллион раз мерил - с датчиков давления/влажности, БП делал со встроенным вольтметром - с первого раза оживало. А тут - уже неделю парюсь... Вроде все понятно, а ни фига не получается . 3-х фазный вольтметр переменного тока - http://www.embed.com.ua/raznoe/tryohfaznyi...remennogo-toka/ Как раз с 7 сегм индикатором. Правда Mega48. А зачем тебе 128 мега? Ваттметр на Mega8 - http://radiokot.ru/circuit/digital/measure/23/ http://www.radiokot.ru/forum/viewtopic.php?f=25&t=25937 Только ток шунтами мерить я очень не люблю. Конечно, дешевле ТТ во много раз, но и проблем полно сопутствующих. Изменено 21 марта, 2011 пользователем hd44780 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ASZ 0 21 марта, 2011 Опубликовано 21 марта, 2011 · Жалоба Я пока в процессе... Долбаное напряжение померить не могу ... Постоянку миллион раз мерил - с датчиков давления/влажности, БП делал со встроенным вольтметром - с первого раза оживало. А тут - уже неделю парюсь... Вроде все понятно, а ни фига не получается ...skipped... Мне непонятно, зачем вообще диоды ставить и иметь головную боль из-за их нелинейности? Погасить на делителе до приемлемой величины и сместить положительным напряжением до нуля посередине. И АЦПируйтесь наздоровье. Кстаати, у германиевых диодов ВАХ от температуры сильно зависит. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
hd44780 0 21 марта, 2011 Опубликовано 21 марта, 2011 · Жалоба Мне непонятно, зачем вообще диоды ставить и иметь головную боль из-за их нелинейности? Погасить на делителе до приемлемой величины и сместить положительным напряжением до нуля посередине. И АЦПируйтесь наздоровье. Кстаати, у германиевых диодов ВАХ от температуры сильно зависит. Пока только для комнатной температуры. Пока алгоритмы не обкатаю. Потом сделаю активный делитель на ОУ со смещением. Диод по напряжению - кремниевый, из диодного моста (схема в первом посте). Или такая схема плоха? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ASZ 0 21 марта, 2011 Опубликовано 21 марта, 2011 · Жалоба Пока только для комнатной температуры. Пока алгоритмы не обкатаю. Потом сделаю активный делитель на ОУ со смещением. Диод по напряжению - кремниевый, из диодного моста (схема в первом посте). Или такая схема плоха? Посмотрите прямую ветвь ВАХ Ваших диодов. Диод открывается при напряжении >0,8В (? - склероз) и имеет очень большую нелинейность. Таким образом, при малых напряжениях Вы получите сверхпогрешность. А зачем вообще ставить ОУ? С трансформатора и так достаточно большое напряжение :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
hd44780 0 21 марта, 2011 Опубликовано 21 марта, 2011 · Жалоба Не понял :( ... Я ж получаю полож. полуволну с верхнего входа моста .... Зачем ее смещать? Если б была 2-я вторичка, там были бы обе полуволны. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nk@ 0 21 марта, 2011 Опубликовано 21 марта, 2011 (изменено) · Жалоба А зачем вообще ставить ОУ? С трансформатора и так достаточно большое напряжение :) На ОУ собирается "прецизионный выпрямитель". Все уже давно придумано до (для) нас :) Можно, в принципе, засемплировать синусоиду, проинтегрировать и посчитать среднеквадратичное значение, но аналоговая техника справится с этим быстрее и точнее. Гораздо проще мерять постоянное напряжение. С ВЧ помехами, опять-же программно бороться будет не просто. Ну, это все конечно, если мы хотим иметь прибор, а не коробочку с лампочками, которая будет показывать значения в попугайчиках :) PS:Ну, уж если есть желание решить задачу исключительно программно, то это очень интересная и объемная тема для обсуждения. Изменено 21 марта, 2011 пользователем nk@ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
e_one 0 21 марта, 2011 Опубликовано 21 марта, 2011 · Жалоба Занимался подобной задачей. Для развязки от сети использовал схему из книги Полупроводниковая схемотехника У. Тице и К. Шенк, страница 469. измерение делал 1 раз в миллисекунду. Синхронизировал начало измерений с переходом синуса через ноль. Измерял 1 полный период. по прерыванию от таймера запускал преобразование АЦП, потом USUM=(ADCW>>2)*(ADCW>>2)+USUM; и по следующем переходе через 0 подсчитывал RESULT=sqrt(USUM/N); Задача точности остро не стояла. реально пришлось увеличить количество периодов измерения до 10. Погрешность измерений примерно +-1В. Тестировал эту схему в диапазоне температур от 20 до 55 градусов и напряжений 150-230В. заметил, что оба оптрона должны иметь одну температуру - находится рядом, иначе точность теряется. Но это было давно, сейчас вопрос возник и чтоб не создавать новую тему решил написать здесь. Кто знает, какой минимальный уровень напряжение может быть на входе опорного напряжения АЦП меги16. В даташите молчат, может кто-то подскажет ответ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RabidRabbit 0 21 марта, 2011 Опубликовано 21 марта, 2011 · Жалоба Среднее арифметическое сильно "бегает" (писал выше), кольцевой буфер на 200 значений не спас, больше делать не могу - килобайта памяти в меге 8 не хватает :(. Не вешать же туда SRAM на 64 КБ ...Мнэээ, а float у Вас сколько битов? Не то если по 32 - то как два буфера (напряжение и ток) 200 * 2 * 4 влезло в 1 килобайт? С сишным компилятором и один, я думаю, не влезет... А если всё-таки влезло 200 значений, то какой же должен быть разброс, болтанка в 10 вольт при таком раскладе даст изменение в результате только на 5 сотых... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
hd44780 0 21 марта, 2011 Опубликовано 21 марта, 2011 (изменено) · Жалоба Я на С в CvAvr пишу. float у него 4 байта вроде - никакой памяти не хватит складывать их в буфер. 1 буфер = 4*200 = 800 байт - почти весь SRAM Mega8. Не цеплять же мне ATMega32 ... В буфер я клал 8-битовые значения с АЦП. 2 буфера - по 200 значений на напряжение и ток. Мож где ошибся в дальнейших обсчетах... Хз... Сейчас сделал среднее арифметическое отсчетов АЦП без буфера за 1000 замеров без таймера - тьфу-тьфу вроде получше стало... С началом полуволны пока не синхронизируюсь. Но в будущем может и понадобится. Для определения угла сдвига фаз между напряжением и током. Ну это потом. Сделал пока только для напряжения. Токовый транс пока отключил. Все равно, алгоритмы замеров идентичные, отличия только в коэффициентах.. Изменено 21 марта, 2011 пользователем hd44780 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RabidRabbit 0 21 марта, 2011 Опубликовано 21 марта, 2011 · Жалоба В буфер я клал 8-битовые значения с АЦП. 2 буфера - по 200 значений на напряжение и ток. Мож где ошибся в дальнейших обсчетах... Хз...Я, конечно, не спец, но если задаться интервалом в 400 вольт, да поделить этот интервал на 256 (8-битовые отсчёты), то на один бит придётся около 1.5 вольта, как-то так... И чего вы таки хотите? Для более-менее приличных результатов, по-моему, можно что-то типа оверсэмплинга применить, например 64 восьмибитных замера сложить, результат поделить на 8 (получив "одиннадцатибитный" результат), далее всё же организовать кольцевой буфер на 16 "одиннадцатибитных" значений, и, добавив очередное, считать сумму значений из буфера и поделить на 16. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
hd44780 0 21 марта, 2011 Опубликовано 21 марта, 2011 (изменено) · Жалоба С буфером получается вот что: // Для сумм //volatile dword summU; volatile byte arrayU[200]; // Кол-во преобразований напряжения и тока volatile word count_U=0; ................ // ADC interrupt service routine interrupt [ADC_INT] void adc_isr(void) { word adc_data=ADCW; adc_data>>=2; arrayU[count_U]=adc_data&0xFF; count_U++; if (count_U>=200) count_U=0; } // adc_isr .......... // Обрабока f_sqr_summU=0.0; for (i=0;i<200;i++) { f_sqr_summU+=(float)arrayU; } // for sprintf (buffer, "A=%.2f ", f_sqr_summU); hd44780_puts_xy ( 0, 0, buffer ); f_sqr_summU/=200; // Uацп=ср*5/1024 f_sqr_summU=f_sqr_summU*5.0/1024; sprintf (buffer, "B=%.2f ", f_sqr_summU); hd44780_puts_xy ( 8, 0, buffer ); На дисплее: A=19360 B=0.47 Т.е. сумма значений в буфере - 19360 (примерно, оно меняется все время) U на входе АЦП = 0.47в, хотя на самом деле там 2.00-2.50в Изменено 21 марта, 2011 пользователем hd44780 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nk@ 0 21 марта, 2011 Опубликовано 21 марта, 2011 (изменено) · Жалоба А AD делает отличные RMS to DC конвертеры: http://www.analog.com/static/imported-file...heets/AD636.pdf http://www.analog.com/static/imported-file...heets/AD637.pdf А дальше меряем постоянное напряжение - и всех делов :) PS: Прошу прощения, цена почти 20 бакинских. Дороговато :( Изменено 21 марта, 2011 пользователем nk@ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
hd44780 0 21 марта, 2011 Опубликовано 21 марта, 2011 · Жалоба Еще и достать их не очень.... Правда из доки можно кой-чего интересного нарыть. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться