SIM900 MINI V4.0 Wireless Data Transmission Module

 Arduino  Комментарии к записи SIM900 MINI V4.0 Wireless Data Transmission Module отключены
Мар 132017
 

Как заставить работать sim900a в наших сетях

Схемотехника*, DIY или Сделай сам*

Для начала справочная информация:
sim900 — представитель нового поколения бюджетных GSM/GPRS модулей компании SIMCom.
Sim900a – аналог sim900, предназначенный для использования на азиатском рынке, не работает с российскими операторами.

Визуальный осмотр

Так вот, попался мне модуль sim900a mini v3.8.2, на базе того самого sim900a. Визуальный осмотр показал, что на модуле присутствует преобразователь сигнала MAX232, что даёт возможность быстрого подключения модуля к com порту компа для детального исследования. Так же, на модуле есть выходы с уровнем TTL, что даёт возможность использования его с arduino. Еще, из особенностей схемы, было замечено, что нет софтового управления включением/выключением модуля, но это несложно исправить, что скорее всего будет проделано. Нет выходов на микрофон и наушники, тоже придётся распаивать.

Далее изучаем даташит, там все очень радужно расписано на 47 страниц. Первое, что нам потребуется это запитать модуль. На плате написано VCC 5, в даташите написано 3.2V — 4.8V, однако, двумя абзацами ниже, предоставлена схема включения с напряжением 4,1V. Собственно, как sim900 так и sim900a будет очень привередлива к питанию. Так же, становится понятно, что старые симки на 5V в нём не заработают… Для них надо городить преобразователь на основе Max1686.

Следуя инструкциям даташита, берём Li-ion аккумулятор формфактора 18650 на 3.7V, он и будет служить нам питающим элементом.

Подключение

Теперь разбираемся с ком портом, обязательно ставим 2 джамперочка, как показано на фотке. На ком порте нам нужны 2, 3 и 5 ножки, на модуле это 1, 2 и 3 соответственно.

Вставляем сим карту (желательно предварительно проверить ее работоспособность в телефоне), подключаем ком порт, подаём питание на модуль. Для общения с модулем нам потребуется терминал. Под винду я использую либо программу terminal, либо putty.

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

Визуально наблюдаю, что светодиод «статус» моргает, смотрим в даташит, есть 3 режима:

  • 64ms/800ms – не зарегистрирован в сети,
  • 64ms/3000ms- зарегистрирован в сети,
  • 64ms/300ms- осуществляется передача данных по GPRS.

В моём случае это 1 вариант.

Идём разбираться, почему же мы не смогли зарегистрироваться. Запускаем свой любимый терминал, подключаемся к нужному порту.
Проверяем, не требует ли симка ввода пин кода:
AT+CPIN?
Если симка требует ввода PIN или PUK кода, то вы получите ответ SIM PIN или SIM PUK соответственно.
После ввода PIN кода:
AT+CPIN=0000
Проверяем, статус повторно. В моём случае я увидел:
+CPIN: PH-NET PIN
Это означает, что модуль залочен на определённые сим карты и с вашей сим картой он работать не будет.
В этом случае либо используем карту азиатского оператора, либо перепрошиваем модуль. Однако, что бы не заниматься лишней работой, для начала проверим, видит ли модуль сети вообще. Это можно сделать командой:
AT+COPS=?
После некоторого ожидания сканирования диапазона в поисках сети, видим приблизительно такой ответ:
+COPS: (2,«MGTS»,»»,«25001»),(1,«MegaFon RUS»,«MegaFon»,«25002»),(1,«Beeline»,«Beeline»,«25099»),,(0,1,4),(0,1,2)

Каждая скобка — это сеть. Первая цифра — это статус этой сети. 0 — неизвестен, 1 — доступен для регистрации, 2 — сеть соответствующая оператору сим карты, 3 — заблокированная сеть. Остальные параметры сети — это их идентификаторы.
Если вы увидели свою сеть (первая цифра = 2). Тогда есть надежды на то, что вы сможете реанимировать модуль и заставить его работать.

Перепрошивка!

Это отдельная большая история, но я опишу основные моменты перепрошивки.
Поискав в Интернетах возможные варианты прошивок, я наткнулся на то, что модули эти бывают с объемом флеш памяти на 32 и 64 мегабайта. Есть специальная программа для их перепрошивки. И много вариантов прошивок под разные версии модулей. Например, вот тут
Мне не повезло, достался 32-х мегабайтный модуль, а прошивок для них совсем мало. Инструкция по перепрошивке модуля гласит так. Запускаете программу для перепрошивки, выбираете необходимую версию, наживаете на кнопку старта заливки ,
после этого зажмите кнопку включения модуля и до момента начала заливки микропрограммы удерживайте нажатой. Но как мы выяснили ранее, у нас нет кнопки включения/выключения питания модуля, эта mini-версия включается в момент подачи питания и остаётся включенной на протяжении всего времени. По этому в нашем варианте мы обесточиваем модуль полностью, запускаем программу заливки, выбираем необходимую версию, и все настройки, нажимаем на кнопку начала заливки микропрограммы в модуль, после этого подаём питание на модуль.
Однако перед тем, как вы начнёте что то делать, проведите подготовку модуля:

  • модуль очень требовательный к напряжению питания и при напряжении более 4V он запускается и работает, но напрочь отказывается перепрошиваться!
  • уберите автовыбор скорости, установите скорость в 115200 (AT+IPR=115200), что бы избавить себя от проблем с прошивкой. (на скорости 9600 прошивка занимает примерно 2 часа времени);
  • перед началом прошивки обесточьте модуль как минимум на 5-10 секунд;

Что бы долго не тянуть кота за хвост, сразу раскрою карты и скажу, что если у вас 32-х мегабайтная версия, вы со своего модуля сможете сделать только sim900b работающий в наших регионах при помощи микропрограммы версии 1137B09SIM900B32_ST. Если же вам достался 64-х битный модуль, то у вас есть возможность получить полноценный sim900 при помощи прошивки: 1137B02SIM900M64_ST_ENHANCE
Итак, перепрошили, перезагрузили модуль. Начинаем всё сначала. Проверяем статус сим карты:
AT+CPIN?
+CPIN: SIM PIN
Если так, то вводим пин:
AT+CPIN=0000
OK
Проверяем, что карта приняла код и модуль готов с ней работать:
AT+CPIN?
+CPIN: READY
Проверяем статус регистрации в сети:
AT+CREG?
+CREG: 0,1
Первая цифра — авторегистрация включена, вторая — регистрация осуществлена. Смотрим на диод, отображающий статус, индикация соответствует документации об успешной регистрации в сети.
Проверим, в какой сети зарегистрировался модуль:
AT+COPS?
+COPS: 0,0,«MTS-RUS»
Проверим баланс:
AT+CUSD=1,»*100#»
OK
+CUSD: 0,«041C0438043D04430441003A003400360032002C003700310440002C041B0438043C04380442003A003300300030003004400020»,72
Это unicode (USC2), декодируем:
Минус:462,71р, Лимит:3000р
В лимит мы пока не упёрлись можно попробовать отправить СМС (позаботьтесь, что бы ваш терминал умел отправлять служебные символы, для обозначения окончания отправляемой СМС надо использовать символ с кодом 26)
AT+CMGF=1
AT+CMGS=»+790……..»
> Privet! Davay posmotrim film!
> (Alt +26)
+CMGS: 3

СМС отправлена!
Теперь попробуем позвонить:
ATD+790………;
+COLP: «+790………»,145,»»,0,»»
Кладём трубку:
ATH
OK
Обращаю внимание, что в команде ATD символ точка с запятой «;» в конце обязательна!
Если вы видите «NO CARRIER» значит номер телефона набран неправильно.
Модуль работает! Чего и следовало добиться. В следующих статьях железная доработка модуля и его использование с Arduino.
Полезные ссылки:
Официальный сайт производителя
Официальный представитель simcom в России
Страница с ссылками на доки по модулю sim900
Спецификация модуля
Преобразователь сигнала для сим карты
Сборник прошивок для модулей sim800 и sim900
Спецификация AT команд модуля
Статья о перепрошивке sim900

Pronterface — программа управления 3D принтером

 Arduino  Комментарии к записи Pronterface — программа управления 3D принтером отключены
Мар 122017
 

Pronterface — программа управления 3D принтером

  • 22 окт, 2014 в 22:07


Программа используется для:
— предварительного нагрева стола перед печатью,
— смены пластика,
— контроля температуры,
— настройки оси Z и других настроек.

Ссылка для скачивания архива программы
Щёлкаем на скачанный архив и переносим папку из архива в удобное, для нас, место. Подключаем 3D принтер к компьютеру и в сеть 220в. Входим в папку и щёлкаем по файлу pronterface.exe

Блок подключения 3D принтера.
Pronterface 2014-10-22 19.38.34
1 — Кнопка автоматического определения подключенного COM порта.
2 — Выбранный COM порт.
3 — Скорость обмена данными. Не менять!
4 — Кнопка подключения 3D принтера к программе управления.

Подключаем 3D принтер.
CropWindow 2014-10-22 19.48.55
Текстовое поле вывода информации 3D принтером. Если нет слова ERROR, значит включение прошло без ошибок.
Если же видим надпись Connecting… , значит программа не может подключиться к 3D принтеру. Проверяем подключение USB кабеля или перебираем COM порты из выпадающего списка.

Перемещение сопла и стола по осям XYZ.
CropWindow 2014-10-22 19.50.09
Устанавливаем скорости перемещения:
1 — по осям X и Y
2 — по оси Z
Скорость также зависит от ускорения, задаваемого в прошивке.
Для начала перемещения сопла или стола нужно 3D принтер вывести в нули. Для этого нажимаем кнопку Home (3). После касания концевых датчиков по XYZ установятся максимальные координаты, т.к. ноль находится на поверхности стола в левом ближнем углу. И все ручные перемещения начинаются в «минус», направление (4). Перемещения осуществляются фиксированными отрезками (6): 0.1мм, 1мм, 10мм, 100мм. После выхода в нули поле перемещения устанавливается и ограничивается из прошивки. При перемещении обращайте внимание на клипсы-прижимы стекла.

Управление нагревом сопла.
Pronterface 2014-10-22 20.07.51
1 — Выбираем или устанавливаем вручную температуру сопла. Температура зависит от типа пластика PLA или ABS и типа сопла (индивидуально). Обычно PLA 180-210 градусов, ABS 230-275 градусов. В прошивке установлено ограничение температуры.
2 — Нажимаем кнопку Set для начала прогрева сопла.
3 — Кнопка отключения нагрева сопла.

Управление нагревом стола.
Pronterface 2014-10-22 20.10.23
Здесь всё аналогично нагреву сопла, кроме температуры. При охлаждении пластика происходит усадка и углы детали отлипают от стола (деламинация). Для борьбы с деламинацией прогревают нижнюю часть детали. Для ABS 105-115 градусов, для PLA 70 градусов, при печати на каптоновом скотче. PLA можно печатать на синем скотче без нагрева стола.

Мониторинг температуры.
Pronterface 2014-10-22 20.11.16
1 — Текущая температура сопла
2 — Текущая температура стола
3 — График изменения температуры

Управление экструдером (выдавливание пластика).
Pronterface 2014-10-22 20.12.43
1 — Выдавливание пластика. Минимальная температура ограничена в прошивке.
2 — Обратное выталкивание пластика для смены катушки или бобины.
3 — Длина прутка пластика для перемещения
4 — Скорость перемещения пластика в экструдере (выдавливание или выталкивание)

Консоль взаимодействия с 3D принтером.
Pronterface 2014-10-22 20.13.44
Консоль используется для настройки 3D принтера и в частности оси Z.
Некоторые команды:
M106 включить вентилятор охлаждения детали
M107 выключить вентилятор охлаждения детали
M114 показывает координаты в текущей позиции
M119 сообщает нам состояние концевых датчиков
G1 Перемещение в заданную координату (G1 Z90 — перемещение сопла до Z90)

Настройка прошивки для 3D принтера Marlin ver.1.02 (январ ь 2015)

 Arduino  Комментарии к записи Настройка прошивки для 3D принтера Marlin ver.1.02 (январ ь 2015) отключены
Мар 122017
 

Настройка прошивки для 3D принтера Marlin ver.1.02 (январь 2015)

  • 13 фев, 2015 в 19:08


Последний раз редактировал 27.08.15

Многие 3D принтеры работают под управлением популярной прошивки Marlin. Для некоторых 3D принтеров существуют уже стандартно сконфигурированные прошивки:

Рассмотрим основные настройки релиз версии 1.02 (январь 2015)

Прошивка лежит по этому адресу. Качаем — давим на кнопку Download ZIP. Скачивается архив Marlin-Release.zip. Распаковываем его в подготовленную папку.

Теперь скачиваем Arduino IDE для исправления и загрузки прошивки в 3D принтер. Ссылка. Давим на Windows Installer. Скачивается установщик arduino-1.6.5-r2-windows.exe. Запускаем его и устанавливаем среду Arduino IDE.

Переходим в папку с прошивкой и запускаем файл Marlin.ino.

Открывается среда Arduino IDE с прошивкой. Нам нужна вкладка Configuration.h.

В начале мы видим ссылки на калибровку 3D принтера. Пролистываем дальше и читаем: «Это конфигурационный файл с основными настройками. Выберите тип контроллера, тип температурного датчика, откалибруйте перемещения по осям и сконфигурируйте концевые выключатели

Начнём с выбора контроллера (MOTHERBOARD). Список контроллеров находится во вкладке boards.h. Давим на треугольник в правом верхнем углу и выбираем boards.h.

Теперь посмотрим на установленную электронику. Вот самые распространённые типы плат:

Melzi

Sanguinololu

RAMPS 1.4

У меня стоит RAMPS 1.4.

Указываем в configuration.h свой контроллер.

#ifndef MOTHERBOARD
#define MOTHERBOARD BOARD_RAMPS_13_EFB
#endif

Следующим выбираем датчик температуры — термистор, для хотэнда и стола. Видим большой список «//// Temperature sensor settings:». У меня стоит хотэнд E3D-v5 и китайский термистор на столе. Для E3D-v5 я выбираю «// 5 is 100K thermistor — ATC Semitec 104GT-2», для стола «// 1 is 100k thermistor — best choice for EPCOS 100k». Если тип термистора неизвестен можно выбрать 1, а если температура не понравится можно выбирать любой и тестировать. Меняю.

100K thermistor — ATC Semitec 104GT-2

Обычный китайский термистор 100К

У Ultimaker Original в хотэнде стоит термопара. При подключении термопары важно соблюдать полярность. Тип сенсора «-1».

Если в хотэнде используются фторопластовые части, то температуру следует ограничивать, во избежания повреждения хотэнда. Максимальная рабочая температура фторопласта 260 градусов. Если хотэнд цельнометаллический, то можно ставить 320 градусов (если нужно).

Ограничение максимальной температуры хотэнда «#define HEATER_0_MAXTEMP 275».

Минимальная температура ограничивается для механической защиты хотэнда от выдавливания холодного пластика.

Ограничение минимальной температуры хотэнда «#define EXTRUDE_MINTEMP 170».

Настройка концевых выключателей

Если сработал концевик, то мотор не должен дальше двигать каретку. Концевики нужны для ограничения перемещения кареток и инициализации начальной точки HOME. При сработанном концевике каретка может двигаться только от него.

Нам нужно узнать где они расположены. Как это узнать? Начало координат находится в ближнем левом углу на поверхности стола, если сопло вывести в эту точку, то сработали бы концевики MIN, если в правую дальнюю верхнюю — сработают MAX. У меня в положении HOME находятся три концевых выключателя MAX, поэтому мои установки

// Sets direction of endstops when homing; 1=MAX, -1=MIN
#define X_HOME_DIR 1
#define Y_HOME_DIR 1
#define Z_HOME_DIR 1

. Команда M119 (например в Pronterface) показывает состояние концевых выключателей. У меня концевые выключатели стоят только в позиции HOME на MAX.

Так должно быть:

В положении HOME

В положении отличном от HOME по всем осям

Если у Вас не получилось как у меня, то состояние концевых выключателей по выбранной координате нужно инвертировать, это можно сделать в прошивке или перепаять провода. Значения false или true. Мне ничего менять не потребовалось.

const bool X_MIN_ENDSTOP_INVERTING = true;
const bool Y_MIN_ENDSTOP_INVERTING = true;
const bool Z_MIN_ENDSTOP_INVERTING = true;
const bool X_MAX_ENDSTOP_INVERTING = true;
const bool Y_MAX_ENDSTOP_INVERTING = true;
const bool Z_MAX_ENDSTOP_INVERTING = true;

Изменение направления вращения шаговых двигателей, значения false или true. Правильные перемещения сопла относительно стола:

  • По оси X — влево «-«, вправо «+».
  • По Y — вперёд «+», назад «-«.
  • По оси Z — сближение «-«, удаление «+».
  • Экструдер. Extrude — выдавливание нити, Reverse (retract) — откат, втягивание нити.

#define INVERT_X_DIR false
#define INVERT_Y_DIR false
#define INVERT_Z_DIR false
#define INVERT_E0_DIR true

Установка габаритов перемещения, после инициализации в положении HOME. Здесь мы задаём габариты максимальных перемещений по осям X и Y, а также настройку сопла относительно стола.
Если при касании стола соплом срабатывает концевой выключатель (MIN), как у Ultimaker Original, то поднастройка сопла относительно стола выполняется перемещением концевого выключателя, а в «#define Z_MAX_POS» записываем значение координаты при максимальном удалении сопла от стола. Координату можно узнать по команде М114 или посмотрев на экран дисплея.
Если концевой выключатель по Z срабатывает при максимальном удалении сопла от стола (MAX), то нужно найти габарит по Z самостоятельно. Устанавливаем значение «#define Z_MAX_POS» изначально больше нормы, например 250 при габарите 200 мм. Опускаем сопло до касания стола и на дисплее (или по команде M114) видим координату больше нуля, теперь вычтем из установленного большого значения полученную координату и получим габарит по Z, который теперь запишем в «#define Z_MAX_POS». По итогам печати первого слоя можно будет подкорректировать это значение.

// Travel limits after homing
#define X_MAX_POS 215
#define X_MIN_POS 0
#define Y_MAX_POS 215
#define Y_MIN_POS 0
#define Z_MAX_POS 200
#define Z_MIN_POS 0

Можно подкорректировать скорость перемещения в положение HOME. Обычно занижают скорость по оси Z, если стоят кривые шпильки.

#define HOMING_FEEDRATE {50*60, 50*60, 4*60, 0} // set the homing speeds (mm/min)

Переходим к самому важному. Настройка шагов перемещения по осям. Экструдер тоже ось. Мои настройки:

#define DEFAULT_AXIS_STEPS_PER_UNIT {(200*16)/(2.0*20),(200*16)/(2.0*20),200*16/1.25,(3200 * 39.0)/(11.0 * 6.75 * 3.45)}

Теперь посмотрим, как я их получил. По всем осям стоят шаговые двигатели 200 шагов на оборот, 16 микрошагов на шаг (устанавливается перемычками на плате), приводной ремень GT2 с шагом 2 мм, 20-ти зубые шкивы, итого получаем формулу (200*16)/(2.0*20). По оси Z стоят шпильки М8 с шагом резьбы 1,25 мм, итого формула 200*16/1.25.

Находим спецификации (даташит) на установленные шаговые двигатели. Видим, что за один шаг вал поворачивается на 1,8 градуса, а это значит 360/1,8=200 шагов на полный оборот. Этот параметр одинаковый у большинства шаговых двигателей устанавливаемых в домашние 3D принтеры.

Профили ремней, обычно используемых на 3D принтерах и их шаг. Оригинал здесь, страница 61.

Шкив

Как померить шаг винта? Замеряем участок винта и считаем на нём витки, затем длину участка в миллиметрах делим на количество витков 20/16=1.25 мм. Для более точного результата замеряем максимальный участок винта.

Настройка экструдера зависит от коэффициента редукции и диаметра подающей шестерни. Подберём экспериментально, после первой заливки прошивки в 3D принтер. Откручиваем сопло и уменьшаем ограничения минимальной температуры сопла до 5 градусов «#define EXTRUDE_MINTEMP 5». Теперь экструдер будет работать при холодном сопле, что нам и нужно. Пока не меняем настройки экструдера. Для настройки я использую программу Pronterface. Для начала ставим 50 мм и скорость 100 мм/сек. 50 мм — это длина прутка, проходящего через экструдер. Измеряем длину прутка прошедшего через экструдер линейкой или штангенциркулем.

Подбирая настройку экструдера добиваемся точной цифры на разумной длине прутка, например 300 мм. После настройки вернём ограничения минимальной температуры «#define EXTRUDE_MINTEMP 170».

Следующие цифры — это ограничение максимальной скорости перемещения по осям. На X и Y я ставлю 200 мм.

#define DEFAULT_MAX_FEEDRATE {200, 200, 5, 25}

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

#define DEFAULT_MAX_ACCELERATION {1000,1000,100,10000}
#define DEFAULT_ACCELERATION 1500

Осталось активировать LCD дисплей с SD картой. Свой дисплей я нашёл на RepRap.org и идентифицировал как RepRapDiscount Smart Controller.

Раскомментируем следующие строки. То есть убрать двойные слэши. Строка за «//» не используется и является только комментарием. Когда убираем слэши строка принимает участие в компиляции прошивки и задействует её функции.

#define ULTRA_LCD
#define SDSUPPORT
#define ULTIPANEL
#define REPRAP_DISCOUNT_SMART_CONTROLLER

Для подключения LCD к Ultimaker нужно раскомментировать только одну строку

#define ULTIMAKERCONTROLLER

Есть ещё один твик для повышения точности срабатывания некоторых концевых выключателей. При настройке нуля по Z столкнулся с тем, что после каждой инициализации HOME положение сопла над столом немного менялось. Порывшись в прошивке нашёл параметр отвечающий за длину отката при инициализации концевых выключателей. Переходим во вкладку Configuration_adv.h и ищем строку «#define Z_HOME_RETRACT_MM 2» или «#define Z_HOME_BUMP_MM 2», меняем значение 2 на 5 и больше не вспоминаем про этот параметр. Это можно исплоьзовать и для других осей.

Пора заливать прошивку в контроллер. Для этого нужно в Arduino IDE правильно выставить тип платы и номер COM порта. Внизу окна отобразится тип платы и номер порта. Не забываем сохранять изменения (Ctrl+S).

RAMPS

MELZI, Sanguinololu

Ещё одна инструкция для появления выбора Sanguino в меню Arduino IDE (на старых версиях Arduino IDE не работает):

Заходим в меню Файл -> Настройки

В поле ввода Additional Boards manager URLs: вставляем адрес https://raw.githubusercontent.com/Lauszus/Sanguino/master/package_lauszus_sanguino_index.json
и нажимаем OK

Идём в меню Инструменты -> Плата и нажимаем на Boards Manager…

Открывается окно Boards Manager, в котором нужно найти Sanguino, кликнуть по нему и появится кнопка Install, которую нужно нажать для установки поддержки Melzi

После установки появится надпись INSTALLED

Теперь можно выбрать Плату, Процессор и Порт

Для заливки прошивки нажимаем на круг со стрелкой.

Прогресс заливки прошивки отображается индикатором

После того, как всё заработает нужно откалибровать PID нагрева хотэнда и стола. Для этого я использую Pronterface. Вводим команду «M303 E0 C8 S260«. Где M303 — команда калибровки, E0 — хотэнд, C8 — количество циклов нагрева-охлаждения, S260 — типичная температура работы сопла.

Последние результаты записываем в прошивку.

#define DEFAULT_Kp 12.22
#define DEFAULT_Ki 0.58
#define DEFAULT_Kd 64.08

По такой же схеме калибруем PID стола. Отвечает строка #define PIDTEMPBED. Команда «M303 E-1 C8 S110«. Где E-1 — стол, S110 — типичная температура нагрева стола. Последние результаты записываем в прошивку. У меня стол нагревается очень медленно и поэтому приходится перезапускать команду из-за ошибки Timeout.

#define DEFAULT_bedKp 105.94
#define DEFAULT_bedKi 4.97
#define DEFAULT_bedKd 564.11

В последних прошивках не настраивается автоПИД на реле. Реле переключается очень быстро. Это сильно разогревает твердотельное реле и обычное реле видимо долго не проживёт. Предлагаю использовать пока мою старую настройку
#ifdef PIDTEMPBED
#define DEFAULT_bedKp 234.18
#define DEFAULT_bedKi 31.62
#define DEFAULT_bedKd 433.56
#endif // PIDTEMPBED
или эту
#ifdef PIDTEMPBED
#define DEFAULT_bedKp 105.94
#define DEFAULT_bedKi 4.97
#define DEFAULT_bedKd 564.11
#endif // PIDTEMPBED

Вместо PID регулировки можно включить режим гистерезиса bang-bang. PID комментируем, режим bang-bang раскомментируем:
Configuration.h
//#define PIDTEMPBED
#define BED_LIMIT_SWITCHING
время и температура контроля переключения
Configuration_adv.h
#ifdef BED_LIMIT_SWITCHING
#define BED_HYSTERESIS 2 //only disable heating if T>target+BED_HYSTERESIS and enable heating if T>target-BED_HYSTERESIS
#endif
#define BED_CHECK_INTERVAL 5000 //ms between checks in bang-bang control

Как узнать уже установленные в прошивке параметры?

M501 читает параметры прошивки и их можно сохранить в текстовом файле

Параметры установленные в прошивке можно узнать в программе Repetier-Host через меню Конфигурация\Конфигурация EEPROM. Предварительно нужно указать COM порт в настройках и нажать кнопку «Подсоединить».

При подключении 3D принтера к программе Pronterface в правой части окна загружается список параметров

Также параметры можно увидеть на LCD дисплее. Через меню Control\Motion.

Вопрос — ответ
настроил ПИД, температуру держит на ура, но при нагреве с 20 до 240 улетает за 270. какой из коэфициентов руками подкрутить?
решил проблему снижением тока в прошивке и руками уменьшил Кр относительно автопид на несколько едииниц
#define BANG_MAX 255 // limits current to nozzle while in bang-bang mode; 255=full current
#define PID_MAX BANG_MAX // limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
Теперь температура + — 3градуса

Возможные ошибки

На экране надпись:
Err MINTEMP — Неподключен термистор (термопара) или обрыв провода к нему.
Err MAXTEMP — Короткое замыкание контактов термистора (термопары).

Описание G-кодов http://reprap.org/wiki/G-code

Часики 3D

 Arduino  Комментарии к записи Часики 3D отключены
Мар 052017
 

3D-printed Watch with Tourbillon

Designed by TheGoofy

Like23 Collect21 Views8530

3D-printed Watch with Tourbillon 3D Printing 120315

3D-printed Watch with Tourbillon 3D Printing 120316

3D-printed Watch with Tourbillon 3D Printing 120317

3D-printed Watch with Tourbillon 3D Printing 120318

3D-printed Watch with Tourbillon 3D Printing 120319

3D-printed Watch with Tourbillon 3D Printing 120320

Horizontal thumbnail 3D-printed Watch with Tourbillon 3D Printing 120315
Horizontal thumbnail 3D-printed Watch with Tourbillon 3D Printing 120316
Horizontal thumbnail 3D-printed Watch with Tourbillon 3D Printing 120317
Horizontal thumbnail 3D-printed Watch with Tourbillon 3D Printing 120318
Horizontal thumbnail 3D-printed Watch with Tourbillon 3D Printing 120319
Horizontal thumbnail 3D-printed Watch with Tourbillon 3D Printing 120320
Shape thumbnail 3D-printed Watch with Tourbillon 3D Printing 793039
Shape thumbnail 3D-printed Watch with Tourbillon 3D Printing 793038
Shape thumbnail 3D-printed Watch with Tourbillon 3D Printing 793034
Shape thumbnail 3D-printed Watch with Tourbillon 3D Printing 793031
Shape thumbnail 3D-printed Watch with Tourbillon 3D Printing 793026
Shape thumbnail 3D-printed Watch with Tourbillon 3D Printing 793024
Shape thumbnail 3D-printed Watch with Tourbillon 3D Printing 793023
Shape thumbnail 3D-printed Watch with Tourbillon 3D Printing 793021
Shape thumbnail 3D-printed Watch with Tourbillon 3D Printing 793019
Shape thumbnail 3D-printed Watch with Tourbillon 3D Printing 793014
Shape thumbnail 3D-printed Watch with Tourbillon 3D Printing 793013
Shape thumbnail 3D-printed Watch with Tourbillon 3D Printing 793008
Shape thumbnail 3D-printed Watch with Tourbillon 3D Printing 793005
Shape thumbnail 3D-printed Watch with Tourbillon 3D Printing 793000
Shape thumbnail 3D-printed Watch with Tourbillon 3D Printing 792999
Shape thumbnail 3D-printed Watch with Tourbillon 3D Printing 792994
Shape thumbnail 3D-printed Watch with Tourbillon 3D Printing 792991
Shape thumbnail 3D-printed Watch with Tourbillon 3D Printing 792989
Shape thumbnail 3D-printed Watch with Tourbillon 3D Printing 792992
Shape thumbnail 3D-printed Watch with Tourbillon 3D Printing 793001
Shape thumbnail 3D-printed Watch with Tourbillon 3D Printing 793003
Shape thumbnail 3D-printed Watch with Tourbillon 3D Printing 793006
Shape thumbnail 3D-printed Watch with Tourbillon 3D Printing 793010
Shape thumbnail 3D-printed Watch with Tourbillon 3D Printing 793012
Shape thumbnail 3D-printed Watch with Tourbillon 3D Printing 793017
Shape thumbnail 3D-printed Watch with Tourbillon 3D Printing 793018
Shape thumbnail 3D-printed Watch with Tourbillon 3D Printing 793041
Shape thumbnail 3D-printed Watch with Tourbillon 3D Printing 793040
Shape thumbnail 3D-printed Watch with Tourbillon 3D Printing 793037
Shape thumbnail 3D-printed Watch with Tourbillon 3D Printing 793036
Shape thumbnail 3D-printed Watch with Tourbillon 3D Printing 793035
Shape thumbnail 3D-printed Watch with Tourbillon 3D Printing 793033
Shape thumbnail 3D-printed Watch with Tourbillon 3D Printing 793032
Shape thumbnail 3D-printed Watch with Tourbillon 3D Printing 793030
Shape thumbnail 3D-printed Watch with Tourbillon 3D Printing 793029
Shape thumbnail 3D-printed Watch with Tourbillon 3D Printing 793028
Shape thumbnail 3D-printed Watch with Tourbillon 3D Printing 793027
Shape thumbnail 3D-printed Watch with Tourbillon 3D Printing 793025
Shape thumbnail 3D-printed Watch with Tourbillon 3D Printing 793022
Shape thumbnail 3D-printed Watch with Tourbillon 3D Printing 793020
Shape thumbnail 3D-printed Watch with Tourbillon 3D Printing 793016
Shape thumbnail 3D-printed Watch with Tourbillon 3D Printing 793015
Shape thumbnail 3D-printed Watch with Tourbillon 3D Printing 793011
Shape thumbnail 3D-printed Watch with Tourbillon 3D Printing 793009
Shape thumbnail 3D-printed Watch with Tourbillon 3D Printing 793007
Shape thumbnail 3D-printed Watch with Tourbillon 3D Printing 793004
Shape thumbnail 3D-printed Watch with Tourbillon 3D Printing 793002
Shape thumbnail 3D-printed Watch with Tourbillon 3D Printing 792998
Shape thumbnail 3D-printed Watch with Tourbillon 3D Printing 792997
Shape thumbnail 3D-printed Watch with Tourbillon 3D Printing 792996
Shape thumbnail 3D-printed Watch with Tourbillon 3D Printing 792995
Shape thumbnail 3D-printed Watch with Tourbillon 3D Printing 792993
Shape thumbnail 3D-printed Watch with Tourbillon 3D Printing 792990


Prints (0)

Upload a Print

  • No Prints Yet

    Be the first to upload a Print for this Design!

  • Drag & Drop A Photo or
    Click To Browse

Description

This is a mechanical watch with tourbillon driven by a 3d-printed mainspring. The watch has a Swiss lever escapement. The mainspring inside the going barrel keeps the watch running for approximately 30 Minutes. Accuracy is roughly one Second deviation within one Minute (depending on print-settings).

The project demonstrates that the 3D-printing technology is developing. Compared with earlier generations of 3d-printers, the process works more reliable and more accurately. However it’s still a very advanced project, because printing inaccuracies need to be trimmed manually with some watchmaker skills, or the watch won’t tick. The watch is designed with Autodesk Fusion 360, and printed with Ultimaker 2.

How it’s made:

https://youtu.be/Go8woPGOggg

Assembly:

https://youtu.be/XiZAEaES2Ng

https://jig.space/view?jig=728 (Thanks to http://www.thingiverse.com/greenlig)

Assembly Time Lapse:

https://youtu.be/s3p25T6YlQc

Autodesk Fusion 360 Design: http://a360.co/1S4wp4W (all parts assembled) http://a360.co/1KUNz3g (main spring relaxed) Many thanks to Nicholas Manousos for his great article in HODINKEE explaining the importance of my project from a watchmakers perspective. His first 3d-printed Tourbillon 1000% was also a source of inspiration for my work.

Print Settings Printer Brand: Ultimaker Printer: Ultimaker 2 Rafts: No Supports: No Resolution: Normal (cura defaults) Infill: 30% Notes: 0.4 mm Nozzle

Only the Pawl Unlock Key needs to be printed with support.

Hairspring, Anchor, Escapement Wheel, and some gears were printed with high resolution (0.06mm layer, 0.8mm shell). All other parts are printed with normal resolution (0.1mm layer, 0.8mm shell).

The infill of the anchor is 80% in order to have a better balanced center of gravity (rest has 30% infill).

For the case I used PETG (slightly bendable, shock absorbing), and the gears are printed with PLA (harder and less friction). In colours: black and yellow parts are PETG, orange and red parts are PLA.

The Mainspring is printed with PETG (PLA probably breaks after a while). I switched off «combing» in Cura. While this is a cool feature for regular shaped parts, it causes problems with large spiral shaped parts: The print-head does many useless long (2 meters!) travelling moves. Printing not only takes 30% longer, it oozes during the move, and when continuing to print, the nozzle is empty of material, and the resulting under-extrusion is disastrous.

The Hairspring needs to be printed in PLA. Other material basically work as well, but due to different stiffness, it’s expected, that the watch runs too slow, or too fast. The design of the spring needs to be changed depending on the material.

Printing on heated glass-bed. Used a mix of alcohol and water to clean it. Adhesion is exceptional. For removing the parts from the build plate I poured a few drops of the same alcohol mix into the groove between plastique and glass. The effect is miraculous and the part can be removed immediately without applying any force.

Make sure x- and y-axis of your printer are adjusted really square! My Ultimaker wasn’t fabricated good enough (1-2mm slant) — the result were oval Minutes and Hours wheel, and they jammed at some angles.

Instructions Watch this video, if you like to understand, how the watch is constructed. These are all the Parts needed. 51 downloadable and printable, and some Pins and Screws.

Part List:

  • 1 Pin, Diameter 1.5 mm, Length 55.5 mm (tourbillon axis)
  • 1 Pin, Diameter 1.5 mm, Length 12 mm (anchor axis)
  • 1 Pin, Diameter 1.5 mm, Length 8.5 mm (planet gear axis)
  • 3 Pins, Diameter 2 mm, Length 57 mm (axis for pinions for minutes and hours wheel)
  • 6 Pins, Diameter 2 mm, Length 22 mm (axis for basic transmission)
  • 1 Pin, Diameter 2 mm, Length 15 mm (attachment main spring)
  • 1 Pin, Diameter 3 mm, Length 22.5 mm (axis for main spring)
  • 1 Pin, Diameter 3 mm, Length 31 mm (axis for main pinion)
  • 3 Washers, Diameter 3 mm (main spring, pinion)
  • 6 Washers, Diameter 2 mm (transmission)
  • 5 Washers, Diameter 1.5 mm (tourbillon, escapement)
  • 5 Screws, Diameter 1.8 mm, Length 6.5 mm (ratchet pawls)
  • 5 Screws, Diameter 1.5 mm, Length 5 mm (going barrel)
  • 4 Screws, Diameter 1.5 mm, Length 10 mm (base plate)
  • 4 Screws, Diameter 1.8 mm, Length 12 mm (clock face)
  • 3 Screws, Diameter 1.5 mm, Length 10 mm (tourbillon cage)

Small holes are usually not very accurately printed. Use a drill to smooth the inner surface — especially the Balance Wheel needs to rotate with very little friction, and very little play. If you don’t find pins or screws with the recommended diameter, you can certainly use little larger pieces — there is some «meet» which can be drilled out.

Spring Barrel Assembly: Align the Barrel like in the picture below. It will then slide into the case like in the video (2:49). The Pawl Unlock Key is also a useful tool to keep the pawls in place during this assembly step.

Besides the Winding Key there is also a Key to unlock the Ratchet Pawls. I recommend to fully unwind/relax the Main Spring, when the watch is not used. It certainly will extend the life-time.

Have fun! 🙂

Начинаеми изучать ПЛИС

 Arduino  Комментарии к записи Начинаеми изучать ПЛИС отключены
Фев 102017
 

Разработка → Сделай шаг к ПЛИС

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

Ты ждал знак? Вот он!

Много лет я не решался начать программировать ПЛИС, потому что это сложно, дорого и больно (как мне казалось). Но хорошо, когда есть друзья, которые помогают сделать первый шаг. И теперь я не понимаю одного — ПОЧЕМУ Я ЖДАЛ ТАК ДОЛГО?

Сейчас я помогу сделать первый шаг и тебе!

А зачем оно мне?

Ты устал постоянно читать доки по своему МК или держать кучу информации в голове. Ты все переписал на asm, но скорости все равно не хватает. Ты подключил два внешних устройства к своему МК, подключаешь третье, но у тебя кончились прерывания, перестают работать те модули, что уже работали. Ты берешь другой МК, более мощный из той же линейки, но опять мануалы, регистры флагов, биты… ад. Меняешь платформу: переходишь на другой МК и выкидываешь на помойку свои знания по прежней платформе. Что бы ты не делал — оно дается тяжело. Ты находишь популярную платформу, в которой можно легко из компонентов собирать проект, но выше аппаратных ограничений данного МК все равно не удается прыгнуть… Где-то на краешке сознания иногда проскакивает мысль, что вот на ПЛИС это бы точно заработало быстро и параллельно, что это «именно та задача, которую бы надо решать на плис», но я стар/глуп/занят/etc чтобы суметь/начать такое делать.

Хочешь наконец вздохнуть свободно? Идем дальше!

Радость от разработки на ПЛИС

У меня был тяжелый рабочий день. С одной работы я приехал на вторую работу, потом на дачу, вечером домашние дела, уроки, потом семейный просмотр кино и только в 23 часа я оказался совершенно свободен! Сказать, что я был уставший — ничего не сказать. Но в таком состоянии я сел за ноут с твердой целью: сделать генератор меандра на 440 Гц. Прошло 20 минут и я уже слышал его в наушниках. Я не верил своим ушам! Еще 15 минут мне потребовалось, чтобы сделать ШИМ и менять громкость. К тому времени плата с ПЛИС у меня была всего с неделю и до этого я пролистал всего пару книг по Verilog.

В тот вечер я понял: ВОТ ОНО! Вот та платформа, в которой я быстро и легко могу превращать свои мысли в реально работающее железо!

Почему так?

Опишу плюсы, которые есть в изучении и применении ПЛИС, хотя их и так все знают:

  • Универсальность знаний — при смене модели МК нужно читать доки. При смене производителя МК нужно читать доки. Нужно постоянно читать доки, постоянно держать в голове кучу информации. При разработке на ПЛИС, если знаешь Verilog или VHDL, то можно не только программировать любой ПЛИС из линейки одного производителя, но и при желании перейти на другого (Altera, Xilinx). Хоть и будут моменты с освоением другой среды разработки, тонких аппаратных моментов, но сама суть подхода проектирования устройств на HDL от этого не изменится.
  • От идеи к железу — при разработке проекта, если тебе не хватает одного мк, то приходится выбирать другой. В принципе можно строить предположения справится или не справится этот МК с проектом. Либо есть какой-то конкретный МК и ты пытаешься туда вместить проект. Чаще всего именно так. Мне это чем-то напоминает подход моего деда, который делает лестницу из того, что есть в сарайке. Хотя можно спроектировать лестницу, купить досок, которые подойдут… От идеи к железу, а не наоборот.
  • Простота применения чужих разработок — можно взять чужой модуль и применить его в своем проекте. По коду сможете понять, как он работает. Даже, если он для xilinx, а вы делаете под altera. Иногда это получается не сарзу, но это проще, чем, например, добавлять двоичные библиотеки к проекту на c++/Qt
  • Независимость блоков. Блоки в HDL, как чистые фунции в ЯП. Зависят только от входных сигналов. Разработанный и отлаженный модуль в будет и дальше работать правильно, как бы не рос проект. Ничто снаружи не повлияет на правильность его работы изнутри. Да и вообще можно забыть, как он работает — это черный ящик. К тому же, блоки работают параллельно.

Проблема выбора

Сильно останавливают вопросы, что выбрать: Altera/Xilinx, Verilog/VHDL, какую отладочную плату взять. Но обо всем по порядку.

Производитель

Я выбрал Altera. Почему? Ну мы вот так с другом решили, хотя название Xilinx мне красивее. НО. Если ты сейчас не можешь выбрать, то я сделаю это за тебя. Тебе нужен Altera! Почему? Я не знаю. Сейчас важнее сделать шаг: сделать выбор. Я выбрал Altera и пока не пожалел.

Язык

Берем Verilog потомучто… ну ты понял.

Отладочная плата

На выбор отладочной платы ушло больше всего времени. Понятно, что платы отличаются установленной микросхемой ПЛИС. А микросхемы ПЛИС отличаются друг от друга количеством элементов. Но совершенно не понятно, сколько их потребуется для твоих тестовых проектов. Поэтому большую часть времени я потратил на поиск всевозможных проектов на ПЛИС на предмет того, чтобы узнать, сколько они потребляют ресурсов ПЛИС.

В семействе Altera, за разумные деньги мы можем купить платы с CPLD MAX II на 240, 570 и 1270 элементов, либо более старшие микросхемы FPGA, которые Cyclone 1, 2, 3, 4 с количеством до 10000 и более ячеек. Как же выбрать?

Даже на базе 240 ячеек, проект Марсоход делает просто огромное количество проектов. Настоятельно рекомендую ознакомиться, чтобы иметь примерное представление о сложности проектов, которые можно уместить в 240 ячеек. С другой стороны, существуют проекты, которые полностью программируются под аппаратную копию определенного ПК, включая процессор и всю логику вокруг него (NES, Speccy, Orion, ЮТ-88, etc). Для этого уже требуется пять, десять и более тысяч ячеек. Плюс эти платы содержат дополнительные внешние устройства.

Поэтому я бы посоветовать взять что-то среднее между 240 и 10000 ячейками, с предпочтением в сторону увеличения в зависимости от доступных средств. На отладочной плате лишние ячейки это не страшно, а если их не хватит — уже ничего не поделаешь. Потом, когда устройство отлажено, станет ясно, сколько надо ячеек, купить под нужное количество, без лишнего «обвеса», дешевле и оставить в готовом устройстве.

То, чем действительно отличаются MAX от Cyclone’ов, кроме количества ячеек, это:
1) У серии MAX внутри нет PLL. На каждой отладочной плате есть генератор, как правило на 50 МГц. Основной массе проектов этого будет достаточно. Все синхронизации будут происходить путем деления 50 МГц на какое-нибудь значение. Либо, можно взять внешний генератор и подать на отдельный вход ПЛИС. А что, если потребуется частота выше 50 МГц? Мне не удалось с ходу найти генераторы выше 50 МГц. Но тут как раз на помощь и приходит PLL, который встроен в Циклоны. На нем можно умножить частоту, например, до 100 МГц.
2) В серии Cyclone встроены аппаратные блоки умножения. Их количество зависит от конкретной модели — тут как раз можно «всетаки заглянуть в инструкции», чтобы узнать сколько. Если предполагаете делать какой-то ЦОС, то они пригодятся: сэкономят ячейки, увеличат скорость. С другой стороны, если нет умножителей, их можно синтезировать, но у маленькой ПЛИС на это может не хватить ресурсов.

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

Сколько нужно денег?

Программатор
Я считаю, что у меня нет времени, чтобы паять программаторы на рассыпухе.

300 рублей. Я свой брал на ебее, выглядит так:

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

Начальный уровень 350 — 550 рублей. Это платы на MAX II (240 или 570 ячеек). Могут подойти для начального ознакомления и дальнейшего пристройства в конечные устройства. На плате есть генератор, пара кнопок, пара светодиодов, остальные 80 выводов на свое усмотрение.

Блок питания
Обязательно должен быть, но не всегда идет в комплекте. Потребуется БП на 5 вольт и ток 2А.

Средний уровень от 900 до 1500 рублей. Это платы Cyclone 1, 2, 3, 4 отличающиеся в основном количеством ячеек.
Маркируются примерно так:
EP2C5T144 — Cyclone 2 примерно 5к ячеек
EP4CE6E22C8N — Cyclone 4 примерно 6к ячеек
EP2C8Q208C8N — Cyclone 2 примерно 8к ячеек

Можно заметить, что Cyclone 3 может иметь больше ячеек, чем Cyclone 4.

Вот несколько вариантов:

835 рублей.
ALTERA FPGA CycloneII EP2C5T144 Minimum System Board for Learn good

880 рублей
Altera CycloneII EP2C5T144 FPGA Mini Development Learn Core Board E081

1265 рублей
EP2C8 EP2C8Q208C8N ALTERA Cyclone II FPGA Evaluation Development Core Board

Платы с расширенными возможностями. Это платы, на которых установлены дополнительные модули (UTP, USB, AUDIO), разъемы (SD, VGA), кнопки, переключатели, светодиоды, семисегментные индикаторы и т.д. Либо может идти базовая плата, а к ней могут прилагаться платы расширения отдельно.

У меня трудится такой комплект — плата + плата расширения:
Altrea EP4CE10E22 FPGA CORE Board+ Device Board USB/Sound/Ethernet/SD Card/VGA
2760 рублей

Вот основная плата. На ней есть 2 светодиода, 2 кнопки, 4 переключателя, семисегментный интикатор и микросхема оперативной памяти.

Плата расширения. На ней распаяны SD, VGA, а так же контроллеры USB(High Speed USB2.0 Chip: CY7C68013A), AUDIO(Sound Card up to 96kHz/32bit ADC/DAC: WM8731S), UTP(100M Ethernet interface: DM9000A):

Эти платы просто вставляются одна в другую, но у меня она пока лежит в ящике. Для своих поделок у меня макетка, с которой я соединяюсь шлейфом, который идет в комплекте. Еще в комплекте идет блок питания на 5 вольт.

Еще варианты:

Altera Cyclone NIOS II SOPC FPGA Development Learning Board EP2C8Q208C8N+LCD1602 — 2670 рублей

Terasic Altera FPGA DE0-Nano Cyclone IV Development and Education Board — 4600 рублей

Широкий выбор альтеровских плат и расширений к ним
Проект Марсоход

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

Заказал, ждем

Пока идут платы, можно начать себя морально и технически готовить:
— Установить Quartus II v.11.1
Почитать:
— Книга: А.К. Поляков Языки VHDL и Verilog в проектировании цифровой аппаратуры 2003
www.kit-e.ru/articles/circuit/2008_3_161.php — Краткий курс HDL
— Уроки на марсоходе по верилогу, архитектура, простые советы по стилю.
VERILOG как образ жизни
Хорошие примеры (EN)
Как начать работать с ПЛИС (Xilinx)

Синтезатор AD9850

 Arduino  Комментарии к записи Синтезатор AD9850 отключены
Янв 312017
 

Зайдя в очередной раз на сайт местного радиомагазина, обнаружил в продаже интересный девайс. Модуль DDS (direct digital synthesis) — синтезатор частоты на микросхеме AD9850. Такой:

Заявленные характеристики:

  • частота генерации от 0,029 Гц до 62,5 МГц;
  • количество разрядов ЦАП – 10;
  • выходной ток ЦАП – до 10,24 мА при напряжении ограничения 1,5 В;
  • встроенный компаратор для получения двух оппозитных ТТЛ выходов;
  • возможность цифрового управления частотой как по параллельному, так и по последовательному интерфейсу;
  • напряжение питания – 5 В;
  • потребляемый ток до 96 мА.

И вот, приобретя данный девайс, я решил тряхнуть стариной и исключительно для удовольствия и из любви к искусству изготовить блок управления любительским КВ приемником прямого преобразования на диапазоны 40 и 80 метров.

Для управления модулем синтезатора будем использовать ARDUINO UNO R3 (в моем случае – китайский совместимый клон). Информацию о частоте и других параметрах будем отображать на алфавитно-цифровом ЖК дисплее 16*2, регулировать частоту будем энкодером, переключение диапазонов – логический уровень «0» или «1» на одном из входов ARDUINO.

Схема устройства:

Выходной синусоидальный сигнал снимается с выхода OUT2 платы синтезатора. Амплитуда 0,5 В, постоянная составляющая – 0,512 В, выходное сопротивление – 100 Ом.

Выдаваемые частоты по диапазонам:

  • 80 м – 1745,00 – 1900,00 кГц (принимаемый диапазон 3490 – 3800 кГц);
  • 40 м. – 3500,00 – 3610,00 кГц (принимаемый диапазон 7000 – 7220 кГц).

Смеситель приемника прямого преобразования работает на частоте гетеродина, равной половине частоты принимаемого сигнала, поэтому выходные частоты синтезатора имеют соответствующие значения. При этом на ЖК дисплей выводится значение частоты принимаемого сигнала, т.е. из диапазона, указанного в скобках.

Для регулирования частоты используется энкодер BR1 на 24 положения, 5 выводной, с кнопкой. Кнопка энкодера управляет режимом «Грубо/Точно». После включения устройства по умолчанию включен режим «Грубо». При этом шаг изменения частоты принимаемого сигнала – 1 кГц. При однократном нажатии на кнопку (вал) энкодера режим переключается в «Точно». Шаг изменения частоты принимаемого сигнала при этом уменьшается до 10 Гц. При этом на ЖК дисплее справа от значения частоты отображается буква «Т». Повторное нажатие кнопки энкодера возвращает режим «Грубо».

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

Переключение диапазонов осуществляется подачей логического «0» (диапазон 80 м) или «1» (диапазон 40 м) на вход «BAND». Вход активный, т.е. при обрыве линии, на нем присутствует логическая единица, благодаря подключенному внутреннему подтягивающему резистору контролера ARDUINO. Таким образом, для переключения диапазонов достаточно механической коммутации данного входа на массу.

На вход ААС подается напряжение АРУ приемника для вывода на дисплей показаний S-метра. В моем случае напряжение АРУ 6-10 В соответствует величине принимаемого сигнала S9- S1 соответственно. Значение S выводится на ЖК дисплей.

Кроссовая плата устройства односторонняя, разведена в программе SprintLayout, изготовлена методом ЛУТ. Вид со стороны элементов:

Готовая плата:

Поработав паяльником, получили набор:

В сборе:

В работе:

При разработке использовались материалы статьи: http://nr8o.dhlpilotcentral.com/?p=83

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

Прикрепленные файлы:

22 January, 2017 21:56

 Arduino  Комментарии к записи 22 January, 2017 21:56 отключены
Янв 222017
 

Оптические датчики сердечного ритма. Простой кардиомонитор

Одним из востребованных направлений электроники является медицинская электроника. Данный класс электроники реализует диагностические и лечебные аппараты, решающие какие-либо медико-биологические задачи. Также для медицинской электроники свойственна большая точность и стабильность, так как от этой техники часто зависит жизнь человека.

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

Начиная с максимально простого и доступного, состояние здоровья сердца и сердечно-сосудистой системы можно определять по частоте сердечных сокращений или по пульсу. Пульс — это важнейший показатель качества физиологических процессов в организме, позволяющий судить о здоровом состоянии организма и его тренированности, о различных заболеваниях организма, причем не только сердца, но и других органов и систем. Пульс — это толчок крови в сосудах при сокращении сердца, производящий колебания стенок кровеносных сосудов. Пульс характеризуется следующими пара метрами: частота, ритм, напряжение и наполнение.

Возвращаясь к электронике, измерить пульс можно разными способами: при помощи оптопары (светодиод, фотодиод) на просвет части тела или на отражение, при помощи микрофонной техники, при помощи измерения электрической активности сердечной мышцы (ЭКГ), при помощи пьезодатчиков и даже по видеоизображению лица в новейших разработках и др.

Одним из самых распространенных и недорогих способов является оптический метод, который при должном подходе может давать достаточно точный результат. В самом простом варианте можно использовать светодиод и фотодиод, с последнего просто снимается сигнал. При сокращении сердца кровь по сосудам движется неравномерно в зависимости от работы сердца и сосудов. В соответствии с этой неравномерностью будет изменяться отраженный или просвечивающий сигнал от светодиода на фотодиоде. Усилив этот сигнал можно получить не только количество сокращений сердца по амплитудам сигнала, но и приблизительную кардиограмму.

Такие датчики в продаже можно найти нескольких исполнений от простейшей пары светодиод – фотодиод, до модулей с усилением и фильтрацией сигнала. Примером последнего является датчик pulsesensor.com, который мы будем сегодня использовать.

Схема датчика:

Технические характеристики датчика пульса:

  • Напряжение питания от 3 до 5 В
  • Ток потребления при напряжении питания примерно 2 мА
  • Диаметр модуля 16 мм
  • Тип выходного сигнала аналоговый
  • Способ детектирования сердечных сокращений по отраженному сигналу

Подключив питание к этому датчику, с выходного контакта при помощи осциллографа можно получить приблизительную кардиограмму и по временному промежутку между пиками определить частоту пульса.

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

Однако использование осциллографа не всегда удобно или возможно, поэтому попробуем собрать самостоятельно простейший кардиомонитор.

Схема устройства:

Схема построена на базе микроконтроллера STM32F103C8T6. В качестве индикатора используется TFT LCD дисплей разрешением 240х320 c интерфейсом SPI на базе контроллера ILI9341. Питание схемы 3,3 В (при питании 3,3 В дисплей будет работать), что позволяет использовать Li-ion аккумуляторы при некоторой модернизации схемы для мобильности и безопасности устройства. Датчик пульса подключается к нулевому каналу АЦП1 микроконтроллера. Аналогично осциллографу по измерениям АЦП строится график на экране дисплея. По значению времени между пиками (отмеряется таймером микроконтроллера) кардиограммы определяем частоту пульса в единицу времени. Каждую миллисекунду происходит прерывание, в котором отсчитывается количество миллисекунд между пиками кардиограммы, то есть период. Для перевода в значение сердечных сокращений в минуту применяем формулу:

60000(мсек)/ΔT (мсек)

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

Итак, получив данные о сердечных сокращениях, можно судить о здоровье следующим образом. У среднестатистического взрослого человека нормальный пульс составляет 60-80 ударов в минуту. У спортсменов это значение значительно ниже и более стабильно при физических нагрузках. У женщин обычно пульс чаще, а у детей в зависимости от возраста значительно чаще, чем у взрослых. Необходимо отметить, что учащение пульса возникает при физической нагрузке, при нервном напряжении, курении, потреблении чая, кофе и алкогольных напитков. Измерьте пульс в то время, когда вас посетили волнения и нервное напряжение. По величине отклонения пульса можно определить, что у вас уже имеется невроз. Наиболее нервные люди, часто волнуясь по пустякам, напрягают свою нервную систему, и тут же сердце реагирует учащенным пульсом, а сосудистая система — увеличением артериального давления. Вначале у таких людей появляется сердечно-сосудистая дистония, невроз сердца, а затем наступают серьезные заболевания сердечно-сосудистой системы. Если ваш пульс реагирует учащением на мелкие неприятности, то необходимо срочно дать отдых организму и заняться собственным оздоровлением. Учащение пульса более 100 ударов в минуту называется тахикардией и требует к себе особого внимания. По этому поводу вы обязательно должны показаться врачу. Понижение пульса до значения ниже 50 ударов в минуту называется брадикардией и также требует к себе особого внимания. По этому поводу вы обязательно должны показаться врачу, если только вы не являетесь спортсменом или не практикуете йогу. При сердечной недостаточности пульс очень медленный и слабый. Сердечная недостаточность требует обязательного вызова врача.

Ритм пульса определяется интервалами между отдельными пульсовыми ударами. У здорового человека пульсовые временные интервалы всегда одинаковы. Аритмия — это неправильность пульса, характеризуемая неодинаковыми интервалами. Неритмичный пульс может иметь несколько разновидностей. Экстрасистолия — это аритмия, связанная с появлением на интервале лишнего удара. Мерцательная аритмия характеризуется беспорядочностью пульса. Пароксизмальная тахикардия — это внезапное сильное сердцебиение.

Список радиоэлементов

Обозначение Тип Номинал Количество Примечание Магазин
IC1 МК STM32 STM32F103C8 1 Поиск в Fivel
VR1 Линейный регулятор AMS1117-3.3 1 Поиск в Fivel
Z1 Кварц 8 МГц 1 Поиск в Fivel
R1 Резистор 100 Ом 1 Поиск в Fivel
R2-R4 Резистор 10 кОм 3 Поиск в Fivel
R5 Резистор 390 Ом 1 Поиск в Fivel
C1, C2 Конденсатор 22 пФ 2 Поиск в Fivel
C3-C7, C9 Конденсатор 100 нФ 6 Поиск в Fivel
C8 Электролитический конденсатор 220 мкФ 1 Поиск в Fivel
C10 Электролитический конденсатор 100 мкФ 1 Поиск в Fivel
HL1 Светодиод 1 Поиск в Fivel
S1 Тактовая кнопка 1 Поиск в Fivel
HG1 LCD-дисплей ILI9341 1 Поиск в Fivel
MOD1 Датчик пульса Pulsesensor 1 Поиск в Fivel

Скачать список элементов (PDF)

Прикрепленные файлы:

Mach3 поиск 0 по оси Z

 Arduino  Комментарии к записи Mach3 поиск 0 по оси Z отключены
Янв 072017
 

То, что творится с инструкциями по обнулению оси Z, это, конечно, полный бардак. Одни не понимают что они пишут, другие не понимают что они читают, ломают фрезы и бросают эту полезную затею.
Может где и есть понятные инструкции, но мне они не попались, поэтому пишу свою.

Итак: Задача установить инструмент в точку ноль по оси Z в программе MACH3.
Алгоритм:
Ось Z опускается на заданную величину (10мм). Если происходит замыкание, то ноль по Z устанавливается с учетом толщины пластину и происходит отскок безопасности на 5 мм. Если замыкания не обнаруживается, то ось Z просто останавливается. Толщину пластины и скорость опускания можно задать в скрине Мач3. Остальные параметры в тексте скрипта.

В программе Мач3 есть возможность обнаружить момент замыкания входа LPT на землю. Обычно это контакт между фрезой и металлической деталью или вспомогательной пластиной. Для этого один контакт мы присоединяем к фрезе, а другой к детали или к пластине.
1.На контроллере находим свободный входной пин разъема LPT. Это пины 10, 11, 12, 13 или 15. Например, 12. И к этому разъему присоединяем один контакт, другой к земле.
1. Выбираем свободный номер пина, заходим в Config->Ports-and-Pins->Input-Signals->Probe и ставим галочки в Enable и ActiveLow. В PinNumber выставляем номер пина.
2. Толщина пластины. Если мы обрабатываем металлическую деталь или печатную плату, то вторым контактом будет сама деталь, пластина не нужна и поправка на ее толщину будет ноль. Если деталь не токопроводящая, то нужна вспомогательная пластина. Т.е. необходимо иметь параметр, где мы можем задать толщину пластины.
Что, например, можно сделать.
Скачиваем с официального сайта программу Screen4.exe — это дизайнер экранов программы Мач, и размещаем ее в директорию Мач. Стартуем, открываем файл 1024.set — стандартный файл скринов Мача, переименовываем и сохраняем под другим именем. Теперь мы можем изменять экраны. Нам надо добавить параметр для установки толщины пластины. Выделяем, например, поле Z inhibit, делаем Copy->Paste и размещаем, например, так:
Изображение
Кликаем дважды левой кнопкой, и в поле OEM-Code-Function пишем 1151. По этому номеру мы можем теперь считать в программе значение этого поля.
Сохраняем скринсет. Стартуем Мач, в View-LoadScreens выбираем и загружаем модифицированный экран Мача с новым полем.
3. Теперь нам надо стартовать установку нуля. Для этого используется кнопка AutoToolZero. При нажатии на эту кнопку начнет выполняться программа, контролирующая установку нуля. Эта программа написана на языке VBscript. Такие программы широко используются и называются скриптами. Текст программы или заглушку можно увидеть по Operator->EditButtonScript, а затем кликнуть по мигающей кнопке AutoToolZero.
Вот сюда-то и надо скопировать или ввести программу установки нуля. Не забыть потом сохранить ее и профиль Мач3, при выходе из программы.
4. Скрипт. Количество скриптов для установки нуля превышает разумные пределы. Многие из них работают, хотя авторы даже не понимают, что рекомендуют. Давайте рассмотрим один из вариантов, доработанных мною до состояния, которое меня устроило. Заодно и скрипты изучил немного. Это мой первый скрипт, поэтому замечания приветствуются.

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

Rem VBScript To probe In the z axis
‘ Это комментарий
If GetOemLed (825) <> 0 Then ‘ Проверяем, может быть ноль уже установлен
‘ Расшифровки параметра в GetOemLed находятся в файле LEDCodes.txt
Code «(Z-Plate is grounded or check connection and try again)» ‘ выводим сообщение об этом
Else
‘ Если ноль не установлен, то пробуем его найти
Code «G4 P1» ‘ Пауза в 1 сек
PlateOffset = GetUserDRO(1151) ‘ считываем значение нового поля. Это толщина пластины.
‘ Значения параметров GetUserDro и GetOemDro находятся в файле DroCodes.txt
CurrentFeed = GetOemDRO(818) ‘ счтываем значения поля Feedrate. Это текущая скорость мм/мин
‘ Эту скорость можно изменить перед поиском нуля в скрине Мача
MyFeed = 100 ‘ скорость поиска нуля мм/сек для вашего станка
‘ Зависит от крепости фрезы
‘ Если скорость больше MyFeed, то мы ее уменьшаем до MyFeed.
‘ если меньще MyFeedRate, то устанавливаем меньшую скорость. Ту, которая в Маче
If CurrentFeed>MyFeed Then
Code «F» &MyFeed ‘ Эту скорость вы можете установить под свой станок как стандартную
Else
Сode «F» &CurrentFeed
‘ Эту скорость вы всегда можете установить для конкретного поиска нуля
End if
‘ Начинаем искать ноль
ZNew = GetDro(2) — 10 ‘ Устанавливаем точку на 10мм ниже текущей высоты Z
Code «G31Z» &ZNew ‘ Идем в эту точку с контролем замыкания контактов Probe
While IsMoving() ‘ Ждем пока ось Z дойдет до точки -10мм
Wend

ZNew = GetVar(2002) ‘ Считываем значение по Z в момент замыкания
Code «G1 Z» &ZNew ‘ Если проскочили, то возвращаемся
While IsMoving () ‘ Ждем возвращения
Wend
If GetOemLed (825) <> 0 Then
‘ Проверяем нашли ноль или просто опустились по Z на 10мм
‘ Проверяем толщину пластины
‘ если она ненулевая, то корректируем ось Z с учетом ее толщины, иначе 0
Call SetDro (2, PlateOffset) ‘ новая точка 0 по Z
Code «G4 P0.5» ‘ ждем установку по Z 0.5 сек

ZNew = 5 ‘ отскок безопасности по Z. Можете поменять
Code «G1 Z5 F200» ‘ идем в точку отскока
While IsMoving () ‘ ждем прихода в отскок
Wend
Code «(Z axis is now zeroed)» ‘ выводим сообщение об установке нуля.

Else
‘ Замыкания не достигли. Просто опустились на 10мм
Code «(Z-Plate ie not grounded. Try again.)» ‘ сообщение об этом
End If

Code «F» &CurrentFeed ‘ возвращаем значение скорости
End If

Текст скрипта находится в директории Macros->»профиль» под именем HiddenScript.m1s
Но при старте Mach3 скрипт берется из профиля. Так что если у вас не обновился профиль после изменения скрипта, при старте Мач3 получите старый скрипт.

Рабочий скрипт:

Rem VBScript To probe In the z axis
If GetOemLed (825) <> 0 Then ‘Check to see if the probe is already grounded or faulty
Code «(Z-Plate is grounded or check connection and try again)» ‘this goes in the status bar if aplicable

Else
Code «G4 P1» ‘Pause 1 seconds to give time to position probe plate
PlateOffset = GetUserDRO(1151) ‘Get plate offset DRO
CurrentFeed = GetOemDRO(818) ‘Get the current feedrate to return to later
MyFeed = 100
If CurrentFeed > MyFeed Then
Code «F» &MyFeed ‘slow down feedrate to 100 mmpm
Else
Code «F» &CurrentFeed
End If
Rem Probe In the z direction
ZNew = GetDro(2) — 10 ‘probe move to current z — 10mm
Code «G31Z» &ZNew
While IsMoving() ‘wait for probe move to finish
Wend

ZNew = GetVar(2002) ‘read the touch point
Code «G1 Z» &ZNew ‘move back to hit point incase there was overshoot
While IsMoving ()
Wend
If GetOemLed (825) <> 0 Then ‘ Zero or Not

Call SetDro (2, PlateOffset) ‘set the Z axis DRO to plate thickness
Code «G4 P0.5» ‘Pause for Dro to update.

ZNew = 5 ‘ Up to 5mm
Code «G1 Z5 F200» ‘&ZNew ‘put the Z retract height you want here
While IsMoving ()
Wend
Code «(Z axis is now zeroed)» ‘puts this message in the status bar
Else

Code «(Z-Plate is not grounded. Try again.)»
End If

Code «F» &CurrentFeed ‘Returns to prior feed rate

End If
Rem Finalized by George164 05/03/2012

Прошивка любого Hex-файла в Arduino

 Arduino  Комментарии к записи Прошивка любого Hex-файла в Arduino отключены
Дек 062016
 

104-Прошивка любого Hex-файла в Arduino при помощи штатного загрузчика (Bootloader).

Автор: GetChiper | 15.12.2013
56 комментариев

Давайте немного отвлечемся от создания нашего робота и поговорим о том, как мы будем записывать прошивку в Arduino.

Нас, прежде всего, интересуют три платы Arduino:
Arduino Uno – как самый распространенный вариант
Arduino Nano – компактный вариант, удобный для применения в небольших конструкциях
Arduino Pro Mini – дешевый компактный вариант без встроенного USB-UART преобразователя (для работы с ним понадобится внешний USB-UART преобразователь), но удобный в случае применения сети устройств.

Arduino_UNOArduino_NANOArduino_PRO_MINI

Во всех вышеописанных платах используется микроконтроллер ATmega328 (в более старых версиях ATmega168).

ATmega48_88_168_328.pdf — Даташит на ATmega48A-48PA-88A-88PA-168A-168PA-328-328P

Одной из главных причин выбора платы Arduino для проекта робота была возможность записывать прошивку устройства в МК не применяя программатора и каких либо дополнительных устройств. Все что нужно для прошивки микроконтроллера Arduino – это стандартный USB шнур (который входит в комплект Arduino).

Это значит, если Вы имеете Ардуину – Вы имеете любое устройство ZiChip!

Запись программы в МК через USB происходит через специальный загрузчик (Bootloader), который записан в МК при изготовлении платы. Вообще, загрузчик предназначен для работы со своим специальным программным обеспечением Arduino IDE, но в случае, когда необходимо прошить в Ардуину что-то постороннее (свой Hex-файл), есть программки позволяющее это реализовать.

Начнем с маленькой и удобной
XLoader (Arduino HEX uploader)

XLoader.zip — Программа для записи Hex-файла в Arduino

Программка имеет аскетичный интерфейс и работать с ней предельно просто:
— подключаем Arduino в USB-порт (отдельного питания не нужно)
— выбираем Hex файл
— выбираем тип Вашего Arduino
— выбираем COM порт, который создался при подключении Arduino к USB (скорость порта автоматически подставится при выборе типа Arduino)
— жмем Upload

Это все! Ничего сложного. Прошивка через несколько секунд будет записана в МК и автоматически запустится. Один минус – программа никак не сообщает о том, что прошивка уже записана, но это можно увидеть по прекращению мерцания светодиодов RXD и TXD на Ардуине.

XLoader использует для записи прошивки AVR Dude и в качестве протокола программирования используется STK500. Но, похоже, в настройках AVR Dude, произведена коррекция, так как использование стандартного AVR Dude с такими же настройками не дает результатов.

Автоматизация XLoader.

При разработке ПО для микроконтроллера производится очень много прошивок и всегда нужно стремиться автоматизировать этот процесс после сборки проекта — это экономит время и нервы. В данном случае автоматизация усложнена, так как программа не показывает командную строку для AVR Dude (разве что подбирать опытным путем), но некоторое упрощение процесса возможно. Делается это следующим способом – после первой прошивки не закрываем окно программы (COM порт после прошивки программа отпускает) и после следующей сборки проекта просто жмем кнопку «Upload». Конечно, сборка должна осуществляться в один и тот же Hex-файл.

Еще одна программка
ARP Uploader (Arduino Hex Uploader and Programmer)

ArduinoUploader.zip — Программа для записи Hex-файла в Arduino

Как и предыдущая, программка имеет простой интерфейс.
Процесс прошивки тот же:
— подключаем Arduino в USB-порт (отдельного питания не нужно)
— выбираем Hex файл
— выбираем тип Вашего Arduino
— выбираем COM порт
— жмем Upload

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

При попытке прошить Arduino Nano программа отказывалась видеть МК. Причиной стала неправильная установка скорости COM порта. По умолчанию скорость стоит 19200, а нужно 57600. Скорость порта в программе не задается явно, она прописывается в строчке «AVR Dude Params» — поменяйте в ней значение 19200 на 57600.

Автоматизация ARP Uploader.
ARP Uploader как и XLoader работает через AVR Dude, но, в отличие от XLoader, показывает командную строку. Это дает возможность использовать AVR Dude напрямую в Make или Bat файле.

Дополнительные материалы.
Драйвера Arduino.

Считаю не лишним напомнить, что для связи Arduino с компьютером в последнем должны присутствовать драйвера. Оставляю здесь архив с драйверами для Arduino (включая и старые драйвера в Old_Arduino_Drivers.zip и драйвера для FTDI-чипа в папке «FTDI USB Drivers»

Arduino_drivers.zip — Драйвера для Arduino

Стали появляться недорогие китайские Ардуины с драйвером CH340G
Driver CH340G.zip — Драйвер для преобразователя USB-UART

Загрузчики Arduino

Если Вы решите собрать свою плату Arduino (а сложного там ничего нет, фактически, это голый ATmega328 или ATmega168), Вам понадобится загрузчик Bootloader который должен содержать МК для работы со средой (или программками для заливки Hex-файлов). Конечно, Вам для записи Hex-файлов в чистый МК понадобится программатор и придется выставить фьюзы.

ATmegaBOOT_168_atmega328.hex — Bootloader для ATmega328
Для правильной работы нужно установить фьюзы следующим образом Low: FF High: DA Ext: 05

ATmegaBOOT_168_diecimila.hex — Bootloader для ATmega168
Фьюзы Low: FF High: DD Ext: 00

Схемы Arduino

Cхемы вышеописанных Ардуин.
Arduino_Uno_Rev3-schematic.pdf — Схема Arduino Uno
ArduinoNano30Schematic.pdf — Схема Arduino Nano
Arduino-Pro-Mini-schematic.pdf — Схема Arduino Pro Mini

Фьюзы установленные по умолчанию в Arduino (только с ATmega328)
Arduino Uno
Low Fuse 0xFF
High Fuse 0xDE
Extended Fuse 0x05

Arduino Duemilanove or Nano w/ ATmega328
Low Fuse 0xFF
High Fuse 0xDA
Extended Fuse 0x05

Arduino BT w/ ATmega328
Low Fuse 0xFF
High Fuse 0xD8
Extended Fuse 0x05

LilyPad Arduino w/ ATmega328
Low Fuse 0xFF
High Fuse 0xDA
Extended Fuse 0x05

Arduino Pro or Pro Mini (5V, 16 MHz) w/ ATmega328
Low Fuse 0xFF
High Fuse 0xDA
Extended Fuse 0x05

(Visited 25 343 times, 70 visits today)

Раздел: Полезные программы Программаторы и преобразователи Метки: Arduino, ATmega328

Кинезио тейп

 Arduino  Комментарии к записи Кинезио тейп отключены
Ноя 232016
 

Кинезио тейп — лечебно профилактический пластырь для мышц и суставов

1367 0

кинезио пластырьКинезио тейп (бинт эластичный ленточный малой растяжимости адгезивный) — это эластичная хлопковая лента, разработанная на клейкой основе, которая применяется в спортивной медицине при реабилитации после травм.

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

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

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

Действие кинезиобинта происходит на микроскопическом уровне, он снижает давление и болевой синдром, как бы приподнимая кожу над травмированным участком. После нанесения происходит нормализация мышечных функций, мышцы переходят в более расслабленное состояние, и исчезает невралгия.

принцип действия кинезиобинта

Содержание статьи

Цели использования

Цели использования пластыря:

  • улучшение кровообращения и лимфотока;
  • купирование болевых ощущений;
  • проведение расслабления гипертонуса либо для стимуляции гипотонуса мышц;
  • защита мышцы от перезагруженности;
  • для снятия воспалительных процессов;
  • для стабилизации суставов.

цели кинезиотейпирования

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

Кинезио пластырь фиксирует мышцы на неограниченное время, не ограничивая подвижность. При их использовании не придется использовать дополнительные бинты или повязки.

Чем кинезиотейп отличается от традиционных бинтов

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

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

В отличие от обычного эластичного бинта, который фиксирует мышцы и суставы, мешая тем самым нормальной работе связок, уменьшая диапазон движения и приводит к онемению, кинезиотейп же не создает каких-либо препятствий для кровообращения и не стесняет движений.

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

преимущества тейпов

Особенности и методы наложения

Для того чтобы определить качество тейпа, необходимо посмотреть как разматывается рулон. Он должен без рывков и натяжения разматываться до самого конца, часть ленты отрываться без каких-либо усилий. При нанесении на кожу не образовывать воздушных складок и клеиться легко и своевременно.

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

методы наложения кинезиотейпа

Пластырь нужно приклеить так, чтобы мышца было подтянута вдоль волокон. Одной накладкой пользуются в течение четырех-шести дней. Максимальный эффект будет достигнут при эластичности пластыря 50-70%.

Для того, чтобы правильно наложить тейп нужно:

  1. Определить с какой целью это делается. При мышечной и суставной боли пластырь рекомендуется накладывать по периметру травмированной зоны, в которой соответственно имеются болевые ощущения. Во время использования пластыря для коррекции детской осанки или же плоскостопия кинезиотейп необходимо наложить по длине позвоночника или стопы. Если же возникает необходимость защитить мышцы во время занятия спортом, то приклейте его на проблемные зоны.
  2. В зоне наложения сбрить лишние волосы.
  3. Обезжирить кожу спиртом, а затем использовать ленту.
  4. После приклеивания необходимо подождать в течение получаса, пока клей начнет взаимодействовать с кожей и лишь, потом начинать занятия спортом.

Полезные видео материалы

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

загрузка…