Hilfsgesuch Arduino Leonardo und CUL_V3

Begonnen von naicheben, 29 März 2016, 18:54:10

Vorheriges Thema - Nächstes Thema

naicheben

#15
Was der dann wirklich sendet kann ich gar nicht sagen. Vielleicht ist es tatsächlich Spam. Ich habe jetzt mal ein altes Scope ausgegraben. Kann nur 1MHz, aber solange ich nicht die HF messen muss reicht es ja.
Den CC1101 habe ich mal nur mit Strom versorgt (3,3V über LT1086-CT-3.3) und da bekomme ich 3,7µS breite Pulse.

Zwischen dem Leonardo und dem eHaJo besteht quasi kein Unterschied. Beide senden, aber die Dosen schalten nicht.
Ich glaube ja auch eher, dass es Konfigurationsfehler sind. Ich weiß nur nicht ob in FHEM oder in der CUL-Software.
Beim eHaJo würde ich ungern auf den Bootloader verzichten. Der Leonardo hat ja einen festen ISP, da fällt es mir leichter den zum neu flashen zu verwenden; dummerweise steckt da der CC1101 drauf  ::)

Ich versuche mal den Tipp mit der itfreqency, sobald ich mir sicher bin, dass ich den richtigen Fersteuerungscode habe

EDIT: ich habe nur einen CC1101, muss also immer umbauen. Dafür habe ich einen Noname Empfänger, an dem ich eine LED/Logoktester am Ausgang habe.
EDIT 2: es sind wohl eher 3,7µS, bei Belastung ist die Spannung aber recht gering

juergs

#16
Ah, ok.

Ich betreibe einen 433 + 868 mit ehajo Modul. Aber wie gesagt: mit umgerüsteten 8 MHz Quartz.
Der sitzt mechanisch sehr fest und das Auslöten desselbigen ist sehr schwierig,
weil die Leiterbahnen unter dem Quartz zu lang sind.
Dafür habe ich mir den Ärger mit dem Prescaler gespart... und die Standard-CULV3-FW verwendet.
Du könntest auch mal die a-CULFW-Version versuchen? Dort ist das mit dem 433-Pin in der SW gelöst.

Wenn Du Glück hast, geht es schon mit der Frequenzvariation.
Vielleicht hilft meine Aufzeichnung etwas ...

naicheben

Ich habe jetzt mal die a-culfw gezogen und CUL-Arduino_433 auf dem eHajo installiert, die ist für 16MHz gedacht. Nun habe ich noch mal die Verkabelung ganz von vorn angefangen und siehe da! C99 liefert Werte! 433MHz kann ich einstellen und bekomme sie mit get ccconf auch wieder angezeigt. Und das Beste: die Dosen schalten.

Vielen Dank für die vielen Tipps. Den Logic-Analyzer habe ich mal geflasht und konnte schon mal schön die Signale vergleichen. Auf meinem Uralt Hameg 312 konnte man da keinen Unterschied erkennen, weil das nicht richtig einrastet.... Dabei ist mir dann aufgefallen, das meine Arduino IDE total veraltet ist. Als ich den Analyzer mit 1.6 compiliert und geflasht habe ging der dann endlich  ::)

Dann gehts jetzt weiter mit der Konfiguration von FHEM. Mal schauen, wie und ob ich die Fernbedienung und mein Anemometer eingebunden bekomme.
Ach, ist das schön wenn auch mal was funktioniert  ;D
Vielen vielen Dank noch mal juergs!

juergs

#18
 :)
Hi, freut mich.
Habe gerade den Leonardo umgebaut und auch versucht zu flashen.

Dabei gibt es natürlich massig Probleme Hürden:
1.) alle Geräte-Protokolle sind in der board.h eingeschalten, so dass das Ergebnis > 7000h ist !
2.) Da der DFU Bootloader ab 7000h anfängt .... gibt es da Ärger !
3.) Abspecken der Protokolle und Obj-File hat nur noch 25K, Flashen geht!
4.) FHEM mit Leo ohne CC1101-Modul betrieben liefert ccconf:
ccconf => freq:0.000MHz bWidth:812KHz rAmpl:24dB sens:4dB
Was zu beweisen war. -> CC1101 wird nicht angesprochen.
Morgen baue ich mal ein Modul dran, dann sieht man mehr.

Hier ist
int
main(void)
{
  wdt_enable(WDTO_2S);
#if defined(CUL_ARDUINO)
  clock_prescale_set(clock_div_2); // for 16MHz
#endif


und F_CPU ist im makefile auf 16000000 gesetzt.

Die Leo-Fuses habe ich auf :
LF = 0xFF HF=0xD8 EF=C3 (HWB enable, war 0xCB) und LB=0xFF
gesetzt.

Diese Variante passt für die 16MHz und LEO!
https://github.com/heliflieger/a-culfw/blob/master/culfw/Devices/CUL-Arduino
V 1.20.03 a-culfw Build: private build (unknown) CUL-ARDUINO868 (F-Band: 868MHz)

Hier noch ein HowTo zum Flaschen Flashen des 32U4:
http://dougspcbdesigns.pbworks.com/w/page/59725474/ATMega32U4...
und hier:
http://www.stanleylio.com/home/usblufa

naicheben

Die gleiche Firmware habe ich auch genommen. CUL-Arduino. Musste nichts ändern. HWBE habe ich gelassen, finde ich ganz gut auf dem eHaJo, Jumper setzen - Reset auf GND und dfu-bootloader meldet sich. Beim Leo habe ich den Pin ja schon abgelötet, werde den aber wohl auch auf Taster setzen, wie beim CUL, auch wenn ich den für FHEM nicht einsetzen werde (dafür war der irgendwie auch zu teuer). Beim eHaJo möchte ich ungern auf den Bootloader verzichten. Ist etwas nervig, wenn man den CC1101 abbauen muss um an die ISP-Schnittstelle ran zu kommen.

Was mich wurmt: ich kann von meiner Brennenstuhl FB keine Codes emfangen. Einmal habe ich kurz  was gehabt, konnte es aber nicht reproduzieren. Autocreate hat dann ein FS20 angelegt. Sowas habe ich gar nicht. Muss vom Nachbarn kommen (Garagentor vielleicht?). Also Empfang geht rudimentär.

Ich flashe mit dfu-programmer und avrdude, mit avrdude brenne ich auch die Fuses um (Leo L:0xff; H: 0xd8; Ext: 0xcb; bei abgelötetem HWBE), ohne gleich das ganze hex zu übertragen. Blöd ist nur, dass man wissen muss was man tut. Wenn man aus Versehen mal auf ext. Oszillator gestellt hat  ::) Aber da habe ich inzwischen Übung drin  ;D Axo: alles unter Linux auf Consle. Windows versuche ich zu meiden, hab ich nur für Steuern und Half Life 2

juergs

#20
 :)
Erkenntnis ist der Weg zu Perfektion ...

Ohne Werbung machen zu wollen, aber den ehajo gibts mittlerweile für 9€ + Porto.
Also fast ein China-Schnäppchen.

Hier habe ich auch noch was gefunden, nicht ganz irrelevant:
#if !defined(clock_prescale_set) && __AVR_LIBC_VERSION__  < 10701UL
#  warning "avr/power.h needs patching for prescaler functions to work."
#  warning "for the m32u4 add __AVR_ATmega32U4__ for cpu types on prescale block"
#  warning "for the m32u2 add __AVR_ATmega32U2__ for cpu types on prescale block"
#endif


Der CC1101-Pin CSN liegt bei a-culfw auf PB0 (kein Stiftleitsten-Pin). Besser wäre hier als "SS"-Port: PB4 -> D8 oder PC7 mit D13.
Das wäre zu klären, ob die SS-Funktion ausschließlich auf PB0 zwingend für SPI erforderlich ist
oder (da ja nur "normale" CS-Funktionalität) auch umgesetzt werden könnte. (Ausprobieren...)

Das Empfangen der IT-Fernbedienung geht bei mir (schau Dir mal den SDR#-Tip im Wiki an, ansonsten: im Frequenzbereich suchen!).

Wenn man autocreate setzt, empfängt man auch die Nachbarn!
Ganz "schlimm" ist es, wenn man im Hochaus wohnt und jeder hat sein Eigentum mit
z.B. FHTTK abgesichert! Ob das so die Zukunft sein wird? Intertechno ist da gar nicht gut ...

ZitatFileLog_CUL_FHTTK_382f6d
FileLog_CUL_FHTTK_766870   _FHTTK_766870-2016.log
FileLog_CUL_FHTTK_78ccd3   _FHTTK_78ccd3-2016.log
FileLog_CUL_FHTTK_8ffe0a   _FHTTK_8ffe0a-2016.log
FileLog_CUL_FHTTK_b6de6d   _FHTTK_b6de6d-2016.log
FileLog_CUL_FHTTK_da4ad7   _FHTTK_da4ad7-2016.log
FileLog_CUL_FHTTK_f21ec4   _FHTTK_f21ec4-2016.log
FileLog_CUL_FHTTK_f7f982   _FHTTK_f7f982-2016.log
FileLog_CUL_FHTTK_fa9612   _FHTTK_fa9612-2016.log
FileLog_CUL_TX_11      _TX_11-2016.log
FileLog_CUL_TX_111      _TX_111-2016.log
FileLog_CUL_TX_127      _TX_127-2016.log
FileLog_CUL_TX_23      _TX_23-2016.log
FileLog_CUL_TX_24      _TX_24-2016.log
FileLog_CUL_TX_32      _TX_32-2016.log
FileLog_CUL_TX_42      _TX_42-2016.log
FileLog_CUL_TX_58      _TX_58-2016.log
FileLog_CUL_TX_67      _TX_67-2016.log
FileLog_CUL_TX_68      _TX_68-2016.log
FileLog_CUL_TX_70      _TX_70-2016.log
FileLog_CUL_TX_88      _TX_88-2016.log
FileLog_CUL_TX_97      _TX_97-2016.log
FileLog_CUL_TX_99      _TX_99-2016.log
FileLog_CUL_WS_1      _WS_1-2016.log
FileLog_CUL_WS_2      _WS_2-2016.log
FileLog_CUL_WS_3      _WS_3-2016.log
FileLog_CUL_WS_4      _WS_4-2016.log
FileLog_CUL_WS_5      _WS_5-2016.log
FileLog_CUL_WS_7      _WS_7-2016.log
FileLog_CUL_WS_8      _WS_8-2016.log
FileLog_FHT_1156      _1156-2016.log
FileLog_FHT_1aeb      _1aeb-2016.log
FileLog_FHT_1ea1      _1ea1-2016.log
FileLog_FHT_4019      _4019-2016.log
FileLog_FHT_9470      _9470-2016.log
FileLog_FHT_9550      _9550-2016.log
FileLog_FS20_002201      20_002201-2016.log
FileLog_FS20_2116a4      20_2116a4-2016.log
FileLog_FS20_2aa444      20_2aa444-2016.log
FileLog_FS20_34dfc5      20_34dfc5-2016.log
FileLog_FS20_38ba00      20_38ba00-2016.log
FileLog_FS20_38ba01      20_38ba01-2016.log
FileLog_FS20_38ba02      20_38ba02-2016.log
FileLog_FS20_38ba03      20_38ba03-2016.log
FileLog_FS20_39b797      20_39b797-2016.log
FileLog_FS20_4b929f      20_4b929f-2016.log
FileLog_FS20_5288d4      20_5288d4-2016.log
FileLog_FS20_613a1b      20_613a1b-2016.log
FileLog_FS20_680ad4      20_680ad4-2016.log
FileLog_FS20_710660      20_710660-2016.log
FileLog_FS20_7fe570      20_7fe570-2016.log
FileLog_FS20_85611e      20_85611e-2016.log
FileLog_FS20_86aa9e      20_86aa9e-2016.log
FileLog_FS20_8b8fac      20_8b8fac-2016.log
FileLog_FS20_93e426      20_93e426-2016.log
FileLog_FS20_989925      20_989925-2016.log
FileLog_FS20_b84ce3      20_b84ce3-2016.log
FileLog_FS20_b88245      20_b88245-2016.log
FileLog_FS20_cb8280      20_cb8280-2016.log
FileLog_FS20_ce548a      20_ce548a-2016.log
FileLog_FS20_d88970      20_d88970-2016.log
FileLog_FS20_f8f4de      20_f8f4de-2016.log
FileLog_FS20_fdd69d      20_fdd69d-2016.log
FileLog_HMS100TF_0000   HMS100TF_0000-2016.log
FileLog_IT_00000FFFF0   _00000FFFF0-2016.log
FileLog_IT_000FFFF0FF   _000FFFF0FF-2016.log
FileLog_IT_000FFFFF0F   _000FFFFF0F-2016.log
FileLog_IT_00FF00000F   _00FF00000F-2016.log
FileLog_IT_0F0F00FFFF   _0F0F00FFFF-2016.log
FileLog_IT_0F0F0F0FFF   _0F0F0F0FFF-2016.log
FileLog_IT_0F0F0FFFFF   _0F0F0FFFFF-2016.log
FileLog_IT_0F0FFF000F   _0F0FFF000F-2016.log
FileLog_IT_0F0FFF0F0F   _0F0FFF0F0F-2016.log
FileLog_IT_0F0FFFF00F   _0F0FFFF00F-2016.log
FileLog_IT_0F0FFFFF0F   _0F0FFFFF0F-2016.log
FileLog_IT_0FF000000F   _0FF000000F-2016.log
FileLog_IT_0FFFF0FFFF   _0FFFF0FFFF-2016.log
FileLog_IT_0FFFFF0FFF   _0FFFFF0FFF-2016.log
FileLog_IT_0FFFFFF0FF   _0FFFFFF0FF-2016.log
FileLog_IT_0FFFFFFF0F   _0FFFFFFF0F-2016.log
FileLog_IT_0FFFFFFFFF   _0FFFFFFFFF-2016.log
FileLog_IT_1FFF1FF000   _1FFF1FF000-2016.log
FileLog_IT_F0FFF0FFFF   _F0FFF0FFFF-2016.log
FileLog_IT_F0FFFF0FFF   _F0FFFF0FFF-2016.log
FileLog_IT_F0FFFFFF0F   _F0FFFFFF0F-2016.log
FileLog_IT_F0FFFFFFFF   _F0FFFFFFFF-2016.log
FileLog_IT_F1FF1FF000   _F1FF1FF000-2016.log


juergs

#21
Fazit:
Aufwand den Leonardo in ein CUL zu verwandeln lohnt aus meheren Gründen nicht:
1.) die a-culfw Compilierung mit den Standard-Einstellungen in der board.h:
#define SPI_SS PB0
#define SPI_MISO PB3
#define SPI_MOSI PB2
#define SPI_SCLK PB1

Also:

LED  = PD7 - D6
CSN = PB0 - (RX-LED)
GD0 = PD3 - TX - D1
GD2 = PD2 - RX - D0
SO   = PB3 - SPI.1
SCK = PB1 - SPI.3
SI    = PB2 - SPI.4

extra zu verlegen:
HWB - CPU Pin 33
PB0  - CPU Pin 8


ausser der Led, wegen der Sichtbarkeit auf dem Protoboard auf D6 verlegt:
#  define LED_PIN               7        //PD7=D6   RX-Led = 5
Der Compile liefert bei den Standard-mäßig eingestellten Protokollen ein Output von > 07000h , geht also in den Bootloader-Bereich rein ->
CUL startet zwar lässt sich aber nicht mehr über FIPS und USB flashen sondern nur noch über einen ISP-Programmer.
Was an den Protokollen herauszunehmen ist .... scheitert erst mal an fehlenden Kommentaren ...

2.) SPI - SS Funktion liegt auf PB0, welche nicht an der Buchsenleiste verfügbar ist. Gefrickel... der Pullup mit der RX-LED ist "nur" 1K (statts 10K).
um das herauszuführen -> Gefrickel. Im Bild habe ich versucht diese Konstellation abzutrennen, aber wegen Gefrickel dabei belassen ...
Pin anheben? Geht nicht so gut wie bei HWB. -> so belassen ...

3.) HWB geht nur mit PIN an der CPU hochheben und mit Gefrickel an Button führen.

4.) Die a-culfw nimmt in der "CUL-Arduino"-Version das Gefrickel mit dem Prescaler ab und patcht auch die power.h.

5.) Musste bei meinem CC1101-Modul um ca. 40KHz nach oben konfigurieren um den negativen Offset bei 868.300
zur Fernbedienung wieder auszugleichen. (Was häufig vorkommt! Mittenfrequenz = Geometrisches Mittel!)
Mein verwendetes Modul hat wohl nicht so viel Leistung wie die Fernbedienung! Evtl. kann man die Antenne doch noch besser abstimmen.

6.) Die SPI-Ports sind belegt, zum Flashen muss man wechseln ...

7.) Der DFU-Bootloader löscht den Bereich von 0h..6fffh beim Flashen mit, deshalb wenn defekt, immer BL zuerst, dann CUL flashen.


Wer nur ein Leonardo zu Verfügung hat .... es geht nicht sofort auf Anhieb! (Siehe dieser Thread!)


naicheben

Danke für die Zusammenfassung. Der Leonardo macht es einem wirklich nicht leicht. Ich bin froh, dass Du mir den Tip mit dem eHaJo gegeben hast. Wobei jetzt ein AVR mit mehr Platz auch nicht verkehrt wäre. Man ist ja auch irgendwie nie zufrieden  ;D

Meintest Du statt power.h board.h ?

Deinen Tip mit SDR# habe ich im Wiki nicht gefunden. Mag an mir liegen, darum werde ich mich nächste Woche mal kümmern.
Erst mal werde ich mir auf Lochraster den eHaJo und einen Wannenstecker zusammenbraten und die Widerstände fest anlöten. Mit dem Breadboard ist das immer etwas empfindlich.

juergs

#23
Nur in board.h. Falls man die original CUL FW zugrunde nimmt, dann möglicherweise auch die power.h.

SDR#:
http://www.fhemwiki.de/wiki/Funksignalanalyse_mit_DVB-T_Stick

nanoCUL:
http://www.fhemwiki.de/wiki/Selbstbau_CUL
CUL:
http://www.fhemwiki.de/wiki/CUL

Noch ein Tip zum Gehäuse:
Habe etwas milchig durchsichtiges PVC-Gehäuse genommen, da passt der Controller mit CC1101-Modul mit SMA
hervorragend rein. Beim Durchbruch für den USB-Stecker (als Passung!) kann man sich aber verkünsteln ...
Mit Crimp + Wannenstecker kann man die Länge gut ausgleichen.
Hier das 433MHz-Modul:

PeMue

Hallo juergs,

kannstd Du mal einen Link für Dein Gehäuse posten?

Danke + Gruß

Peter
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

juergs

#25
Huch, halloo PeMue,

Gedankenübertragung, war gerade auch am Suchen...!
Habe sie vom lokalen Elektronikhändler.

Aber hier gibt es sie auch:
http://www.voelkner.de/products/39872/Gehaeuse-Kunststoff-124x72x30mm-Klar-Transparent.html

Sonst benutze ich eher diese Varianten, weil man die Frontseiten separat bearbeiten kann (z.B. KEMO GS111) :
https://www.luedeke-elektronic.de/de/Gehaeuse/Standardgehaeuse/?XTCsid=b3bc22e6f05aff54409826ea7392f9fd

Hier gibts ähnliche:
http://www.hammondmfg.com/scpg.htm

Grüße
Jürgen

PeMue

Zitat von: juergs am 17 April 2016, 14:18:26
Hier gibts ähnliche:
http://www.hammondmfg.com/scpg.htm
Ok, jetzt kann ich Deine Mail zum Thema zuordnen. Ich habe - wie schon geschrieben - die Gehäuse von Hammond beim nanoCUL, beim LaCrosse Gateway und beim Optolink Adapter schon im Einsatz ...

Gruß Peter
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser