Народный микроконтроллер....

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Седуксевна
Открыл глаза
Сообщения: 47
Зарегистрирован: Сб ноя 07, 2009 11:53:16

Re: Народный микроконтроллер....

Сообщение Седуксевна »

Это же «народный контроллер». С народом надо разговаривать на простом языке.
«Будьте проще и народ к вам потянется.» (с)
А чтобы научить микроконтроллер понимать язык народа, нужно потратить много ресурсов. И чем больше этих ресурсов у чипа, тем доступнее будет язык общения микроконтроллера с народом. На ARM вообще можно windows поставить.
Учу технику жить.
AnDy_TARN
Открыл глаза
Сообщения: 40
Зарегистрирован: Пт май 28, 2010 21:38:49

Re: Народный микроконтроллер....

Сообщение AnDy_TARN »

Да ну .... проще взять самый дешевый пик...
и написать прошивки под разные датчики... и один протокол передачи....
не так уж много и датчиков то нужно....
а для центрального помощнее...... написать заготовки... прямо готовыми блоками....
хочешь прочитать вооон.. тот дальний датчик.... вставляй готовый блок....
адреса то по моему уж все назначить смогут.... иначе им это занятие просто противопоказано...
Важнее определиться в уровне датчиков... то есть в уровне точности....
там разбег по цене ... ух какой.........
Седуксевна
Открыл глаза
Сообщения: 47
Зарегистрирован: Сб ноя 07, 2009 11:53:16

Re: Народный микроконтроллер....

Сообщение Седуксевна »

Вы совершенно правы! Так и сделано в комплексе BM93xx. Вы наверное не очень внимательно читали описание.
В каждом активном модуле прошивка с подпрограммами на все случаи жизни, в том числе протоколы передачи для I2C, MicroLan, SPI, MODBUS (RS485,232). Также для этих модулей выбран самый дешевый пик (в отношении цена/производительность). А в центральном (BM9300), где пик помощнее, зашиты заготовки «прямо готовыми блоками». Но вставлять их будет Бейсик по вашей одной только команде.
Все эти микропрограммы уже загружены в вспомогательные модули и центральный вычислитель. Мало того, в вспомогательные модули поверх стандартной прошивки вы можете залить свою программу, превращающую ваш модуль в какое-нибудь специализированное устройство. Я завтра приведу такой пример (с видеороликом).
Учу технику жить.
Седуксевна
Открыл глаза
Сообщения: 47
Зарегистрирован: Сб ноя 07, 2009 11:53:16

Re: Народный микроконтроллер....

Сообщение Седуксевна »

Как обещал, пример с видео, для всё того же модуля BM9307 или BM9308.
Управление сервомашинками. Очень полезен любителям робототехники и моделистам.
Драйвер заливается, поверх основной прошивки.
Драйвер настраивает модуль в режим управления 8-ю сервомашинками.
Можно:
Задавать направление движения валов каждого сервомоторчика.
Управлять скоростью движения.
Есть команда общего стопа.

Управляющие входы машинок подключаем к портуВ к контактам 1,3,5,7,9,11,13,15 на разъеме Х2. Минус к четным. Плюс к отдельному проводу +5В (на модуле нет).

Поддерживаемый диапазон управления : 2100 мс – 900 мс.
Шаг – 256 ступенек = 4,69 мкс. (т.к. управляется одним байтом, меньше не сделать.)
Частота следования импульсов – 50 Гц.

В ячейках 0x00 – 0x07 управляющие байты для 8 машинок.
Управляющий байт -> импульс:
Минимум: 0x00 -> 900мс
Середина: 0x80 -> 1500мс
Максимум: 0xFF -> 2100мс

В ячейках 0x20 – 0x27 - восемь задержек для каждого канала, они же в EEPROM с адреса 0x12
Минимум = 0x00. Максимум = 0xFF

В ячейке 0x12 команда СТОП – если записать 0xFF – то всё замрет.

Примеры управления машинками строками бейсика:

I2C#10h,(20)=0: I2C#10h,(0)=0 ; первая машинка быстро встала на минимум
Или
I2C#10h,(22)=0FFh: I2C#10h,(2)=0FFh ; третья машинка очень медленно встала на максимум


Вот ролик. Модуль управляет рукой робота построенной на сервомашинках.
http://www.youtube.com/watch?v=IeDU5Iu-hEk
Учу технику жить.
krant
Встал на лапы
Сообщения: 135
Зарегистрирован: Чт окт 25, 2007 11:00:10
Откуда: Russland

Re: Народный микроконтроллер....

Сообщение krant »

Честно не нравится мне эти обращения к ячейкам памяти, Серво-машинка регулируется бонально ,причём длина импульса для каждого градуса известна и расположена в ДШ на серву, т.е. грубо говоря необходим всего 1 провод , но ни как не целый 18ый пик.



p.s. этот интерпритатор деградирует разработчика, это как конструктор лего, а точнее мега-БЛОК, где блоки ооочень большие и собираются они в отдалённо напоминающий предмет из-за своих габаритов, но это для маленьких детей.
Седуксевна
Открыл глаза
Сообщения: 47
Зарегистрирован: Сб ноя 07, 2009 11:53:16

Re: Народный микроконтроллер....

Сообщение Седуксевна »

А как ещё? Сервомашинка действительно регулируется банально. На управляющий вход постоянно подаются импульсы с частотой 50Гц. А ширина этого импульса указывает машинке куда повернуть ротор, на сколько градусов + или - .
Т.е. для 8 сервомашинок нужен простой 8-канальный ШИМ с независимыми каналами и с постоянной частотой следования импульсов. Также необходимо одновременно и независимо регулировать скорость изменения ширины импульсов в каждом канале. И резко всё остановить. Это и есть система команд сервоконтроллера SSC-32.
И ещё этим хозяйством нужно откуда-то управлять. Так-вот прошивка этого модуля позволяет цеплять его на один из интерфейсов: I2C, SPI или RS232, 485. (для RS нужен преобразователь уровней)

Про разработчика согласен. Поэтому и не лезу в другие темы. А вот простому пользователю очень легко что-то замутить. Знакомый 15-летний пацан через две недели освоился с бейсиком и теперь штурмует "Кернигана, Ричи. Язык C" . Говорит что очень похоже.
Учу технику жить.
AnDy_TARN
Открыл глаза
Сообщения: 40
Зарегистрирован: Пт май 28, 2010 21:38:49

Re: Народный микроконтроллер....

Сообщение AnDy_TARN »

krant .... Седуксевна ... Здрасте Вам моё с кисточкой....
Чё спорите.... Седуксевна прав... серво лучше чем шаговые....
во всяком случае для станков ЧПУ.....
ведь шаговый и пропустить может шажок... с кем не бывает...
а серво... это обратная связь... и отслеживание того что произошло в реале....
так что Серво лупче... Но дороже.... :) ....Но Лупче.... Но дороже....
Короче... это на любителя... для "Народной" темы... всё же наверно шаговик....
кстати... запустил сёдни на моем контроллере машинку... которая заворачивает коробки для бутылок....
бутылки не простые... для элитной водки... я как посмотрю... там бутылка и коробка дороже самой водки стоит... :)
и сделал новые платки для следующего проекта....
а следующий проект... это CNC... планшетный.... 2х3 метра....
микрухи пришли... платы сделал... осталось в Китай за направляющими слетать.... :)
всео ничего........ начать ... да закончить..............
krant
Встал на лапы
Сообщения: 135
Зарегистрирован: Чт окт 25, 2007 11:00:10
Откуда: Russland

Re: Народный микроконтроллер....

Сообщение krant »

Вот те нате, с какого это бока СЕРВА лучше чем ШД для ЧПУ в добавок? Серва отклоняется на +180 и -180 градусов относительно центра (и то не все помоему), когда шаговый двигатель может делать бесконечное количество оборотов, т.е. ограничение только направляющими или длиной резьбы вращаемого вала или ещё чего. ИМХО сравнивать что лучше СЕРВА или ШД глупо, это как сравнивать мышку и клавиатуру, вроде бы оба средства ввода, но как бэ под разные задачи, так и здесь.

p.s. интересно, какая обратная связь у сервомашинки ?

p.s. можно на самый дешёвый 16 пик повесить до 12 сервомашинок, и управлять ими по 232 интерфейсу.

p.s. от Темы уезжаем, на днях должны привезти железки, тогда уже можно будет собрать первый адрессный блок ввода-вывода (на примере трёх датчиков и паре комутационных реле)
AnDy_TARN
Открыл глаза
Сообщения: 40
Зарегистрирован: Пт май 28, 2010 21:38:49

Re: Народный микроконтроллер....

Сообщение AnDy_TARN »

krant
Те которые на 180 и обратно.... это не серво...............
СЕРВОПРИВОД... это привод противоположный шаговому....
то есть если на шаговый подаётся импульс... и остальное всё похрену.... отработал он этот импульс или нет....
то у сервопривода наоборот.... пока не придёт сгнал от привода что он в эту точку встал...
то действие считается незаконченным....
поэтому я и говорю... что Серво круче... а Вы молодой человек... учите ... учите... и еще раз учите...
krant
Встал на лапы
Сообщения: 135
Зарегистрирован: Чт окт 25, 2007 11:00:10
Откуда: Russland

Re: Народный микроконтроллер....

Сообщение krant »

ознакомился с литературой, действительно я не прав, признаюсь :)

p.s. а разве драйверы ШД при отсутвии сигнала на пины STEP/DIR не переводятся по умолчанию в режим удержания? Я просто если честно не могу понять как можно проскочить через шаг.
Седуксевна
Открыл глаза
Сообщения: 47
Зарегистрирован: Сб ноя 07, 2009 11:53:16

Re: Народный микроконтроллер....

Сообщение Седуксевна »

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

Пользуясь небольшим поворотом темы в сторону ШД, покажу ещё один модуль из Мастер Кит - BM9310. Он специально создан для работы с шаговыми или DC коллекторными двигателями.
Схема

Видео

Фото:
Изображение

В зависимости от драйвер который заливается в модуль он может управлять:
Двумя ШД или четырьмя DC моторами (ШИМ).

Драйвер для ШД: http://www.masterkit.ru/BM93XX.RU/drivers/BM9310/BM9310_2s_motors.hex
Команды:
Для ШД №1
в ячейках
RAM 0x00, 0x01 – задание по кол-ву шагов. Младший и старший байт соответственно.
RAM 0x02 – текущий размер шага и направление.
. . . . . . . 40h=шаг (+), 20h=полушаг (+)
. . . . . . . C0h=шаг (-), E0h=полушаг (-)
RAM 0x03 – регистр состояния
. . . . . . . бит 7 -> 1 => останов по счетчику шагов (выполнение НЕ сбрасывает бит 2)
. . . . . . . бит 6 -> 1=> останов по срабатыванию датчиков начала/конца (выполнение Сбрасывает бит 2)
. . . . . . . бит 2 -> 1=> разрешить выполнение заданий
. . . . . . . бит 1 -> 0=> выключать ток после задания
. . . . . . . остальные биты = 0
RAM 0x04, 0x05 – длительность шага. Младший и старший байт соответственно.
RAM 0x06 – текущее состояние ротора.
Для ШД №2 аналогично в RAM 0x10 ….. RAM 0x16


Драйвер для DC моторов: http://www.masterkit.ru/BM93XX.RU/drivers/BM9310/BM9310_4c_motors.hex
Команды для DC моторов:
В ячейках RAM 0x000…0x003 – значения для каждого двигателя:
В каждом байте:
биты 6…0 ->128 градаций ШИМ
бит 7 направление вращения вала
Учу технику жить.
krant
Встал на лапы
Сообщения: 135
Зарегистрирован: Чт окт 25, 2007 11:00:10
Откуда: Russland

Re: Народный микроконтроллер....

Сообщение krant »

Мне кажется что мастеркит кому-то платит :)))


Развёл плату, переделал схему, плата получилась чуть-чуть двухсторонняя, поэтому можно обойтись если что перемычками.
осталось собрать...


p.s. в схемах есть ошибка, реле не подключены по питанию. и отсутвует PGD и PGC линии на контроллер от разъёма программатора, выкладываю файлы исправленные, PCAD и DIPTRACE.

Ссылка на исправленный файлы
Вложения
Схема2.png
(97.02 КБ) 496 скачиваний
ПП.png
(48.18 КБ) 289 скачиваний
Седуксевна
Открыл глаза
Сообщения: 47
Зарегистрирован: Сб ноя 07, 2009 11:53:16

Re: Народный микроконтроллер....

Сообщение Седуксевна »

Что-то пропали пацаны.
Krant, давай уже показывай, что получается.
AnDy_TARN, у тебя как дела?
Учу технику жить.
krant
Встал на лапы
Сообщения: 135
Зарегистрирован: Чт окт 25, 2007 11:00:10
Откуда: Russland

Re: Народный микроконтроллер....

Сообщение krant »

Все языком молоть только способны, кроме меня помоему никто схем так и не предоставил :)

p.s. у нас жара, я рапславляюсь, работа стоит, спаюсь только водоёмом
GYUR22
Родился
Сообщения: 13
Зарегистрирован: Сб июл 31, 2010 15:03:31

Re: Народный микроконтроллер....

Сообщение GYUR22 »

На самом деле на 8-ми разрядах все нормально делается есть много примеров.
Сам недавно учудил такую штуку но на мега128
8ai/8bi/5ro/4ao + RTC , RS-485 связь по протоколу, загрузка программы, софтина на ПК для программирования - заливка через порт,
без внешней памяти , емкость - 110 объектов
если интересно то выложу фотку и т.п.
GYUR22
Родился
Сообщения: 13
Зарегистрирован: Сб июл 31, 2010 15:03:31

Re: Народный микроконтроллер....

Сообщение GYUR22 »

вот такая односторонняя плата
Вложения
cntrlr.GIF
(38.98 КБ) 524 скачивания
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»