Jump to content
vv7

Pic18F4550 Заводится, Но Только, Когда Нагрета Схема.

Recommended Posts

Ну, вобщем-то схема простая ...

О-очень простая, точнее просто мигающий светодиод. Схема в атаче.

Странно то, что всегда всё работало, ну, на других схемах, а тут. Схема то ничем не отличается от других, только пайкой.

Ведь у меня есть на-а-амного сложней проекты, а тут ...

Просто, хочу разобраться с этим ... ммм ... ради пополнения опыта.

Сама проблема: когда паяльником нагреваешь сам кварц или кондёры, всё робит, светодиод мигает с постоянной частотой, но когда всё остывает сам МК просто не запускается или хер его знает что происходит ... светодиод молчит.

Просто в самой прошивке светодиод начинает сразу моргать, а на деле (когда всё остыло) даже не горит, вообще никакой реакции, даже когда даёшь "всевдо" ёмкость пальцем или щипцами.

Ради того, чтоб понять всю ситуацию, я начал идти методом исключения и убрал всё со схемы, оставив один светодиод. Думал - заработает, а тут ... я сразу понял, дело с резонатором. Начал копать - нифига.

Сама прошивка, убрал ПРОСТО Всё, отавив, ну САМЫЙ минимум:

void main() {
TRISB = 0;
LATB = 0;
while (1) {
delay_ms(1000);
LATB = 0xFF;
delay_ms(1000);
LATB = 0x00;
}
}

С таким сталкиваюсь впервые. Что может помочь ?

Пробовал менять кварц, кондёры, конды ставил, и на 18пф, и на 22пф, ничего не помогает, тот же перец.

Вообщем, битую неделю бьюсь с этой микросхемкой, всё в пень ... решил вот на форуме отписать, вдруг поможете : )

Для этого, чтобы ну, совсем не сойти с ума, забил схемку в Proteus, там всё робит.

Могу достать осцилограф, даст что-то ?

П.С. Спасибо заранее !!!

post-195350-0-25735500-1446846027.gif

Edited by vv7

Share this post


Link to post
Share on other sites
Сама прошивка, убрал ПРОСТО Всё, отавив, ну САМЫЙ минимум:

это замечательно... конфиг где?

Share this post


Link to post
Share on other sites

Особенности схемотехники и трассировки печатных плат для STM32WB55

Разработка новых устройств на базе беспроводного микроконтроллера STM32WB от STMicroelectronics может быть сделана в короткий срок, если выполнять некоторые важные правила и воспользоваться готовыми конструктивными решениями и рекомендациями инженеров ST.

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

А что про конденсаторы написано в даташите на этот кварц?

Share this post


Link to post
Share on other sites

  1. CONFIG1L : $300000 : 0x0000
  2. CONFIG1H : $300001 : 0x000C
  3. CONFIG2L : $300002 : 0x001F
  4. CONFIG2H : $300003 : 0x001E
  5. CONFIG3H : $300005 : 0x0083
  6. CONFIG4L : $300006 : 0x0081
  7. CONFIG5L : $300008 : 0x000F
  8. CONFIG5H : $300009 : 0x00C0
  9. CONFIG6L : $30000A : 0x000F
  10. CONFIG6H : $30000B : 0x00E0
  11. CONFIG7L : $30000C : 0x000F
  12. CONFIG7H : $30000D : 0x0040

Конфиг, вот такой ... я просто не знаю, как достать конфиг из MicroC ?

Спасибо БОЛЬШОЕ вам за ответы !

+ ребят ... ведь такая же схема работала раньше но на другой плате ...

Я могу ещё и плату сфотографировать ... надо ?

Ну ... просто реально не понятно, в чём дело ...

Если что, у меня есть 4MHz, 8 MHz, 10 и 25.

Пробовал 4, 8, и 10 ( 10 стоит сейчас ) - не робит.

Могу добавить, что Oscillator стоит на HS, делитель на 4, а MHz на 10.

Share this post


Link to post
Share on other sites
                     

CoolGaN - на предельной скорости коммутации!

Решения на галлий-нитриде (GaN) обладают фундаментальными преимуществами перед кремнием. В частности, имея более высокую критическую напряжённость электрического поля, в сравнении с традиционными кремниевыми транзисторами, транзисторы на основе галлий-нитрида обладают выдающимися динамическими характеристиками, что позволяет коммутировать их на высоких частотах. Семейство CoolGaN™ – это именно то, что необходимо, чтобы поднять ваши устройства на принципиально новый уровень. Мы собрали все самые интересные материалы по данной теме на одной странице.

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

Сфотографировать плату НАДО.

И не просто сфотографировать, но и в разных ракурсах.

Share this post


Link to post
Share on other sites

С задней стороны пайка, находящаяся в середине чипа ничего не значит ... там раньше находился весь колебательный контур ( 2 кондёра и Кварц ), смотрелось красиво ... потом я их вынес наружу ...

Провода, которые внутри сокета - ножки программирования для PICKit3 - Всё читается и прошивается.

Share this post


Link to post
Share on other sites

Всё читается и прошивается.

Для программирования кварц не нужен. Проверьте еще раз емкости и монтаж. Провода идущие от кварца и емкостей должны быть минимальной длинны и к ним больше ничего не должно быть припаяно.

Share this post


Link to post
Share on other sites

Всё читается и прошивается.

Для программирования кварц не нужен. Проверьте еще раз емкости и монтаж. Провода идущие от кварца и емкостей должны быть минимальной длинны и к ним больше ничего не должно быть припаяно.

Ну ... ясно, что не нужно, но может ли из-за длинных проводов не заводится ? Типа, провода нагреваются - сопротивление падает и частота меняется ?

Edited by vv7

Share this post


Link to post
Share on other sites

а че провода к кварцу такие короткие....

А если вообще отключить конденсаторы?

В смысле, провода короткие ? Так ведь они вообще должны быть минимально короткие ...

Я провода так вынес только чтобы схему не теребить для проверок, а просто перепаивать проводки, до тех пор, пока не заработает ....

У меня были схемы и с одним кондёром, только он был на 56пф ... Вообще можно и без них, но частота кварца будет сбиваться ... мне этого не надо ...

Share this post


Link to post
Share on other sites

может ли из-за длинных проводов не заводится ?

Уважаемый, а Вы в курсе, что существует такая вещь как БЛОКИРОВОЧНЫЙ КОНДЕНСАТОР?

Я сильно удивлен как вообще все это работает даже при нагреве.

Существуют определенные правила монтажа высокочастотных импульсных схем.

Share this post


Link to post
Share on other sites
Так ведь они вообще должны быть минимально короткие ...
вот и я о том же....

Share this post


Link to post
Share on other sites

У меня были схемы и с одним кондёром, только он был на 56пф ...

С одним конденсатором??? Может все-таки стоит даташит прочитать?

Вообще можно и без них, но частота кварца будет сбиваться ... мне этого не надо ...

Так я и предлагал, если без них и без паяльника запустится, то дело в конденсаторах!

Share this post


Link to post
Share on other sites

может ли из-за длинных проводов не заводится ?

Уважаемый, а Вы в курсе, что существует такая вещь как БЛОКИРОВОЧНЫЙ КОНДЕНСАТОР?

Я сильно удивлен как вообще все это работает даже при нагреве.

Существуют определенные правила монтажа высокочастотных импульсных схем.

Спасибо, есть предположение как исправить схему ?

Share this post


Link to post
Share on other sites

СПАСИБО !!! Это уже что-то ! ... Понял что много чего не знаю ! Спасибо вам товарищи ! Буду читать ...

Допустим:

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

Первое, что надо добавить: http://caxapa.ru/lib/images/emc07.gif ?

Также, я понял, что у меня Грязная земля, как можно было бы исправить данное чудо ?

Даю слово прочитать всё на данные темы о помехоустойчивости, но прошу вас мне помочь с этой схемой, так как к спеху.

Ещё раз спасибо !

Edited by vv7

Share this post


Link to post
Share on other sites

Грязная земля появляется только от реактивных и мощных нагрузок. Никуда не нагруженный МК должен запуститься и работать, если только его СОБСТВЕННОЕ питание организовано дОлжным образом. По сути, достаточно поставить блокировку ПРЯМО НА НОГИ ПИТАНИЯ-ЗЕМЛИ (кратчайшее расстояние между точками пайки "кроватки" контроллера), чтобы обеспечить необходимое качество питания. Но это не гарантирует корректности входных-выходных сигналов.

Основное правило разводки состоит в том, что бы выходные токи не создавали паразитных падений напряжений приложенных ко входным цепям. Это происходит в том случае, если эти выходные токи протекают по ОБЩИМ для входных и выходных цепей ЗЕМЛЯМ.

Share this post


Link to post
Share on other sites

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

Фото в атаче ...

Блин неужели никак у меня не выйдет исправить данную загогулину ? Вы уж простите меня сотоварищи, но это ... выводит меня из себя : )

Но, я не сдамся ! Может есть у кого нормальная ( рабочая ) развязка ( обвязка ) под этот мк ?

Я повторюсь, многоуважаемые форумчане, что данной с темой я никогда в жизни не сталкивался ибо не работал с такими скоростями. Но, всегда что-то бывает в первый раз.

Есть ещё идеи ? Ведь мнеж нужно только заставить работать этот, чип, а далее уже всё зависит от полёта мысли.

Вид тактового генератора я взял со схемы ( тот, что справа ):

emc06.jpg

post-195350-0-59499100-1447192704_thumb.jpg

post-195350-0-19648700-1447192713_thumb.jpg

Edited by vv7

Share this post


Link to post
Share on other sites

На схеме в первом сообщении почему то висят в воздухе пины питания-земли с одной из сторон корпуса...

Это почему? Вообще то их делают не для удобства разводки и не для красоты.

На сбросе, полагаю, просто ошибка.

Приведите настоящую схему с номиналами элементов.

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 Максим123456789
      делаю диплом, в схеме у меня микроконтроллер PIC16F688 и мне нужно его заменить на ATmega. Не могу найти похожий
    • By Anton Bondarenko
      Всем привет
      Прошу не ругать, впервые подобный вопрос задаю.
      Хочу сделать прибор, который будет посылать сигнал, когда возле прибора будет проходить металлический предмет. 
      — угол отслеживания до 30° а лучше прямая линия, траектория
      — время реакции очень высокое до 100 мс
      — ширина проема в котором нужно сканировать от 10 до 20метров,
      — передача сигнала через вифи
      Может есть готовые решения, или отдельные компоненты.
      Подскажите пжл в каком направлении искать.
      Смотрел датчики движения, но главная проблема — время реакции.
      Спасибо
       
    • By Sofia Vin
      Предлагаем проектную работу в Москве:
      Микроконтроллер STM32F103.
        
      Есть встроенный код с использованием функций библиотеки FreeRTOS, код имеет описанный протокол для связи с внешним миром.
        
      Необходимо проводить доработку кода под задачи программиста верхнего уровня и его тестирование в составе оборудования. 
      Работа в лаборатории (м.Университет) и удаленно. 
      Оплата по договоренности.
      Если Вы обладаете опытом схемотехнического проектирования и программирования микроконтроллеров, и Вас заинтересовала данная возможность, ждем Ваши отклики по контактным данным:
      8 (925) 023-60-02   Алексей
      E-mail: nassa@marathon.ru
       
    • 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; } Где я накосячил?
      З.Ы.: Замечаний по поводу оптимизации кода, излишних переменных и п.р. прошу не писать - изощряюсь как могу ибо не пойму почему не работает
    • Guest Денис
      By Guest Денис
      В общем, есть такое чудо китайской техники (фото)
      Что оно может:
      1. Заряжаться через microUSB порт
      2. Кнопка вкл/выкл, она же переключает режимы
      3. 3 режима свечения светодиода (он светит разными цветами)
      Что я хочу сделать:
      1. Пункты 1 и 2 выше
      2. Разнообразить количество режимов, переливание статичный цвет и тд...
      Вопрос: как это сделать? что купить?

      P.S. К сожалению, в гугле не нашел подробной инструкции, а я в электронике я дуб дубом


  • Сообщения

    • Здравствуйте. Есть схема акустической мигалки. Собрал, все работает. Вместо КТ315Б использовал BC547B. Очень понравилась идея, и захотелось запитать ленту таким образом, но ток, протекающий через коллектор-эмиттер в 0.1А, мне не подходит (лента светит очень тускло, но чувствительность хорошая). Светодиодная лента потребляет 1 и 2 А (2 разных ленты на 2 разных устройства). То есть оптимально, чтобы схема могла пропускать 5А.  Для решения проблемы я купил BD243B, но эффект вообще не тот... чувствительность не такая, как при BC547B.  1. Можете ли посоветовать аналогичный DC547B транзистор со схожими характеристиками но на 5А коллектор-эмиттер?  2. Можно ли решить проблему, подключив несколько VT2? Если да, то нужно ли использовать низкоомные резисторы на эмиттер и какие? Ну и будет ли смысл городить забор из 10-20 транзисторов с объединенной базой?  P.S.: лента на 5В и 4,8 Вт/м
    • Здравствуйте, это доработка HCPL-3120 какой версии станции ? И при этой доработки нужно изменять прошивку и какую именно ?
    • Не знаю что ответить... Будучи преподавателем в ВУЗе, возможно, у меня профдеформация..... То, что валяется в центре - это часть разъема. Я должен купить аналог? Выпаять старую и вместо нее поставить новую?
×
×
  • Create New...