Надоел мне вечно клинящий и текущий кран отопителя на 31105 крайслер. Решил заморочиться но сделать все правильно. Колхоз в виде крана с ручкой и лазания под капот меня не устраивает, поэтому было принято решение купить вот такую штуку 
http://www.aliexpress.com/item/3-wa...ric-ball-valve-motorized-valve/710923612.html за 20 баксов. 
Кран приехал.
Выполнен весьма качественно. пластик жесткий, плотный. 
Сам кран так же на вид весьма качественно собран. 
Вскрываем корпус. Внутри редуктор с моторчиком и небольшая платка, логика работы которой - вращать двигатель в разные стороны в зависимости от полярности. Так же в корпусе установлены концевики крайних положений, что меня несказанно порадовало.
Продавец, редиска, обманул - обещал , что все шестерни металлические. Ну хотя бы оси у них реально металлические. Особенно меня порадовала шестерня состоящая из двух половинок - метал и пластик. Ну что же, посмотрим, как это будет работать в боевых условиях.
Плата была сразу же удалена так как во первых не подходила под логику работы контролера климатики, а во вторых хотелось сделать собственный контроллер.
Зная логику контроллера климатики не составило труда собрать схему из PIC12F683 и L293D . Плату изготовил методом ЛУТ,  софт написал сам
в MPLabX, компилятор HI-TECH PICC
	
	
	
		Код:
	
	
		/* 
 * File:   main.c
 * Author: kuai6
 *
 * Created on 30 Январь 2014 г., 22:42
 */
#include <htc.h>
#include <stdio.h>
#include <stdlib.h>
/*
 * 
 */
void init()
{
    // Основной конфиг
    __CONFIG(FOSC_INTOSCIO & WDTE_OFF & PWRTE_OFF & MCLRE_OFF & CP_OFF & CPD_OFF & BOREN_OFF & IESO_ON & FCMEN_OFF);
    ADCON0 = 0;
    ANSEL = 0;
    TRISIO0 = 0;
    TRISIO1 = 0;
    TRISIO2 = 1;
    TRISIO3 = 1;
    TRISIO4 = 1;
    TRISIO5 = 1;
    GPIO = 0b000000;
}
void turnLeft(void)
{
     GPIO = 0b000001;
}
void turnRight(void)
{
    GPIO = 0b000010;
}
void motorStop(void)
{
    GPIO = 0b000000;
}
int isOpen(void)
{
    return (GP3 ==1);
}
int isClosed(void)
{
    return (GP2 == 1);
}
void doOpen(void)
{
    turnLeft();
    while(isOpen() ==0){}
    motorStop();
}
void doClose(void)
{
    turnRight();
    while(isClosed() == 0){}
    motorStop();
}
int main()
{
    init();
    while(1)
    {
        if(GP4 == 0 && GP5 == 1 && isClosed())
        {
            doOpen();
        }
        else if(GP5 == 0 && GP4 == 1 && isOpen())
        {
            doClose();
        }
    }
}
	 
 Сорцы, скомпилированный hex и рисунок платы в Dip Trace лежит в архиве внизу поста.
На выходных проведу первые  тесты, отпишусь по результатам.
По мимо всего прочего к крану придется прикупить три штуцера , типо таких 
http://www.termomir31.ru/catalog/?SECTION_ID=2364&ELEMENT_ID=141152
И один уголок, чтобы попасть под штатный изгиб патрубков
З.Ы. Это, так  сказать, прототип, если решение понравится, можно выпустить малую серию 
