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
Témakörök:
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   734 / 837
(#) killbill válasza zombee hozzászólására (») Ápr 30, 2016 /
 
Idézet:
„Nem szégyen ha egy elektronikázó műhelyéből hiányzik a páka.”
Nem szégyen, csupáp olyan, mint egy autószerelő műhelye villáskulcsok nélkül. Vagy orvos fonendoszkóp nélkül.
(#) wbt válasza zombee hozzászólására (») Ápr 30, 2016 /
 
Ha lehet érdeklődni, sikerült életre kelteni a HX711-et? Nálam is sok breadboard van, elég gyorsan lehet vele dolgozni az első próbáig. AVR-hez illeszted az ADC-t? (nekem még csomagban van vagy 3 hónapja, remélem nincs valami sunyi, nyakatekert, bosszantó dolog a bizergálásához.
(#) freechat válasza killbill hozzászólására (») Ápr 30, 2016 /
 
Köszönöm. Ilyesmire gondoltam mikor azt írtam a "magamfajta" sok segítséget ne várjon max lenézést és kioktatást.
El tudom képzelni mit mondanál pl egy szájjal ping-pongozónak....
(#) freechat válasza zombee hozzászólására (») Ápr 30, 2016 /
 
Igen én is ezt használom bár eléggé felment az ára és sok olyan van ami totál gagyi.
(#) csatti2 válasza zombee hozzászólására (») Ápr 30, 2016 /
 
Hmm, csak tudnám minek a 24bit ha nem támogatja a 6 vezetékes mérlegcellákat (a betápot vissza szokás hozni, hogy korrigálják a vezetéken eső feszt), anélkül ez csak egy jól hangzó szám de a hiba használhatatlanná teszi az alsó jó pár bitet.
(#) zombee válasza wbt hozzászólására (») Ápr 30, 2016 /
 
Még nem raktam össze, csak a gyári tüskéket forrasztottam be a helyükre.
Annyi az adatlapból lejött, hogy nagyon is van nyakatekert és bosszantó rész a beüzemelésben.
Ez maga a kommunikáció ami nagyon hasonlítani akar az SPI-hez, de ilyen bugyuta megoldást még sehol nem láttam: a csatorna, ill. erősítés kiválasztása az órajelek számától függ. A lényeg hogy a 24. órajel lefutó élén mintavételezhető az LSB, a 25. órajel után az adatvonal HI állapotba megy, majd ezen a ponton 0/1/2 extra órajellel történik a következő mérőciklus kiválasztása. 25=A*128 (+/-20mV); 26=B*32 (+/- 80mV); 27=A*64 (+/-40mV).
Mivel az órajelek száma így semmilyen esetben sem osztható 8-al, esélytelen tisztán hardveres SPI-vel megoldani. És mivel az A és B csatorna erősítése soha nem lehet egyforma, kizárt a szimmetrikus működés. Ha nagyobb terhet is akarok mérni, esélyes hogy a B csatornára kell átkötni.
A hozzászólás módosítva: Ápr 30, 2016
(#) zombee válasza csatti2 hozzászólására (») Ápr 30, 2016 /
 
Talán egy külső, precíz áramgenerátor megoldja a problémát, nem hiszem hogy a modulon olyan hűde potos lenne.
(#) csatti2 válasza zombee hozzászólására (») Ápr 30, 2016 /
 
Hát nem is az. A probléma az, hogy a mért értéked pár mV-os lesz, na itt már nagyon számít, ami a dróton esik. Tárázással korrigálhatod ezt a hibát (persze tárázni mindenképp kell), de akkor meg a mérlegcella saját karakterisztikája zavar majd be.
Pár éve terveznem kellett egy mérő és kiértékelő rendszert, amivel különböző gyártók mérlegcelláit tudtuk összehasonlítani, mivel az egyik általunk gyártott mérlegpályához használt cella gyártását megszüntették. Kértünk egy rahedli mintát különböző gyártóktól, aztán az egyik kolléga (szegény, szerencsétlen balek) pakolgatta a súlyokat kilónként a cellákra, majd ugyanígy lefelé (némely cellának egész szép hiszterézise van). Ráadásul a hagyományos mellett még több más szögben is befogattuk a cellákat (a mérlegpálya nem csak vízszintes lehet, ráadásul a szalag által okozott oldalirányú erőkkel is foglalkozni kell). Elég érdekes eredmények születtek a végén. Egy nevesincs spanyol gyártó harmadannyiba kerülő cellája lazán köröket vert más nevesebb gyártók termékeire...
(#) zombee válasza csatti2 hozzászólására (») Ápr 30, 2016 /
 
Az én mérőkészülékem egy játék lesz, de azért jó tudni ilyeneket is. Én most attól tartok, hogy a 4 darab félhidas cella együttes használata mekkora pontatlanságot eredményez. Értsd: ha a súlyt átpakolom a mérlegpálya egyik oldaláról a másikra, az mennyit befolyásol. E-bayről rendelt cellákról van szó, természetesen.
A hozzászólás módosítva: Ápr 30, 2016
(#) csatti2 válasza zombee hozzászólására (») Ápr 30, 2016 /
 
Nem különösebben nagyot (persze azért szerencsésebb ha a súlypont valahol középen van inkább). Párhuzamosan kell kötni a cellákat és akkor elég jól kiegyenlítik egymást. Ez elég gyakori bekötési mód.
(#) zombee válasza csatti2 hozzászólására (») Máj 1, 2016 /
 
Félcellákról van szó Bővebben: Link, a 4 cella párhuzamos bekötése alatt EZT érted? Nem mondok hülyeséget, ha a képen LC1 és LC2 párhuzamosan kötött cellákat átlóba teszem?

Arduino-s fórumokon a SOROS megoldás terjed.
(#) csatti2 válasza zombee hozzászólására (») Máj 1, 2016 /
 
Amiről én írtam azok nem fél cellák. Az a párhuzamos kötés, amit linkeltél nekem jónak tűnik (valóban átlósan szerencsésebb az LC1 és LC2, de akkor is működni fog ha nem úgy teszed őket). Az arduino-s móricka ábrán látható megoldás is működhet, viszont nekem gyanús, hogy a két szélső cellánál csak az egyik ellenállás vesz részt ténylegesen a mérésben és ezért érzéketlenebb lesz ott.
(#) killbill válasza freechat hozzászólására (») Máj 1, 2016 /
 
Idézet:
„Köszönöm. Ilyesmire gondoltam mikor azt írtam a "magamfajta" sok segítséget ne várjon max lenézést és kioktatást.
El tudom képzelni mit mondanál pl egy szájjal ping-pongozónak....”

Először is, nem neked írtam, hanem zombee-nak. Másodszor pedig, a szájjal ping-pongozó is ping-pong ütőt használ, csak a szájába veszi, mert a kezébe nem tudja. Elektronikázó műhelyről volt szó, nem pedig mozgáskorlátozottakról. Az elektronikai munka legalapvetőbb szerszámai a csípőfogó, csavarhúzó, páka, mérőműszer. Azon felül -bár ez nem az én dolgom-, ennek az egésznek semmi köze sincs az AVR-ekhez, szóval két napja offolod a topikot ezzel.
A hozzászólás módosítva: Máj 1, 2016
(#) csabeszq válasza zombee hozzászólására (») Máj 1, 2016 /
 
Mondjuk ebben nem értünk egyet.

Szerintem a tanuláshoz hozzá tartozik, hogy mit veszel a kínaiaktól és mit csinálsz te magad. A kerék ismételt feltalálása hiba, amiből tanulni kell.

Ha van egy legód, amiben kész ablak elemeket kapsz bagóért, akkor ne téglákból rakd az ablakot össze, mert ronda lesz. A tanulás része, hogy megismerd a körülötted fellelhető építőkockákat.
(#) zombee válasza csatti2 hozzászólására (») Máj 1, 2016 /
 
Idézet:
„a két szélső cellánál csak az egyik ellenállás vesz részt ténylegesen a mérésben”

Kifejtenéd ha megkérlek? Kicsit átrajzoltam a mórickaábrát a saját értelmezésem szerint, és még mindig azt látom hogy mind a 4 mérőcella mindkét oldala aktívan részt vesz a mérésben, és a mért értékek szimmetrikusan összeadódnak.
(#) csatti2 válasza zombee hozzászólására (») Máj 2, 2016 /
 
Ok, ezt benéztem. A piros vezetéket néztem a szenzor Ex+-ának és a fehéret a normál kimenetnek... Ez a baj a móricka ábrákkal
(#) zombee válasza csatti2 hozzászólására (») Máj 2, 2016 /
 
Ezeken a piros a középkimenet. Először nekem is furcsa volt, ezért kimértem multiméterrel.
Apropó. A modul jó eséllyel tized milliohm nagyságrendben mér. Gondot okozhat a vezeték- csatlakozás? Eleve a modul is tüskesorral csatlakozik majd a vezérlőre, de azt inkább direktbe forrasztom biztos ami biztos. De a szenzorok 3p csatlakozón mennének a vezérlőre. A vezetékek miatt nem aggódom mert az kb. állandó, és a végén úgyis egyforma hosszúságra vágom őket.
A hozzászólás módosítva: Máj 2, 2016
(#) csatti2 válasza zombee hozzászólására (») Máj 2, 2016 /
 
A modul offszetfeszültséget mér, nem pedig ellenállást. A két jelvezetéken (S+,S- de nálad A+ A- -al jelölték) minimális áram folyik ezért a csatlakozók nagyon sokat nem befolyásolnak rajta. A gond inkább a betáppal szokott lenni (ezért jobb a hatvezetékes megoldás), mivel a mérés pontosságát nagyban befolyásolja, hogy mennyi is pontosan a tápfeszültség a szenzor(ok) hídjainál (itt jönnek ugye be a vezeték, illetve a csatlakozási pontok ellenállása). A helyes hozzáállás a csatlakozási pontok számának minimalizálása, azaz a szenzor kábelek (toldás nélküli) direkt bekötése (beforrasztása) a mérőmodulba. Éppen ezért az iparban ezek a szenzorok gyakran akár 10 méteres jó minőségű árnyékolt kábellel is kaphatóak.
(#) zombee válasza csatti2 hozzászólására (») Máj 2, 2016 /
 
Köszönöm. Toldás nem lesz benne (csak vezetékhosszabbítás forrasztással) , de ezek szerint a csatlakozót is jobb ha csokira cserélem, vagy direktbe beforrasztom a modulra. Valami megszakítási lehetőség mindenképp kell, mert a mérőmodulok és a vezérlő résznek külön szerelhetőnek kell lenni. Esetleg beépítem a HX711 modult egy DB9 csatlakozóházba. A mátrix kijelzőre már úgyis VGA csatin megy át a táp és a jel...
A hozzászólás módosítva: Máj 2, 2016
(#) csabeszq válasza zombee hozzászólására (») Máj 2, 2016 /
 
Fiatal éveimben a terepasztalt csokiszorítóval építettem, mert természetesnek vettem, hogy azt úgy kell. Utána jött a nagy pofáraesés, mert nehéz hozzáférni, ki-be csavarozni, macerás az egész, pláne ha 40-50 vezetéket kell ki-be csavargatni, mert a panelt ki akarom venni szerelni.

Amennyire praktikusnak tűnik a csoki, pontosan annyira használhatatlan. Legalábbis szerintem.

Ezután ért a megvilágosodás: beszereztem 3000 Ft-ért az Ebay-en krimpelő fogót. Ennek köszönhetően 90-es (derékszögű) tüskesorral és panelcsatlakozókkal kötöm/oldom a vezetékeket a szerelésénél. Még mindig vannak csokik, nem győzök őrjöngeni miattuk.

Egy 8x1-es vezetéktömb le/felcsatolása egy elegáns mozdulat. Nem kell tekergetni, csavargatni, a lógó vezetéket beszámozni, hogy el ne felejtsd melyik hová megy. Semmi. Egy mozdulattal leveszed, egy másikkal visszateszed.

És hogy tetézzem is a dolgot: olcsóbb, mintha dupla sorkapcsot használnál és kevesebb helyet foglal.
(#) skimen hozzászólása Máj 2, 2016 /
 
Sziasztok!

Egy xmegás kérdésem lenne, sajnos nem találok rá megoldást.

Van kettő bemenetem:
PORTD.PIN0_bm
PORTD.PIN2_bm

Ezekhez a bemeneteket fölprogramoztam, hogy érkezzen róluk megszakítás,
de nem tudom pontosan megmondani, hogy melyik okozta az aktuális ISR-t.
Mindhárom lefutó élre van állítva:

  1. // PORTD_0
  2.         PORTD_DIRCLR    = PIN0_bm;
  3.         PORTD.PIN0CTRL  = PORT_ISC_FALLING_gc;
  4.         PORTD.INT0MASK  = PIN0_bm;
  5.  
  6.         // PORTD_2
  7.         PORTD_DIRCLR    = PIN2_bm;
  8.         PORTD.PIN2CTRL  = PORT_ISC_FALLING_gc;
  9.         PORTD.INT0MASK  |= PIN2_bm;
  10.         PORTD.INTCTRL   = PORT_INT0LVL_HI_gc| PORT_INT1LVL_HI_gc;


az ISR ami fogadja:

  1. ISR(PORTD_INT0_vect){
  2.        
  3.         }


hogy lehet megnézni, hogy melyik bemenetről érkezett?
Sajnos az INT1 is foglalt, arra csak egy bemenet jutott...

Köszönöm a segítséget!
(#) csatti2 válasza skimen hozzászólására (») Máj 2, 2016 /
 
Sajna csak közvetve lehet. Állítsd át a megszakítást, hogy mind fel mind lefutásra tüzeljen.
Ezután azt kell nézni, melyik jel változott, pl.:
  1. ISR(PORTD_INT0_vect){
  2.         volatile static uint8_t prev_switches = 0;
  3.        
  4.         uint8_t switches = PORTD.IN;
  5.         uint8_t activated = (switches ^ prev_switches) & switches;
  6.         uint8_t released = (switches ^ prev_switches) & ~switches;
  7.         ... neked igazából a released változó kell
  8.         if (released & PIN0_bm) {
  9.                 ...
  10.         }
  11.         if (released & PIN2_bm) {
  12.                 ...
  13.         }
  14.         prev_switches = switches;
  15.        
  16. }

Persze kérdés pontosan mire is kell a megszakítás, ha elmondod, lehet tudok sokkal jobb megoldást is.
A hozzászólás módosítva: Máj 2, 2016
(#) zombee válasza csabeszq hozzászólására (») Máj 2, 2016 /
 
Én is kezdek áttérni csokiról tüskesoros csatikra, már amennyire enged. Általában ipari áramkörökkel dolgozom ahol a csoki a megbízhatóság záloga, és ez rámragad a játékmodulok tervezésénél.
Milyen fajta tüskesor/csatlakozó páros lenne megfelelő egy mérlegmodul csatlakozáshoz annak érdekében, hogy ne nagyon változzon a kötés? Pl. ez? Bővebben: Link
(#) csatti2 válasza zombee hozzászólására (») Máj 2, 2016 /
 
Ipari megoldásokban én nem nagyon találkoztam csokival (legfeljebb gyors kényszermegoldásoknál). A megbízhatóság záloga manapság inkább a rugós sínre pattintható sorkapocs (nem lazul ki a vibrációk miatt mint a csavaros verzió).
A hozzászólás módosítva: Máj 2, 2016
(#) zombee válasza csatti2 hozzászólására (») Máj 3, 2016 /
 
Ja igen elfelejtettem mondani hogy a sorozatgyártásban gyors-záras csokik vannak, meg sínes csatlakozók. De a prototípusokhoz továbbra is a csavaros tíípust használom. A vonatra tervezett klímaolaj-leeresztő szelep vezérlőjében is.
(#) csabeszq válasza zombee hozzászólására (») Máj 3, 2016 /
 
Az általad linkelt kép 3A-t visz szerintem. Vannak vaskosabbak is, ez a kicsi méret. Krimpelő fogó persze kelleni fog, anélkül macerás.
(#) zombee válasza csabeszq hozzászólására (») Máj 3, 2016 /
 
Sejtettem hogy az átvihető áramerősséggel nem lesz gond, de a csatlakozás miatt mégis aggódom, ha egyszer milliohm-okról van szó.

Krimpelő nem probléma, az van. Igaz, csak részlegesen krimpel: először pákával odapöttyintem a vezetéket, krimpelés, utána a szigetelést szorító részt kell kicsit beljebb hajtani...
(#) Gj hozzászólása Máj 3, 2016 /
 
Üdv!

Az ATMega8-as AVR elvileg 16MHz-en is futhat, de adatlap alapján a L-es (ATMega8L) verziója csak maximum 8MHz-n. A két megvalósítás között tudtommal a feszültségtartomány a különbség. Az L-es már 2.7V-tól működőképes, a sima csak 4.5V-tól.
Van viszont nem L jelölésű, 2.7V-os is: Bővebben: Link

A kérdésem az, hogy nem menne-e el az L-es verzió is 4.5V felett 8MHz fölötti frekvencián?
A hozzászólás módosítva: Máj 3, 2016
(#) zombee válasza Gj hozzászólására (») Máj 4, 2016 /
 
12MHz és 5V ment simán.
Következő: »»   734 / 837
Bejelentkezés

Belépés

Hirdetés
Lapoda.hu     XDT.hu     HEStore.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem