Jump to content
Karl-Ieronim

VU meter на ATMega328

Recommended Posts

Коллеги, всем привет. 

Увидел вот такой проект

Несмотря на явную привлекательность что-то совсем мало повторивших. 

Может кто-то из завсегдатаев форума делал этот проект? 

Интересует ваше мнение: хочу повторить, но не силен в программировании, поэтому беспокоюсь на счёт подводных камней с которыми не смогу справиться. 

Edited by Karl-Ieronim

Share this post


Link to post
Share on other sites

Пока пришли индикаторы, решил цифровую часть собрать на Ардуино Про Мини. 

И тут же засада: там надо компилировать... 

Попробовал по инструкции (через командную строку + скачал AVR GCC), через AVR studio... 

В общем, не получается. Видимо мозг не той системы. 

Если не сложно, помогите мне собрать прошивку из того что автор выложил. У меня Ардуина про мрни, 16МГц кварц и дисплей 1306 (там в проекте надо это в настройках указать). 

Или ткните где доходчиво рассказано как из кучи файлов собрать прошивку. И фьюзы. 

 

vu_meter-1.zip

Edited by Karl-Ieronim
Добавил программу

Share this post


Link to post
Share on other sites

Приглашаем на вебинар «Умный и безопасный дом от STMicroelectronics – строим вмеSTе!» (23.06.2021)

Приглашаем 23/06/2021 всех желающих принять участие в вебинаре, посвященном проектированию и разработке систем умного дома на базе компонентов STMicroelectronics. Экосистема продукции STMicroelectronics включает в себя как электронные компоненты, так и средства разработки, готовые стеки протоколов и законченные примеры кода. Предлагаемые ресурсы позволят разработчику легко построить каркас системы и быстро создать прототип своего приложения. На вебинаре также расскажем о беспроводных интерфейсах – ведь благодаря поддержке стандартов BLE и ZigBee разработчики смогут при необходимости интегрировать устройства сторонних производителей и создавать открытые системы.
Подробнее

Зашел на GitHub, там автор выложил хексы. Прошил, но экраны черные, без изображения, а светодиод на ПроМини мигает с частотой ~0,5 сек. Дисплеи целые, проверил их скетчами. 

У автора тож люди спрашивали, но проблема как видно не решилась. 

Подскажите плз, куда копать? 

Share this post


Link to post
Share on other sites

Тактовые кнопки Panasonic - высококачественная коммутация в миниатюрном исполнении

Panasonic, один из мировых лидеров по производству высококачественных электромеханических компонентов, и Компэл представляют масштабное расширение складской программы. В настоящее время на складе Компэл доступны ведущие серии SMD-тактовых переключателей Panasonic в миниатюрных корпусах. Линейка тактовых кнопок Panasonic отличается многообразием компактных переключателей различных типоразмеров, форм штока и выводов. Переключатели отвечают важнейшим требованиям в ответственных применениях.

Подробнее

3 часа назад, Karl-Ieronim сказал:

И тут же засада: там надо компилировать..

Так вам надо копать в сторону поиска того кто умеет компилировать! Через форум это в общем то невозможно!

29.09.2020 в 17:11, Karl-Ieronim сказал:

Несмотря на явную привлекательность что-то совсем мало повторивших.

А как вы привлекательность определили, интересно? Кому нужно повторять чужие поделки? Для Чего?

У вас видимо есть куда прилепить эту поделку, а остальным она совершенно не к чему.


Можно сделать все! Но чем больше можно, тем больше нельзя!

Share this post


Link to post
Share on other sites

Использование интеллектуальных силовых ключей PROFET в системах электропитания современных автомобилей

Современные автомобили, использующие полуавтоматизированные и автоматизированные системы вождения, отказываются от централизованных систем распределения питания в пользу децентрализованных. При этом современные системы контроля электропитания и обеспечения его безопасности требуют замены электромеханических коммутаторов и предохранителей на быстродействующие ключи на базе MOSFET со встроенными микроконтроллерами и возможностями диагностики – такие как предлагаемые компанией Infineon интеллектуальные силовые ключи PROFET.
Подробнее

21 час назад, ruhi сказал:

Так вам надо копать в сторону поиска того кто умеет компилировать! Через форум это в общем то невозможно!

А как вы привлекательность определили, интересно? Кому нужно повторять чужие поделки? Для Чего?

У вас видимо есть куда прилепить эту поделку, а остальным она совершенно не к чему.

Спасибо за столь эмоциональный и содержательный пост. Мне это сильно помогло. 

 

 

Share this post


Link to post
Share on other sites
On 10/11/2020 at 2:57 PM, Karl-Ieronim said:

Или ткните где доходчиво рассказано как из кучи файлов собрать прошивку. И фьюзы. 

В архиве не программа, а судя по всему печатная плата в каком-то формате. По расширениям вроде как на Gerber не похоже, внутрь не заглядывал, нет смысла.

23 hours ago, Karl-Ieronim said:

Подскажите плз, куда копать? 

Для начала сказать, что именно "пошло не так". Для сборки проекта нужен make + avr-gcc. И тот и другой инструмент идут в составе последних версий Atmel Studio, но могут быть установлены отдельно. Что именно на Вашей стороне - неизвестно. Скажите - может и будет совет. 

Edited by El-Shang

Share this post


Link to post
Share on other sites

В архиве исходники и hex под два типа дисплеев. 

Я прошил hex, но экран тёмный, нет ничего. А светодиод на 13 ноге Ардуино Про Мини мигает сам себе. 

Что заметил, у автора дисплей имеет линию SCL, а мой SCK. Может в этом дело? 

 

VU_meter_v1.1.zip

Share this post


Link to post
Share on other sites
1 час назад, Karl-Ieronim сказал:

SCL, а мой SCK. Может в этом дело? 

У вас там в ридми написано:

Note: This is Work In Progress design. To make it work for you you'll most probably need to modify it in one way or another.

Говорят что нужно как то модифицировать этот проект для собственного использования, и он, вообще, не закончен. А компилировать там непонятно что - там мейк-файла нет, не обижайтесь.


Можно сделать все! Но чем больше можно, тем больше нельзя!

Share this post


Link to post
Share on other sites
12.10.2020 в 19:33, skripach сказал:

попробуй это залей

 

main.hex 15 kB · 6 скачиваний

Спасибо за участие!

К сожалению экран всё равно черный, нет никого изображения, светодиод на 13 ноге мигает

12.10.2020 в 18:45, ruhi сказал:

У вас там в ридми написано:

Note: This is Work In Progress design. To make it work for you you'll most probably need to modify it in one way or another.

Говорят что нужно как то модифицировать этот проект для собственного использования, и он, вообще, не закончен. А компилировать там непонятно что - там мейк-файла нет, не обижайтесь.

да, в том-то и дело: надо указать тип контроллера(платы Ардуино), что-то подшаманить с дисплеем (указать 1306) и скомпилировать. При открытии в текстовом редакторе я все это могу сделать, но дальше увы, мои познания и умения заканчиваются и мануал мне не помогает .

Share this post


Link to post
Share on other sites
7 минут назад, Karl-Ieronim сказал:

Может всё-таки дело в дисплее? 

дисплей sh1306?

а если один дисплей отключить?

Share this post


Link to post
Share on other sites
9 часов назад, skripach сказал:

дисплей sh1306?

а если один дисплей отключить?

Да, sh1306. Но вместо SCL у меня SCK. Подключён один, проверял его - всё работает. Резисторы R3 и R4 перепаивал. 

_20201015_081543.JPG

_20201015_081513.JPG

Share this post


Link to post
Share on other sites
14.10.2020 в 14:37, Karl-Ieronim сказал:

При открытии в текстовом редакторе я все это могу сделать

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

У вас ничего этого нет: как строить, подо что, с какими настройками - непонятно! Может вы какой-то файл-каталог пропустили-потеряли?


Можно сделать все! Но чем больше можно, тем больше нельзя!

Share this post


Link to post
Share on other sites

@Karl-Ieronim, мне кажется, Вам будет проще быстрее поиграться с этим проектом самостоятельно, чем ждать помощи со стороны. Разбираться в хитросплетениях внутренней "кухни" этого проекта вряд-ли кто будет с учетом отсутствия автора и заинтересованных лиц на данном форуме.

Как я понимаю камнем преткновения стала сборка проекта. Этим управляет всемирно известная утилита make и запускается она из командной стоки вот таким вот банальным образом: "C:\%ПутьКПроекту%\make all". Для того, чтобы эта команда сработала необходимо в переменную среды PATH добавить пути к папкам, в которых находятся файлы avr-gcc.exe и make.exe. Если вы уже установили AVR (ныне Atmel) Studio версии старше четвертой, то оба эти файла можно найти где-то в директории ее установки. Конкретный путь я не знаю, нет ее под рукой, воспользуйтесь поиском.

PATH проще всего Вам будет обновить из свойств "Мой Компьютер". Вот так это выглядит на 10-ке:

image.png.6b4320c9f6d459005fcb2f6be7bcde7d.png

Для проверки, что все работает, вбейте в командой строке avg-gcc.exe и make.exe. Оба должны ругнуться, мол, нет входных файлов, не с чем работать. После этого топайте в директорию с проектом, смело меняйте свой config.h, собирайте проект и забирайте полученный *.hex. Для чистоты эксперимента можете предварительно выполняться make clean, эта команда полностью удаляет все временные файлы и сборка каждый раз будет начинаться с чистого листа.

Edited by El-Shang

Share this post


Link to post
Share on other sites
16 часов назад, El-Shang сказал:

@Karl-Ieronim, мне кажется, Вам будет проще быстрее поиграться с этим проектом самостоятельно, чем ждать помощи со стороны. 

Да, Вы правы. Понимаю, сейчас времени мало у всех.

Спасибо за инструкцию, попробую. 

 

Share this post


Link to post
Share on other sites

Пробуйте. Несмотря на кажущуюся сложность, в makefile-managed проектах нет никакой "черной магии", если говорить о стороне пользователя. Единственное неудобство — нужно пользоваться командной строкой, но на ее освоение в минимальном объеме уйдет максимум полчаса. :-)

Share this post


Link to post
Share on other sites

Не получается. Ошибка вылетает. Заказал индикаторы как у автора, отпишусь о результате. 

Автору написал, он сказал что посмотрит и поможет. 

Так что вот. 

Share this post


Link to post
Share on other sites

Так Вы бы написли, что именно не получается. Может чего коллективный разум и подсказал-бы. :-) Впрочем, окончательное решение за Вами, если проще заказать индикаторы 1 в 1, то так тому и быть.

Share this post


Link to post
Share on other sites
3 часа назад, El-Shang сказал:

Так Вы бы написли, что именно не получается. 

Ошибка при компиляции вылетает. Чуть позже выложу скрины. 

Про индикаторы.

Автор ответил, сказал что надо именно такой индикатор или ставить две Ардуины(в принципе, при их цене это не столь разорительно). 

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

Эти манипуляции явно мне не по плечу. 

Так что решил заказать дисплеи как у автора. 

Share this post


Link to post
Share on other sites

Ну, по меньшей мере, ТС получил ответ на свой вопрос в шапке темы:
 

29.09.2020 в 18:11, Karl-Ieronim сказал:

Несмотря на явную привлекательность что-то совсем мало повторивших. 

 


"Я не знаю какой там коэффициент, я просто паять умею. "

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Сообщения

    • Спасибо большое, это уже что-то понятное! Но мне бы схемку хоть карандашом, как это собрать с переключателем...  оооо, дык у меня тут еще реле не хватает?  гдеж мне схему посмотреть со всеми деталями? 
    • Вот как раз формула вычисляет корень из среднеквадратичного значения. Но вот с ней "дебет с кредитом" не сходится. Дополнительно для проверки у меня к примеру есть светодиодная лампа на 20Вт мощности и Зарядник от мобильного устройства приблизительно 69Вт мощности. _____________________________________________________________ 1) Я выкидываю расчёт среднеквадратичного значения из программы и снимаю значения АЦП напрямую, далее я добавляю конденсатор (сглаживающий), он и будет работать вместо формулы, сглаживать и приводить к единому числу все пульсации. (т.е. повторюсь за место формулы работает, конденсатор) То при калибровке такой схемы: - У меня все лампочки по потреблению тока имеют почти-что такой же результат, как и на тестере "плюс" или "минус", расхождения есть но незначительные. - Дополнительно если я подключаю светодиодную лампу, у меня расчётная мощность получается (~18-19 Вт), что почти что права на этикетке лампы написано (20Вт), - Дополнительно подключаю зарядник от мобильника, который даёт такие импульсы большие (на графике выше показаны эти импульсы), схема с конденсатором показывает (~59-65 Вт) - что тоже укладывается в пределы написанного на этикетке зарядника, а именно (230В, 0,3А, 69Вт). _____________________________________________________________ 2) Я подключаю АЦП напрямую (выкидываю конденсатор с резистором), и подключаю расчёт среднеквадратичной формулы. И тут и начинается странность.  При калибровке такой схемы: - Все лампочки также по потреблению тока имеют почти-что такой же результат, как и на тестере "плюс" или "минус", расхождения есть но незначительные. - Светодиодная лампа, у меня расчётная мощность получается (~30 Вт), что уже гораздо страннее, - Зарядник от мобильника, показывает (~600 Вт), что ещё более страннее ибо столько зарядка мобильника потреблять не может.   Судя по расчётам формулы, при подключении обычных ламп накаливания, где сигнал с датчика тока имеет синусоидальный сигнал, среднеквадратичная формула работает отлично, но стоит только подключить устройства с импульсным блок питанием, как формула перестаёт работать и показывает какие-то другие значения. И здесь конденсатор включенный в цепь имеет куда более правдивые показания, чем формула. Но всё же, и там и там, и в схеме без формулы, но с конденсатором, ни в схеме без конденсатора, но с формулой, на графиках видна нелинейность напоминающая параболу. 
    • Красные провода - рабочая обмотка, синие - пусковая. Фазировка пусковой относительно рабочей определяет направление вращения. Пусковая включается через конденсатор. Один включен постоянно, второй на момент пуска, с помощью реле или свециального выключателя. Термопредохранитель в разрыв любого сетевого провода.
    • Здравствуйте! Есть мотор от мясорубки нужно восстановить схему подключения. 1). По схеме что на табличке мотора, разобраться с подключением реверс-переключателя не получилось. На табличке указано что к обоим проводам цвета "BROWN" подключен тепловик/предохранитель, а по факту один из проводов цвета "BROWN" был напрямую подключен к клемме входящего 220В. кабеля. 2). Схема что указана в инструкции от мясорубки вообще без обозначения цветов провода, а 12контактный реверс/переключатель просто не подходит к такому подключению, так как если соблюдать по схеме номера контактов он просто по очереди размыкает контакты питания. Моя схема ОДНОФАЗНАЯ! Помогите пожалуйста разобраться!
    • Это усилитель в клипе? Очень интересно....Под ламповый звук косит?
    • Да, я внимательно посмотрю на ваши подсказки.
    • Как знать...Можно и тут нагородить, не знамо ...и не одну.
  • Similar Content

    • By Anton Chehonin
      Вот сам код программ
       
      Текст программы МК
      /*******************************************************
      Chip type : ATmega8
      Program type : Application
      AVR Core Clock frequency: 8,000000 MHz
      Memory model : Small
      External RAM size : 0
      Data Stack size : 256
      *******************************************************/

      #include <mega8.h>
      #include <delay.h>

      // Alphanumeric LCD functions
      #include <alcd.h>

      // Standard Input/Output functions
      #include <stdio.h>
      #include <stdlib.h>

      // Declareyourglobalvariableshere

      float s;
      unsigned long int k0=0,k1=0,k2=0,k3=0,k0123=0;
      unsigned long int k4=0,k5=0,k6=0,k7=0;//k4567=0;
      unsigned long int k8=0,k9=0,k10=0,k11=0;//k891011=0;
      unsigned long int k12=0,k13=0,k14=0,k15=0;//k12131415=0;
      unsigned long int k16=0,k17=0;
      char k=0;

      void main(void)
      {
      // Declare your local variables here

      char buffer[20];


      char a,b,c,d,e,f;
      // Присваивание переменным a,b,c численные значения 63 05 00 01 CF A1
      a=0b01100011;
      //63
      b=0b00000101;
      //05
      c=0b00000000;
      //00
      d=0b00000001;
      //01
      e=0b11001111;
      //CF
      f=0b10100001;
      //A1

      DDRD.2=1;
      PORTD.2=0;

      // USART initialization
      // Communication Parameters: 8 Data, 1 Stop, No Parity
      // USART Receiver: On
      // USART Transmitter: On
      // USART Mode: Asynchronous
      // USART Baud Rate: 9600
      UCSRA=(0«RXC) | (0«TXC) | (0«UDRE) | (0«FE) | (0«DOR) | (0«UPE) | (0«U2X) | (0«MPCM);
      UCSRB=(0«RXCIE) | (0«TXCIE) | (0«UDRIE) | (1«RXEN) | (1«TXEN) | (0«UCSZ2) | (0«RXB8) | (0«TXB8);
      UCSRC=(1«URSEL) | (0«UMSEL) | (0«UPM1) | (0«UPM0) | (0«USBS) | (1«UCSZ1) | (1«UCSZ0) | (0«UCPOL);
      UBRRH=0x00;
      UBRRL=0x33;


      // Alphanumeric LCD initialization
      // Connections are specified in the
      // Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:
      // RS - PORTС Bit 0
      // RD - PORTС Bit 1
      // EN - PORTС Bit 2
      // D4 - PORTС Bit 3
      // D5 - PORTС Bit 4
      // D6 - PORTС Bit 5
      // D7 - PORTD Bit 7
      // Characters/line: 20
      lcd_init(20);
      lcd_clear();
      delay_ms(1000);
      while (1)
      {
      printf("%c%c%c%c%c%c",a,b,c,d,e,f); // отправка в порт

      //принимаем байты
      k=getchar(); // 0 байт
      if (k==99) {PORTD.2=1;}
      k0=getchar(); // 1 байт Активная энергия+
      k1=getchar(); // 2 байт
      k2=getchar(); // 3 байт
      k3=getchar(); // 4 байт
      k4=getchar(); // 1 байт Активная энергия-
      k5=getchar();
      k6=getchar();
      k7=getchar();
      k8=getchar(); // 1 байт Реактивная энергия+
      k9=getchar();
      k10=getchar();
      k11=getchar();
      k12=getchar(); // 1 байт Реактивная энергия-
      k13=getchar();
      k14=getchar();
      k15=getchar();
      k16=getchar();
      k17=getchar(); // 19 байт


      k0=k0«24;
      k1=k1«16;
      k2=k2«8;
      k0123=k0|k1|k2|k3;


      s=k0123;
      sprintf(buffer,"A+=%.4fkWh",s/2500);
      lcd_gotoxy(0,0);
      lcd_puts(buffer);

      // k4=k4«24;
      // k5=k5«16;
      // k6=k6«8;
      // k4567=k4|k5|k6|k7;
      // s=k4567;
      // sprintf(buffer,"A-=%.4fkWh",s/2500);
      // lcd_gotoxy(0,1);
      // lcd_puts(buffer);
      //
      // k8=k8«24;
      // k9=k9«16;
      // k10=k10«8;
      // k891011=k8|k9|k10|k11;
      //
      //
      // s=k891011;
      // sprintf(buffer,"R+=%.4fkVarh",s/2500);
      // lcd_gotoxy(0,2);
      // lcd_puts(buffer);
      //
      //
      // k12=k12«24;
      // k13=k13«16;
      // k14=k14«8;
      // k12131415=k12|k13|k14|k15;
      // s=k12131415;
      // sprintf(buffer,"R-=%.4fkVarh",s/2500);
      // lcd_gotoxy(0,3);
      // lcd_puts(buffer);

      delay_ms(1000);
      lcd_clear();

      }
      }
    • By dima040891
      Приветсвую!
      Кто ни будь работал с микросхемой STLED316S?  Это драйвер семисегментонго индикатора.
      Можете привести минимальный кусок кода который выводит любую цифру на дисплей. Из документации не пойму как с ней работать...
      На форумах инфы почти нет. Из того что есть тоже толку мало. Буду рад любой инфе по этой микросхеме.

      Ещё правильно же понимаю биты по SPI передаются младшим вперёд, а такты нужно передавать инверсные?

      В качестве МК применяю STM32.
    • By Krokodil007
      Индикаторы F13K для часов
      Новые, с хранения.
      В наличии 10шт.
      Цена по 750 руб/шт.
      Возможна отправка почтой или ТК.






    • By LEVV2006
      Всем привет! 
      Давно разрабатываю проект беспроводного и живучего датчика температуры. Вообще изначально я хотел найти готовое устройство с понятным интерфейсом взаимодействия. Что бы без гемороя и танцев с бубном можно было подключать датчик температуры к любому проекту (Как пример: часы на ГРИ или ВЛИ) и просто выводить температуру.  К сожалению ничего вменяемого я не нашел. Либо датчики используются в закрытой эко-системе. Либо это BLE с которым вообще не понятно как работать ибо информации почти нет.
      Решил попробовать разработать такую вещь самостоятельно. Конечно это изобретение велосипеда, но лично для себя я практиковался с BME280, nrf24l01 и сном МК. Как минимум тут выгода есть
      Вот что получилось. Приемник и передатчик. 

      Немножко информации. 
      Приемник: МК (328p) + USB to COM (CP2102) ____ (Дополнительно светодиод и расшивка SPI)  частота 8MHz от внутреннего кварца 
      Передатчик: МК (328p) + BME280 + nrf24l01 + бат CR2032 +Опорное напряжение   ____ (Дополнительно светодиод и расшивка SPI, uart, кнопка) частота 1MHz от внутреннего кварца
      Что по потреблению: 
      Очень долго пытался понять по мультиметру, но он постоянно как то врал. При первом сне показывал 40мкА, а потом с каждой итерацией сна прибавлял +10мкА. В общем поставил стрелочный прибор на 100мкА
      По прибору. ЕСЛИ ВСЕ ШТАТНО РАБОТАЕТ!!!!!    Во время сна стрелка лежит в 0. При измерении и отправке 70-100мкА. Но стрелка мгновенно дергается и потом сразу в 0.
       ВОТ Дальше я зашел в тупик! И мне нужна ваша помощь! 
      1) У меня в СОМ порт постоянно летят логи программы и как выяснилось это очень много жрет энергии. Странность вот в чем. Если вытащить провода Тх, Rx то МК как бы зависает несколько секунд для отправки пакета.... скажите разве у UART есть подтверждение отправки пакета? 
      2) Я решил убрать вообще весь код UART. И все равно если убрать провода Тх, Rx то зависание присутствует (Зависание я фиксирую на стрелочном приборе. Как максимальное потребление и неуход в сон). PS/ питаю все от 3,3в с платы конвектора 
      3)Теперь я подключаю батарейку она у меня немного подсевшая 2,8в, Но я планировал что устройство должно работать до 2в! . Раз я отключил  UART, то решил использовать светодиод как метку как выполняется код. И вот еще САМАЯ СТРАННАЯ проблема. Программа не стартует! Вообще. Идет большое потребление тока, но светодиод не горит. 
      Почему так происходит? ___________________________________________(У меня есть предположение что это бутлоадер как то не так себя ведет..... )
      PS/ в Фьюзах я отключил отслеживание питания. 
×
×
  • Create New...