Catcatcat electronics

Loading ...

Перейти к содержимому
Catcatcat electronics Electronic design studio based on microcontrollers of Microchip Technology Corporation
  • Facebook
  • Instagram
  • LinkedIn
  • Pinterest
  • Магазин
  • Skype
  • Telegram
  • X.com
  • WhatsApp
  • YouTube
  • RSS
  • E-mail
Вход / Регистрация
  • Home
  • Design Services
    • Design Services
    • Electronic design studio
  • Projects
    • Projects
    • News, Chat
    • List of site articles
    • List of site pages
  • Download
    • Libraries
    • Examples of building program code for PIC controllers
    • System software – bootloader for 8-bit PIC microcontrollers
    • Catcatcat electronics data file database
    • Datasheets for components used in projects.
  • Education
    • MPLAB® Code Configurator
    • FAQ
    • Printed circuit boards
    • Where to begin?
    • Learning PIC24, the XC16 compiler
    • Изучаем PIC32, компилятор XC32
    • Interesting features and solutions
  • RTMV technology
    • Project ch-светомузыка
    • Demonstration of prototypes – ch-светомузыка
    • Из истории развития классической светомузыки
    • Ch-светомузыка — basic concepts
    • Theoretical part — ch-светомузыка
    • Узлы светомузыки
    • Development news
  • Circuit Design
    • Printed circuit boards
    • ILLISSI project
      • Системные платы
      • ILLISSI-4С-secundo
      • ILLISSI-4B-primum
    • OLED displays
      • Справочник по OLED дисплеям
      • OLED дисплей CNK109632
      • OLED дисплей CNK109630
      • OLED дисплей CNK111063
    • Интегральный радиоприемник — RDA5807FP
    • Подключение SD/MMC карт памяти к PIC-микроконтроллеру
    • GPS — система глобального позиционирования
  • Buy
  • About
  • Club
  • Community
    • Register
    • Sign In
    • Forgot password?
    • Search users

10-бит, высокоскоростной, аналого-цифровой преобразователь, часть 2

Views: 2403


Измерение переменного напряжения, вычисление TrueRMS.

Этот урок обучения работе с АЦП будет предназначен для измерения параметров переменного тока, это актуально к нашим электросетям, где качество поставляемой электроэнергии является проблемой. За основу вычисления величины переменного напряжения возьмем информацию на сайте http://www.easycalculation.com. TrueRMS переменного тока, это количество передаваемой энергии которое в идеале соответствует такой же величине постоянного тока.

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

pic24-15-600x240
 

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

Схема.

pic24-08-071

Для вычисление истинного напряжения TrueRMS необходимо выполнить сканирования одного периода напряжения сети. Т.е. необходимо произвести n- количество измерений. В идеале чем чаще мы сделаем выборки тем точнее будет расчет реального напряжения.

pic24-16-600x256

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

Для измерения нам скорости от RC генератора АЦП будет недостаточно, поэтому Первое, что сделаем переключимся на системный генератор. Нам необходимо будет определиться какое количество измерений нам необходимо сделать за один период. Первое – необходимо организовать формирования массива данных которые потом понадобятся для вычисления.

Необходимо определить, скорость преобразования. Скорость преобразования зависит от тактовой частоты. В нашем проекте тактовая 32 мГц. Это длительность 31,25 ns.   Для преобразователя необходимо 12 TAD для конвертирования 10 данных. Длительность вычисляется по формуле TAD = TCY • (ADCS<7:0>+1). Где TCY = 2 * Tosc для нашего микроконтроллера. Tosc=32 мГц.

Для буфера измерений отведем буфер 125 измерений. Для тактовой частоты 32 мГц и измеряемой 50 Гц нам необходимо установить для битов  ADCS7:ADCS0: – 63, длительность выборки SAMC4:SAMC0: 28.

Для вычислений можно использовать файл ME (подготавливается).

// настройка АЦП
        TRISA = 0b0000000000000001; // AN0 вход
	AD1PCFG=0b1111111111111110; // настроить AN0 на вход
	AD1CHS = 0x0000;            // AN0 подключить к CH0
        AD1CSSL = 0;
        AD1CON3 = 0b0001110000111111;
//                  ||||||||++++++++-- ADCS7:ADCS0: 63 задание длительности TAD
//                  |||+++++---------- SAMC4:SAMC0: 28 TAD время выборки
//                  |++--------------- не используется
//                  +----------------- 0-системный генартор
        AD1CON2 = 0b0000000000011110;
//                  |||||||||||||||+-- ALTS:всегда использует MUX A входа
//                  ||||||||||||||+--- BUFM: два буфера по 8 регистров
//                  ||||||||||++++---- SMPI3:SMPI0: прерывание от каждого 8 измерения
//                  |||||||||+-------- не используется
//                  ||||||||+--------- BUFS: бит состояния
//                  ||||||++---------- не используется
//                  |||||+------------ CSCNA: сканирование входов выключено
//                  |||++------------- не используется
//                  +++--------------- VCFG2:VCFG0: опорное AVdd и AVss
        AD1CON1 = 0b1000000111100000;
//                  |||||||||||||||+-- DONE:
//                  ||||||||||||||+--- SAMP
//                  |||||||||||||+---- ASAM
//                  |||||||||||++----- не используется
//                  ||||||||+++------- SSRC2:SSRC0: от внутреннего тактового RC генератора запуск
//                  ||||||++---------- FORM1:FORM0: Целое (0000 00dd dddd dddd)
//                  |||+++------------ не используется
//                  ||+--------------- ADSIDL:Продолжить работу модуля в режиме ожидания
//                  |+---------------- не используется
//                  +----------------- ADON:1 - АЦП - включен

В функции прерывания от АЦП выполним процедуру считывания регистров буфера АЦП и загрузки в буфер данных 

void __attribute__ ((__interrupt__, __auto_psv__)) _ADC1Interrupt(void)
{
    IFS0bits.AD1IF = 0;// сбросить бит прерывания
    if(_BUFS)// определяем в какую часть буфера в настоящий момент пишит АЦП
// 0- запись идет в группу ADC1BUF0 до ADC1BUF7
// 1- запись идет в группу ADC1BUF8 до ADC1BUFF
    {
        ADC16Ptr = &ADC1BUF0; 		// будем читать данные из ADC1BUF0 до ADC1BUF7
    }
    else
    {
        ADC16Ptr = &ADC1BUF8; 		// будем читать данные из ADC1BUF8 до ADC1BUFF
    }
    for (countZag = 0; countZag < 8; countZag++)
    {
        if(++countec>=125)
        {
            countec=0;
            Bit.ZAG=1;
        }
        ADC1izm[countec] = *ADC16Ptr++; // загрузка из буфера
    }
}

Проект вычисляет TrueRMS переменного тока, запоминает минимальное и максимальное напряжение за все время работы, выводит на индикатор амплитудное значение.

Сам механизм вычисления:

        ADCValue=0;
// возведение в квадрад
        for (count = 0; count < 125; count++)
        ADC1obra[count]=ADC1obra[count]*ADC1obra[count];              // загрузка из буфера
// нахождение сyммы
        for (count = 0; count < 125; count++)
        ADCValue+=ADC1obra[count];
// вычисление среднего
        ADCValue=ADCValue/125;
// извлечение корня
        ADCValue=sqrt(ADCValue);

 


Фото проекта.

На дисплей выводиться информация по минимаксам (минимальное и максимальное значение напряжения зафиксированное за время работы, а также максимальное амплитудное. Посредине внизу напряжение в сети измеренное методом TrueRMS.

pic24-08-06


Проект, среда разработки MPLAB® X v1.70, компилятор С MPLAB XC16 v1.11.

Значок

10-бит, высокоскоростной, аналого-цифровой преобразователь, часть 1 72.81 KB 1159 downloads

10-бит, высокоскоростной, аналого-цифровой преобразователь. Проект,...
Download
Значок

10-бит, высокоскоростной, аналого-цифровой преобразователь, часть 2 99.45 KB 912 downloads

10-бит, высокоскоростной, аналого-цифровой преобразователь,...
Download

Поделись этим!

  • Facebook
  • Twitter
  • LinkedIn

Пользователи онлайн

Сейчас никого нет в сети

Подпишитесь на нашу рассылку

Oh hello 👋
Nice to meet you.

Subscribe to get great content every month.

Select list(s):

We don't spam!

Check your mailbox or spam to confirm your subscription.

Метки

AD9833 (4) Altium Designer (13) BK8000L (4) CAN (3) ch-4000 (8) ch-светомузыка (5) DHT11 (4) DMA (2) DS18B20 (8) ESP-12F (3) ESP-202 (3) ESP32 (3) ESP8266 (7) LED (4) MCC (3) MPLAB® Code Configurator (24) MPLAB® Harmony (6) Music (3) music color (6) OLED (9) PIC10 (4) PIC10F222 (3) PIC16F1829 (4) PIC16F1936 (3) pic18 (3) PIC18F25K42 (4) PIC18F26K40 (3) PIC24 (20) PIC24FJ64GA002 (11) PIC32 (2) PIC32MX (8) PIC32MZ (8) SEPS114A (4) SSD1306 (3) TM1639 (3) VU-meter (2) WiFi (3) WS2812B (4) XC16 (12) ДУ ИК (3) Измерение влажности (3) Измерение напряжения (3) Измерение температуры (7) Сенсор (7) Терморегулятор (4)

Рубрики

Календарь

Май 2025
Пн Вт Ср Чт Пт Сб Вс
 1234
567891011
12131415161718
19202122232425
262728293031  
« Мар    

Архивы

Статистика

  • 0
  • 456
  • 166
  • 2 690 268
  • 746 746
  • 2 541
  • 01/03/2024

Свежие записи

  • Customs codes for export 01/03/2024
  • Development Boards PIC18F47Q84 02/02/2024
  • Development of temperature control and management systems 29/01/2024
  • Altium Designer my Libraries, Project templates, System settings by Catcatcat V24.0 PRO 10/12/2023
  • Development board based on MCU PIC18F47Q84 17/11/2023
  • Altium Designer my Libraries, Project templates, System settings by Catcatcat V23.09 03/09/2023
  • CLUBBEST-50-Light 27/07/2023
  • The art of DJ 07/07/2023
  • Real-time music visualization technology 23/06/2023
  • Temperature measurement with NTC thermistor. 29/05/2023
  • Altium Designer my Libraries, Project templates, System settings by Catcatcat V23.04 20/04/2023
  • TDA7294 part 2 10/04/2023
  • TDA7294 part 1 02/04/2023
  • CLUBBEST – reasoning on the visualization of music. 23/03/2023
  • Altium Designer my setup system and project structure V23.3 08/03/2023
  • Altium Designer first project 01/03/2023
  • Kitchen timer with contactless gesture control 08/02/2023
  • Altium Designer my setup system and project structure 01/02/2023
  • Arduino LCD + STONE STVI056WT-01 + Strain gauge 17/04/2021
  • NeoPixel LED and PIC24 14/04/2021
  • MCC PIC24 – модуль REAL-TIME CLOCK AND CALENDAR (RTCC) 25/01/2021
  • Простой оптический сенсор приближения 09/01/2021
  • NS108-5050-16bit от Newstar 21/10/2020
  • JDY-62A Audio bluetooth module 18/09/2020
  • Audio-bluetooth modules BK8000L (noname) 15/09/2020
  • Audio-bluetooth modules F-6188 (BK8000L) 07/09/2020
  • Acquaintance with audio-bluetooth modules F-6888 (BK3254). 03/09/2020
  • My libraries for Altium Designer 30/05/2020
  • MCC – K42 – настройка модуля DMA 30/03/2020
  • VU Meter Tower ART – part 2 14/02/2020
  • MTouch® Модуль Емкостной Библиотеки для MPLAB®X Code Configurator (MCC) 12/01/2020
  • Система AT команд версии V2.0 для ESP8266 и ESP32 22/10/2019
  • PIC18 – модуль DMA 05/06/2019
  • AD9833 – Programmable Waveform Generator – part two 07/04/2019
  • BMP280 – температура и атмосферное давление – учебный проект 26/03/2019
  • Altium Designer – подготовка документации для производства и сборки печатных плат 16/03/2019
  • AD9833 – Programmable Waveform Generator 20/02/2019
  • NeoPixel LED и PIC18 03/02/2019
  • MPLAB® Harmony – или как это просто! Часть 4. 20/01/2019
  • MPLAB® Harmony – или как это просто! Часть 3. 04/01/2019
  • MPLAB® Harmony – или как это просто! Часть 2. 20/12/2018
  • MPLAB® Harmony – или как это просто! Часть 1. 17/12/2018
  • ESP32-первое знакомство 14/12/2018
  • MCC PIC24 – модуль OUTPUT COMPARE – в режиме генератора звуковых сигналов 25/10/2018
  • Ссылки на интересные источники 20/10/2018
  • MCC PIC24 – модуль OUTPUT COMPARE – режиме ШИМ 15/10/2018
  • Moving average – скользящее среднее 12/10/2018
  • 12-BIT A/D CONVERTER WITH THRESHOLD DETECT на примере PIC24FJ128GA204 03/10/2018
  • HVLD модуль на примере PIC24FJ128GA204 24/09/2018
  • ESP8266 применение в проектах 21/09/2018
  • ch-светомузыка и AK4113 15/09/2018
  • ESP8266 процедура получение данных даты и времени от серверов точного времени. 18/04/2018
  • WiFi ESP8266 – AT команды связанные с функцией TCP/IP (v.1.6.1) 15/04/2018
  • PIC18 – System Arbitration 05/04/2018
  • PIC18F25K42 – v. A001 – выявленные баги. 31/03/2018
  • CCP – модуль в режиме Compare на примере PIC18 28/03/2018
  • LED драйвер TM1639 25/03/2018
  • I2C MODULE – PIC18F25K42 Device ID Revision = A001 15/03/2018
  • Обновление ESP8266 c ESPFlashDownloadTool_v3.6.3 14/01/2018
  • TM1650 драйвер LED семисегментного индикатора 26/11/2017
  • Униполярный шаговый двигатель – часть 2 17/11/2017
  • Униполярный шаговый двигатель 14/11/2017
  • Просто о структурах и объединениях в Си 09/11/2017
  • REFERENCE CLOCK OUTPUT MODULE 29/10/2017
  • Тестирование модуля генератора 27/10/2017
  • Analog-to-Digital Converter with Computation Technical Brief 29/09/2017
  • Система отопления на солнечных коллекторах от Дмитрия (rv3dpi) 03/09/2017
  • Altium Designer – создание рисунков на печатной плате 05/08/2017
  • DIXELL XWEB500D-EVO + RUT900 или как пробить NAT-сервер 07/06/2017
  • MPLAB® Code Configurator and Encoder 22/04/2017
  • Проект с использованием MCC часть 16 16/04/2017
  • Проект с использованием MCC часть 15 15/04/2017
  • Проект с использованием MCC часть 14 19/03/2017
  • Проект с использованием MCC часть 13 12/03/2017
  • Проект с использованием MCC часть 12-2 26/02/2017
  • MPLAB X IDE – управление проектами 26/02/2017
  • Просто о внешних переменных 04/02/2017
  • Проект с использованием MCC часть 12-1 31/01/2017
  • Проект с использованием MCC часть 11 25/01/2017
  • Проект с использованием MCC часть 10 23/01/2017
  • Проект с использованием MCC часть 09 14/01/2017
  • Проект с использованием MCC часть 08 13/01/2017
  • Проект с использованием MCC часть 07 12/01/2017
  • Проект с использованием MCC часть 06 11/01/2017
  • Проект с использованием MCC часть 05 10/01/2017

Случайные записи

  • Простой цифровой вольтметр ch-c3200Простой цифровой вольтметр ch-c3200
  • Trimax – кодирование и декодирование ИК-командTrimax – кодирование и декодирование ИК-команд
  • Простой оптический сенсор приближенияПростой оптический сенсор приближения
  • Система отопления на солнечных коллекторах от Дмитрия (rv3dpi)Система отопления на солнечных коллекторах от Дмитрия (rv3dpi)
  • Просто о структурах и объединениях в СиПросто о структурах и объединениях в Си
  • Гаджеты для домашней автоматики – Датчик движенияГаджеты для домашней автоматики – Датчик движения
  • Модуль CAN в микроконтроллерах PIC18Модуль CAN в микроконтроллерах PIC18
  • MCC PIC24 – модуль OUTPUT COMPARE – режиме ШИМMCC PIC24 – модуль OUTPUT COMPARE – режиме ШИМ
  • USB K-L-line адаптерUSB K-L-line адаптер
  • УКВ – радиоприем, часть 1УКВ – радиоприем, часть 1
  • Проект с использованием MCC часть 02Проект с использованием MCC часть 02
  • Индикатор температурыИндикатор температуры
  • Development of temperature control and management systemsDevelopment of temperature control and management systems
  • Акриловый корпус для платы ch-4000Акриловый корпус для платы ch-4000
  • CAN – Controller Area NetworkCAN – Controller Area Network
  • Audio-bluetooth modules BK8000L (noname)Audio-bluetooth modules BK8000L (noname)
  • MPLAB® Code Configurator and EncoderMPLAB® Code Configurator and Encoder
  • Гаджеты для домашней автоматики – Емкостной сенсорГаджеты для домашней автоматики – Емкостной сенсор
  • Сенсорный выключатель светаСенсорный выключатель света
  • LCD драйвер – UC1601sLCD драйвер – UC1601s
  • Сумеречное релеСумеречное реле
  • Altium Designer my Libraries, Project templates, System settings by Catcatcat V23.04Altium Designer my Libraries, Project templates, System settings by Catcatcat V23.04
  • Проект с использованием MCC часть 01Проект с использованием MCC часть 01
  • ESP8266 применение в проектахESP8266 применение в проектах
  • AD9833 – Programmable Waveform GeneratorAD9833 – Programmable Waveform Generator
  • MPLAB® Harmony – или как это просто! Часть 3.MPLAB® Harmony – или как это просто! Часть 3.
  • ch-светомузыка и AK4113ch-светомузыка и AK4113
  • Ссылки на интересные источникиСсылки на интересные источники
  • Простой цифровой регулятор мощностиПростой цифровой регулятор мощности
  • Проект с использованием MCC часть 08Проект с использованием MCC часть 08
  • Customs codes for exportCustoms codes for export
  • Бегущие огни (ch-bo-36)Бегущие огни (ch-bo-36)
  • Униполярный шаговый двигательУниполярный шаговый двигатель
  • Altium Designer – создание рисунков на печатной платеAltium Designer – создание рисунков на печатной плате
  • PIC18F25K42 – v. A001 – выявленные баги.PIC18F25K42 – v. A001 – выявленные баги.
  • MPLAB® X IDE
  • MPLAB® XC8 Compiler
  • MPLAB® XC16 Compiler
  • MPLAB® XC32 Compiler
  • Файлы Библиотек
  • Проекты
  • Проект ИЛЛИССИ
  • Статьи
  • Изучаем PIC24
  • Ch-Светомузыка
  • Примеры построения кодов программ C, ассемблер
  • Системный софт – Bootloader для PIC-контроллеров, PIC16, PIC18
  • Тех. документация
  • Музыка в моей жизни
  • Мои рисунки
  • Афоризмы для Embedded Programmer
  • С чего начать?
  • Установка MPLAB®X и компилятора Си
  • Создание проекта
  • Первый проект для самых маленьких
  • Facebook
  • Instagram
  • LinkedIn
  • Pinterest
  • Магазин
  • Skype
  • Telegram
  • X.com
  • WhatsApp
  • YouTube
  • RSS
  • E-mail

Copyright © Catcatcat 2012-2025. All rights reserved.
Copying is allowed only with an active link to the copyright holder.

e-mail: catcatcat.electronics@gmail.com

Последние файлы

Значок
Customs codes for export (xlsx) 1943 раз(а) скачали 121 КБ
Скачать
Значок
Demo Board PIC18F47Q84 soft 1568 раз(а) скачали 6 МБ
Скачать
Значок
Altium Designer my Libraries, Project templates, System settings by Catcatcat V24.0 PRO 2254 раз(а) скачали 2 КБ
Скачать
Значок
Development board based on MCU PIC18F47Q84 - schematic 1776 раз(а) скачали 5 МБ
Скачать
Значок
Altium Designer my Libraries, Project templates, System settings by Catcatcat. V23.9 2181 раз(а) скачали 2 КБ
Скачать
Значок
CLUBBEST 50 Light - BOM sheet in Microsoft format Excel 1754 раз(а) скачали 8 КБ
Скачать
Значок
CLUBBEST 50 Light - Pick Place sheet in Microsoft format Excel 2006 раз(а) скачали 16 КБ
Скачать
Значок
CLUBBEST 50 Light - Scheme in PDF format 1805 раз(а) скачали 9.30 MB
Скачать
Значок
CLUBBEST 50 Light - Description for manual assembly of the project 2291 раз(а) скачали 11.00 MB
Скачать
Значок
CLUBBEST 50 Light - Firmware 2027 раз(а) скачали 22 КБ
Скачать
Значок
CLUBBEST 50 Light - Archive with a complete set of files for PCB manufacturing 1547 раз(а) скачали 940 КБ
Скачать
Значок
Construction CLUBBEST M68 MASTER 1969 раз(а) скачали 2 МБ
Скачать
Значок
Calculation of the ADC table by Catcatcat V3.0 1579 раз(а) скачали 103 КБ
Скачать
Значок
NTC constant calculater by Catcatcat V3.0 1566 раз(а) скачали 194 КБ
Скачать
Значок
NTC_sensor - Temperature measurement library 2027 раз(а) скачали 5 КБ
Скачать
Значок
Altium Designer my Libraries, Project templates, System settings by Catcatcat V23.04 update_link 3206 раз(а) скачали 2 КБ
Скачать
Значок
TDA7294 part 2 2804 раз(а) скачали 62.65 MB
Скачать
Значок
TDA7294 part 1 2640 раз(а) скачали 37.92 MB
Скачать
Значок
Altium Designer my setup system and project structure V23.3 2922 раз(а) скачали 2 КБ
Скачать
Значок
Altium Designer my Libraries, Project templates, System settings by Catcatcat V23_02_13 3212 раз(а) скачали 2 КБ
Скачать
Вернуться наверх
Translate »