HomeMade
Fork-Heńka... czyli jak sobie poradzić z DDS za pomocą ARDUINO - Wersja do druku

+- HomeMade (http://sp-hm.pl)
+-- Dział: Urządzenia nadawczo odbiorcze KF (/forum-62.html)
+--- Dział: Syntezy częstotliwości i moduły DSP (/forum-74.html)
+--- Wątek: Fork-Heńka... czyli jak sobie poradzić z DDS za pomocą ARDUINO (/thread-2164.html)

Strony: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30


RE: Fork-Heńka... czyli jak sobie poradzić z DDS za pomocą ARDUINO - SP6AUO - 15-10-2014 14:09

Ponawiam prośbę.
Jaki procek.
Jaki kwarc w Arduino.
Jakie napięcie do wyświetlacza nokia 5110.


RE: Fork-Heńka... czyli jak sobie poradzić z DDS za pomocą ARDUINO - M0OSH - 15-10-2014 14:18

U mnie używam arduino nano3 klon ale myślę ze i na Uno nie będzie problemu u mnie atmega328.
kwarc 16mhz
mój lcd ma zasilanie od 3 do 5V ja używam 3v3


RE: Fork-Heńka... czyli jak sobie poradzić z DDS za pomocą ARDUINO - SP6IFN - 15-10-2014 15:29

Andrzej!
W poście #15 napisałeś że wszystko Ci weryfikuje, ja w poście #20 odpisałem Ci na jakim ja pracuję, jaką mam ATmegę i kwarc do niej. Napisałem też że wszystkie Arduino mają taki sam kwarc. Dzisiaj pytasz o napięcie na wyświetlacz. Dla bezpieczeństwa zasilam go napięciem z Arduino 3V3, moje Duemilanowe ma taki stabilizator dodatkowo. Ponadto dodam że wszystkie piny sterujące wyświetlaczem (RST,CE,DC,DIN,CLK) zasilam poprzez rezystory 3k3, dla bezpieczeństwa. Pin 07 LIG wyświetlacza zasilam z dzielnika rezystorowego (potencjometr montażowy 10k). Nic więcej dodać nie mogę, to komplet informacji.
Rysio!


RE: Fork-Heńka... czyli jak sobie poradzić z DDS za pomocą ARDUINO - DA_KAR - 15-10-2014 17:19

(14-10-2014 22:19)SQ9MDD napisał(a):  Hejka Panowie... mam nadzieję że jesteście z nami, bo coś ucichło.

Już zamówiłem klocki. Miały dziś przyjść i nie przyszły.
Dalej obserwuję z drugiego rzędu jak się pięknie bawicie
i zazdroszczę.


RE: Fork-Heńka... czyli jak sobie poradzić z DDS za pomocą ARDUINO - SQ9MDD - 15-10-2014 18:00

Cześć.

Andrzej z arduino jest tak że niezależnie od procesora i kwarca kod jest w 100% przenoszalny pomiędzy płytkami. No chyba że ktoś stosuje jakieś nietypowe zaklęcia.
Więc odpowiadając na twoje pytania, płytka arduino dowolna.
Jeśli chodzi zaś o zasilanie to ja zasilam z pięciu wolt syntezer a wyświetlacz z 3,3V i działa wyśmienicie. Nie dawałem rezystorów w liniach sterowania wyświetlaczem.

Dzisiaj skoczyłem wcześniej nieco pracę a że siedzę w hotelu (delegacja) to zaraz napiszę ograniczenie częstotliwości do naszego złomka.

Oczywiście Panowie zachęcam do samodzielnego eksperymentowania z kodem i dzielenia się tymi eksperymentami tutaj na forum.


RE: Fork-Heńka... czyli jak sobie poradzić z DDS za pomocą ARDUINO - SQ5KVS - 15-10-2014 18:12

Moze nazwa forka "Rysiek", bo "wszystkie Ryśki to fajne chłopaki", Zlomek nie brzmi tak dobrze Smile
O ile kod pisany na arduino jest większy (po kompilacji) od konkretnego w C pod dany proc?


RE: Fork-Heńka... czyli jak sobie poradzić z DDS za pomocą ARDUINO - SQ9MDD - 15-10-2014 18:17

Wiesz nie sprawdzałem ale sądzę że trochę narzutu będzie. Każda specyficzna dla arduino funkcja (jakiś map czy coś podobnego) to zawsze coś wiecej bajtów. więc kod puchnie. Tyle że dla większości zastosowań niema to znaczenia i tak się mieści. ATMega328 ma 32kb pamięci -2kb na bootloader więc sporo pozostaje na kod. Ot taka łatwość tworzenia okupiona większym wynikowym.
Ogólnie niema tragedii


RE: Fork-Heńka... czyli jak sobie poradzić z DDS za pomocą ARDUINO - SQ9NJE - 15-10-2014 18:22

Chyba bardziej niż na rozmiar samego programu trzeba uważać na wykorzystanie RAMu. Wiem, że Maciek pisząc Heńka trafił na właśnie ten problem i okazało się, że z pamięcią nie można obchodzić się zbyt beztrosko Wink


RE: Fork-Heńka... czyli jak sobie poradzić z DDS za pomocą ARDUINO - SP9MRN - 15-10-2014 18:35

to na szczęście nie była pamięć, tylko do d.. napisana obsługa wyświetlacza a dokładniej wyświetlania w przerwaniach. Teraz na czas wyświetlania wyłczam przerwania encodera i jest OK

MAc
mrn


RE: Fork-Heńka... czyli jak sobie poradzić z DDS za pomocą ARDUINO - SQ9MDD - 15-10-2014 18:52

Tak Przemek zdecydowanie masz rację, kilkakrotnie w swoich projektach otarłem się o ten problem. Dlatego zawsze staram się stosować różne zabiegi by nieco zaoszczędzić pamięć.

Kod:
const int jakas_zmienna = 123;
Zamiast:
Kod:
int jakas_zmienne = 123;

Oczywiście dla zmiennych które nie są modyfikowane w trakcie pracy programu.

Często też stosuje jeden bufor służący do printowania danych i zmieniam tylko jego zawartość. Jeden uniwersalny zajmuje często mniej miejsca niż pięć mniejszych do konkretnych celów.

Dodatkowym utrudnieniem jest też słabość środowiska arduino w tej kwestii. Nie posiada ono narzędzi do diagnostyki, debugowania.

Nasz program ten powyżej w tej chwili zużywa około 300 bajtów ramu z dostępnego obszaru 2kb.

Jest taki fajny kawałek kodu który pozwala ocenić wielkość dostępnej pamięci:

Kod:
int freeRam () {
  extern int __heap_start, *__brkval;
  int v;
  return (int) &v - (__brkval == 0 ? (int) &__heap_start : (int) __brkval);
}

Wystarczy gdzieś w głównej pętli wyprintować efekt działania tej funkcji.