Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR...

 
Опции темы
Непрочитано 11.10.2021, 15:45  
mike-y-k
Модератор
 
Регистрация: 04.08.2010
Адрес: Москва СЗАО
Сообщений: 11,246
Сказал спасибо: 11,165
Сказали Спасибо 3,854 раз(а) в 2,925 сообщении(ях)
mike-y-k на пути к лучшему
По умолчанию Re: ШИМ в Ардуино

Таки Arduino и с STM32F103 на борту за почти те же деньги существует.
А дальше уже от автора прошивки все зависит.

Можно и до TMS320 дойти - там все будет еще веселее

Arduino имеет право на жизнь, но с хорошими знаниями и с трезвым подходом к решаемой задаче.

Faworit, Вы бы подробнее написали про свою хотелку. На Arduino вполне можно поднять каналов PWM по числу выводов на портах МК, но вот частота будет не сильно высокой.
Реклама:
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…

Последний раз редактировалось mike-y-k; 13.10.2021 в 01:43.
mike-y-k вне форума  
Непрочитано 11.10.2021, 22:23  
mtit
Почётный гражданин KAZUS.RU
 
Аватар для mtit
 
Регистрация: 21.03.2007
Адрес: М.(осква)
Сообщений: 4,203
Сказал спасибо: 2,072
Сказали Спасибо 1,685 раз(а) в 956 сообщении(ях)
mtit на пути к лучшему
По умолчанию Re: ШИМ в Ардуино

Сообщение от Faworit Посмотреть сообщение
На макетке собрал простенькую схемку для эксперимента. Даже на резисторах(переменниках) скорость реакции меня не воодушевила. А мне еще необходимо тратить время на вывод инфы на дисплейчик. А по поводу ардуинки, так моя жаба душит ставить стм-ку, но увы, прийдется! Всем спасибо за информацию, тема закрыта.
https://codius.ru/articles/Arduino_%...%B8_analogRead
А не пробовали на аппаратный последовательный порт дисплей посадить?
__________________
+ 7 903 641 87 25// 1. Иногда отвечаю "по памяти" 2. Часто заблуждаюсь >> Критикуйте, не обижусь.
mtit вне форума  
Непрочитано 12.10.2021, 09:09  
ampy
Гражданин KAZUS.RU
 
Регистрация: 22.07.2007
Адрес: Владивосток
Сообщений: 984
Сказал спасибо: 435
Сказали Спасибо 375 раз(а) в 197 сообщении(ях)
ampy на пути к лучшему
По умолчанию Re: ШИМ на Ардуино

Может разориться на
16 Channel 12-bit PWM/Servo Driver-I2C interface PCA9685 module for arduino or Raspberry pi shield module servo shield

? Ардуинщики же богатеи.
ampy вне форума  
Непрочитано 13.06.2023, 07:26  
lnee
Прохожий
 
Регистрация: 13.06.2023
Сообщений: 4
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
lnee на пути к лучшему
По умолчанию Re: ШИМ на Ардуино

Доброго времени суток!

У меня возникла некоторая проблемка:
Настроил ШИМ на atmega328a (плата Arduino-Nano) с кварцем на 16 МГц на максимум и когда посмотрел осциллографом, оказалось, что ШИМ колбасит всего то на 2 кГц, хотя эта же программа опробована в Протеусе, а там частота ШИМа что то около 50 кГц

Стал разбираться и оказалось, что заводские фьюзы настроены на 8 МГц внутреннего генератора и плюс делитель на 8, в окошке программатора (TL866A) убрал галочку делителя на 8 и контроллер совсем перестал программироваться, взял другой atmega328a (плата Mini Pro) заведомо рабочий и установил галочки на внешний кварцевый генератор и опять та же картина (контроллер совсем перестал программироваться).

Подскажите, где я не прав и что с этим делать, т.к. 2 кГц это ни о чем, нужно хотя бы 20 кГц?
lnee вне форума  
Непрочитано 13.06.2023, 08:36  
DK
Почётный гражданин KAZUS.RU
 
Аватар для DK
 
Регистрация: 10.05.2003
Адрес: Москва
Сообщений: 2,528
Сказал спасибо: 737
Сказали Спасибо 1,927 раз(а) в 799 сообщении(ях)
DK на пути к лучшему
По умолчанию Re: ШИМ на Ардуино

Если вы хотите получить ШИМ чисто аруиновскими средствами, т.е. посредством analogWrite(), ничего не выйдет.
Цитата:
Uno, Nano, Mini 490 Hz (pins 5 and 6: 980 Hz)
Можно посмотреть у Гайвера
Код:
void analogWriteFast(uint8_t pin, uint16_t duty) {
  
  if (!duty) {          // If duty = 0
    digitalWrite(pin, LOW);    // Disable PWM and set pin to LOW
    return;            // Skip next code
  }

  switch (pin) {
  case 5:
    bitSet(TCCR0A, COM0B1);    // Enable hardware timer output
    OCR0B = duty;        // Load duty to compare register
    return;
  case 6:
    bitSet(TCCR0A, COM0A1);
    OCR0A = duty;
    return;
  case 10:
    bitSet(TCCR1A, COM1B1);
    OCR1B = duty;
    return;
  case 9:
    bitSet(TCCR1A, COM1A1);
    OCR1A = duty;
    return;
  case 3:
    bitSet(TCCR2A, COM2B1);
    OCR2B = duty;
    return;
  case 11:
    bitSet(TCCR2A, COM2A1);
    OCR2A = duty;
    return;
  }
}
Можно еще быстрее ногами рулить через регистры.

А по поводу фьюзов - лучше не трогать. Неизвестно, что за контроллер туда китайцы впаяли. Не оригинал, однозначно.
__________________
Опыт - это школа, в которой человек узнает, каким дураком он был раньше.
DK вне форума  
Непрочитано 13.06.2023, 09:14  
akegor
Гуру портала
 
Аватар для akegor
 
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 18,856
Сказал спасибо: 2,532
Сказали Спасибо 11,770 раз(а) в 5,896 сообщении(ях)
akegor на пути к лучшему
По умолчанию Re: ШИМ на Ардуино

Сообщение от DK Посмотреть сообщение
А по поводу фьюзов
Что программатор туда шьет (по галке) - "0" или "1"? Да и паршивка шьется через УАРТ, а значит - фьюзы на кварц собьют скорость и, ожидаемо, шиться средствами Абдурины перестанет.
Осваивайте нормальное программирование в Студии (там, кстати, очень дружественно организована работа с фьюзами, правда, при совместимом программаторе) или CV, он проще, начинать лучше с него.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
akegor вне форума  
Непрочитано 13.06.2023, 09:38  
mtit
Почётный гражданин KAZUS.RU
 
Аватар для mtit
 
Регистрация: 21.03.2007
Адрес: М.(осква)
Сообщений: 4,203
Сказал спасибо: 2,072
Сказали Спасибо 1,685 раз(а) в 956 сообщении(ях)
mtit на пути к лучшему
По умолчанию Re: ШИМ на Ардуино

Сообщение от lnee Посмотреть сообщение
плата Arduino-Nano) с кварцем на 16 МГц
Сообщение от lnee Посмотреть сообщение
Стал разбираться и оказалось, что заводские фьюзы настроены на 8 МГц внутреннего генератора и плюс делитель на 8, в окошке программатора (TL866A)
Сообщение от akegor Посмотреть сообщение
Что программатор туда шьет (по галке) - "0" или "1"?
Что-то странное Вы пишите. Я не настоящий Ардуинщик. Но не встречал того, чтобы при запаяном кварце тактирование было от внутреннего генератора.
Как правильно сказал akegor - перепроверьте "что" имеется виду под галочками в интерфейсе программатора. Или Вы путаете модель МК, для разных МК - разные наборы фьюзов отвечают за разные параметры.
Оффтоп:
Сообщение от lnee Посмотреть сообщение
программатора (TL866A)
Нестандартный выбор, обычно обходятся боле дешёвыми вариантами.
__________________
+ 7 903 641 87 25// 1. Иногда отвечаю "по памяти" 2. Часто заблуждаюсь >> Критикуйте, не обижусь.

Последний раз редактировалось mtit; 13.06.2023 в 09:42.
mtit вне форума  
Непрочитано 13.06.2023, 21:46  
lnee
Прохожий
 
Регистрация: 13.06.2023
Сообщений: 4
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
lnee на пути к лучшему
По умолчанию Re: ШИМ на Ардуино

в любом случае спасибо вам за ответы, постараюсь ответить на ваши:

DK - "А по поводу фьюзов - лучше не трогать. Неизвестно, что за контроллер туда китайцы впаяли. Не оригинал, однозначно. "
с этим пожалуй уже соласен

mtit -"программатора (TL866A) Нестандартный выбор, обычно обходятся боле дешёвыми вариантами. "
согласен что для ардуино лучше что то другое, но этот аппарат у меня уже давно и шью им разные микрухи.

Вот есть картинка окна программатора, таким образом фьюзы сами становятся на любой ардуинке
Нажмите на изображение для увеличения
Название: окно программатора.jpg
Просмотров: 0
Размер:	210.3 Кб
ID:	177060
а вот тут, уже и не вспомню из какой книги откапал этот калькулятор
Нажмите на изображение для увеличения
Название: FUSEcalc.jpg
Просмотров: 0
Размер:	285.7 Кб
ID:	177059
там в окошке все прописывается как будет настроен контроллер.

Еще раньше заметил, когда пытался подружить ардуино с компьютером по протоколу RS-232, на терминале в компьютере приходилось скорость ставить не 9600 бод как в коде ардуино, а 4800, только на таких условиях происходил нормальный обмен информацией

Код для ШИМа писал в программе Bascom-AVR а потом еще и в программе Atmel Studio 7 на Си, разницы ни какой

Последний раз редактировалось lnee; 13.06.2023 в 22:01.
lnee вне форума  
Непрочитано 14.06.2023, 01:42  
mtit
Почётный гражданин KAZUS.RU
 
Аватар для mtit
 
Регистрация: 21.03.2007
Адрес: М.(осква)
Сообщений: 4,203
Сказал спасибо: 2,072
Сказали Спасибо 1,685 раз(а) в 956 сообщении(ях)
mtit на пути к лучшему
По умолчанию Re: ШИМ на Ардуино

Сообщение от lnee Посмотреть сообщение
в окошке программатора (TL866A) убрал галочку делителя на 8 и контроллер совсем перестал программироваться, взял другой atmega328a (плата Mini Pro) заведомо рабочий и установил галочки на внешний кварцевый генератор и опять та же картина (контроллер совсем перестал программироваться).
Сообщение от lnee Посмотреть сообщение
Еще раньше заметил, когда пытался подружить ардуино с компьютером по протоколу RS-232, на терминале в компьютере приходилось скорость ставить не 9600 бод как в коде ардуино, а 4800, только на таких условиях происходил нормальный обмен информацией
Окей, 4800 вместо 9600 - это частота вдвое меньше.
Но у Вас теоретически выходит, что частота в 16 раз меньше должна быть. Загадка.

Нескромный вопрос: фьюзы Вы читали из МК? Или что программатор подсунул - тому и поверили?
Просто стоит набор фьюз - по умолчанию. Так они с конвейера сходят. В таком состоянии - наиболее безопасно, любой программатор запрограммирует, нет необходимости внешнее тактирование подавать, или кварц припаивать.
Я думаю, изначально стояли фьюзы на внешний кварц 16 МГц, Вы в результате экспериментов переключили на внутренний генератор. Сперва получили тактовую 1 МГц, потом убрали делитель, и получили 8 МГц. Но уже от внутреннего генератора.
Т.е. - это объяснение разницы частоты в 2 раза. Плохо то, что внутренний генератор недостаточно стабилен, даже для обмена с компьютером.
А вот почему перестали программироваться МК - вопрос. Т.е. теоретически если с 16 на 8 (или 1 МГц) перешли - могли перестать. А вот наоборот - ???
https://www.radiokot.ru/forum/viewto...f27oa451499232
Третья снизу картинка - стандартный набор, как на Ардуинках и стоит обычно. Прошейте так - должно работать, если кварц припаян.
__________________
+ 7 903 641 87 25// 1. Иногда отвечаю "по памяти" 2. Часто заблуждаюсь >> Критикуйте, не обижусь.
mtit вне форума  
Непрочитано 16.06.2023, 11:05  
МВА
Гражданин KAZUS.RU
 
Регистрация: 15.08.2010
Адрес: Днепр
Сообщений: 842
Сказал спасибо: 74
Сказали Спасибо 199 раз(а) в 174 сообщении(ях)
МВА на пути к лучшему
По умолчанию Re: ШИМ на Ардуино

Сообщение от lnee Посмотреть сообщение
Стал разбираться и оказалось, что заводские фьюзы настроены на 8 МГц внутреннего генератора и плюс делитель на 8, в окошке программатора (TL866A) убрал галочку делителя на 8 и контроллер совсем перестал программироваться, взял другой atmega328a (плата Mini Pro) заведомо рабочий и установил галочки на внешний кварцевый генератор и опять та же картина (контроллер совсем перестал программироваться).
Вообще-то фьюз CKDIV8 на программирование МК не должен влиять.
Большинство, не могу ручаться за все, программаторов при записи нуля во фьюз его программируют, а при записи 1 сбрасывают.
Программироваться МК перестает, если записать 1 в SPIEN (Это если программируешь по SPI, как это происходит в ардуино - не знаю.)
Для примера, на скриншоте, показан запрограммированный фьюз

PS. Совет. Если не трогал фьюз SPIEN - возьми дешевый программатор USBASP или любой другой, который шьет по SPI. и вернешь все фьюзы на место.
Миниатюры:
Нажмите на изображение для увеличения
Название: Рисунок2.png
Просмотров: 0
Размер:	53.0 Кб
ID:	177099  

Последний раз редактировалось МВА; 16.06.2023 в 11:38.
МВА вне форума  
 

Закладки
Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
STM32F051 и ШИМ kvark85 ARM 8 17.12.2013 05:17
Режимы сна Атмега-8 putmannn AVR 123 08.03.2013 15:30
ШИМ в STM32F4 sosedi Микроконтроллеры, АЦП, память и т.д 5 15.08.2012 12:20
Управление Сервой Mg995 Через Аппаратный Шим Vyazikov Микроконтроллеры, АЦП, память и т.д 16 06.04.2012 21:06
Проблема с аппаратным ШИМ в мега169 Archer07 Микроконтроллеры, АЦП, память и т.д 3 09.07.2010 15:40


Часовой пояс GMT +4, время: 20:10.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot