Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: ADC и PWM
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Shivers
Всем привет!
Возникла необходимость использовать мк в домашнем проекте, остановился на AVR. Нужна помощь в выборе.
Задача:
1. оцифровать аналоговый сигнал (диапазон сделаю какой потребуется, например 0- VCC, сниматься будет с переменного резистора, частота выборок - 2-4 в секунду, разрядность >8 бит).
2. значение надо передать по двужильному кабелю (хотелось бы кодировать в PWM).
3. вторым мк надо принять сигнал и вывести на двуразрядный 7ми сегментный индикатор.

Изучил документацию на доступные (покупать собираюсь в митраконе) ATtiny13V-10SUTR (SO8) в качестве АЦП, и ATtiny2313A-SU (SO20) в качестве дешифратора для индикатора. Но поскольку предмет для меня совершенно новый, и 100% ясности в документации не возникает, требуется совет:

Вопрос 1, по ATtiny13: В доке написано, что у него есть внутренний ADC 10 бит. Там же указано, что он может работать в режиме автозапуска и выплевывает результат раз в 14 тактов. Кто нибудь использовал, работает?
Вопрос 2 по выдаче PWM наружу: В доке указана возможность работы внутреннего счетчика в режиме PWM. Не очень понятно, как он работает и как его обслуживать, может кто то обьяснит?
Вопрос 3, как мне ловить PWM сигнал по входу: можно ли использовать какой то внутренний счетчик/преобразователь PWM в значение, или придется писать весь алгоритм преобразования самому?
И последний вопрос - стоит ли использовать под мою задачу внутренний генератор 128кГц, или мк будет работать слишком медленно (для пересылок 2-4 выборок в секунду)?

Спасибо!
Mareng
Цитата(Shivers @ Nov 18 2011, 15:19) *
Вопрос 2 по выдаче PWM наружу

Лучше использовать для этих целей UART с соответствующим драйвером(232 или 485). Будет и проще, и надежнее(можно контролировать целостность данных).
Предлагаю заменить мк на STM8 самый простой - это дешевле, удобнее и перспективнее.
Shivers
Цитата(Mareng @ Nov 18 2011, 11:46) *
Лучше использовать для этих целей UART с соответствующим драйвером(232 или 485). Будет и проще, и надежнее(можно контролировать целостность данных).
Предлагаю заменить мк на STM8 самый простой - это дешевле, удобнее и перспективнее.

Спасибо!
Я новичек в мк, прошивку буду писать первый раз, не слишком ли сложно будет работать с UART? Или это просто, что то вроде: на выдаче данные опустил в регистр, а на приеме по получении прерывания принял?
За совет спасибо, присмотрюсь к STM. Хотя цена вопроса и 50р/шт в случае AVR меня вполне устраивает, я ведь не серию делаю.
Mareng
Цитата(Shivers @ Nov 18 2011, 16:21) *
Или это просто, что то вроде: на выдаче данные опустил в регистр, а на приеме по получении прерывания принял?

Примерно так.
STM8 значительно современее и более функционален. Если что-то изучать, то только не AVR, это уже история.
hd44780
Цитата(Mareng @ Nov 18 2011, 13:44) *
STM8 значительно современее и более функционален. Если что-то изучать, то только не AVR, это уже история.


Может и так. Но AVR на любой помойке валяются, а Ваши STM найти тяжело.
У нас их, например, просто нету ... А заказывать - да ну их в пень biggrin.gif ....

Да и ради единичного девайса изучать новую архитектуру. Если AVR уже знаешь конечно ...
Shivers
Цитата(Mareng @ Nov 18 2011, 13:44) *
Примерно так.
STM8 значительно современее и более функционален. Если что-то изучать, то только не AVR, это уже история.

Вот это для меня очень весомый аргумент, спасибо! cheers.gif
Подобрал STM8S103F3 с ADC и UART внутри, стоит те же 50р/шт в митраконе. Корпус здоровый, правда, и переизбыточность сильная по функционалу, но в целом пожалуй и правда лучше AVRа будет, и программировать проще: заведу обработчик прерываний, на передатчике буду прерывание с АЦП ловить и данные в uart пересылать, а на приемнике буду прерывание с uart ловить и пересылать на параллельный порт/индикацию. Супер!
Mareng
Цитата(Shivers @ Nov 18 2011, 18:29) *
Корпус здоровый, правда

TSSOP20 довольно мелкий
hd44780
Цитата(Shivers @ Nov 18 2011, 14:29) *
Подобрал STM8S103F3 с ADC и UART внутри .... правда лучше AVRа будет


Дело Ваше конечно, но ADC и UART и в AVR-ах почти во всех есть. И корпуса всякие тоже.
И по прерываниям они прекрасно умеют работать.
ILYAUL
Цитата
3. вторым мк надо принять сигнал и вывести на двуразрядный 7ми сегментный
индикатор.

Очень интересно , как Вы для этой цели будете использовать PWM
Напишите прогу поделитесь.
Цитата
или придется писать весь алгоритм преобразования самому?

Самому и для выбраного Вами тоже. Но судя по Вашим вопросам в первую очередь почитать литературу , про всё что Вас так интересует.
hd44780
Цитата(ILYAUL @ Nov 18 2011, 21:38) *
Очень интересно , как Вы для этой цели будете использовать PWM
Напишите прогу поделитесь.


Есть такая партия прога - http://guarda.ru/guarda/data/control_panel/txt_34.php
Правда там связь не по проводку, а по радиоканалу, но, думаю, суть не меняется.
Алгоритмы кодирования-декодирования я "передрал" в свой проект на 100%, заменив при этом контроллер приёмника на Mega32 - завелось с пол-оборота.

Другое дело стоит ли париться с этим PWM, если есть UART..
Navovvol
PWM - это ведь ШИМ ? или я что-то путаю ? как можно управлять 7ми сегментным индикатором через ШИМ ? это невозможно. Зачем вообще два микроконтроллера ? одного вполне хватит. Одна атмега128, дисплей HD44780 совместимый и клава в 9 кнопок, готовые решения в инете по управлению всем этим и можно даже миникомпьютер делать. За 2 месяца можно вызубрить Atmega и Atxmega, в том числе пайка и assembler.
P.S. Правда у меня без дыма не обошлось )))
hd44780
Он через ШИМ хочет не дисплеем управлять, а данные с одного МК на другой передать.
Navovvol
Цитата(hd44780 @ Nov 21 2011, 18:21) *
Он через ШИМ хочет не дисплеем управлять, а данные с одного МК на другой передать.

Ого! Это что-то необычное. Впервые слышу что бы кто-то делал что-то подобное. Даже не могу представить алгоритм сея дей-я
hd44780
Цитата(Navovvol @ Nov 22 2011, 08:15) *
Впервые слышу что бы кто-то делал что-то подобное. Даже не могу представить алгоритм сея дей-я


Такое делают для радиоканала - http://electronix.ru/redirect.php?http://g...anel/txt_34.php
Проверял лично, оно работает.
Сергей Борщ
QUOTE (Navovvol @ Nov 22 2011, 08:15) *
Впервые слышу что бы кто-то делал что-то подобное.
"О сколько нам открытий чудных... " Широко используется в датчиках, например - датчики температуры TMP05, TMP06
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.