Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
Снято с производства

ТЕМА: BM9300

BM9300 18 Янв 2010 16:31 #28040

  • Admin
  • Admin  аватар
  • Offline
  • Администратор
  • Мастер Кит
  • Сообщений: 18927
  • Спасибо получено: 6
  • Репутация: 1
Микроконтроллерный модуль BM9300.
Администратор запретил публиковать записи гостям.

23 Янв 2010 17:28 #28114

  • Заслуженный учитель
  • Заслуженный учитель аватар
  • Offline
  • Новый участник
  • Сообщений: 5
  • Спасибо получено: 1
  • Репутация: 0
Модули BM93** самое гибкое в мире электроники средство разработки микроконтроллерных систем. Набор электронных модулей BM93** составлен более чем из 100 элементов, что позволит Вам быстро разработать, собрать и внедрить собственные конструкции любой конфигурации. От простейшего таймера до разветвленных систем сбора информации и управления производством. От любительского вольтметра до USB осциллографа и логического анализатора. От управления елочными гирляндами до совершенной системы управления «умным домом».
Электронные блоки BM93** - маленькие монтажные платы каждая, из которых содержит законченную электронную конструкцию типичную для модулей, используемых в современных микроконтроллерных системах.

Модули предназначены для пользователей, которые:
• Знают, что такое микроконтроллер и что он может делать
• Знают, зачем нужен тактовый генератор микроконтроллера
• Знают, что такое алгоритм и что такое блок схема
• Знают, что такое язык BASIC или знают о его существовании
• Имеют навыки работы с Windows, (операции копировать, вставить и т.п.)
• Могут читать простые электрические схемы, на основе транзисторов, кнопок, светодиодов и т.п.

Если ваших знаний недостаточно в какой-нибудь области то не паникуйте, а помните, что в начале любого пути Вы не можете знать и понимать того, что Вам понадобится в дороге.
Я дам несколько уроков по программированию и проектированию устройств собранных вами из модулей BM93**. На уроках мы попробуем управлять конструкциями, собранными из различных электронных наборов «Мастер КИТ» например «цифровым усилителем класса D» (BM2073). Смоделируем «восьмиканальный микропроцессорный таймер» (BM 8036), расширив его полезные свойства. Для любителей робототехники напишем программку управления серво и шаговыми моторами. В заключении построим домашнюю метеостанцию с датчиками температуры, давления, влажности. На дополнительных уроках создадим USB осциллограф.
Администратор запретил публиковать записи гостям.

25 Янв 2010 17:06 #28165

  • Заслуженный учитель
  • Заслуженный учитель аватар
  • Offline
  • Новый участник
  • Сообщений: 5
  • Спасибо получено: 1
  • Репутация: 0
Все уроки, примеры и реализации по серии BM93** буду публиковать в теме BM9300.
А ваши вопросы и предложения по модулям, жду только в одноименных темах.
Администратор запретил публиковать записи гостям.

Урок 1 25 Янв 2010 17:35 #28167

  • Заслуженный учитель
  • Заслуженный учитель аватар
  • Offline
  • Новый участник
  • Сообщений: 5
  • Спасибо получено: 1
  • Репутация: 0
Железная идея и реализация:
Выпущены 4 вида материнских плат BM9301 – 04. На всех установлена линейка с разъемами, в которые могут устанавливаться все остальные модули серии. Модули устанавливаются в любом порядке и в любом сочетании. На материнской плате 5 мест для установки модулей.

Материнские платы могут соединятся друг с другом с помощью разъемов расширения, установленных с двух сторон. В подобную связку можно объединить до 6 плат.


Есть другой вариант расширения – через интерфейс RS485. В этом случае ограничений по количеству объединенных материнских плат практически нет. И удаление друг от друга до 1,2 км.
Последнее редактирование: 25 Фев 2015 11:00 от Константин.
Администратор запретил публиковать записи гостям.

25 Янв 2010 18:08 #28169

  • Brokly
  • Brokly аватар
  • Offline
  • Осваиваюсь на форуме
  • Сообщений: 36
  • Спасибо получено: 30
  • Репутация: 7
Идея хорошая, но ИМХО цены не адекватные. Существует масса промышленных IBM совместимых компьютеров по близким ценам с мощностями на порядки большими. :(
Администратор запретил публиковать записи гостям.

25 Янв 2010 21:16 #28174

  • Заслуженный учитель
  • Заслуженный учитель аватар
  • Offline
  • Новый участник
  • Сообщений: 5
  • Спасибо получено: 1
  • Репутация: 0
Brokly пишет:
Идея хорошая, но ИМХО цены не адекватные.
Посетил Чип и Дип. Подсчитал комплект для BM9300:
PIC24FJ64GA006-I/PT - 310 руб
ADUM1402ARW - 250 руб
FM25L256B-G - 240 руб
AT26DF161 - 70 руб
FT232RL - 400 руб
ST485BD - 90 руб
LM1117 - 66 руб
кварц - 15 руб
SIP7 - 300 руб
74HC1G08 - 3 руб
разъем mini USB - 18 руб
резисторы 14 шт - 10 руб
конденсаторы 15 шт - 10 руб
светодиоды 3 шт - 45 руб
текстолит - 30 руб
разъемы - 50 руб
Итого ~ 2000 руб
Не считал: монтаж, разработку ПО, упаковку.
Brokly, поехали в Китай! Будет в три раза дешевле
Brokly пишет:
Существует масса промышленных IBM совместимых компьютеров по близким ценам с мощностями на порядки большими. :(
Передергиваешь! К промышленному IBM совместимому ближе, чем на 1000 бакинских подойти не возможно.
Администратор запретил публиковать записи гостям.

25 Янв 2010 21:51 #28179

  • Brokly
  • Brokly аватар
  • Offline
  • Осваиваюсь на форуме
  • Сообщений: 36
  • Спасибо получено: 30
  • Репутация: 7
Гы, нашел где считать :) В каком нить платане, кварце или в вольтмастере подсчитай :) А чип-дип сборище рвачей, прости господи.....

Кстати,а что получится из этого списка ? Ваша материнская плата + процессорная ?

Вот розничные цены из вольтмастера-платана

PIC24FJ64GA006-I/PT - 198 руб
ADUM1402ARW - 130 руб
FM25L256B-G - 140 руб
AT26DF161 - 70 руб
FT232RL - 180 руб
ST485BD - 30 руб
LM1117 - 34 руб
кварц - 5 руб
SIP7 - что это так и не понял :(
74HC1G08 - 3 руб
разъем mini USB - 14 руб
резисторы 14 шт - 5 руб
конденсаторы 15 шт - 5 руб
светодиоды 3 шт - 15 руб
текстолит - зачем !?
разъемы - 15 руб

ИТОГО 850 рублей :)
Конечно можно сюда и сборку с платами прикрутить, но дороже полутора тысяч - никак не получится, а если все посчитать по оптовой колонке ;) Конечно работа разработчиков должна оплачиваться ! Но для этого дела рентабельность нулевая... :( Но штука прикольная... Дороговизна все убъет :(

легкое гугление по "nano ITX" выдало цены от 6000 до 12000 :) Так что ничего я не передергиваю :)
Администратор запретил публиковать записи гостям.

25 Янв 2010 22:21 #28182

  • Заслуженный учитель
  • Заслуженный учитель аватар
  • Offline
  • Новый участник
  • Сообщений: 5
  • Спасибо получено: 1
  • Репутация: 0
Brokly, опять передёрнул, цены показал от 5 шт. Нафига радиолюбителю пять микроконтроллерных плат.
Всё! Не считай больше. Двойка тебе.

з.ы. SIP7 - гальванически изолированный DC/DC преобразователь.
Администратор запретил публиковать записи гостям.

урок 2 26 Янв 2010 16:40 #28198

  • Заслуженный учитель
  • Заслуженный учитель аватар
  • Offline
  • Новый участник
  • Сообщений: 5
  • Спасибо получено: 1
  • Репутация: 0
Электрическая идея и реализация.
Для объединения модулей на борту материнской платы установлены разъемы, к каждому из которых подведены только три сигнальные линии:
1. внутрисхемный интерфейс I2C (на рисунке отмечена синим цветом)
2. кросс для портов микроконтроллера (зеленый)
3. питание (красный)



На борту всех остальных модулей установлены ответные разъемы, к которым со стороны модулей подведены те же самые сигнальные линии, что и на материнских платах.

Например микроконтроллерный блок BM9300:



При установке модуля на материнскую плату сигнальные линии модуля и материнской платы объединяются. В результате получаем единое устройство. Соответственно добавляя различные модули на материнскую плату мы расширяем устройство до необходимой конфигурации. Не хватает мест? Пристегиваем вторую материнскую плату, третью, четвертую…. Лучше с младшим номером, на ней только кросс и источник питания. Дешевле будет.

В результате получаем необходимую конфигурацию микроконтроллерного устройства.



Все модули делятся на два типа: пассивные и активные.

Управляющие или управляемые элементы на пассивных модулях, через кросс на материнской плате, подключаются непосредственно к портам микроконтроллера PIC24FJ64GA004 на MB9300. На каждом таком модуле перед разъемом есть наборное поле с перемычками, с помощью которого вы определяете, к какому выходу/входу (ножке) микроконтроллера на MB9300 ,будут подключены исполнительные устройства пассивного модуля.

Активные модули подключаются к микроконтроллеру на MB9300 только посредством интерфейса I2C. Также по интерфейсу I2C все активные модули могут обмениваться данными между собой. Необходимо учесть, что все активные модули поставляются с одинаковым адресом: 10H и прежде чем собирать конструкцию нужно присвоить им любые различные адреса. Это очень легко сделать из Basic.
Администратор запретил публиковать записи гостям.

Урок 3 27 Янв 2010 13:41 #28212

  • Заслуженный учитель
  • Заслуженный учитель аватар
  • Offline
  • Новый участник
  • Сообщений: 5
  • Спасибо получено: 1
  • Репутация: 0
Софт: идея и реализация
Программное обеспечение для модулей BM93xx можно условно разделить на средства исполнения и средства программирования.

Средства исполнения:
Каждый активный модуль имеете прошивку, позволяющую получить полный доступ по последовательным каналам ко всем ресурсам активных модулей, независимо загружать и выполнять ваши программы. Все активные модули имеют последовательный интерфейс I2C. А некоторые дополнительный RS232/485 или USB. Прошивка обеспечивает доступ к любым активным модулям через любой интерфейс. Обеспечивает транзитный доступ через UART* ко всем доступным другим интерфейсам и следовательно ко всем модулям к ним подключенным. Одновременная поддержка различных интерфейсов дает возможность создавать древовидную сетевую структуру из многих модулей и многих уровней. Еще одно назначение микропрограммы это возможность легко записывать программы пользователя во FLASH память любого из подключенных модулей, включая модули, подключенные через смежные интерфейсы.

Средства программирования:
Непосредственно в модуле BM9300 размещен интерпретатор BASIC PIC. Это позволяет минимальными программно-аппаратными средствами создавать и редактировать ваши программы. Вам понадобится любой компьютер с любой операционной системой и интерфейсом USB. Описание операторов BASIC PIC опубликованы в отдельном документе.

* UART, Universal Asynchronous Receiver/Transmitter Универсальный асинхронный приёмопередатчик (УАПП,) — вид приёмопередатчика, устройства, которое переводит данные из последовательной в параллельную форму (и обратно).
Администратор запретил публиковать записи гостям.

27 Янв 2010 20:36 #28219

  • AK51
  • AK51 аватар
  • Offline
  • Новый участник
  • Репутация: 0
Посмотрев на схему модуля BM9300, мне кажется, что она полностью совпадает со схемой модуля ***** *****.
Совпадают ли разъемы и размеры, а также прошивка программ.
Администратор запретил публиковать записи гостям.

28 Янв 2010 08:56 #28227

  • Заслуженный учитель
  • Заслуженный учитель аватар
  • Offline
  • Новый участник
  • Сообщений: 5
  • Спасибо получено: 1
  • Репутация: 0
AK51 пишет:
Посмотрев на схему модуля BM9300, мне кажется, что она полностью совпадает со схемой модуля ***** *****.
Совпадают ли разъемы и размеры, а также прошивка программ.

Я не знаю. Вам наверное лучше попробывать спросить у них.
Размеры BM9300 в описании. Схема включения стандартная. О прошивке расскажу позже.

Наши модули BM93xx разрабатывали:
прошивка, железо – Андрей Тарасов, BASIC – Вадим Стадников.
Администратор запретил публиковать записи гостям.

Урок 4 Потрогаем железо. 28 Янв 2010 23:09 #28256

  • Заслуженный учитель
  • Заслуженный учитель аватар
  • Offline
  • Новый участник
  • Сообщений: 5
  • Спасибо получено: 1
  • Репутация: 0
Потрогаем железо.
Микроконтроллерный модуль BM9300 + материнская плата BM9303 это будет наша первая конструкция.
Дополнительно нам понадобится USB кабель для подключения к компьютеру и любой стабилизированный или нет источник постоянного напряжения от 9 до 24 В. И установленная на PC программа «Basic Terminal» скачать её можно с сайта из раздела описания BM9300, но это только для удобства, можно пользоваться любой терминальной программой из Windows.
Пристегиваем BM9300 к BM9303, к винтовому разъему на BM9303 подключаем питание. Плюсовой провод к ближайшему к краю платы гнезду. Соединяем USB кабелем нашу конструкцию с компьютером. Включаем питание контроллера. Запускаем «Basic Terminal». Правой кнопкой мышки по полю терминала, выпадает меню. В меню устанавливаем номер COM порта и параметры (115200, 8N1).



В нижней части терминала нажимаем «stop» ( F8 ). BASIC откликнулся: READY > .



Теперь в окне "Командная строка" можно вводить операторы BASIC. Поскладывайте что-нибудь, поумножайте.



Синусы там, косинусы ну чего помните из математики. Повыводите различные сообщения на терминал. Описание операторов BASIC в файле BASIC_PIC.pdf

На следующем уроке:
с помощью BASICа выведем сообщения на ЖКИ BM9303,
покрасим подсветку в различные цвета,
нажмём на кнопки.
И если будет время, послушаем «пикалку»[/img]
Администратор запретил публиковать записи гостям.

28 Янв 2010 23:28 #28257

  • AK51
  • AK51 аватар
  • Offline
  • Новый участник
  • Репутация: 0
Если можно ещё вопрос. Планируется ли выпуск модулей с деталями для работы в диапазоне от -40 градусов. Хочется, чтобы работало не только дома, а и на улице тоже.
Администратор запретил публиковать записи гостям.

29 Янв 2010 09:39 #28262

  • Заслуженный учитель
  • Заслуженный учитель аватар
  • Offline
  • Новый участник
  • Сообщений: 5
  • Спасибо получено: 1
  • Репутация: 0
AK51 пишет:
Если можно ещё вопрос. Планируется ли выпуск модулей с деталями для работы в диапазоне от -40 градусов. Хочется, чтобы работало не только дома, а и на улице тоже.

Температурный диапазон ЖКИ дисплея от - 20С. Другие компоненты от - 40 С.
Задача создать морозоустойчивый продукт не ставилась, испытания не проводились. На свой страх и риск можете попробовать.
Но в готовящемся наборе "ARM контроллер" эти условия будут соблюдаться и испытания проведем.
Администратор запретил публиковать записи гостям.

Урок 5 ЖКИ 30 Янв 2010 16:59 #28283

  • Заслуженный учитель
  • Заслуженный учитель аватар
  • Offline
  • Новый участник
  • Сообщений: 5
  • Спасибо получено: 1
  • Репутация: 0
Печатаем на ЖКИ.
ЖКИ на BM9303 – графический (128 х 32). Но сегодня используем его символьные свойства.
К материнской плате BM9303 пристегиваем микроконтроллерный модуль BM9300 как на предыдущем уроке.
Подключаем получившуюся системку к PC запускаем BASIC-терминал, в командной строке пишем: PRINT#2000H, “Регулятор громкости” . Жмем. Ввод и текст “Регулятор громкости на экране” ЖКИ.
Как это работает.
Наш ЖКИ конструктивно подключается к системе через интерфейсе I2C и имеет адрес 20H. А значит, чтобы печатать на экране ЖКИ, необходимо командой бейсика PRINT# послать на адрес 20H текст, который мы хотим отобразить на экране.
Теперь из бейсик программы:
Так как ЖКИ имеет расширенные возможности, для него существует список команд, позволяющий их использовать. Например: можем изменить цвет подсветки (16 цветов/команд), установить курсор в то место, куда необходимо вывести текст, очистить экран, задать величину шрифта и много других текстовых и графических возможностей.
Печатаем на экране три строчки:

Заслуженный учитель
Мастер Кит
BASIC


В обычном текстовом редакторе набиваем программу:

10 i2c#20h,(0)=9
20 time=0: do: while time<0.02
30 i2c#20h,(0)=2,0,0: time=0: do: while time<0.1
40 print#2000h,"Заслуженный учитель": time=0: do: while time<0.1
50 i2c#20h,(0)=2,4,2: time=0: do: while time<0.1
60 print#2000h,"Мастер Кит": time=0: do: while time<0.1
70 i2c#20h,(0)=2,6,3: time=0: do: while time<0.1
80 print#2000h,"BASIC"

Строка 10 – по интерфейсу I2C посылает на адрес 20h команду 9, которая очищает экран ЖКИ.
Строка 20 – небольшая задержка для того чтобы встроенный контроллер ЖКИ успел очистить экран до прихода следующей команды.
Строка 30 - по интерфейсу I2C посылает на адрес 20h команду 2, для того чтобы установить курсор в 0-е знакоместо в 0-й строке. В этой же строке опять небольшая задержка. Вы уже знаете для чего.
Строка 40 – оператор PRINT# посылает на адрес ЖКИ 20h текст “Заслуженный учитель». Опять небольшая задержка.
Строка 50 – устанавливает курсор на 4-е знакоместо во 2-й строке. Задержка.
Строка 60 – печатает "Мастер Кит"
Строка 70 – курсор на 6-е знакоместо в 3-ей строке.
Строка 80 – печатает "BASIC"

Теперь через терминал загружаем программу в контроллер. Запускаем её командой RUN или выключаем/включаем питание, она запустится сама.
Последнее редактирование: 25 Фев 2015 10:57 от Константин.
Администратор запретил публиковать записи гостям.

30 Янв 2010 18:46 #28284

  • AK51
  • AK51 аватар
  • Offline
  • Новый участник
  • Репутация: 0
Спасибо то, что компоненты от - 40 С греет душу.
Администратор запретил публиковать записи гостям.

30 Янв 2010 18:55 #28286

  • AK51
  • AK51 аватар
  • Offline
  • Новый участник
  • Репутация: 0
Спасибо то, что компоненты от - 40 С греет душу.
Администратор запретил публиковать записи гостям.

Урок 6. Подсветка ЖКИ 31 Янв 2010 14:37 #28293

  • Заслуженный учитель
  • Заслуженный учитель аватар
  • Offline
  • Новый участник
  • Сообщений: 5
  • Спасибо получено: 1
  • Репутация: 0
В BM9303(04) установлен ЖКИ с цветной подсветкой.
Чтобы установить цвет подсветки нужно по адресу ЖКИ = 20h послать по I2C, команду установки цвета подсветки. Это команда 12 с номером цвета из таблицы 1.
Например,

i2c#20h,(0)=12,03h

03h – зеленый цвет из таблицы1.

Добавляем во вчерашний пример 25 строку. Получаем текст на ярко-зеленом фоне.

10 i2c#20h,(0)=9
20 time=0: do: while time<0.02
25 i2c#20h,(0)=12,03h
30 i2c#20h,(0)=2,0,0: time=0: do: while time<0.1
40 print#2000h,"Заслуженный учитель": time=0: do: while time<0.1
50 i2c#20h,(0)=2,4,2: time=0: do: while time<0.1
60 print#2000h,"Мастер Кит": time=0: do: while time<0.1
70 i2c#20h,(0)=2,6,3: time=0: do: while time<0.1
80 print#2000h,"BASIC"

таблица 1
00 - черный
01 - ярко-красный
02 - ярко-синий
03 - ярко-зеленый
04 - ярко-сиреневый
05 - ярко-желтый
06 - яркий "морской волны"
07 - ярко-белый
08 - красный
09 - синий
0A - зеленый
0B - сиреневый
0C - желтый
0D - "морской волны"
0E - белый
0F - тускло-белый

Администратор запретил публиковать записи гостям.

УРОК 7 Синие часы. 01 Фев 2010 21:27 #28327

  • Заслуженный учитель
  • Заслуженный учитель аватар
  • Offline
  • Новый участник
  • Сообщений: 5
  • Спасибо получено: 1
  • Репутация: 0
Вчера выводя текст на ЖКИ., для задержки использовали строку бейсика:
time=0:do:while time<0.02
которая обеспечивала задержку в 0,02 сек.
Если в этой строке прописать time<1 то получим задержку ровно в 1 секунду.
Быстренько соорудим часы на синем фоне.


NEW
10 S=0 ; зададим начальный отсчет секунд
20 M=0 ; минут
30 H=0 ; часов
40 i2c#20h,(0)=9 ; очистим экран
50 time=0:do:while time<0.02 ; задержка после очистки
60 i2c#20h,(0)=12,02:time=0:do:while time<0.02 ; включили синюю подсветку
100 i2c#20h,(0)=2,3,1:time=0:do:while time<0.02 ; указали на третье знакоместо в 1-й строке
110 print#2000h,using(##),H,":",using(##),M,":",using(##),S ; вывели на ЖКИ - часы, минуты, секунды
120 time=0:do:while time<0.98 ;задержка в 0,98 сек, т.к. 0,02 сек. уже было в 100 строке. Итого 1 сек
130 S=S+1 ; увеличили счетчик на 1 сек
140 IF S<60 THEN 100 ; пока кол-во секунд не станет равно 60 засылаем S=S+1 в 100-ю строку
150 S=0 ; теперь секунды можно в 00
160 M=M+1 ; минутный счетчик увеличиваем на 1
170 IF M<60 THEN 100 ; пока кол-во минут не станет равно 60 засылаем M=M+1 Знаете куда
180 M=0 ; теперь минуты в 00
190 H=H+1 ; дальше с часами описывать не буду
200 IF H<24 THEN 100
210 H=0
220 GOTO 100


Можно установить текущее время S=?, M=?, H=?
Бейсик программу через терминал загружаем в контроллер. Команда RUN или жмем F9.
Последнее редактирование: 25 Фев 2015 10:58 от Константин.
Администратор запретил публиковать записи гостям.
Модераторы: Советник

Новинки

            
Рейтинг@Mail.ru Яндекс.Метрика