15 сообщений в этой теме

paulb    0

Есть задумка собрать вольтметр постоянного напряжения (до 1000В) на ГРИ, использовав за основу популярную схему часов. Либо на базе микросхемы ICL7107, если это возможно. Знающих прошу помочь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
BARS_    822
35 минут назад, paulb сказал:

Знающих прошу помочь

Чем помочь? Нарисовать схему, сделать плату и написать прошивку?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
paulb    0
12 минуты назад, BARS_ сказал:

Чем помочь? Нарисовать схему, сделать плату и написать прошивку?

Да, если можно с обвязкой и прошивкой (именно вашей схемой вдохновлялся). Грубо прикинул схему (обрезал лишнее).

31232.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
BARS_    822
Только что, paulb сказал:

с обвязкой и прошивкой

Ровно с этого момента появляется вопрос о том, сколько вы готовы заплатить за это.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
paulb    0

Не хочу оскорбить вас торгами, назовите мин. цену, за которую вы готовы взяться 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
BARS_    822

Для начала озвучьте требования к прибору.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
paulb    0
Только что, BARS_ сказал:

Для начала озвучьте требования к прибору.

Измерение пост.напряжения до 999В с использованием 3-х разрядов, точность не критична. Собственно интересует прошивка 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
paulb    0
Только что, Добрый дядя сказал:

Купи и не морочь людям голову.

V7-28.jpg

неплохо конечно, но габариты велики)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
v1ct0r    267
1 час назад, paulb сказал:

Либо на базе микросхемы ICL7107, если это возможно

а в этом варианте в чем проблема?

http://radio-hobby.org/modules/news/article.php?storyid=745

http://radio-kits.ucoz.ru/index/a_i_v_na_icl7107/0-23

ПВ_из_300_советов.gif

Изменено пользователем v1ct0r

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
BARS_    822
13 минуты назад, paulb сказал:

напряжения до 999В

От 0В?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
paulb    0
33 минуты назад, BARS_ сказал:

От 0В?

да 0В. 

 

41 минуту назад, v1ct0r сказал:

Спасибо, дело в том что хотел бы собрать именно на ГРИ. А в этих схемах отображение на семисегментных индикаторах.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alex    559

Интересно, а как себя поведут ГРИ на динамике ? :huh:

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Sergey-Ufa    639

Нормально поведут. Когда-то делал частотомер с динамической индикацией 6 разрядов на ИН-4  - все прекрасно работало.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
BARS_    822
6 часов назад, Alex сказал:

ГРИ на динамике

А чего им сделается? Прекрасно работают.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Похожие публикации

    • Автор: Николай Зубий
      Как сделать  устройство, выводящие на индикатор время, прошедшее с момента последней перезагрузки контроллера?
    • Автор: Сергей Ч.
      Здравствуйте уважаемые форумчане!!! собрал себе очередной зарядник для автомобильного аккумулятора  
       
      схема была взята вот отсюда : http://kravitnik.narod.ru/charge/charge_8.html
      запустился сразу,но выходной ток регулируется в самом крайнем положении движка потенциометра. подборка r19 не не помогла. может кто сталкивался с подобным схемным решением? где собака зарыта.........
    • Автор: forestdozor
      Здравствуйте!

      Мне нужно измерить длительность импульса. Для этого сначала применял внешнее прерывание, а теперь перешел на режим захвата таймера в Atmega 328.
      Однако сейчас происходит странное: Через определенное таймер просто останавливается. Гугл результатов не дает, ни у кого захват таймера 1 не останавливается.
      Подскажите пожалуйста, что делать?
      Среда разработки CodeVisionAVR v3.12. Сейчас попробовал версию 3.3, толку нет. Не работает. Код максимально упростил, но по прежнему толку ноль.
      Переполнение таймера 0 так же работает отлично, до тех пор, пока что-то не произойдет с прерыванием по захвату. Как только что-то произошло - мк останавливается...
      Может немножко подождать, и увеличить значение счетчика current_timp еще на пару значений... Совсем не знаю что делать.
       
       
      interrupt [TIM1_OVF] void timer1_ovf_isr(void)
      {
      TCNT1H = 0x00;
      TCNT1L = 0x00;
      }
      // Timer1 input capture interrupt service routine
      interrupt [TIM1_CAPT] void timer1_capt_isr(void)
      {
       
             TCNT1H = 0x00;
             TCNT1L = 0x00;           // Это уже уровень танцев с бубном "авось поможет" - не помогает.
         
              current_timp++;          // Все упрощено до максимума. Мне бы он хоть количество периодов для начала...
              
        //  }
      }
      // Прерывание по переполнению первого таймера
      interrupt [TIM0_OVF] void timer0_ovf_isr(void)
      {
      // Обнуление счетного регистра.
      TCNT0=0x00;

          
          counter ++;
          if (counter > 10)
          {
                  lcd_clear();
                  sprintf(buffer,"%d us", current_timp);
                  lcd_gotoxy(0,0);
                  lcd_puts(buffer);
                  counter = 0;
          }
          
          
      }

      // Главный цикл программы
      void main(void)
      {

      #pragma optsize-
      CLKPR=(1<<CLKPCE);
      CLKPR=(0<<CLKPCE) | (0<<CLKPS3) | (0<<CLKPS2) | (0<<CLKPS1) | (0<<CLKPS0);
      #ifdef _OPTIMIZE_SIZE_
      #pragma optsize+
      #endif

      // Port B initialization
      // Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In
      DDRB=(0<<DDB7) | (0<<DDB6) | (0<<DDB5) | (0<<DDB4) | (0<<DDB3) | (0<<DDB2) | (0<<DDB1) | (0<<DDB0);
      // State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T
      PORTB=(0<<PORTB7) | (0<<PORTB6) | (0<<PORTB5) | (0<<PORTB4) | (0<<PORTB3) | (0<<PORTB2) | (0<<PORTB1) | (0<<PORTB0);
      // Port C initialization
      // Function: Bit6=In Bit5=Out Bit4=Out Bit3=Out Bit2=Out Bit1=Out Bit0=Out
      DDRC=(0<<DDC6) | (1<<DDC5) | (1<<DDC4) | (1<<DDC3) | (1<<DDC2) | (1<<DDC1) | (1<<DDC0);
      // State: Bit6=T Bit5=1 Bit4=1 Bit3=1 Bit2=1 Bit1=1 Bit0=1
      PORTC=(0<<PORTC6) | (1<<PORTC5) | (1<<PORTC4) | (1<<PORTC3) | (1<<PORTC2) | (1<<PORTC1) | (1<<PORTC0);
      // Port D initialization
      // Function: Bit7=Out Bit6=Out Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In
      DDRD=(1<<DDD7) | (1<<DDD6) | (0<<DDD5) | (0<<DDD4) | (0<<DDD3) | (0<<DDD2) | (0<<DDD1) | (0<<DDD0);
      // State: Bit7=1 Bit6=1 Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T
      PORTD=(1<<PORTD7) | (1<<PORTD6) | (0<<PORTD5) | (0<<PORTD4) | (0<<PORTD3) | (0<<PORTD2) | (0<<PORTD1) | (0<<PORTD0);
      // Делители таймера 0 рассчитаны таким образом , что его тактовая частота = 15,625 КГц. Расчет был на применение в схеме семисегментников, но с LCD индикатором будет информативнее.
      TCCR0A=(0<<COM0A1) | (0<<COM0A0) | (0<<COM0B1) | (0<<COM0B0) | (0<<WGM01) | (0<<WGM00);
      TCCR0B=(0<<WGM02) | (1<<CS02) | (0<<CS01) | (1<<CS00);
      TCNT0=0x00;
      OCR0A=0x00;
      OCR0B=0x00;
       
      // Настройка таймера 1
      TCCR1A=(0<<COM1A1) | (0<<COM1A0) | (0<<COM1B1) | (0<<COM1B0) | (0<<WGM11) | (0<<WGM10);
      TCCR1B=(1<<ICNC1) | (1<<ICES1) | (0<<WGM13) | (0<<WGM12) | (0<<CS12) | (0<<CS11) | (1<<CS10);
      TCNT1H=0x00;
      TCNT1L=0x00;
      ICR1H=0x00;
      ICR1L=0x00;
      OCR1AH=0x00;
      OCR1AL=0x00;
      OCR1BH=0x00;
      OCR1BL=0x00;
      // Разрешение прерывания по переполнению таймера 0
      TIMSK0=(0<<OCIE0B) | (0<<OCIE0A) | (1<<TOIE0);
      // Timer/Counter 1 Interrupt(s) initialization
      TIMSK1=(1<<ICIE1) | (0<<OCIE1B) | (0<<OCIE1A) | (1<<TOIE1);
    • Автор: 55nlo
      Нужно написать программу "календарь" на АСМ
      Примерное ТЗ 
       
       
      1    5     по значению R0 (ввода)  в R20 вводим табличные значения        табл.1        
      1    6     по значению R0 (ввода)  в R21 вводим табличные значения        табл.1        
      1    7    NOP     (возможно доп. Команда)                 
      1    8    NOP     (возможно доп. Команда)           
      1    9    значение ОЗУ (адрес Rz) копируем в регистр R18(остаток)                
      1    10    R18(остат) прибавляем R24(лист) результат в R18(остат)                 
      1    11    провер. R18(остат) < 8, то п.12, нет то  R18(остат) -7, результат в R18(остат) и к п.12.                
      1    12    R 18(остат)  копируем в ОЗУ адрес Rz                
      1    13    адрес Rz увеличиваем на 1                
      1                        
      1    14    R19(стр.) увелич. на 1, проверяем Rстр =13.если не равно, п. 15. если  равно, то                 
      1             R19 стр. обнуляем, Rлиста увеличиваем на 1,             
      1            Rлиста если не =13, то к п. 9, если равно 13,             
      1            то  R17(листа) обнуляем и перех к п. 2.5(2-й участок, следующий)            
      1                        
      1    15    R18(ост.)+ 1 = в R18(ост.)                
      1    16    проверяем R18(ост) больше 10, если больше то -10, результат в R18(ост) и в п. 17 нет, то п. 17                
      1    17    значение ОЗУ (адрес Rz  текущий) копируем в R25сравн.                
      1    18    R25(сравн.) увелич на 1                
      1    19    R1(книги) установить значение "2"                
      1    20    NOP           (возможно доп. Команда)     
      1    21    NOP          (возможно доп. Команда)            
      1    22   R18(ост) =R20? если не равно ,то к 23, равно, то R сравн. обнуляем заносим 0 в ОЗУ и к п.13            
      1    23    R18(ост)=R21,если не равно, то к 24,    равно    то R сравн. обнуляем, заносим 0 в ОЗУ и к п.13            
      1    24    R25(сравн.) в ОЗУ (текущий) адрес Rz                
      1    25    R25(сравн.) более 20, то к п. 26. менее.то перех к п. 13                
      1    26    R учета =Rсравн.? да к п. 27 нет к п. 13                
      1    27    R7 обнуляем                
      1    28    R18(остат) копируем в Rморзе                 
      1    29    R7+ Rлиста в R7                
      1    30    проверяем R7  больше 12, если больше то -12, результат в R7 и к п. 31, нет к п. 31                
      1    31    R7  значение конвертируем через таблицу  в R7          табл.1м        
      1    32    Выполняем  прогу "М".                
      1    33    переходим к п.13             
       + ДВЕ ТАБЛИЦЫ ПО 40 СТРОК.   
    • Автор: voltex
      Всем привет! Подскажите, пожалуйста, как правильно считать данные с внешней eeprom по шине spi, в данном случае 25LC256.
      Написал код ссылаясь на даташит. Собрал схему в протеусе, подключил spi отладчик и вот что получил в итоге. Так же не могу проверить получается записать данные в память или нет. Весь код прикрепил.
       

      main.c
  • Сообщения

    • вы не вник нули в суть проблемы. на фиксе напряжение на выходе  стоит очень стабильно. любое которое  выставите. что  на хх что на нагрузке. и тестер вам покажет напряжение которое вы выставили. а станьте осциллографом и вы увидите импульс максимальной скважности то есть 48% и амплитудой равной 1\3 питания.  при любом выставленном напряжении.  импульс начнет сжиматься только тогда когда в работу вступит тт. а это скажем где то 160 ампер.и выше. а вот в ну три этого импульса есть коэффициент заполнения. именно он меняется и контролирует напряжение на выходе аппарата. и не важно по какой схеме собран инвертор  амплитуда импульса всегда равна коэффициенту трансформации силового транса. при любых раскладах.контроль за напряжением осуществляется только время нем заполнения импульса. если я не прав. поправьте. привязать индуктивную нагрузку к такому импульсу, особенно когда аппарат работает в режиме сварки. сами понимаете творятся (чудеса) самый хороший вариант (на мой взгляд) уйти от временного контроля к амплитудному это оптрон а он должен управлять шимом .  точнее вносить корректировку работы шим . а ключ шим должен быть запитан от стабилизированного источника. что бы избежать  перепадов в сети. пока лучшей идеи нет. может кто чего подскажет?           
    • @WaRLoC Не дорос я  ещё до такого..пока просто драйвер на ТГР. Да и с резанансником пока у меня застой из-за дросселя. Думаю как лучше сделать. Из того что есть.
    • я вот за кодинг стм еще ни разу не платил. Откуда у человека такие проблемы? В детстве что-ли уронили?... ему уже целую страницу опытные люди говорят - чувак, грусти нет, открой глаза. А он с бараньим упорством продолжает утверждать обратное, по сути даже и не начиная что-то писать. Беседа теряет смысл
    • Выложили бы в удобном формате типа картинка
    • так примените лучшую схему управы,  где напряжение не гуляет а стоит стабильно даже на ХХ.http://ruslanlipin.narod.ru/puskovoe_fixaty.html
    • выше уже писал об этой проблеме и протестировано. да оно работает, но не стабильно особенно на малых токах. и обороты добавляются не достаточно. а на малых токах  движок дергается. не очень сильно но стабильно дугу держать не может. если бы на выходе инвертора была бы чистая постоянка то никаких проблем.  а там импульсы, движок индуктивность  они друг с другом не дружат. тем более заполнение импульса постоянно гуляет