Jump to content
SergeyKa

Глючит Atmega8

Recommended Posts

Не могу понять в чем проблема. Микроконтроллер как-будто замирает и ведёт себя неадекватно. Кварц запитывается от двух конденсаторов 22pF. Сначала у меня было общее питание, которое питало светодиоды. Я подумал, что помехи проходят из-за него. Пришлось сделать два блок питания, однако и это не помогло, вместо того, чтобы плавно изменять цвет, микроконтроллер подвисает и некоторые цвета включаются резко и самопроизвольно. Менял другой микроконтроллер не помогло. С кварца идет стабильный синус на 16МГц.

v3r6jhe_2AA.jpg

 

#define F_CPU 16000000UL

#include <avr/io.h>
#include <util/delay.h>
#include <avr/interrupt.h>


int main(void)
{

DDRB = 0x0e; 
PORTB |= (1 << PB4);
TCCR1A=(1<<COM1A1)|(1<<COM1B1)|(1<<WGM10); 
TCCR1B=(1<<CS10); 
TCCR2=(1<<CS20)|(1<<COM21)|(1<<WGM20); 

OCR1A=0x00;
OCR1B=0x00;
OCR2=0xff;

while(1){
    
    for (unsigned char i = 0; i<255; i++)        
    {OCR2--; OCR1A++; _delay_ms(100);}
    
    for (unsigned char i = 0; i<255; i++)        
    {OCR1A--; OCR1B++; _delay_ms(100);}
        
    for (unsigned char i = 0; i<255; i++)        
    {OCR1B--; OCR2++; _delay_ms(100);}    
        
    
        }
}

Share this post


Link to post
Share on other sites

А вы учитываете, что OCR2 восьмибитнй, а OCR1A  и OCR1B - 16-битные, и циклы у вас совсем не одинаковое количество прогонов делают?

Share this post


Link to post
Share on other sites

Конденсаторы Panasonic. Часть 4. Полимеры – номенклатура

В заключительной, четвертой статье из цикла «Конденсаторы Panasonic» рассматриваются основные достоинства и особенности использования конденсаторов этого японского производителя на основе полимерной технологии. Главной конструктивной особенностью таких конденсаторов является полимерный материал, используемый в качестве проводящего слоя. Полимер обеспечивает конденсаторам высокую электрическую проводимость и пониженное эквивалентное сопротивление (ESR). Номинальная емкость и ESR отличается в данном случае высокой стабильностью во всем рабочем диапазоне температур. А повышенная емкость при низком ESR идеальна для решения задач шумоподавления и ограничения токовых паразитных импульсов в широком частотном диапазоне.

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

12 минуты назад, ARV сказал:

А вы учитываете, что OCR2 восьмибитнй, а OCR1A  и OCR1B - 16-битные, и циклы у вас совсем не одинаковое количество прогонов делают?

нужно OCR1AL? 

Share this post


Link to post
Share on other sites

Откуда я знаю, что вам нужно.

Я обычно регистры напрямую не инкрементирую/декрементирую, ибо там свои заморочки. Куда проще (и с моей т.з. правильнее) завести себе три переменных, их изменять, и уже их записывать в регистры ШИМ...

Share this post


Link to post
Share on other sites
                     

STM32G0 - средства противодействия угрозам безопасности

Результатом выполнения требований безопасности всегда является усложнение разрабатываемой системы. Особенно чувствительными эти расходы стали теперь, в процессе массового внедрения IoT. Обладая мощным набором инструментов информационной безопасности, микроконтроллеры STM32G0 производства STMicroelectronics, объединив в себе невысокую цену, энергоэффективность и расширенный арсенал встроенных аппаратных инструментов, способны обеспечить полную безопасность разрабатываемого устройства.

Подробнее...

 

6 минут назад, ARV сказал:

Я обычно регистры напрямую не инкрементирую/декрементирую, ибо там свои заморочки.

 

а в чем разница что я напишу так

number = 200;

OCR1A = number;

 

и в том что я напишу

OCR1A = 200; 

Share this post


Link to post
Share on other sites

Разница пояявляется, когда вы пишите OCR1A++ и впридачу используете это в качестве логического выражения - вы уже попали на том факте, что OCR1A++ даст 0 на выходе спустя 65535 циклов, а ведь навернка хотели, чтобы спустя 255. Там есть и другие моменты... которые, наверное, в конкретном случае никак не влияют, но привычка так делать может подвести в другой раз.

Share this post


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

Разница пояявляется, когда вы пишите OCR1A++ и впридачу используете это в качестве логического выражения - вы уже попали на том факте, что OCR1A++ даст 0 на выходе спустя 65535 циклов, а ведь навернка хотели, чтобы спустя 255. Там есть и другие моменты... которые, наверное, в конкретном случае никак не влияют, но привычка так делать может подвести в другой раз.

ну ок, я попробую, только не думаю что это решит проблему, потому что зависание идет где-то на 80% ШИМ, и число циклов ограничивается циклом FOR

Share this post


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

нужно OCR1AL? 

Нет , если ШИМ 16бит нужно преобразовать из int в два байта , например так:

Цитата

int pwm=2000;

OCR1A=pwm&0xFF;

OCR1B=(char)(pwm>>8);

 

Share this post


Link to post
Share on other sites
Posted (edited)

Ножка RESET болтается в воздухе. Сейчас микроконтроллер как-будто умер окончательно. Странно себя ведёт. Когда я втыкаю шлейф программатора (раньше было норм) сейчас на кварце нет частоты вообще. Т.е. вернее как я только воткнул его и подал питание есть. Я нажимаю в PonyProg -> ReadAll он читает, но дальше частота исчезает и в него не возможно ни записать ничего, ни прочитать, ни сбросить память ERASE. Фьюзы удалось прочитать. Но записать другие не выходит. Фьюзы читаются способом выдернул МК из слота программатора вставил -> прочитал. Записать так не удаётся. 

Фьюзы настроены на 16MHz, стоит кварц 16MHz. вроде новый неужели из-за него всё?

Vl-juWi1l7Q.jpg

Edited by SergeyKa

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...

  • Сообщения

    • В компьютерной звуковой карте есть линейный выход.В этот выход подключите более-менее хорошие наушники и слушайте. Я бы даже не сообразил с Ютуба слушать тесты АС на колонках через свой усилитель... Вот на этом видео https://youtu.be/xLEElm7vgR4  в комментарии я написал "Крутни в наушниках по-громче"  Видео выложено мною даже в оригинале на Яндекс диске в теме "Ламповый Усилитель От Василича, Делаем Сами". Скачайте и послушайте  https://yadi.sk/i/mQzcTV1Jx_5Ieg  https://yadi.sk/i/82eEmWRgzwQe9g А в целом,Вы правы. Заканчиваю выкладывать видео и всё остальное...Да никому оно не нужно... Всем желаю хороших конструкций!  
    • Пока не успели сделать печатку, предупрежу: ИИП сгорит сразу при включении в сеть, нужно гальванически разделить землю SG3525 и силовую землю, где сетевая банка, так как между ними огромный потенциал. С токовой защитой только 2 варианта, токовый трансформатор, либо шунт + отпопара.    
    • Чтото посмотрел,посмотрел.попахивает рекламой магазина.... Пофиг коннчно,но столько вопросов, как вы эту микросхемы сможите запустить? Чтото мне подсказывает вопросов будет ещё много...вы начните со списка полного и его сюда,потом магазин  и паять Реле искать в платах, если они есть,а они должны быть если вы этим занимаетесь много времени. Купить останется штучное чтото
    • Кто тебе сказал что USB не обеспечивает вывода звука ? Для Андроид OTG это всего лишь USB порт, как на ПК, а сам USB порт может быть чем угодно, на то он и USB, хочешь принтер подцепи,звук или клавиатуру :). Не будет :).  По своей сути OTG – это внешний USB-порт, который подключается к смартфону через разъем micro-USB. Он позволит подключать периферийные устройства с поодержкой USB 2.0 или 3.0 и сделает смарфтон хостом, питающим подключенные девайсы.   Звуковую карту ни кто не поставить межу USB портом  и процессором  , просто это будет уже не USB.  Флешки и жесткие диски тоже работают так же как на обычном ПК. Android где-то с версии 4.4 умеет через USB выводить звук, только не всегда есть драйвера на все звуковые карты мира, но многие работают особенно те что соответствую  USB Audio Device Class 2.0.
    • Со звуком работает не андроид а железо. Андроид всего лишь "рулит" имеющимся железом. Если в нём не предусмотрен прямой цифровой выход то никакой андроид на отг его не обеспечит. Сигнал так и будет проходить сначала через встроенную а затем через внешнюю зк, т.е сначала через хреновую потом через хорошую. Смысл такого преобразования ровно нулевой. Это в компе можно "снять" что, где и как угодно.
    • Поменяйте местами дроссель, который свистит (где не разжигается лампа) с дургим. Если проблема перейдет вместе с дросселем - возможно в нем кз витки или что-то с сердечником. Дросели и лампы там стоят парой параллельно. (Конденсаторы зеленые вы уже проверяли и меняли)
    • Так а Вы поясните, как правильно? 
  • Покупай!

×
×
  • Create New...