Падение частоты генератора

На этом форуме Вы можете задать вопросы знатокам программы и автору.
dee-vize
Рядовой
Сообщения: 34
Зарегистрирован: 10.09.2015{, 12:13}
Репутация: 0
Откуда: Москва
Контактная информация:

Падение частоты генератора

#1

Сообщение dee-vize » 20.02.2016{, 12:36}

Прошу помощи!При подключении LCD дисплея по шине i2c к ардуино про мини 328 сильно падает частота генератора.Генератор просто генерирует импульсы на выход d13.Частота генератора не превышает 15Гц,а должна быть гораздо выше.При удалении дисплея из скетча частота резко возрастает.
Для скачивания вложений Вы должны быть зарегистрированы.

Airis
Сержант
Сообщения: 175
Зарегистрирован: 24.09.2015{, 07:27}
Репутация: 0

Падение частоты генератора

#2

Сообщение Airis » 20.02.2016{, 12:57}

Данная проблема уже обсуждалась - Arduino тратит много ресурсов для работы с дисплей по шине I2C. Там где критически важна точность и скорость работы генератора, надо использовать дисплей, который к Arduino подключается напрямую.
Последний раз редактировалось Airis 20.02.2016{, 12:58}, всего редактировалось 1 раз.

dee-vize
Рядовой
Сообщения: 34
Зарегистрирован: 10.09.2015{, 12:13}
Репутация: 0
Откуда: Москва
Контактная информация:

Падение частоты генератора

#3

Сообщение dee-vize » 20.02.2016{, 13:09}

Всё ясно,спасибо,попробую подключить дисплей напрямую

Аватара пользователя
VadKol
Рядовой
Сообщения: 47
Зарегистрирован: 06.09.2015{, 13:32}
Репутация: 0
Откуда: Дмитров

Падение частоты генератора

#4

Сообщение VadKol » 17.06.2016{, 19:49}

dee-vize,  Скажите помогло прямое подключение или нет .Таже проблема даже при прямом подключении
Для скачивания вложений Вы должны быть зарегистрированы.
VadKol

Аватара пользователя
DerAlex
Лейтенант
Сообщения: 391
Зарегистрирован: 06.09.2015{, 08:39}
Репутация: 4
Откуда: Новосибирск

Падение частоты генератора

#5

Сообщение DerAlex » 18.06.2016{, 04:19}

Частота генератора зависит от объема программы.Более длинная программа выполняется медленнее и все временные параметры в таймерах , генераторах не могут быть меньше  цикла программы.

Добавлено (18.06.2016, 04:19)
---------------------------------------------
Выход - в применении генератора на прерываниях. Такой генератор работает независимо от цикла программы.
аврора

Аватара пользователя
DerAlex
Лейтенант
Сообщения: 391
Зарегистрирован: 06.09.2015{, 08:39}
Репутация: 4
Откуда: Новосибирск

Падение частоты генератора

#6

Сообщение DerAlex » 18.06.2016{, 04:25}

Выкладываю блок пользователя с таким генератором
Для скачивания вложений Вы должны быть зарегистрированы.
аврора

Аватара пользователя
DerAlex
Лейтенант
Сообщения: 391
Зарегистрирован: 06.09.2015{, 08:39}
Репутация: 4
Откуда: Новосибирск

Падение частоты генератора

#7

Сообщение DerAlex » 18.06.2016{, 04:28}

Вот еще для МЕГИ.

Добавлено (18.06.2016, 04:27)
---------------------------------------------
Различаются только выходами.

Добавлено (18.06.2016, 04:28)
---------------------------------------------
Для МЕГИ -D11 , для НАНО - D9. Вроде так .
Для скачивания вложений Вы должны быть зарегистрированы.
Последний раз редактировалось DerAlex 18.06.2016{, 04:49}, всего редактировалось 1 раз.
аврора

Аватара пользователя
DerAlex
Лейтенант
Сообщения: 391
Зарегистрирован: 06.09.2015{, 08:39}
Репутация: 4
Откуда: Новосибирск

Падение частоты генератора

#8

Сообщение DerAlex » 18.06.2016{, 04:38}

Вот схема устройства .
Для скачивания вложений Вы должны быть зарегистрированы.
аврора

Аватара пользователя
DerAlex
Лейтенант
Сообщения: 391
Зарегистрирован: 06.09.2015{, 08:39}
Репутация: 4
Откуда: Новосибирск

Падение частоты генератора

#9

Сообщение DerAlex » 18.06.2016{, 04:39}

Вот используемый блок энкодера.
Для скачивания вложений Вы должны быть зарегистрированы.
аврора

Аватара пользователя
DerAlex
Лейтенант
Сообщения: 391
Зарегистрирован: 06.09.2015{, 08:39}
Репутация: 4
Откуда: Новосибирск

Падение частоты генератора

#10

Сообщение DerAlex » 18.06.2016{, 04:47}

Совсем забыл .Не выложил саму  программу .
Для скачивания вложений Вы должны быть зарегистрированы.
аврора

ВиД
Рядовой
Сообщения: 25
Зарегистрирован: 06.09.2015{, 07:37}
Репутация: 0

Падение частоты генератора

#11

Сообщение ВиД » 18.06.2016{, 16:25}

DerAlex писал(а):Выкладываю блок пользователя с таким генератором
Какая максимальная частота?

Аватара пользователя
DerAlex
Лейтенант
Сообщения: 391
Зарегистрирован: 06.09.2015{, 08:39}
Репутация: 4
Откуда: Новосибирск

Падение частоты генератора

#12

Сообщение DerAlex » 19.06.2016{, 05:17}

Мне выше 10 килогерц не требовалось, не проверял.

Добавлено (19.06.2016, 05:09)
---------------------------------------------
Так как используется в этом блоке делитель частоты на более высокой частоте точность установки падает.

Добавлено (19.06.2016, 05:17)
---------------------------------------------
Смотрите тему  (Генератор с использованием скоростного счетчика). Блок генератора выложил Костик.  Я использовал этот блок в своих разработках.
аврора

Аватара пользователя
DerAlex
Лейтенант
Сообщения: 391
Зарегистрирован: 06.09.2015{, 08:39}
Репутация: 4
Откуда: Новосибирск

Падение частоты генератора

#13

Сообщение DerAlex » 19.06.2016{, 05:32}

Максимальную частоту можно просто проверить.Нужно изменять переменную ЧАСТОТА и контролировать выход с помощью частотомера.

Добавлено (19.06.2016, 05:32)
---------------------------------------------
Частота устанавливается в Герцах.
Для скачивания вложений Вы должны быть зарегистрированы.
аврора

ВиД
Рядовой
Сообщения: 25
Зарегистрирован: 06.09.2015{, 07:37}
Репутация: 0

Падение частоты генератора

#14

Сообщение ВиД » 19.06.2016{, 13:25}

DerAlex писал(а):Нужно изменять переменную ЧАСТОТА и контролировать выход с помощью частотомера.
DerAlex, на какой пин подключать частотомер, вижу только интерфейс дисплея...
И блок =GEN=  не расписан.

Аватара пользователя
DerAlex
Лейтенант
Сообщения: 391
Зарегистрирован: 06.09.2015{, 08:39}
Репутация: 4
Откуда: Новосибирск

Падение частоты генератора

#15

Сообщение DerAlex » 19.06.2016{, 14:11}

Вы не внимательны.Я сразу указал на выходы.Сообщение 7. 
D9 в Нано, D11 в Меге.

Добавлено (19.06.2016, 13:58)
---------------------------------------------
Кроме того на  электрической схеме явно указан D9

Добавлено (19.06.2016, 14:11)
---------------------------------------------
На самом дел программу можно упростить максимально.Оставить только блок генератора.На входе указываем нужную частоту. С выхода D9 снимаем частоту.Все.
аврора

ВиД
Рядовой
Сообщения: 25
Зарегистрирован: 06.09.2015{, 07:37}
Репутация: 0

Падение частоты генератора

#16

Сообщение ВиД » 20.06.2016{, 11:00}

DerAlex писал(а):Вы не внимательны.Я сразу указал на выходы.Сообщение 7. D9 в Нано, D11 в Меге.
В сообщениях 6 и 7 только блоки пользователя. В общем проекте (сообщение 13) они вообще не указаны, а стоит блок =GEN=...

Аватара пользователя
DerAlex
Лейтенант
Сообщения: 391
Зарегистрирован: 06.09.2015{, 08:39}
Репутация: 4
Откуда: Новосибирск

Падение частоты генератора

#17

Сообщение DerAlex » 20.06.2016{, 12:44}

Ну и что не понятного, для Меги используйте блок для МЕГИ, выход D11.
Для Нано - блок для Нано , выход D9.
Вы меня удивляете.Замените блоки пользователей на нужные вам .

Добавлено (20.06.2016, 12:44)
---------------------------------------------
Можно просто взять создать новый проект.Вставить необходимый блок генератора.На входе указать частоту в Герцах и с D9 если Нано снимать прямоугольные колебания с частотой указанной на входе блока.Если используется МЕГА , то тоже самое только с блоком от МЕГИ .Выход D11.
аврора

Аватара пользователя
VadKol
Рядовой
Сообщения: 47
Зарегистрирован: 06.09.2015{, 13:32}
Репутация: 0
Откуда: Дмитров

Падение частоты генератора

#18

Сообщение VadKol » 20.06.2016{, 15:42}

DerAlex, Большое спасибо за участие Но изначально проект задумывался как генератор с изменяемой частотой и скважностю.
Выводом на результатов на дисплей. В прикрепленном файле схема на дискретных элементах.Может что подскажите.
Для скачивания вложений Вы должны быть зарегистрированы.
VadKol

Аватара пользователя
DerAlex
Лейтенант
Сообщения: 391
Зарегистрирован: 06.09.2015{, 08:39}
Репутация: 4
Откуда: Новосибирск

Падение частоты генератора

#19

Сообщение DerAlex » 21.06.2016{, 09:57}

Понял.К сожалению этот блок позволяет менять только частоту.Скважность постоянная  и равна двум, то есть импульс и пауза одинаковы.

Добавлено (20.06.2016, 15:56)
---------------------------------------------
Не я автор этого блока.

Добавлено (20.06.2016, 16:00)
---------------------------------------------
Я пытался создать генератор с использованием скоростного счетчика.Открыл одноименную тему и товарищи помогли .Прислали готовый блок.

Добавлено (20.06.2016, 16:07)
---------------------------------------------
Вот в теме =НАСТРОЙКА ЧАСТОТЫ ШИМ= нашел :

Для UNO и уноподобных с кварцом 16МГц.
имеются три "железных" таймера, завязанных на определенные выводы ШИМ, некоторые коррекции могут повлиять на функции - допустим ИК передатчик перестанет работать если изменить стандартную частоту на портах
 11 и 3....

Частота ШИМ'а на ногах 5 и 6:
Константа Делитель Частота(Гц)
0x01              1            62500
0x02              8            7812.5
0x03              64          976.5625
0x04              256        244.140625
0x05             1024       61.03515625

В Setup пишем строчку:
TCCR0B = TCCR0B & 0b11111000 | <Константа>;

Частота ШИМ'а на ногах 9 и 10:
Константа Делитель Частота(Гц)
0x01              1            31250
0x02              8            3906.25
0x03              64          488.28125
0x04             256         122.0703125
0x05            1024        30.517578125

В Setup пишем строчку:
TCCR1B = TCCR1B & 0b11111000 | <Константа>;

Частота ШИМ'а на ногах 11 и 3:
Константа Делитель Частота(Гц)
0x01              1            31250
0x02              8            3906.25
0x03              32          976.5625
0x04              64          488.28125
0x05             128         244.140625
0x06             256         122.0703125
0x07            1024        30.517578125

В Setup пишем строчку:
TCCR2B = TCCR2B & 0b11111000 | <Константа>;

ПРИМЕР:
получим частоту ШИМ'а на 9, 10, 11 и 3 ногах около 4кГц путем добавления в секцию инциализации двух строк:

void setup()
{
TCCR1B = TCCR1B & 0b11111000 | 0x02;
TCCR2B = TCCR2B & 0b11111000 | 0x02;
...  - следующие строки скетча секции инициализации
...  - следующие строки скетча секции инициализации

P. S.: у МЕГИ таймеров больше...смотри мануал...

Добавлено (20.06.2016, 16:16)
---------------------------------------------
Как я понимаю возможно или  менять частоту при неизменной скважности или менять скважность и выбирать какую то рабочую частоту.Не очень разбираюсь
каким образом возможно обращаться напрямую к регистрам Arduino.
Возможно есть более подготовленные товарищи и они смогут помочь разобраться.

Добавлено (21.06.2016, 09:57)
---------------------------------------------
Можно попробовать сделать генератор с использованием внешних элементов.Внешний будет RS триггер.Внутри будут использованы: 1) блок генератора , 2 блок скоростного счетчика в режиме линии задержки.Для блока генератора будет задействован выход D9, для блока скоростного счетчика - вход D2 , выход D3.Выход D9 соединяем с D2 . На выходе D3 получаем импульс . задержанный относительно D9.Далее импульс с D9 подаем на вход  S внешнего триггера. А с выхода D3 подаем на вход R внешнего триггера.Для управления нужно будет два переменных резистора.Один регулирует частоту, другой задержку импульса и в итоге скважность .
Последний раз редактировалось DerAlex 22.06.2016{, 03:32}, всего редактировалось 1 раз.
аврора

Аватара пользователя
DerAlex
Лейтенант
Сообщения: 391
Зарегистрирован: 06.09.2015{, 08:39}
Репутация: 4
Откуда: Новосибирск

Падение частоты генератора

#20

Сообщение DerAlex » 21.06.2016{, 10:23}

Вот схема соединений.
Для скачивания вложений Вы должны быть зарегистрированы.
аврора

Ответить

Вернуться в «Спросить у знатоков»