Отговори на тема  [ 55 мнения ]  Отиди на страница Предишна  1, 2, 3, 4  Следваща
Контролер(и) и проблеми 
Автор Съобщение
Ранг: Напреднал
Ранг: Напреднал
Аватар

Регистриран на: Съб Май 21, 2016 8:47 pm
Мнения: 472
Местоположение: Бургас
Мнение Re: Контролер(и) и проблеми
Не е космическо нещо това, за което питам. Става дума за обикновен контролер за малки стъпкови мотори (с 4988) и регулатор на температура. Та в него грешките наистина ще са само три вида:
1. Фатална-примерно ако прекъсне или се измъкне кабела на NTCто)- контролера изключва всичко.
2. Параметрична- примерно платката да получи стойност за поддържане на температура от 1000 градуса или пък стойност за ШИМа от 237%.
3. Моментна- когато е сработил някой датчик за крайно положение на някой мотор и когато се върне назад, грешката се изчиства.
Поне за момента смятам, че няма нужда от повече гирлянди за индикация, йеле пък за първична и вторична (уточняваща) индикация за грешка. Чуденката ми е най-вече как да се индикира фаталната грешка- с постоянно светене или с бързо мигане (3-4-5Хц). Бавното мигане (0,5-1,5Хц) е запазено за третия вариант и може изобщо да не появи, ако се възстановят достатъчно бързо датчиците.
Също така, на платката има и софтуерен RESET бутон, който да възстановява фабричните настройки на платката (само това!), ако управляващият софтуер я "изгуби" по време на настройка (примерно с дублиране на адреса или задаване на неподходяща скорост на връзката). За момента съм го направил да се проверява дали е натиснат само при подаване на захранване. Има ли смисъл да го правя да ги възстановява, примерно при 10 секундно задържане по време на работа? За мен второто ми звучи опасно, особено ако платката е закачена заедно с мотора на подвижна каретка.


Пет Мар 19, 2021 10:29 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 8:21 pm
Мнения: 27949
Местоположение: София
Мнение Re: Контролер(и) и проблеми
Според мен е по-добре да е само при старт.
А при условие, че е лед просто за диагностика, повечето съображения свързани с видимост/разчитане отпадат. Кой сигнал да е за грешка е въпрос на вкус, като цяло мигачите сигнали са по-забележими.


Пет Мар 19, 2021 2:40 pm
Профил
Ранг: Напреднал
Ранг: Напреднал
Аватар

Регистриран на: Съб Май 21, 2016 8:47 pm
Мнения: 472
Местоположение: Бургас
Мнение Re: Контролер(и) и проблеми
Малко да повдигна темата с друг казус, който също се вписва в заглавието.
Може ли MSSP частта на PIC процесорите (примерно PIC18FxxK22 или PIC16F18855) в режим на I2C slave да следи за няколко адреса по линията?
По-конкретно: задавам в SSPADD слейв адрес да кажем 0x40. Ясно е как се процедира по този начин. На линията обаче има закачени още 4 устройства (примерно с адреси 0x62,0x64, 0x66 и 0x68). Има ли начин да се разбере от текущото устройство дали има подаден адресен байт към някое от другите 4 (без да се отговаря на запитването), при положение, че не се знае в кой момент от време към кое устройство ще бъде пусната заявка? Реално от обмена по линията ме интересува само дали има запитване за тези адреси, нищо друго след тях.


Нед Окт 10, 2021 11:25 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Яну 01, 2012 7:04 pm
Мнения: 2580
Местоположение: Велико Търново / София
Мнение Re: Контролер(и) и проблеми
Ами то адресният байт си е данни по линията. Контролера записва в регистър един или два байта от комуникацията по линията. Само, че когато е слейв, не зная дали трябва първо да съвпадне адресният байт с неговия адрес за да почне да записва в регистъра или записва винаги и просто вдига някакъв флаг за съвпадение.

_________________
https://github.com/slav4ocom/


Пон Окт 11, 2021 12:38 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Фев 07, 2012 10:22 pm
Мнения: 3074
Мнение Re: Контролер(и) и проблеми
16f18855
31.5.1 SLAVE MODE ADDRESSES
The SSPxADD register (Register 31-6) contains the
Slave mode address. The first byte received after a
Start or Restart condition is compared against the
value stored in this register. If the byte matches, the
value is loaded into the SSPxBUF register and an
interrupt is generated. If the value does not match, the
module goes idle and no indication is given to the
software that anything happened.
The SSP Mask register (Register 31-5) affects the
address matching process. See Section 31.5.9 “SSP
Mask Register” for more information

Би трябвало да може чрез "SSP Mask register" .


Пон Окт 11, 2021 1:03 pm
Профил
Ранг: Напреднал
Ранг: Напреднал
Аватар

Регистриран на: Съб Май 21, 2016 8:47 pm
Мнения: 472
Местоположение: Бургас
Мнение Re: Контролер(и) и проблеми
Да, видях го това с маската. Притесняваме да не подаде по линията сигнал ACK след разпознаването и да обърка обмена със съществуващото устройство.


Пон Окт 11, 2021 2:07 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Яну 01, 2012 7:04 pm
Мнения: 2580
Местоположение: Велико Търново / София
Мнение Re: Контролер(и) и проблеми
На тези PIC-ове не може ли да се задават на кои пинове да са модлите. Доколкото поня може I2C входа и изхода могат да са на различни пинове. Това е вариант ако не се стане с този ACK бит да изключваш изхода. Мисля, че имаше режим в който софтуерно се управляват някои неща и отделно съвсем автоматичен. В най-краен случай софтуерно следене на комуникацията.

_________________
https://github.com/slav4ocom/


Пон Окт 11, 2021 2:32 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Фев 07, 2012 10:22 pm
Мнения: 3074
Мнение Re: Контролер(и) и проблеми
ig_ivanov написа:
Да, видях го това с маската. Притесняваме да не подаде по линията сигнал ACK след разпознаването и да обърка обмена със съществуващото устройство.

Мисля. че ACK се подава по сетнат бит из някой регистър, и нормално няма да се случи . Виж - за да не закъснееш и да се презапише регистъра с приетия адрес от следващ байт - може би ще трябва да удържиш SCL в нула, докато си регистрираш събитието. Според мене ще стане.
ППС. Може би ще се наложи да манипулираш и прекъсвания по Старт и Стоп.


Пон Окт 11, 2021 6:04 pm
Профил
Ранг: Напреднал
Ранг: Напреднал
Аватар

Регистриран на: Съб Май 21, 2016 8:47 pm
Мнения: 472
Местоположение: Бургас
Мнение Re: Контролер(и) и проблеми
В крайна сметка ето какво се оказа на практика:
С ето този код:
Код:
if ((SSP2STATbits.S) & (!SSP2STATbits.R_NOT_W) & (!SSP2STATbits.D_NOT_A) & (SSP2STATbits.BF)) //start bit, buffer full, address
       {
           addr = SSP2BUF;
           if (addr==slave_address2) {countP=0;greenledON();newDATA = 1;} // събитие по зададения адрес
            else
           if ((addr & 0xA0) == 0xA0) {redledON();SPDbyte = addr;newSPD = 1;}; // интересуват ме само старшите 4 бита
       }


излиза, че мога да следя какви адреси циркулират по шината. Процесорът. е PIC18F45k22, MSSP2 е настроен като slave (slave_address2 = 0x66). Резултатът е този на снимката. Ограденото е когато няма и когато има обръщение към зададените адреси (в случая А6 е последния адрес към който са се движили данни). Двете нули на последния ред са данните, които са адресирани към самия PIC (в случая не са получавани данни).
Като тествам и с PIC16F18855 ще пусна и резултатите с него.


Прикачени файлове:
i2c_screen1.jpg
i2c_screen1.jpg [ 132.86 KiB | Прегледано 2009 пъти ]
Пет Окт 29, 2021 9:55 am
Профил
Ранг: Напреднал
Ранг: Напреднал
Аватар

Регистриран на: Съб Май 21, 2016 8:47 pm
Мнения: 472
Местоположение: Бургас
Мнение Re: Контролер(и) и проблеми
Да не цапаме темата за платкаджийниците, или как превърнах дефекта в ефект:

Линк към тубата.


Сря Фев 02, 2022 10:38 pm
Профил
Ранг: Напреднал
Ранг: Напреднал
Аватар

Регистриран на: Съб Май 21, 2016 8:47 pm
Мнения: 472
Местоположение: Бургас
Мнение Re: Контролер(и) и проблеми
За да не пускам друга отделна тема, ще продължа тук.
В случая не става дума за проблем, а по-скоро идея за реализация.
Постановката е следната:
В сервизната си дейност се налага да сменям BGA чипове (основно в лаптопи)- чипсети и видеокарти. Доскоро нямах кой-знае какви проблеми, включително и с поставянето на новия чип върху платката- ориентирах се по сервизния (белия) печат върху самата платка. Обаче... в последно време се навъдиха платки без такъв печат или (колкото невероятно да звучи) - с изместен такъв или с несъразмерни спрямо елементите означения. Отделно от това на BGA чиповете им намалиха размерите на контактите (топчетата) и разстоянието между тях. Примерно на Н370/Н470 чипсетите топчетата са 0.3мм. Комплексният резултат от това за момента е свалянето на два вече запоени чипа, реболване и повторно запояване (загуба на време и пари, защото никой няма да иска да плати тези операции).
Затова реших да добавя малко хардуер към машинката ми, за да може новите чиповете (при успешна реализация) да се поставят автоматично на мястото им върху платката.
За да избегна излишни въпроси, ето с какво разполагам в момента за смяната на чипове:
- долен нагревател с размери А3;
- горен нагревател, който е закачен на портал отгоре над долния нагревател и движението му може да се управлява по три оси - X, Y и Z;
- четвърта ос, успоредна Z, която се движи нагоре-надолу независимо от нея (да я кръстим Н). Тя е свъзана с вакуум помпа и с нея демонтирам автоматично разпоените чипове след като приключи профила за разпояване. За момента няма функция за въртене на чипа, но работя по въпроса.
- маломощен лазер, с който маркирам горе-долу мястото на чипа върху платката (софтуера ще го нагласи точно, просто камерата трябва да отиде над тази точка).
- точност 0.13мм, ще я удвоя (0.06мм) след модернизацията.
Какво смятам да добавя:
- oста Н да може да се завърта под определен ъгъл (т.е. още една ос R);
- горна камера, която да снима мястото на чипа върху платката;
- долна камера, която да снима самия чип отдолу;
- софтуер за разпознаване на изображения (OpenCV), който да разпознае къде са контактните площадки на платката и чипа и на какъв ъгъл са завъртяни и съответно да завърти чипа под същия ъгъл.
И най-накрая ВЪПРОСЪТ:
КАК най-лесно да проверя при програмирането и настройката на цялата таз дивотия, дали чипа е "легнал" както трябва върху платката (при 0.3мм височина на процепа между платката и чипа почти няма възможност за визуален контрол)? Всяка идея ще ми е добре дошла.
Извинявам се за дългия пост.


Чет Апр 28, 2022 9:14 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Фев 06, 2007 7:44 pm
Мнения: 2786
Местоположение: Пловдив
Мнение Re: Контролер(и) и проблеми
Малко хипотетично, но ако имаш 4 фенера/лазера, светещи в четерите ъгъла на чипа, които са фокусирани с леща така, че ъгъла на фокуса е възможно най-голям.
Идеята е разстоянието и фокуса така да са избрани, че светлинното петно върху чипа да е минимално. При промяна на разстоянието - размера/диаметъра на петното се увеличава/променя, а то може да се измерва с камерата.

Може и механично с 4(или 3) микрометърни часовника с изнесено рамо, докосващо отгоре област в ъглите на чипа.


Пет Апр 29, 2022 7:52 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Фев 03, 2005 1:21 am
Мнения: 10573
Местоположение: София
Мнение Re: Контролер(и) и проблеми
Преди време гледах демо на по-автоматизирана машина за риуърк на BGA.
Прескачам частта с демонтажа на чипа. Всичко е почистено, напарфюмирано и т.н.
Новият чип е захванат с държач и се позиционира на мястото си върху платката. Между чипа и платката има камера с призма на обектива която позволява да се виждат едновременно падовете и на платката и на чипа. Последният се намества по X и Y и се завърта на подходящ ъгъл.
Когато всичко е нагласено, камерата и призмата напускат мястото и започва същинското печене на баницата.


Пет Апр 29, 2022 9:37 am
Профил
Ранг: Напреднал
Ранг: Напреднал
Аватар

Регистриран на: Съб Май 21, 2016 8:47 pm
Мнения: 472
Местоположение: Бургас
Мнение Re: Контролер(и) и проблеми
Да, гледал съм го това видео. Гроздето е вкиснато.
Днес като умувах над други задачки, ме светна едно елементарно решение. Като му дойде времето за настройката ще ползвам платка с цокъл за процесор и съответния AMD процесор (защото е с изводи).


Пет Апр 29, 2022 11:43 pm
Профил
Ранг: Напреднал
Ранг: Напреднал
Аватар

Регистриран на: Съб Май 21, 2016 8:47 pm
Мнения: 472
Местоположение: Бургас
Мнение Re: Контролер(и) и проблеми
Да не отварям нова тема, и без това въпросът ми е свързах с контролери.

Някой занимавал ли се е с този тип захранвания като на снимката?
В случая това е XY6015L - 60V/15A. Има със същия дизайн XY6020, 6014, 5008, DPS5015 и т.н. и имат изводи за TTL RS232 интефейс (Rx и Tx) и MODBUS протокол.

Та, свързах се успешно със захранването и вече не е проблем да го управлявам и дистанционно. Имам обаче един проблем, за който не можах да открия информация.
Постановката е следната:
Когато на захранването сработи някоя от защитите (по напрежение, по ток или по мощност), то изключва изхода, което си е в реда на нещата.
Екрана съответно показва защо е изключило товара - OVP, OCP, OPP и т.н.
Проблемът е, че дори да се премахне причината, екрана продължава да мига и да държи изхода изключен, докато не се натисне бутон от клавиатурата или да се "дръпне шалтера" на захранването.
Някой има ли идея как и дали може да се изчиства състоянието на защитата с команда по интерфейса, без да се налага натискането на копчалъци?


Прикачени файлове:
XY6015L.jpg
XY6015L.jpg [ 159.13 KiB | Прегледано 732 пъти ]
Вто Юни 20, 2023 2:25 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 55 мнения ]  Отиди на страница Предишна  1, 2, 3, 4  Следваща

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 5 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни