Show Posts
Pages: [1] 2 3 ... 6
1  Using Arduino / Networking, Protocols, and Devices / Wire endTransmission freeze sketch on: July 24, 2014, 01:37:38 am
Hello
I'm trying to work with an Atmel 328p-pu with 8MHZ clock and 3.3V. I'm using this type of board:

Code:
atmega328bb.name=ATmega328 on a breadboard (8 MHz internal clock)

atmega328bb.upload.protocol=stk500
atmega328bb.upload.maximum_size=30720
atmega328bb.upload.speed=57600

atmega328bb.bootloader.low_fuses=0xE2
atmega328bb.bootloader.high_fuses=0xDA
atmega328bb.bootloader.extended_fuses=0x06
atmega328bb.bootloader.path=arduino:atmega
atmega328bb.bootloader.file=ATmegaBOOT_168_atmega328_pro_8MHz.hex
atmega328bb.bootloader.unlock_bits=0x3F
atmega328bb.bootloader.lock_bits=0x0F

atmega328bb.build.mcu=atmega328p
atmega328bb.build.f_cpu=8000000L
atmega328bb.build.core=arduino:arduino
atmega328bb.build.variant=arduino:standard

I have connected a Microchip MCP23016 I2C port expander. with 5v and 16MHZ clock (standard arduino UNO) everything works good. But If I try with 8mhz 3.3v the Wire library freeze mi sketch.

After some hours I found the problem in Wire.endTransmission function.
I think the problem is in twi.c file in the twi_writeTo function.

There are two "while" (line 202 and line 242) that loop forever and freeze.
I'm not able to fix it, any idea?

Have a nice day.
2  Using Arduino / Networking, Protocols, and Devices / Add Serial parity to Attiny84 on: July 21, 2014, 08:00:44 am
Hello,

I'm using a Atmel Attiny84 for my project. I need two serial channell. I have correctly set up the first channell with SoftwareSerial library but now I need to set up a second channell with a sensor.

This sensor have only a 19200 baud rate with even parity 8 bit data and 1 stop bit.
There is any way to set up this type of comunication with an attiny84?

Thank you.
3  Using Arduino / Networking, Protocols, and Devices / APDS-9930 Proximity Sensor I2C on: May 30, 2014, 10:44:25 am
Hi everybody!

I'm a little problem with an APDS-9930 proximity sensor and an Arduino Uno.
I'm not able to know if I'm wrong with the i2c comunication or if it's the sensor problem.

This is the datasheet: http://www.avagotech.com/docs/AV02-3190EN

And this is my code:

Code:
#include <Wire.h>

void setup()
{
  Serial.begin(9600);  // Serial's used to debug and print data
  Wire.begin();  // initialize I2C stuff
 
   byte ATIME;
   byte PTIME;
   byte WTIME;
   byte PPULSE;
   
    ATIME = 0xff; // 2.7 ms – minimum ALS integration time
    WTIME = 0xff; // 2.7 ms – minimum Wait time
    PTIME = 0xff; // 2.7 ms – minimum Prox integration time
    PPULSE = 1; // Minimum prox pulse count
   
    WriteByte(0x39, 0, 0); //Disable and Powerdown
    WriteByte (0x39, 1, ATIME);
    WriteByte (0x39, 2, PTIME);
    WriteByte (0x39, 3, WTIME);
    WriteByte (0x39, 0xe, PPULSE);

  byte PDRIVE;
  byte PDIODE;
  byte PGAIN;
  byte AGAIN;
 
  PDRIVE = 0; //100mA of LED Power
  PDIODE = 0x20; // CH1 Diode
  PGAIN = 0; //1x Prox gain
  AGAIN = 0; //1x ALS gain
 
  WriteByte (0x39, 0xf, PDRIVE | PDIODE | PGAIN | AGAIN);
 
 
  byte WEN, PEN, AEN, PON;
  WEN = 8; // Enable Wait
  PEN = 4; // Enable Prox
  AEN = 2; // Enable ALS
  PON = 1; // Enable Power On
  WriteByte (0x39, 0, WEN | PEN | AEN | PON);
  Serial.println(WEN | PEN | AEN | PON, BIN);
  delay(12); //Wait for 12 ms

}


void loop()
{
  int val1, val2, val3, val4;
  int prox;
 
  ReadByte(0x39, 0x18, &prox);

/*
  ReadByte(0x39, 0x13, &val3);
  ReadByte(0x39, 0x00, &val4);
  ReadByte(0x39, 0x13, &val3);
*/
  Serial.print("Prox: ");
  Serial.println(prox, HEX);

*/
  Serial.print("Status: ");
  Serial.println(val3, HEX);
  Serial.print("Enable: ");
  Serial.println(val4, HEX);
*/
  Serial.println();
  delay(1000);
}
 
// Read a byte on the i2c interface
int ReadByte(byte addr, uint8_t reg, int *data) {
  int reading;
 
  Wire.beginTransmission(addr);
  Wire.write(reg);
  Wire.endTransmission(); // Read a byte from the device

 Wire.requestFrom((int)addr, (int)2);    // request 2 bytes from slave device #112

 if(2 <= Wire.available())    // if two bytes were received
 {
   reading = Wire.read();  // receive high byte (overwrites previous reading)
   reading = reading << 8;    // shift high byte to be high 8 bits
   reading |= Wire.read(); // receive low byte as lower 8 bits
   *data = reading;
 
 }
 return 1;
}
 
// Write a byte on the i2c interface
void WriteByte(uint8_t addr, uint8_t reg, byte data) {
  // Begin the write sequence
  Wire.beginTransmission(addr); // First byte is to set the register pointer
  Wire.write(reg); // Write the data byte
  Wire.write(data); // End the write sequence; bytes are actually transmitted now
  Wire.endTransmission();
}

I can get the ENABLE byte from the register and it's 0xFF (so it's active) but I can't read the proximity data from the sensor.
This is the result from the serial port:

Code:
Prox: 4FD
Status: 6C83
Enable: FFF

The results never change.  smiley-roll-sweat
Anyone can help me or have some experience with this sensor?

Have a good day  smiley-lol
4  International / Generale / Re: Un paio di domandine "tecniche" on: November 16, 2011, 07:16:58 am
Ah ok! Si si ho capito! smiley
Vi ringrazio
5  International / Generale / Re: Un paio di domandine "tecniche" on: November 16, 2011, 07:09:19 am
Il tuo primo guadagno dev'essere il rimanere estraneo ai fatti, perché in regola con la legge, in caso di problemi.  smiley-wink


In che senso scusa? Non ho capito smiley
6  International / Generale / Re: Un paio di domandine "tecniche" on: November 16, 2011, 06:34:01 am
A questo punto si, dovrò rivolgermi a qualcuno e fare una consulenza. Alla fine penso non guadagnerò niente a fare questo impianto, anzi!
Intanto ( per sicurezza ) mi faccio fare l'autocertificazione da chi mi ha costruito l'impianto poi, richiederò una consulenza.

Vi ringrazio smiley
7  International / Generale / Re: Un paio di domandine "tecniche" on: November 16, 2011, 06:20:33 am
Io ho soltanto venduto il sistema e progettato il software. La progettazione e la costruzione dell'hardware l'ha fatto un'altra persona.
Quindi ricapitolando:
dovrò far stampare sulla scheda il nome di chi l'ha costruita e il marchio CE. Per le altre certificazioni come devo fare?
Abbiamo detto che va bene l'autocertificazione, quindi mi farò fare un foglio con scritto.

"Io sottoscritto... bla bla bla dichiaro che il sistema bla bla è conforme alle norme bla bla".

Detto in modo semplice xD

Si, detto in modo semplice.
Occhio che come ti dicevo non basta il marchio CE. Ci sono una serie di simboli e diciture da mettere a seconda del prodotto e relative norme (tra le quali, ma non solo, nome del fabbricante o il logo).
E occhio che se tu hai venduto il sistema così (cioè comprando un componente certificato-la scheda-, modificandolo aggiungendoci il software e rivendendo) la dichiarazione di conformità la devi rilasciare tu.
Diverso sarebbe se compri il sistema (certificato) e lo rivendi tal quale.
Sempre in termini semplici. smiley-lol

Questo è già un'altro paio di maniche xD
Io ho programmato solamente la parte software sul server. La parte hardware: progettazione, costruzione e montaggio è stata fatta da un'altra persona. Quindi è lui che deve darmi la sua certificazione che l'impianto è a norma giusto?
Intanto il progetto è stato montato come "non finito" ( le schede sono ancora su millefori e non è stato collegato niente ).
8  International / Generale / Re: Un paio di domandine "tecniche" on: November 16, 2011, 05:49:16 am
Non ho nessun nome commerciale o marchio, sono due schedine del cavolo fatte "su misura".
Ma ste schedine le vendi o no?
Le compri e le rivendi o no?
Le immetti nel mercato o no?
Le fornisci a estranei o no?
Le regali o no?
In ognuno di questi casi deve esserci la marcatura CE che prevede anche il nome del fabbricante o il logo.
Se le 2 schedine del cavolo non hanno questi requisiti sono fuori norma.
Purtroppo queste (e molte altre) sono le leggi.

Io ho soltanto venduto il sistema e progettato il software. La progettazione e la costruzione dell'hardware l'ha fatto un'altra persona.
Quindi ricapitolando:
dovrò far stampare sulla scheda il nome di chi l'ha costruita e il marchio CE. Per le altre certificazioni come devo fare?
Abbiamo detto che va bene l'autocertificazione, quindi mi farò fare un foglio con scritto.

"Io sottoscritto... bla bla bla dichiaro che il sistema bla bla è conforme alle norme bla bla".

Detto in modo semplice xD
9  International / Generale / Re: Un paio di domandine "tecniche" on: November 16, 2011, 05:36:39 am
Non ho nessun nome commerciale o marchio, sono due schedine del cavolo fatte "su misura".

10  International / Generale / Re: Un paio di domandine "tecniche" on: November 16, 2011, 05:23:57 am
Allora,
ho sentito il mio capo:
a prescindere dalle responsabilità di installazione, come dice pablo, per quanto riguarda la scheda ci sono alcune informazioni da sapere, ci vorrebbe la scheda e la descrizione.
Innanzitutto bisogna sapere il campo di applicazione, se rientra nel campo IT (tipo interfaccia con PC) o strumenti di misura (tipo datalogger) o se viene incorporato in un altro apparecchio (nel qual caso deve sottostare alle norme di sicurezza dello stesso).
I test che presumibilmente sono da fare sono: prova di guasto e EMC (compatibilità elettromagnetica).
Per quanto riguarda le responsabilità il discorso è complesso ma riassumibile così:
sicurezza
affidabilità
Per la sicurezza risponde il progettista (tu)
Per l'affidabilità risponde il costruttore (sempre in seconda battuta)  (cioè il fornitore, che deve garantire che i componenti che usa siano sempre gli stessi secondo progetto e che sia costruita secondo le norme).
Ad ogni modo la sede di Milano può occuparsi di questo e/o analizzare il prodotto per dirti cosa dovresti fare, se vuoi chiedere/dare info più dettagliate me lo dici e ti mando un PM con la mail del lab di Milano.
Altro discorso per il Rohs.
Se i componenti che acquistate sono comunitari vale la dichiarazione del costruttore/importatore, se acquistate extra CEE (tipo Cina) la dichiarazione la dovete fare voi come importatore dopo aver fatto fare i test di legge.

Ti ringrazio smiley
La mia scheda viene connessa ad Arduino e converte i segnali da livelli TTL a rs232, inoltre attiva o disattiva un relè operante a 9V.
Quindi la mia scheda viene integrata in un'altro sistema.
In realtà io non l 'ho progettata, ho dato l'incarico ad un altra persona di progettarla, realizzarla e montarla, quindi dovrebbe essere lui a rilasciarmi queste dichiarazioni?
Lui potrebbe darmi la sua autocerticazione ( come si fà? ) ma dovrebbe comunque stampare il marchio CE sulla scheda giusto?
11  International / Generale / Re: Un paio di domandine "tecniche" on: November 16, 2011, 04:58:48 am
Con questo voglio dirti che dal momento in cui entri in casa di qualcuno a fare un lavoro hai sempre il dito puntato contro, sei sempre a rischio in tutti i casi, parti dal concetto che il prossimo non aspetta altro che tu commetti un errore per sistemarsi economicamente a vita. Ti sembrerà una visione pessimista a stecca, ma ti renderai conto dopo molti anni che il nostro paese è questo.

Vero e non solo in Italia, infatti molti installatori stanno prendendo l'abitudine di documentare fotograficamente gli impianti proprio per evitare problemi futuri in seguito a manomissioni degli utenti.
In linea di massima il concetto che chi esegue una installazione, o fornisce un prodotto finito, deve farlo a norma di legge e in modo che sia sicuro è giusto, poi come la legge viene applicata ed interpretata è un altro paio di maniche.
Ovviamente un conto è realizzare un impianto elettrico in un appartamento, o in uno stabilimento, e un conto è realizzare una schedina che funziona con una batteria a 9V che non aziona/controlla nulla di potenzialmente pericoloso, il primo può portare a grossi problemi e gravi danni a cose e persone, il secondo al massimo si guasta e smette di funzionare, nel peggiore dei casi possono chiederti soli i danni per eventuale perdita di dati o blocco dell'attività lavorativa.

Appunto, i rischi sono completamente diversi. La mia scheda è molto difficile ( se non impossibile ) che provochi seri danni. E' installata in una scatola totalmente isolata. Io che ho venduto questo impianto devo richiedere la certificazione da chi me lo ha costruito quindi?
In modo che se succeda qualcosa posso avvalermi su il costruttore effettivo ( che è la stessa persona che l'ha montato ) dell' impianto?

EDIT: ho trovato una direttiva dalla gazzetta ufficciale:

http://eur-lex.europa.eu/LexUriServ/LexUriServ.do?uri=OJ:L:2006:374:0010:0019:IT:PDF

La quale dice:
Quote
Ai fini della presente direttiva per «materiale elettrico», si intende
ogni materiale elettrico destinato ad essere adoperato ad una
tensione nominale compresa fra 50 e 1 000 V in corrente
alternata e fra 75 e 1 500 V in corrente continua, fatta eccezione
per i materiali e per i fenomeni di cui all'allegato II.

e per comodità vi cito anche l'allegato II

Quote
Materiali elettrici destinati ad essere usati in ambienti esposti a pericoli di esplosione.
Materiali elettrici per radiologia e uso clinico.
Parti elettriche di ascensori e montacarichi.
Contatori elettrici.
Prese di corrente (basi e spine) a uso domestico.
Dispositivi d'alimentazione di recinti elettrici.
Disturbi radioelettrici.
Materiali elettrici speciali, destinati ad essere usati sulle navi o sugli aeromobili e per le ferrovie, conformi alle disposizioni di
sicurezza stabilite da organismi internazionali cui partecipano gli Stati membri.

Qui sorge un dubbio. Il mio sistema non è a 75 volt, o meglio non la scheda che ho progettato. Utilizzo soltanto un alimentatore 220 V / 9 V che mi viene venduto separatamente ( quindi conforme alle norme CE ).
Sulla mia scheda devo avere il marchio CE?
12  International / Generale / Re: Un paio di domandine "tecniche" on: November 15, 2011, 03:00:02 pm
Basta l'autocertificazione, anche senza nessuna controfirma.

La controfirma di persona qualificata serve eccome se il titolare della ditta non è lui stesso competente per farlo, non è ammissibile che uno che non sa cosa sia una resistenza auto certifichi un apparato elettronico   smiley


No no, legalmente non serve. E' auto-certificazione.
E' chiaro che se la fai solo per scrivere il pezzo di carta sei un pazzo ( e ce ne sono, te lo assicuro...).
E' per quello che esistono i laboratori di prova come quello per il quale lavoro.
Ti dirò di più: in caso di controversia legale il primo a rispondere è comunque sempre il Costruttore che poi ha facoltà di rivalersi in seconda battuta sul laboratorio o sull'Ente che devono dimostrare la validità dei test effettuati.


lavori in un laboratorio dove fate questi test? Sai dirmi i prezzi per certificare una scheda ( a spanne ) ?

@D4ng3R92
Comunque se hai pazienza domani chiedo lumi al mio titolare che fa parte del CEI, magari mi da qualche suggerimento. smiley-wink

ti ringrazio smiley

Io offro ad una certa azienda un apparato elettronico. Io vendo questo sistema, e sono responsabile del software. La costruzione della parte hardware è stata fatta da un'altra persona incaricata da me. Mi devo far fare una dichiarazione che è lui il costrutture dell'hardware e quindi responsabile di ogni danno causato ecc ecc?
13  International / Generale / Re: Un paio di domandine "tecniche" on: November 15, 2011, 01:55:54 pm
Una scheda come la mia (9V, relè, max323) che certificazioni deve avere?

Senza ulteriori dettagli è difficile dirlo, in linea di massima in questo caso dovrebbe bastare l'autocertificazione del produttore, ma devi avere una persona competente e qualificata per contro firmarla, ovviamente solo se il titolare non è lui stesso qualificato per farlo.


Basta l'autocertificazione, anche senza nessuna controfirma. Ovviamente chi autocertifica e non è competente rischia molto grosso.

C'è un modulo da scaricare/compilare ? Cosa devo fare?

Grazie mille a tutti....
14  International / Generale / Re: Un paio di domandine "tecniche" on: November 15, 2011, 01:48:07 pm
Magari mi informo se esite qualche deviazone nel caso sia "regalato".

Te lo dico io senza farti perdere tempo, non importa se la scheda la regali, la noleggi o la vendi, nel momento in cui la introduci sul mercato come un prodotto finito deve essere omologata con le varie normative dipendenti dalla categoria merceologica.
Non sono soggetti a CE, o altra certificazione di questo genere, solo i prodotti non finiti, p.e. un kit di montaggio elettronico, una scheda su cui l'utente finale deve montare altri componenti etc, però sono comunque soggetti al rohs e altre eventuali regolamentazioni su i materiali e l'inquinamento.
Va da se che un prodotto senza CE, come il kit di montaggio, se causa danni alle persone o alle cose viene comunque analizzato da un perito disposto dal tribunale e se viene riscontrata colpa del produttore per errori di progettazione e/o realizzazione la responsabilità civile e penale è comunque presente.

Ti ringrazio, sai anche ( più o meno ) a che certificazioni devo fare riferimento per la mia scheda ( oltre alla CE ). RoHS ? EMC?
Se la scheda non la faccio fisicamente io, le certificazioni me le deve rilasciare chi l ha costruita?

L'autocertificazione come posso farla?
15  International / Generale / Re: Un paio di domandine "tecniche" on: November 15, 2011, 01:39:30 pm
Se la regali ad un amico è un conto. Al max ti manda a fanc... se succede qualcosa.

Ma se la scheda va da qualche parte, che succede in caso di problemi? Tu la "doni" ad un tipo mai conosciuto prima, il tipo la monta a casa sua.
Mettiamo che per un piccolo surriscaldamento qualche componente si fonde e crea un corto, il contenitore prende fuoco e brucia mezzo appartamento di qualcuno.... questo qualcuno con chi se la rifa? Con il team di Arduino o con te che gli hai "donato" la scheda?

Sono pienamente d'accordo con te.
Ma io costruisco piccole schede su misura, per convertire segnali ecc. Dovrei farmi una certificazione per ogni piccola scheda che faccio.

Una scheda come la mia (9V, relè, max323) che certificazioni deve avere?
Pages: [1] 2 3 ... 6