Уважаемые посетители! Форум CQHAM.RU существует исключительно за счет показа рекламы. Мы будем благодарны, если Вы не будете блокировать рекламу на нашем Форуме. Просим внести cqham.ru в список исключений для Вашего блокировщика рекламы.
Страница 141 из 171 ПерваяПервая ... 4191131138139140141142143144151 ... ПоследняяПоследняя
Показано с 1,401 по 1,410 из 1707

Тема: Частотомер на ATmega8 и EPM3064A

  1. #1401

    Регистрация
    23.01.2011
    Адрес
    Санкт-Петербург
    Сообщений
    897
    Спасибо, Леонид Иванович!
    Тоже залил прошивку 3.2.
    Обкатываю, проверяю. Пока все нравится.
    Использую в качестве опорного генератора какой-то VCTCXO на 13 МГц от мобильника.
    В качестве эталонной частоты выступает генератор от частотомера (аналог "Гиацинта"), у меня он на 5 МГц.
    После прогрева показания 5 МГц "плавают" максимум на 0,15 Гц. считаю это очень хорошим результатом.
    Сейчас с корпусом мудрю, попутно думаю о прескалере.
    Есть у меня в наличии LMX1600 и LMX2322. У последней правда, корпус для пайки "ужасный", но справиться можно.
    Наподобие этого мыслится: http://www.cqham.ru/Count_LMX.htm

    Пока нигде не найду связку LMX1600+ATtiny2313 (их тоже есть у меня несколько неприкаянных).
    Сам ни разу не программист.
    Буду признателен, если кто поможет поможет с программой для ATtiny2313.
    Или, просто направьте на путь истинный.
    Последний раз редактировалось agn1; 10.02.2018 в 23:08.


  2. #1402
    Для 2313 делал по просьбе кого-то, но не помню, была ли прошивка проверена. Вроде, не хватает записи в MCUCR для разрешения Power Down. Программа небольшая, можно разобраться.

    ASM


    Код:
    ;----------------------------------------------------------------------------
    
    ;Title    : FC-510 prescaler (LMX2306)
    ;Version: 1.00
    ;Target    : ATtiny2313
    ;Author    : wubblick@yahoo.com
    
    ;AVR Assembler 2.0
    
    ;----------------------------------------------------------------------------
    
    .include "tn2313def.inc"
    
    ;----------------------------------------------------------------------------
    
    ;Константы:
    
    .equ N       = 100 ;желаемый коэффициент деления
    
    .equ PRE     = 8   ;коэффициент деления встроенного прескалера
    .equ NR      = 3   ;коэффициент деления Ref (не используется)
    .equ FO      = 2   ;FoLD = N divider output
    
    .equ NB = (N / PRE)
    .equ NA = (N - NB * PRE)
    .if (NA > NB) || (NB < 3) || (NB > 8191)
    .error "Недопустимый коэффициент деления!"
    .endif
    
    ;Биты регистра R:
    
    .equ R_CNTR  = (NR << 2)  ;значение счетчика R (3..16383)
    .equ R_ADDR  = (0  << 0)  ;адрес регистра R
    
    ;Биты регистра N:
    
    .equ NB_CNTR = (NB << 7)  ;значение счетчика NB (3..8191)
    .equ NA_CNTR = (NA << 2)  ;значение счетчика NA (0..7)
    .equ N_ADDR  = (1  << 0)  ;адрес регистра N
    
    ;Биты регистра F:
    
    .equ FFOLD   = (FO << 4)  ;FoLD control
    .equ F_ADDR  = (3  << 0)  ;адрес регистра F + Init
    
    ;Код для загрузки в регистр R:
    
    .equ REG_R = R_CNTR | R_ADDR
    
    ;Код для загрузки в регистр N:
    
    .equ REG_N = NB_CNTR | NA_CNTR | N_ADDR
    
    ;Код для загрузки в регистр F:
    
    .equ REG_F = FFOLD | F_ADDR
    
    ;----------------------------------------------------------------------------
    
    ;Ports definition:
    
    .equ LE     = PB7 ;сигнал LE
    .equ SDATA  = PD0 ;сигнал SDATA
    .equ SCLK   = PD1 ;сигнал SCLK
    
    
    ;Направление порта B:
    .equ DIRB   = (1 << LE)
    ;Начальное состояние/пуллапы:
    .equ PUPB   = 0xFF
    
    ;Направление порта D:
    .equ DIRD   = (1 << SDATA) | (1 << SCLK)
    ;Начальное состояние/пуллапы:
    .equ PUPD   = 0xFF
    
    ;----------------------------------------------------------------------------
    
    ;Глобальные регистровые переменные:
    
    .def tempL = r16
    .def tempM = r17
    .def tempH = r18
    .def Cnt   = r19
    
    ;----------------------------------------------------------------------------
    
    .CSEG
    .org 0
    
    ;Инициализация:
    
        ldi    tempL,RAMEND
        out    SPL,tempL
        
        ldi    tempL,PUPB
        out    PORTB,tempL
        ldi    tempL,DIRB    
        out    DDRB,tempL
    
        ldi    tempL,PUPD
        out    PORTD,tempL
        ldi    tempL,DIRD    
        out    DDRD,tempL
    
    ;Основная программа:
    
    Main:
    
    ;Загрузка регистра F:
    
        ldi tempL,byte1(REG_F)
        ldi tempM,byte2(REG_F)
        ldi tempH,byte3(REG_F)
        rcall SPI_Load
    
    ;Загрузка регистра R:
    
        ldi tempL,byte1(REG_R)
        ldi tempM,byte2(REG_R)
        ldi tempH,byte3(REG_R)
        rcall SPI_Load
    
    ;Загрузка регистра N:
    
        ldi tempL,byte1(REG_N)
        ldi tempM,byte2(REG_N)
        ldi tempH,byte3(REG_N)
        rcall SPI_Load
    
        sleep
        rjmp Main
    
    ;----------------------------------------------------------------------------
    
    ;Загрузка слова 21 бита из tempH:tempM:tempL по SPI:
    
    SPI_Load:
        cbi    PORTB,LE    ;LE = 0
        ldi Cnt,21
    Loop:
        cbi    PORTD,SCLK  ;SCLK = 0
        sbrc tempH,1
        rjmp data1
    data0:
        cbi    PORTD,SDATA ;SDATA = 0 или
        rjmp dataX
    data1:
        sbi    PORTD,SDATA ;SDATA = 1
    dataX:
        lsl TempL 
        rol TempM
        rol TempH
        sbi    PORTD,SCLK  ;SCLK = 1
        dec    Cnt
        brne Loop
    
        sbi    PORTD,SDATA ;SDATA = 1
        sbi    PORTB,LE    ;LE = 1
        ret
    
    ;----------------------------------------------------------------------------


  3. Спасибо от agn1

  4. #1403

    Регистрация
    23.01.2011
    Адрес
    Санкт-Петербург
    Сообщений
    897
    Большое спасибо!
    Попробую разобраться.

  5. #1404

    Регистрация
    13.12.2016
    Адрес
    Пятигорск
    Сообщений
    32
    Позывной
    UB6HGT
    Прошу помощи.
    Дособирал я все платы частотомера и приступил к тестированию. Но вылезли кое-какие непонятные мне проблемы. Второй день бьюсь.
    1) Если на основной плате подключить 2 контакт разъема XP1(OUT) к шине Fref, то на дисплее отображается частота опорного генератора. Причем после запятой только нули ( то ли точность отличная, то ли ошибка где-то). Подключаю к этому же выводу разъема XP1 генератор от старой звуковой платы на 46,61512 МГц, то показывает уже в районе 46,5 МГц, то есть ниже промаркированной.
    2) далее я подключил к частотомеру плату передней панели и частотомер перестает адекватно работать. Во-первых, он перестает измерять частоту опорника Fref (на дисплее нули). Во-вторых, не показывает частоту генератора от звуковой карты (опять же нули). НО! При подключении генератора на 455 кГц частота выводится на дисплей. Во всех случаях я пробовал сдвигать точку и использовал китайский щуп
    P6100
    от осциллографа в положении х1.

    Согласно рекомендациям по настройке я измерил напряжение на 6 выводе ОУ U1 OP777AR. В моем случае оно составило -2,2 В. Пробовал заменять полевой транзистор BF245A на КП103А, так напряжение на выводе 6 ОУ стало -5 В.
    Попробовал измерить параметры имеющихся у меня полевиков транзистор тестером и выявил такую закономерность.
    BF245A из магазина Чип Дип - начальный ток стока, измеренный тестером, составил 1,3 мА.
    BF245A с алиэкспресс - начальный ток стока составил 0,4 мА.
    КП103А в металлическом никелированном корпусе, тоже с ЧипДипа - 0,4 мА.
    При установке в плату КП103 и китайских BF245 напряжение на 6 ноге ОУ и составляло -5 В. А с экземплярами с током 1,3 мА напряжение на ОУ составило -2,2 В.

    Жду Ваших советов

    73!
    73!

  6. #1405

    Регистрация
    10.11.2016
    Адрес
    Харьков
    Сообщений
    4,420
    ub6hgt, когда вы меряете частотомером собственную частоту опорника, то он покажет ровно ту частоту, на которую расчитана схема/прошивка, независимо от того какая при этом частота на самом деле.
    Подумайте сами, если вы возьмете опорник частотомера 10 Гц, то для измерения частоты вам нужно будет измерить количество импульсов за время 10 импульсов от опорника. Поэтому если к частотомеру подключить собственный опорник, он за время 10 импульсов насчитает те-же самые 10 импульсов, т.к. расчитан на опорник 10 Гц. Если вы при этом поменяете опорник на 30 МГц, то частотомер всеравно покажет 10 Гц. Потому что за время 10 импульсов всеравно приходят те-же самые 10 импульсов.

  7. #1406
    Напряжение -2.2 В на выходе ОУ вполне допустимо. Значит полевой транзистор подходит, хоть начальный ток стока у него и немного маловат. Но работать будет. КП103 вообще с p-каналом, это совсем не то. По поводу работоспособности входного буфера - надо смотреть прохождение сигнала. Может порог компаратора был неправильно выбран, вот и не было сигнала.

  8. #1407

    Регистрация
    13.12.2016
    Адрес
    Пятигорск
    Сообщений
    32
    Позывной
    UB6HGT
    Хорошо, может я с КП103 ошибся по маркировке, но я подбирал его по транзистор тестеру той же проводимости, что и BF245. Ведь китайские BF245 давали такие же результаты. Вечером все-же уточню, а то сам начал сомневаться после прочтения Вашего ответа.
    Насчет платы входного буфера смущает то, что относительно низкочастотный сигнал измеряет (сотни кГц), а ВЧ (десятки МГц) не измеряет. Плату вчера всю проверил с лупой. Промыл еще раз. ОУ я покупал в единичном экземпляре и заменить его нечем.
    Порог компаратора ведь задается переменным резистором? Я его крутил. Изменений не было.

    alex_m, я так и понял с частотой опорника. Для ее подстройки мне придется поискать другой частотомер.

    PS. и еще вопрос. Если провести калибровку опорника по тому же генератору со звуковой карты на 46,61512 МГц, то стоит ли доверять этому генератору? Образцового частотомера в пределах досягаемости нет.
    Последний раз редактировалось ub6hgt; 20.02.2018 в 09:32.
    73!

  9. #1408
    ОУ тут служит для поддержания нулевого потенциала по постоянному току на выходе буфера и на полосу частот не влияет. Его можно вообще выкинуть при настройке, заменив подстроечным резистором. Ну а что с полосой - надо смотреть. Это же просто истоковый повторитель + эмиттерный повторитель, схема примитивная.

    Для калибровки частотомера можно использовать GPS-приемник. Многие из них имеют выход 1PPS. Этот сигнал надо подать на вход, включить режим измерения периода и подстройкой опорной через меню калибровки добиться показаний 1000.0 мс.

  10. #1409

    Регистрация
    13.12.2016
    Адрес
    Пятигорск
    Сообщений
    32
    Позывной
    UB6HGT
    Цитата Сообщение от ub6hgt Посмотреть сообщение
    может я с КП103 ошибся по маркировке
    Так и есть. Паял КП303А, а не КП103, как указал выше, и ток стока по транзистор тестеру был 0,4 мА.
    Буду искать еще полевики на замену установленному BF245A, чтобы ток стока был, как указано в рекомендациях по настройке, в районе 5-10 мА.

    Цитата Сообщение от Леонид Иванович Посмотреть сообщение
    Может порог компаратора был неправильно выбран, вот и не было сигнала.
    Уровень компаратора регулируется. Проверил по генератору 455 кГц. Его он видит чётко, и на нем же хорошо видна работа делителя и регулировка уровня.
    ТТЛ генератор частоты на
    46,61512 МГц по-прежнему не видит. Пробовал и регулировку уровня, и вход переключал с открытого на закрытый. Все ни по чём... Грешу все же на полевик
    73!


  11. #1410

    Регистрация
    13.12.2016
    Адрес
    Пятигорск
    Сообщений
    32
    Позывной
    UB6HGT
    Дал другу вчера на тестирование данный частотомер. Оказалось он работает. Полевик, конечно, буду искать. Но к моему удивлению виновник плохой чувствительности - щуп от осциллографа. Может быть такое? Переключатель делителя щупа в положении х1. Я измерил сопротивление в этом положении. Тестер показал 100 Ом. В положении х10 - 10 МОм.
    Щуп такой - Р6100, полоса пропускания: 100 МГц.
    Нажмите на изображение для увеличения. 

Название:	1279_P_1287013077065.jpg 
Просмотров:	669 
Размер:	32.5 Кб 
ID:	282774
    73!

Страница 141 из 171 ПерваяПервая ... 4191131138139140141142143144151 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. помогите с фузами ATmega8
    от RA0CHE в разделе Конструкции на микроконтроллерах для радиолюбителей
    Ответов: 16
    Последнее сообщение: 02.12.2022, 10:20
  2. Зарядное утсройство на atmega8
    от uu5jkb в разделе Конструкции на микроконтроллерах для радиолюбителей
    Ответов: 70
    Последнее сообщение: 07.11.2014, 11:49
  3. Как реанимировать ATmega8
    от sdr_СЕРЖ в разделе Конструкции на микроконтроллерах для радиолюбителей
    Ответов: 21
    Последнее сообщение: 08.10.2010, 19:28
  4. Простой сэмплер на Atmega8
    от Владимир_Ама в разделе Конструкции на микроконтроллерах для радиолюбителей
    Ответов: 4
    Последнее сообщение: 28.05.2010, 12:37
  5. Отличие Atmega8-16PI от Atmega8-16PU????
    от Toms в разделе Конструкции на микроконтроллерах для радиолюбителей
    Ответов: 3
    Последнее сообщение: 26.06.2006, 22:46

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •