KEEN SIDE успешно заменяет аналогичные продукты таких известных брендов, как Phoenix Contact, Weidmueller, Degson, Winstar, Hsuan Mao, KLS, G-NOR, Mean Well и др.
Новичок
 
Аватар для Skinner
 
Регистрация: 28.04.2011
Сообщений: 2
Репутация: 10
0 1
0 0
 
03.05.2011 20:16 #1
И так начну сначала.
Вот решил сделать сибе приборчик на МК что то вроде одно-канального USB осциллографа и перед тем как мучать настоящие железки стал тестить устройство в Proteus 7.7 и столкнулся вот с какой проблемкой при замере частоты до 400герц все работает нормально, а начиная с 400 и до 1000герц измерения начинают брихать на 1герц ну и все что выще 2000герц погрешность 2 герца и тд.

Вот в чем вопрос может ли симулятор давать мне такую лажу или это я все таки напортачил где то?

программа на Pascal
Код:
program asc;
//------------------------------------------------------------------------------
// LCD module connections
var LCD_RS : sbit at PORTD2_bit;
var LCD_EN : sbit at PORTD3_bit;
var LCD_D4 : sbit at PORTD4_bit;
var LCD_D5 : sbit at PORTD5_bit;
var LCD_D6 : sbit at PORTD6_bit;
var LCD_D7 : sbit at PORTD7_bit;

var LCD_RS_Direction : sbit at DDD2_bit;
var LCD_EN_Direction : sbit at DDD3_bit;
var LCD_D4_Direction : sbit at DDD4_bit;
var LCD_D5_Direction : sbit at DDD5_bit;
var LCD_D6_Direction : sbit at DDD6_bit;
var LCD_D7_Direction : sbit at DDD7_bit;
// End LCD module connections
var
   counter, lcd_counter: integer;
   text_0, cloc_txt: array[11] of char;

//------------------------------------------------------------------------------
procedure Timer2Overflow_ISR(); org IVT_ADDR_TIMER2_OVF;
begin
     inc(lcd_counter);
end;

procedure Interrupt_2(); iv IVT_ADDR_INT2;
begin
   inc(counter);
end;

begin
  { Main program }
  OSCCAL:= 0x7F;
//------------------------------------------------------------------------------
  SREG_I_bit:= 1;
  
  INT2_bit:= 1;

  TOIE2_bit:= 1;
  TCCR2:= 5;
  ASSR:= 255;
//------------------------------------------------------------------------------
  Lcd_Init();
  Lcd_Cmd(_LCD_CLEAR);
  Lcd_Cmd(_LCD_CURSOR_OFF);
  ByteToStr(Clock_MHz, cloc_txt);
  LCD_Out(1, 2, 'SNG ST - '+cloc_txt+'MHz');
 //-----------------------------------------------------------------------------
 DDRB:= 0xFF;
 counter:= 0;
 lcd_counter:= 0;
 
  while TRUE do
      begin
       if lcd_counter >= 3 then
        begin
        TOIE2_bit:= 0;

         IntToStr(counter div 3, text_0);
         counter:= 0;
         LCD_Out(2, 1, text_0+'Hz');
         lcd_counter:= 0;

        TOIE2_bit:= 1;
        end
      end
  
end.
пишу на паскале так как после Delphi проще переходить было (mikroPascal PRO for AVR)

схема
Изображения
Тип файла: png shema_00.png (22.1 Кб, 0 просмотров)
Оценка
Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель.
Новичок
 
Регистрация: 05.08.2008
Сообщений: 1
Репутация: 10
 
12.05.2011 21:21 #2
А что мешает сделать макет с реальным железом? мега16 - ширпотреб, продается даже на захудалых радиорынках, к тому же не такое дорогое удовольствие. И, наверное, все таки частотомер; на осцилл меги не хватит, даже при всем желании
Оценка
Компания Компэл, официальный дистрибьютор EVE Energy, бренда №1 по производству химических источников тока (ХИТ) в мире, предлагает продукцию EVE как со склада, так и под заказ. Компания EVE широко известна в странах Европы, Америки и Юго-Восточной Азии уже более 20 лет. Недавно EVE была объявлена поставщиком новых аккумуляторных элементов круглого формата для электрических моделей «нового класса» компании BMW. Продукция EVE предназначена для самого широкого спектра применений – от бытового до промышленного.
Гуру
 
Регистрация: 13.05.2006
Сообщений: 3,908
Репутация: 1246
1,233 65
58 33
 
13.05.2011 07:32 #3
Я одно время фанател от протеуса, потом после нескольких его глюков решил не тратить время на выяснение-мой это глюк или симулятора. Что касается вашего случая, то очень смахивает на классическую ошибку на 1. Пример:
-есть область памяти с адресами от 0 до 10
-необходимо вычислить длину блока от 3 до 7
-вычисляем 7-3= получаем четыре
-реально 3.4.5.6.7 имеем пять
Оценка
Новичок
 
Аватар для Skinner
 
Регистрация: 28.04.2011
Сообщений: 2
Репутация: 10
0 1
0 0
 
13.05.2011 22:48 #4
в общем придется липить макет единственное но это FT232RL которая не выпускается PDIP корпусах (ЖКИ на схеме висит лиш для контроля выполнения в протеусе) которого в наличии как железки нет, а сама приставка будит USB-шная ...
по сути мне от него требуется замеры не больше 3Мгц так что с тактом в 16Мгц он вполне сможет мерить до 6,4Мгц ну а это в двое больше чем нужно так что хватит еще и с запасом ...

спасибо за разъяснения пойду ли пить макет .. если чо получится то скину схему и прошивку
Оценка
Ответ
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Оценка этой теме
Оценка этой теме:
Метки
atmega16, proteus, погрешность
Похожие темы
Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход
Электронные компоненты. Бесплатная доставка по России
Часовой пояс GMT +3, время: 22:57.
Обратная связь РадиоЛоцман Вверх