CuVoodoo

the sorcery of copper

User Tools

Site Tools


spark_counter

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
spark_counter [2016/01/26 15:25] – [Orange Pi] kingkevinspark_counter [2016/03/31 17:53] – update git link kingkevin
Line 12: Line 12:
  
 {{:spark_counter:dsc02371.jpg?0x300|complete spark counter}} {{:spark_counter:dsc02371.jpg?0x300|complete spark counter}}
 +
 +**warning: the electricity meter I am presenting will only work for 1 phase 2 wires power distribution systems. I have a 3 phases 4 wires system and I am doing it wrong.**
  
 ====== peacefair PZEM-004 ====== ====== peacefair PZEM-004 ======
Line 95: Line 97:
  
 USART to query the power meter, SPI to communicate with the nRF24L01+, and the nRF24L01+ protocol are implemented in C (using a lot of interrupts). USART to query the power meter, SPI to communicate with the nRF24L01+, and the nRF24L01+ protocol are implemented in C (using a lot of interrupts).
-The source code is available [[https://git.cuvoodoo.info/kingkevin/spark_counter/tree/master|in this git]].+The source code is available [[https://git.cuvoodoo.info/spark_counter/|in this git]].
 I prefer directly writing in the registers as described in the [[http://www.atmel.com/images/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328-328P_datasheet_Complete.pdf|datasheet]] rather than using an [[https://www.arduino.cc/en/Main/Software|abstract IDE]] and [[https://github.com/TMRh20/RF24|libraries]]. I prefer directly writing in the registers as described in the [[http://www.atmel.com/images/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328-328P_datasheet_Complete.pdf|datasheet]] rather than using an [[https://www.arduino.cc/en/Main/Software|abstract IDE]] and [[https://github.com/TMRh20/RF24|libraries]].
 This way I learn how it works in details. This way I learn how it works in details.
Line 119: Line 121:
  
 On the [[#ATmega328P|micro-controller]] side I implemented the complete SPI-based protocol using the [[https://www.nordicsemi.com/eng/content/download/2726/34069/file/nRF24L01P_Product_Specification_1_0.pdf|datasheet]]. On the [[#ATmega328P|micro-controller]] side I implemented the complete SPI-based protocol using the [[https://www.nordicsemi.com/eng/content/download/2726/34069/file/nRF24L01P_Product_Specification_1_0.pdf|datasheet]].
-The source code is available [[https://git.cuvoodoo.info/kingkevin/spark_counter/tree/master|in this git]].+The source code is available [[https://git.cuvoodoo.info/spark_counter/|in this git]].
  
 On the [[#Raspberry Pi|computer]] side I use the [[https://github.com/TMRh20/RF24|RF24 library]]. On the [[#Raspberry Pi|computer]] side I use the [[https://github.com/TMRh20/RF24|RF24 library]].
Line 133: Line 135:
  
 To receive the measurements I used a [[#nRF24L01+|nRF24L01+ transceiver]] with the [[https://github.com/TMRh20/RF24|RF24 library]]. To receive the measurements I used a [[#nRF24L01+|nRF24L01+ transceiver]] with the [[https://github.com/TMRh20/RF24|RF24 library]].
-The source code is available [[https://git.cuvoodoo.info/kingkevin/spark_counter/tree/master|in this git]].+The source code is available [[https://git.cuvoodoo.info/spark_counter/|in this git]].
  
 [[http://elinux.org/RPi_Low-level_peripherals#P1_Header|RPi]] - nRF24L01+ connection: [[http://elinux.org/RPi_Low-level_peripherals#P1_Header|RPi]] - nRF24L01+ connection:
spark_counter.txt · Last modified: 2024/01/07 17:49 by 127.0.0.1