Fórum témák

» Több friss téma
Fórum » AVR - Miértek hogyanok
 
Témaindító: pakibec, idő: Márc 11, 2006
WinAVR / GCC alapszabályok:
1. Ha ISR-ben használsz globális változót, az legyen "volatile"
2. Soha ne érjen véget a main() függvény
3. UART/USART hibák 99,9% a rossz órajel miatt van
4. Kerüld el a -O0 optimalizációs beállítást minden áron
5. Ha nem jó a _delay időzítése, akkor túllépted a 65ms-et, vagy rossz az optimalizációs beállítás
6. Ha a PORTC-n nem működik valami, kapcsold ki a JTAG-et
Bővebben: AVR-libc FAQ
Lapozás: OK   781 / 781
(#) Ivan93 válasza mcz76 hozzászólására (») Sze, 17:47 /
 
Szia!
Mit értesz azon, hogy nem tudod működésre bírni? A driver csak ahhoz kell, hogy a PC tudja kezelni a soros-usb konvertert (MCP2200). Ahhoz, hogy programot tudj feltölteni kell valamilyen szoftver is. Az ATmega162-re csak feltölteni szeretnél egy meglévő kódot, vagy a programot is Te írnád meg? Utóbbihoz az AVR Studio4-et (esetleg Atmel Studio7) ajánlom. Csak feltöltéshez léteznek egyszerűbb programok is, pl.: AvrDude.
(#) Kovidivi válasza Topi hozzászólására (») Sze, 23:46 /
 
Idézet:
„De fontos, hogy ezt semmiképp se így valósítsa meg, ugyanis fékezni is gerjesztéssel kell. Akár ellenáramú gerjesztéssel, de semmiképp sem rövidrezárással. Nem blokkolni, és impulzusáramokkal szétverni a FET-et a cél, hanem megállni, fékezni ahogy a neve is mutatja.”
- ellenáramú gerjesztés, tehát a H-hidat ellentétes polaritással kapcsolom be, az alsó FET-tel pedig meg tudom határozni a kitöltési tényezővel a fékerőt? Eddig úgy gondoltam, hogy ebben az esetben dupla akkora áram folyna, mint ha csak simán a két alsó FET-et kapcsolom be, az egyiket pedig PWM-mel hajtom, fékerő korlátozás miatt. Rosszul gondolom?
(#) Kovidivi hozzászólása Csü, 0:06 /
 
Olyan kérdésem lenne még, hogy C++-ban, ha van egy függvény deklarációm, ami így néz ki:
startFastWrite( const void* buf, uint8_t len, const char multicast, char startTx)
akkor meghívhatom-e úgy, hogy az utolsó paramétert elhagyom? Ilyenkor 0-nak vesszük?
Köszönöm.
(#) vargham válasza Kovidivi hozzászólására (») Csü, 5:10 /
 
Miért nem próbálod ki?

Egyébként a válasz nem, nincs az argumentumoknak default értéke.
  1. too few arguments to function 'void startFastWrite(const void*, uint8_t, char, char)'

De ha így deklarálod, akkor lesz:
  1. startFastWrite( const void* buf, uint8_t len, const char multicast, char startTx = 0)


Itt van részletesen is.
(#) Massawa válasza cimopata hozzászólására (») Csü, 7:32 /
 
Nem tudom ezt miért nekem irogatod, nem én vagyok a delikvens aki a marhaságokat irja meg olyan rajzot és elvet berak, ami köszönö viszonyban sincs a feladattal. (A helyes FET-es rajzot én raktam be, a téma nyitoja erre ugy látszik nem volt képes).
Szoval légy szives azzal foglalkozz, aki a zagyvaságot irogatja és esetleg azt hülyézd le, s ne azt aki esetleg megprobál neki segiteni.
(#) Topi válasza Massawa hozzászólására (») Csü, 7:36 /
 
Ne már Massawa, ne háborúzz.
(#) Massawa válasza Topi hozzászólására (») Csü, 7:39 /
 
Nem tudom miért kell eltürnöm, hogy nyilvánosan lehülyézzen valaki - ö ezt kétszer is elkövette.
Nem is fogok már itt egy szot sem szolni. (És ezt türitek pl. "Akármelyik témában olvasok mind összehordasz egy rakás baromságot")
A hozzászólás módosítva: Csü, 7:40
(#) Kovidivi válasza vargham hozzászólására (») Csü, 9:47 /
 
Köszi a választ! Hibát keresek, így legalább ezt ki tudom zárni.
(#) Topi válasza Massawa hozzászólására (») Csü, 9:52 /
 
Nem kell eltűrni sehol semmit, de nem kell nyújtani mint a rétestésztát sem az OFF-ot, mert zavar mindenkit. Szájkaratéztatok egyet ide - egyet oda, aztán a többit max. privátban, ha úgy forr a vágy a vitára.
(#) Kovidivi válasza Kovidivi hozzászólására (») Csü, 18:50 /
 
Szia. Utána olvastam a fékexésnek, de csak olyan cikkeket találtam, ahol az alsó FET-eket bekapcsolva "gyenge" fékezés jön létre, vagy ha a h-hidat ellentétesen kapcsolom, "erős" fékezést kapunk. Találtam még megoldást arra, hogyan lehet visszatölteni kicsit az akksiba, ez is egyfajta fékezés, de szerintem a legkíméletesebb. Nem tudom mire gondolsz azzal, hogy fékezni semmiféleképpen csak rövidrezárással kell. Kifejted, ha lesz időd? Köszönöm.
(#) cimopata válasza Kovidivi hozzászólására (») Csü, 22:27 /
 
A visszafékezéshez tanulmányozd a boost konverter működését aminél a táp a motor belső feszültsége a kimenet pedig az akkumlátor.

Fékezéshez attól függ mekkora motorról van szó és mekkora hajtott tömeg kinetikus energiája jó ha van motor áram mérés és az alapján PWM el szabályozod a fékezőnyomatékot (áramot)

Továbbá nem árt mérni a tápfeszt is akkor már mert ha a táp nem bírja elnyelni a töltőáramot pl nem akkumlátor hanem egy hálózati táp akkor ott lesz füst bőven féküzemnél.

Az a lágy fékezés is rövidrezárással teljes sebességgel akár a névleges áram 10-20x os is lehet fordított polaritással akár 30-40x. Szóval áramkorlát nélkül én nagyobb motorokat nem nagyon zárogatnék rövidre.
(#) Kovidivi válasza cimopata hozzászólására (») Pé, 20:53 /
 
Válaszolok az RC-modell elektronika témába, mert itt off.
(#) csabeszq hozzászólása Szo, 20:32 /
 
Az Attiny84 differenciális módról lenne kérdésem.

Az áramkörről röviden:
Wifiről kapcsolható elektronikát csinálok, ami áramváltó segítségével méri az eszköz fogyasztását is (1:2000). A rendszer 3.3V-ról megy, szintillesztés nincs.

Munka pont: PA3, ellenállásosztó 4.6k-val, 100 nF a föld felé a munkaponton (ez 1.6V-ra állítja a munkapontot)
A munkapontra 470 ohm-mal csatlakozik az áramváltó két vége [PA3+PA2]. Amikor áram megy az áramváltótekercsen át, PA3-hoz képest ellöki a PA2-t. Az egész lényege az, hogy ADC-vel mérem a különbséget PA2-PA3 között differenciális módban. Itt létezik egy gain20x-is, amivel erősíteni lehetne, nincs bekapcsolva.

Probléma (nincs áram a tekercsen):
Külön-külön mérve ADC-vel PA2-t és PA3-t, szépen beáll középre, az ADC 0x0201-en. Minden szép és jó.

Átkapcsolom az ADC-t differenciális módba. Azt gondolom, hogy ha PA2 és PA3 egyformát mér, akkor 0-0-t kellene adnia differenciálisan.

Ezzel szemben:
29, -4, -6, -6, -8, -8, -7, -7 értékeket produkál, ami igencsak messze van a várt 0-hoz képest.

Gondoltam, valamit félrekötöttem, rákapcsoltam a PA3-at a PA3-ra (kalibrálás).
30, -6, -6, -6, -8, -7, -6, -6

Látható, hogy differenciális módban az első mérést durván eltolja, utána meg offset-et produkál. Emellett még látható zaj is épül a rendszerre.

Lehet használni a differenciális módot, vagy semmi értelme, mert külön mérve pontosabb?
A hozzászólás módosítva: Szo, 20:33
(#) csabeszq válasza csabeszq hozzászólására (») Szo, 20:46 /
 
Úgy látom a speckó 10 lsb-t ír pontosságra diff módban.
Ha egyszer egyiket máskor másikat mérem pontosabb.
Következő: »»   781 / 781
Bejelentkezés

Belépés

Hirdetés
Frissek
2017. Szept, 24. Vas
12:33:42
Jelenleg 365 fő olvassa az oldalt
Online tagok:
Lapoda.hu     XDT.hu     HEStore.hu