Atmega8 регулировка частоты и амплитуды
-
Varlakotam
- Открыл глаза
- Сообщения: 52
- Зарегистрирован: Сб фев 02, 2019 17:15:10
Re: Atmega8 регулировка частоты и амплитуды
Starichok51, ступеньки похоже не причём, вернул без деления, остались "сдвоенные". Наверно это повлияло for (float i = 1 - k; i <= 1 + k; i += 1.0 / descr1) {
t = sin(1.5708 * i) * Amp;
PWM1(t);
}
Добавлено after 20 minutes 46 seconds:
Блин..., с устатку внимательность никакая. Я и в нарастание и в спад воткнул объединенную формулу
t = sin(1.5708 * i) * Amp;
PWM1(t);
}
Добавлено after 20 minutes 46 seconds:
Блин..., с устатку внимательность никакая. Я и в нарастание и в спад воткнул объединенную формулу
- Реклама
- Starichok51
- Модератор
- Сообщения: 19053
- Зарегистрирован: Сб авг 14, 2010 15:05:51
- Откуда: г. Озерск, Челябинская обл.
Re: Atmega8 регулировка частоты и амплитуды
я же сказал, что теперь одна формула для нарастания и для спада. вторую формулу следует убрать вообще.
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
-
Varlakotam
- Открыл глаза
- Сообщения: 52
- Зарегистрирован: Сб фев 02, 2019 17:15:10
Re: Atmega8 регулировка частоты и амплитуды
Пока оставил обе формулы. Проверил деление- классно. Провал исчез.
- Starichok51
- Модератор
- Сообщения: 19053
- Зарегистрирован: Сб авг 14, 2010 15:05:51
- Откуда: г. Озерск, Челябинская обл.
Re: Atmega8 регулировка частоты и амплитуды
не понял тебя.
деление - это сокращение числа ступенек?
а по синусу - теперь должна быть одна формула синуса для PWM1(t) и одна формула синуса для PWM2(t).
а поменять крайние выводы резистора еще не пробовал, чтобы при вращении по часовой стрелке было увеличение частоты?
деление - это сокращение числа ступенек?
а по синусу - теперь должна быть одна формула синуса для PWM1(t) и одна формула синуса для PWM2(t).
а поменять крайние выводы резистора еще не пробовал, чтобы при вращении по часовой стрелке было увеличение частоты?
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
-
Varlakotam
- Открыл глаза
- Сообщения: 52
- Зарегистрирован: Сб фев 02, 2019 17:15:10
Re: Atmega8 регулировка частоты и амплитуды
Да, деление - сокращение числа ступенек.
С синусом двоит. Может напутал чего, но ошибки не выдаёт. Глаза уже слипаются, завтра с свежей головой буду смотреть. В принципе уже то что и хотелось))). Ура))
Выводы резистора и так были запаяны на увеличение по часовой.
С синусом двоит. Может напутал чего, но ошибки не выдаёт. Глаза уже слипаются, завтра с свежей головой буду смотреть. В принципе уже то что и хотелось))). Ура))
Выводы резистора и так были запаяны на увеличение по часовой.
- Реклама
- Starichok51
- Модератор
- Сообщения: 19053
- Зарегистрирован: Сб авг 14, 2010 15:05:51
- Откуда: г. Озерск, Челябинская обл.
Re: Atmega8 регулировка частоты и амплитуды
опять я тебя не понял, всегда рассказывай подробно, что происходит, чтобы понимать тебя без дополнительных вопросов.
то "сдвоенные", то "двоит" - какой "ребус" будет следующим?
скопируй и вставь сюда функцию hand_work, чтобы мне видеть, а не догадываться, что ты там сделал.
в функции hand_avtomat следует повторить всё в точности, как это сделано в hand_work.
а с функцией automat я пока не разобрался, со всей той кучей переменных.
там половинки полуволны синуса считаются раздельно. но ничего не мешает считать полуволны по частям, а не всю полуволну сразу.
то "сдвоенные", то "двоит" - какой "ребус" будет следующим?
скопируй и вставь сюда функцию hand_work, чтобы мне видеть, а не догадываться, что ты там сделал.
в функции hand_avtomat следует повторить всё в точности, как это сделано в hand_work.
а с функцией automat я пока не разобрался, со всей той кучей переменных.
там половинки полуволны синуса считаются раздельно. но ничего не мешает считать полуволны по частям, а не всю полуволну сразу.
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Re: Atmega8 регулировка частоты и амплитуды
Приветствую. В качестве пятничной развлекухи. Попробовал на tiny2313a вывести синус частотой 0,5...10Гц
-работа от таймера Т1 режим 14 с выводом парафазных импульсов
-таблица нормированного синуса 256 точек
Для каждого значения частоты определяется значение периода дискретизации ICP1. Текущее значение нормированного синуса преобразуется в значение OC1A и OC1B.
-работа от таймера Т1 режим 14 с выводом парафазных импульсов
-таблица нормированного синуса 256 точек
Для каждого значения частоты определяется значение периода дискретизации ICP1. Текущее значение нормированного синуса преобразуется в значение OC1A и OC1B.
-
Varlakotam
- Открыл глаза
- Сообщения: 52
- Зарегистрирован: Сб фев 02, 2019 17:15:10
- Starichok51
- Модератор
- Сообщения: 19053
- Зарегистрирован: Сб авг 14, 2010 15:05:51
- Откуда: г. Озерск, Челябинская обл.
Re: Atmega8 регулировка частоты и амплитуды
ты что, до сих пор не знаешь, как копировать и вставлять?
выделяешь нужный фрагмент текста, потом по правой кнопке мыши выбираешь "Копировать", а здесь в окне ответа выбираешь "Вставить".
очередной ребус. моя просьба о подробном рассказе тебе пофигу?
как понимать твои картинки? сверху - первый ШИМ, а снизу - второй ШИМ?
слева - правильно, как должно быть?
справа - один ШИМ двойной, а второй - правильный?
или тебе лень "клаву топтать", и я должен клещами из тебя вытягивать подробности?
Добавлено after 10 minutes 32 seconds:
а для выделения фрагмента текста в начале фрагмента нажимаешь левую кнопку мыши и ведешь мышь до конца фрагмента. фрагмент будет закрашенным.
потом внутри фрагмента нажимаешь правую кнопку.
есть еще "горячие" клавиши. Ctrl+C - копировать и Ctrl+V - вставить.
выделяешь нужный фрагмент текста, потом по правой кнопке мыши выбираешь "Копировать", а здесь в окне ответа выбираешь "Вставить".
очередной ребус. моя просьба о подробном рассказе тебе пофигу?
как понимать твои картинки? сверху - первый ШИМ, а снизу - второй ШИМ?
слева - правильно, как должно быть?
справа - один ШИМ двойной, а второй - правильный?
или тебе лень "клаву топтать", и я должен клещами из тебя вытягивать подробности?
Добавлено after 10 minutes 32 seconds:
а для выделения фрагмента текста в начале фрагмента нажимаешь левую кнопку мыши и ведешь мышь до конца фрагмента. фрагмент будет закрашенным.
потом внутри фрагмента нажимаешь правую кнопку.
есть еще "горячие" клавиши. Ctrl+C - копировать и Ctrl+V - вставить.
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
-
Varlakotam
- Открыл глаза
- Сообщения: 52
- Зарегистрирован: Сб фев 02, 2019 17:15:10
Re: Atmega8 регулировка частоты и амплитуды
Слева как должно быть, справа типа что получилось после объединенной формулы. ""Сдвоенное колебание". Возможно и вниз так-же, но я его визуально не вижу.
Как копировать и вставить знаю, а вот "скопируй и вставь сюда функцию hand_work" мне не понятно.
Добавлено after 4 minutes 47 seconds:
сейчас не дома, поэтому не могу ничего сделать
Как копировать и вставить знаю, а вот "скопируй и вставь сюда функцию hand_work" мне не понятно.
Добавлено after 4 minutes 47 seconds:
сейчас не дома, поэтому не могу ничего сделать
- Starichok51
- Модератор
- Сообщения: 19053
- Зарегистрирован: Сб авг 14, 2010 15:05:51
- Откуда: г. Озерск, Челябинская обл.
Re: Atmega8 регулировка частоты и амплитуды
я имел в виду скопировать весь текст функции hand_work.
не нужно было вставлять ссылку на картинку в теги [img][img]. я исправил твой пост.
если двоит с объединенной формулой, тогда сделай полуволны опять частями.
для нарастания будет
for (float i = 1 - k; i <= 1; i += 1.0 / descr1),
а для спада будет
for (float i = 1; i <= 1 + k; i += 1.0 / descr1)
хотя, когда я увижу текст, будет видно, правильно ли ты всё сделал.
не нужно было вставлять ссылку на картинку в теги [img][img]. я исправил твой пост.
если двоит с объединенной формулой, тогда сделай полуволны опять частями.
для нарастания будет
for (float i = 1 - k; i <= 1; i += 1.0 / descr1),
а для спада будет
for (float i = 1; i <= 1 + k; i += 1.0 / descr1)
хотя, когда я увижу текст, будет видно, правильно ли ты всё сделал.
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
-
Varlakotam
- Открыл глаза
- Сообщения: 52
- Зарегистрирован: Сб фев 02, 2019 17:15:10
Re: Atmega8 регулировка частоты и амплитуды
Starichok51, Поставил объединённую формулу, работает нормально. Видимо где-то невнимательно менял.
Подобрал коэффициенты descr1 = 230 * exp(freq / 16.0), вроде нигде не сбоит, регулировка ровная. Погоняю ещё, ну уже понятно что и в какую сторону можно подогнать. Спасибо!!!
Хотелок конечно вагон и маленькая тележка, но совесть не позволяет напрягать людей.)))
Подобрал коэффициенты descr1 = 230 * exp(freq / 16.0), вроде нигде не сбоит, регулировка ровная. Погоняю ещё, ну уже понятно что и в какую сторону можно подогнать. Спасибо!!!
Хотелок конечно вагон и маленькая тележка, но совесть не позволяет напрягать людей.)))
- Starichok51
- Модератор
- Сообщения: 19053
- Зарегистрирован: Сб авг 14, 2010 15:05:51
- Откуда: г. Озерск, Челябинская обл.
Re: Atmega8 регулировка частоты и амплитуды
опять в ход клещи нужно пускать.
а сколько ступеней частоты ты сделал при делении на 16?
а сколько ступеней частоты ты сделал при делении на 16?
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
-
Varlakotam
- Открыл глаза
- Сообщения: 52
- Зарегистрирован: Сб фев 02, 2019 17:15:10
Re: Atmega8 регулировка частоты и амплитуды
Starichok51, вот эта int freq = ADCread(7) / 64;
Добавлено after 8 minutes 35 seconds:
а можешь разъяснить для чего некоторые "буковки"))) ? Те что красным
// ожидание поклевки
_delay_ms(1000);// сначала пауза 1 сек
while((millis()-T)<(Time1+Time2+Pause+1000))
{
s++; //костыль
s1=ADCread(ADC_KLEV);// слушаем аналоговый вход А1 подключен через резистивный делитель к электромагниту согласно схемы
_delay_ms(8);
s2=ADCread(ADC_KLEV);
if (((s1-s2)>Sens || (s2-s1)>Sens)&& s>15)
{
buzzer_on(40, 57);
if (rezhim==1)
{
Добавлено after 8 minutes 35 seconds:
а можешь разъяснить для чего некоторые "буковки"))) ? Те что красным
// ожидание поклевки
_delay_ms(1000);// сначала пауза 1 сек
while((millis()-T)<(Time1+Time2+Pause+1000))
{
s++; //костыль
s1=ADCread(ADC_KLEV);// слушаем аналоговый вход А1 подключен через резистивный делитель к электромагниту согласно схемы
_delay_ms(8);
s2=ADCread(ADC_KLEV);
if (((s1-s2)>Sens || (s2-s1)>Sens)&& s>15)
{
buzzer_on(40, 57);
if (rezhim==1)
{
Re: Atmega8 регулировка частоты и амплитуды
s тут бесполезна. Благодаря ей делается 15 парных измерений, но используется в итоге последняя пара.
Сравнение с s1-s2 и s2-s1 делается для определения выхода за пределы некоторой заданной чувствительности, притом беззнакового
И всё это делается как-то глупо, по одной, простой причине: результатом ADC является целое число, а Sens взято как float, да ещё его значение 0.2
В итоге, ((s1-s2)>Sens || (s2-s1)>Sens) не выполнится только если s2 и s1 обе равны нулю.
Если, конечно, внутри ADCread не наворочено какой-то ещё бессмысленной фигни, которая ну прям никак без float обойтись не может...
Сравнение с s1-s2 и s2-s1 делается для определения выхода за пределы некоторой заданной чувствительности, притом беззнакового
И всё это делается как-то глупо, по одной, простой причине: результатом ADC является целое число, а Sens взято как float, да ещё его значение 0.2
В итоге, ((s1-s2)>Sens || (s2-s1)>Sens) не выполнится только если s2 и s1 обе равны нулю.
Если, конечно, внутри ADCread не наворочено какой-то ещё бессмысленной фигни, которая ну прям никак без float обойтись не может...
-
Varlakotam
- Открыл глаза
- Сообщения: 52
- Зарегистрирован: Сб фев 02, 2019 17:15:10
Re: Atmega8 регулировка частоты и амплитуды
Martian, s это измерение? а два плюсика для чего? Извините за нелепые вопросы.
Re: Atmega8 регулировка частоты и амплитуды
++ это инкремент, s++ аналогично s += 1 аналогично s = s + 1
аналогия лишь смысловая (операции разные, с разным приоритетом)
Добавлено after 6 minutes 12 seconds:
[uquote="Varlakotam",url="/forum/viewtopic.php?p=4574071#p4574071"]s это измерение?[/uquote] здесь это счётчик, притом с неизвестно где устанавливающимся начальным значением. И совершенно бесполезный.
аналогия лишь смысловая (операции разные, с разным приоритетом)
Добавлено after 6 minutes 12 seconds:
[uquote="Varlakotam",url="/forum/viewtopic.php?p=4574071#p4574071"]s это измерение?[/uquote] здесь это счётчик, притом с неизвестно где устанавливающимся начальным значением. И совершенно бесполезный.
-
Varlakotam
- Открыл глаза
- Сообщения: 52
- Зарегистрирован: Сб фев 02, 2019 17:15:10
Re: Atmega8 регулировка частоты и амплитуды
Martian, uint8_t s=0;// "КОСТЫЛЬ" для исключения наводки ЭДС в электромагните во время затуханий колебаний кивка
- Starichok51
- Модератор
- Сообщения: 19053
- Зарегистрирован: Сб авг 14, 2010 15:05:51
- Откуда: г. Озерск, Челябинская обл.
Re: Atmega8 регулировка частоты и амплитуды
Varlakotam, понятно, что получится 16 ступенек.
до такой степени я с автоматом не разбирался. да и разобраться невозможно, если не знать, что там делается и как должно быть.
и там совсем мне не понятно, зачем между частями полуволн делается еще какой-то анализ входов.
и почему бы этот анализ входов не делать после формирования всей полуволны?
с синусом я тебе помог, за остальные "навороты" я браться не буду.
до такой степени я с автоматом не разбирался. да и разобраться невозможно, если не знать, что там делается и как должно быть.
и там совсем мне не понятно, зачем между частями полуволн делается еще какой-то анализ входов.
и почему бы этот анализ входов не делать после формирования всей полуволны?
с синусом я тебе помог, за остальные "навороты" я браться не буду.
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Re: Atmega8 регулировка частоты и амплитуды
тут уже были всякие удочки, кстати. например https://radiokot.ru/forum/viewtopic.php ... &start=380
Добавлено after 3 minutes:
[uquote="Varlakotam",url="/forum/viewtopic.php?p=4574074#p4574074"]"КОСТЫЛЬ" для исключения наводки ЭДС в электромагните[/uquote] это странный костыль. Чтобы просто паузу не увеличить?
Да и вообще, чтобы определить поклёвку, нужно анализировать в любой момент, а не когда затихли колебания.
Добавлено after 3 minutes:
[uquote="Varlakotam",url="/forum/viewtopic.php?p=4574074#p4574074"]"КОСТЫЛЬ" для исключения наводки ЭДС в электромагните[/uquote] это странный костыль. Чтобы просто паузу не увеличить?
Да и вообще, чтобы определить поклёвку, нужно анализировать в любой момент, а не когда затихли колебания.


