ESP8266 COOLING FAN CONTROL

Here is a solution how to control cooling fan speed with ESP8266/Arduino etc.
The easiest way for me is to use a MOSFET.
As we know the following MOSFETS could be controlled by 3.3V logic of ESP8266:
IRLZ34NPBF (55V, 27A) - 11.29V at 1023(full open)
IRLZ44NPBF (55V, 47A) - 11.36V at 1023(full open)
IRL510PBF (100V, 5.6A) - 11.14V at 1023(full open)

The following diagram shall help you to assemble the hardware and you can control speed of the fan by PWM simple command in Arduino IDE - analogWrite(FanPin,FanSpeed);
Example - analogWrite(D8,1024); //Full speed



Everything cool BUT... when we try do downspeed the fan a high frequency noise appears. It is because of PWM frequency - fan motor makes sound from the PWM ;)
How to eliminate the noise? I dug the internet and found many solution but only mix of them worked for me.

So the only solution which woks for me is to change PWM frequency.
To change PWM frequency you shall use Aduino IDE command analogWriteFreq(Hz);
I found that the best frequency for my fan is 15kHz - 15000Hz
Also I found that PWM controlling range 0-1024 moves closer to 1024. I mean that using 100,200,300,400 in PWM command will not give you any result. Range starts approx from 600 - it is also because my fan shall start from approx 6 volts. So I found usable to use new PWM range - analogWriteRange(range);
So I put two commands into setup section:
analogWriteFreq(15000);
analogWriteRange(100);

and now I can control the speed of my fan without any noise by sending commands like analogWrite(D8,100);

Don't forget that PWM controlling range now 0-100, so the command shall looks not like analogWrite(D8,1024) but analogWrite(D8,100).

Have fun ;)

ESP8266 MOSFET

For those who was looking for MOSFET compatible with ESP8266 ESP32 etc with 3.3V logic I made a small test.

I was digging throuh the forums and sites to find the best solution for ESP8266 MOSFET. Thre are planty MOSFETs for Arduino but I found just few solutions for ESP8266. Usually it looked like - "I used ESP8266 and MOSFET" so you have to guess what kind of MOSFET did he use.

So I looked through the catalog of the closest electronic shop and found few MOSFETs which shall be compatible with ESP8266 and could be driven by the ESP8266 logic. Also I bougt some MOSFETS which somebody suggested in discussions and forums.

The target was to control cooling fan (like regular computer cooler) which needs 12V and 0.68A
So results are as the follows:

IRF3708 - does not work - full open at 5V
IRLZ34NPBF (55V, 27A) - 11.29V at 1023(full open)
IRLZ44NPBF (55V, 47A) - 11.36V at 1023(full open)
IRL510PBF (100V, 5.6A) - 11.14V at 1023(full open)

You can use mentioned above MOSFET with ESP8266 and other 3.3V logic controllers.

Подключение GPS M8n к APM 2.8. Не работает компас.


Пришел датчик GPS с компасом на базе Ublox M8n.
Легко подключить не получилось.
Все разъемы совпали, но компас не заработал.
Долго копал, читал, курил.
Первое, что нужно сделать, это проверить, как наши китайские друзья собрали блок. Очень часто путают провода, а потом мучиться можно долго.
Оказывается, что чтобы нормально подключить компас к i2с надо предварительно соединить дорожки на обратной стороне платы APM - MUX_SCL и MUX_SDA, то бишь спаять их вместе.
Далее снимаем перемычку рядом с разъемом GPS и внешний компас включается.

Wi-Fi телеметрия для APM. ESP-link.


Продолжаем тему.
Решил не закупать блоки телеметрии и обойтись имеющимися ресурсами.
Телеметрию будем передавать по WI-Fi.
Есть платка ESP8266 в формате Witty Cloud (по моему мнению самый удобный формат для поделок)
Её и будем использовать.
1 - Основной проект - https://github.com/jeelabs/esp-link
2 - Описание на русском - https://sites.google.com/site/picsharekozin/esp8266_mavlink
3 - Ветка форума - http://forum.apmcopter.ru/threads/wifi-link-kak-deshevaja-alternativa-3dr-radio.462/#post-11236

Как всегда в инструкциях пропускают все важное для новичка ;)
Дополню:

1. Не советую пробовать прошивку ESP-link выше 2.1.7, у меня заработала нормально только она.
2. Подключаем желтый провод к RX ESP, зеленый к TX. Как правило разъем с цветами проводов APM стандартный.
3. Следим за зарядом батареи, просядет ниже 5 - ничего работать не будет, хотя лампочки будут мигать, типа все в порядке.
4. Скорость общения выставляем 57600

Идем по инструкции (2)

Все работает отлично. Буду проверять дальность.
Обещают метров 300. Мне хватит.

APM и Motor Shield



Попытался к APM подключить MotorShield.
От APM идет +5, Gnd и Data с PWM.

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

MotorShield V1.0 подключить к различным Arduino Nano, Pro, Mega и проч. можно, НО:
Это не так логично, как мы предполагали. Точнее логично, но не просто ;)
Нельзя просто подать PWM сигнал на определенный пин и управлять скоростью.
Нельзя (как, например, на l289n Dual Driver) подключить PWM, на IN1 подать+5, IN2 Gnd и пользоваться - (IN1=1;IN2=0 - едем в одну сторону, IN1=0;IN2=1 - едем в другую сторону, IN1=0;IN2=0 стоим)
Нельзя закоротить, выломать, добавить перемычку, чтобы мотор тупо крутил в одну сторону и управлять чиста PWM.

В MotorShield, за счет того, что можно управлять 4 моторами, решили сэкономить нам пины и использовали так называемый "сдвиговый регистр", т.е. по сути, чтобы не задействовать 12 пинов (PWM, IN1,IN2)x4 cделали так - под PWM, для управленя скоростью отдали 4 пина
Digital pin 11: DC мотор #1 / шаговый #1
Digital pin 3: DC мотор #2 / шаговый #1
Digital pin 5: DC мотор #3 / шаговый #2
Digital pin 6: DC мотор #4 / шаговый #2

А чтобы выбирать двигатель и направление вращения выделили 3 пина на всех, т.е. сэкономили нам 5 пинов.
Почитать, как эта хрень работает можно тут - http://avrproject.ru/publ/kak_podkljuchit/bascom_avr_74hc595/2-1-0-44
Описание и пример кода, как объяснить шилду, какой двигатель куда крутить и с какой скоростью тут - https://playground.arduino.cc/Main/AdafruitMotorShield#new

В итоге для работы шилда надо задействовать минимум 5 пинов, не считая gnd и питания.
Т.е. для управления двигателем №1 нужно подключить пин 11 для управления скоростью и пины 4, 7, 8 и 12 для управления DC/Шаговыми моторами с помощью сдвигового регистра 74HC595.

Следовательно подключать MotorShield даже для тестов к APM или любой Arduino кроме One, если есть дефицит выходов, бессмысленно и гиморно. С Arduino One работает прекрасно, нареканий не вызывает.
Если нужно порулить двумя двигателями, берите лучше l289n Dual Driver и иже с ним, там все просто (написал выше) либо воспоьзуйтесь советом уважаемого trembo, если нужно подключаться к APM и иже с ним и купите http://arduino.ru/forum/obshchii/arduino-pro-mini-i-motor-drive-shield#comment-346958

В моем случае, пока жду l289n Dual Driver, решил поиграться с имеющимся шилдом, но не прокатило.

Больше нигде подобной инфы не нашел.
Так что так.

Постройка автономного дрона CyberBoat - CyBoat. APM - ArduPilot Mega. Mission Planner.


Решил я тут собрать автономного бота. Наверное водного, то бишь катер - дрон.
Изучил вопрос, прикинул. В принципе всю логику можно написать самому, НО... интерфес, ну неохота мне еще и туда лезть.
В итоге выбор остановил на APM ArduPilot Mega - это готовое решение на базе Arduino для управления различными девайсами, такими, как самолеты, квадрокоптеры, машины, катера и прочее.
Поехали.

Катер, так катер. Пропишу, что для этого нужно. Сначала, что нужно по правилам, потом, что решил использовать я:
Сам катер - можно самому сделать, но проще купить платформу - я выбрал полицейский катер без руля, но с двумя моторами. Длина 500мм.
Блок навигации с компасом GPS Ublox Neo-M8N со стойкой
Комплект телеметрии 3DRobotics 433Mhz telemetry
Модуль наложения телеметрии на видео MinimOSD
Программатор MinimOSD
Комплект передачи/приема видеосигнала OCDAY 5km FPV System Boscam 5.8Ghz 600mW AV 48CH Transmitter TS832 and Receiver RC832 FPV System RP-SMA For FPV 250 Quadcopter
Модуль питания PowerModule, чтобы питать всю электронику дрона
6 канальный комплект радиоаппаратуры - передатчик, приемник
Контроллер управления двигателями ESC Speed Controller

Я пока решил отказаться от модулей телеметрии и видео, вместо них поставил Witty Cloud на ESP8266 для передачи телеметрии и управлением APM удаленно и роутер 3020 с прошивкой CyberWRT модулем WEB_cam и подключенной WEB камерой для передачи видео.

Для управления всем этим богатством нужна программа - под Windows - Mission Planner под Android - Tower.

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

Далее по порядку...

Путеводитель по Нью-Йорку. New York guide

В общем на карте основные POI (точки интереса), чтобы оббежать NY за несколько дней.
Составляли для себя.
Основные достопримечательности POI Нью-Йорка на карте.
Пользуйтесь.
https://dl.dropboxusercontent.com/u/54323922/Do%20not%20remove/New%20York%20Layer%202015-03.kmz

Настройка сети - Windows 7

Параметр Recieve Window Auto-Tuning Level
Этот параметр определяет, будет ли использоваться новейшая технология - эвристическое авто-определение размера окна TCP. Для увеличения скорости локальной сети лучше эту возможность отключить.
Через командную строку: netsh int ip set heuristics disabled
Возможные значения - default, enable, disable.
Параметр TCP Auto-Tuning
Определяет включена ли автонастройка размера приемного окна TCP. Для увеличения скорости локальной сети лучше эту возможность отключить.
Через командную строку: netsh int ip set global autotuninglevel disabled
Возможные значения:
disabled: используется фиксированное значение размера приемного окна TCP - 64KB.
higlyrestricted: позволяет размеру приемного окна выходить за пределы значения по умолчанию, очень ограниченно превышая его.
restricted: допускает более существенный рост размера окна относительно значения по умолчанию.
normal: значение по умолчанию. Позволяет менять размер окна в зависимости от различных условий работы.
experimental: позволяет увеличивать размер окна до очень больших. Применять очень осторожно, поскольку может замедлять работу всей системы.
Параметр Add-On Congestion Control Provider
Определяет применение новых алгоритмов изменения размеров окна TCP с учетом наступающих потерь пакетов и контроля задержек приема-передачи. Может существенно увеличить пропускную способность сети.
Через командную строку: netsh int ip set global congestionprovider ctcp
Возможные значения: ctcp, none.
Рекомендуемое значение: ctcp
Параметр ECN Capability
ECN - это альтернативный механизм взаимодействия маршрутизаторов для передачи информации о заторах в сети. Он предназначен для уменьшения ретрансляции пакетов. Это позволяет маршрутизаторам и клиентам, в случае определения потерь пакетов, автоматически снижать скорость передачи данных для предотвращения дальнейших потерь данных. Т.е. это более актуально для интернета, но не для локальной сети. Лучше этот параметр выключить.
Значение по умолчанию - enabled.
Командная строка: netsh int ip set global ecncapability disabled
Возможные значения: enabled, disabled.
Параметр RSS
Позволяет использовать несколько процессоров для обработки полученных пакетов (где сетевой адаптер распределяет нагрузку на доступные процессоры). Лучше его включить.
Командная строка: netsh int ip set global rss enabled
Возможные значения: enabled, disabled.
Параметр TCP Chimney Offload
TCP Chimney Offload позволяет переложить всю обработку подключений TCP на сетевой адаптер, что позволяет улучшить общую производительность системы за счет высвобождения процессора для выполнения других задач.
Командная строка: netsh int ip set global chimney enabled
Значение по умолчанию: disabled (Vista), automatic (Windows 7, 2008 Server)
Рекомендуется: enabled (Vista), automatic (Windows 7, 2008 Server)
Возможные значения: disabled, enabled, automatic (только Windows 7 и 2008 Server):

Ремонт: Ошибки при ремонте. Советы бывалых.

Изучить внимательно!!!!!!!!!!
http://www.dafna-dom.ru/index.php/what-you-should-know-from-repair/35-2010-06-01-23-35-52/80-errors-repair-tips-experienced.html

И тут
http://www.liveinternet.ru/users/millli/post189166360

От себя:

Кухня:
За техникой нельзя делать выводы воды, канализацию, розетки. Розетки смещать вниз и в сторону, все остальное в районе мойки.
Не забыть про силовую розетку для плиты
Розетки около стола!!!

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