Перейти к содержимому

kharlashkin

Дата регистрации: 13 ноя 2013
Вне сайта Был на сайте 23 май 2017 19:09

#391446 Шанс на победу. Включить обратно.

Автор: kharlashkin22 Май 2017 - 08:22

а так и есть, влияет на психику, меняется настроение и тд и тп ...

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

Учитывая давние взаимоотношения WG с XVM значит ли это что последних могли просто "купить" - не знаю.

Ss_%282014-02-22_at_05.04.56%29.png


  • 1


#391443 Шанс на победу. Включить обратно.

Автор: kharlashkin22 Май 2017 - 08:06

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

Эм...

Прикрепленный файл  Mr 13.png   44,34 Кб   0 раз скачано

Ссылка


  • 1


#391435 Шанс на победу. Включить обратно.

Автор: kharlashkin22 Май 2017 - 07:26

█XlebniDizele4ku, Спасибо тебе, добрый человек ;)


  • 1


#391031 Arduino и аналоги

Автор: kharlashkin18 Май 2017 - 09:47

Буду пробовать прошивать в ATtiny85.
 

Чет мне кажется спалил я тиньку или сбросил память в "0" - перепутал "+" с землей. Пока гуглю как прошить в неё загрузчик Digispark с помощью ардуинки. Имхо, управлять тиристором и считывать значения датчиков параллельно, наверное не самый лучший вариант - ресурсов не хватит.


  • 2


#390315 Arduino и аналоги

Автор: kharlashkin12 Май 2017 - 12:31

буду пробовать

 
Наступил на некоторое количество граблей - опишу свой опыт.
Прикрепленный файл  dimmer.jpg   94,96 Кб   0 раз скачано
Грабли №1.
Нормальной вменяемой инструкции "для чайников" нет, AliExpress дает вроде как две ссылки на RobotDyn, но они неправильные, в русском сегменте вообще нет этой железки, правильная ссылка на международный сайт - http://robotdyn.com/~jZEda. В свою очередь в качестве документации дается ссылка на instructables - Arduino Controlled Light Dimmer, где уважаемый diy_bloke, всесторонне довольно подробно расписывает что к чему. В принципе, данный пост я несколько раз прочел на этапе размышлений как же мне плавно управлять вентилятором. Но, может правда это только в моем случае, ни один из приведенного скетча у Вас не заработает! Пробовал это все дело подключать к Arduino Uno R3.
Грабли №2.
После 2-х ночей, и прочтения вот этой информации со "Школы для электриков", я подумал что вообще зря купил эту железку:

Наиболее широкое применение в силовых электронных аппаратах получили фазовое (рис. 4,а,б) и широтно-импульсное управление тиристорами (рис. 4,в).
Прикрепленный файл  pwm.jpg   17,43 Кб   0 раз скачано
Рис. 5. Вид напряжения на нагрузке при: а) – фазовом управлении тиристором; б) – фазовом управлении тиристором с принудительной коммутацией; в) – широтно-импульсном управлении тиристором

В названии этого модуля явно указано PWM, соответственно только широтно-импульсном управление платка может. У меня уже был модуль с твердотельным реле, который можно примерно таким же образом использовать. В общем и целом пичалька. Код который заточен работать для пропуска полупериодов уже не помню где взял. Основная идея там счетчик перехода синусоиды через 0, и закрытие / открытие тиристора и обнуление счетчика. Как работает с вентилятором не понравилось - например, в течении 5 циклов, 4 идет на 100% и 1 цикл на 0% мощности. За счет инерции двигателя вентилятора возможно он и крутиться на 80% максимальной мощности. Но меня этот вариант не устраивал. Думаю, он хорош только для нагревателей.

Грабли №3.

Устав топтаться на одном месте и не высыпаясь, перешел ко второй части "Марлезонского балета", а именно к платке Digispark ATtiny85 MicroUSB. Практически сразу нашлась тема, где на этом чипе уже делали диммер. Захотелось попробовать прошить соответствующий скетч, но сработала "защита от дурака", подробнее в этом сообщении. Покопав исходники и погуглив - оказалось, что прошив данный скетч в ATtiny85, я потеряю возможность использовать функционал Digispark, и прошивать нужно только программатором или вот так незатейливо по инструкции с официального форума Arduino. Я так понимаю, что приведенный скетч использует внутренний таймер процессора, который так же используют Digispark для связи по usb с ПК.

 

Самое интересное что я для себя вынес из этих уроков - ссылка в скетче ;) Voltage controlled dimmer with an ATtiny85. Которая привела меня куда нужно - AC Phase Control.

Прикрепленный файл  ACWave.png   65,89 Кб   0 раз скачано

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

#define ControlSimistor 3 //  Выход на симистор
#define ControlZero 2 //  Вход контроля перехода через 0
volatile byte dimming = 0; //  Начальное значение мощности

void setup()
{
  pinMode(ControlSimistor, OUTPUT);
  digitalWrite(ControlZero, 1); // Активируем контроль перехода через 0
  Serial.begin(57600);  //  Значения мощности через порт
  attachInterrupt(0, zero, RISING); //  Внешнее прерывание контроля перехода через ноль
}

void zero() //  Если есть переход через 0
{
  if (dimming >= 255) // Если задано максимальное значение
  {
    digitalWrite(ControlSimistor, HIGH); // Тиристор постоянно открыт
  }
  else if (dimming <= 0) // Если минимум
  {
    digitalWrite(ControlSimistor, LOW); // Тиристор закрыт
  }
  else if (dimming > 0 && dimming < 255) // Если не минимум и не максимум
  {
    digitalWrite(ControlSimistor, LOW); // Сначала закрываем
    delayMicroseconds((5100 - dimming * 20)); // Ждем
    digitalWrite(ControlSimistor, HIGH); // Открываем тиристор
  }
}

void loop()
{
  if (Serial.available()) // Если порт открыт
  {
    dimming = Serial.parseInt();  // Считываем данные и находим в них целое число
  }
}

Ну, могу себя поздравить, на Arduino все работает как нужно! Буду пробовать прошивать в ATtiny85.

Хочу кое-что прояснить. Изначально я испытывал полный цикл в 10 мс на полупериод, но учитывая особенности вентиляторов он начинает более-менее нормально крутить крыльчатку где-то с 45% мощности, именно поэтому задается такая задержка в начале полупериода до открытия тиристора + в дальнейшем буду использовать analogRead().


  • 2


#386956 Arduino и аналоги

Автор: kharlashkin26 Апрель 2017 - 21:09

Модернизировал страничку загрузки скетча:

Прикрепленный файл  flask_upload.png   129,37 Кб   0 раз скачано

run.py
forms.py
upload_sketch.html
base.html

Нужно попробовать монитор порта прикрутить ;)


  • 2


#386668 Arduino и аналоги

Автор: kharlashkin23 Апрель 2017 - 08:37

Сегодня подумалось, что несколько некорректно выглядит загрузка скетча в адруинку, немного переделал:

Код
 

Страничка

  • 1


#386418 Arduino и аналоги

Автор: kharlashkin20 Апрель 2017 - 11:58

Тиристором можно управлять средствами самой Arduino.

 

Я его всё таки нашел! Готовый модуль для Arduino, позволяющий плавно управлять нагрузкой. Правда цена кусается - $25, буду со своим земноводным договариваться ;)

Прикрепленный файл  triac_arduino_pwm.jpg   113,82 Кб   0 раз скачано


  • 1


#386176 Альтернативные прошивки маршрутизаторов.

Автор: kharlashkin18 Апрель 2017 - 12:40

2. Подключаем накопитель к OpenWRT.

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

Прикрепленный файл  start.png   106,16 Кб   0 раз скачано

Обновляем список доступных пакетов, кнопка Update list:

Прикрепленный файл  software_update_list.png   77,52 Кб   0 раз скачано

Устанавливаем пакеты - kmod-usb-core kmod-usb-ohci kmod-usb2 kmod-usb-storage block-mount нажимаем и перегружаемся System  - Reboot - Perform reboot

Прикрепленный файл  install_sowftware.png   102,88 Кб   0 раз скачано

Заходим в настройки точек монтирования System - Mount points и видим нашу флешку, ставим галочку напротив нашего раздела для установки пакетов и жмем кнопку Edit:

Прикрепленный файл  mount_points.png   127,47 Кб   0 раз скачано

Ставим галочку подключать диск, UUID оставляем тот же:

Прикрепленный файл  overlay.png   103,35 Кб   0 раз скачано

Переходим на вкладку Advanced Settings и выбираем нашу файловую систему из выпадающего меню:

Прикрепленный файл  overlay_advanced.png   187,76 Кб   0 раз скачано

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

Прикрепленный файл  software_1000.png   169,02 Кб   0 раз скачано

Опять устанавливаем нужные пакеты kmod-usb-core kmod-usb-ohci kmod-usb2 kmod-usb-storage block-mount, и подключаем теперь уже swap раздел и домашний каталог по аналогии.


  • 1


#386112 Альтернативные прошивки маршрутизаторов.

Автор: kharlashkin17 Апрель 2017 - 11:37

“Не было бы счастья, да несчастье помогло”
Так вышло, что у родителей вышел из строя HDD, флешку мою, забытую у них в спутниковом тюнере, мне не привезли. Пришлось вытягивать из маршрутизатора и делать из неё загрузочную - чтобы установить ОС на новый HDD, соответственно первоначальную настройку делать сначала. Таким образом появилась эта инструкция.
1. Подготовка носителя в GParted.
Открываем программу и выбираем нашу флешку:

Прикрепленный файл  gparted_start.png   46,85 Кб   0 раз скачано

Отмонтируем нашу флешку от ОС, ПКМ - Отмонтировать:

Прикрепленный файл  gparted_unmount.png   76,2 Кб   0 раз скачано

Удаляем все что есть на ней, клавиша "delete" или ПКМ - Удалить:

Прикрепленный файл  gparted_delete.png   71,73 Кб   0 раз скачано

Я решил, что под установочные пакеты отдам 1000 МиБ, под swap раздел 256 МиБ, остальное под мои файлы.

Создаем разделы на флешке как мы задумали: , клавиша "insert" или ПКМ - Новый, для разделов под программы и мои файлы выбираем файловую систему "Ext3", под раздел подкачки "linux-swap":

Прикрепленный файл  gparted_disk.png   41,25 Кб   0 раз скачано

Применяем нужные нам изменения:

Прикрепленный файл  gparted_create.png   79,83 Кб   0 раз скачано

Соглашаемся с применением изменений, ждём окончания операций.

Прикрепленный файл  gparted_end.png   34,45 Кб   0 раз скачано

Закрываем GParted и вытягиваем флешку из ПК.


  • 1


#386006 Arduino и аналоги

Автор: kharlashkin15 Апрель 2017 - 22:20

Пример вывода данных из sqlite на web-страничку с автоматическим обновлением с помощью json+jquery:

И сама страничка:

Расширение base.html:

Ну и как это выглядит:

Прикрепленный файл  live_data.png   45,97 Кб   0 раз скачано


  • 2


#385870 Альтернативные прошивки маршрутизаторов.

Автор: kharlashkin14 Апрель 2017 - 06:36

Сказано, сделано - нашелся проект Platformio

 

Как всегда - "Весело!".

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

root@OpenWrt:/mnt/pio# platformio run --target upload
[Fri Apr 14 01:30:29 2017] Processing nanoatmega328 (platform: atmelavr, board: nanoatmega328, framework: arduino)
--------------------------------------------------------------------------------
PlatformManager: Installing atmelavr
Downloading  [####################################]  100%
Unpacking  [####################################]  100%          
atmelavr @ 1.4.5 has been successfully installed!
The platform 'atmelavr' has been successfully installed!
The rest of packages will be installed automatically depending on your build environment.
PackageManager: Installing toolchain-atmelavr @ ~1.40902.0
Error: Could not find a version that satisfies the requirement '~1.40902.0' for your system 'linux_mips'

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

Учитывая что инструмент этот хоть и может быть полезным в некоторых случаях, но несколько избыточен для того чтобы пару раз залить скетч. Так что решил пока отложить использование Platformio "на потом".

 

Может кто подскажет/поможет с реализацией Toolchain.


  • 1


#385822 Arduino и аналоги

Автор: kharlashkin13 Апрель 2017 - 14:00

пока не проверю получаемый данные в паре и по отдельности датчиков выкладывать не буду.

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

#include "DHT.h"
#include "RBD_Timer.h"

#define dhtPin 2
#define dhtTuype DHT22
#define co2Pin 4

DHT dht(dhtPin, dhtTuype);
RBD::Timer timer;

long highlevel_co2, lowlevel_co2;
float ppmco2 = 0;
float humidityIn, temperatureIn, humidityOut, temperatureOut;
int valco2;

void setup()
{
  Serial.begin(57600);
  dht.begin();
  pinMode(co2Pin, INPUT);
  timer.setTimeout(5000);
  timer.restart();
}

void loop()
{
  if (timer.getValue() == 2000)
  {
    humidityIn = dht.readHumidity();
    temperatureIn = dht.readTemperature();
    Serial.print("HumidityIn:");
    Serial.println(humidityIn);
    Serial.print("TemperatureIn:");
    Serial.println(temperatureIn);
  }
  if (timer.getValue() == 3000)
  {
    do
    {
    valco2 = digitalRead(co2Pin);
    highlevel_co2 = pulseIn(co2Pin, HIGH, 1004000) / 1000;
    lowlevel_co2 = 1004 - highlevel_co2;
    ppmco2 = 5000 * (highlevel_co2 - 2) / (highlevel_co2 + lowlevel_co2 - 4);
    }
    while (highlevel_co2 == 0);
  Serial.print("CO2Concentration:");
  Serial.println(ppmco2);
  }
  if (timer.isExpired())
  {
    timer.restart();
  }
}

  • 1


#385789 Альтернативные прошивки маршрутизаторов.

Автор: kharlashkin12 Апрель 2017 - 22:32

До утра сидел за ноутом, сегодня половину рабочего дня "гуглил" на работе - решил попробовать OpenWRT, так как в ней вроде есть нужный драйвер для китайских ардуин... Если чуть позже запал не пройдет - буду пробовать собрать драйвер для dd-wrt.


решил попробовать OpenWRT

 

Изначально боялся что придется всё делать в консоли, но оказалось есть неплохой веб-интерфейс. До этого только один раз устанавливал OpenWRT родителям дома из-за глючности заводской прошивки TP-Link, а других вариантов не было.

Подключил флешку, при чем делается проще чем в dd-wrt - практически всё через web.

Установил драйвер для китайской Arduino:

Прикрепленный файл  openwrt.png   94,21 Кб   0 раз скачано

Поставил python, pip, flask, pyserial. вывел себе в браузер "Hello world!" - красота ;)

Прикрепленный файл  flask_helloworld.png   141,36 Кб   0 раз скачано


  • 1


#385745 Альтернативные прошивки маршрутизаторов.

Автор: kharlashkin12 Апрель 2017 - 08:34

На NAS поднимать простенький сайт надо, где относительно нормальная дисковая подсистема и процессор есть, а не на маршрутизаторах это делать.

Под простеньким сайтом имелось ввиду внутренний домашний, в моем случае мониторинг воздуха дома.

Когда-то у меня дома стоял D-Link DNS-313 который тоже настраивал как и маршрутизатор и могу сказать что скорость работы с ним была на уровне Asus Wl-520GU. Если сейчас посмотреть на характеристики и цены NAS и маршрутизаторов - думаю не всё так однозначно будет - потому как цены на NAS начинаются от $100. Если выпускать наружу сайтик - то лучше уж что нибудь из "пирогов" или VPS за символическую плату.


подключим его к Arduino.

Тут у меня другая проблема - оказалось под dd-wrt нет драйвера для китайских Arduino с чипом ch340g.


  • 1




© Mr 13