Jump to content
volw

Программный расчет данных АЦП

Recommended Posts

Доброго времени всем! Собрал паяльную станцию теперь из схемы хочу попробовать исключить операционный усилитель, т.к. паяльник с терморезистором сделать по схеме резистивного делителя. Диапазон регулировки напряжений получается мал.

Помогите программно рассчитать  рабочий диапазон чтобы показания на дисплей выводились от 0 до 420. Все значения на рисунке условны, главное узнать общий принцип расчета.

PS: Очень нужно да и для будущих поделок пригодится.

2018-03-10_104048.jpg

Edited by volw

Share this post


Link to post
Share on other sites
59 минут назад, солар сказал:

N= (ADCW - 117)*420/261

Огромное спасибо  солар, формула работает так как я и хотел.

А если задачу немного усложнить нижний требуемый предел сделать не 0, а скажем 21 (комнатная температура)? 

Edited by volw

Share this post


Link to post
Share on other sites

Высококачественные конденсаторы Panasonic для надежности вашей электроники!

Электролитические алюминиевые конденсаторы Panasonic отличаются повышенной надежностью, длительным сроком службы, низким импедансом и выдерживают большой ток пульсаций, в то время как семейства полимерных конденсаторов Panasonic SP-CAP, POSCAP, OS-CON и HYBRID характеризуют сверхнизкий ESR и увеличенная емкость, работа при высоких напряжениях и в расширенном температурном диапазоне. Приобретая продукцию Panasonic, вы гарантированно получаете самое передовое решение для ваших задач. Для облегчения вашего выбора, мы подготовили подборку полезных материалов.

Читать статьи

Пожалуйста.

Общий принцип масштабирования даётся в началах алгебры в 8-ом классе общеобразовательной школы. Выглядит он так:

y= ax+b

В вашем случае y - нужное значение, х - входная величина АЦП.

Share this post


Link to post
Share on other sites

Рано радовался, формула "N= (ADCW - 117)*420/261" работает только на бумаге в  atmega8 как я полагаю он спотыкается при умножении результата в скобках на 420 так как получается число более ста тысяч. Подскажите реализацию данных расчетов, пишу на СИ в AVR Studio 4

Share this post


Link to post
Share on other sites
                     

Вебинар "Как создать BLE-устройство на базе новейшего беспроводного микроконтроллера STM32WB55"

27 ноября 2019 года компания КОМПЭЛ приглашает разработчиков, технических руководителей и энтузиастов беспроводной связи на вебинар, посвященный новинке 2019 года – мультипротокольному беспроводному микроконтроллеру STM32WB55, который позволяет создавать устройства на базе стандартов BLE 5.0; BLE Mesh; 802.15.4/ZigBee и Thread. На вебинаре мы покажем, как с помощью привычных инструментов STM32Cube и STM32CubeMX можно создать свое первое, надежно работающее BLE-приложение.

Зарегистрироваться на вебинар

54 минуты назад, volw сказал:

Рано радовался, формула "N= (ADCW - 117)*420/261"

если на С-ях можно попробовать тип LONG, как то так:

long N;

long x = ADCW;

N= (x - 117)*420/261;

Share this post


Link to post
Share on other sites
24 минуты назад, Falconist сказал:

N= (ADCW - 117)*(420/261).

не надо так пробовать.

1 час назад, volw сказал:

"N= (ADCW - 117)*420/261" работает только на бумаге в  atmega8 как я полагаю он спотыкается при умножении результата в скобках на 420 так как получается число более ста тысяч.

укажите компилятору, что число в скобках имеет размерность long 

N= (ADCW - 117L)*420/261

 

Share this post


Link to post
Share on other sites

Всплывший косяк подразумевался, т.к. исходная формула не учитывает размерность переменных. Упростите формулу, например, так

N= ADCW*1,61 - 188

Теперь ADCW не сможет вылезть за пределы интеджера. Само собой, должно контролироваться и сваливание в минуса.

Чтобы уйти от плавающей арифметики, которая съест и память, и время, то *1,61 проведите с помощью сдвигов влево/вправо.

Share this post


Link to post
Share on other sites
В 16.03.2018 в 15:51, солар сказал:

Упростите формулу, например, так

N= ADCW*1,61 - 188

Спасибо, формула работает, но поясните пожалуйста отчего образовалось число 188 и как реализовать сдвиг на 1,61, (могу только на целые числа сдвигать)

 

Share this post


Link to post
Share on other sites
В 10.03.2018 в 15:33, солар сказал:

Выглядит он так:

y= ax+b

И об этом можно по подробнее и как связать эти две формулы, то есть опять-же небольшой пример. Вспоминать тему двадцати летней давности не хочется а программирование недавно изучать начал.

Share this post


Link to post
Share on other sites
29 минут назад, volw сказал:

отчего образовалось число 188

117*420/261  :)

Share this post


Link to post
Share on other sites

x*1,61 = x* 161/100 = x*412/256 = x * (256 + 128 + 16 + 8 + 4)/256

Каждый из множителей в скобках - простой сдвиг влево на нужное количество разрядов. Деление на 256 - отсечение младшего байта.

Да, придётся сделать ADCW трёхбайтной величиной. Зато быстро и просто.

Касательно

В 16.03.2018 в 14:51, солар сказал:

N= ADCW*1,61 - 188

Замените N на у и ADCW на х. Всё стало на места, не так ли?

Share this post


Link to post
Share on other sites
12 минуты назад, солар сказал:

Замените N на у и ADCW на х

В этом случае если например ADCW = 117 то N будет 0, а мне надо ADCW = 117 но чтобы N стало = 21 и при этом когда ADCW = 378 то N = 420

Share this post


Link to post
Share on other sites

Пардоньте-пардоньте! А как же рисунок? При ADCW=117 N должно быть 0.

В любом случае вы можете составить свою формулу.

Share this post


Link to post
Share on other sites
В 10.03.2018 в 13:12, volw сказал:

А если задачу немного усложнить нижний требуемый предел сделать не 0, а скажем 21 (комнатная температура)? 

Об этом я сказал в пятом посту. 

С "0" проблем нет, ваша формула меня устраивает как и другие предложенные в этой теме, все варианты работают но вот хочется чтобы паяльник в холодном состоянии показывал температуру не 0 а допустим 21 в максимальном нагреве оставалось 420 причем пределы ADCW были 117 - 378

Share this post


Link to post
Share on other sites
19 часов назад, солар сказал:

https://algebra24.ru/uravnenie-pryamoi

В вашем случае  х1= 117 y1= 21 и x2= 378 y2= 420

Спасибо! за помощь. Хочу подвести итоги. При введенных значениях сервис сгенерировал такую формулу  "y=1.529*x+(-157.862)", попробовал вот так: y=1.529*x-157.862   результат не изменился, отлично! так немного проще. 

Да, в случае расчетов больших чисел, опробовал все предложенные решения, все они работают одинаково.

N=(ADCW-117)*1.61

N= ADCW*1.61-188

N=(ADCW-117L)*420/261

long N;
long x = ADCW;
N= (x - 117)*420/261

N=(ADCW-117)*(420/261)  -  в этом случае результат не верный, странно? 

Ещё раз спасибо!, тема решена, вопросов больше нет.

Share this post


Link to post
Share on other sites
35 minutes ago, volw said:

N=(ADCW-117)*(420/261)  -  в этом случае результат не верный, странно? 

(420/261) -> 1

Это целочисленное деление надо (420.0/261.0) или явно приводить тип.

Share this post


Link to post
Share on other sites
3 часа назад, солар сказал:

Какой компилятор?

AVR GCC в AVR Studio4

Share this post


Link to post
Share on other sites
3 часа назад, volw сказал:

N=(ADCW-117)*(420/261)  -  в этом случае результат не верный, странно?

Нет, не странно - закономерно.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Similar Content

    • By RIMUS1989i
      Здравствуйте. Затеялся собрать анализатор спектра на светодиодах, 20x20 светодиодов, МК ATMEGA328P. 
      Долго ломал голову, как переключать столбцы без использования МК, дабы его не загружать.И вот что у меня получилось. Набросал тестовую прошивку для теста в протеусе. 
      При инилизации подается импульс на вторую ножку U4a, и на предпоследнем столбце.
      Думал сетку сделать на 5 сдвиговых регистрах (как раз 40 сигнальных линий), но боюсь мощности МК не хватит для обработки FFT и вывода на матрицу, будет подвисать.
      Кто что думает по поводу схемы?
      бегущая строка.pdsprj Natali_2012_program.hex
    • By Максим123456789
      делаю диплом, в схеме у меня микроконтроллер PIC16F688 и мне нужно его заменить на ATmega. Не могу найти похожий
    • By Вячеслав_НС
      Здравствуйте ! подскажите , какую лучше библиотеку использовать (и где ее взять) для управления i2c atmega8 в atmel studio 7  .  задача - управлять atmega8 по i2c ,  цап  PCF8591T .
      понимаю , в интернете много примеров и библиотек , но хотелось бы пример максимально простой и точно рабочий . т.к. пока что все мои попытки не привели к успеху ... то Atmel Studio 7 при компиляции ругается на несуществующий файл ( к примеру - "stream.h") при использовании библиотеки i2c , то еще какие то грабли .
    • By artos5
      Приветствую всех на этом форуме!
      Есть необходимость измерять сигнал при помощи данного АЦП. С помощью этого АЦП можно измерять 4 аналоговых не дифференциальных сигнала . Схема следующая:
      Schematic_Temp_opto_sens_V2_20190817124112.pdf
      Картинками с более низким разрешением:
      библиотеку за основу взял эту:
      https://github.com/nsaspook/nidaq700/blob/master/supermoon/example/ADS1220.c
      Путем незначительного допиливания, получилась такая библиотека:
       
      Поправил только эти функции:
      void ADS1220SendByte(unsigned char Byte) { unsigned char Result = 0x01, i=0, flg=0; MOSI_LO; Delay_us(1); for(i=0;i<8;i++) { SCK_LO; //ADC_CLK=0 Delay_us(4); if (flg) MOSI_LO; Delay_us(1); SCK_HI; //ADC_CLK=1 Delay_us(1); if (Byte&Result){ MOSI_HI; flg=1; } else MOSI_LO; Delay_us(4); Result<<=1; } SCK_LO; //ADC_CLK=0 } unsigned char ADS1220ReceiveByte(void) { unsigned char Result = 0, i=0; for(i=0;i<8;i++) { Result<<=1; SCK_LO; //ADC_CLK=0 Delay_us(5); //Delay_us(5); SCK_HI; //ADC_CLK=1 Delay_us(3); if (MISO) Result++; Delay_us(2); } SCK_LO; //ADC_CLK=0 return Result; } И добавил эту функцию:
      void ADS1220Config_MUX_GAIN(uint8_t mux, uint8_t gain) { unsigned Temp; ADS1220ReadRegister(ADS1220_0_REGISTER, 0x01, &Temp); // clear prev value; Temp &= 0x0f; Temp |= gain; Temp |= mux; // write the register value containing the new value back to the ADS ADS1220WriteRegister(ADS1220_0_REGISTER, 0x01, &Temp); ADS1220ReadRegister(ADS1220_1_REGISTER, 0x01, &Temp); // clear prev DataRate code; Temp &= 0x1f; Temp |= (ADS1220_DR_600 + ADS1220_CC); // Set default start mode to 600sps and continuous conversions // write the register value containing the new value back to the ADS ADS1220WriteRegister(ADS1220_1_REGISTER, 0x01, &Temp); } ADS1220.h :
      в результате получаю такую осциллограмму :

      То есть , постоянно считывается 0.
      А вот регистры конфигурации:
      Задаю номер входа MUX и усиление :
       

       
      Читаю данные так:
      ADS1220Config_MUX_GAIN(ADS1220_MUX_0_G, ADS1220_GAIN_1); HAL_Delay(10); temp_[0] = ADS1220ReadData(); Это для 0 канала. 
      Пробовал и так:
      ADS1220SetChannel(ADS1220_MUX_0_G); ADS1220SetGain(ADS1220_GAIN_1); temp_[0] = ADS1220ReadData(); Результат аналогичный. Кто что подскажет? Может кто заметит какой косяк в коде? Уже голова дымит ..
    • By Антон Плюшкин
      В общем есть небольшая тривиальная задача - сделать свитюльку. Контроллер управляет светодиодиками, цвета меняются, людишки довольны.
      Схема проста: Attiny44a -> 2n3904 x3 -> RGB-светодиод.
      Собрал, протестил, всё норм, но!
      Как только в коде я использую функцию задержки - _delay_ms (util/delay.h) - контроллер повисает!
      #define F_CPU 16000000UL #include <avr/io.h> #include <util/delay.h> int main(void) { // Input/Output Ports initialization // Port A initialization // Function: Bit7=Out Bit6=Out Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In DDRA=(1<<DDA7) | (1<<DDA6) | (0<<DDA5) | (0<<DDA4) | (0<<DDA3) | (0<<DDA2) | (0<<DDA1) | (0<<DDA0); // State: Bit7=0 Bit6=0 Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T PORTA=(0<<PORTA7) | (0<<PORTA6) | (0<<PORTA5) | (0<<PORTA4) | (0<<PORTA3) | (0<<PORTA2) | (0<<PORTA1) | (0<<PORTA0); // Port B initialization // Function: Bit3=In Bit2=Out Bit1=In Bit0=In DDRB=(0<<DDB3) | (1<<DDB2) | (0<<DDB1) | (0<<DDB0); // State: Bit3=T Bit2=0 Bit1=T Bit0=T PORTB=(0<<PORTB3) | (0<<PORTB2) | (0<<PORTB1) | (0<<PORTB0); // Timer/Counter 0 initialization // Clock source: System Clock // Clock value: 16000,000 kHz // Mode: Phase correct PWM top=0xFF // OC0A output: Non-Inverted PWM // OC0B output: Non-Inverted PWM // Timer Period: 0,031875 ms // Output Pulse(s): // OC0A Period: 0,031875 ms Width: 0 us // OC0B Period: 0,031875 ms Width: 0 us TCCR0A=(1<<COM0A1) | (0<<COM0A0) | (1<<COM0B1) | (0<<COM0B0) | (0<<WGM01) | (1<<WGM00); TCCR0B=(0<<WGM02) | (0<<CS02) | (0<<CS01) | (1<<CS00); TCNT0=0x00; OCR0A=0x00; OCR0B=0x00; // Timer/Counter 1 initialization // Clock source: System Clock // Clock value: 16000,000 kHz // Mode: Ph. correct PWM top=0x00FF // OC1A output: Non-Inverted PWM // OC1B output: Disconnected // Noise Canceler: Off // Input Capture on Falling Edge // Timer Period: 0,031875 ms // Output Pulse(s): // OC1A Period: 0,031875 ms Width: 0 us // Timer1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=(1<<COM1A1) | (0<<COM1A0) | (0<<COM1B1) | (0<<COM1B0) | (0<<WGM11) | (1<<WGM10); TCCR1B=(0<<ICNC1) | (0<<ICES1) | (0<<WGM13) | (0<<WGM12) | (0<<CS12) | (0<<CS11) | (1<<CS10); TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; // Timer/Counter 0 Interrupt(s) initialization TIMSK0=(0<<OCIE0B) | (0<<OCIE0A) | (0<<TOIE0); // Timer/Counter 1 Interrupt(s) initialization TIMSK1=(0<<ICIE1) | (0<<OCIE1B) | (0<<OCIE1A) | (0<<TOIE1); // External Interrupt(s) initialization // INT0: Off // Interrupt on any change on pins PCINT0-7: Off // Interrupt on any change on pins PCINT8-11: Off MCUCR=(0<<ISC01) | (0<<ISC00); GIMSK=(0<<INT0) | (0<<PCIE1) | (0<<PCIE0); // USI initialization // Mode: Disabled // Clock source: Register & Counter=no clk. // USI Counter Overflow Interrupt: Off USICR=(0<<USISIE) | (0<<USIOIE) | (0<<USIWM1) | (0<<USIWM0) | (0<<USICS1) | (0<<USICS0) | (0<<USICLK) | (0<<USITC); // Analog Comparator initialization // Analog Comparator: Off // The Analog Comparator's positive input is // connected to the AIN0 pin // The Analog Comparator's negative input is // connected to the AIN1 pin ACSR=(1<<ACD) | (0<<ACBG) | (0<<ACO) | (0<<ACI) | (0<<ACIE) | (0<<ACIC) | (0<<ACIS1) | (0<<ACIS0); ADCSRB=(0<<ACME); // Digital input buffer on AIN0: On // Digital input buffer on AIN1: On DIDR0=(0<<ADC1D) | (0<<ADC2D); // ADC initialization // ADC disabled ADCSRA=(0<<ADEN) | (0<<ADSC) | (0<<ADATE) | (0<<ADIF) | (0<<ADIE) | (0<<ADPS2) | (0<<ADPS1) | (0<<ADPS0); unsigned char VL_OCR0A = 0, VL_OCR0B = 0, VL_OCR1A = 0; OCR0A = 0; OCR0B = 0; OCR1A = 0; while(1) { _delay_ms( 100 ); VL_OCR0A = VL_OCR0A + 1; VL_OCR0B = VL_OCR0B + 1; VL_OCR1A = VL_OCR1A + 1; if( VL_OCR0A >= 250 ){ VL_OCR0A = 0; } if( VL_OCR0B >= 250 ){ VL_OCR0B = 0; } if( VL_OCR1A >= 250 ){ VL_OCR1A = 0; } OCR0A = VL_OCR0A; OCR0B = VL_OCR0B; OCR1A = VL_OCR1A; } } Т.е. если указать задержку в начале цикла, то светодиод не светится вообще.
      Если задержку убрать - светодиод немного подсвечивает всеми цветами.
      while(1) { _delay_ms( 100 ); // <--- ЗАДЕРЖКА --- VL_OCR0A = VL_OCR0A + 1; VL_OCR0B = VL_OCR0B + 1; VL_OCR1A = VL_OCR1A + 1; if( VL_OCR0A >= 250 ){ VL_OCR0A = 0; } if( VL_OCR0B >= 250 ){ VL_OCR0B = 0; } if( VL_OCR1A >= 250 ){ VL_OCR1A = 0; } OCR0A = VL_OCR0A; OCR0B = VL_OCR0B; OCR1A = VL_OCR1A; } Где я накосячил?
      З.Ы.: Замечаний по поводу оптимизации кода, излишних переменных и п.р. прошу не писать - изощряюсь как могу ибо не пойму почему не работает
  • Сообщения

    • Дело не в самих литрах и добавке баса а в Qtc дина в оформлении. Сейчас оно выше Баттервортовского оптимума длч фи 0.707 и ачх имеет на резонансе ненужный выброс и нелинейность. Изначально Qts была примерно 0.5 (отсюда Fb<Fs) Со времене из за потери магнитом силы "В" Qts увеличилась, что и привело к выше описанным последствиям. Лечить перемагничиванием либо новым корпусом.
    • Guest Виталий
      Где приобрести радиаторный профиль алюминиевый по хорошей цене? Поближе к Ростовской области и чтоб могли по почте России отправить.
    • Настройка усилителя. 1. После монтажа всей схемы, для экономии своего же времени в процессе оживления и настройки усилителя, настоятельно рекомендую прозвонить все соединения на предмет соответствия принципиальной схеме. 2. Включаем питание без ламп.  Измеряем напряжения на анодных  штырьках панелей ламп. Если что-то не так, ищем и устраняем ошибки. Резисторами R11, R14  выставляем напряжение смещения выходных ламп (5 штырек) - 17В. Резисторами R5 обоих каналов  выставляем напряжение смещения  ламп драйвера (7 штырек) - 90В. Выставляем сопротивление резисторов катодного смещения R4 190 Ом. 3. Вставляем  лампы выходного каскада и включаем питание. Сразу же после включения контролируем ток катода. И при его росте резисторами R11, R14 поддерживаем в районе 50 мА. Прогрев лампы и выход на рабочий режим происходит минут через 10. После прогрева выставляем ток катода 40 мА и даем поработать лампам несколько часов. Если лампа новая и долго не использовалась, то ток катода может плавать в течение нескольких суток. Все это время его придется контролировать и корректировать. Когда ток катода плавать перестанет, выставляем 50 мА. 4. Настройка драйвера. К ней можно приступать, не дожидаясь окончательной приработки ламп выходного каскада. Драйвер каждого канала настраивается отдельно. Вставляем лампы дайверов, включаем усилитель.  Перед первым включением усилителя настоятельно рекомендую включить амперметр переменного тока в разрыв сетевого провода. Его показания покажут есть ли возбуждение усилителя по ВЧ. Если потребление значительно больше расчетного, то возбуждение есть и с ним нужно бороться... Например, расчетное потребление моей схемы составляет примерно 70 Вт. При первом включении потребляемый ток составил 0,3 А. То есть все ОК. Если потребление близко к расчетному, то с выхода звуковой карты ПК подаем сигнал 1 кГц на вход усилителя,а с выхода усилителя через делитель 10:1 подаем сигнал  на вход звуковой карты .  Для оценки параметров усилителя и его настройки можно использовать Спектраплюс, Спектралаб или комплекс Шмелева.  Выходное напряжение усилителя измеряю вольметром и контролирую осциллографом. Отключаем ОООС. Регулятором громкости устанавливаем  напряжение на выходе усилителя (вторичная обмотка) 3-5В. Вращая резистор катодного смещения R4, добиваюсь увеличения напряжения на выходе усилителя до максимума. Это будет явно выраженная точка. При изменении сопротивления R4 в ту или другую сторону от этого значения, выходной сигнал уменьшается. Вращая резистор  смещения сетки R5, добиваюсь минимума искажений. Эту операцию возможно придется повторить несколько раз. 5. Настройка идентичности каналов по усилению. В стерео усилителе необходимо чтобы при подаче на оба канала одинаковых сигналов, на выходе также должны быть равные по величине сигналы (напряжения). По ГОСТУ 24388-88 для аппаратуры 1-й группы сложности допускается различие каналов по усилению не более 1 дБ.   В моём случае регулировка  не понадобилась. Но в принципе возможны три варианта: 1. Загрубление при помощи ОООС канала, выходное напряжение которого больше. 2. Включение в цепь регулятора громкости канала, выходное напряжение которого больше, дополнительного сопротивления. 3. Регулировка баланса встроенными инструментами звуковой платы или ЦАПа. 6. Установка глубины обратной связи. Глубина ОС расчитывается по формуле: 20 lg (UвыхБезОС/UвыхОС) Глубину ОООС в 8дБ устанавливаю путем подстройки сопротивления Roc. И периодическим пересчетом по вышеприведенной формуле. Можно забить это формулу в Эксель, тогда дело пойдет быстрее. После настройки можно (и нужно) посмотреть шумовые характеристики усилителя при отсутствии сигнала, с закороченным входом (РГ в крайнем левом положении). На этой спектрограмме можно увидеть уровень фона 50 и 100 Гц (что является явным показателем качества сборки), а так же спектр шумов усилителя во всем звуковом диапазоне. Резких выбросов  быть не должно. Если они есть, то имеем факт  возбуждения. Который нужно устранять. Спектр шумов собранного усилителя: На данной спектрограмме виден вполне закономерный пик на частоте 50 Гц. Это наводки от сети. Однако его уровень порядка минус 98 дБ (судя по Шмелеву - 168 мкВ). Это очень даже неплохой результат. В высокочувствительных колонках его не слышно даже вплотную к динамику.  Вместе с сигналом на частоте 50 Гц, фон также формируется уровнем сигнала на частоте 100 Гц. В данном случае он составляет минус 106 дБ. Резюмируя, можно сказать что возбуждение на различных частотах отсутствует, на слух фона нет вообще.  Это является подтверждением правильности подхода к показанным выше принципам монтажа усилителя.
    • 4uvak, Я извиняюсь что много вам вопросов написал в личку, но изначально Я вам предлагал поговорить голосом в скайпе или вайбере, повести платяную консультацию по помощи в сборке станции, без этого тут флуда как вы вырезались !!! addy2k, скинь фотки как вышло у тебя с травкой плат, и можешь поделиться ссылкой где покупал у нас экран ?
    • С учетом всего напрашивается какой-то такой практический вариант:    
    • To - > 4uvak  Благодарю Вас !  Собирая Ваш проект ... чувствуется ,  что Вы немало усилий приложили, чтобы последователям ) было легко !)) За энкодер - понял ....  Как сделаете корректировку ... сообщите  !!! Завтра буду делать силовую плату ....   To - > sancheni  Думаю не только у меня сложилась масса вопросов к Вам ....  Но не хочется их задавать ... Прочтите пожалуйста всю ветку форума ...... ВДУМЧИВО !!! И ... если останется пара вопросов ... задайте их ...   А ту массу вопросов, которые Вы задаете здесь -  задавайте так ....  ОК GOOGLE ...  )))   PS  Плату травил сам ( лут )   Экран 100 грн.  
    • цена вопроса ? LA2500 в наличии нет
×
×
  • Create New...