Δευτέρα 21 Μαΐου 2012
Κυριακή 29 Απριλίου 2012
Arduino Mosfet Module για LED Strip
Μετά από πολύ κόπο και πειραματισμό κατάφερα να φτιάξω μία πολύ μικρή πλακέτα για έλεγχο LED Strip.
Προδιαγραφές:
1. Η διάταξη πρέπει να έχει δυνατότητα απομακρυσμένης ρύθμισης.
2. Πρέπει να υπάρχουν και buttons για τοπικές επιλογές.
3. Υποστήριξη μέχρι 4 καναλιών.
Περιορισμοί:
1. Χαμηλή θερμοκρασία.
Για την απομακρυσμένη ρύθμιση απαιτείται το RFM12B Module το οποίο λειτουργεί στα 3.3V.
Για τη χαμηλή θερμοκρασία απαιτείται η χρήση MOSFET και Transistor ή Thyristor. Τα mosfet που διεγείρονται στα 3.3V είναι ολίγον σπάνια και υποστηρίζουν λιγότερα Α.
Επιλογή MOSFET N-Channel IRF3205ZPBF.
Το συγκεκριμένο mosfet αν και διεγείρεται στα 5V, έχει μόλις 0,0065 Ohm αντίσταση πράγμα που σημαίνει ότι στα 4A η ισχύς που θα μετατρέψει σε θερμότητα είναι μόλις 104mW, οπότε δεν χρειάζεται ψύκτρα.
Η χρήση pulldown αντιστάσεων R10K στο Gate του MOSFET είναι επιβεβλημένη διότι θα υπάρχουν προβλήματα στην κατάσταση LOW του MOSFET. Η συγκεκριμένη αντίσταση επιτρέπει στο mosfet να εκφορτίσει το GATE.
Μία σημαντική σημείωση: Επειδή ο Controller λειτουργεί σε υψηλή συχνότητα θα πρέπει να προστεθούν χρόνοι καθυστέρησης στις εναλλαγές κατάσταση HIGH-LOW στα MOSFET. Μία τιμή πάνω από 30ms νομίζω ότι είναι αρκετή.
Η ασυμβατότητα μεταξύ των mosfet και του RFM12B ως προς την τροφοδοσία λειτουργίας λύνεται ως εξής:
1. Η τάση λειτουργίας του RFM12B προσαρμόζεται με ένα ακόμα regulator LE33CZ που συνοδεύεται από τους αντίστοιχους πυκνωτές.
2. Η μετατροπή των σημάτων από 5V σε 3.3V για τις πόρτες του Arduino 10,11,13 γίνεται με διαιρέτη τάσης 4R7K R10K. Οι υπόλοιπες πόρτες 12,2 ως INPUT δεν έχουν πρόβλημα με την τάση.
Δείτε και το βίντεο
Προδιαγραφές:
1. Η διάταξη πρέπει να έχει δυνατότητα απομακρυσμένης ρύθμισης.
2. Πρέπει να υπάρχουν και buttons για τοπικές επιλογές.
3. Υποστήριξη μέχρι 4 καναλιών.
Περιορισμοί:
1. Χαμηλή θερμοκρασία.
Για την απομακρυσμένη ρύθμιση απαιτείται το RFM12B Module το οποίο λειτουργεί στα 3.3V.
Για τη χαμηλή θερμοκρασία απαιτείται η χρήση MOSFET και Transistor ή Thyristor. Τα mosfet που διεγείρονται στα 3.3V είναι ολίγον σπάνια και υποστηρίζουν λιγότερα Α.
Επιλογή MOSFET N-Channel IRF3205ZPBF.
Το συγκεκριμένο mosfet αν και διεγείρεται στα 5V, έχει μόλις 0,0065 Ohm αντίσταση πράγμα που σημαίνει ότι στα 4A η ισχύς που θα μετατρέψει σε θερμότητα είναι μόλις 104mW, οπότε δεν χρειάζεται ψύκτρα.
Η χρήση pulldown αντιστάσεων R10K στο Gate του MOSFET είναι επιβεβλημένη διότι θα υπάρχουν προβλήματα στην κατάσταση LOW του MOSFET. Η συγκεκριμένη αντίσταση επιτρέπει στο mosfet να εκφορτίσει το GATE.
Μία σημαντική σημείωση: Επειδή ο Controller λειτουργεί σε υψηλή συχνότητα θα πρέπει να προστεθούν χρόνοι καθυστέρησης στις εναλλαγές κατάσταση HIGH-LOW στα MOSFET. Μία τιμή πάνω από 30ms νομίζω ότι είναι αρκετή.
Η ασυμβατότητα μεταξύ των mosfet και του RFM12B ως προς την τροφοδοσία λειτουργίας λύνεται ως εξής:
1. Η τάση λειτουργίας του RFM12B προσαρμόζεται με ένα ακόμα regulator LE33CZ που συνοδεύεται από τους αντίστοιχους πυκνωτές.
2. Η μετατροπή των σημάτων από 5V σε 3.3V για τις πόρτες του Arduino 10,11,13 γίνεται με διαιρέτη τάσης 4R7K R10K. Οι υπόλοιπες πόρτες 12,2 ως INPUT δεν έχουν πρόβλημα με την τάση.
Δείτε και το βίντεο
Τετάρτη 28 Μαρτίου 2012
Arduino Ethernet
Το ξεκίνησα και αυτό. Σε λίγες ώρες θα γίνει και η δοκιμή. Εφτιαξα την πλακέτα και χρησιμοποίησα τα παρακάτω εξαρτήματα:
1. IC ENC28J60SP (Farnell 1564402) ~ 4,20 euro
2. Crystal 25MHz ~ 0,40 euro
3. Ferrite Filter BL01RN 20MHz to 1000MHz (Farnell 9526820) ~ 0,76 euro
4. Πυκνωτές
2 x 22pF (lead spacing 2,54mm)
4 x 0.1uF (lead spacing 5mm)
1 x 10uF (Ηλεκτρολυτικός)
5. Αντιστάσεις
2 x (470R)
1 x (2,32K)
4 x (49,9R)
6. MagJack (χωρίς LED) ~ 0,50 euro
7. LED x 2
Το πρωτόκολλο επικοινωνίας είναι SPI και η σύνδεση με το ARDUINO γίνεται ως εξής:
Eth PIN Arduino PIN
1 Ground
2 3.3V
3 13
4 12
5 11
6 8
Στην ουσία πρόκειται για απλούστερη υλοποίηση του EtherCard από το jeelabs.org
Στοιχεία για τη βιβλιοθήκη θα βρείτε εδώ.
Download EtherCard library
1. IC ENC28J60SP (Farnell 1564402) ~ 4,20 euro
2. Crystal 25MHz ~ 0,40 euro
3. Ferrite Filter BL01RN 20MHz to 1000MHz (Farnell 9526820) ~ 0,76 euro
4. Πυκνωτές
2 x 22pF (lead spacing 2,54mm)
4 x 0.1uF (lead spacing 5mm)
1 x 10uF (Ηλεκτρολυτικός)
5. Αντιστάσεις
2 x (470R)
1 x (2,32K)
4 x (49,9R)
6. MagJack (χωρίς LED) ~ 0,50 euro
7. LED x 2
Το πρωτόκολλο επικοινωνίας είναι SPI και η σύνδεση με το ARDUINO γίνεται ως εξής:
Eth PIN Arduino PIN
1 Ground
2 3.3V
3 13
4 12
5 11
6 8
Στην ουσία πρόκειται για απλούστερη υλοποίηση του EtherCard από το jeelabs.org
Στοιχεία για τη βιβλιοθήκη θα βρείτε εδώ.
Download EtherCard library
Κυριακή 18 Μαρτίου 2012
ATMEGA328 ATTINY45 ATTINY85 Bootloader
Επειδή βαρέθηκα με τα breadboard και τις πλακέτες γενικών κατασκευών, έφτιαξα μία πλακέτα ειδικά για τους ATMEGA328, ATTINY45, ATTINY85 ως ARDUINO UNO Shield.
Επίσης με το αγαπημένο μου USB BUB II Device μπορούμε να ανεβάσουμε sketch.
Download PCB Express File
Επίσης με το αγαπημένο μου USB BUB II Device μπορούμε να ανεβάσουμε sketch.
Download PCB Express File
Κυριακή 11 Μαρτίου 2012
Arduino ST7565
Το ST7565 είναι ένα σχετικά καλό και φτηνό display. Ομως, το κυριότερο πρόβλημά του είναι το γεγονός ότι λειτουργεί στα 3.3V. Οπότε χρειάζεται οπωσδήποτε να οδηγηθεί από το IC CD4050 (Hex Buffer Converter) για να λειτουργήσει στα 5V. Εάν υπάρχει arduino τότε θα μπορέσετε να το τροφοδοτήσετε με 3.3V. Εάν όμως έχετε κατά νου ένα κύκλωμα με ATMEGA στα 5V τότε θα χρειαστείτε αυτό.
Πρόκειται για μία πλακέτα driver για το ST7565 που έχει τις παρακάτω εισόδους
1. 5V
2. Ground
3. CS
4. RST
5. A0
6. SCLK
7. SID
8. Backlight +
9. Red Backlight Level
10. Green Backlight Level
11. Blue Backlight Level
Το κύκλωμα έχει ένα LE33CZ μαζί με τους κλασικούς πυκνωτές για μετατροπή των 5V σε 3.3V.
Τα υπόλοιπα είναι η γνωστή συνδεσμολογία του adafruit http://www.ladyada.net/learn/lcd/st7565.html
Ειδικότερα για RGB Backlight:
Μπορείτε να το συνδέσετε σε PWM pins έτσι ώστε να έχετε ότι χρώμα θέλετε για backlight.
Ομως θα πρέπει τα PWM να βρίσκονται στον ίδιο timer για το ATMEGA. Εγώ το έχω συνδέσει σε ARDUINO MEGA 1280 στα pins 6,7,8 και λειτουργεί τέλεια.... Ίσως, η function millis() έχει κάποια θέματα και το ερευνώ. Ένα DS1307 λύνει τα προβλήματα timing.
Κίτρινο
Πράσινο
Πέμπτη 8 Μαρτίου 2012
Arduino ATMEGA328 με Siemens C65 κινητό
Ξεκίνησα μία κατασκευή και έχω χαθεί εντελώς. Θέλω να στέλνω SMS από το ATMEGA χωρίς να δώσω πολλά λεφτά.
Η πρώτη κίνηση ήταν να βρω ένα παλιό κινητό. Βρήκα το Siemens C65. Και τώρα ξεκινάει ο Γολγοθάς.
1. Καλώδιο Data. Το βρήκα περίπου στα 7€.
2 Αποτυχία φόρτισης διότι η μπαταρία τα έχει παίξει. Εβγαλα τη μπαταρία και σύνδεση 4.5V στα δύο ακραία pins (εκεί που ακουμπά η μπαταρία). Πήρε μπροστά.
3. Σύνδεση με το ATMEGA. Με βάση το http://pinouts.ru/ η σύνδεση του κινητού είναι USB....
4. Πρέπει να βρω ένα τρόπο να μιλήσω από TTL ή UART του Mega1280 με USB.
Κεφάλαιο 2 TTL ή UART ή RS232 με USB.
Χαμός....
Μετά από πολύ ψάξιμο βρήκα το μαγικό keyword search phrase "AVR-CDC" http://www.recursion.jp/avrcdc/cdc-232.html#schematic. Θα το δοκιμάσω αλλά πρέπει να στείλω έτοιμο HEX file στο ATTINY45 μέσω ενός Arduino UNO.
Οι πρώτες ενδείξεις είναι αρνητικές. Για να γίνει σωστός έλεγχος πρέπει να το δοκιμάσεις από PC. Δυστυχώς δεν έχω πια Windows XP. Για τα Windows 7 δεν υπάρχει digitally signed driver. Οπότε η δοκιμή θα γίνει με ATMEGA8.
Υπομονή.
Η πρώτη κίνηση ήταν να βρω ένα παλιό κινητό. Βρήκα το Siemens C65. Και τώρα ξεκινάει ο Γολγοθάς.
1. Καλώδιο Data. Το βρήκα περίπου στα 7€.
2 Αποτυχία φόρτισης διότι η μπαταρία τα έχει παίξει. Εβγαλα τη μπαταρία και σύνδεση 4.5V στα δύο ακραία pins (εκεί που ακουμπά η μπαταρία). Πήρε μπροστά.
3. Σύνδεση με το ATMEGA. Με βάση το http://pinouts.ru/ η σύνδεση του κινητού είναι USB....
4. Πρέπει να βρω ένα τρόπο να μιλήσω από TTL ή UART του Mega1280 με USB.
Κεφάλαιο 2 TTL ή UART ή RS232 με USB.
Χαμός....
Μετά από πολύ ψάξιμο βρήκα το μαγικό keyword search phrase "AVR-CDC" http://www.recursion.jp/avrcdc/cdc-232.html#schematic. Θα το δοκιμάσω αλλά πρέπει να στείλω έτοιμο HEX file στο ATTINY45 μέσω ενός Arduino UNO.
Με αυτή τη σύνδεση περνάμε hex file στο ATTINY.
Η εντολή:
<arduinoPath>\hardware\tools\avr\bin\avrdude -c avrisp -P COM5 -p t45 -U flash:w:cdctiny45.hex -C <arduinoPath>\hardware\tools\avr\etc\avrdude.conf
Σημείωση: το COM5 μπορεί να είναι διαφορετικό σε εσάς.
V-USB Schematic
Οι πρώτες ενδείξεις είναι αρνητικές. Για να γίνει σωστός έλεγχος πρέπει να το δοκιμάσεις από PC. Δυστυχώς δεν έχω πια Windows XP. Για τα Windows 7 δεν υπάρχει digitally signed driver. Οπότε η δοκιμή θα γίνει με ATMEGA8.
Υπομονή.
Τρίτη 28 Φεβρουαρίου 2012
Arduino Shiftout Registers
Επειδή πολλές φορές χρειαζόμαστε περισσότερες πόρτες από αυτές που προσφέρει το ARDUINO, οι λύσεις είναι δύο:
1. Χρήση του I2C PCF8574
2. Χρήση shift out registers.
Στο παρόν άρθρο θα καλύψουμε την περίπτωση με χρήση shift out register που υπερτερεί σε ταχύτητα έναντι του πρωτοκόλλου I2C.
Integrated Circuit 74HC595
1. Χρήση του I2C PCF8574
2. Χρήση shift out registers.
Στο παρόν άρθρο θα καλύψουμε την περίπτωση με χρήση shift out register που υπερτερεί σε ταχύτητα έναντι του πρωτοκόλλου I2C.
Integrated Circuit 74HC595
PIN No | Description | Task |
1 | Q1 | Output 1 |
2 | Q2 | Output 2 |
3 | Q3 | Output 3 |
4 | Q4 | Output 4 |
5 | Q5 | Output 5 |
6 | Q6 | Output 6 |
7 | Q7 | Output 7 |
8 | GND | Connect to GND |
9 | Q7’ | Connect to the next IC in array |
10 | MR | Connect to +5V |
11 | SH_CP | Clock Pin |
12 | ST_CP | Latch Pin |
13 | OE | Connect to GND |
14 | DS | Data Pin |
15 | Q0 | Output 0 |
16 | Vcc | Connect to +5V |
Συνδέσεις
PIN 11 (Clock) --> ARDUINO ClockPin (οποιοδήποτε digital pin)
PIN 12 (Latch) --> ARDUINO LatchPin (οποιοδήποτε analog/digital pin)
PIN 14 (Data) --> ARDUINO DataPin (οποιοδήποτε digital pin)
PIN 8 (GND) Ground
PIN 10 (MR) +5V
PIN 13 (OE) Ground
PIN 16 (Vcc) +5V
Εγγραφή σε:
Αναρτήσεις (Atom)



.jpeg)

