реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> ADC и PWM, вопрос по выбору и функциональности мк
Shivers
сообщение Nov 18 2011, 08:19
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 680
Регистрация: 11-02-08
Из: Msk
Пользователь №: 34 950



Всем привет!
Возникла необходимость использовать мк в домашнем проекте, остановился на 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 выборок в секунду)?

Спасибо!
Go to the top of the page
 
+Quote Post
Mareng
сообщение Nov 18 2011, 08:46
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 53
Регистрация: 19-02-07
Пользователь №: 25 487



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

Лучше использовать для этих целей UART с соответствующим драйвером(232 или 485). Будет и проще, и надежнее(можно контролировать целостность данных).
Предлагаю заменить мк на STM8 самый простой - это дешевле, удобнее и перспективнее.
Go to the top of the page
 
+Quote Post
Shivers
сообщение Nov 18 2011, 09:21
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 680
Регистрация: 11-02-08
Из: Msk
Пользователь №: 34 950



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

Спасибо!
Я новичек в мк, прошивку буду писать первый раз, не слишком ли сложно будет работать с UART? Или это просто, что то вроде: на выдаче данные опустил в регистр, а на приеме по получении прерывания принял?
За совет спасибо, присмотрюсь к STM. Хотя цена вопроса и 50р/шт в случае AVR меня вполне устраивает, я ведь не серию делаю.
Go to the top of the page
 
+Quote Post
Mareng
сообщение Nov 18 2011, 10:44
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 53
Регистрация: 19-02-07
Пользователь №: 25 487



Цитата(Shivers @ Nov 18 2011, 16:21) *
Или это просто, что то вроде: на выдаче данные опустил в регистр, а на приеме по получении прерывания принял?

Примерно так.
STM8 значительно современее и более функционален. Если что-то изучать, то только не AVR, это уже история.
Go to the top of the page
 
+Quote Post
hd44780
сообщение Nov 18 2011, 11:18
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 26-08-05
Из: Донецк, ДНР
Пользователь №: 7 980



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


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

Да и ради единичного девайса изучать новую архитектуру. Если AVR уже знаешь конечно ...

Сообщение отредактировал hd44780 - Nov 18 2011, 11:22


--------------------
Чтобы возить такого пассажира, необходим лимузин другого класса.
(с) Мария Эдуарда
Go to the top of the page
 
+Quote Post
Shivers
сообщение Nov 18 2011, 11:29
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 680
Регистрация: 11-02-08
Из: Msk
Пользователь №: 34 950



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

Вот это для меня очень весомый аргумент, спасибо! cheers.gif
Подобрал STM8S103F3 с ADC и UART внутри, стоит те же 50р/шт в митраконе. Корпус здоровый, правда, и переизбыточность сильная по функционалу, но в целом пожалуй и правда лучше AVRа будет, и программировать проще: заведу обработчик прерываний, на передатчике буду прерывание с АЦП ловить и данные в uart пересылать, а на приемнике буду прерывание с uart ловить и пересылать на параллельный порт/индикацию. Супер!
Go to the top of the page
 
+Quote Post
Mareng
сообщение Nov 18 2011, 16:53
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 53
Регистрация: 19-02-07
Пользователь №: 25 487



Цитата(Shivers @ Nov 18 2011, 18:29) *
Корпус здоровый, правда

TSSOP20 довольно мелкий
Go to the top of the page
 
+Quote Post
hd44780
сообщение Nov 18 2011, 17:24
Сообщение #8


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 26-08-05
Из: Донецк, ДНР
Пользователь №: 7 980



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


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

Сообщение отредактировал hd44780 - Nov 18 2011, 17:25


--------------------
Чтобы возить такого пассажира, необходим лимузин другого класса.
(с) Мария Эдуарда
Go to the top of the page
 
+Quote Post
ILYAUL
сообщение Nov 18 2011, 18:38
Сообщение #9


Профессионал
*****

Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339



Цитата
3. вторым мк надо принять сигнал и вывести на двуразрядный 7ми сегментный
индикатор.

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

Самому и для выбраного Вами тоже. Но судя по Вашим вопросам в первую очередь почитать литературу , про всё что Вас так интересует.


--------------------
Закон Мерфи:

Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
Go to the top of the page
 
+Quote Post
hd44780
сообщение Nov 21 2011, 11:45
Сообщение #10


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 26-08-05
Из: Донецк, ДНР
Пользователь №: 7 980



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


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

Другое дело стоит ли париться с этим PWM, если есть UART..


--------------------
Чтобы возить такого пассажира, необходим лимузин другого класса.
(с) Мария Эдуарда
Go to the top of the page
 
+Quote Post
Navovvol
сообщение Nov 21 2011, 11:48
Сообщение #11


Частый гость
**

Группа: Участник
Сообщений: 105
Регистрация: 9-09-11
Пользователь №: 67 080



PWM - это ведь ШИМ ? или я что-то путаю ? как можно управлять 7ми сегментным индикатором через ШИМ ? это невозможно. Зачем вообще два микроконтроллера ? одного вполне хватит. Одна атмега128, дисплей HD44780 совместимый и клава в 9 кнопок, готовые решения в инете по управлению всем этим и можно даже миникомпьютер делать. За 2 месяца можно вызубрить Atmega и Atxmega, в том числе пайка и assembler.
P.S. Правда у меня без дыма не обошлось )))
Go to the top of the page
 
+Quote Post
hd44780
сообщение Nov 21 2011, 15:21
Сообщение #12


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 26-08-05
Из: Донецк, ДНР
Пользователь №: 7 980



Он через ШИМ хочет не дисплеем управлять, а данные с одного МК на другой передать.


--------------------
Чтобы возить такого пассажира, необходим лимузин другого класса.
(с) Мария Эдуарда
Go to the top of the page
 
+Quote Post
Navovvol
сообщение Nov 22 2011, 05:15
Сообщение #13


Частый гость
**

Группа: Участник
Сообщений: 105
Регистрация: 9-09-11
Пользователь №: 67 080



Цитата(hd44780 @ Nov 21 2011, 18:21) *
Он через ШИМ хочет не дисплеем управлять, а данные с одного МК на другой передать.

Ого! Это что-то необычное. Впервые слышу что бы кто-то делал что-то подобное. Даже не могу представить алгоритм сея дей-я
Go to the top of the page
 
+Quote Post
hd44780
сообщение Nov 22 2011, 07:02
Сообщение #14


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 26-08-05
Из: Донецк, ДНР
Пользователь №: 7 980



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


Такое делают для радиоканала - http://electronix.ru/redirect.php?http://g...anel/txt_34.php
Проверял лично, оно работает.


--------------------
Чтобы возить такого пассажира, необходим лимузин другого класса.
(с) Мария Эдуарда
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Nov 22 2011, 10:10
Сообщение #15


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (Navovvol @ Nov 22 2011, 08:15) *
Впервые слышу что бы кто-то делал что-то подобное.
"О сколько нам открытий чудных... " Широко используется в датчиках, например - датчики температуры TMP05, TMP06


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 19:32
Рейтинг@Mail.ru


Страница сгенерированна за 0.0148 секунд с 7
ELECTRONIX ©2004-2016