Хобби электроника
Вы хотите отреагировать на этот пост ? Создайте аккаунт всего в несколько кликов или войдите на форум.
Хобби электроника

Всё то, что можно спаять и собрать вручную с помощью паяльника и незамысловатого инструмента: -тут!
 
Реклама  ФорумФорум  Последние изображенияПоследние изображения  ПоискПоиск  РегистрацияРегистрация  ВходВход  
Поиск
 
 

Результаты :
 
Rechercher Расширенный поиск

 

 Управление миксером вакуумной камеры.

Перейти вниз 
Участников: 2
На страницу : 1, 2, 3  Следующий
АвторСообщение
Timkka




Сообщения : 33
Дата регистрации : 2017-05-25

Управление миксером вакуумной камеры. Empty
СообщениеТема: Управление миксером вакуумной камеры.   Управление миксером вакуумной камеры. EmptyПт Май 26, 2017 6:51 pm

Всем привет! я пытаюсь повторить изделие одного умельца, видео с которым можно найти в ютубе, но всвязи с правилами форума я не могу разместить тут ссылочку. Я далек от всего что связано с электроникой на уровне программирования, но в силу обстоятельств подвигнувших меня на все это я уже научился правильно (на мой взгляд) паять, а так же выучил некоторые термины. Схема работы миксера построена на двух микроконтроллерах MSP, один из которых контролирует работу шагового двигателя, а второй выводит все это на дисплей и передает команды на первый. Делал все как описано, все компоненты брал те же самые, преобрел отладочную плату MSP и заливал программу от изобретателя. Собрав всю схему я столкнулся с проблемами:
1. Нахрен я вообще все это затеял.
2. Собрал схему впервые и заработал мотор, все кнопки работали, регулировки тоже, но вот дисплей просто зажег посветку,но никакой информации не ваыводил.
3. После долгих мучений я разобрался в том что необходимо поменять адрес порта i2c, это мне подсказал продавец дисплея к которому я приехал, потому что подумал что с ним что то не так. Он его проверил на плате ардуино, и подсказал мне адрес порта 0х27. Придя домой я запустил i2c сканер и абалдел, он выдавал кучу адресов подряд, в магазине было не так.
Кстати, для программирования использовал программу Energia, правда старой версии, я еще намучался с тем чтобы эта прога увидела мою плату. Это трое суток мозгоатак, поэтому этот момент опустим. В общем дисплей так и не заработал. Я заметил что он моргал в тот момент когда должен был быть звуковой сигнал. Звукового сигнала тоже не было, вместо него были щелчки.
Автор проги мне скинул скетч для проверки дисплея, но все тщетно. Попутно я разобрался с тем, какие перемычки и когда надо снимать (просто мало инфы в интернете по этому лаунчпаду на русском языке, пришлось переводить).
4. Я использовал для ШД драйвер L298N, купил в магазине на красной плате, после уже присмотрелся что у автора он на зеленой и имеет немного другую конструкцию, но продавец в магазине заверил что это не критично. Так вот, подключая к нему 12В от БП компьютера он начинал дымиться, включая 5В работал нормально, но при этом ШД крутился как то вяленько. После чего вообще начал вибрировать на низких скоростях, на высоких он крутился но с вибрацией. пробовал разные вариации проводов подключения ШД к драйверу, я предполагаю что он все таки сгорел. Потому как в следующих попытках ШД не вращался как надо.
В итоге возвращаюсь к тому с чего начинал, а ведь автор мне предлогал попробовать изначально построить все на ардуино, говорит это проще и легкодоступно ( например МК MSP я ждал почти месяц, неделю ждал Лаунчпад..) а ардуинки вон везде есть.
Все его скетчи и программы написаны с расширением .ino я подозреваю что эти скетчи можно вставить в плату ардуино и доработать номера выходов, чем я скорей всего и займусь. Не хотелось бы конечно засорять свой мозг этим, потому как я не планирую заниматься этим постоянно, мой проект(хобби) никак не связан с робототехникой и программированием, но тоже очень интересно для людей, которые любят правильный тюнинг авто.
5. Заключение.. Все же собираюсь купить комплектующих для своей схемы, предполагаю что это будет Arduino UNO, надеюсь что одной платы хватит для моих затей, драйвер ( подскажите какой лучше купить, двигатель шаговый Nema17 1,7А) LCD дисплей с i2c интерфейсом есть.
И еще, все таки я думаю установить что то вроде регулятора напряжения. Вот питаю я все это дело 12В от БП компа на драйвер, 5В на дисплей и 3,3 на плату. Вот хотелось бы убрать эти 12В а вместо этого поставить преобразователь с 12В на 9В для питания драйвера ШД, т.к. насколько я понял 12В много для него.
прикрепляю файлы .doc это как раз скетчи которыми я пытался программировать.
если не затруднит разъяснить, что именно мне надо в них менять?
А еще, библиотеки ведь разные есть? ну например для i2c есть несколько всевозможных и надо подбирать какая из них сработает?
Вложенные файлы
Управление миксером вакуумной камеры. AttachmentMixer_LCD_RTC_1.doc
У вас нет прав скачивать вложенные файлы.
(60 Кб) Скачиваний: 4
Управление миксером вакуумной камеры. Attachmentstepper_vacume_mixer.doc
У вас нет прав скачивать вложенные файлы.
(23 Кб) Скачиваний: 2
Вернуться к началу Перейти вниз
Timkka




Сообщения : 33
Дата регистрации : 2017-05-25

Управление миксером вакуумной камеры. Empty
СообщениеТема: Re: Управление миксером вакуумной камеры.   Управление миксером вакуумной камеры. EmptyПт Май 26, 2017 6:57 pm

https://i.servimg.com/u/f58/19/70/28/32/aiee_i10.jpg

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


Сообщения : 1034
Дата регистрации : 2013-02-08
Возраст : 50
Откуда : Нижний Новгород

Управление миксером вакуумной камеры. Empty
СообщениеТема: Re: Управление миксером вакуумной камеры.   Управление миксером вакуумной камеры. EmptyВс Май 28, 2017 11:16 pm

Интересный проектик.
Щелчки в звуковом излучателе потому что , тип его не тот .
Должен быть тип со схемой внутри который при подаче 5Вольт пищит, смотрите даташиты.
http://electro-tehnyk.narod.ru/docs/Datasheet/izluchateli_zvuka.pdf
проверю скетч применив его для ардуино в Протеусе(это программа позволяющая виртуально на компе проверять работу схем и микроконтроллеров)
Вернуться к началу Перейти вниз
http://sser.jimdo.com
sser
Admin
sser


Сообщения : 1034
Дата регистрации : 2013-02-08
Возраст : 50
Откуда : Нижний Новгород

Управление миксером вакуумной камеры. Empty
СообщениеТема: Re: Управление миксером вакуумной камеры.   Управление миксером вакуумной камеры. EmptyПн Май 29, 2017 8:05 am

Вот так получится. Smile
https://i.servimg.com/u/f58/18/22/37/68/aiee_i10.jpg
Вернуться к началу Перейти вниз
http://sser.jimdo.com
Timkka




Сообщения : 33
Дата регистрации : 2017-05-25

Управление миксером вакуумной камеры. Empty
СообщениеТема: Re: Управление миксером вакуумной камеры.   Управление миксером вакуумной камеры. EmptyПн Май 29, 2017 10:20 am

Ух, ты! Круто! А одним контроллером тут не обойтись?
Вернуться к началу Перейти вниз
sser
Admin
sser


Сообщения : 1034
Дата регистрации : 2013-02-08
Возраст : 50
Откуда : Нижний Новгород

Управление миксером вакуумной камеры. Empty
СообщениеТема: Re: Управление миксером вакуумной камеры.   Управление миксером вакуумной камеры. EmptyПн Май 29, 2017 10:22 am

Можно и одним , но скетч заново делать нужно.
Вернуться к началу Перейти вниз
http://sser.jimdo.com
Timkka




Сообщения : 33
Дата регистрации : 2017-05-25

Управление миксером вакуумной камеры. Empty
СообщениеТема: Re: Управление миксером вакуумной камеры.   Управление миксером вакуумной камеры. EmptyПн Май 29, 2017 11:32 am

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




Сообщения : 33
Дата регистрации : 2017-05-25

Управление миксером вакуумной камеры. Empty
СообщениеТема: Re: Управление миксером вакуумной камеры.   Управление миксером вакуумной камеры. EmptyПн Май 29, 2017 1:29 pm

Немного пытаюсь разобраться куда и что подключать.
Для i2c выходы А4 и А5. для драйвера управлением ШД D8 D7 D6 D5/ правильно?
а кнопки включения и переключатели куда втыкать?
Вернуться к началу Перейти вниз
sser
Admin
sser


Сообщения : 1034
Дата регистрации : 2013-02-08
Возраст : 50
Откуда : Нижний Новгород

Управление миксером вакуумной камеры. Empty
СообщениеТема: Re: Управление миксером вакуумной камеры.   Управление миксером вакуумной камеры. EmptyПн Май 29, 2017 1:40 pm

Беда в том, что ШД будет дёргаться в момент изменения индикации и вообще какого ни-будь процесса в контроллере из-за прерываний если попробовать совместить  скетчи ,но думаю это не критично для мешалки.
Вернуться к началу Перейти вниз
http://sser.jimdo.com
Timkka




Сообщения : 33
Дата регистрации : 2017-05-25

Управление миксером вакуумной камеры. Empty
СообщениеТема: Re: Управление миксером вакуумной камеры.   Управление миксером вакуумной камеры. EmptyПн Май 29, 2017 2:30 pm

Он точно будет дергаться? или это просто возможно?
Вернуться к началу Перейти вниз
Timkka




Сообщения : 33
Дата регистрации : 2017-05-25

Управление миксером вакуумной камеры. Empty
СообщениеТема: Re: Управление миксером вакуумной камеры.   Управление миксером вакуумной камеры. EmptyПн Май 29, 2017 2:50 pm

я где то вычитал что дергания ШД можно излечить включив в скетч библиотеку AccelStepper.h
это может сработать?
Вернуться к началу Перейти вниз
sser
Admin
sser


Сообщения : 1034
Дата регистрации : 2013-02-08
Возраст : 50
Откуда : Нижний Новгород

Управление миксером вакуумной камеры. Empty
СообщениеТема: Re: Управление миксером вакуумной камеры.   Управление миксером вакуумной камеры. EmptyПн Май 29, 2017 2:58 pm

Так и надо делать.
На форуме FLprog это описано.
Там есть хороший блок пользователя с отсутствием этих недостатков.
Однозначно нужно делать всё заново...
Вернуться к началу Перейти вниз
http://sser.jimdo.com
Timkka




Сообщения : 33
Дата регистрации : 2017-05-25

Управление миксером вакуумной камеры. Empty
СообщениеТема: Re: Управление миксером вакуумной камеры.   Управление миксером вакуумной камеры. EmptyПн Май 29, 2017 11:52 pm

У меня тут что то получилось, а что не понятно. сможете проверить? пины смотрел на плате Arduino Uno/
1-я плата
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 20, 4);
int Speed = 0;                          //скорость,
int sensorSpeed = 0 ;                   //аналоговое задание скорости на входе
int sensorTime = 0;                     // задание время работы на входе,
int time = 0;                           // промежуточная переменная времени работы , сек
int timeMinut = 0;                      //время работы в мин и сек
int timeSecond = 0;
int sensorRevers = 0 ;                  //  задание время цикла реверса на входе
int reversTime = 0;                     // промежуточная переменная времени реверса , сек
int reversMinut = 0;                    //время цикла реверса в мин и сек
int reversSecond = 0;
int AutoReversMinut = 0;                //промежуточное время наступления  реверса в мин и сек
int AutoReversSecond = 0;
int reversIn1 = HIGH;                   // переменная реверс вход 1
int reversIn2 = HIGH;                   // переменная реверс вход 2
int reversOut = LOW;                    // переменная направления реверса выход на модуль ШД 1-вперед, 0-назад
volatile int Start = HIGH;              // переменная кнопки "пуск" 0-пуск, 1- стоп
volatile int Stop = LOW;                         // переменная кнопки "стоп" 0- стоп
int Auto = HIGH;                        // вход ручное упр.- 1, автомат - 0
int Rabota = HIGH;                       // переменная 0- "Работа", 1 - остановка

long  mn = 0;                             //минуты из millis
long  s = 0;                              //секунды из millis

int StopMinut = 0;                      //время остановки в автомате мин, сек,
int StopSecond = 0;
void setup()
{
 pinMode(8, INPUT);                      // переключатель реверс вх1
 pinMode(7, INPUT);                        // переключатель реверс вх2  10-вперед, 01-назад, 11- автореверс
 pinMode(13, INPUT);                       // кнопка 0- пуск
 attachInterrupt(13, pusk, FALLING);       // Прерывание при нажатии кнопки Пуск. 1-0 пуск
 pinMode(12, INPUT);                       // кнопка 0- стоп
 attachInterrupt(4, avtomat, CHANGE);       // переключатель 0-автомат,1-ручной (остановка по прерыванию при изменении положения перекл.)
 pinMode(5, OUTPUT);                      // выход на контр.ШД  1-пуск, 0-стоп
 pinMode(6, OUTPUT);                      // выход реверс на модуль ШД 1-вперед, 0-назад
 pinMode(2, OUTPUT);                      // выход звук , 0-звук
 //предустановка выходов
 digitalWrite(5, LOW);                    // стоп
 digitalWrite(6, LOW);                    //назад
 digitalWrite(2, LOW);                   // нет звука
 lcd.init();                               //запуск индикатора
 lcd.backlight();
 lcd.print("    ");
 lcd.setCursor(0, 3);
 lcd.print("CTOn");

}

void loop()
{
 // скорость вращения
 sensorSpeed = analogRead(A0);                                  //читаем задание скорости
 Speed = map(sensorSpeed, 0, 1023, 20, 150);                    // масштабируем из 0-1023 в диапазон 20-150
 lcd.setCursor(0, 0);                                           // печатаем скорость
 lcd.print("Ckop:");
 lcd.setCursor(12, 0);
 lcd.print("   ");
 lcd.setCursor(12, 0);
 if ( Speed < 100 ) {
   lcd.print(" ");  //если цифра скорости двузначная, то впереди печатаем пробел
 }
 lcd.print(Speed);
 lcd.setCursor(16, 0);
 lcd.print("o6/m");
 lcd.setCursor(0, 1);
 lcd.print("Bpem:");
 //реверс - время, направление, режим

 reversIn1 = digitalRead(Cool;                     //читаем вход 1 реверса
 reversIn2 = digitalRead(7);                     //читаем вход 2 реверса
 if (reversIn1 == HIGH && reversIn2 == LOW) {    //если 1 и 0 то...
   digitalWrite(6, LOW);                          // выдаем на выход "вперед"
   reversOut = LOW ;
 }                             // запоминаем состояние реверса
 if (reversIn1 == LOW && reversIn2 == HIGH) {   //если 0 и 1 то...
   digitalWrite(6, HIGH);                        // выдаем на выход "назад"
   reversOut = HIGH ;
 }                             // запоминаем состояние реверса
 if (reversIn1 == HIGH && reversIn2 == HIGH) { //если 1 и 1 то режим автореверс
   digitalWrite(6, reversOut);                        // выдаем на выход переменную направления реверса
   lcd.setCursor(11, 2);
   lcd.print("ABTO");
   sensorRevers = analogRead(A2);                                 //читаем задание времени реверса
   reversTime = map(sensorRevers, 0, 1023, 5, 120);               // масштабируем из 0-1023 в диапазон 5-120 сек
   reversMinut = reversTime / 60;                                 // вычисляем минуты
   reversSecond = 5 * ((reversTime - (reversMinut * 60)) / 5);    // вычисляем секунды (кратно 5)

   lcd.setCursor(16, 2);                        // печатаем время реверса, минут
   lcd.print("    ");
   lcd.setCursor(16, 2);
   lcd.print(reversMinut);
   lcd.setCursor(17, 2);                        // печатаем время реверса, секунд
   lcd.print(":");
   lcd.setCursor(18, 2);
   if ( reversSecond < 10 ) {
     lcd.print("0");
   }
   lcd.print(reversSecond);

   unsigned long currentMillis = millis();     //Вычисляем текущие минуты и секунды из millis
   mn = (((currentMillis / 1000) / 60 ) % 60 ) % 60 ;
   s = (currentMillis / 1000) % 60 ;

   if ( Rabota == LOW ) {                       //если в режиме  автореверса идет "работа" то сравниваем время
     if ( mn >= AutoReversMinut && s >= AutoReversSecond ) {     //если наступило время переключения, то...
       reversOut = !reversOut ;                                 //меняем направление реверса...
       AutoReversSecond = s + reversSecond ;                   // ...и считаем следующее время переключения
       if ( AutoReversSecond > 59 ) {
         AutoReversSecond = AutoReversSecond - 60 ;
         AutoReversMinut = mn + reversMinut + 1 ;
       }
       else {
         AutoReversMinut = mn + reversMinut ;
       }
       if ( AutoReversMinut > 59 ) {
         AutoReversMinut = AutoReversMinut - 60 ;
       }
     }
   }
   else {
     AutoReversSecond = s + reversSecond ;         //если режим  автореверса и нет работы то запоминаем время для начала отсчета  реверса при работе
     if ( AutoReversSecond > 59 ) {
       AutoReversSecond = AutoReversSecond - 60 ;
       AutoReversMinut = mn + reversMinut + 1 ;
     }
     else {
       AutoReversMinut = mn + reversMinut ;
     }
     if ( AutoReversMinut > 59 ) {
       AutoReversMinut = AutoReversMinut - 60 ;
     }
   }
 }
 else {                                    //если в ручном режиме реверса ,то стираем АВТО и секунды
   lcd.setCursor(11, 2);
   lcd.print("         ");
 }
 if ( reversOut == LOW ) {                  // если реверс "вперед" то печатаем >>>
   lcd.setCursor(7, 2);
   lcd.print(">>>");
 }
 else {                                // если реверс "назад" то печатаем <<<
   lcd.setCursor(7, 2);
   lcd.print("<<<");
 }
 lcd.setCursor(0, 2);
 lcd.print("PeBepc:");
 //отработка пуска
 if (Stop == HIGH && Start == LOW) {     //если была нажата "пуск" и не нажата "стоп" то...
   digitalWrite(5, HIGH);                  // выдаем на выход пуск
   Rabota = LOW ;                          //признак работы = 0 - "работа"
   Start = HIGH ;                           //сбрасываем признак прерывания (начала работы)
   StopSecond = timeSecond + s ;           //вычисляем минуты и секунды остановки
   if ( StopSecond > 59 ) {
     StopSecond = StopSecond - 60 ;
     StopMinut = mn + timeMinut + 1 ;
   }
   else {
     StopMinut = mn + timeMinut ;
   }
   if ( StopMinut > 59 ) {
     StopMinut = StopMinut - 60 ;
   }
 }

 if ( Rabota == LOW ) {                  //если признак работы 0, то  печатаем "Работа"
   lcd.setCursor(0, 3);
   if ( s % 2 == 0 ) {
     lcd.print("PA6OTA");  // моргаем словом "Работа" через 1 сек
   }
   else {
     lcd.setCursor(0, 3);
     lcd.print("      ");
   }
   detachInterrupt(13) ;                 //на время работы запрещаем прерывания по кнопке "пуск"
 }
 else {
   attachInterrupt(13, pusk, FALLING);  // иначе разрешаем прерывание при нажатии кнопки Пуск. 1-0 пуск
 }


 //Автоматический (по таймеру) или ручной режим
 Auto = digitalRead(4);                                  //читаем вход ручное упр.1,  - автомат 0
 if ( Rabota == LOW && Auto == LOW) {                    //если режим "Работа"+"Автомат"
   timeSecond = StopSecond - s;                           // вычисляем оставшиеся секунды до остановки
   if ( timeSecond < 0 ) {                                //если текущие секунды больше секунд останова,
     timeSecond = timeSecond + 60 ;                       //то занимаем 1 минуту
     timeMinut = StopMinut - mn - 1;
   }                     // вычисляем минуты
   else {
     timeMinut = StopMinut - mn ;
   }
   if ( timeMinut < 0 ) {                                 //если текущие минуты больше минут останова, то...
     timeMinut = timeMinut + 60;
   }                        //то занимаем 1 час (60 минут), часы нас не интересуют
   if ( timeSecond == 0 && timeMinut == 0 )               //если оставшееся время равно 0, то...
   {
     Stop = LOW ;  //идем останавливаться
   }
   //если до окончания работы осталось менее 8 с, то начинаем пищать на 8,  6, 4 и 2й секундах
   if ( ((timeSecond == 8 ) || (timeSecond == 6 ) || (timeSecond == 4 ))    && timeMinut == 0 ) {
     tone(2, 20);
   }
   if ( timeSecond == 2  && timeMinut == 0 ) {
     digitalWrite(2, HIGH);   // в конце выдаем непрерывный сигнал 2 сек
   }
   if ( ((timeSecond == 7 ) || (timeSecond == 5 ) || (timeSecond == 3 )) && timeMinut == 0 ) {        //снимаем звук на 7, 5 и 3й секундах
     noTone(2) ;
     digitalWrite(2, LOW);
   }
 }
 else {                                                 //если не  "Работа" или не "Автомат" ХЗ ЧТО ДЕЛАТЬ ДАЛЬШЕ...
   sensorTime = analogRead(A1);                           //читаем задание времени работы
   time = map(sensorTime, 0, 1023, 10, 595);              // масштабируем из 0-1023 в диапазон 10-595 сек
   timeMinut = time / 60;                                 // вычисляем минуты
   timeSecond = 10 * ((time - (timeMinut * 60)) / 10);    // вычисляем секунды (кратно 10)
   time = 60 * timeMinut + timeSecond;
 }

 if ( Auto == HIGH ) {                           //если 1, то ручное управление
   lcd.setCursor(7, 1);
   lcd.print("        -----");
 }
 else {                                         // если 0 то автомат
   lcd.setCursor(15, 1);
   lcd.print("     ");
   lcd.setCursor(15, 1);                          // печатаем время работы, минут
   if ( timeMinut < 10 ) {
     lcd.print(" ");
   }
   lcd.print(timeMinut);
   lcd.setCursor(17, 1);                        // печатаем время работы, секунд
   lcd.print(":");
   lcd.setCursor(18, 1);
   if ( timeSecond < 10 ) {
     lcd.print("0");
   }
   lcd.print(timeSecond);
 }

 //остановка
 if (Stop == LOW ) {                      //если нажата "стоп" то...
   digitalWrite(5, LOW);                  // выдаем на выход стоп
   noTone(2) ;
   digitalWrite(2, LOW);                 //снимаем звук
   Rabota = HIGH;                         //признак работы = 1 - остановка
   lcd.setCursor(0, 3);                   // печатаем "стоп"
   lcd.print("    ");
   lcd.setCursor(0, 3);
   lcd.print("CTOn  ");
 }
 Stop = digitalRead(12);                 //читаем вход кнопки стоп
}
//обработка прерывания по кнопке Пуск
void pusk()
{
 Start = LOW ;
}
//обработка прерывания при изменении переключателя ручной\автомат  - вызывает остановку.
void avtomat ()
{
 Stop = LOW;
}
и 2-я
#include <AccelStepper.h>
#include <MultiStepper.h>
const int stepsPerRevolution = 200;  //кол-во шагов на оборот
const int reversPin = 13; //вход реверс
const int startPin = 12; //вход пуск-стоп
// initialize the stepper library on pins 8 through 11:
Stepper myStepper(stepsPerRevolution, 7,6,5,4);           
int stepCount = 0;         // number of steps the motor has taken
int reversState = 0; //состояние кнопки реверса
int startState = 0; //состояние кнопки пуск-стоп

void setup() {
 pinMode(reversPin, INPUT_PULLUP);// вход кнопки реверса
 pinMode(startPin, INPUT_PULLUP);// вход кнопки старт
}
void loop() {
 
 reversState = digitalRead(reversPin); //читаем вход кнопки направления вращения
 startState = digitalRead(startPin); //читаем вход кнопки старт
 int sensorReading = analogRead(A0); //читаем задание скорости
 int motorSpeed = map(sensorReading, 0, 1023, 20, 150);   // масштабируем из 0-1023 в диапазон 20-150
 if (startState == HIGH) {  //если на входе старт=1, то запускаем программу ШД, если =0 то на выходы ШД пишем 0
   myStepper.setSpeed(motorSpeed);
  
 if (reversState == HIGH) {                // если реверс =1, тогда крутим в одну сторону   
   myStepper.step(stepsPerRevolution/200); 
 }
   else {
   myStepper.step(-stepsPerRevolution/200);  //направление вращения - // иначе крутим в другую сторону
}
}
  else {
   digitalWrite(7, LOW);
   digitalWrite(6, LOW);
   digitalWrite(5, LOW);
   digitalWrite(4, LOW);
  }  
}
Вернуться к началу Перейти вниз
sser
Admin
sser


Сообщения : 1034
Дата регистрации : 2013-02-08
Возраст : 50
Откуда : Нижний Новгород

Управление миксером вакуумной камеры. Empty
СообщениеТема: Re: Управление миксером вакуумной камеры.   Управление миксером вакуумной камеры. EmptyВт Май 30, 2017 8:26 am

https://i.servimg.com/u/f58/18/22/37/68/eu10.jpg

Вроде работает .
Кнопки пока не проверял -нет времени....
Вложенные файлы
Управление миксером вакуумной камеры. Attachmentsketch_may30a.zip
У вас нет прав скачивать вложенные файлы.
(4 Кб) Скачиваний: 4
Вернуться к началу Перейти вниз
http://sser.jimdo.com
Timkka




Сообщения : 33
Дата регистрации : 2017-05-25

Управление миксером вакуумной камеры. Empty
СообщениеТема: Re: Управление миксером вакуумной камеры.   Управление миксером вакуумной камеры. EmptyСр Май 31, 2017 11:19 pm

Так у меня ж через i2c подключен дисплей.
Вернуться к началу Перейти вниз
sser
Admin
sser


Сообщения : 1034
Дата регистрации : 2013-02-08
Возраст : 50
Откуда : Нижний Новгород

Управление миксером вакуумной камеры. Empty
СообщениеТема: Re: Управление миксером вакуумной камеры.   Управление миксером вакуумной камеры. EmptyЧт Июн 01, 2017 12:01 am

Ну и здесь через i2c ....

аналоговые выхода ардуины  AD4 и AD5 (SCL ,SDA). А на микросхему PCF8574 не смотрите она в вашем дисплее спрятана .
Вернуться к началу Перейти вниз
http://sser.jimdo.com
Timkka




Сообщения : 33
Дата регистрации : 2017-05-25

Управление миксером вакуумной камеры. Empty
СообщениеТема: Re: Управление миксером вакуумной камеры.   Управление миксером вакуумной камеры. EmptyЧт Июн 01, 2017 9:34 pm

а то что я изобразил не пробовали вставлять в программу?
Вернуться к началу Перейти вниз
sser
Admin
sser


Сообщения : 1034
Дата регистрации : 2013-02-08
Возраст : 50
Откуда : Нижний Новгород

Управление миксером вакуумной камеры. Empty
СообщениеТема: Re: Управление миксером вакуумной камеры.   Управление миксером вакуумной камеры. EmptyПт Июн 02, 2017 7:17 am

объясняю что сделал :
Взял Ваш код и вставил в Ардуино IDE , он "ругнулся" при проверке,-исправил ,не ругается .
затем взял схему -пример подключения дисплея по IC2 из Протеуса  подключил к Ардуино нано328 и запустил , сделал скриншот (снимок экрана) того что отобразил дисплей( в симуляторе Протеус) разместил это фото(скриншота) на форуме , затем разместил этот исправленный и проверенный код(скетч) ,для Ардуино IDE .
Вернуться к началу Перейти вниз
http://sser.jimdo.com
Timkka




Сообщения : 33
Дата регистрации : 2017-05-25

Управление миксером вакуумной камеры. Empty
СообщениеТема: Re: Управление миксером вакуумной камеры.   Управление миксером вакуумной камеры. EmptyПт Июн 02, 2017 8:11 am

Научите меня так же делать))
Я так понимаю это скет Миксер1? А stepper?
Вернуться к началу Перейти вниз
sser
Admin
sser


Сообщения : 1034
Дата регистрации : 2013-02-08
Возраст : 50
Откуда : Нижний Новгород

Управление миксером вакуумной камеры. Empty
СообщениеТема: Re: Управление миксером вакуумной камеры.   Управление миксером вакуумной камеры. EmptyПт Июн 02, 2017 9:27 am

Это скетч для индикации , тоже самое нужно сделать со скетчем для ШД.
По поводу обучения ,а что не понятно?
Вернуться к началу Перейти вниз
http://sser.jimdo.com
Timkka




Сообщения : 33
Дата регистрации : 2017-05-25

Управление миксером вакуумной камеры. Empty
СообщениеТема: Re: Управление миксером вакуумной камеры.   Управление миксером вакуумной камеры. EmptyПт Июн 02, 2017 10:34 am

Вообще ничего не понятно) ну то есть, со своим уровнем знания я смогу тоже самое проделать в этой программе?
Вернуться к началу Перейти вниз
sser
Admin
sser


Сообщения : 1034
Дата регистрации : 2013-02-08
Возраст : 50
Откуда : Нижний Новгород

Управление миксером вакуумной камеры. Empty
СообщениеТема: Re: Управление миксером вакуумной камеры.   Управление миксером вакуумной камеры. EmptyПт Июн 02, 2017 11:22 am

https://cloud.mail.ru/public/766U/aad56VLwe

здесь файл Протеуса который получился .

Поставьте Протеус и откройте этот файл , затем отредактируйте выводы , к примеру IO7 на свой IO3, для подключения кнопок и т.д .
Другой скетч позже... пробуйте пока этот.
Вернуться к началу Перейти вниз
http://sser.jimdo.com
Timkka




Сообщения : 33
Дата регистрации : 2017-05-25

Управление миксером вакуумной камеры. Empty
СообщениеТема: Re: Управление миксером вакуумной камеры.   Управление миксером вакуумной камеры. EmptyВс Июн 04, 2017 11:47 pm

не могу залить скетч. что это значит?
Скетч использует 6486 байт (21%) памяти устройства. Всего доступно 30720 байт.
Глобальные переменные используют 354 байт (17%) динамической памяти, оставляя 1694 байт для локальных переменных. Максимум: 2048 байт.
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xf7
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0xf7
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0xf7
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0xf7
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0xf7
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0xf7
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0xf7
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0xf7
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0xf7
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0xf7
Проблема загрузки в плату. Помощь по загрузке: http://www.arduino.cc/en/Guide/Troubleshooting#upload
Вернуться к началу Перейти вниз
Timkka




Сообщения : 33
Дата регистрации : 2017-05-25

Управление миксером вакуумной камеры. Empty
СообщениеТема: Re: Управление миксером вакуумной камеры.   Управление миксером вакуумной камеры. EmptyПн Июн 05, 2017 12:12 am

https://i.servimg.com/u/f58/19/70/28/32/whatsa10.jpg

закачал. но что то идет не так..
Вернуться к началу Перейти вниз
sser
Admin
sser


Сообщения : 1034
Дата регистрации : 2013-02-08
Возраст : 50
Откуда : Нижний Новгород

Управление миксером вакуумной камеры. Empty
СообщениеТема: Re: Управление миксером вакуумной камеры.   Управление миксером вакуумной камеры. EmptyСр Июн 07, 2017 6:17 am

Такая "фигня" обычно происходит когда длинные провода Ic2 ... или что-то напутано с подключением, или плохой контакт где-то.
Вернуться к началу Перейти вниз
http://sser.jimdo.com
 
Управление миксером вакуумной камеры.
Вернуться к началу 
Страница 1 из 3На страницу : 1, 2, 3  Следующий
 Похожие темы
-
» Электронное управление металлообрабатывающими станками
» Управление ТТ котлом на ардуино
» Автономное управление ЧПУ станочком
» Программирую Arduino на заказ (Беcплатно). ("Умный дом" не предлагать)
» Управление насосом подачи водометанола в ДВС.

Права доступа к этому форуму:Вы не можете отвечать на сообщения
Хобби электроника :: категория :: форум-
Перейти: