Archiv der Kategorie: ICs

PE4302 Attentuator einstellen vom PC & Rotary Encoder, Ausgabe auf LCD Display

Das Dämpfungsglied PE4302 mit dem Arduino vom vorherigen Beitrag wurde erweitert um einen Rotary Encoder aus diesem Beitrag und ein LCD Display 16×2 wie in diesem Beitrag verwendet.

Der Rotary Encoder kann die Dämpfung in 0,5 dB Schritten verändern. Durch drücken der Taste wird der aktuelle Wert in das EEPROM abgelegt und beim nächsten Einschalten verwendet.

Die PC Steuerung wurde erweitert um die EEPROM Befehle:
e – speichern in EEPROM
r – auslesen aus EEPROM

Die Anschlüsse des 16×2 LCD Displays sind im Programm angegeben. Es wurde die LiquidCrystal.h Library verwendet. Die neue displayupdate Variable wird gesetzt wenn das LCD-Display geschrieben werden soll. Weiterlesen

Der PE4302 Attentuator / Dämpfungsglied ist vom PC steuerbar über einen Arduino

Das Dämpfungsglied mit dem PE4302 Chip soll seriell einstellbar sein und vom PC aus angesprochen werden können.

Dazu nehme ich die Schaltung vom vorherigen Beitrag und erweitere die Arduino Software für die serielle Steuerung.

Diese seriellen Kommandos können im Seriellen Monitor des Arduino Programms eingegeben werden und werden dann zum Arduino geschickt, der entsprechende Aktionen auslöst.

Die Kommandos sind:
s : set attentuator. Examples: s1.5 | s0 | s 22.5 | s 31 | s 0.0
g : get actual attentuator value
d : device class Weiterlesen

Einstellbares Dämpfungsglied bis 4GHz mit dem Arduino

Ich habe die Attentuator (Dämpfungsglied) Platine aus China bekommen mit dem PE4302 Chip drauf.

Diese Platine soll seriell vom Arduino angesteuert werden. Die Dämpfung ist dann einstellbar bis zu einer Frequenz von 4GHz. Das funktioniert wenn man das Datenwort seriell überträgt mit Data und Clock und dann mit LE das Wort scharf schaltet.

Doch zuerst ein Blick auf die gelieferte Platine. Da fallen gleich ein paar Fehler auf:

Am Ausgang in der Nähe des SMA Steckers ist eine Masse Durchkontaktierung direkt neben die Streifenleitung gesetzt worden. Da hat einer nicht aufgepasst.

Die Lötbrücke J5 ist gesetzt. Damit liegt LE direkt auf 3V und ist nicht ansprechbar. Diese Lötbrücke habe ich entfernt.

Die Lötbrücke J6 ist gesetzt. Damit ist P/S auf GND und somit auf den Parallelbetrieb eingestellt. Diese Lötbrücke habe ich entfernt. Für den Seriellen Betrieb habe ich die Lötbrücke J4 gesetzt und damit P/S auf 3V gelegt. Dann können die seriellen Daten akzeptiert werden.

Hier die Änderungen im Bild.

Dann wurde der Arduino Uno angeschlossen.
Die Spannungsversorgung des PE4302 Platine ist auf 5V ausgelegt und damit direkt am Arduino 5V Ausgang anschließbar.
Die Datenpegel des Uno Liegen bei 5V. Der PE4302 akzeptiert aber nur 3V. Hier wurden drei Spannungsteiler in den 3 Datenleitungen zwischengeschaltet jeweils mit 2,2 kOhm und 3,3k Ohm Widerständen um den PE4302 nicht zu beschädigen. Weiterlesen

RS485 Repeater mit dem NMEA shield

André hat ein RS485 Repeater Programm für das NMEA shield geschrieben:

Moin moin,

habe die RS 485 getestet und funktioniert einwandfrei !
Anbei Bilder hierzu , der zusätzliche Wiederstand in der Klemme ist, weil der Bus auf beiden
Seiten mit 120 Ohm abgeschlossen sein muß … der FTDI zu USB hat zwar einen eingebauten den muß man aber über die zusätzlichen Kabel mit anschließen, da ich das für die Programmierung der Brandmeldeanlage aber nicht brauche, habe ich das so gelöst. Weiterlesen

Das NMEA Shield für den Arduino Mega 2560 ist fertig

Endlich ist es fertig, das NMEA Shield 1.7 für den Arduino Mega 2560 ist da.

Andre und ich haben ein eigenes Arduino Shield entwickelt mit den NMEA Schnittstellen:
2 x NMEA0183 / RS232
1 x N2k (NMEA2000) / CAN Bus
1 x RS485
1 x USB ( durch den Arduino Mega darunter ist natürlich auch ein USB Port vorhanden )

Ein N2k (NMEA2000) Abschlußwiderstand kann mit einem Jumper eingeschaltet werden, wenn das Shield am Ende eines NMEA2000 Backbones betrieben werden soll. Normalerweise ist dieser Jumper aber nicht gesteckt.

Ein Abschlusswiderstand für den RS485 Eingang kann auch per Jumper zugeschaltet werden. Weiterlesen

Kapazitäten messen. Ein Eagle Board von Andre.

Andre hat ein Board in Eagle gezeichnet für die Kapazitäts Messung aus diesem Beitrag.

Das Board ist für einen Arduino Nano geeignet.
Benötigt werden der Arduino Nano, zwei Widerstände mit 220 Ohm / 10 kOhm und 1-3 Steckleisten.

Hier die Schaltung

und das Layout der Platine. Weiterlesen

Ein Batteriemonitor für Strom und Spannung mit dem INA226 und dem Arduino Uno

Ich möchte einen Batteriemonitor bauen. Dazu muß die Batteriespannung gemessen werden mit 12V oder 24V und der entnommene oder geladene Strom. Für die Strommessung wird ein Shunt Widerstand verwendet. Für hohe Ströme von einigen Ampere bis hin zu mehreren Hundert Ampere werden Shunt Widerstände angeboten die einen Spannungsabfall von ca. 60mV bis 75 mV beim Maximalstrom haben.

Ich brauche also einen AD Wandler der -+75mV genauso gut messen kann wie 12V oder 24V. Das ist mit zwei langsamen aber hochauflösenden AD Wandlern machbar. Dazu kann man einen Spannungsteiler für 24V und eine OP Verstärker für +-75 mV vorschalten. Hierbei sind dann noch die Toleranzen der Widerstände und der OP Schaltung zu beachten. Weiterlesen