Разработка электроники на заказ

Тема в разделе "Сделаю проект", создана пользователем koteika, 25 июл 2016.

  1. koteika

    koteika Гик

    Добрый день!
    Занимаюсь разработкой электроники на заказ. Т.е. разработка схемотехники, написание прошивки и изготовление прототипа. Возможна сборка серии устройств.

    Так же развожу платы в программе Altium Designer.

    Используемые микроконтроллеры Atmel(avr, attiny), STM( 8 и 32 битные.).

    Писать в лс, или на электронку alex38779@gmail.com

    Примеры работ. По запросу могу предоставить портфолио.

    _VH6mINoVBk.jpg HgNAHpmtePs.jpg IMG_20160714_041602.jpg Vta4j8wgtPA.jpg wUnNShGM2Fs.jpg
     
  2. DIYMan

    DIYMan Guest

    Вопрос: частотомер под STM8L - сколько скетч стоить будет? Надо: с одной ноги снимать частоту сигнала, с другой - напряжение. Запоминать это дело в две переменные. Если пришёл пакет по UART и он адресован нам - переключаться на передачу (RS-485) и отправлять рассчитанную чиселку, всё.
     
  3. koteika

    koteika Гик


    Ответил в лс.
     
  4. DIYMan

    DIYMan Guest

    Ага, вижу. Отписал ответ ;)
     
  5. koteika

    koteika Гик

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

    Вложения:

  6. koteika

    koteika Гик

    И еще не много..

    Светодиодное сердце... Это делал для девушки) Не на заказ.. МК atmega 8
    И таймер засветки фоторезиста на attiny13. Исходник на асме, там же и схема и т.д. https://github.com/koteikaa/UF-stanok/blob/master/UF PLC/UF PLC/UF PLC.asm

    Ну и начал постить на гитхаб...
     

    Вложения:

    • botton.JPG
      botton.JPG
      Размер файла:
      37,7 КБ
      Просмотров:
      560
    • top.JPG
      top.JPG
      Размер файла:
      46,2 КБ
      Просмотров:
      564
    • t.JPG
      t.JPG
      Размер файла:
      31 КБ
      Просмотров:
      782
    • bt.JPG
      bt.JPG
      Размер файла:
      37,4 КБ
      Просмотров:
      751
  7. antey_new

    antey_new Нуб

    Добрый день.
    На Меге + DDS собран генератор частот.
    Можете помочь в сборке усилителя к нему ?
     
  8. koteika

    koteika Гик

    актуально
     
  9. onixex

    onixex Нуб

    Добрый день, нужно подправить или написать новый скетч для ардуино.
    Есть ардуино UNo К которому подключен модуль RS-232 и GSM модуль M590. Нужно передавать данные поступившие по 232 на удаленный компьютер по Интернету. У удаленного компьютера статистический IP адрес. Вот скетч который пробовал написать.

    #include <SoftwareSerial.h>
    #include <avr/wdt.h>

    SoftwareSerial gsm(10, 11); // RX, TX

    unsigned long prev = 0;
    String inputString, l = "";
    boolean stringComplete = false;
    char bufferGPRS_Serial[200];
    int power = 5;

    int j, m, ip, p = 0;

    void setup() {
    Serial.begin(9600);delay(100);
    gsm.begin(9600);delay(100);
    wdt_reset();
    pinMode(power, OUTPUT);
    Serial.setTimeout(2);
    Serial.println("START");
    digitalWrite(power,0);
    delay(1000);
    digitalWrite(power,1);
    while (!(l.indexOf("+PBREADY") >= 0)) {
    if (millis() - prev >= 30000) {
    prev = millis();
    wdt_enable(WDTO_15MS);
    delay(100);
    }
    if (gsm.available() > 0) {
    while (gsm.available() > 0) {
    bufferGPRS_Serial[j++] = gsm.read();
    }
    bufferGPRS_Serial[j] = '\0';
    l = bufferGPRS_Serial;
    }
    }
    String s = bufferGPRS_Serial;
    clearBufferGPRS_Serial();
    Serial.println(s);
    m590("AT+XIIC?");
    if (ip == 0) {
    gprsconnect();
    }
    inputString.reserve(200);
    wdt_enable(WDTO_8S); // Время перезагрузки
    }

    void gprsconnect() {
    m590("AT+TCPCLOSE=0");
    byte count = 0;
    do{
    m590("AT+XISP=0");delay(500);
    m590("AT+CGDCONT=1,\"IP\",\"internet.megafon.ru\"");delay(500);
    m590("AT+XIIC=1");delay(500);
    m590("AT+XIIC?");
    delay(500);
    count++;
    if (count > 5) {
    wdt_enable(WDTO_15MS);
    delay(100);
    }
    }while(ip == 0);
    m590("AT+TCPSETUP=0,5.200.52.161,3113");// ip и port
    }

    void loop() {
    serialEvent();
    if (millis() - prev > 2000) {
    wdt_reset();
    Serial.println(inputString);
    //String request = "AT+TCPSEND=0," + String(sizeof(inputString));
    m590("AT+TCPSEND=0,5");
    //request = inputString;
    delay(1000);
    m590(inputString);delay(100);
    m590("\r\n");
    inputString = "";
    prev = millis();
    }/*
    if (gsm.available()) {
    char inChar = (char)gsm.read();
    Serial.println(inChar);
    wdt_reset();
    }*/
    }

    void serialEvent() {
    if (Serial.available()>0) {
    while (Serial.available()) {
    char inChar[2];
    Serial.readBytes(inChar, 2);
    Serial.println(inChar);
    inputString += inChar;
    }}
    }

    void clearBufferGPRS_Serial() {
    for (int t = 0; t < 100; t++) {
    // очищаем буфер,
    // присваивая всем индексам массива значение 0
    bufferGPRS_Serial[t] = 0;
    }
    }

    void m590(String at) {
    m = 0;
    // бесконечный цикл
    while (m == 0) {
    // ждём 1 секунду
    j = 0;
    // посылаем в GPRS Shield АТ-команду "AT"
    gsm.println(at);

    delay(100);
    if (gsm.available() > 0) {
    while (gsm.available() > 0) {
    // пока идёт передача данных,
    // записываем каждый байт в символьный массив
    bufferGPRS_Serial[j++] = gsm.read();
    }
    // добавляем символ конца строки
    bufferGPRS_Serial[j] = '\0';
    //
    // посылаем АТ-команду "AT"; если GPRS Shield исправен,
    // он должен вернуть команду "AT";
    // сравниваем всё что находиться в буфере GPRS Shield
    // со строкой "AT\r\n\r\nOK\r\n"
    //String s = at+"\r\n\r\nOK\r\n";

    }
    String s = bufferGPRS_Serial;
    //Serial.println(s);
    /* else
    if (at == "AT" && s.indexOf("MODEM:STARTUP") >= 0) {
    p = 1;
    } */
    if (at == "AT+TCPSETUP=0,5.200.52.161,3113" && s.indexOf("OK") >= 0) {
    Serial.println("Client Connected");
    } else if (at == "AT+XIIC=1" && s.indexOf("OK") >= 0) {
    Serial.println("OKEY");
    } else if (at == "AT+XISP=0" && s.indexOf("OK") >= 0) {
    Serial.println("Okey");
    }
    String g = "+TCPSEND:0," + String(sizeof(inputString));
    if (at.indexOf("+TCPSETUP:0,OK") >= 0 && s.indexOf(g) >= 0) {
    Serial.println("SEND");
    }
    /* else if (at == "AT+TCPSETUP=0,5.200.52.161,3113" || at == "AT+XIIC=1" || at == "AT+XISP=0"){
    wdt_enable(WDTO_15MS);
    delay(100);
    }*/
    if(s.indexOf("0.0.0.0") >= 0 && at == "AT+XIIC?"){
    Serial.println("NOT IP");
    ip = 0;
    } else if(s.indexOf("ERROR") >= 0 && at == "AT+XIIC?"){
    Serial.println("NOT CONNECTION");
    wdt_enable(WDTO_15MS);
    delay(100);
    } else if (at == "AT+XIIC?" && s.indexOf("1, ") >= 0) {
    Serial.println("IP EXISTS");
    ip = 1;
    }
    /*if () {

    }

    }
    if (at == "AT+XIIC?" && (bufferGPRS_Serial[24] == '0' && bufferGPRS_Serial[26] == '0' && bufferGPRS_Serial[28] == '0' && bufferGPRS_Serial[30] == '0')) {
    Serial.println("NOT IP");
    ip = 0;
    } else if (at == "AT+XIIC?") {
    Serial.println("IP EXIST");
    ip = 1;
    }*/
    // очищаем буфер GPRS Serial
    clearBufferGPRS_Serial();
    m++;
    }
    }
     
  10. koteika

    koteika Гик

    Такое не интересно..
     
  11. koteika

    koteika Гик

    ШИМ регуляторы, на stm32 и attiny13...
    dr1.JPG dr2.JPG Gf-xBGPXTyQ.jpg vjsRnEJv32c.jpg
    Блоком питания наверно ни кого не удивишь)
    Снимок121.JPG
     
    Последнее редактирование: 1 мар 2017
  12. koteika

    koteika Гик

    Могу предложить такие сердечки, писать в лс. Осталось некоторое кол-во. Платы заводские(на фото есть).
    44257-8763-4.jpg rQI0k-u1OTc.jpg xf_x9Gs2lbE.jpg
     
    Последнее редактирование: 1 мар 2017
  13. Здравствуйте.
    Нужна разработка (думаю на нано) контроллера.
    1. Включение контроллера при замыкании контактов водой.
    2. При включении (замыкание водой) плавный пуск двигателя постоянного тока (шим) двигатель дворников пусковой ток промерял около 4А. В рабочем режиме около 1А.
    3. При включении (замыкание водой) включение реле насоса. Коммутация 220 не более 5А. Вообще двигатель (водяной насос) планируется ватт на 500 - 800.
    4. При понижении уровня воды (размыкание контактов воды) таймер на выключение с регулировкой задержки от 3 сек до 30 сек.
    5. При выключении (размыкание водой) после отработки таймера. Отключение реле коммутации насоса 220 после полной плавной остановки двигателя DC.
    6. В двигателях дворников есть контакт который размыкается при каждом обороте. Есть задумка считать, и если например в течении 3х секунд нет отсчёта, то включается сигнал и светодиод (нет вращения барабана) типа обратная связь.

    Первый раз пишу подобное задание, если что не обессудьте. Может что упустил.
    Нужна схема и скетч.
    Возможность? Стоимость? Сроки?
    С уважением, Александр.
     
  14. koteika

    koteika Гик

    Актуально..
     
  15. Спасибо. Сделали.
     
  16. koteika

    koteika Гик

    Я имел ввиду, что я свободен от работы и ищу заказчиков. А не Вам.
     
  17. koteika

    koteika Гик

    Если сделали, то отлично)
     
  18. koteika

    koteika Гик

    апну
     
  19. koteika

    koteika Гик

    Ап.

    DC-DC 3,3В
     

    Вложения:

    • dc-dc2.JPG
      dc-dc2.JPG
      Размер файла:
      32,4 КБ
      Просмотров:
      506
  20. koteika

    koteika Гик

    Апну
    cTG_PrfeECs.jpg -Jdd_aOBtgY.jpg