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

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

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

#1

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

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

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,  Скажите помогло прямое подключение или нет .Таже проблема даже при прямом подключении
Вложения
0790349.flp
(156.85 КБ) 68 скачиваний
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}

Выкладываю блок пользователя с таким генератором
Вложения
GENERATOR_NANO-.ubi
(18.21 КБ) 87 скачиваний
аврора

Аватара пользователя
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. Вроде так .
Вложения
GENERATOR_MEGA-.ubi
(18.21 КБ) 73 скачивания
Последний раз редактировалось DerAlex 18.06.2016{, 04:49}, всего редактировалось 1 раз.
аврора

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

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

#8

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

Вот схема устройства .
Вложения
1753660.jpg
аврора

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

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

#9

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

Вот используемый блок энкодера.
Вложения
2616424.ubi
(117.59 КБ) 68 скачиваний
аврора

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

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

#10

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

Совсем забыл .Не выложил саму  программу .
Вложения
5684414.flp
(312.38 КБ) 64 скачивания
аврора

ВиД
Рядовой
Сообщения: 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)
---------------------------------------------
Частота устанавливается в Герцах.
Вложения
3247275.png
аврора

ВиД
Рядовой
Сообщения: 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, Большое спасибо за участие Но изначально проект задумывался как генератор с изменяемой частотой и скважностю.
Выводом на результатов на дисплей. В прикрепленном файле схема на дискретных элементах.Может что подскажите.
Вложения
3960510.jpg
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}

Вот схема соединений.
Вложения
6501475.jpg
аврора

Ответить

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

Кто сейчас на конференции

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