Форум myROBOT.ru » Лаборатория » Микроконтроллеры » Управляющие сигналы от COM к МК

Страниц (2): [1] 2 »
 

1. Elbrus - 12 Января, 2011 - 12:01:29 - перейти к сообщению
Всем доброго времени суток. Сам не собрал ни одной схемы/платы на МК, но думаю со всеми мануалами на сайте, проблем не возникнет. На днях как раз пойду в магазин скупаться, и паять. А теперь к сути вопроса.
В дальнейшем будет необходимо подавать управляющие сигналы с COM порта, а в дальнейшем и ответы от МК на ПК через тот же COM порт. Может кто сталкивался с проблемой, или даже эффективно ее решил, просьба ткнуть в мануал, урок либо еще какую литературу. Желательно понятную для не дурака, но полного новичка.
Естественно нужно будет "разрабатывать" свой протокол передачи команд. Сама проблема в другом, пока видел лишь то как в коде опрашивают вход, но так можно сигнал и пропустить, наверняка нужно привязываться к прерываниям, мол сюда пришло то-то и то-то. Вот тут еще понял-вспомнил, что похоже очень критична синхронизация ПК и контролера/МК.

Жду ответов, заранее благодарен.
2. cjA - 12 Января, 2011 - 13:15:02 - перейти к сообщению
(синхронизация не критична, а вот байты бывает битыми приходят, так что тут дублирование данных нужно. А СОМ в атмелях аппаратно реализован)
3. Elbrus - 12 Января, 2011 - 13:19:02 - перейти к сообщению
Спасибо, если я правильно Вас понял, нужно читать мануал по самим МК.
4. lamakazzz - 12 Января, 2011 - 13:21:53 - перейти к сообщению
Надо сначала определиться, что хотим получить, оттолкнувшись от этого искать МК, который наиболее удовлетворяет запросу, а потом уже курить даташит по нему
5. Elbrus - 12 Января, 2011 - 13:35:45 - перейти к сообщению
Спасибо, а по каким критериям отсеивать МК?

В конечном варианте это будет управление двигателями, возможно тормозами, подсчет пройденного расстояния, возможно анализ датчиков, формирующих, что то вроде ИК бампера.
А принцип таков обмена с ПК таков, ПК "говорит":
- включи двигатель-2 на такую то мощность(условно), и контролер, до новых указаний для двигателя-2 обеспечивает через драйвер двигателя, необходимую работу.
- скажи сколько проехала левая гусеница, и контролер отправляет ответ.
Все в таком духе.

По основным параметрам(ноги, кол-во ног с ШИМ и прочее) приглянулся ATtiny461-20PU, что скажите?
(Добавление)
Похоже он не подойдет. Если правильно въехал в то что успел найти и прочитать, нужна поддержка контролером, USART.
6. lamakazzz - 12 Января, 2011 - 14:25:59 - перейти к сообщению
ATtiny461-20PU - если не ошибаюсь то там токо SPI

Можно взять заведомо более мощный МК, чтобы хватило на всё про всё/
Вы посчитайте, сколько каналов ШИМ необходимо, будете ли Вы использовать аппаратный или программный ШИМ? обратите внимание на семейство Мега.
всем обычно хватает Меги8, усарт там есть
а 16 меги будет за глаза ИМХО, апче хватит даже на будущее
пусть знатоки меня поправят, а то мож я чё то не то написал.
7. Elbrus - 12 Января, 2011 - 14:56:52 - перейти к сообщению
Спасибо, сейчас гуглил, и пришел к тем же выводам.
Может кому понадобиться, нашел, похоже, неплохие уроки по МК AVR и в частности рассматривается моя проблема, насколько тщательно не смотрел, читать буду с самого начала.
Вот ссылочка http://www.123avr.com/z5.htm
8. lamakazzz - 12 Января, 2011 - 16:05:24 - перейти к сообщению
дада, тут многи енаслышаны о курсе 123 Голливудская улыбка
9. Elbrus - 12 Января, 2011 - 16:25:21 - перейти к сообщению
Я не слышал, так хороший курс, стоит читать?
10. lamakazzz - 12 Января, 2011 - 16:28:38 - перейти к сообщению
конечно почитайте, если уже имеете представление о МК, а если нет, то всё таки лучше с курса шаг за шагом
чем больше информации узнаете, тем лучше
11. Elbrus - 12 Января, 2011 - 16:32:56 - перейти к сообщению
С курсом "Шаг за шагом" ознакомился, пусть еще не паял. Буду читать дальше, пока ноги до магазина не доведут, и не куплю все нужное.
Знания общие то есть, и на С пишу, и Асм в руки брал, так что больше учу особенности работы с МК.
Думаю справлюсь. Спасибо за советы.
12. lamakazzz - 12 Января, 2011 - 16:45:12 - перейти к сообщению
Лучше начинать с простого
Можно сказать Хелоу ворлд - этот шаг за шагом, там доступнее написано для начала работы с МК.

так вот попробуйте писать совсем простые программы. обязательно везде ствавьте комментарии
для начала наверно нужно понять как и зачем конфигурировать порты МК (определять их на вход/выход, запись значения)
потом надо понять, что программа может работать в цикле, а может выполниться один раз.
поэтому если в цикле, то надо правильно спроектировать этот цикл и продумать все возможные варианты выхода из цикла (если такие нужны).
надо понять, что есть таймеры, научиться с ними работать, конфигурировать и использовать их в своих целях
затем надо понять что есть прерывания, которые при определенных условиях могут вмешиваться в основную работу, надо понять зачем они нужны и как их использовать в своих целях
ну и так далее

то я конечно поумничал, но на самом деле у меня много времени ушло на осознание того, как правильно конфигурировать порты и того, как сделать все задуманные задачи в бесконечном цикле (мож ко мне просто туго доходит Голливудская улыбка)
13. Elbrus - 12 Января, 2011 - 16:58:21 - перейти к сообщению
Примерно так и планирую, диодом помигать, на сенсор отреагировать, а то что я в самой теме спрашивал, эт так на будущее.
И про цикл работы МК представление имею. С прерываниями в самых общих чертах, знаком, правда не для МК, так что нужно и тут почитать. А про таймеры и ШИМ и вовсе ничего не знаю. Так что буду курить мануалы и туториалы.

И вот такой вопрос не большой, может и задавался, но искать долго.
Разница между аппаратным и программным ШИМ-ом. Правильно ли я понял, что если указана поддержка n каналов с поддержкой ШИМ, то мы можем просто "сказать" сюда подавай с такой скважностью(если не путаю понятие), и будет нам счастье. А программно, это когда указано, что не поддерживается, и мы сами подаем импульсы на ногу с необходимым соотношением длинны сигналов. И программный метод хоть и реализуем, но не кошерен, ибо занимает процессорное время(вроде бы так именуется).
14. nest - 12 Января, 2011 - 20:29:13 - перейти к сообщению
Elbrus пишет:
А принцип таков обмена с ПК таков, ПК "говорит":
- включи двигатель-2 на такую то мощность(условно), и контролер, до новых указаний для двигателя-2 обеспечивает через драйвер двигателя, необходимую работу.
- скажи сколько проехала левая гусеница, и контролер отправляет ответ.
Все в таком духе.
мой DUMOC как раз это всё делает. Вся документация и описание комманд прилагается. Собирайте.
15. Elbrus - 12 Января, 2011 - 20:41:08 - перейти к сообщению
Спасибо, буду читать.