Перейти к содержимому

Фото
- - - - -

МК кто-нибудь программирует? PIC, AVR, ARM?


  • Вы не можете создать новую тему
  • Please log in to reply
313 ответов в этой теме

#1 Вырвиглаз

Вырвиглаз

    Убийца травы

  • Постоялец
  • 15 928 сообщений
  • Откуда:Эстония, Таллин

Отправлено 16 декабря 2009 - 03:26

Кто увлекается подобной темой, пишите сюда, будет интересно пообщаться. Какие отладчики используете, какие компиляторы. Наконец, какие устройства изобретаете?
  • 1
Кто живет и грешит в Эстонии, тот опять родится в Эстонии.

#2 klim1988

klim1988
  • Пользователь
  • 633 сообщений

Отправлено 16 декабря 2009 - 08:13

я собераюсь летом изучать плотненько. уже накачал литературы(отборной):)
А то ппц вообще, учусь на мехатроника а микроконтрллеры только в конце магистратуры изучают...охренели совсем.
  • 0

#3 Вырвиглаз

Вырвиглаз

    Убийца травы

  • Постоялец
  • 15 928 сообщений
  • Откуда:Эстония, Таллин

Отправлено 16 декабря 2009 - 16:33

Ну может они по старинке, на ассемблере учат. Тогда понятно, почему тянут. Без асма, конечно, не обойтись, но запустить первый мк в своей жизни можно и на коленке, без особой подготовки. Будут вопросы, спрашивай, помогу. Уже три года занимаюсь МК.
  • 0
Кто живет и грешит в Эстонии, тот опять родится в Эстонии.

#4 ParadoxL

ParadoxL
  • Постоялец
  • 5 023 сообщений
  • Откуда:Edinburg

Отправлено 16 декабря 2009 - 20:27

Вырвиглаз, если про ТТУ, то программируемые контролеры на третьем курсе проходят.
  • 0
Victoria nulla est, Quam quae confessos animo quoque subjugat hostes ...
Верю в смерть после жизни, любовь после секса и в крем после бритья ...

#5 Sergio

Sergio
  • Постоялец
  • 3 051 сообщений

Отправлено 16 декабря 2009 - 22:16

Я немного занимаюсь. Редко, времени нету. В основном AVR, на PICи забил.
Компилятор avr-gcc, что то другое использовать надобности не возникало. Да и хватает его сполна для AVR, контроллеры же примитивные по сегодняшним меркам.
  • 0

#6 Вырвиглаз

Вырвиглаз

    Убийца травы

  • Постоялец
  • 15 928 сообщений
  • Откуда:Эстония, Таллин

Отправлено 17 декабря 2009 - 22:05

Я сегодня впервые осуществил передачу данных по USB. Без всяких эмуляций ком портов. Сразу в чип. 480 мбит! Теперь буду один из своих проектов переводить на USB. Кстати, остановился на компиляторах от МикроЕ. На компе пишу в VB6, как и много лет назад.
  • 0
Кто живет и грешит в Эстонии, тот опять родится в Эстонии.

#7 krossvin

krossvin
  • Пользователь
  • 35 сообщений

Отправлено 18 декабря 2009 - 15:20

Ну наконец то что искал !! :rolleyes:
Вырвиглаз, не подскажешь с чего начать этим заниматься? Может есть какой нибуть учебник или самоучитель?
  • 0

#8 Вырвиглаз

Вырвиглаз

    Убийца травы

  • Постоялец
  • 15 928 сообщений
  • Откуда:Эстония, Таллин

Отправлено 18 декабря 2009 - 15:28

Ну наконец то что искал !! :rolleyes:
Вырвиглаз, не подскажешь с чего начать этим заниматься? Может есть какой нибуть учебник или самоучитель?

Три составляющих успеха
1) Программатор
2) Компилятор
3) Отладчик

Программатор нужен, чтобы с компа физически залить прошивку в устройство. Здесь важно выбрать такой программатор, который поддерживает тот МК, который тебе нужен. Далее ищем программу, которая будет его прошивать.

Компилятор - это среда разработки. В ней пишем программу и генерим прошивку. У меня их несколько, но сейчас использую от фирмы MikroE. Об этом позже.

В отладчике все это дело проверяем. Отладчик может быть программой, может быть отладочной платой. Я использую программу Proteus 7.6 SP0. Она удобна тем, что весь проект можно собрать, проверить, развести плату и проверить с реальной прошивкой и реальными параметрами.
Прикрепленный файл  an.png   59,61К   142 Количество загрузок
Я использую МК фирм PIC и Atmel. Сейчас собираюсь переходить на ARM7.
Учебник тебе не понадобится.
Я вечером выложу краткий ФАК, как запустить свой первый МК.

Сообщение изменено: Вырвиглаз (18 декабря 2009 - 15:29 )

  • 0
Кто живет и грешит в Эстонии, тот опять родится в Эстонии.

#9 Sergio

Sergio
  • Постоялец
  • 3 051 сообщений

Отправлено 24 декабря 2009 - 17:40

Я сегодня впервые осуществил передачу данных по USB. Без всяких эмуляций ком портов. Сразу в чип. 480 мбит! Теперь буду один из своих проектов переводить на USB. Кстати, остановился на компиляторах от МикроЕ. На компе пишу в VB6, как и много лет назад.

А что это за чип, который 480 Мбит по USB поддерживает? Колись :)
  • 0

#10 pikemon

pikemon
  • Новобранец
  • 17 сообщений

Отправлено 27 декабря 2009 - 00:15

После семестра изучения arvutid в Вирумааском Колледже решил попробовать сам что-то создать на основе микроконтроллера(ибо без практики как-то не совсем всё укладывается в голове).
Решил сделать игру - змейку. Игровое поле - матрица из светодиодов 10х10. Мигание лампочек осуществлять при помощи динамической индикации.
Управление - 4 кнопки.
Нарисовал такую схему.
Схему вырисовывать особо не старался, ибо ничего великого там не изображено, да и рисуют их, я чувствую, не в фотожопе.
Скажите, правильно ли я реализовал эту динамическую индикацию.
Идея такова - зажигать очень быстро, последовательно определенные светодиоды(согласно программе) в каждом столбце, начиная с первого.

И вообще кто где покупает/заказывает электронные запчасти, а именно микроконтроллер.

Прошу сильно не пинать, если что-то неправильно сказал или нарисовал.
  • 0

#11 Вырвиглаз

Вырвиглаз

    Убийца травы

  • Постоялец
  • 15 928 сообщений
  • Откуда:Эстония, Таллин

Отправлено 27 декабря 2009 - 00:34

Sergio, это скорость работы буфера приемо-передачи. Заполнять вы его будете все равно на предельной скорости работы МК.
pikemon, схема верная. Но паять запаришься )))) Да и прогу писать тоже. Надо начинать с чего-то более простого и нужного.
  • 0
Кто живет и грешит в Эстонии, тот опять родится в Эстонии.

#12 m1ha

m1ha
  • Постоялец
  • 752 сообщений

Отправлено 27 декабря 2009 - 01:46

После семестра изучения arvutid в Вирумааском Колледже решил попробовать сам что-то создать на основе микроконтроллера(ибо без практики как-то не совсем всё укладывается в голове).
Решил сделать игру - змейку. Игровое поле - матрица из светодиодов 10х10. Мигание лампочек осуществлять при помощи динамической индикации.
Управление - 4 кнопки.
Нарисовал такую схему.
Схему вырисовывать особо не старался, ибо ничего великого там не изображено, да и рисуют их, я чувствую, не в фотожопе.
Скажите, правильно ли я реализовал эту динамическую индикацию.
Идея такова - зажигать очень быстро, последовательно определенные светодиоды(согласно программе) в каждом столбце, начиная с первого.

И вообще кто где покупает/заказывает электронные запчасти, а именно микроконтроллер.

Прошу сильно не пинать, если что-то неправильно сказал или нарисовал.


Сообщение изменено: mi1ha (27 декабря 2009 - 18:26 )

  • 0

#13 Вырвиглаз

Вырвиглаз

    Убийца травы

  • Постоялец
  • 15 928 сообщений
  • Откуда:Эстония, Таллин

Отправлено 27 декабря 2009 - 06:38

Давайте, господа, выкладывайте готовые или начатые проекты. Перетрем, покумекаем. Интересная тема ведь.
  • 0
Кто живет и грешит в Эстонии, тот опять родится в Эстонии.

#14 pikemon

pikemon
  • Новобранец
  • 17 сообщений

Отправлено 27 декабря 2009 - 12:58

pikemon, схема верная. Но паять запаришься )))) Да и прогу писать тоже. Надо начинать с чего-то более простого и нужного.


Например? Что посоветуете сделать для начала?

И самое главное где вы покупаете запчасти, а то в Кохтла я знаю только один магазин - полюс. Микроконтроллеров там вроде нету, завтра еще позвоню и спрошу можно ли заказать.
Дома всю технику старую обсмотрел, микроконтроллеров много везде, но даташит нашел только для одного, думаю выпаять его нафиг.
Вот тут показывается как выпаять дедушкиным способов - выпайка
Как думаете, нормальный ли способ?

Сообщение изменено: pikemon (27 декабря 2009 - 12:59 )

  • 0

#15 Вырвиглаз

Вырвиглаз

    Убийца травы

  • Постоялец
  • 15 928 сообщений
  • Откуда:Эстония, Таллин

Отправлено 27 декабря 2009 - 16:22

pikemon, начни работу с покупки макетной платы. Лучше вот такой:
Размещенное изображение
Она для быстрого монтажа. Паять ничего не надо.
На ней собери, к примеру, динамическую индикацию, примени АЦП, кнопки поставь, сделай измеритель чего-угодно. Я начинал с измерения сопротивления аккумуляторов. Ставил полевик, он выступал в роли переменного резистора. На него выводил сигнал CCP (шим). Правда, я упростил себе задачу, дополнив схему стабилизатором тока на операционнике. Могу поделится схемой. Потом измеряешь падение напряжение и рассчитываешь внутреннее сопротивление.
Потом удалось купить двухстрочные экраны по цене 80р за штуку. Пожалел, что взял только парочку. С ними делать индикацию очень легко и просто. Да и хватает 6 выводов всего. И не надо занимать прерывания для моргания диодами. У меня на четырех семисегментных индикаторах получалось запускать индикацию так, что моргания не ощущалось совершенно.
Да, провода для макетной платы бери из витой пары. Они там идеально подходят. Я все проекты сначала на макетке собираю, если не уверен в схеме.

Сообщение изменено: Вырвиглаз (27 декабря 2009 - 16:26 )

  • 0
Кто живет и грешит в Эстонии, тот опять родится в Эстонии.

#16 pikemon

pikemon
  • Новобранец
  • 17 сообщений

Отправлено 29 декабря 2009 - 15:40

В Таллинне есть шанс приобрести сей агрегат?
  • 0

#17 Вырвиглаз

Вырвиглаз

    Убийца травы

  • Постоялец
  • 15 928 сообщений
  • Откуда:Эстония, Таллин

Отправлено 29 декабря 2009 - 18:21

Сегодня видел в ELFA. Цена порядка 300 кроней.
  • 0
Кто живет и грешит в Эстонии, тот опять родится в Эстонии.

#18 pikemon

pikemon
  • Новобранец
  • 17 сообщений

Отправлено 30 декабря 2009 - 20:29

Можете объяснить как правильно кнопки подсоединять.
http://chipenable.ru...ttons-to-micros
Вот тут прочитал, но не совсем понял. Разве нельзя поставить порт на ввод, напрямую соединить ножку с плюсом питания. Между ними кнопку. Когда кнопка нажата, то цепь замыкается и на ножке логическая единица. При необходимости поставить резистор?
  • 0

#19 Вырвиглаз

Вырвиглаз

    Убийца травы

  • Постоялец
  • 15 928 сообщений
  • Откуда:Эстония, Таллин

Отправлено 30 декабря 2009 - 20:43

Замыкать можно как угодно. Либо кнопкой тянуть резистор к земле, либо к плюсу. Можно обойтись и без подтягивающего (PULL UP) резистора, если такая возможность предусмотрена на конкретном МК. Для этого на AVR надо указать порт на ввод и установить в него единичку. Включится подтягивающий резистр на Vdd. Кнопку включать между портом и землей. С PIC сложнее. (кому как) Надо в определенный регистр прописать единичку на нужный порт, если такая возможность есть. На современных МК есть, на древних нема. Удачи!
  • 0
Кто живет и грешит в Эстонии, тот опять родится в Эстонии.

#20 Sergio

Sergio
  • Постоялец
  • 3 051 сообщений

Отправлено 30 декабря 2009 - 22:22

Между ними кнопку. Когда кнопка нажата, то цепь замыкается и на ножке логическая единица. При необходимости поставить резистор?

Не совсем так. Микроконтроллеру все равно, кнопка там или не кнопка. Ему важно напряжение на своей входной лапе. Если лапа замкнута на землю (напрямую или через резистор), то будет логический ноль. Если на питание - логическая единица. Но если лапа никуда не подключена - состояние на входе не определено. Это может быть ноль, единица, или постоянное чередование в труднопредсказуемой последовательности нулей и единиц.
Обычно соединяют через резистор на питание, и через кнопку на землю. Когда кнопка не нажата, на входе будет высокий уровень (лапа через резистор соединена с питанием). Когда нажата - низкий, поскольку сопротивление кнопки намного меньше сопротивления резистора (вспоминаем простейший делитель напряжения). Без резистра нельзя, будет коза при нажатии кнопки.
Можно и наоборот - резистор на землю, кнопку на питание, это не принципиально.
Для разных МК есть нюансы. Например, эти резисторы обычно имеются внутри МК, но они опциональны, их можно програмно подключать и отключать. Это для Atmel.
Самое главное - вход не должен висеть в воздухе.
  • 0

#21 ParadoxL

ParadoxL
  • Постоялец
  • 5 023 сообщений
  • Откуда:Edinburg

Отправлено 30 декабря 2009 - 22:42

Народ, расскажите реальное применение сией премудрости.
  • 0
Victoria nulla est, Quam quae confessos animo quoque subjugat hostes ...
Верю в смерть после жизни, любовь после секса и в крем после бритья ...

#22 Вырвиглаз

Вырвиглаз

    Убийца травы

  • Постоялец
  • 15 928 сообщений
  • Откуда:Эстония, Таллин

Отправлено 30 декабря 2009 - 22:49

Народ, расскажите реальное применение сией премудрости.

Прикрепленный файл  TL2.PNG   50,8К   104 Количество загрузок
Вот недавний мой проект. Pull-up резисторы внешние. R3,R8,R9 тянут входы А0,А1, А5 к земле. При нажатии кнопки на входы подается напряжение питания Vcc. Что есть логическая единица. Внутренние pull-up резисторы не используются т.к. на порт А они не предусмотрены, а переделывать мне лениво.
  • 0
Кто живет и грешит в Эстонии, тот опять родится в Эстонии.

#23 ParadoxL

ParadoxL
  • Постоялец
  • 5 023 сообщений
  • Откуда:Edinburg

Отправлено 30 декабря 2009 - 22:57

Вырвиглаз, вопрос был к тому ... как ты это используешь в реальной жизни. Там температуру в комнате поддерживает ... жалюзями управляет или еще что?
  • 0
Victoria nulla est, Quam quae confessos animo quoque subjugat hostes ...
Верю в смерть после жизни, любовь после секса и в крем после бритья ...

#24 Вырвиглаз

Вырвиглаз

    Убийца травы

  • Постоялец
  • 15 928 сообщений
  • Откуда:Эстония, Таллин

Отправлено 30 декабря 2009 - 23:03

Вырвиглаз, вопрос был к тому ... как ты это используешь в реальной жизни. Там температуру в комнате поддерживает ... жалюзями управляет или еще что?

Ну вот тебе реальное устройство. Часы, память, датчик температуры. Все вместе будет логгер. Часы с записью температуры окружающей среды с некоторым интервалом времени (минуты). При подключении к компу перегоняет данные в EXCEL и рисует график изменения температуры. Максимальное количество записей - 8000 измерений. Точность - 1 градус, 1 секунда в сутки. Функция сигнализации слабой батареи. Дружественный интерфейс, энергонезависимая память, литиевые аккумуляторы, низкое энергопотребление. По понятным причинам прошивку не выкладываю.
  • 0
Кто живет и грешит в Эстонии, тот опять родится в Эстонии.

#25 ParadoxL

ParadoxL
  • Постоялец
  • 5 023 сообщений
  • Откуда:Edinburg

Отправлено 30 декабря 2009 - 23:13

Респект ... я больше чем в разработке светофоров на развилке Кристине кескуса на участвовал :) (был заказ в ТТУ... делали). Но больше как практику.

А так наверно тема интересная. Но требует азарта.

Mitsubisi контролеры были.
  • 0
Victoria nulla est, Quam quae confessos animo quoque subjugat hostes ...
Верю в смерть после жизни, любовь после секса и в крем после бритья ...

#26 Вырвиглаз

Вырвиглаз

    Убийца травы

  • Постоялец
  • 15 928 сообщений
  • Откуда:Эстония, Таллин

Отправлено 30 декабря 2009 - 23:17

Без хорошей отладки ни один проект сложнее светофора не сделать. Я использую програмную отладку Proteus VSM 7.6 SP0. Он одинаково хорошо симулирует AVR, PIC, LTC, ARM и некоторые другие МК. Скачать можно на торрентах. В ней же и развожу, чтобы потом печатать, переводить, травить и лудить готовую плату. Такой вот процесс. Чаще всего стараюсь ставить на плату разъем внутресхемной отладки ICSP, чтобы потом можно было обновлять ПО. Ну и активно перехожу на SMD компоненты т.к. лениво дырки сверлить и место экономлю.
  • 0
Кто живет и грешит в Эстонии, тот опять родится в Эстонии.

#27 ParadoxL

ParadoxL
  • Постоялец
  • 5 023 сообщений
  • Откуда:Edinburg

Отправлено 30 декабря 2009 - 23:48

Вырвиглаз, :) опух.
  • 0
Victoria nulla est, Quam quae confessos animo quoque subjugat hostes ...
Верю в смерть после жизни, любовь после секса и в крем после бритья ...

#28 pikemon

pikemon
  • Новобранец
  • 17 сообщений

Отправлено 05 января 2010 - 15:15

Решил попробовать сделать динамическую индикацию в Протеусе из светодиодов 10x10 по той схеме, которую я раньше выкладывал. Элементы расставил как нужно, программу, которая бы зажигала светодиоды последовательно, проверяя значения из созданного массива, написал на С в СAVR. Но вот при эмуляции в протеусе светодиоды загораются слишком медленно(не получается целостная картинка), но всётаки правильно. Вот хотел спросить, это моя вина что я что-то не так сделал или всётаки косяк в протеусе и на реальном устройстве должно зажигаться нормально?
  • 0

#29 Вырвиглаз

Вырвиглаз

    Убийца травы

  • Постоялец
  • 15 928 сообщений
  • Откуда:Эстония, Таллин

Отправлено 05 января 2010 - 18:45

Решил попробовать сделать динамическую индикацию в Протеусе из светодиодов 10x10 по той схеме, которую я раньше выкладывал. Элементы расставил как нужно, программу, которая бы зажигала светодиоды последовательно, проверяя значения из созданного массива, написал на С в СAVR. Но вот при эмуляции в протеусе светодиоды загораются слишком медленно(не получается целостная картинка), но всётаки правильно. Вот хотел спросить, это моя вина что я что-то не так сделал или всётаки косяк в протеусе и на реальном устройстве должно зажигаться нормально?

Сообщение о том, что программа не работает в реальном времени появляется?
Фузы и частоту на МК в протеусе установил верно?
Dead time не забыл? (время свечения должно быть выше времени не свечения)
Помочь с программой не могу т.к. на С не пишу и с AVR почти не связываюсь.
Мой выбор - микрочип. Их документация понятнее. Лучше быть хорошим программистом одних МК, чем плохим всех.
ЗЫ выложи проект, подумаем.

Сообщение изменено: Вырвиглаз (05 января 2010 - 18:46 )

  • 0
Кто живет и грешит в Эстонии, тот опять родится в Эстонии.

#30 Junk1e

Junk1e
  • Постоялец
  • 793 сообщений
  • Откуда:Тарту

Отправлено 08 января 2010 - 13:54

Я вечером выложу краткий ФАК, как запустить свой первый МК.

Где обещаный фак? :)

Очень заинтересовала тема в своё время, но не углубился тогда к сожалению.
  • 0