Программирование контроллеров

nigyl

Добрый день!
я в этом деле новичок… но знаю основы электроники и С++…
Цель такая к АЦП контроллера подвести датчики и при уровне сигнала ниже необходимого нужно подать 3В на выход…

перерыл интернет…нашел много интересных книг…но к сожалению большинство уже устарело… а остальные для Асемблера…

Правильно ли я вообще понимаю суть: покупаем контроллер (хотелось бы атмел мега (какой незнаю… наверное 8 подойдет?)), затем паяем программатор(поо одной из кучи схем)… и затем подключаем к компу и пишем программу в контроллер… так?

и кстати… если мы паяем программатор…для него тоже нужжен контроллер? или программаторы есть и без них? а если нужен …то как его запрограммировать?..

подскажите что не так?
и посоветуйте статью или книгу, где расписана реализация похожей на мою схему вместе с программатором и на С++…

ukkr

Программатором у вас является компьютер. Вариантов подключения море, от самого примитивного “5 проводов” в LPT порт, заканчивая USBишными. По поводу С++ – советую начать изучать чем отличается С от С++. Ну и смотреть на конкретные Сшные компиляторы под АТМЕЛ. 😃
Для начала покурить сайты типа avr123.nm.ru и easyelectronics.ru
Дальше тратите пару часов и имеете свой результат.

nigyl

ну мне хорошо бы ком или usb…

в чем разница знаю… я С++ учил…и писал на нем софт…только вот не для АРМ…

Можно поподробнее на счет программаторов…сосхемами…
и на счет остального тоже… сайты щас буду крутить…

leprud

А может проще будет чисто аналоговую схему сделать, без микроконтроллера?

mikki

Кстати да… на компараторах можно собрать такой девайс)))

nigyl

нет…мне пока надо для этой задачи…но потом еще понадобиться… так что надо научится… чем можете помогите…

МаркАнтоний

Предлогаю почитать вот этот форум Algoritm Bilder for AVR. Там рассказывается и обсуждается замечательная среда програмирования на атмелах. Мне очень нравится эта среда, понятна на интуитивном уровне! Очень советую.

nigyl

ок… программно это принемаем…
теперь по железу… подскажите…что надо…? можно ли купить программатор…или его просто спаять? какая схем?..

(для моей задачи мега 8 подойдет?)если да…то какой для него програматор брать или паять? нужен ли отладчик?

МаркАнтоний
nigyl:

ок… программно это принемаем…
теперь по железу… подскажите…что надо…? можно ли купить программатор…или его просто спаять? какая схем?..

(для моей задачи мега 8 подойдет?)если да…то какой для него програматор брать или паять? нужен ли отладчик?

В той программе что описывается по ссылке что я выложил выше. Используется прогамматор из пяти резисторов и диодов подключённых к ком порту. Про это можно почитать в мануале к программе Algoritm Bilder.

Я считаю что мега 8 это перебор можно взять из из семейства Тини любой.

nigyl

просто с мегой я немного знаком… и лучше на ней остановиться…

leprud

Если не жалко немного переплатить - можно взять любой Arduino, прошивка заливается по юсб, вся обвязка уже есть…

Enigm

Flowcode тоже интересная прога и по мне гораздо удобнее Algoritm Bilder принципы програмирования такиеже

nigyl

так… у нас куча прог… которые мне как таковые нафиг не нужны… т.к. 2 датчика я и на С++ с небольшой помощью подключу…

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

leprud:

А может проще будет чисто аналоговую схему сделать, без микроконтроллера?

а про это еще не расскажите подробнее?

всего 2-4 датчика …и столько же выходов…в зависимости от датчиков…

как будет фса выглядеть? кто подскажет?

Syberian
nigyl:

что брать, что паять, что прошивать?

брать Мега48, на макетке предусмотреть выводы от чипа на программатор MOSI MISO SCK RESET GND
паять элементарнейший ISP программатор Uniprof через СОМ-порт avr.nikolaew.org/progr.htm
прошивать полученный из Codevision или чего угодно другого, путем компиляции, HEX-файл.

nigyl

спс… очень точно и коротко…

брать Мега48, на макетке предусмотреть выводы от чипа на программатор MOSI MISO SCK RESET GND

а можно поподробнее про это?

EagleB3

Если цель = освоить AVR, то очень советую вооружиться следующими вещами:
CodeVisionAVR C compiler
Proteus VSM
Программатор (если есть порт LPT) = Altera ByteBlaster или STK 200/300 (или любой из описанных здесь). Программаторы есть разные, некоторые имеют внутри себя микроконтроллер, который должен быть запрограммирован. Некоторые - только провода. STK200/300 - буферную микросхему с Z-состоянием выходов; программирование закончилось - она “лапки поджала” и нет ее (не оказывает никакого влияния на микроконтроллер. И порт компьютера защищает за одно). Рисунков печатной платы для него в интернете множество. Один мой знакомый его вообще навесным монтажом собрал, но это уже маньячество.
Глубокое IMHO, к которому очень советую прислушаться: Любой программатор, не имеющий нормального источника питания (хотя бы от разъема USB ), должен комплектоваться текстами молитв и схемами удара в шаманский бубен. Если их не приложено - игнрировать эту схему сразу.
Книги:
Евстифеев “Микроконтроллеры семейств Tiny и Mega фирмы ATMEL” (по сути перевод даташитов; ничего лишнего - тем и ценен).
Голубцов “Микроконтроллеры AVR: от простого к сложному” (вот здесь будет подробно как начать - как чем скомпилировать программу, как подключить программатор и микроконтроллер к программатору, и т.п.).
Лебедев “CodeVision AVR Пособие для начинающих” (пособия я там не увидел; КМК, чисто перевод родного мануала. Тоже хорошо…).
Обе книги есть в сети в формате djvu как минимум.

Какой микроконтроллер взять - а это зависит от задач. В частности, от требуемого количества каналов АЦП. “Выдать 3 вольта” - либо будет выдано напряжение питания (низковольтные версии с буквой “V” работают при минимальном напряжении питания 2,8В), либо делать ШИМ на одном из выходов и строить на нем простейший ЦАП (конденсатор повесить…).
Пока в постановке задачи описан почти классический сигнализатор разряда борта. Здесь надо что-нибудь маленькое и легкое, типа ATiny24V (или даже ATiny45). Если это и впрямь так - могу дать готовый проект (с исходниками в CVAVR и моделью в Proteus). Уже дошел до изготовления платы - да мне готовый китайский подарили.

Вопросы что, как, где взять - пишите в личку.

P.S. Вот этот программатор посложнее, и требует запрограммированную ATMEGA8, но зато:

  1. Это USB-программатор;
  2. Он совместим с AVRISP/STK500, его поддерживает AStudio. И CVAVR тоже.
  3. Есть прошивка, которая позволяет получать отладочную информацию прямо по шинам программирования (и, вдобавок, подстраивает версию его прошивки до требуемой средой AStudio).