Например TDA7294

Форум РадиоКот • Просмотр темы - Таймеры/счётчики в AVR
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Сб апр 20, 2024 17:17:52

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 1322 ]     ... , , , 46, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Пт мар 02, 2018 09:16:30 
Друг Кота
Аватар пользователя

Карма: 46
Рейтинг сообщений: 2030
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Сообщений: 6618
Откуда: Сердце Пармы
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
наверно, код пока не совсем понял, попозже вникну, мне понравилось как тут:
----------
по захвату - тебе можно не использовать прерывание захвата вообще:
0) подключаешь выход приемника импульса ко входу захвата
1) Т1-настраиваешь ход, захват, включаешь прерывание по переполнению
2) при переполнении отправляешь стартовый импульс в излучатель
3) анализируя буфер захвата оцениваешь расстояние
----------
команда _delay_ms() представляет собой цикл (типа FOR) поэтому, если прерывания разрешены они выполнятся, а на время их выполнения счетчик задержки будет заморожен.

_________________
Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Пт мар 02, 2018 09:37:33 
Грызет канифоль
Аватар пользователя

Карма: 2
Рейтинг сообщений: 10
Зарегистрирован: Сб янв 23, 2016 00:59:59
Сообщений: 287
Откуда: Чебоксары
Рейтинг сообщения: 0
2) при переполнении отправляешь стартовый импульс в излучатель


при таком раскладе будет считано время импульса команды+время измерения излучателя+время ответного импульса 10us+~500 us +~10us не представляю как анализировать


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Пт мар 02, 2018 09:48:52 
Друг Кота
Аватар пользователя

Карма: 46
Рейтинг сообщений: 2030
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Сообщений: 6618
Откуда: Сердце Пармы
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
если там принцип замера - задержка принятого импульса от посланного, то проблем не вижу... константу (описывающую время обработки сигналов) отнять всегда успеем.
(такой прибор пока сам не щупал - нужды не было, может он сам всё обрабатывает, а данные уже по цифре шлёт? не вникал)

_________________
Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Пт мар 02, 2018 09:55:16 
Грызет канифоль
Аватар пользователя

Карма: 2
Рейтинг сообщений: 10
Зарегистрирован: Сб янв 23, 2016 00:59:59
Сообщений: 287
Откуда: Чебоксары
Рейтинг сообщения: 0
(такой прибор пока сам не щупал - нужды не было, может он сам всё обрабатывает, а данные уже по цифре шлёт? не вникал)

Да игрушка для ардуино...Даже и не знаю где его чуть серьезно применить) думал встроить его в машинку, которая никогда никуда не врезается))
Теория работы с устройством: на вход TRIG подается импульс 10мкс, датчик посылает ультразвуковой сигнал 40кГц, который отражается от препятствий и поступает обратно на датчик. На выходе ECHO формируется импульс, длительность которого пропорциональна расстоянию до объекта.


Вернуться наверх
 
Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Пт мар 02, 2018 10:03:28 
Друг Кота
Аватар пользователя

Карма: 46
Рейтинг сообщений: 2030
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Сообщений: 6618
Откуда: Сердце Пармы
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
значит сам не обрабатывает. понятно.
ну, тогда ещё прерывание по совпадению добавить за ~10мкс до переполнения (по этому прерыванию начинаем импульс, а по переполнению - заканчиваем)

Добавлено after 2 minutes 57 seconds:
но, 10 мкс можно и делаем() сделать. если нет внешних прерываний (по захвату или ещё каких) то всё пляшет вокруг таймера Т1, полностью детерминировано (неуверен в правильности применения термина) в общем друг другу на грабли не наступает :)

_________________
Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Пт мар 02, 2018 10:10:18 
Грызет канифоль
Аватар пользователя

Карма: 2
Рейтинг сообщений: 10
Зарегистрирован: Сб янв 23, 2016 00:59:59
Сообщений: 287
Откуда: Чебоксары
Рейтинг сообщения: 0
значит сам не обрабатывает. понятно.
ну, тогда ещё прерывание по совпадению добавить за ~10мкс до переполнения (по этому прерыванию начинаем импульс, а по переполнению - заканчиваем)

Добавлено after 2 minutes 57 seconds:
но, 10 мкс можно и делаем() сделать.

ну у меня так и сделано


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Пт мар 02, 2018 10:14:10 
Друг Кота
Аватар пользователя

Карма: 46
Рейтинг сообщений: 2030
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Сообщений: 6618
Откуда: Сердце Пармы
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
не совсем, у тебя есть внешнее прерывание по захвату...

_________________
Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Пт мар 02, 2018 10:15:56 
Грызет канифоль
Аватар пользователя

Карма: 2
Рейтинг сообщений: 10
Зарегистрирован: Сб янв 23, 2016 00:59:59
Сообщений: 287
Откуда: Чебоксары
Рейтинг сообщения: 0
переполнения (по этому прерыванию начинаем импульс, а по переполнению - заканчиваем)

после завершения импульса на измерение датчик -то только начинает измерение это длится около 500us только затем он шлет импульс определенной длины.Нам нужно замерить время начала ответа до конца ответа) а ответ, пишут ,длится от 10-30 us в зависимости от расстояния. счетчик переполнится не успеет)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Пт мар 02, 2018 10:36:37 
Друг Кота
Аватар пользователя

Карма: 46
Рейтинг сообщений: 2030
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Сообщений: 6618
Откуда: Сердце Пармы
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
плохо... плохо что придется от внешнего старта считать... мало ли в каком состоянии прескалер (может он только начал счет, а может уже готов переключить счетчик)
я думал там 2 независимых блока - один шлет волну, другой ловит... пойду почитаю...

Добавлено after 11 minutes 59 seconds:
да, всё правильно, только почти независимых - второй получает с первого сигнал о том, что сигнал послан...
теоретически вся эта обработка занимает немного времени по отношению к времени эха - оно бывает 0,15-38мс, а все приготовления десятки микросекунд длятся...

_________________
Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Сб мар 03, 2018 17:58:04 
Вымогатель припоя

Карма: -8
Рейтинг сообщений: 49
Зарегистрирован: Вс дек 28, 2014 21:54:05
Сообщений: 615
Рейтинг сообщения: 0
Цитата:
мало ли в каком состоянии прескалер (может он только начал счет, а может уже готов переключить счетчик)

Не вникал, какой камень, но в меге8 есть такая вещь "Прескалер ресет", можно синхронизировать.
PSR

_________________
Я всё-всё узнAю и стану профессором.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Чт мар 15, 2018 15:01:07 
Грызет канифоль
Аватар пользователя

Карма: 2
Рейтинг сообщений: 10
Зарегистрирован: Сб янв 23, 2016 00:59:59
Сообщений: 287
Откуда: Чебоксары
Рейтинг сообщения: 0
Приветствую!!!
пробую разогнать эл. двигатель с помощью ШИМ.Задача разогнать его до максимальных оборотов и оставить его работать в таком режиме.Но он постепенно разгоняется, но не до максимальных оборотов,затем снова уходит на минимальные обороты и снова постепенно разгоняется. это происходит циклически бесконечно...не пойму....в чем тонкость?
Спойлер
Код:
#define F_CPU 8000000UL
#include <util/delay.h>
#include <avr/io.h>
#define OC1A 5



void TIMER_instal(void)
{
   DDRD|=(1<<OC1A);
   TCCR1A=(1<<COM1A1)|(0<<COM1A0)|(0<<COM1B1)|(0<<COM1B0)|(0<<FOC1A)|(0<<FOC1B)|(1<<WGM11)|(1<<WGM10);
   TCCR1B=(0<<ICNC1)|(0<<ICES1)|(0<<WGM13)|(1<<WGM12)|(1<<CS12)|(0<<CS11)|(1<<CS10);
}



int main(void)
{
   TIMER_instal();
//    OCR1AH=0x03;
//    OCR1AL=0xff;
   
   
   for(uint8_t c=0;c<=3;c++)
   {
      OCR1AH=c;
      
      for(uint8_t i=0;i<=255;i++)
      
      {
         OCR1AL=i;
       _delay_ms(50);
      }
   }
   
   while (1)
   {
   }
}


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Чт мар 15, 2018 15:16:19 
Друг Кота
Аватар пользователя

Карма: 46
Рейтинг сообщений: 2030
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Сообщений: 6618
Откуда: Сердце Пармы
Рейтинг сообщения: 1
Медали: 1
Получил миской по аватаре (1)
убери равно из условия внутреннего цикла

Добавлено after 10 minutes 43 seconds:
или используй 16 битные переменные:
for(uint16_t i=0;i<=1200;i++){OCR1A=i; _delay_ms(50);};
примерно так

_________________
Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Чт мар 15, 2018 15:29:49 
Грызет канифоль
Аватар пользователя

Карма: 2
Рейтинг сообщений: 10
Зарегистрирован: Сб янв 23, 2016 00:59:59
Сообщений: 287
Откуда: Чебоксары
Рейтинг сообщения: 0
убери равно из условия внутреннего цикла

из цикла вылез наконец!спасибо,а то замучался искать...
Но теперь другая проблема после разгона движка программа должна уйти в while(1),но там на точке останова я ее не вижу, где-то теряется, делаю паузу принудительно, чтоб посмотреть что в регистре OCR1A так там во всех регистрах таймера FF и FFFF


Вложения:
2018-03-15_16-32-24.png [103.84 KiB]
Скачиваний: 469
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Чт мар 15, 2018 15:31:51 
Это не хвост, это антенна

Карма: 4
Рейтинг сообщений: 141
Зарегистрирован: Ср июн 25, 2008 15:19:44
Сообщений: 1384
Рейтинг сообщения: 0
delay_ms (50). Мк какой? WDT как включается? Фьюзами? Программно?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Чт мар 15, 2018 15:45:33 
Грызет канифоль
Аватар пользователя

Карма: 2
Рейтинг сообщений: 10
Зарегистрирован: Сб янв 23, 2016 00:59:59
Сообщений: 287
Откуда: Чебоксары
Рейтинг сообщения: 0
Цитата:
delay_ms (50).

не понял
Цитата:
Мк какой?

Atmega16A
Цитата:
WDT как включается?

WDT? не слышал)

Добавлено after 8 minutes 1 second:
for(uint16_t i=0;i<=1200;i++){OCR1A=i; _delay_ms(50);};


1200 многовато не? в моем режиме TOP=0x03FF=1023


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Чт мар 15, 2018 15:48:37 
Открыл глаза

Карма: 1
Рейтинг сообщений: 1
Зарегистрирован: Чт дек 28, 2017 23:07:31
Сообщений: 53
Рейтинг сообщения: 1
WDT - сторожевой таймер


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Чт мар 15, 2018 16:11:43 
Друг Кота
Аватар пользователя

Карма: 46
Рейтинг сообщений: 2030
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Сообщений: 6618
Откуда: Сердце Пармы
Рейтинг сообщения: 1
Медали: 1
Получил миской по аватаре (1)
я как пример писал, так и написал что примерно. считать сегодня совсем неохота... да, точно в 16ричном надо было представить, и считать бы не пришлось :)

_________________
Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Чт мар 15, 2018 17:31:54 
Грызет канифоль
Аватар пользователя

Карма: 2
Рейтинг сообщений: 10
Зарегистрирован: Сб янв 23, 2016 00:59:59
Сообщений: 287
Откуда: Чебоксары
Рейтинг сообщения: 0
я как пример писал
не читал бы даташит ща сидел бы и втыкал почему не пашет и глупых вопросов было бы на один больше :)))

Добавлено after 15 minutes 35 seconds:
WDT как включается

а причем тут этот таймер?

Добавлено after 21 minute 16 seconds:
В схемотехнике практически никак,но с чего-то нужно начинать.
Вот эта схема отправляет мой МК в аут:


Вложения:
2018-03-15_18-32-16.png [14.95 KiB]
Скачиваний: 466
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Чт мар 15, 2018 18:06:27 
Друг Кота
Аватар пользователя

Карма: 46
Рейтинг сообщений: 2030
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Сообщений: 6618
Откуда: Сердце Пармы
Рейтинг сообщения: 1
Медали: 1
Получил миской по аватаре (1)
у тебя транзистор к входу захвата приделан, может он вызывает прерывание по захвату, а обработчика нет? (прошивка та-же?)
ПС: надеюсь в реале есть резистор в базе и диод на моторе.

Добавлено after 4 minutes 12 seconds:
а что значит строка: DDRD|=(1<<OC1A);? она есть у тебя в коде

_________________
Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Таймеры/счётчики в AVR
СообщениеДобавлено: Чт мар 15, 2018 18:32:27 
Грызет канифоль
Аватар пользователя

Карма: 2
Рейтинг сообщений: 10
Зарегистрирован: Сб янв 23, 2016 00:59:59
Сообщений: 287
Откуда: Чебоксары
Рейтинг сообщения: 0
Цитата:
у тебя транзистор к входу захвата приделан

в торпях не туда приделал, на 5 ножке он по факту

Цитата:
надеюсь в реале есть резистор в базе и диод на моторе.
резистор ставил и не ставил, разницы не заметил. С диодом побаловался так и не понял куда его прикрутить. На самом деле проблема в схемотехнике. так как я отключил движок от тразистора, МК начал работать в штатном режиме

Цитата:
а что значит строка: DDRD|=(1<<OC1A);? она есть у тебя в коде
дефайн OC1A , номер ножки куда подключил транзистор. в даташите вроде было написано, что его нужно настроить на выход.

• Bit 7:6 – COM1A1:0: Compare Output Mode for Channel A
• Bit 5:4 – COM1B1:0: Compare Output Mode for Channel B
The COM1A1:0 and COM1B1:0 control the Output Compare pins (OC1A and OC1B respectively) behavior. If
one or both of the COM1A1:0 bits are written to one, the OC1A output overrides the normal port functionality of
the I/O pin it is connected to. If one or both of the COM1B1:0 bit are written to one, the OC1B output overrides
the normal port functionality of the I/O pin it is connected to. However, note that the Data Direction Register
(DDR) bit corresponding to the OC1A or OC1B pin must be set in order to enable the output driver.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 1322 ]     ... , , , 46, , , ...  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 29


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

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y