Сервотестер

Blaster

Jeti я свами согласен на все 300% 😃
Спасибо за напоминания 😒

ubd

Если надо выложу минимальный набор которым я пользуюсь.

jeti, если можно выложи пожалуйста. И напиши с чего ты начинал, изучать микроконтроллеры.

В общем то у меня та же проблема, что и у Бластера. Только я схемы на микрокантроллерах собираю запросто, но программы конечно беру чужие. И программаторы у меня есть разные для разных контроллеров.
Сколько брался изучать контроллер, как то не получается, в голову ничего не лезет. Не могу понять логику СИ, или ассемблера.
Вообще то я в детстве очень хорошо знал Бейсик, писал довольно таки сложные программы, участвовал в олимпиадах, в школе. Позже Пасклем увлекался, написал пару программ, и из-за ненадобности перестал писать программы.
Но вот СИ для меня, тёмный лес. Тем более Ассемблер…
Вообще, с чего начать. Я имею в виду, какую книгу, лучше купить, для начинающих. Про сайт AVR123.ru, знаю. Может с него начать? Но там почему то советуют начинать с ATMega 128, говорят что с этого проца, запросто можно перейти на процы по проще, на подобие ATtiny12.
Вообще мены интерисует только модельная электроника, соответсвенно как програмно в проце обработать канальный импульс, что бы при определённой длительности импульса, появлялась лигическая единица, на выходе проца, и т.д.

Кстати, можно с Бластером скооперироваться, и вместе изучать процы. Две головы, лучше чем одна…

Алксандр
ubd:

jeti, если можно выложи пожалуйста. И напиши с чего ты начинал, изучать микроконтроллеры.

Вот тут на русском - полное описание на МК атмега128. Все остальные контроллеры серии “атмега” в целом абсолютно такие же, отличаются набором периферии (кол-во портов, счетчиков и тд). А по сути и по управлению - на 90% тоже самое. Разница бывает в названии регистров и битовых полей. Но КАК все работает - тут все понятно. Бывает полезно, если на английском что-то не понятно.
www.gaw.ru/html.cgi/txt/doc/micros/…/index.htm

Для написания софта и первоначального конфигурирования проца я раньше использовал CodeVisionAVR. В нем есть CodeWizardAVR - Automatic Program Generator, который создает первоначальное конфигурирование портов процессора, интерфейсов и тд. и на выходе создает проект на С, в котором функция main() выглядит как
main()
{

// поместите свой код тут

}
Если при настройке проека сконфигурировать порт А1 на выход, а внутри main написать что-то типа
while (1){
PORTA |= 1; // выставили порт А1 в “1”
PORTA &= !1; // сбросили порт А1 в “0”
}
то порт А1 будет “моргать” (только очень быстро, глазом не увидеть)

Зашиваем в проц и убеждаемся (при помощи осцила, или вставляем задержку между переключениями, и тогда глазами) что оно работает 😃
Ну и конечно же, какая-либо книга по С жизненно необходима. Удобно когда все есть в бумажном виде, с закладками и тд.

AlexSr
ubd:

…Сколько брался изучать контроллер, как то не получается, в голову ничего не лезет. Не могу понять логику СИ, или ассемблера.
Вообще то я в детстве очень хорошо знал Бейсик, писал довольно таки сложные программы, участвовал в олимпиадах, в школе. Позже Пасклем увлекался, написал пару программ, и из-за ненадобности перестал писать программы.
Но вот СИ для меня, тёмный лес. …

Действительно прикольно… Я например, работал с ассемблером. Правда тогда Атмелов- ещё не было в природе. Писал и на Басике и на Паскале. А вот “С” - ну немогу себя заставить … Не понимаю, когда всё наоборот и иЗкаверканно …
Поэтому - Идём на сайт E-Lab Computers и качаем : либо демо версию на 4К, либо неограниченную для Меги 8 версию Паскаля …
И золотой ключик (для наших целей - хватит) у нас в кармане.

an2an
Алксандр:

while (1){
PORTA |= 1; // выставили порт А1 в “1”
PORTA &= !1; // сбросили порт А1 в “0”
}
то порт А1 будет “моргать” (только очень быстро, глазом не увидеть)

Хочу заметить что ‘!’ не есть побитовое отрицание, это логическое отрицание, поэтому результат !1 будет 0, а не 0xfffe и сдедовательно сбрасываться будет не только бит PA0, но и остальные тоже. Следует заменить ‘!’ на ‘~’.

Алксандр
an2an:

Хочу заметить что ‘!’ не есть побитовое отрицание, это логическое отрицание, поэтому результат !1 будет 0, а не 0xfffe и сдедовательно сбрасываться будет не только бит PA0, но и остальные тоже. Следует заменить ‘!’ на ‘~’.

Да, сокращая развернутые записи на сокращенные, я описАлся. И даже не раз 😃 Вы верно поправили, имелся в виду порт А0. Неверно не проснулся еще 😃

Gintas

Привет всем!
Я по поводу программирования:
Бил такой один из первых “компютеров” “ZX Spektrum” (48), он понимал язык Bassis (или как там его). Я его освоил полностью - всё просто. (сохранял на магнитафоне разные проги, даже знаменитая “виселица” была говорящей (нет такой буквы бамбук и т.т.), а клавиши нажималист с помощью джойстика. Больше всего прикалывало взламывать игрушки (подпрограмму) и оформлять СВОЮ заставку на РУССКОМ языке)…
Потом увлёкся HTML, но тоже не на долго (пример: www.Gintas.narod.ru)
Если, кто подсказал бы нормальный “вечный” язык, для програмирования МК, может и папробовал и освоил (но чувствую, для меня там тёмный лес), а стандартная логика до сих пор продаётся (для включения “лампочки” в полне достаточно).
По темме:
Blaster привёл пару конкретных схемм, которых желательно выполнить на МК и пока “тёмный лесс” с чего начать и как это будет выглядеть … ?
Коментарый к схемме :
Всего 3-и елемента управления (переключатель - три положения, потенсиометр и аналог ручки пульта (самолётного))
Тип и форма сигнала известно (стандарт - спасибо, что не надо изобретать велосипед)
Почему нельзя сделать подачу не на всеобше принятом шаговом двигателе ? Существует лебёдки (для яхт), а почему нельзя приспособит крутит вал станка … ? В отличии от ШД, серво машинка (большого размера) легко помешается 😉
Попробуйте нарисовать анологичную схему на МК и дайте рацуху господину Коноплеву.
P.S. В схеме участвует эл. магнитная муфта оснащена “трещёткой” (механизм усилия, как в эл. шуруповёртах). По моему, отличное решения в качестве перегрузки, а эл. магнит. муфта - мгновенного тормоза. Напомню, что тормоз отключает эл. магнитную муфту при нолевой отметке (следит енкодер и счётчик).
Спасибо !

jeti

Для тех кто знает BASIC есть целый комплекс - все одном - BASCOM. Так что не обязательно переучиваться на СИ.

ubd

Для тех кто знает BASIC есть целый комплекс - все одном - BASCOM.

Дай ссылочку пожалуйста…