Mam układ, w którym za pomocą atmegi 168 chcę sterować silnikiem DC 12v z wkrętarki. Cały proces sterowania silnikiem oparty jest na dwóch tranzystorach oraz przekazniku. Jeden tranzystor steruje pracą silnika, drugi kierunkiem obrotu silnika. Silnik ten pobiera około 3A prądu więc dość sporo. Powoduje to, że całe okablowanie na płytce stykowej dość mocno się grzeje, oraz podczas uruchamianie silnika jest widoczny spadek napięcia na mikrokontrolerze (przygasa podpięta dioda). Jak możnaby optymalnie
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Jak to jest z przesłaniem programu do mikrokontrolera? Muszę przesłać plik hex za pomocą programatora usbasp, którego sterowniki automatycznie instalują się w systemie (Windows 7). Muszę zainstalować program avr dude ze strony http://www.nongnu.org/avrdude/ i to wszystko czy trzeba zainstalować program, w którym należy wybrać częstotliwość i coś ustawiać?
#mikrokontrolery #avr
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@cyberDEV: minimum musisz ustawić model MCU, prędkość transmisji i poinstruować avrdude że ma używać usbasp. Ściągnij sobie jakąś nakładkę graficzną, będzie ci łatwiej. Ja używałem https://github.com/zkemble/AVRDUDESS jak jeszcze bawiłem się w AVRy. Ewentualnie komendy w terminalu ale lepiej żebyś wiedział co robisz zwłaszcza przy ustawianiu fuses. Pmogłoby gdybyś podał model procka i coś więcej na temat tego hexa jeżeli to nie tajemnica.
  • Odpowiedz
@cyberDEV: to zakładając że fuses są ustawione (a na świeżym procku nie są) i elektrycznie jest to dobrze połączone:
1. wybierasz sobie usbasp z listy tam gdzie na obrazku jest 'Arduino'.
2. Wybierasz model procka w polu "MCU (-p)".
3. Sprawdzasz czy wszystko działa klikając "detect". Musi pokazać że model procka się zgadza a w konsoli będzie że avrdude jest zadowolony.
4. Wtedy pokazujesz na hexa w polu "flash", zaznaczasz "erase
  • Odpowiedz
1....10kΩ, są jakimś kompromisem.


@zetisdead:

dobiera się


@cyberDEV: Nic się nie dobiera, zakres 10k-33k wynika z datasheeta. Przy innych wartościach producent nie gwarantuje poprawnej pracy uC. Wynika to z tego co zostało napisane o prądzie, zakłóceniach itd ale producent o tym wie i zaleca taką a nie inną wartość. Należy też pamiętać, że przy programowaniu HV na reset podaje się 12V.
  • Odpowiedz
Dobry wieczór. Zacząłem niedawno zabawę z Atmega32 i nie wiem albo nie umiem szukać ale no nie widzę przykładów tego co chcę zrobić. Mianowicie korzystam z ADC i przez USART mogę sobie podglądać te moje chwilowe wartości napięcia, a co jeśli chciałbym, aby zmienne które przechowują wartość napięcia, żeby zapisywały się w pamięci urządzenia? I potem jakoś je odczytać sobie również bym chciał. Jak to zrobić? na internecie nie widzę takich zwyczajnych
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Mjau: atmega32 powinna mieć wbudowany eeprom, zobacz do noty katalogowej jak się do niego dobrać. Jak do tego dojdziesz, to zbieraj dane do bufora i dopiero później zapisuj.
  • Odpowiedz
@Mjau: Utwórz tablicę w RAM i licznik, przy każdym pomiarze inkrementuj licznik i przypisuj wartość do elementu tablicy. Jak licznik zrówna się z rozmiarem tablicy, wyzwól zapis. Nota katalogowa twoim przyjacielem. No i masz u mnie plusa, że nie jest to arduino.
  • Odpowiedz
Pracuję nad projektem, do którego chcę zrobić prostego sound chipa. Wszystkim ma sterować atmega88pa-pu, która w tym momencie jest ustawiona na 8 MHz bez xtala (wyłączony dzielnik z fusebitów). Układ widoczny na załączonym obrazku.
Głośnik jest sterowany przez PWM, na wyjście uC podaje wynik z algorytmu, konkretnie z tego. Cały kod programu tutaj. Przy tym taktowaniu częstotliwość próbkowania powinna wynieść 8000000/256 = 31250 Hz. Czyli teoretycznie przy włączeniu układu
F.....n - Pracuję nad projektem, do którego chcę zrobić prostego sound chipa. Wszystk...

źródło: comment_cWlCbPRWdIe25mF7RoJW70Rxusx1Ig8f.jpg

Pobierz
  • 24
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Nie mam za bardzo pomysłu jak sprawdzić, czy proc "wyrabia".


@Feargan: uruchom program w symulatorze i sprawdź czy przerwanie ma szansę się wykonać w 256 cykli (symulator powinien pokazywać cykle zegarowe). Możesz też na początku przerwania ustawić jakiś pin i na końcu go zgasić i sprawdzić wypełnienie takiego przebiegu na oscyloskopie.
  • Odpowiedz
#elektronika #avr #pytanie
Czy ktoś ma może pomysł co robię nie tak? chce wygenerować PWM, prescaler ustawiony na 1 F_CPU=1,2MHz, więc PWM też powinien taką mieć. Tymczasem saleae pokazuje ok.4,5kHz. Wypełnienie reguluje potencjometr podpięty pod ADC.

int main(void)
{
DDRB |= output;
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#atmega #avr

Jak zasilę atmegę napięciem 3,3 V, to stany logiczne na pinach będą operowały na 3,3? Podejrzewam, że tak, no bo jak inaczej, przetwornicy w środku nie upchnęli xD Ale wolę się upewnić
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

No i jak tam AVRki rozwijają się pod wodzą Microchipa? Inwestują coś w nie, czy jednak Microchip bardziej promuje swoje rozwiązania? #elektronika #avr
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@kk87ko0: Przed chwilą spojrzałem do szufladki - nic się nie rozwinęły, siedzą takie same jak były, ani nóg im nie przybyło, ani rozkazów nie wykonują więcej lub szybciej... No zastój panie
  • Odpowiedz
@kk87ko0: @hrumque: Mieszają. Poprzenosili trochę z jednego w drugie i na opak. Atmel miał kilka dobrych rozwiązań ale np. przetworniki adc były słabe. Trochę wyrównali.
Ponieważ atmel miał kontrolery z rdzeniami Cortex A5 (300-550MHz) microchip przestał rozwijać swoje kontrolery w tej klasie i pracują tyko nad atmelami. Nikt nie ucierpiał.
  • Odpowiedz
@saphix122: Przede wszystkim dla tak małych częstotliwości używanie sprzętowego PWM mija się z celem. Jak już to próbować na timerze 16 bitowym, ale też nie jestem pewien czy da radę wykręcić tak niską częstotliwość.
  • Odpowiedz
@SuperFi: @saphix122: Policzmy: fcpu = 16000000Hz, dzielnik 1024, f za dzielnikiem = 15625Hz co się przekłada na takt trwający 0,064 ms. Takich taktów można zliczyć 65536 czyli będzie to trwało 4194,24 ms czyli 4,19424s co przełoży się na częstotliwość 0,2384Hz.
I generalnie nie da się w normalny sposób zejść niżej. Trzeba zrobić przerwanie od timera z założoną rozdzielczością np. jak chcesz sterować pwm z rozdzielczością 200 kroków to
  • Odpowiedz
Mirki z pod tagu #arduino #elektronika #elektronikadiy #avr planuję sterować diodą XP-G Vf 3,1V - 3,4V Imax 1A. Chcę do tego użyć arduino oraz źródeł prądowych amc7135. Po poprawnym działaniu układu przenoszę atmegę tqfp na osobne PCB. Chciałbym uniknąć strat zwłaszcza w atmegach więc tu pytanie do Was: czy mogę te źródła prądowe AMC podłączyć bezpośrednio pod porty arduino, tak jak jest na rysunku
azamat - Mirki z pod tagu #arduino #elektronika #elektronikadiy #avr planuję sterować...

źródło: comment_4vZwFsoaH9wjZPlYs6Vh5UO1djmumrcA.jpg

Pobierz
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach