суббота, 21 октября 2017 г.

ProtoBoard_ru


Оглавление


Универсальная плата для макетирования



Разработана специальная, универсальная печатная плата для макетирования.


Безусловно, существуют различные беспаячные платы для изготовления прототипов. Например широко распространенная “BreadBoard”:


Данную плату можно использовать для прототипов, но для работы с «голубой таблеткой» она не совсем удобна.


Пример использования.

Справа от «таблетки» плата разработанная для совместного использования с «голубой таблеткой», слева ( обведено кружком ), остался всего один ряд контактов типа «мама» для подключения дополнительных устройств. К правому ряду контактов «голубой таблетки» больше ничего подключить нельзя.


Та же «таблетка» и дополнительная плата на универсальной макетной плате:

Видим, что и слева и справа есть свободные для использования контакты.


Пример дополнительной платы — «CAN интерфейс» для совместного использования с «голубой таблеткой», из примеров выше.


Сравнение размеров беспаячной и универсальной плат.


Универсальную плату каждый может сделать по своим требованиям из набора контактов как «мама» так и «папа». Контакты могут быть как однорядные, так и двухрядные 1x20, 2x20. По краям платы можно смонтировать клеммники.

Пример используемых контактов и клеммников:


Примеры изготовленных плат, с разными типами контактов:


Для макетирования DIP-элементов необходимы переходники-цанговые разъемы:


Примеры монтажа DIP-элементов:


С нижней стороны платы имеются резиновые «ножки»:


На плате представлены две шины, A и B из 20 проводников каждая. Объединить проводники шин в один можно перемычкой:


Это предназначено например для проводников «+» и «-» питания, общих проводников.


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


Пример модуля с двурядными контактами:


Монтаж данного модуля на универсальную плату:


Размер универсальной платы выбран для установки в стандартную коробку на DIN-рейку. Если в этом случае будет использован USB разъем, то штырьки «голубой таблетки» должны быть впаяны следующим образом:


«Таблетка» и модуль CAN установленные на универсальную плату:


Универсальная плата в коробке на DIN-рейку без крышек:


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

Это решение позволяет придать прототипу внешний вид промышленного изделия.


После изготовления прототипов модули или элементы прототипа можно впаять на эту плату

и разместить в коробке на DIN-рейку или коробке собственного изготовления.


Платы можно изготовить самостоятельно, или заказать через сайт ( open-plc.com страница контакты ).

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


Чертеж «универсальной платы»


суббота, 27 мая 2017 г.

Explore CAN-bus with stm32f100 board

CAN Interface

A Controller Area Network (CAN bus) is a vehicle bus standard designed to allow microcontrollers and devices to communicate with each other in applications without a host computer. It is a message-based protocol, designed originally for multiplex electrical wiring within automobiles, but is also used in many other contexts.

Architecture

CAN is a multi-master serial bus standard for connecting Electronic Control Units [ECUs] also known as nodes. Two or more nodes are required on the CAN network to communicate. The complexity of the node can range from a simple I/O device up to an embedded computer with a CAN interface and sophisticated software. The node may also be a gateway allowing a standard computer to communicate over a USB or Ethernet port to the devices on a CAN network.


All nodes are connected to each other through a two wire bus. The wires are 120 Ohm nominal twisted pair.

To work with CAN suitable twisted pair category 5e.
For example:
CAN-L - orange light
CAN-H - orange dark.
Other wires can use for power suplay ( 9-24V ).

Maximum Cable Length For a CAN Bus: 


For communicate between modules use extended frame format.
The description details of format see below.

For CAN, the extended format of the data frame is used.
4 bytes - identifier, 8 bytes - data.
The first byte of the CAN frame can be a maximum of 1F

Bit identifier format:

The extended format of the data frame is used.
Extended CAN ID format:

Protocol of CAN ( Only Extended frame format ):

For CAN, the extended format of the data frame is used.
4 bytes - identifier, 8 bytes - data.
The first byte of the CAN frame can be a maximum of 1F

Bit identifier format:

The extended format of the data frame is used.
Extended CAN ID format:

Protocol of CAN ( Only Extended frame format ):

can0    400200  [8] 00 00 00 00 00 00 00 00 - Request for data with device number 4
can0    400280  [8] 07 00 00 00 00 00 00 00 - Answer device number 4

can0    400100  [8] 07 00 00 00 00 00 00 00 - Transferring data to device number 4

can0    400180  [8] 07 00 00 00 00 00 00 00 - Answer device number 4 (current status)

can0    100200  [1] 00                      - Request for data with device number 1 (one byte)

can0    100280  [8] 00 00 00 00 00 00 00 00 - Answer device number 1

can0    100100  [1] FF                      - Sending data to the device with number 1 (one byte)

can0    100180  [8] FF 00 00 00 00 00 00 00 - Answer device number 1 (current status)

can0    100F00  [1] 00                      - Sending data to the device with number 1 (one byte)

can0    108F80  [8] 00 00 00 00 00 00 00 00 - Answer device number 1 ( error, wrong command )

The device always responds to packets addressed to it. This is a confirmation of receipt of the package.

Address=0 - Broadcast distribution.

Examples ( Linux candump ):

can0    400200  [8] 00 00 00 00 00 00 00 00 - Request for data with device number 4
can0    400280  [8] 07 00 00 00 00 00 00 00 - Answer device number 4

can0    400100  [8] 07 00 00 00 00 00 00 00 - Transferring data to device number 4
can0    400180  [8] 07 00 00 00 00 00 00 00 - Answer device number 4 (current status)

can0    100200  [1] 00                      - Request for data with device number 1 (one byte)
can0    100280  [8] 00 00 00 00 00 00 00 00 - Answer device number 1

can0    100100  [1] FF                      - Sending data to the device with number 1 (one byte)
can0    100180  [8] FF 00 00 00 00 00 00 00 - Answer device number 1 (current status)

can0    100F00  [1] 00                      - Sending data to the device with number 1 (one byte)
can0    108F80  [8] 00 00 00 00 00 00 00 00 - Answer device number 1 ( error, wrong command )

Each device has a unique serial number Sn (4 bytes) and Id, or device type (4 bytes)

Broadcasting commands ( CAN address = 0 ):

C1:C2
C1 - Command ( function code )
C2 - Command expansion ( function code 2 )
------------------------------------------------------------------------------
2:x - Request for data
2:0 - To get serial number; the device will return the first 4 bytes of Sn.
      In the next 4 bytes the device code (identifier)
2:1 - Get CAN number; In the first 4 bytes of Sn, to whom is addressed.

1:x - Setting values
1:1 - Do not to respond for a broadcast serial number request.
      In the first 4 bytes of Sn, to whom is addressed.
1:2 - Set CAN number
      In the first 4 bytes of Sn, to whom is addressed
      5th byte is a number of CAN

Consider a simple network of two controllers STM32F100 ( STM32F100 board )
In addition, you will need two USB-UART adapters.
Scheme and PCB board
Download firmware CAN-Gate to MicroController ( source, hex, bin ).
This firmware can be used as a template for your own programs.
Size of program is 12KB, and you can use KEIL as free-evalution mode (up to 16K).
KEIL project in archve.

Open two terraterm of the program.
In our example, COM14 and COM30 and research work of CAN-bus.
Terminal-program, current speed is 921600 bps